From 70bd46cbde9a6ed4733e18d283961e1d1d9254d6 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Fri, 17 Mar 2017 10:00:13 -0700 Subject: [PATCH 001/108] mxapi komp-build stuff --- DevScripts/mxdeploy-v01.rb | 128 + DevScripts/mxdeploy-v02.rb | 106 + DevScripts/mxdeploy.rb | 239 + Mx.podspec | 16 - Sourcecode/PositionFunctions.cpp | 1 - Sourcecode/mx/impl/MxVersionDefines.h | 4 + Xcode/Mx.xcodeproj/project.pbxproj | 5934 ++++++++--------- .../xcshareddata/xcschemes/mx-iOS.xcscheme | 80 - .../xcshareddata/xcschemes/mx-macOS.xcscheme | 71 - Xcode/MxTest.xcodeproj/project.pbxproj | 145 + Xcode/{mx-macOS.plist => Mx_iOS/Info.plist} | 2 - Xcode/Mx_iOS/Mx_iOS.h | 19 + Xcode/MxiOS/Info.plist | 24 + Xcode/MxiOS/MxiOS.h | 19 + Xcode/{mx-iOS.plist => MxmacOS/Info.plist} | 2 +- Xcode/MxmacOS/MxmacOS.h | 19 + 16 files changed, 3593 insertions(+), 3216 deletions(-) create mode 100644 DevScripts/mxdeploy-v01.rb create mode 100644 DevScripts/mxdeploy-v02.rb create mode 100644 DevScripts/mxdeploy.rb delete mode 100644 Mx.podspec delete mode 100644 Sourcecode/PositionFunctions.cpp create mode 100644 Sourcecode/mx/impl/MxVersionDefines.h delete mode 100644 Xcode/Mx.xcodeproj/xcshareddata/xcschemes/mx-iOS.xcscheme delete mode 100644 Xcode/Mx.xcodeproj/xcshareddata/xcschemes/mx-macOS.xcscheme rename Xcode/{mx-macOS.plist => Mx_iOS/Info.plist} (86%) create mode 100644 Xcode/Mx_iOS/Mx_iOS.h create mode 100644 Xcode/MxiOS/Info.plist create mode 100644 Xcode/MxiOS/MxiOS.h rename Xcode/{mx-iOS.plist => MxmacOS/Info.plist} (92%) create mode 100644 Xcode/MxmacOS/MxmacOS.h diff --git a/DevScripts/mxdeploy-v01.rb b/DevScripts/mxdeploy-v01.rb new file mode 100644 index 000000000..de188734d --- /dev/null +++ b/DevScripts/mxdeploy-v01.rb @@ -0,0 +1,128 @@ + +require 'fileutils' + +configuration = "Release" +config = configuration.downcase + +build_root = "/Users/mjb/mxout" +mx_repo_root = "/Users/mjb/Dropbox/Programming/MxRepo" +komp_repo_root = "Users/mjb/komp" +lib_ios = "libMx-iOS.a" +lib_macOS = "libMx-macOS.a" +mx_version_defines_h = "#{mx_repo_root}/Sourcecode/mx/impl/MxVersionDefines.h" +upload_dir = "/Users/mjb/Dropbox/Programming/MxKompDeploy" + +version_major = 0 +version_minor = 0 +version_patch = 0 +version_build = 0 + +f = File.open("#{mx_version_defines_h}", "r") +f.each_line do |line| + if (line[0..24] <=> "#define MX_VERSION_MAJOR ") == 0 + version_major = Integer( line[25..-1] ) + end +end + +f.close +f = File.open("#{mx_version_defines_h}", "r") +f.each_line do |line| + if (line[0..24] <=> "#define MX_VERSION_MINOR ") == 0 + version_minor = Integer( line[25..-1] ) + end +end + +f.close +f = File.open("#{mx_version_defines_h}", "r") +f.each_line do |line| + if (line[0..24] <=> "#define MX_VERSION_PATCH ") == 0 + version_patch = Integer( line[25..-1] ) + end +end +f.close + +f = File.open("#{mx_version_defines_h}", "r") +f.each_line do |line| + if (line[0..24] <=> "#define MX_VERSION_BUILD ") == 0 + version_build = Integer( line[25..-1] ) + end +end +f.close + +version_build = Integer( version_build ) + 1 + +FileUtils.rm("#{mx_version_defines_h}") + +open("#{mx_version_defines_h}", 'w') { |f| + f << "#define MX_VERSION_MAJOR #{version_major}\n" + f << "#define MX_VERSION_MINOR #{version_minor}\n" + f << "#define MX_VERSION_PATCH #{version_patch}\n" + f << "#define MX_VERSION_BUILD #{version_build}\n" +} + +version = "#{version_major}.#{version_minor}.#{version_patch}.#{version_build}" +puts "building version #{version}" + +build_ios = "xcodebuild \ + -workspace #{mx_repo_root}/Xcode/mx.xcworkspace \ + -scheme Mx-iOS \ + build \ + -derivedDataPath #{build_root} \ + -destination generic/platform=iOS \ + -destination 'generic/platform=iOS simulator' \ + -configuration #{configuration}" + +is_success = system( build_ios ) + +if !is_success + raise 'ios build failed' +end + +build_mac = "xcodebuild \ + -workspace #{mx_repo_root}/Xcode/mx.xcworkspace \ + -scheme Mx-macOS \ + build \ + -derivedDataPath #{build_root} \ + -destination generic/platform=macOS \ + -destination 'platform=OS X,arch=x86_64' \ + -configuration #{configuration}" + +is_success = system( build_mac ) + +if !is_success + raise 'macos build failed' +end + +universal_output_dir = "#{build_root}/Build/Universal/#{configuration}" +FileUtils.rm_rf(universal_output_dir) +FileUtils::mkdir_p universal_output_dir + +lipo_output_a = "#{universal_output_dir}/#{lib_ios}" +ios_input_a = "#{build_root}/Build/Products/#{configuration}-iphoneos/#{lib_ios}" +i386_input_a = "#{build_root}/Build/Products/#{configuration}-iphonesimulator/#{lib_ios}" +x86_64_a = "#{build_root}/Build/Products/#{configuration}/#{lib_macOS}" + +lipo_cmd = "lipo -create -output \"#{lipo_output_a}\" \"#{ios_input_a}\" \"#{i386_input_a}\"" +is_success = system( lipo_cmd ) + +if !is_success + raise 'lipo failed' +end + +final_name = "mx-deploy-#{config}-#{version}" +final_output_dir = "#{build_root}/#{final_name}" +FileUtils.rm_rf(final_output_dir) +FileUtils::mkdir_p final_output_dir + +FileUtils.cp(lipo_output_a, "#{final_output_dir}") +FileUtils.cp(x86_64_a, "#{final_output_dir}") + +header_output_dir = "#{final_output_dir}/include/mx/api" +FileUtils::mkdir_p header_output_dir +FileUtils.copy_entry "#{mx_repo_root}/Sourcecode/mx/api", "#{header_output_dir}" + +system( "cd \"#{build_root}\" && tar -zcvf \"#{final_name}.tar.gz\" \"#{final_name}\"" ) + +FileUtils.cp("#{build_root}/#{final_name}.tar.gz", "#{upload_dir}") +FileUtils.rm_rf(final_output_dir) +FileUtils.rm_rf("#{build_root}/#{final_name}.tar.gz") diff --git a/DevScripts/mxdeploy-v02.rb b/DevScripts/mxdeploy-v02.rb new file mode 100644 index 000000000..79ccde036 --- /dev/null +++ b/DevScripts/mxdeploy-v02.rb @@ -0,0 +1,106 @@ + +require 'fileutils' + +########################################################################### +# +# Define directory paths +# +########################################################################### + +name_mx_pkg = "mx-src-pkg" +name_mx_src = "Sourcecode" +name_mx_proj = "Xcode" + +dir_this_ruby_script = File.dirname(File.realpath(__FILE__)) +dir_mx_root = "#{dir_this_ruby_script}/.." +dir_mx_src = "#{dir_mx_root}/#{name_mx_src}" +dir_mx_proj = "#{dir_mx_root}/#{name_mx_proj}" +dir_komp_root = "/Users/mjb/komp" +dir_komp_mx_root = "#{dir_komp_root}/Frameworks/mx" +dir_komp_mx_deploy = "#{dir_komp_mx_root}/src-pkg" +dir_temp_root = "/Users/mjb/mx-temp" + +file_mx_version_defines_h = "#{dir_mx_src}/mx/impl/MxVersionDefines.h" + +########################################################################### +# +# Find the current version, increment the build number by one, and save +# it. Use the resulting version to define the name of the package that we +# are deploying and store it to name_mx_pkg suffixing the value that was +# given above with the version number. +# +########################################################################### + +version_major = 0 +version_minor = 0 +version_patch = 0 +version_build = 0 + +f = File.open("#{file_mx_version_defines_h}", "r") +f.each_line do |line| + if (line[0..24] <=> "#define MX_VERSION_MAJOR ") == 0 + version_major = Integer( line[25..-1] ) + end + if (line[0..24] <=> "#define MX_VERSION_MINOR ") == 0 + version_minor = Integer( line[25..-1] ) + end + if (line[0..24] <=> "#define MX_VERSION_PATCH ") == 0 + version_patch = Integer( line[25..-1] ) + end + if (line[0..24] <=> "#define MX_VERSION_BUILD ") == 0 + version_build = Integer( line[25..-1] ) + end +end + +version_build = Integer( version_build ) + 1 +FileUtils.rm("#{file_mx_version_defines_h}") +open("#{file_mx_version_defines_h}", 'w') { |f| + f << "#define MX_VERSION_MAJOR #{version_major}\n" + f << "#define MX_VERSION_MINOR #{version_minor}\n" + f << "#define MX_VERSION_PATCH #{version_patch}\n" + f << "#define MX_VERSION_BUILD #{version_build}\n" +} + +version = "#{version_major}.#{version_minor}.#{version_patch}.#{version_build}" +name_mx_pkg = "#{name_mx_pkg}-#{version}" +puts "deploying #{name_mx_pkg}" + +########################################################################### +# +# Copy sourcecode and Xcode projects to a temporary directory, then zip the +# the temporary directory and delete the unzipped version. +# +########################################################################### + +dir_temp = "#{dir_temp_root}/#{name_mx_pkg}" +name_mx_pkg_zipped = "#{name_mx_pkg}.tar.gz" +file_zipped = "#{dir_temp_root}/#{name_mx_pkg_zipped}" +FileUtils.rm_rf(dir_temp) +FileUtils::mkdir_p dir_temp +FileUtils.cp_r "#{dir_mx_src}", "#{dir_temp}/#{name_mx_src}", :verbose => true +FileUtils.cp_r "#{dir_mx_proj}", "#{dir_temp}/#{name_mx_proj}", :verbose => true +system( "cd \"#{dir_temp_root}\" && tar -zcvf \"#{name_mx_pkg_zipped}\" \"#{name_mx_pkg}\"" ) +FileUtils.rm_rf("#{dir_temp}") + +########################################################################### +# +# Copy zipped sourcecode to the komp repo and create a file there which +# indicates the version which is in use +# +########################################################################### +FileUtils.cp "#{file_zipped}", "#{dir_komp_mx_deploy}" +file_current = "#{dir_komp_mx_deploy}/current.txt" +File.delete(file_current) if File.exist?(file_current) +open(file_current, 'w') { |f| + f << "#{name_mx_pkg_zipped}" +} + +########################################################################### +# +# Make a commit in the mx repo to record this version +# +########################################################################### +Dir.chdir dir_mx_root +system ( "git add --all" ) +system ( "git commit -m\"deployed #{name_mx_pkg}\"" ) + diff --git a/DevScripts/mxdeploy.rb b/DevScripts/mxdeploy.rb new file mode 100644 index 000000000..2b34e2f46 --- /dev/null +++ b/DevScripts/mxdeploy.rb @@ -0,0 +1,239 @@ +require 'fileutils' +require 'tmpdir' + +########################################################################### +# +# Define directory and file paths +# +########################################################################### + +configuration = "Release" + +name_mx_pkg = "mx-version" +name_mx_src = "Sourcecode" +name_mx_proj = "Xcode" +name_versioning_file = "current.txt" +name_ios_target = "MxiOS" +name_osx_target = "MxmacOS" +name_ios = "lib#{name_ios_target}" +name_osx = "lib#{name_osx_target}" +name_ios_framework = "#{name_ios_target}.framework" +name_osx_framework = "#{name_osx_target}.framework" + +dir_build = "/Users/mjb/mx-temp" +dir_this_ruby_script = File.dirname(File.realpath(__FILE__)) +dir_mx_root = File.expand_path("#{dir_this_ruby_script}/..") +file_mx_xcode_workspace = "#{dir_mx_root}/Xcode/mx.xcworkspace" +file_mx_version_defines_h = "#{dir_mx_root}/Sourcecode/mx/impl/MxVersionDefines.h" + +dir_komp_root = "/Users/mjb/komp" +dir_komp_mx = "#{dir_komp_root}/Frameworks/mx" +dir_komp_mx_bin = "#{dir_komp_mx}/bin" +dir_komp_mx_src = "#{dir_komp_mx}/src" +dir_komp_mx_headers = "#{dir_komp_mx}/headers" + + +########################################################################### +# +# Find the current version, increment the build number by one, and save +# it. Use the resulting version to define the name of the package that we +# are deploying and store it to name_mx_pkg suffixing the value that was +# given above with the version number. +# +########################################################################### + +version_major = 0 +version_minor = 0 +version_patch = 0 +version_build = 0 + +f = File.open("#{file_mx_version_defines_h}", "r") +f.each_line do |line| + if (line[0..24] <=> "#define MX_VERSION_MAJOR ") == 0 + version_major = Integer( line[25..-1] ) + end + if (line[0..24] <=> "#define MX_VERSION_MINOR ") == 0 + version_minor = Integer( line[25..-1] ) + end + if (line[0..24] <=> "#define MX_VERSION_PATCH ") == 0 + version_patch = Integer( line[25..-1] ) + end + if (line[0..24] <=> "#define MX_VERSION_BUILD ") == 0 + version_build = Integer( line[25..-1] ) + end +end + +version_build = Integer( version_build ) + 1 +FileUtils.rm("#{file_mx_version_defines_h}") +open("#{file_mx_version_defines_h}", 'w') { |f| + f << "#define MX_VERSION_MAJOR #{version_major}\n" + f << "#define MX_VERSION_MINOR #{version_minor}\n" + f << "#define MX_VERSION_PATCH #{version_patch}\n" + f << "#define MX_VERSION_BUILD #{version_build}\n" +} + +version = "#{version_major}.#{version_minor}.#{version_patch}.#{version_build}" +name_mx_pkg = "#{name_mx_pkg}-#{version}" +puts "deploying #{name_mx_pkg}" + +########################################################################### +# +# Build Mx +# +########################################################################### + +build_ios = "xcodebuild \ + -workspace #{file_mx_xcode_workspace} \ + -scheme #{name_ios_target} \ + build \ + -derivedDataPath #{dir_build} \ + -destination generic/platform=iOS \ + -destination 'generic/platform=iOS simulator' \ + -configuration #{configuration}" + +is_success = system( build_ios ) + +if !is_success + raise 'ios build failed' +end + +build_mac = "xcodebuild \ + -workspace #{file_mx_xcode_workspace} \ + -scheme #{name_osx_target} \ + build \ + -derivedDataPath #{dir_build} \ + -destination generic/platform=macOS \ + -destination 'platform=OS X,arch=x86_64' \ + -configuration #{configuration}" + +is_success = system( build_mac ) + +if !is_success + raise 'macos build failed' +end + +########################################################################### +# +# Create a directory for the output +# +########################################################################### + +dir_out = "#{dir_build}/../mx-out" +FileUtils.rm_rf(dir_out) +FileUtils::mkdir_p dir_out + +########################################################################### +# +# Move and Lipo the frameworks +# +########################################################################### + +dir_ios_framework_fat = "#{dir_out}/#{name_ios_framework}" +dir_ios_iphone_only = "#{dir_build}/Build/Products/#{configuration}-iphoneos/#{name_ios_framework}" +dir_ios_i386___only = "#{dir_build}/Build/Products/#{configuration}-iphonesimulator/#{name_ios_framework}" +FileUtils.rm_rf(dir_ios_framework_fat) +FileUtils.mkdir_p(dir_ios_framework_fat) +FileUtils::copy_entry(dir_ios_iphone_only, dir_ios_framework_fat) + +file_lipo_output = "#{dir_out}/#{name_ios_framework}/#{name_ios_target}" +file_lipo_input_a = "#{dir_ios_iphone_only}/#{name_ios_target}" +file_lipo_input_b = "#{dir_ios_i386___only}/#{name_ios_target}" + +FileUtils.rm(file_lipo_output) + +cmd_lipo = "lipo -create -output \"#{file_lipo_output}\" \"#{file_lipo_input_a}\" \"#{file_lipo_input_b}\"" +is_success = system( cmd_lipo ) + +if !is_success + raise "lipo failed" +end + +dir_osx_framework = "#{dir_out}/#{name_osx_framework}" +dir_osx_build_result = "#{dir_build}/Build/Products/#{configuration}/#{name_osx_framework}" +FileUtils.rm_rf(dir_osx_framework) +FileUtils.mkdir_p(dir_osx_framework) +FileUtils::copy_entry(dir_osx_build_result, dir_osx_framework) + +########################################################################### +# +# Deploy to Komp +# +########################################################################### + +dir_komp_mx_ios_framework = "#{dir_komp_mx_bin}/#{name_ios_framework}" +FileUtils.rm_rf(dir_komp_mx_ios_framework) +FileUtils.mkdir_p(dir_komp_mx_ios_framework) +FileUtils::copy_entry(dir_ios_framework_fat, dir_komp_mx_ios_framework) + +dir_komp_mx_osx_framework = "#{dir_komp_mx_bin}/#{name_osx_framework}" +FileUtils.rm_rf(dir_komp_mx_osx_framework) +FileUtils.mkdir_p(dir_komp_mx_osx_framework) +FileUtils::copy_entry(dir_osx_build_result, dir_komp_mx_osx_framework) + +########################################################################### +# +# Copy Headers +# +########################################################################### + +FileUtils.rm_rf(dir_komp_mx_headers) +FileUtils::mkdir_p "#{dir_komp_mx_headers}/mx/api" + +file_header_list = Dir["#{dir_mx_root}/Sourcecode/mx/api/*.h"] + +file_header_list.each do |file_current_header| + FileUtils.cp(file_current_header, "#{dir_komp_mx_headers}/mx/api") +end + +########################################################################### +# +# Write version info +# +########################################################################### + +name_version = "current-mx-version.txt" +file_version_bin = "#{dir_komp_mx_bin}/#{name_version}" +file_version_src = "#{dir_komp_mx_src}/#{name_version}" +file_version_hed = "#{dir_komp_mx_headers}/#{name_version}" + +File.delete(file_version_bin) if File.exist?(file_version_bin) +open(file_version_bin, 'w') { |f| + f << "#{name_mx_pkg}" +} + +File.delete(file_version_src) if File.exist?(file_version_src) +open(file_version_src, 'w') { |f| + f << "#{name_mx_pkg}" +} + +File.delete(file_version_hed) if File.exist?(file_version_hed) +open(file_version_hed, 'w') { |f| + f << "#{name_mx_pkg}" +} + +########################################################################### +# +# zip and save a copy of mx sourcecode to the komp repo for backup +# +########################################################################### + +dir_code_copy_before_zipping = "#{dir_build}/#{name_mx_pkg}" +name_zipped_filename = "#{name_mx_pkg}.tar.gz" +file_zipped_source = "#{dir_build}/#{name_zipped_filename}" +FileUtils.mkdir_p "#{dir_code_copy_before_zipping}/Sourcecode" +FileUtils.cp_r "#{dir_mx_root}/Sourcecode", "#{dir_code_copy_before_zipping}/Sourcecode" +FileUtils.mkdir_p "#{dir_code_copy_before_zipping}/Xcode" +FileUtils.cp_r "#{dir_mx_root}/Xcode", "#{dir_code_copy_before_zipping}/Xcode" +system( "cd \"#{dir_build}\" && tar -zcvf \"#{name_zipped_filename}\" \"#{name_mx_pkg}\"" ) +FileUtils.cp "#{file_zipped_source}", "#{dir_komp_mx_src}" +FileUtils.rm_rf(dir_code_copy_before_zipping) + +########################################################################### +# +# make a commit in the git repo that corresponds to this deployment +# +########################################################################### + +Dir.chdir dir_mx_root +system ( "git add --all" ) +system ( "git commit -m\"#{name_mx_pkg}\"" ) \ No newline at end of file diff --git a/Mx.podspec b/Mx.podspec deleted file mode 100644 index 31c33935f..000000000 --- a/Mx.podspec +++ /dev/null @@ -1,16 +0,0 @@ -Pod::Spec.new do |spec| - spec.name = 'Mx' - spec.version = '99.99.0' - spec.license = { :type => 'MIT' } - spec.homepage = 'https://github.com/webern/musicxml-class-library' - spec.authors = { 'Matthew James Briggs' => 'matthew.james.briggs@gmail.com' } - spec.summary = 'A C++ Library for MusicXML' - spec.source = { :git => 'https://github.com/webern/musicxml-class-library.git', :tag => 'v99.99.0' } - spec.source_files = 'Sourcecode/mx/**/*.{h,cpp}' - spec.header_dir = 'Sourcecode' - spec.public_header_files = "Sourcecode/mx/**/*.h" - spec.header_mappings_dir = 'Sourcecode' - #spec.preserve_paths = "Sourcecode/*", "Sourcecode/**/*" - spec.ios.deployment_target = '10.0' - spec.osx.deployment_target = '10.7' -end \ No newline at end of file diff --git a/Sourcecode/PositionFunctions.cpp b/Sourcecode/PositionFunctions.cpp deleted file mode 100644 index 2b1894fdd..000000000 --- a/Sourcecode/PositionFunctions.cpp +++ /dev/null @@ -1 +0,0 @@ -#include "mx/impl/PositionFunctions.h" \ No newline at end of file diff --git a/Sourcecode/mx/impl/MxVersionDefines.h b/Sourcecode/mx/impl/MxVersionDefines.h new file mode 100644 index 000000000..a1fe78cbf --- /dev/null +++ b/Sourcecode/mx/impl/MxVersionDefines.h @@ -0,0 +1,4 @@ +#define MX_VERSION_MAJOR 0 +#define MX_VERSION_MINOR 2 +#define MX_VERSION_PATCH 0 +#define MX_VERSION_BUILD 1 diff --git a/Xcode/Mx.xcodeproj/project.pbxproj b/Xcode/Mx.xcodeproj/project.pbxproj index e00a0b707..7ab8e6643 100755 --- a/Xcode/Mx.xcodeproj/project.pbxproj +++ b/Xcode/Mx.xcodeproj/project.pbxproj @@ -8,1360 +8,8 @@ /* Begin PBXBuildFile section */ 2904A4D51D301D5A00A39CC6 /* Encoding.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2904A4D31D301D5A00A39CC6 /* Encoding.cpp */; }; - 290756C41DA8BE0800EEF5C3 /* ApiCommon.h in Headers */ = {isa = PBXBuildFile; fileRef = 293488D41D94903B00D0C407 /* ApiCommon.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756C51DA8BE0800EEF5C3 /* ClefData.h in Headers */ = {isa = PBXBuildFile; fileRef = 292D1DD11D9A43A500CDD9F4 /* ClefData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756C61DA8BE0800EEF5C3 /* ColorData.h in Headers */ = {isa = PBXBuildFile; fileRef = 2933AD601DA5B616005D7222 /* ColorData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756CC1DA8BE0800EEF5C3 /* DocumentManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 29EF440A1D6E70D300DBDAB9 /* DocumentManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756CD1DA8BE0800EEF5C3 /* DurationData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29E9C55E1DA49DAF0040183B /* DurationData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756CE1DA8BE0800EEF5C3 /* EncodingData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29ADB30D1D729E1900683BEC /* EncodingData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756CF1DA8BE0800EEF5C3 /* FontData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29C51A501D9F18BA00EAA308 /* FontData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756D01DA8BE0800EEF5C3 /* LayoutData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29ADB3111D729FB700683BEC /* LayoutData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756D11DA8BE0800EEF5C3 /* LineData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29E9C55D1DA49DAF0040183B /* LineData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756D21DA8BE0800EEF5C3 /* MarkData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29C51A4E1D9F0B6000EAA308 /* MarkData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756D31DA8BE0800EEF5C3 /* MeasureData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29DC06EF1D7E5B2A00210B7E /* MeasureData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756D41DA8BE0800EEF5C3 /* MeasureLocation.h in Headers */ = {isa = PBXBuildFile; fileRef = 29C51A221D9F05AD00EAA308 /* MeasureLocation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756D51DA8BE0800EEF5C3 /* NoteData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29EF44081D6E6D2600DBDAB9 /* NoteData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756D61DA8BE0800EEF5C3 /* PageTextData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29ADB3131D736A2B00683BEC /* PageTextData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756D71DA8BE0800EEF5C3 /* PartData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29ADB30E1D729E1900683BEC /* PartData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756D81DA8BE0800EEF5C3 /* PartGroupData.h in Headers */ = {isa = PBXBuildFile; fileRef = 299A2BB01D7FA48A006A7F5C /* PartGroupData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756D91DA8BE0800EEF5C3 /* PitchData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29E9C5611DA49F2D0040183B /* PitchData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756DA1DA8BE0800EEF5C3 /* PositionData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29ADB3141D736A2B00683BEC /* PositionData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756DB1DA8BE0800EEF5C3 /* PrintData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29C51A521D9F18C600EAA308 /* PrintData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756DC1DA8BE0800EEF5C3 /* ScoreData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29EF440C1D6E70D300DBDAB9 /* ScoreData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756DD1DA8BE0800EEF5C3 /* Smufl.h in Headers */ = {isa = PBXBuildFile; fileRef = 29C51A1C1D9ED3A200EAA308 /* Smufl.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756DE1DA8BE0800EEF5C3 /* SpannerData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29E9C5391DA470BC0040183B /* SpannerData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756DF1DA8BE0800EEF5C3 /* StaffData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29DC06EE1D7E5A8300210B7E /* StaffData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756E01DA8BE0800EEF5C3 /* TimeSignatureData.h in Headers */ = {isa = PBXBuildFile; fileRef = 2927EC9B1D886E2B0042E080 /* TimeSignatureData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756E11DA8BE0800EEF5C3 /* VoiceData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29DC06F01D7E5BBF00210B7E /* VoiceData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756E21DA8BE2A00EEF5C3 /* ApiCommon.h in Headers */ = {isa = PBXBuildFile; fileRef = 293488D41D94903B00D0C407 /* ApiCommon.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756E31DA8BE2A00EEF5C3 /* ClefData.h in Headers */ = {isa = PBXBuildFile; fileRef = 292D1DD11D9A43A500CDD9F4 /* ClefData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756E41DA8BE2A00EEF5C3 /* ColorData.h in Headers */ = {isa = PBXBuildFile; fileRef = 2933AD601DA5B616005D7222 /* ColorData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756EA1DA8BE2A00EEF5C3 /* DocumentManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 29EF440A1D6E70D300DBDAB9 /* DocumentManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756EB1DA8BE2A00EEF5C3 /* DurationData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29E9C55E1DA49DAF0040183B /* DurationData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756EC1DA8BE2A00EEF5C3 /* EncodingData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29ADB30D1D729E1900683BEC /* EncodingData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756ED1DA8BE2A00EEF5C3 /* FontData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29C51A501D9F18BA00EAA308 /* FontData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756EE1DA8BE2A00EEF5C3 /* LayoutData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29ADB3111D729FB700683BEC /* LayoutData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756EF1DA8BE2A00EEF5C3 /* LineData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29E9C55D1DA49DAF0040183B /* LineData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756F01DA8BE2A00EEF5C3 /* MarkData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29C51A4E1D9F0B6000EAA308 /* MarkData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756F11DA8BE2A00EEF5C3 /* MeasureData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29DC06EF1D7E5B2A00210B7E /* MeasureData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756F21DA8BE2A00EEF5C3 /* MeasureLocation.h in Headers */ = {isa = PBXBuildFile; fileRef = 29C51A221D9F05AD00EAA308 /* MeasureLocation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756F31DA8BE2A00EEF5C3 /* NoteData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29EF44081D6E6D2600DBDAB9 /* NoteData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756F41DA8BE2A00EEF5C3 /* PageTextData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29ADB3131D736A2B00683BEC /* PageTextData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756F51DA8BE2A00EEF5C3 /* PartData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29ADB30E1D729E1900683BEC /* PartData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756F61DA8BE2A00EEF5C3 /* PartGroupData.h in Headers */ = {isa = PBXBuildFile; fileRef = 299A2BB01D7FA48A006A7F5C /* PartGroupData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756F71DA8BE2A00EEF5C3 /* PitchData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29E9C5611DA49F2D0040183B /* PitchData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756F81DA8BE2A00EEF5C3 /* PositionData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29ADB3141D736A2B00683BEC /* PositionData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756F91DA8BE2A00EEF5C3 /* PrintData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29C51A521D9F18C600EAA308 /* PrintData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756FA1DA8BE2A00EEF5C3 /* ScoreData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29EF440C1D6E70D300DBDAB9 /* ScoreData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756FB1DA8BE2A00EEF5C3 /* Smufl.h in Headers */ = {isa = PBXBuildFile; fileRef = 29C51A1C1D9ED3A200EAA308 /* Smufl.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756FC1DA8BE2A00EEF5C3 /* SpannerData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29E9C5391DA470BC0040183B /* SpannerData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756FD1DA8BE2A00EEF5C3 /* StaffData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29DC06EE1D7E5A8300210B7E /* StaffData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756FE1DA8BE2A00EEF5C3 /* TimeSignatureData.h in Headers */ = {isa = PBXBuildFile; fileRef = 2927EC9B1D886E2B0042E080 /* TimeSignatureData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 290756FF1DA8BE2A00EEF5C3 /* VoiceData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29DC06F01D7E5BBF00210B7E /* VoiceData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 29271A0D1DCC04610036528D /* DynamicsWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29979D651DC830AA00707AA4 /* DynamicsWriter.cpp */; }; - 29271A0E1DCC04610036528D /* AccidentalMarkFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF2FE91DA307D3001FE5DF /* AccidentalMarkFunctions.cpp */; }; - 29271A0F1DCC04610036528D /* ArticulationsFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF2F781DA2CC1D001FE5DF /* ArticulationsFunctions.cpp */; }; - 29271A101DCC04610036528D /* Converter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2922CC621D9AF28400F8C9C1 /* Converter.cpp */; }; - 29271A111DCC04610036528D /* Cursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2973065E1D89AB3300B8C0D3 /* Cursor.cpp */; }; - 29271A121DCC04610036528D /* DirectionReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29766ACA1DAC149900CCE2AC /* DirectionReader.cpp */; }; - 29271A131DCC04610036528D /* DirectionWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29CD722A1DB82C9200FB7153 /* DirectionWriter.cpp */; }; - 29271A141DCC04610036528D /* DynamicsReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF2F7C1DA2D450001FE5DF /* DynamicsReader.cpp */; }; - 29271A151DCC04610036528D /* EncodingFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2913BB871D753FC8006C34A3 /* EncodingFunctions.cpp */; }; - 29271A161DCC04610036528D /* LayoutFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2913BB891D753FC8006C34A3 /* LayoutFunctions.cpp */; }; - 29271A171DCC04610036528D /* LcmGcd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2927ECA61D888AB30042E080 /* LcmGcd.cpp */; }; - 29271A181DCC04610036528D /* MeasureReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E2B3C81DA81E9700DC61EA /* MeasureReader.cpp */; }; - 29271A191DCC04610036528D /* MeasureWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29B7C4671DAFFDBA009D7D8F /* MeasureWriter.cpp */; }; - 29271A1A1DCC04610036528D /* MetronomeReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29766AC61DAC014300CCE2AC /* MetronomeReader.cpp */; }; - 29271A1B1DCC04610036528D /* NotationsWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29398BAE1DB1917B00475CD5 /* NotationsWriter.cpp */; }; - 29271A1C1DCC04610036528D /* NoteFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2913BB8B1D753FC8006C34A3 /* NoteFunctions.cpp */; }; - 29271A1D1DCC04610036528D /* NoteReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 297306661D89D08400B8C0D3 /* NoteReader.cpp */; }; - 29271A1E1DCC04610036528D /* NoteWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29398BA51DB1561200475CD5 /* NoteWriter.cpp */; }; - 29271A1F1DCC04610036528D /* OrnamentsFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF2FF11DA307D3001FE5DF /* OrnamentsFunctions.cpp */; }; - 29271A201DCC04610036528D /* PageTextFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2913BB8D1D753FC8006C34A3 /* PageTextFunctions.cpp */; }; - 29271A211DCC04610036528D /* PartReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E2B3CA1DA81E9700DC61EA /* PartReader.cpp */; }; - 29271A221DCC04610036528D /* PartWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29CDDA2B1DADCAF30022B1A3 /* PartWriter.cpp */; }; - 29271A231DCC04610036528D /* PropertiesWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29CD72261DB806FD00FB7153 /* PropertiesWriter.cpp */; }; - 29271A241DCC04610036528D /* ScoreReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C29B841DAEC00C00D3A884 /* ScoreReader.cpp */; }; - 29271A251DCC04610036528D /* ScoreWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C29B861DAEC00C00D3A884 /* ScoreWriter.cpp */; }; - 29271A261DCC04610036528D /* StaffFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 297DA0721D7F60BE0067C13A /* StaffFunctions.cpp */; }; - 29271A271DCC04610036528D /* TechnicalFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF30011DA32E37001FE5DF /* TechnicalFunctions.cpp */; }; - 29271A281DCC04610036528D /* TimeReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2927EC9E1D886E460042E080 /* TimeReader.cpp */; }; - 29271A291DCC04610036528D /* TupletReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29B4E81F1DA9CD5D005DC6D1 /* TupletReader.cpp */; }; - 29271A2B1DCC04630036528D /* DynamicsWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29979D651DC830AA00707AA4 /* DynamicsWriter.cpp */; }; - 29271A2C1DCC04630036528D /* AccidentalMarkFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF2FE91DA307D3001FE5DF /* AccidentalMarkFunctions.cpp */; }; - 29271A2D1DCC04630036528D /* ArticulationsFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF2F781DA2CC1D001FE5DF /* ArticulationsFunctions.cpp */; }; - 29271A2E1DCC04630036528D /* Converter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2922CC621D9AF28400F8C9C1 /* Converter.cpp */; }; - 29271A2F1DCC04630036528D /* Cursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2973065E1D89AB3300B8C0D3 /* Cursor.cpp */; }; - 29271A301DCC04630036528D /* DirectionReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29766ACA1DAC149900CCE2AC /* DirectionReader.cpp */; }; - 29271A311DCC04630036528D /* DirectionWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29CD722A1DB82C9200FB7153 /* DirectionWriter.cpp */; }; - 29271A321DCC04630036528D /* DynamicsReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF2F7C1DA2D450001FE5DF /* DynamicsReader.cpp */; }; - 29271A331DCC04630036528D /* EncodingFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2913BB871D753FC8006C34A3 /* EncodingFunctions.cpp */; }; - 29271A341DCC04630036528D /* LayoutFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2913BB891D753FC8006C34A3 /* LayoutFunctions.cpp */; }; - 29271A351DCC04630036528D /* LcmGcd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2927ECA61D888AB30042E080 /* LcmGcd.cpp */; }; - 29271A361DCC04630036528D /* MeasureReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E2B3C81DA81E9700DC61EA /* MeasureReader.cpp */; }; - 29271A371DCC04630036528D /* MeasureWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29B7C4671DAFFDBA009D7D8F /* MeasureWriter.cpp */; }; - 29271A381DCC04630036528D /* MetronomeReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29766AC61DAC014300CCE2AC /* MetronomeReader.cpp */; }; - 29271A391DCC04630036528D /* NotationsWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29398BAE1DB1917B00475CD5 /* NotationsWriter.cpp */; }; - 29271A3A1DCC04630036528D /* NoteFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2913BB8B1D753FC8006C34A3 /* NoteFunctions.cpp */; }; - 29271A3B1DCC04630036528D /* NoteReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 297306661D89D08400B8C0D3 /* NoteReader.cpp */; }; - 29271A3C1DCC04630036528D /* NoteWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29398BA51DB1561200475CD5 /* NoteWriter.cpp */; }; - 29271A3D1DCC04630036528D /* OrnamentsFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF2FF11DA307D3001FE5DF /* OrnamentsFunctions.cpp */; }; - 29271A3E1DCC04630036528D /* PageTextFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2913BB8D1D753FC8006C34A3 /* PageTextFunctions.cpp */; }; - 29271A3F1DCC04630036528D /* PartReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E2B3CA1DA81E9700DC61EA /* PartReader.cpp */; }; - 29271A401DCC04630036528D /* PartWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29CDDA2B1DADCAF30022B1A3 /* PartWriter.cpp */; }; - 29271A411DCC04630036528D /* PropertiesWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29CD72261DB806FD00FB7153 /* PropertiesWriter.cpp */; }; - 29271A421DCC04630036528D /* ScoreReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C29B841DAEC00C00D3A884 /* ScoreReader.cpp */; }; - 29271A431DCC04630036528D /* ScoreWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C29B861DAEC00C00D3A884 /* ScoreWriter.cpp */; }; - 29271A441DCC04630036528D /* StaffFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 297DA0721D7F60BE0067C13A /* StaffFunctions.cpp */; }; - 29271A451DCC04630036528D /* TechnicalFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF30011DA32E37001FE5DF /* TechnicalFunctions.cpp */; }; - 29271A461DCC04630036528D /* TimeReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2927EC9E1D886E460042E080 /* TimeReader.cpp */; }; - 29271A471DCC04630036528D /* TupletReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29B4E81F1DA9CD5D005DC6D1 /* TupletReader.cpp */; }; 29271A4F1DCC0D820036528D /* ApiEquality.h in Headers */ = {isa = PBXBuildFile; fileRef = 29271A4E1DCC0D820036528D /* ApiEquality.h */; }; - 29271A501DCC0D8D0036528D /* ApiEquality.h in Headers */ = {isa = PBXBuildFile; fileRef = 29271A4E1DCC0D820036528D /* ApiEquality.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 29271A511DCC0D910036528D /* ApiEquality.h in Headers */ = {isa = PBXBuildFile; fileRef = 29271A4E1DCC0D820036528D /* ApiEquality.h */; settings = {ATTRIBUTES = (Public, ); }; }; 292D1DD21D9A43A500CDD9F4 /* ClefData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292D1DD01D9A43A500CDD9F4 /* ClefData.cpp */; }; - 2933A7EC1DA58F2F005D7222 /* ScoreConversions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2951A0C31D60F3B700B49A13 /* ScoreConversions.cpp */; }; - 2933A7ED1DA58F2F005D7222 /* AttributesInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE01D130B690094BE61 /* AttributesInterface.cpp */; }; - 2933A7EE1DA58F2F005D7222 /* Color.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE21D130B690094BE61 /* Color.cpp */; }; - 2933A7EF1DA58F2F005D7222 /* Date.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE41D130B690094BE61 /* Date.cpp */; }; - 2933A7F01DA58F2F005D7222 /* Decimals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE61D130B690094BE61 /* Decimals.cpp */; }; - 2933A7F11DA58F2F005D7222 /* Document.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE81D130B690094BE61 /* Document.cpp */; }; - 2933A7F21DA58F2F005D7222 /* DocumentHeader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AEA1D130B690094BE61 /* DocumentHeader.cpp */; }; - 2933A7F31DA58F2F005D7222 /* DocumentSpec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AEE1D130B690094BE61 /* DocumentSpec.cpp */; }; - 2933A7F41DA58F2F005D7222 /* ElementInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AF21D130B690094BE61 /* ElementInterface.cpp */; }; - 2933A7F51DA58F2F005D7222 /* Accent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545ED1D295C5300B90302 /* Accent.cpp */; }; - 2933A7F61DA58F2F005D7222 /* Accidental.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545EE1D295C5300B90302 /* Accidental.cpp */; }; - 2933A7F71DA58F2F005D7222 /* AccidentalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545EF1D295C5300B90302 /* AccidentalAttributes.cpp */; }; - 2933A7F81DA58F2F005D7222 /* AccidentalMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F01D295C5300B90302 /* AccidentalMark.cpp */; }; - 2933A7F91DA58F2F005D7222 /* AccidentalMarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F11D295C5300B90302 /* AccidentalMarkAttributes.cpp */; }; - 2933A7FA1DA58F2F005D7222 /* AccidentalText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F21D295C5300B90302 /* AccidentalText.cpp */; }; - 2933A7FB1DA58F2F005D7222 /* AccidentalTextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F31D295C5300B90302 /* AccidentalTextAttributes.cpp */; }; - 2933A7FC1DA58F2F005D7222 /* Accord.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F41D295C5300B90302 /* Accord.cpp */; }; - 2933A7FD1DA58F2F005D7222 /* AccordAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F51D295C5300B90302 /* AccordAttributes.cpp */; }; - 2933A7FE1DA58F2F005D7222 /* AccordionHigh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F61D295C5300B90302 /* AccordionHigh.cpp */; }; - 2933A7FF1DA58F2F005D7222 /* AccordionLow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F71D295C5300B90302 /* AccordionLow.cpp */; }; - 2933A8001DA58F2F005D7222 /* AccordionMiddle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F81D295C5300B90302 /* AccordionMiddle.cpp */; }; - 2933A8011DA58F2F005D7222 /* AccordionRegistration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F91D295C5300B90302 /* AccordionRegistration.cpp */; }; - 2933A8021DA58F2F005D7222 /* AccordionRegistrationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FA1D295C5300B90302 /* AccordionRegistrationAttributes.cpp */; }; - 2933A8031DA58F2F005D7222 /* ActualNotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FB1D295C5300B90302 /* ActualNotes.cpp */; }; - 2933A8041DA58F2F005D7222 /* Alter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FC1D295C5300B90302 /* Alter.cpp */; }; - 2933A8051DA58F2F005D7222 /* Appearance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FD1D295C5300B90302 /* Appearance.cpp */; }; - 2933A8061DA58F2F005D7222 /* Arpeggiate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FE1D295C5300B90302 /* Arpeggiate.cpp */; }; - 2933A8071DA58F2F005D7222 /* ArpeggiateAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FF1D295C5300B90302 /* ArpeggiateAttributes.cpp */; }; - 2933A8081DA58F2F005D7222 /* Arrow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546001D295C5300B90302 /* Arrow.cpp */; }; - 2933A8091DA58F2F005D7222 /* ArrowAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546011D295C5300B90302 /* ArrowAttributes.cpp */; }; - 2933A80A1DA58F2F005D7222 /* ArrowDirection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546021D295C5300B90302 /* ArrowDirection.cpp */; }; - 2933A80B1DA58F2F005D7222 /* ArrowGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546031D295C5300B90302 /* ArrowGroup.cpp */; }; - 2933A80C1DA58F2F005D7222 /* ArrowStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546041D295C5300B90302 /* ArrowStyle.cpp */; }; - 2933A80D1DA58F2F005D7222 /* Articulations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546051D295C5300B90302 /* Articulations.cpp */; }; - 2933A80E1DA58F2F005D7222 /* ArticulationsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546061D295C5300B90302 /* ArticulationsChoice.cpp */; }; - 2933A80F1DA58F2F005D7222 /* Artificial.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546071D295C5300B90302 /* Artificial.cpp */; }; - 2933A8101DA58F2F005D7222 /* AttributesIterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546081D295C5300B90302 /* AttributesIterface.cpp */; }; - 2933A8111DA58F2F005D7222 /* Backup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546091D295C5300B90302 /* Backup.cpp */; }; - 2933A8121DA58F2F005D7222 /* Barline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460A1D295C5300B90302 /* Barline.cpp */; }; - 2933A8131DA58F2F005D7222 /* BarlineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460B1D295C5300B90302 /* BarlineAttributes.cpp */; }; - 2933A8141DA58F2F005D7222 /* Barre.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460C1D295C5300B90302 /* Barre.cpp */; }; - 2933A8151DA58F2F005D7222 /* BarreAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460D1D295C5300B90302 /* BarreAttributes.cpp */; }; - 2933A8161DA58F2F005D7222 /* BarStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460E1D295C5300B90302 /* BarStyle.cpp */; }; - 2933A8171DA58F2F005D7222 /* BarStyleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460F1D295C5300B90302 /* BarStyleAttributes.cpp */; }; - 2933A8181DA58F2F005D7222 /* BasePitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546101D295C5300B90302 /* BasePitch.cpp */; }; - 2933A8191DA58F2F005D7222 /* Bass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546111D295C5300B90302 /* Bass.cpp */; }; - 2933A81A1DA58F2F005D7222 /* BassAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546121D295C5300B90302 /* BassAlter.cpp */; }; - 2933A81B1DA58F2F005D7222 /* BassAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546131D295C5300B90302 /* BassAlterAttributes.cpp */; }; - 2933A81C1DA58F2F005D7222 /* BassStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546141D295C5300B90302 /* BassStep.cpp */; }; - 2933A81D1DA58F2F005D7222 /* BassStepAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546151D295C5300B90302 /* BassStepAttributes.cpp */; }; - 2933A81E1DA58F2F005D7222 /* Beam.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546161D295C5300B90302 /* Beam.cpp */; }; - 2933A81F1DA58F2F005D7222 /* BeamAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546171D295C5300B90302 /* BeamAttributes.cpp */; }; - 2933A8201DA58F2F005D7222 /* Beater.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546181D295C5300B90302 /* Beater.cpp */; }; - 2933A8211DA58F2F005D7222 /* BeaterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546191D295C5300B90302 /* BeaterAttributes.cpp */; }; - 2933A8221DA58F2F005D7222 /* BeatRepeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461A1D295C5300B90302 /* BeatRepeat.cpp */; }; - 2933A8231DA58F2F005D7222 /* BeatRepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461B1D295C5300B90302 /* BeatRepeatAttributes.cpp */; }; - 2933A8241DA58F2F005D7222 /* Beats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461C1D295C5300B90302 /* Beats.cpp */; }; - 2933A8251DA58F2F005D7222 /* BeatType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461D1D295C5300B90302 /* BeatType.cpp */; }; - 2933A8261DA58F2F005D7222 /* BeatUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461E1D295C5300B90302 /* BeatUnit.cpp */; }; - 2933A8271DA58F2F005D7222 /* BeatUnitDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461F1D295C5300B90302 /* BeatUnitDot.cpp */; }; - 2933A8281DA58F2F005D7222 /* BeatUnitGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546201D295C5300B90302 /* BeatUnitGroup.cpp */; }; - 2933A8291DA58F2F005D7222 /* BeatUnitPer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546211D295C5300B90302 /* BeatUnitPer.cpp */; }; - 2933A82A1DA58F2F005D7222 /* BeatUnitPerOrNoteRelationNoteChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546221D295C5300B90302 /* BeatUnitPerOrNoteRelationNoteChoice.cpp */; }; - 2933A82B1DA58F2F005D7222 /* Bend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546231D295C5300B90302 /* Bend.cpp */; }; - 2933A82C1DA58F2F005D7222 /* BendAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546241D295C5300B90302 /* BendAlter.cpp */; }; - 2933A82D1DA58F2F005D7222 /* BendAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546251D295C5300B90302 /* BendAttributes.cpp */; }; - 2933A82E1DA58F2F005D7222 /* BendChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546261D295C5300B90302 /* BendChoice.cpp */; }; - 2933A82F1DA58F2F005D7222 /* Bookmark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546271D295C5300B90302 /* Bookmark.cpp */; }; - 2933A8301DA58F2F005D7222 /* BookmarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546281D295C5300B90302 /* BookmarkAttributes.cpp */; }; - 2933A8311DA58F2F005D7222 /* BottomMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546291D295C5300B90302 /* BottomMargin.cpp */; }; - 2933A8321DA58F2F005D7222 /* Bracket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462A1D295C5300B90302 /* Bracket.cpp */; }; - 2933A8331DA58F2F005D7222 /* BracketAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462B1D295C5300B90302 /* BracketAttributes.cpp */; }; - 2933A8341DA58F2F005D7222 /* BreathMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462C1D295C5300B90302 /* BreathMark.cpp */; }; - 2933A8351DA58F2F005D7222 /* BreathMarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462D1D295C5300B90302 /* BreathMarkAttributes.cpp */; }; - 2933A8361DA58F2F005D7222 /* Caesura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462E1D295C5300B90302 /* Caesura.cpp */; }; - 2933A8371DA58F2F005D7222 /* Cancel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462F1D295C5300B90302 /* Cancel.cpp */; }; - 2933A8381DA58F2F005D7222 /* CancelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546301D295C5300B90302 /* CancelAttributes.cpp */; }; - 2933A8391DA58F2F005D7222 /* Capo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546311D295C5300B90302 /* Capo.cpp */; }; - 2933A83A1DA58F2F005D7222 /* Chord.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546321D295C5300B90302 /* Chord.cpp */; }; - 2933A83B1DA58F2F005D7222 /* Chromatic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546331D295C5300B90302 /* Chromatic.cpp */; }; - 2933A83C1DA58F2F005D7222 /* CircularArrow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546341D295C5300B90302 /* CircularArrow.cpp */; }; - 2933A83D1DA58F2F005D7222 /* Clef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546351D295C5300B90302 /* Clef.cpp */; }; - 2933A83E1DA58F2F005D7222 /* ClefAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546361D295C5300B90302 /* ClefAttributes.cpp */; }; - 2933A83F1DA58F2F005D7222 /* ClefOctaveChange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546371D295C5300B90302 /* ClefOctaveChange.cpp */; }; - 2933A8401DA58F2F005D7222 /* Coda.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546381D295C5300B90302 /* Coda.cpp */; }; - 2933A8411DA58F2F005D7222 /* Creator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546391D295C5300B90302 /* Creator.cpp */; }; - 2933A8421DA58F2F005D7222 /* CreatorAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463A1D295C5300B90302 /* CreatorAttributes.cpp */; }; - 2933A8431DA58F2F005D7222 /* Credit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463B1D295C5300B90302 /* Credit.cpp */; }; - 2933A8441DA58F2F005D7222 /* CreditAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463C1D295C5300B90302 /* CreditAttributes.cpp */; }; - 2933A8451DA58F2F005D7222 /* CreditChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463D1D295C5300B90302 /* CreditChoice.cpp */; }; - 2933A8461DA58F2F005D7222 /* CreditImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463E1D295C5300B90302 /* CreditImage.cpp */; }; - 2933A8471DA58F2F005D7222 /* CreditImageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463F1D295C5300B90302 /* CreditImageAttributes.cpp */; }; - 2933A8481DA58F2F005D7222 /* CreditType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546401D295C5300B90302 /* CreditType.cpp */; }; - 2933A8491DA58F2F005D7222 /* CreditWords.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546411D295C5300B90302 /* CreditWords.cpp */; }; - 2933A84A1DA58F2F005D7222 /* CreditWordsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546421D295C5300B90302 /* CreditWordsAttributes.cpp */; }; - 2933A84B1DA58F2F005D7222 /* CreditWordsGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546431D295C5300B90302 /* CreditWordsGroup.cpp */; }; - 2933A84C1DA58F2F005D7222 /* Cue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546441D295C5300B90302 /* Cue.cpp */; }; - 2933A84D1DA58F2F005D7222 /* CueNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546451D295C5300B90302 /* CueNoteGroup.cpp */; }; - 2933A84E1DA58F2F005D7222 /* Damp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546461D295C5300B90302 /* Damp.cpp */; }; - 2933A84F1DA58F2F005D7222 /* DampAll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546471D295C5300B90302 /* DampAll.cpp */; }; - 2933A8501DA58F2F005D7222 /* Dashes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546481D295C5300B90302 /* Dashes.cpp */; }; - 2933A8511DA58F2F005D7222 /* DashesAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546491D295C5300B90302 /* DashesAttributes.cpp */; }; - 2933A8521DA58F2F005D7222 /* Defaults.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464A1D295C5300B90302 /* Defaults.cpp */; }; - 2933A8531DA58F2F005D7222 /* Degree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464B1D295C5300B90302 /* Degree.cpp */; }; - 2933A8541DA58F2F005D7222 /* DegreeAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464C1D295C5300B90302 /* DegreeAlter.cpp */; }; - 2933A8551DA58F2F005D7222 /* DegreeAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464D1D295C5300B90302 /* DegreeAlterAttributes.cpp */; }; - 2933A8561DA58F2F005D7222 /* DegreeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464E1D295C5300B90302 /* DegreeAttributes.cpp */; }; - 2933A8571DA58F2F005D7222 /* DegreeType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464F1D295C5300B90302 /* DegreeType.cpp */; }; - 2933A8581DA58F2F005D7222 /* DegreeTypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546501D295C5300B90302 /* DegreeTypeAttributes.cpp */; }; - 2933A8591DA58F2F005D7222 /* DegreeValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546511D295C5300B90302 /* DegreeValue.cpp */; }; - 2933A85A1DA58F2F005D7222 /* DegreeValueAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546521D295C5300B90302 /* DegreeValueAttributes.cpp */; }; - 2933A85B1DA58F2F005D7222 /* DelayedInvertedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546531D295C5300B90302 /* DelayedInvertedTurn.cpp */; }; - 2933A85C1DA58F2F005D7222 /* DelayedInvertedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546541D295C5300B90302 /* DelayedInvertedTurnAttributes.cpp */; }; - 2933A85D1DA58F2F005D7222 /* DelayedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546551D295C5300B90302 /* DelayedTurn.cpp */; }; - 2933A85E1DA58F2F005D7222 /* DelayedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546561D295C5300B90302 /* DelayedTurnAttributes.cpp */; }; - 2933A85F1DA58F2F005D7222 /* DetachedLegato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546571D295C5300B90302 /* DetachedLegato.cpp */; }; - 2933A8601DA58F2F005D7222 /* Diatonic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546581D295C5300B90302 /* Diatonic.cpp */; }; - 2933A8611DA58F2F005D7222 /* Direction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546591D295C5300B90302 /* Direction.cpp */; }; - 2933A8621DA58F2F005D7222 /* DirectionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465A1D295C5300B90302 /* DirectionAttributes.cpp */; }; - 2933A8631DA58F2F005D7222 /* DirectionType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465B1D295C5300B90302 /* DirectionType.cpp */; }; - 2933A8641DA58F2F005D7222 /* Directive.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465C1D295C5300B90302 /* Directive.cpp */; }; - 2933A8651DA58F2F005D7222 /* DirectiveAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465D1D295C5300B90302 /* DirectiveAttributes.cpp */; }; - 2933A8661DA58F2F005D7222 /* DisplayOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465E1D295C5300B90302 /* DisplayOctave.cpp */; }; - 2933A8671DA58F2F005D7222 /* DisplayStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465F1D295C5300B90302 /* DisplayStep.cpp */; }; - 2933A8681DA58F2F005D7222 /* DisplayStepOctaveGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546601D295C5300B90302 /* DisplayStepOctaveGroup.cpp */; }; - 2933A8691DA58F2F005D7222 /* DisplayText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546611D295C5300B90302 /* DisplayText.cpp */; }; - 2933A86A1DA58F2F005D7222 /* DisplayTextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546621D295C5300B90302 /* DisplayTextAttributes.cpp */; }; - 2933A86B1DA58F2F005D7222 /* DisplayTextOrAccidentalText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546631D295C5300B90302 /* DisplayTextOrAccidentalText.cpp */; }; - 2933A86C1DA58F2F005D7222 /* Distance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546641D295C5300B90302 /* Distance.cpp */; }; - 2933A86D1DA58F2F005D7222 /* DistanceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546651D295C5300B90302 /* DistanceAttributes.cpp */; }; - 2933A86E1DA58F2F005D7222 /* Divisions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546661D295C5300B90302 /* Divisions.cpp */; }; - 2933A86F1DA58F2F005D7222 /* Doit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546671D295C5300B90302 /* Doit.cpp */; }; - 2933A8701DA58F2F005D7222 /* Dot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546681D295C5300B90302 /* Dot.cpp */; }; - 2933A8711DA58F2F005D7222 /* Double.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546691D295C5300B90302 /* Double.cpp */; }; - 2933A8721DA58F2F005D7222 /* DoubleTongue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466A1D295C5300B90302 /* DoubleTongue.cpp */; }; - 2933A8731DA58F2F005D7222 /* DownBow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466B1D295C5300B90302 /* DownBow.cpp */; }; - 2933A8741DA58F2F005D7222 /* Duration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466C1D295C5300B90302 /* Duration.cpp */; }; - 2933A8751DA58F2F005D7222 /* Dynamics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466D1D295C5300B90302 /* Dynamics.cpp */; }; - 2933A8761DA58F2F005D7222 /* DynamicsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466E1D295C5300B90302 /* DynamicsAttributes.cpp */; }; - 2933A8771DA58F2F005D7222 /* EditorialGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466F1D295C5300B90302 /* EditorialGroup.cpp */; }; - 2933A8781DA58F2F005D7222 /* EditorialVoiceDirectionGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546701D295C5300B90302 /* EditorialVoiceDirectionGroup.cpp */; }; - 2933A8791DA58F2F005D7222 /* EditorialVoiceGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546711D295C5300B90302 /* EditorialVoiceGroup.cpp */; }; - 2933A87A1DA58F2F005D7222 /* Effect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546721D295C5300B90302 /* Effect.cpp */; }; - 2933A87B1DA58F2F005D7222 /* Elevation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546731D295C5300B90302 /* Elevation.cpp */; }; - 2933A87C1DA58F2F005D7222 /* Elision.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546741D295C5300B90302 /* Elision.cpp */; }; - 2933A87D1DA58F2F005D7222 /* ElisionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546751D295C5300B90302 /* ElisionAttributes.cpp */; }; - 2933A87E1DA58F2F005D7222 /* ElisionSyllabicGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546761D295C5300B90302 /* ElisionSyllabicGroup.cpp */; }; - 2933A87F1DA58F2F005D7222 /* ElisionSyllabicTextGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546771D295C5300B90302 /* ElisionSyllabicTextGroup.cpp */; }; - 2933A8801DA58F2F005D7222 /* EmptyFontAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546781D295C5300B90302 /* EmptyFontAttributes.cpp */; }; - 2933A8811DA58F2F005D7222 /* EmptyLineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546791D295C5300B90302 /* EmptyLineAttributes.cpp */; }; - 2933A8821DA58F2F005D7222 /* EmptyPlacementAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467A1D295C5300B90302 /* EmptyPlacementAttributes.cpp */; }; - 2933A8831DA58F2F005D7222 /* EmptyTrillSoundAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467B1D295C5300B90302 /* EmptyTrillSoundAttributes.cpp */; }; - 2933A8841DA58F2F005D7222 /* Encoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467C1D295C5300B90302 /* Encoder.cpp */; }; - 2933A8851DA58F2F005D7222 /* EncoderAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467D1D295C5300B90302 /* EncoderAttributes.cpp */; }; - 2933A8861DA58F2F005D7222 /* Encoding.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2904A4D31D301D5A00A39CC6 /* Encoding.cpp */; }; - 2933A8871DA58F2F005D7222 /* EncodingChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467E1D295C5300B90302 /* EncodingChoice.cpp */; }; - 2933A8881DA58F2F005D7222 /* EncodingDate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467F1D295C5300B90302 /* EncodingDate.cpp */; }; - 2933A8891DA58F2F005D7222 /* EncodingDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546801D295C5300B90302 /* EncodingDescription.cpp */; }; - 2933A88A1DA58F2F005D7222 /* Ending.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546811D295C5300B90302 /* Ending.cpp */; }; - 2933A88B1DA58F2F005D7222 /* EndingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546821D295C5300B90302 /* EndingAttributes.cpp */; }; - 2933A88C1DA58F2F005D7222 /* EndLine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546831D295C5300B90302 /* EndLine.cpp */; }; - 2933A88D1DA58F2F005D7222 /* EndParagraph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546841D295C5300B90302 /* EndParagraph.cpp */; }; - 2933A88E1DA58F2F005D7222 /* Ensemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546851D295C5300B90302 /* Ensemble.cpp */; }; - 2933A88F1DA58F2F005D7222 /* Extend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546861D295C5300B90302 /* Extend.cpp */; }; - 2933A8901DA58F2F005D7222 /* ExtendAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546871D295C5300B90302 /* ExtendAttributes.cpp */; }; - 2933A8911DA58F2F005D7222 /* Eyeglasses.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546881D295C5300B90302 /* Eyeglasses.cpp */; }; - 2933A8921DA58F2F005D7222 /* Falloff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546891D295C5300B90302 /* Falloff.cpp */; }; - 2933A8931DA58F2F005D7222 /* Feature.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468A1D295C5300B90302 /* Feature.cpp */; }; - 2933A8941DA58F2F005D7222 /* FeatureAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468B1D295C5300B90302 /* FeatureAttributes.cpp */; }; - 2933A8951DA58F2F005D7222 /* Fermata.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468C1D295C5300B90302 /* Fermata.cpp */; }; - 2933A8961DA58F2F005D7222 /* FermataAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468D1D295C5300B90302 /* FermataAttributes.cpp */; }; - 2933A8971DA58F2F005D7222 /* Fifths.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468E1D295C5300B90302 /* Fifths.cpp */; }; - 2933A8981DA58F2F005D7222 /* Figure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468F1D295C5300B90302 /* Figure.cpp */; }; - 2933A8991DA58F2F005D7222 /* FiguredBass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546901D295C5300B90302 /* FiguredBass.cpp */; }; - 2933A89A1DA58F2F005D7222 /* FiguredBassAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546911D295C5300B90302 /* FiguredBassAttributes.cpp */; }; - 2933A89B1DA58F2F005D7222 /* FigureNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546921D295C5300B90302 /* FigureNumber.cpp */; }; - 2933A89C1DA58F2F005D7222 /* FigureNumberAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546931D295C5300B90302 /* FigureNumberAttributes.cpp */; }; - 2933A89D1DA58F2F005D7222 /* Fingering.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546941D295C5300B90302 /* Fingering.cpp */; }; - 2933A89E1DA58F2F005D7222 /* FingeringAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546951D295C5300B90302 /* FingeringAttributes.cpp */; }; - 2933A89F1DA58F2F005D7222 /* Fingernails.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546961D295C5300B90302 /* Fingernails.cpp */; }; - 2933A8A01DA58F2F005D7222 /* FirstFret.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546971D295C5300B90302 /* FirstFret.cpp */; }; - 2933A8A11DA58F2F005D7222 /* FirstFretAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546981D295C5300B90302 /* FirstFretAttributes.cpp */; }; - 2933A8A21DA58F2F005D7222 /* Footnote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546991D295C5300B90302 /* Footnote.cpp */; }; - 2933A8A31DA58F2F005D7222 /* FootnoteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469A1D295C5300B90302 /* FootnoteAttributes.cpp */; }; - 2933A8A41DA58F2F005D7222 /* Forward.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469B1D295C5300B90302 /* Forward.cpp */; }; - 2933A8A51DA58F2F005D7222 /* Frame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469C1D295C5300B90302 /* Frame.cpp */; }; - 2933A8A61DA58F2F005D7222 /* FrameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469D1D295C5300B90302 /* FrameAttributes.cpp */; }; - 2933A8A71DA58F2F005D7222 /* FrameFrets.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469E1D295C5300B90302 /* FrameFrets.cpp */; }; - 2933A8A81DA58F2F005D7222 /* FrameNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469F1D295C5300B90302 /* FrameNote.cpp */; }; - 2933A8A91DA58F2F005D7222 /* FrameStrings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A01D295C5300B90302 /* FrameStrings.cpp */; }; - 2933A8AA1DA58F2F005D7222 /* Fret.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A11D295C5300B90302 /* Fret.cpp */; }; - 2933A8AB1DA58F2F005D7222 /* FretAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A21D295C5300B90302 /* FretAttributes.cpp */; }; - 2933A8AC1DA58F2F005D7222 /* FullNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A31D295C5300B90302 /* FullNoteGroup.cpp */; }; - 2933A8AD1DA58F2F005D7222 /* FullNoteTypeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A41D295C5300B90302 /* FullNoteTypeChoice.cpp */; }; - 2933A8AE1DA58F2F005D7222 /* Function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A51D295C5300B90302 /* Function.cpp */; }; - 2933A8AF1DA58F2F005D7222 /* FunctionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A61D295C5300B90302 /* FunctionAttributes.cpp */; }; - 2933A8B01DA58F2F005D7222 /* Glass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A71D295C5300B90302 /* Glass.cpp */; }; - 2933A8B11DA58F2F005D7222 /* Glissando.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A81D295C5300B90302 /* Glissando.cpp */; }; - 2933A8B21DA58F2F005D7222 /* GlissandoAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A91D295C5300B90302 /* GlissandoAttributes.cpp */; }; - 2933A8B31DA58F2F005D7222 /* Grace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AA1D295C5300B90302 /* Grace.cpp */; }; - 2933A8B41DA58F2F005D7222 /* GraceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AB1D295C5300B90302 /* GraceAttributes.cpp */; }; - 2933A8B51DA58F2F005D7222 /* GraceNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AC1D295C5300B90302 /* GraceNoteGroup.cpp */; }; - 2933A8B61DA58F2F005D7222 /* Group.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AD1D295C5300B90302 /* Group.cpp */; }; - 2933A8B71DA58F2F005D7222 /* GroupAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AE1D295C5300B90302 /* GroupAbbreviation.cpp */; }; - 2933A8B81DA58F2F005D7222 /* GroupAbbreviationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AF1D295C5300B90302 /* GroupAbbreviationAttributes.cpp */; }; - 2933A8B91DA58F2F005D7222 /* GroupAbbreviationDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B01D295C5300B90302 /* GroupAbbreviationDisplay.cpp */; }; - 2933A8BA1DA58F2F005D7222 /* GroupAbbreviationDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B11D295C5300B90302 /* GroupAbbreviationDisplayAttributes.cpp */; }; - 2933A8BB1DA58F2F005D7222 /* GroupBarline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B21D295C5300B90302 /* GroupBarline.cpp */; }; - 2933A8BC1DA58F2F005D7222 /* GroupBarlineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B31D295C5300B90302 /* GroupBarlineAttributes.cpp */; }; - 2933A8BD1DA58F2F005D7222 /* Grouping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B41D295C5300B90302 /* Grouping.cpp */; }; - 2933A8BE1DA58F2F005D7222 /* GroupingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B51D295C5300B90302 /* GroupingAttributes.cpp */; }; - 2933A8BF1DA58F2F005D7222 /* GroupName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B61D295C5300B90302 /* GroupName.cpp */; }; - 2933A8C01DA58F2F005D7222 /* GroupNameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B71D295C5300B90302 /* GroupNameAttributes.cpp */; }; - 2933A8C11DA58F2F005D7222 /* GroupNameDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B81D295C5300B90302 /* GroupNameDisplay.cpp */; }; - 2933A8C21DA58F2F005D7222 /* GroupNameDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B91D295C5300B90302 /* GroupNameDisplayAttributes.cpp */; }; - 2933A8C31DA58F2F005D7222 /* GroupSymbol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BA1D295C5300B90302 /* GroupSymbol.cpp */; }; - 2933A8C41DA58F2F005D7222 /* GroupSymbolAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BB1D295C5300B90302 /* GroupSymbolAttributes.cpp */; }; - 2933A8C51DA58F2F005D7222 /* GroupTime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BC1D295C5300B90302 /* GroupTime.cpp */; }; - 2933A8C61DA58F2F005D7222 /* HammerOn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BD1D295C5300B90302 /* HammerOn.cpp */; }; - 2933A8C71DA58F2F005D7222 /* HammerOnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BE1D295C5300B90302 /* HammerOnAttributes.cpp */; }; - 2933A8C81DA58F2F005D7222 /* Handbell.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BF1D295C5300B90302 /* Handbell.cpp */; }; - 2933A8C91DA58F2F005D7222 /* HandbellAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C01D295C5300B90302 /* HandbellAttributes.cpp */; }; - 2933A8CA1DA58F2F005D7222 /* Harmonic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C11D295C5300B90302 /* Harmonic.cpp */; }; - 2933A8CB1DA58F2F005D7222 /* HarmonicAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C21D295C5300B90302 /* HarmonicAttributes.cpp */; }; - 2933A8CC1DA58F2F005D7222 /* HarmonicInfoChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C31D295C5300B90302 /* HarmonicInfoChoice.cpp */; }; - 2933A8CD1DA58F2F005D7222 /* HarmonicTypeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C41D295C5300B90302 /* HarmonicTypeChoice.cpp */; }; - 2933A8CE1DA58F2F005D7222 /* Harmony.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C51D295C5300B90302 /* Harmony.cpp */; }; - 2933A8CF1DA58F2F005D7222 /* HarmonyAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C61D295C5300B90302 /* HarmonyAttributes.cpp */; }; - 2933A8D01DA58F2F005D7222 /* HarmonyChordGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C71D295C5300B90302 /* HarmonyChordGroup.cpp */; }; - 2933A8D11DA58F2F005D7222 /* HarpPedals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C81D295C5300B90302 /* HarpPedals.cpp */; }; - 2933A8D21DA58F2F005D7222 /* HarpPedalsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C91D295C5300B90302 /* HarpPedalsAttributes.cpp */; }; - 2933A8D31DA58F2F005D7222 /* Heel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CA1D295C5300B90302 /* Heel.cpp */; }; - 2933A8D41DA58F2F005D7222 /* HeelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CB1D295C5300B90302 /* HeelAttributes.cpp */; }; - 2933A8D51DA58F2F005D7222 /* Hole.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CC1D295C5300B90302 /* Hole.cpp */; }; - 2933A8D61DA58F2F005D7222 /* HoleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CD1D295C5300B90302 /* HoleAttributes.cpp */; }; - 2933A8D71DA58F2F005D7222 /* HoleClosed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CE1D295C5300B90302 /* HoleClosed.cpp */; }; - 2933A8D81DA58F2F005D7222 /* HoleClosedAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CF1D295C5300B90302 /* HoleClosedAttributes.cpp */; }; - 2933A8D91DA58F2F005D7222 /* HoleShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D01D295C5300B90302 /* HoleShape.cpp */; }; - 2933A8DA1DA58F2F005D7222 /* HoleType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D11D295C5300B90302 /* HoleType.cpp */; }; - 2933A8DB1DA58F2F005D7222 /* Humming.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D21D295C5300B90302 /* Humming.cpp */; }; - 2933A8DC1DA58F2F005D7222 /* Identification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D31D295C5300B90302 /* Identification.cpp */; }; - 2933A8DD1DA58F2F005D7222 /* Image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D41D295C5300B90302 /* Image.cpp */; }; - 2933A8DE1DA58F2F005D7222 /* ImageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D51D295C5300B90302 /* ImageAttributes.cpp */; }; - 2933A8DF1DA58F2F005D7222 /* Instrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D61D295C5300B90302 /* Instrument.cpp */; }; - 2933A8E01DA58F2F005D7222 /* InstrumentAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D71D295C5300B90302 /* InstrumentAbbreviation.cpp */; }; - 2933A8E11DA58F2F005D7222 /* InstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D81D295C5300B90302 /* InstrumentAttributes.cpp */; }; - 2933A8E21DA58F2F005D7222 /* InstrumentName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D91D295C5300B90302 /* InstrumentName.cpp */; }; - 2933A8E31DA58F2F005D7222 /* Instruments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DA1D295C5300B90302 /* Instruments.cpp */; }; - 2933A8E41DA58F2F005D7222 /* InstrumentSound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DB1D295C5300B90302 /* InstrumentSound.cpp */; }; - 2933A8E51DA58F2F005D7222 /* Interchangeable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DC1D295C5300B90302 /* Interchangeable.cpp */; }; - 2933A8E61DA58F2F005D7222 /* InterchangeableAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DD1D295C5300B90302 /* InterchangeableAttributes.cpp */; }; - 2933A8E71DA58F2F005D7222 /* Inversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DE1D295C5300B90302 /* Inversion.cpp */; }; - 2933A8E81DA58F2F005D7222 /* InversionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DF1D295C5300B90302 /* InversionAttributes.cpp */; }; - 2933A8E91DA58F2F005D7222 /* InvertedMordent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E01D295C5300B90302 /* InvertedMordent.cpp */; }; - 2933A8EA1DA58F2F005D7222 /* InvertedMordentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E11D295C5300B90302 /* InvertedMordentAttributes.cpp */; }; - 2933A8EB1DA58F2F005D7222 /* InvertedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E21D295C5300B90302 /* InvertedTurn.cpp */; }; - 2933A8EC1DA58F2F005D7222 /* InvertedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E31D295C5300B90302 /* InvertedTurnAttributes.cpp */; }; - 2933A8ED1DA58F2F005D7222 /* Ipa.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E41D295C5300B90302 /* Ipa.cpp */; }; - 2933A8EE1DA58F2F005D7222 /* Key.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E51D295C5300B90302 /* Key.cpp */; }; - 2933A8EF1DA58F2F005D7222 /* KeyAccidental.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E61D295C5300B90302 /* KeyAccidental.cpp */; }; - 2933A8F01DA58F2F005D7222 /* KeyAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E71D295C5300B90302 /* KeyAlter.cpp */; }; - 2933A8F11DA58F2F005D7222 /* KeyAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E81D295C5300B90302 /* KeyAttributes.cpp */; }; - 2933A8F21DA58F2F005D7222 /* KeyChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E91D295C5300B90302 /* KeyChoice.cpp */; }; - 2933A8F31DA58F2F005D7222 /* KeyOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EA1D295C5300B90302 /* KeyOctave.cpp */; }; - 2933A8F41DA58F2F005D7222 /* KeyOctaveAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EB1D295C5300B90302 /* KeyOctaveAttributes.cpp */; }; - 2933A8F51DA58F2F005D7222 /* KeyStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EC1D295C5300B90302 /* KeyStep.cpp */; }; - 2933A8F61DA58F2F005D7222 /* Kind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546ED1D295C5300B90302 /* Kind.cpp */; }; - 2933A8F71DA58F2F005D7222 /* KindAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EE1D295C5300B90302 /* KindAttributes.cpp */; }; - 2933A8F81DA58F2F005D7222 /* Laughing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EF1D295C5300B90302 /* Laughing.cpp */; }; - 2933A8F91DA58F2F005D7222 /* LayoutGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F01D295C5300B90302 /* LayoutGroup.cpp */; }; - 2933A8FA1DA58F2F005D7222 /* LeftDivider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F11D295C5300B90302 /* LeftDivider.cpp */; }; - 2933A8FB1DA58F2F005D7222 /* LeftMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F21D295C5300B90302 /* LeftMargin.cpp */; }; - 2933A8FC1DA58F2F005D7222 /* Level.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F31D295C5300B90302 /* Level.cpp */; }; - 2933A8FD1DA58F2F005D7222 /* LevelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F41D295C5300B90302 /* LevelAttributes.cpp */; }; - 2933A8FE1DA58F2F005D7222 /* Line.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F51D295C5300B90302 /* Line.cpp */; }; - 2933A8FF1DA58F2F005D7222 /* LineWidth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F61D295C5300B90302 /* LineWidth.cpp */; }; - 2933A9001DA58F2F005D7222 /* LineWidthAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F71D295C5300B90302 /* LineWidthAttributes.cpp */; }; - 2933A9011DA58F2F005D7222 /* Link.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F81D295C5300B90302 /* Link.cpp */; }; - 2933A9021DA58F2F005D7222 /* LinkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F91D295C5300B90302 /* LinkAttributes.cpp */; }; - 2933A9031DA58F2F005D7222 /* Lyric.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FA1D295C5300B90302 /* Lyric.cpp */; }; - 2933A9041DA58F2F005D7222 /* LyricAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FB1D295C5300B90302 /* LyricAttributes.cpp */; }; - 2933A9051DA58F2F005D7222 /* LyricFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FC1D295C5300B90302 /* LyricFont.cpp */; }; - 2933A9061DA58F2F005D7222 /* LyricFontAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FD1D295C5300B90302 /* LyricFontAttributes.cpp */; }; - 2933A9071DA58F2F005D7222 /* LyricLanguage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FE1D295C5300B90302 /* LyricLanguage.cpp */; }; - 2933A9081DA58F2F005D7222 /* LyricLanguageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FF1D295C5300B90302 /* LyricLanguageAttributes.cpp */; }; - 2933A9091DA58F2F005D7222 /* LyricTextChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547001D295C5300B90302 /* LyricTextChoice.cpp */; }; - 2933A90A1DA58F2F005D7222 /* MeasureAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547011D295C5300B90302 /* MeasureAttributes.cpp */; }; - 2933A90B1DA58F2F005D7222 /* MeasureDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547021D295C5300B90302 /* MeasureDistance.cpp */; }; - 2933A90C1DA58F2F005D7222 /* MeasureLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547031D295C5300B90302 /* MeasureLayout.cpp */; }; - 2933A90D1DA58F2F005D7222 /* MeasureNumbering.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547041D295C5300B90302 /* MeasureNumbering.cpp */; }; - 2933A90E1DA58F2F005D7222 /* MeasureNumberingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547051D295C5300B90302 /* MeasureNumberingAttributes.cpp */; }; - 2933A90F1DA58F2F005D7222 /* MeasureRepeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547061D295C5300B90302 /* MeasureRepeat.cpp */; }; - 2933A9101DA58F2F005D7222 /* MeasureRepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547071D295C5300B90302 /* MeasureRepeatAttributes.cpp */; }; - 2933A9111DA58F2F005D7222 /* MeasureStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547081D295C5300B90302 /* MeasureStyle.cpp */; }; - 2933A9121DA58F2F005D7222 /* MeasureStyleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547091D295C5300B90302 /* MeasureStyleAttributes.cpp */; }; - 2933A9131DA58F2F005D7222 /* MeasureStyleChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470A1D295C5300B90302 /* MeasureStyleChoice.cpp */; }; - 2933A9141DA58F2F005D7222 /* Membrane.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470B1D295C5300B90302 /* Membrane.cpp */; }; - 2933A9151DA58F2F005D7222 /* Metal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470C1D295C5300B90302 /* Metal.cpp */; }; - 2933A9161DA58F2F005D7222 /* Metronome.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470D1D295C5300B90302 /* Metronome.cpp */; }; - 2933A9171DA58F2F005D7222 /* MetronomeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470E1D295C5300B90302 /* MetronomeAttributes.cpp */; }; - 2933A9181DA58F2F005D7222 /* MetronomeBeam.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470F1D295C5300B90302 /* MetronomeBeam.cpp */; }; - 2933A9191DA58F2F005D7222 /* MetronomeBeamAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547101D295C5300B90302 /* MetronomeBeamAttributes.cpp */; }; - 2933A91A1DA58F2F005D7222 /* MetronomeDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547111D295C5300B90302 /* MetronomeDot.cpp */; }; - 2933A91B1DA58F2F005D7222 /* MetronomeNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547121D295C5300B90302 /* MetronomeNote.cpp */; }; - 2933A91C1DA58F2F005D7222 /* MetronomeRelation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547131D295C5300B90302 /* MetronomeRelation.cpp */; }; - 2933A91D1DA58F2F005D7222 /* MetronomeRelationGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547141D295C5300B90302 /* MetronomeRelationGroup.cpp */; }; - 2933A91E1DA58F2F005D7222 /* MetronomeTuplet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547151D295C5300B90302 /* MetronomeTuplet.cpp */; }; - 2933A91F1DA58F2F005D7222 /* MetronomeTupletAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547161D295C5300B90302 /* MetronomeTupletAttributes.cpp */; }; - 2933A9201DA58F2F005D7222 /* MetronomeType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547171D295C5300B90302 /* MetronomeType.cpp */; }; - 2933A9211DA58F2F005D7222 /* MidiBank.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547181D295C5300B90302 /* MidiBank.cpp */; }; - 2933A9221DA58F2F005D7222 /* MidiChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547191D295C5300B90302 /* MidiChannel.cpp */; }; - 2933A9231DA58F2F005D7222 /* MidiDevice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471A1D295C5300B90302 /* MidiDevice.cpp */; }; - 2933A9241DA58F2F005D7222 /* MidiDeviceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471B1D295C5300B90302 /* MidiDeviceAttributes.cpp */; }; - 2933A9251DA58F2F005D7222 /* MidiDeviceInstrumentGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471C1D295C5300B90302 /* MidiDeviceInstrumentGroup.cpp */; }; - 2933A9261DA58F2F005D7222 /* MidiInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471D1D295C5300B90302 /* MidiInstrument.cpp */; }; - 2933A9271DA58F2F005D7222 /* MidiInstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471E1D295C5300B90302 /* MidiInstrumentAttributes.cpp */; }; - 2933A9281DA58F2F005D7222 /* MidiName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471F1D295C5300B90302 /* MidiName.cpp */; }; - 2933A9291DA58F2F005D7222 /* MidiProgram.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547201D295C5300B90302 /* MidiProgram.cpp */; }; - 2933A92A1DA58F2F005D7222 /* MidiUnpitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547211D295C5300B90302 /* MidiUnpitched.cpp */; }; - 2933A92B1DA58F2F005D7222 /* Millimeters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547221D295C5300B90302 /* Millimeters.cpp */; }; - 2933A92C1DA58F2F005D7222 /* Miscellaneous.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547231D295C5300B90302 /* Miscellaneous.cpp */; }; - 2933A92D1DA58F2F005D7222 /* MiscellaneousField.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547241D295C5300B90302 /* MiscellaneousField.cpp */; }; - 2933A92E1DA58F2F005D7222 /* MiscellaneousFieldAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547251D295C5300B90302 /* MiscellaneousFieldAttributes.cpp */; }; - 2933A92F1DA58F2F005D7222 /* Mode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547261D295C5300B90302 /* Mode.cpp */; }; - 2933A9301DA58F2F005D7222 /* Mordent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547271D295C5300B90302 /* Mordent.cpp */; }; - 2933A9311DA58F2F005D7222 /* MordentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547281D295C5300B90302 /* MordentAttributes.cpp */; }; - 2933A9321DA58F2F005D7222 /* MovementNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547291D295C5300B90302 /* MovementNumber.cpp */; }; - 2933A9331DA58F2F005D7222 /* MovementTitle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472A1D295C5300B90302 /* MovementTitle.cpp */; }; - 2933A9341DA58F2F005D7222 /* MultipleRest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472B1D295C5300B90302 /* MultipleRest.cpp */; }; - 2933A9351DA58F2F005D7222 /* MultipleRestAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472C1D295C5400B90302 /* MultipleRestAttributes.cpp */; }; - 2933A9361DA58F2F005D7222 /* MusicDataChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472D1D295C5400B90302 /* MusicDataChoice.cpp */; }; - 2933A9371DA58F2F005D7222 /* MusicDataGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472E1D295C5400B90302 /* MusicDataGroup.cpp */; }; - 2933A9381DA58F2F005D7222 /* MusicFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472F1D295C5400B90302 /* MusicFont.cpp */; }; - 2933A9391DA58F2F005D7222 /* Mute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547301D295C5400B90302 /* Mute.cpp */; }; - 2933A93A1DA58F2F005D7222 /* Natural.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547311D295C5400B90302 /* Natural.cpp */; }; - 2933A93B1DA58F2F005D7222 /* NonArpeggiate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547321D295C5400B90302 /* NonArpeggiate.cpp */; }; - 2933A93C1DA58F2F005D7222 /* NonArpeggiateAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547331D295C5400B90302 /* NonArpeggiateAttributes.cpp */; }; - 2933A93D1DA58F2F005D7222 /* NonTraditionalKey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547341D295C5400B90302 /* NonTraditionalKey.cpp */; }; - 2933A93E1DA58F2F005D7222 /* NormalDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547351D295C5400B90302 /* NormalDot.cpp */; }; - 2933A93F1DA58F2F005D7222 /* NormalNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547361D295C5400B90302 /* NormalNoteGroup.cpp */; }; - 2933A9401DA58F2F005D7222 /* NormalNotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547371D295C5400B90302 /* NormalNotes.cpp */; }; - 2933A9411DA58F2F005D7222 /* NormalType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547381D295C5400B90302 /* NormalType.cpp */; }; - 2933A9421DA58F2F005D7222 /* NormalTypeNormalDotGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547391D295C5400B90302 /* NormalTypeNormalDotGroup.cpp */; }; - 2933A9431DA58F2F005D7222 /* Notations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473A1D295C5400B90302 /* Notations.cpp */; }; - 2933A9441DA58F2F005D7222 /* NotationsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473B1D295C5400B90302 /* NotationsAttributes.cpp */; }; - 2933A9451DA58F2F005D7222 /* NotationsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473C1D295C5400B90302 /* NotationsChoice.cpp */; }; - 2933A9461DA58F2F005D7222 /* Note.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473D1D295C5400B90302 /* Note.cpp */; }; - 2933A9471DA58F2F005D7222 /* NoteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473E1D295C5400B90302 /* NoteAttributes.cpp */; }; - 2933A9481DA58F2F005D7222 /* NoteChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473F1D295C5400B90302 /* NoteChoice.cpp */; }; - 2933A9491DA58F2F005D7222 /* Notehead.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547401D295C5400B90302 /* Notehead.cpp */; }; - 2933A94A1DA58F2F005D7222 /* NoteheadAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547411D295C5400B90302 /* NoteheadAttributes.cpp */; }; - 2933A94B1DA58F2F005D7222 /* NoteheadText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547421D295C5400B90302 /* NoteheadText.cpp */; }; - 2933A94C1DA58F2F005D7222 /* NoteheadTextChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 295C49361D2CB41E0015E349 /* NoteheadTextChoice.cpp */; }; - 2933A94D1DA58F2F005D7222 /* NoteRelationNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547431D295C5400B90302 /* NoteRelationNote.cpp */; }; - 2933A94E1DA58F2F005D7222 /* NoteSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547441D295C5400B90302 /* NoteSize.cpp */; }; - 2933A94F1DA58F2F005D7222 /* NoteSizeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547451D295C5400B90302 /* NoteSizeAttributes.cpp */; }; - 2933A9501DA58F2F005D7222 /* Octave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547461D295C5400B90302 /* Octave.cpp */; }; - 2933A9511DA58F2F005D7222 /* OctaveChange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547471D295C5400B90302 /* OctaveChange.cpp */; }; - 2933A9521DA58F2F005D7222 /* OctaveShift.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547481D295C5400B90302 /* OctaveShift.cpp */; }; - 2933A9531DA58F2F005D7222 /* OctaveShiftAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547491D295C5400B90302 /* OctaveShiftAttributes.cpp */; }; - 2933A9541DA58F30005D7222 /* Offset.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474A1D295C5400B90302 /* Offset.cpp */; }; - 2933A9551DA58F30005D7222 /* OffsetAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474B1D295C5400B90302 /* OffsetAttributes.cpp */; }; - 2933A9561DA58F30005D7222 /* OpenString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474C1D295C5400B90302 /* OpenString.cpp */; }; - 2933A9571DA58F30005D7222 /* Opus.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474D1D295C5400B90302 /* Opus.cpp */; }; - 2933A9581DA58F30005D7222 /* OpusAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474E1D295C5400B90302 /* OpusAttributes.cpp */; }; - 2933A9591DA58F30005D7222 /* Ornaments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474F1D295C5400B90302 /* Ornaments.cpp */; }; - 2933A95A1DA58F30005D7222 /* OrnamentsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547501D295C5400B90302 /* OrnamentsChoice.cpp */; }; - 2933A95B1DA58F30005D7222 /* OtherAppearance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547511D295C5400B90302 /* OtherAppearance.cpp */; }; - 2933A95C1DA58F30005D7222 /* OtherAppearanceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547521D295C5400B90302 /* OtherAppearanceAttributes.cpp */; }; - 2933A95D1DA58F30005D7222 /* OtherArticulation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547531D295C5400B90302 /* OtherArticulation.cpp */; }; - 2933A95E1DA58F30005D7222 /* OtherArticulationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547541D295C5400B90302 /* OtherArticulationAttributes.cpp */; }; - 2933A95F1DA58F30005D7222 /* OtherDirection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547551D295C5400B90302 /* OtherDirection.cpp */; }; - 2933A9601DA58F30005D7222 /* OtherDirectionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547561D295C5400B90302 /* OtherDirectionAttributes.cpp */; }; - 2933A9611DA58F30005D7222 /* OtherNotation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547571D295C5400B90302 /* OtherNotation.cpp */; }; - 2933A9621DA58F30005D7222 /* OtherNotationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547581D295C5400B90302 /* OtherNotationAttributes.cpp */; }; - 2933A9631DA58F30005D7222 /* OtherOrnament.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547591D295C5400B90302 /* OtherOrnament.cpp */; }; - 2933A9641DA58F30005D7222 /* OtherOrnamentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475A1D295C5400B90302 /* OtherOrnamentAttributes.cpp */; }; - 2933A9651DA58F30005D7222 /* OtherPercussion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475B1D295C5400B90302 /* OtherPercussion.cpp */; }; - 2933A9661DA58F30005D7222 /* OtherPlay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475C1D295C5400B90302 /* OtherPlay.cpp */; }; - 2933A9671DA58F30005D7222 /* OtherPlayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475D1D295C5400B90302 /* OtherPlayAttributes.cpp */; }; - 2933A9681DA58F30005D7222 /* OtherTechnical.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475E1D295C5400B90302 /* OtherTechnical.cpp */; }; - 2933A9691DA58F30005D7222 /* OtherTechnicalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475F1D295C5400B90302 /* OtherTechnicalAttributes.cpp */; }; - 2933A96A1DA58F30005D7222 /* PageHeight.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547601D295C5400B90302 /* PageHeight.cpp */; }; - 2933A96B1DA58F30005D7222 /* PageLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547611D295C5400B90302 /* PageLayout.cpp */; }; - 2933A96C1DA58F30005D7222 /* PageMargins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547621D295C5400B90302 /* PageMargins.cpp */; }; - 2933A96D1DA58F30005D7222 /* PageMarginsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547631D295C5400B90302 /* PageMarginsAttributes.cpp */; }; - 2933A96E1DA58F30005D7222 /* PageWidth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547641D295C5400B90302 /* PageWidth.cpp */; }; - 2933A96F1DA58F30005D7222 /* Pan.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547651D295C5400B90302 /* Pan.cpp */; }; - 2933A9701DA58F30005D7222 /* PartAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547661D295C5400B90302 /* PartAbbreviation.cpp */; }; - 2933A9711DA58F30005D7222 /* PartAbbreviationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547671D295C5400B90302 /* PartAbbreviationAttributes.cpp */; }; - 2933A9721DA58F30005D7222 /* PartAbbreviationDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547681D295C5400B90302 /* PartAbbreviationDisplay.cpp */; }; - 2933A9731DA58F30005D7222 /* PartAbbreviationDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547691D295C5400B90302 /* PartAbbreviationDisplayAttributes.cpp */; }; - 2933A9741DA58F30005D7222 /* PartAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476A1D295C5400B90302 /* PartAttributes.cpp */; }; - 2933A9751DA58F30005D7222 /* PartGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476B1D295C5400B90302 /* PartGroup.cpp */; }; - 2933A9761DA58F30005D7222 /* PartGroupAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476C1D295C5400B90302 /* PartGroupAttributes.cpp */; }; - 2933A9771DA58F30005D7222 /* PartGroupOrScorePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476D1D295C5400B90302 /* PartGroupOrScorePart.cpp */; }; - 2933A9781DA58F30005D7222 /* PartList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476E1D295C5400B90302 /* PartList.cpp */; }; - 2933A9791DA58F30005D7222 /* PartName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476F1D295C5400B90302 /* PartName.cpp */; }; - 2933A97A1DA58F30005D7222 /* PartNameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547701D295C5400B90302 /* PartNameAttributes.cpp */; }; - 2933A97B1DA58F30005D7222 /* PartNameDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547711D295C5400B90302 /* PartNameDisplay.cpp */; }; - 2933A97C1DA58F30005D7222 /* PartNameDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547721D295C5400B90302 /* PartNameDisplayAttributes.cpp */; }; - 2933A97D1DA58F30005D7222 /* PartSymbol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547731D295C5400B90302 /* PartSymbol.cpp */; }; - 2933A97E1DA58F30005D7222 /* PartSymbolAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547741D295C5400B90302 /* PartSymbolAttributes.cpp */; }; - 2933A97F1DA58F30005D7222 /* PartwiseMeasure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547751D295C5400B90302 /* PartwiseMeasure.cpp */; }; - 2933A9801DA58F30005D7222 /* PartwisePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547761D295C5400B90302 /* PartwisePart.cpp */; }; - 2933A9811DA58F30005D7222 /* Pedal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547771D295C5400B90302 /* Pedal.cpp */; }; - 2933A9821DA58F30005D7222 /* PedalAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547781D295C5400B90302 /* PedalAlter.cpp */; }; - 2933A9831DA58F30005D7222 /* PedalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547791D295C5400B90302 /* PedalAttributes.cpp */; }; - 2933A9841DA58F30005D7222 /* PedalStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477A1D295C5400B90302 /* PedalStep.cpp */; }; - 2933A9851DA58F30005D7222 /* PedalTuning.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477B1D295C5400B90302 /* PedalTuning.cpp */; }; - 2933A9861DA58F30005D7222 /* Percussion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477C1D295C5400B90302 /* Percussion.cpp */; }; - 2933A9871DA58F30005D7222 /* PercussionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477D1D295C5400B90302 /* PercussionAttributes.cpp */; }; - 2933A9881DA58F30005D7222 /* PercussionChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477E1D295C5400B90302 /* PercussionChoice.cpp */; }; - 2933A9891DA58F30005D7222 /* PerMinute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477F1D295C5400B90302 /* PerMinute.cpp */; }; - 2933A98A1DA58F30005D7222 /* PerMinuteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547801D295C5400B90302 /* PerMinuteAttributes.cpp */; }; - 2933A98B1DA58F30005D7222 /* PerMinuteOrBeatUnitChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547811D295C5400B90302 /* PerMinuteOrBeatUnitChoice.cpp */; }; - 2933A98C1DA58F30005D7222 /* Pitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547821D295C5400B90302 /* Pitch.cpp */; }; - 2933A98D1DA58F30005D7222 /* Pitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547831D295C5400B90302 /* Pitched.cpp */; }; - 2933A98E1DA58F30005D7222 /* Play.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547841D295C5400B90302 /* Play.cpp */; }; - 2933A98F1DA58F30005D7222 /* PlayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547851D295C5400B90302 /* PlayAttributes.cpp */; }; - 2933A9901DA58F30005D7222 /* Plop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547861D295C5400B90302 /* Plop.cpp */; }; - 2933A9911DA58F30005D7222 /* Pluck.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547871D295C5400B90302 /* Pluck.cpp */; }; - 2933A9921DA58F30005D7222 /* PluckAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547881D295C5400B90302 /* PluckAttributes.cpp */; }; - 2933A9931DA58F30005D7222 /* PreBend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547891D295C5400B90302 /* PreBend.cpp */; }; - 2933A9941DA58F30005D7222 /* Prefix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478A1D295C5400B90302 /* Prefix.cpp */; }; - 2933A9951DA58F30005D7222 /* PrefixAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478B1D295C5400B90302 /* PrefixAttributes.cpp */; }; - 2933A9961DA58F30005D7222 /* PrincipalVoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478C1D295C5400B90302 /* PrincipalVoice.cpp */; }; - 2933A9971DA58F30005D7222 /* PrincipalVoiceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478D1D295C5400B90302 /* PrincipalVoiceAttributes.cpp */; }; - 2933A9981DA58F30005D7222 /* Print.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478E1D295C5400B90302 /* Print.cpp */; }; - 2933A9991DA58F30005D7222 /* PrintAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478F1D295C5400B90302 /* PrintAttributes.cpp */; }; - 2933A99A1DA58F30005D7222 /* Properties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547901D295C5400B90302 /* Properties.cpp */; }; - 2933A99B1DA58F30005D7222 /* PullOff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547911D295C5400B90302 /* PullOff.cpp */; }; - 2933A99C1DA58F30005D7222 /* PullOffAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547921D295C5400B90302 /* PullOffAttributes.cpp */; }; - 2933A99D1DA58F30005D7222 /* Rehearsal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547931D295C5400B90302 /* Rehearsal.cpp */; }; - 2933A99E1DA58F30005D7222 /* RehearsalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547941D295C5400B90302 /* RehearsalAttributes.cpp */; }; - 2933A99F1DA58F30005D7222 /* Relation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547951D295C5400B90302 /* Relation.cpp */; }; - 2933A9A01DA58F30005D7222 /* RelationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547961D295C5400B90302 /* RelationAttributes.cpp */; }; - 2933A9A11DA58F30005D7222 /* Release.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547971D295C5400B90302 /* Release.cpp */; }; - 2933A9A21DA58F30005D7222 /* Repeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547981D295C5400B90302 /* Repeat.cpp */; }; - 2933A9A31DA58F30005D7222 /* RepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547991D295C5400B90302 /* RepeatAttributes.cpp */; }; - 2933A9A41DA58F30005D7222 /* Rest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479A1D295C5400B90302 /* Rest.cpp */; }; - 2933A9A51DA58F30005D7222 /* RestAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479B1D295C5400B90302 /* RestAttributes.cpp */; }; - 2933A9A61DA58F30005D7222 /* RightDivider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479C1D295C5400B90302 /* RightDivider.cpp */; }; - 2933A9A71DA58F30005D7222 /* RightMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479D1D295C5400B90302 /* RightMargin.cpp */; }; - 2933A9A81DA58F30005D7222 /* Rights.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479E1D295C5400B90302 /* Rights.cpp */; }; - 2933A9A91DA58F30005D7222 /* RightsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479F1D295C5400B90302 /* RightsAttributes.cpp */; }; - 2933A9AA1DA58F30005D7222 /* Root.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A01D295C5400B90302 /* Root.cpp */; }; - 2933A9AB1DA58F30005D7222 /* RootAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A11D295C5400B90302 /* RootAlter.cpp */; }; - 2933A9AC1DA58F30005D7222 /* RootAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A21D295C5400B90302 /* RootAlterAttributes.cpp */; }; - 2933A9AD1DA58F30005D7222 /* RootStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A31D295C5400B90302 /* RootStep.cpp */; }; - 2933A9AE1DA58F30005D7222 /* RootStepAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A41D295C5400B90302 /* RootStepAttributes.cpp */; }; - 2933A9AF1DA58F30005D7222 /* Scaling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A51D295C5400B90302 /* Scaling.cpp */; }; - 2933A9B01DA58F30005D7222 /* Schleifer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A61D295C5400B90302 /* Schleifer.cpp */; }; - 2933A9B11DA58F30005D7222 /* Scoop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A71D295C5400B90302 /* Scoop.cpp */; }; - 2933A9B21DA58F30005D7222 /* Scordatura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A81D295C5400B90302 /* Scordatura.cpp */; }; - 2933A9B31DA58F30005D7222 /* ScoreHeaderGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A91D295C5400B90302 /* ScoreHeaderGroup.cpp */; }; - 2933A9B41DA58F30005D7222 /* ScoreInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AA1D295C5400B90302 /* ScoreInstrument.cpp */; }; - 2933A9B51DA58F30005D7222 /* ScoreInstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AB1D295C5400B90302 /* ScoreInstrumentAttributes.cpp */; }; - 2933A9B61DA58F30005D7222 /* ScorePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AC1D295C5400B90302 /* ScorePart.cpp */; }; - 2933A9B71DA58F30005D7222 /* ScorePartAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AD1D295C5400B90302 /* ScorePartAttributes.cpp */; }; - 2933A9B81DA58F30005D7222 /* ScorePartwise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AE1D295C5400B90302 /* ScorePartwise.cpp */; }; - 2933A9B91DA58F30005D7222 /* ScorePartwiseAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AF1D295C5400B90302 /* ScorePartwiseAttributes.cpp */; }; - 2933A9BA1DA58F30005D7222 /* ScoreTimewise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B01D295C5400B90302 /* ScoreTimewise.cpp */; }; - 2933A9BB1DA58F30005D7222 /* ScoreTimewiseAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B11D295C5400B90302 /* ScoreTimewiseAttributes.cpp */; }; - 2933A9BC1DA58F30005D7222 /* Segno.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B21D295C5400B90302 /* Segno.cpp */; }; - 2933A9BD1DA58F30005D7222 /* SemiPitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B31D295C5400B90302 /* SemiPitched.cpp */; }; - 2933A9BE1DA58F30005D7222 /* SenzaMisura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B41D295C5400B90302 /* SenzaMisura.cpp */; }; - 2933A9BF1DA58F30005D7222 /* Shake.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B51D295C5400B90302 /* Shake.cpp */; }; - 2933A9C01DA58F30005D7222 /* Sign.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B61D295C5400B90302 /* Sign.cpp */; }; - 2933A9C11DA58F30005D7222 /* Slash.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B71D295C5400B90302 /* Slash.cpp */; }; - 2933A9C21DA58F30005D7222 /* SlashAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B81D295C5400B90302 /* SlashAttributes.cpp */; }; - 2933A9C31DA58F30005D7222 /* SlashDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B91D295C5400B90302 /* SlashDot.cpp */; }; - 2933A9C41DA58F30005D7222 /* SlashType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BA1D295C5400B90302 /* SlashType.cpp */; }; - 2933A9C51DA58F30005D7222 /* Slide.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BB1D295C5400B90302 /* Slide.cpp */; }; - 2933A9C61DA58F30005D7222 /* SlideAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BC1D295C5400B90302 /* SlideAttributes.cpp */; }; - 2933A9C71DA58F30005D7222 /* Slur.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BD1D295C5400B90302 /* Slur.cpp */; }; - 2933A9C81DA58F30005D7222 /* SlurAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BE1D295C5400B90302 /* SlurAttributes.cpp */; }; - 2933A9C91DA58F30005D7222 /* SnapPizzicato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BF1D295C5400B90302 /* SnapPizzicato.cpp */; }; - 2933A9CA1DA58F30005D7222 /* Software.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C01D295C5400B90302 /* Software.cpp */; }; - 2933A9CB1DA58F30005D7222 /* Solo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C11D295C5400B90302 /* Solo.cpp */; }; - 2933A9CC1DA58F30005D7222 /* SoloOrEnsembleChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C21D295C5400B90302 /* SoloOrEnsembleChoice.cpp */; }; - 2933A9CD1DA58F30005D7222 /* Sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C31D295C5400B90302 /* Sound.cpp */; }; - 2933A9CE1DA58F30005D7222 /* SoundAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C41D295C5400B90302 /* SoundAttributes.cpp */; }; - 2933A9CF1DA58F30005D7222 /* SoundingPitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C51D295C5400B90302 /* SoundingPitch.cpp */; }; - 2933A9D01DA58F30005D7222 /* Source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C61D295C5400B90302 /* Source.cpp */; }; - 2933A9D11DA58F30005D7222 /* Spiccato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C71D295C5400B90302 /* Spiccato.cpp */; }; - 2933A9D21DA58F30005D7222 /* Staccatissimo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C81D295C5400B90302 /* Staccatissimo.cpp */; }; - 2933A9D31DA58F30005D7222 /* Staccato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C91D295C5400B90302 /* Staccato.cpp */; }; - 2933A9D41DA58F30005D7222 /* Staff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CA1D295C5400B90302 /* Staff.cpp */; }; - 2933A9D51DA58F30005D7222 /* StaffDetails.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CB1D295C5400B90302 /* StaffDetails.cpp */; }; - 2933A9D61DA58F30005D7222 /* StaffDetailsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CC1D295C5400B90302 /* StaffDetailsAttributes.cpp */; }; - 2933A9D71DA58F30005D7222 /* StaffDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CD1D295C5400B90302 /* StaffDistance.cpp */; }; - 2933A9D81DA58F30005D7222 /* StaffLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CE1D295C5400B90302 /* StaffLayout.cpp */; }; - 2933A9D91DA58F30005D7222 /* StaffLayoutAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CF1D295C5400B90302 /* StaffLayoutAttributes.cpp */; }; - 2933A9DA1DA58F30005D7222 /* StaffLines.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D01D295C5400B90302 /* StaffLines.cpp */; }; - 2933A9DB1DA58F30005D7222 /* StaffSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D11D295C5400B90302 /* StaffSize.cpp */; }; - 2933A9DC1DA58F30005D7222 /* StaffTuning.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D21D295C5400B90302 /* StaffTuning.cpp */; }; - 2933A9DD1DA58F30005D7222 /* StaffTuningAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D31D295C5400B90302 /* StaffTuningAttributes.cpp */; }; - 2933A9DE1DA58F30005D7222 /* StaffType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D41D295C5400B90302 /* StaffType.cpp */; }; - 2933A9DF1DA58F30005D7222 /* Staves.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D51D295C5400B90302 /* Staves.cpp */; }; - 2933A9E01DA58F30005D7222 /* Stem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D61D295C5400B90302 /* Stem.cpp */; }; - 2933A9E11DA58F30005D7222 /* StemAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D71D295C5400B90302 /* StemAttributes.cpp */; }; - 2933A9E21DA58F30005D7222 /* Step.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D81D295C5400B90302 /* Step.cpp */; }; - 2933A9E31DA58F30005D7222 /* Stick.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D91D295C5400B90302 /* Stick.cpp */; }; - 2933A9E41DA58F30005D7222 /* StickAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DA1D295C5400B90302 /* StickAttributes.cpp */; }; - 2933A9E51DA58F30005D7222 /* StickLocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DB1D295C5400B90302 /* StickLocation.cpp */; }; - 2933A9E61DA58F30005D7222 /* StickMaterial.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DC1D295C5400B90302 /* StickMaterial.cpp */; }; - 2933A9E71DA58F30005D7222 /* StickType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DD1D295C5400B90302 /* StickType.cpp */; }; - 2933A9E81DA58F30005D7222 /* Stopped.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DE1D295C5400B90302 /* Stopped.cpp */; }; - 2933A9E91DA58F30005D7222 /* Stress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DF1D295C5400B90302 /* Stress.cpp */; }; - 2933A9EA1DA58F30005D7222 /* String.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E01D295C5400B90302 /* String.cpp */; }; - 2933A9EB1DA58F30005D7222 /* StringAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E11D295C5400B90302 /* StringAttributes.cpp */; }; - 2933A9EC1DA58F30005D7222 /* StringMute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E21D295C5400B90302 /* StringMute.cpp */; }; - 2933A9ED1DA58F30005D7222 /* StringMuteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E31D295C5400B90302 /* StringMuteAttributes.cpp */; }; - 2933A9EE1DA58F30005D7222 /* StrongAccent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E41D295C5400B90302 /* StrongAccent.cpp */; }; - 2933A9EF1DA58F30005D7222 /* StrongAccentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E51D295C5400B90302 /* StrongAccentAttributes.cpp */; }; - 2933A9F01DA58F30005D7222 /* Suffix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E61D295C5400B90302 /* Suffix.cpp */; }; - 2933A9F11DA58F30005D7222 /* SuffixAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E71D295C5400B90302 /* SuffixAttributes.cpp */; }; - 2933A9F21DA58F30005D7222 /* Supports.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E81D295C5400B90302 /* Supports.cpp */; }; - 2933A9F31DA58F30005D7222 /* SupportsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E91D295C5400B90302 /* SupportsAttributes.cpp */; }; - 2933A9F41DA58F30005D7222 /* Syllabic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EA1D295C5400B90302 /* Syllabic.cpp */; }; - 2933A9F51DA58F30005D7222 /* SyllabicTextGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EB1D295C5400B90302 /* SyllabicTextGroup.cpp */; }; - 2933A9F61DA58F30005D7222 /* SystemDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EC1D295C5400B90302 /* SystemDistance.cpp */; }; - 2933A9F71DA58F30005D7222 /* SystemDividers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547ED1D295C5400B90302 /* SystemDividers.cpp */; }; - 2933A9F81DA58F30005D7222 /* SystemLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EE1D295C5400B90302 /* SystemLayout.cpp */; }; - 2933A9F91DA58F30005D7222 /* SystemMargins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EF1D295C5400B90302 /* SystemMargins.cpp */; }; - 2933A9FA1DA58F30005D7222 /* Tap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F01D295C5400B90302 /* Tap.cpp */; }; - 2933A9FB1DA58F30005D7222 /* TapAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F11D295C5400B90302 /* TapAttributes.cpp */; }; - 2933A9FC1DA58F30005D7222 /* Technical.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F21D295C5400B90302 /* Technical.cpp */; }; - 2933A9FD1DA58F30005D7222 /* TechnicalChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F31D295C5400B90302 /* TechnicalChoice.cpp */; }; - 2933A9FE1DA58F30005D7222 /* Tenths.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F41D295C5400B90302 /* Tenths.cpp */; }; - 2933A9FF1DA58F30005D7222 /* Tenuto.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F51D295C5400B90302 /* Tenuto.cpp */; }; - 2933AA001DA58F30005D7222 /* Text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F61D295C5400B90302 /* Text.cpp */; }; - 2933AA011DA58F30005D7222 /* TextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F71D295C5400B90302 /* TextAttributes.cpp */; }; - 2933AA021DA58F30005D7222 /* ThumbPosition.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F81D295C5400B90302 /* ThumbPosition.cpp */; }; - 2933AA031DA58F30005D7222 /* Tie.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F91D295C5400B90302 /* Tie.cpp */; }; - 2933AA041DA58F30005D7222 /* TieAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FA1D295C5400B90302 /* TieAttributes.cpp */; }; - 2933AA051DA58F30005D7222 /* Tied.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FB1D295C5400B90302 /* Tied.cpp */; }; - 2933AA061DA58F30005D7222 /* TiedAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FC1D295C5400B90302 /* TiedAttributes.cpp */; }; - 2933AA071DA58F30005D7222 /* Time.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FD1D295C5400B90302 /* Time.cpp */; }; - 2933AA081DA58F30005D7222 /* TimeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FE1D295C5400B90302 /* TimeAttributes.cpp */; }; - 2933AA091DA58F30005D7222 /* TimeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FF1D295C5400B90302 /* TimeChoice.cpp */; }; - 2933AA0A1DA58F30005D7222 /* TimeModification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548001D295C5400B90302 /* TimeModification.cpp */; }; - 2933AA0B1DA58F30005D7222 /* TimeModificationNormalTypeNormalDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548011D295C5400B90302 /* TimeModificationNormalTypeNormalDot.cpp */; }; - 2933AA0C1DA58F30005D7222 /* TimeRelation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548021D295C5400B90302 /* TimeRelation.cpp */; }; - 2933AA0D1DA58F30005D7222 /* TimeSignatureGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548031D295C5400B90302 /* TimeSignatureGroup.cpp */; }; - 2933AA0E1DA58F30005D7222 /* TimewiseMeasure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548041D295C5400B90302 /* TimewiseMeasure.cpp */; }; - 2933AA0F1DA58F30005D7222 /* TimewisePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548051D295C5400B90302 /* TimewisePart.cpp */; }; - 2933AA101DA58F30005D7222 /* Timpani.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548061D295C5400B90302 /* Timpani.cpp */; }; - 2933AA111DA58F30005D7222 /* Toe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548071D295C5400B90302 /* Toe.cpp */; }; - 2933AA121DA58F30005D7222 /* ToeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548081D295C5400B90302 /* ToeAttributes.cpp */; }; - 2933AA131DA58F30005D7222 /* TopMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548091D295C5400B90302 /* TopMargin.cpp */; }; - 2933AA141DA58F30005D7222 /* TopSystemDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480A1D295C5400B90302 /* TopSystemDistance.cpp */; }; - 2933AA151DA58F30005D7222 /* TouchingPitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480B1D295C5400B90302 /* TouchingPitch.cpp */; }; - 2933AA161DA58F30005D7222 /* TraditionalKey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480C1D295C5400B90302 /* TraditionalKey.cpp */; }; - 2933AA171DA58F30005D7222 /* Transpose.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480D1D295C5400B90302 /* Transpose.cpp */; }; - 2933AA181DA58F30005D7222 /* TransposeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480E1D295C5400B90302 /* TransposeAttributes.cpp */; }; - 2933AA191DA58F30005D7222 /* Tremolo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480F1D295C5400B90302 /* Tremolo.cpp */; }; - 2933AA1A1DA58F30005D7222 /* TremoloAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548101D295C5400B90302 /* TremoloAttributes.cpp */; }; - 2933AA1B1DA58F30005D7222 /* TrillMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548111D295C5400B90302 /* TrillMark.cpp */; }; - 2933AA1C1DA58F30005D7222 /* TripleTongue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548121D295C5400B90302 /* TripleTongue.cpp */; }; - 2933AA1D1DA58F30005D7222 /* TuningAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548131D295C5400B90302 /* TuningAlter.cpp */; }; - 2933AA1E1DA58F30005D7222 /* TuningOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548141D295C5400B90302 /* TuningOctave.cpp */; }; - 2933AA1F1DA58F30005D7222 /* TuningStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548151D295C5400B90302 /* TuningStep.cpp */; }; - 2933AA201DA58F30005D7222 /* Tuplet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548161D295C5400B90302 /* Tuplet.cpp */; }; - 2933AA211DA58F30005D7222 /* TupletActual.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548171D295C5400B90302 /* TupletActual.cpp */; }; - 2933AA221DA58F30005D7222 /* TupletAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548181D295C5400B90302 /* TupletAttributes.cpp */; }; - 2933AA231DA58F30005D7222 /* TupletDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548191D295C5400B90302 /* TupletDot.cpp */; }; - 2933AA241DA58F30005D7222 /* TupletDotAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481A1D295C5400B90302 /* TupletDotAttributes.cpp */; }; - 2933AA251DA58F30005D7222 /* TupletNormal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481B1D295C5400B90302 /* TupletNormal.cpp */; }; - 2933AA261DA58F30005D7222 /* TupletNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481C1D295C5500B90302 /* TupletNumber.cpp */; }; - 2933AA271DA58F30005D7222 /* TupletNumberAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481D1D295C5500B90302 /* TupletNumberAttributes.cpp */; }; - 2933AA281DA58F30005D7222 /* TupletType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481E1D295C5500B90302 /* TupletType.cpp */; }; - 2933AA291DA58F30005D7222 /* TupletTypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481F1D295C5500B90302 /* TupletTypeAttributes.cpp */; }; - 2933AA2A1DA58F30005D7222 /* Turn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548201D295C5500B90302 /* Turn.cpp */; }; - 2933AA2B1DA58F30005D7222 /* TurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548211D295C5500B90302 /* TurnAttributes.cpp */; }; - 2933AA2C1DA58F30005D7222 /* Type.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548221D295C5500B90302 /* Type.cpp */; }; - 2933AA2D1DA58F30005D7222 /* TypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548231D295C5500B90302 /* TypeAttributes.cpp */; }; - 2933AA2E1DA58F30005D7222 /* Unpitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548241D295C5500B90302 /* Unpitched.cpp */; }; - 2933AA2F1DA58F30005D7222 /* Unstress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548251D295C5500B90302 /* Unstress.cpp */; }; - 2933AA301DA58F30005D7222 /* UpBow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548261D295C5500B90302 /* UpBow.cpp */; }; - 2933AA311DA58F30005D7222 /* VerticalTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548271D295C5500B90302 /* VerticalTurn.cpp */; }; - 2933AA321DA58F30005D7222 /* VirtualInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548281D295C5500B90302 /* VirtualInstrument.cpp */; }; - 2933AA331DA58F30005D7222 /* VirtualLibrary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548291D295C5500B90302 /* VirtualLibrary.cpp */; }; - 2933AA341DA58F30005D7222 /* VirtualName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482A1D295C5500B90302 /* VirtualName.cpp */; }; - 2933AA351DA58F30005D7222 /* Voice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482B1D295C5500B90302 /* Voice.cpp */; }; - 2933AA361DA58F30005D7222 /* Volume.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482C1D295C5500B90302 /* Volume.cpp */; }; - 2933AA371DA58F30005D7222 /* WavyLine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482D1D295C5500B90302 /* WavyLine.cpp */; }; - 2933AA381DA58F30005D7222 /* WavyLineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482E1D295C5500B90302 /* WavyLineAttributes.cpp */; }; - 2933AA391DA58F30005D7222 /* Wedge.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482F1D295C5500B90302 /* Wedge.cpp */; }; - 2933AA3A1DA58F30005D7222 /* WedgeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548301D295C5500B90302 /* WedgeAttributes.cpp */; }; - 2933AA3B1DA58F30005D7222 /* WithBar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548311D295C5500B90302 /* WithBar.cpp */; }; - 2933AA3C1DA58F30005D7222 /* WithBarAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548321D295C5500B90302 /* WithBarAttributes.cpp */; }; - 2933AA3D1DA58F30005D7222 /* Wood.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548331D295C5500B90302 /* Wood.cpp */; }; - 2933AA3E1DA58F30005D7222 /* WordFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548341D295C5500B90302 /* WordFont.cpp */; }; - 2933AA3F1DA58F30005D7222 /* Words.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548351D295C5500B90302 /* Words.cpp */; }; - 2933AA401DA58F30005D7222 /* WordsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548361D295C5500B90302 /* WordsAttributes.cpp */; }; - 2933AA411DA58F30005D7222 /* Work.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548371D295C5500B90302 /* Work.cpp */; }; - 2933AA421DA58F30005D7222 /* WorkNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548381D295C5500B90302 /* WorkNumber.cpp */; }; - 2933AA431DA58F30005D7222 /* WorkTitle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548391D295C5500B90302 /* WorkTitle.cpp */; }; - 2933AA441DA58F30005D7222 /* EmptyPrintObjectStyleAlignAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AF61D130B690094BE61 /* EmptyPrintObjectStyleAlignAttributes.cpp */; }; - 2933AA451DA58F30005D7222 /* Enums.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AF81D130B690094BE61 /* Enums.cpp */; }; - 2933AA461DA58F30005D7222 /* FontSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AFA1D130B690094BE61 /* FontSize.cpp */; }; - 2933AA471DA58F30005D7222 /* FromXElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 295DDE0F1D2C0D4D00A2881D /* FromXElement.cpp */; }; - 2933AA481DA58F30005D7222 /* Integers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AFC1D130B690094BE61 /* Integers.cpp */; }; - 2933AA491DA58F30005D7222 /* NumberOrNormal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AFE1D130B690094BE61 /* NumberOrNormal.cpp */; }; - 2933AA4A1DA58F30005D7222 /* PositiveIntegerOrEmpty.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B001D130B690094BE61 /* PositiveIntegerOrEmpty.cpp */; }; - 2933AA4B1DA58F30005D7222 /* Strings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B021D130B690094BE61 /* Strings.cpp */; }; - 2933AA4C1DA58F30005D7222 /* YesNoNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B041D130B690094BE61 /* YesNoNumber.cpp */; }; - 2933AA4D1DA58F30005D7222 /* pugixml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B5D1D130BBE0094BE61 /* pugixml.cpp */; }; - 2933AA4E1DA58F30005D7222 /* Utility.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B2D1D130B910094BE61 /* Utility.cpp */; }; - 2933AA4F1DA58F30005D7222 /* UtilityImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B2F1D130B910094BE61 /* UtilityImpl.cpp */; }; - 2933AA501DA58F30005D7222 /* PugiAttribute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1451D18D403001C2A1A /* PugiAttribute.cpp */; }; - 2933AA511DA58F30005D7222 /* PugiAttributeIterImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1471D18D403001C2A1A /* PugiAttributeIterImpl.cpp */; }; - 2933AA521DA58F30005D7222 /* PugiDoc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1491D18D403001C2A1A /* PugiDoc.cpp */; }; - 2933AA531DA58F30005D7222 /* PugiElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D14B1D18D403001C2A1A /* PugiElement.cpp */; }; - 2933AA541DA58F30005D7222 /* PugiElementIterImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D14D1D18D403001C2A1A /* PugiElementIterImpl.cpp */; }; - 2933AA551DA58F30005D7222 /* XAttributeIterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1501D18D403001C2A1A /* XAttributeIterator.cpp */; }; - 2933AA561DA58F30005D7222 /* XElementIterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1561D18D403001C2A1A /* XElementIterator.cpp */; }; - 2933AA571DA58F30005D7222 /* XFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1591D18D403001C2A1A /* XFactory.cpp */; }; - 2933AA931DA5A60C005D7222 /* mx-macOS.plist in Resources */ = {isa = PBXBuildFile; fileRef = 2933AA921DA5A60C005D7222 /* mx-macOS.plist */; }; - 2933AAB71DA5AA73005D7222 /* ScoreConversions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2951A0C31D60F3B700B49A13 /* ScoreConversions.cpp */; }; - 2933AAB81DA5AA73005D7222 /* AttributesInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE01D130B690094BE61 /* AttributesInterface.cpp */; }; - 2933AAB91DA5AA73005D7222 /* Color.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE21D130B690094BE61 /* Color.cpp */; }; - 2933AABA1DA5AA73005D7222 /* Date.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE41D130B690094BE61 /* Date.cpp */; }; - 2933AABB1DA5AA73005D7222 /* Decimals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE61D130B690094BE61 /* Decimals.cpp */; }; - 2933AABC1DA5AA73005D7222 /* Document.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE81D130B690094BE61 /* Document.cpp */; }; - 2933AABD1DA5AA73005D7222 /* DocumentHeader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AEA1D130B690094BE61 /* DocumentHeader.cpp */; }; - 2933AABE1DA5AA73005D7222 /* DocumentSpec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AEE1D130B690094BE61 /* DocumentSpec.cpp */; }; - 2933AABF1DA5AA73005D7222 /* ElementInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AF21D130B690094BE61 /* ElementInterface.cpp */; }; - 2933AAC01DA5AA73005D7222 /* Accent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545ED1D295C5300B90302 /* Accent.cpp */; }; - 2933AAC11DA5AA73005D7222 /* Accidental.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545EE1D295C5300B90302 /* Accidental.cpp */; }; - 2933AAC21DA5AA73005D7222 /* AccidentalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545EF1D295C5300B90302 /* AccidentalAttributes.cpp */; }; - 2933AAC31DA5AA73005D7222 /* AccidentalMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F01D295C5300B90302 /* AccidentalMark.cpp */; }; - 2933AAC41DA5AA73005D7222 /* AccidentalMarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F11D295C5300B90302 /* AccidentalMarkAttributes.cpp */; }; - 2933AAC51DA5AA73005D7222 /* AccidentalText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F21D295C5300B90302 /* AccidentalText.cpp */; }; - 2933AAC61DA5AA73005D7222 /* AccidentalTextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F31D295C5300B90302 /* AccidentalTextAttributes.cpp */; }; - 2933AAC71DA5AA73005D7222 /* Accord.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F41D295C5300B90302 /* Accord.cpp */; }; - 2933AAC81DA5AA73005D7222 /* AccordAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F51D295C5300B90302 /* AccordAttributes.cpp */; }; - 2933AAC91DA5AA73005D7222 /* AccordionHigh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F61D295C5300B90302 /* AccordionHigh.cpp */; }; - 2933AACA1DA5AA73005D7222 /* AccordionLow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F71D295C5300B90302 /* AccordionLow.cpp */; }; - 2933AACB1DA5AA73005D7222 /* AccordionMiddle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F81D295C5300B90302 /* AccordionMiddle.cpp */; }; - 2933AACC1DA5AA73005D7222 /* AccordionRegistration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F91D295C5300B90302 /* AccordionRegistration.cpp */; }; - 2933AACD1DA5AA73005D7222 /* AccordionRegistrationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FA1D295C5300B90302 /* AccordionRegistrationAttributes.cpp */; }; - 2933AACE1DA5AA73005D7222 /* ActualNotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FB1D295C5300B90302 /* ActualNotes.cpp */; }; - 2933AACF1DA5AA73005D7222 /* Alter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FC1D295C5300B90302 /* Alter.cpp */; }; - 2933AAD01DA5AA73005D7222 /* Appearance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FD1D295C5300B90302 /* Appearance.cpp */; }; - 2933AAD11DA5AA73005D7222 /* Arpeggiate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FE1D295C5300B90302 /* Arpeggiate.cpp */; }; - 2933AAD21DA5AA73005D7222 /* ArpeggiateAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FF1D295C5300B90302 /* ArpeggiateAttributes.cpp */; }; - 2933AAD31DA5AA73005D7222 /* Arrow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546001D295C5300B90302 /* Arrow.cpp */; }; - 2933AAD41DA5AA73005D7222 /* ArrowAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546011D295C5300B90302 /* ArrowAttributes.cpp */; }; - 2933AAD51DA5AA73005D7222 /* ArrowDirection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546021D295C5300B90302 /* ArrowDirection.cpp */; }; - 2933AAD61DA5AA73005D7222 /* ArrowGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546031D295C5300B90302 /* ArrowGroup.cpp */; }; - 2933AAD71DA5AA73005D7222 /* ArrowStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546041D295C5300B90302 /* ArrowStyle.cpp */; }; - 2933AAD81DA5AA73005D7222 /* Articulations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546051D295C5300B90302 /* Articulations.cpp */; }; - 2933AAD91DA5AA73005D7222 /* ArticulationsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546061D295C5300B90302 /* ArticulationsChoice.cpp */; }; - 2933AADA1DA5AA73005D7222 /* Artificial.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546071D295C5300B90302 /* Artificial.cpp */; }; - 2933AADB1DA5AA73005D7222 /* AttributesIterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546081D295C5300B90302 /* AttributesIterface.cpp */; }; - 2933AADC1DA5AA73005D7222 /* Backup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546091D295C5300B90302 /* Backup.cpp */; }; - 2933AADD1DA5AA73005D7222 /* Barline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460A1D295C5300B90302 /* Barline.cpp */; }; - 2933AADE1DA5AA73005D7222 /* BarlineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460B1D295C5300B90302 /* BarlineAttributes.cpp */; }; - 2933AADF1DA5AA73005D7222 /* Barre.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460C1D295C5300B90302 /* Barre.cpp */; }; - 2933AAE01DA5AA73005D7222 /* BarreAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460D1D295C5300B90302 /* BarreAttributes.cpp */; }; - 2933AAE11DA5AA73005D7222 /* BarStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460E1D295C5300B90302 /* BarStyle.cpp */; }; - 2933AAE21DA5AA73005D7222 /* BarStyleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460F1D295C5300B90302 /* BarStyleAttributes.cpp */; }; - 2933AAE31DA5AA73005D7222 /* BasePitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546101D295C5300B90302 /* BasePitch.cpp */; }; - 2933AAE41DA5AA73005D7222 /* Bass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546111D295C5300B90302 /* Bass.cpp */; }; - 2933AAE51DA5AA73005D7222 /* BassAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546121D295C5300B90302 /* BassAlter.cpp */; }; - 2933AAE61DA5AA73005D7222 /* BassAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546131D295C5300B90302 /* BassAlterAttributes.cpp */; }; - 2933AAE71DA5AA73005D7222 /* BassStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546141D295C5300B90302 /* BassStep.cpp */; }; - 2933AAE81DA5AA73005D7222 /* BassStepAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546151D295C5300B90302 /* BassStepAttributes.cpp */; }; - 2933AAE91DA5AA73005D7222 /* Beam.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546161D295C5300B90302 /* Beam.cpp */; }; - 2933AAEA1DA5AA73005D7222 /* BeamAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546171D295C5300B90302 /* BeamAttributes.cpp */; }; - 2933AAEB1DA5AA73005D7222 /* Beater.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546181D295C5300B90302 /* Beater.cpp */; }; - 2933AAEC1DA5AA73005D7222 /* BeaterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546191D295C5300B90302 /* BeaterAttributes.cpp */; }; - 2933AAED1DA5AA73005D7222 /* BeatRepeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461A1D295C5300B90302 /* BeatRepeat.cpp */; }; - 2933AAEE1DA5AA73005D7222 /* BeatRepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461B1D295C5300B90302 /* BeatRepeatAttributes.cpp */; }; - 2933AAEF1DA5AA73005D7222 /* Beats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461C1D295C5300B90302 /* Beats.cpp */; }; - 2933AAF01DA5AA73005D7222 /* BeatType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461D1D295C5300B90302 /* BeatType.cpp */; }; - 2933AAF11DA5AA73005D7222 /* BeatUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461E1D295C5300B90302 /* BeatUnit.cpp */; }; - 2933AAF21DA5AA73005D7222 /* BeatUnitDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461F1D295C5300B90302 /* BeatUnitDot.cpp */; }; - 2933AAF31DA5AA73005D7222 /* BeatUnitGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546201D295C5300B90302 /* BeatUnitGroup.cpp */; }; - 2933AAF41DA5AA73005D7222 /* BeatUnitPer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546211D295C5300B90302 /* BeatUnitPer.cpp */; }; - 2933AAF51DA5AA73005D7222 /* BeatUnitPerOrNoteRelationNoteChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546221D295C5300B90302 /* BeatUnitPerOrNoteRelationNoteChoice.cpp */; }; - 2933AAF61DA5AA73005D7222 /* Bend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546231D295C5300B90302 /* Bend.cpp */; }; - 2933AAF71DA5AA73005D7222 /* BendAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546241D295C5300B90302 /* BendAlter.cpp */; }; - 2933AAF81DA5AA73005D7222 /* BendAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546251D295C5300B90302 /* BendAttributes.cpp */; }; - 2933AAF91DA5AA73005D7222 /* BendChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546261D295C5300B90302 /* BendChoice.cpp */; }; - 2933AAFA1DA5AA73005D7222 /* Bookmark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546271D295C5300B90302 /* Bookmark.cpp */; }; - 2933AAFB1DA5AA73005D7222 /* BookmarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546281D295C5300B90302 /* BookmarkAttributes.cpp */; }; - 2933AAFC1DA5AA73005D7222 /* BottomMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546291D295C5300B90302 /* BottomMargin.cpp */; }; - 2933AAFD1DA5AA73005D7222 /* Bracket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462A1D295C5300B90302 /* Bracket.cpp */; }; - 2933AAFE1DA5AA73005D7222 /* BracketAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462B1D295C5300B90302 /* BracketAttributes.cpp */; }; - 2933AAFF1DA5AA73005D7222 /* BreathMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462C1D295C5300B90302 /* BreathMark.cpp */; }; - 2933AB001DA5AA73005D7222 /* BreathMarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462D1D295C5300B90302 /* BreathMarkAttributes.cpp */; }; - 2933AB011DA5AA73005D7222 /* Caesura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462E1D295C5300B90302 /* Caesura.cpp */; }; - 2933AB021DA5AA73005D7222 /* Cancel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462F1D295C5300B90302 /* Cancel.cpp */; }; - 2933AB031DA5AA73005D7222 /* CancelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546301D295C5300B90302 /* CancelAttributes.cpp */; }; - 2933AB041DA5AA73005D7222 /* Capo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546311D295C5300B90302 /* Capo.cpp */; }; - 2933AB051DA5AA73005D7222 /* Chord.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546321D295C5300B90302 /* Chord.cpp */; }; - 2933AB061DA5AA73005D7222 /* Chromatic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546331D295C5300B90302 /* Chromatic.cpp */; }; - 2933AB071DA5AA73005D7222 /* CircularArrow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546341D295C5300B90302 /* CircularArrow.cpp */; }; - 2933AB081DA5AA73005D7222 /* Clef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546351D295C5300B90302 /* Clef.cpp */; }; - 2933AB091DA5AA73005D7222 /* ClefAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546361D295C5300B90302 /* ClefAttributes.cpp */; }; - 2933AB0A1DA5AA73005D7222 /* ClefOctaveChange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546371D295C5300B90302 /* ClefOctaveChange.cpp */; }; - 2933AB0B1DA5AA73005D7222 /* Coda.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546381D295C5300B90302 /* Coda.cpp */; }; - 2933AB0C1DA5AA73005D7222 /* Creator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546391D295C5300B90302 /* Creator.cpp */; }; - 2933AB0D1DA5AA73005D7222 /* CreatorAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463A1D295C5300B90302 /* CreatorAttributes.cpp */; }; - 2933AB0E1DA5AA73005D7222 /* Credit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463B1D295C5300B90302 /* Credit.cpp */; }; - 2933AB0F1DA5AA73005D7222 /* CreditAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463C1D295C5300B90302 /* CreditAttributes.cpp */; }; - 2933AB101DA5AA73005D7222 /* CreditChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463D1D295C5300B90302 /* CreditChoice.cpp */; }; - 2933AB111DA5AA73005D7222 /* CreditImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463E1D295C5300B90302 /* CreditImage.cpp */; }; - 2933AB121DA5AA73005D7222 /* CreditImageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463F1D295C5300B90302 /* CreditImageAttributes.cpp */; }; - 2933AB131DA5AA73005D7222 /* CreditType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546401D295C5300B90302 /* CreditType.cpp */; }; - 2933AB141DA5AA73005D7222 /* CreditWords.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546411D295C5300B90302 /* CreditWords.cpp */; }; - 2933AB151DA5AA73005D7222 /* CreditWordsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546421D295C5300B90302 /* CreditWordsAttributes.cpp */; }; - 2933AB161DA5AA73005D7222 /* CreditWordsGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546431D295C5300B90302 /* CreditWordsGroup.cpp */; }; - 2933AB171DA5AA73005D7222 /* Cue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546441D295C5300B90302 /* Cue.cpp */; }; - 2933AB181DA5AA73005D7222 /* CueNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546451D295C5300B90302 /* CueNoteGroup.cpp */; }; - 2933AB191DA5AA73005D7222 /* Damp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546461D295C5300B90302 /* Damp.cpp */; }; - 2933AB1A1DA5AA73005D7222 /* DampAll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546471D295C5300B90302 /* DampAll.cpp */; }; - 2933AB1B1DA5AA73005D7222 /* Dashes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546481D295C5300B90302 /* Dashes.cpp */; }; - 2933AB1C1DA5AA73005D7222 /* DashesAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546491D295C5300B90302 /* DashesAttributes.cpp */; }; - 2933AB1D1DA5AA73005D7222 /* Defaults.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464A1D295C5300B90302 /* Defaults.cpp */; }; - 2933AB1E1DA5AA73005D7222 /* Degree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464B1D295C5300B90302 /* Degree.cpp */; }; - 2933AB1F1DA5AA73005D7222 /* DegreeAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464C1D295C5300B90302 /* DegreeAlter.cpp */; }; - 2933AB201DA5AA73005D7222 /* DegreeAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464D1D295C5300B90302 /* DegreeAlterAttributes.cpp */; }; - 2933AB211DA5AA73005D7222 /* DegreeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464E1D295C5300B90302 /* DegreeAttributes.cpp */; }; - 2933AB221DA5AA73005D7222 /* DegreeType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464F1D295C5300B90302 /* DegreeType.cpp */; }; - 2933AB231DA5AA73005D7222 /* DegreeTypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546501D295C5300B90302 /* DegreeTypeAttributes.cpp */; }; - 2933AB241DA5AA73005D7222 /* DegreeValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546511D295C5300B90302 /* DegreeValue.cpp */; }; - 2933AB251DA5AA73005D7222 /* DegreeValueAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546521D295C5300B90302 /* DegreeValueAttributes.cpp */; }; - 2933AB261DA5AA73005D7222 /* DelayedInvertedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546531D295C5300B90302 /* DelayedInvertedTurn.cpp */; }; - 2933AB271DA5AA73005D7222 /* DelayedInvertedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546541D295C5300B90302 /* DelayedInvertedTurnAttributes.cpp */; }; - 2933AB281DA5AA73005D7222 /* DelayedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546551D295C5300B90302 /* DelayedTurn.cpp */; }; - 2933AB291DA5AA73005D7222 /* DelayedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546561D295C5300B90302 /* DelayedTurnAttributes.cpp */; }; - 2933AB2A1DA5AA73005D7222 /* DetachedLegato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546571D295C5300B90302 /* DetachedLegato.cpp */; }; - 2933AB2B1DA5AA73005D7222 /* Diatonic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546581D295C5300B90302 /* Diatonic.cpp */; }; - 2933AB2C1DA5AA73005D7222 /* Direction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546591D295C5300B90302 /* Direction.cpp */; }; - 2933AB2D1DA5AA73005D7222 /* DirectionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465A1D295C5300B90302 /* DirectionAttributes.cpp */; }; - 2933AB2E1DA5AA73005D7222 /* DirectionType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465B1D295C5300B90302 /* DirectionType.cpp */; }; - 2933AB2F1DA5AA73005D7222 /* Directive.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465C1D295C5300B90302 /* Directive.cpp */; }; - 2933AB301DA5AA73005D7222 /* DirectiveAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465D1D295C5300B90302 /* DirectiveAttributes.cpp */; }; - 2933AB311DA5AA73005D7222 /* DisplayOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465E1D295C5300B90302 /* DisplayOctave.cpp */; }; - 2933AB321DA5AA73005D7222 /* DisplayStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465F1D295C5300B90302 /* DisplayStep.cpp */; }; - 2933AB331DA5AA73005D7222 /* DisplayStepOctaveGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546601D295C5300B90302 /* DisplayStepOctaveGroup.cpp */; }; - 2933AB341DA5AA73005D7222 /* DisplayText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546611D295C5300B90302 /* DisplayText.cpp */; }; - 2933AB351DA5AA73005D7222 /* DisplayTextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546621D295C5300B90302 /* DisplayTextAttributes.cpp */; }; - 2933AB361DA5AA73005D7222 /* DisplayTextOrAccidentalText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546631D295C5300B90302 /* DisplayTextOrAccidentalText.cpp */; }; - 2933AB371DA5AA73005D7222 /* Distance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546641D295C5300B90302 /* Distance.cpp */; }; - 2933AB381DA5AA73005D7222 /* DistanceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546651D295C5300B90302 /* DistanceAttributes.cpp */; }; - 2933AB391DA5AA73005D7222 /* Divisions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546661D295C5300B90302 /* Divisions.cpp */; }; - 2933AB3A1DA5AA73005D7222 /* Doit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546671D295C5300B90302 /* Doit.cpp */; }; - 2933AB3B1DA5AA73005D7222 /* Dot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546681D295C5300B90302 /* Dot.cpp */; }; - 2933AB3C1DA5AA73005D7222 /* Double.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546691D295C5300B90302 /* Double.cpp */; }; - 2933AB3D1DA5AA73005D7222 /* DoubleTongue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466A1D295C5300B90302 /* DoubleTongue.cpp */; }; - 2933AB3E1DA5AA73005D7222 /* DownBow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466B1D295C5300B90302 /* DownBow.cpp */; }; - 2933AB3F1DA5AA73005D7222 /* Duration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466C1D295C5300B90302 /* Duration.cpp */; }; - 2933AB401DA5AA73005D7222 /* Dynamics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466D1D295C5300B90302 /* Dynamics.cpp */; }; - 2933AB411DA5AA73005D7222 /* DynamicsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466E1D295C5300B90302 /* DynamicsAttributes.cpp */; }; - 2933AB421DA5AA73005D7222 /* EditorialGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466F1D295C5300B90302 /* EditorialGroup.cpp */; }; - 2933AB431DA5AA73005D7222 /* EditorialVoiceDirectionGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546701D295C5300B90302 /* EditorialVoiceDirectionGroup.cpp */; }; - 2933AB441DA5AA73005D7222 /* EditorialVoiceGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546711D295C5300B90302 /* EditorialVoiceGroup.cpp */; }; - 2933AB451DA5AA73005D7222 /* Effect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546721D295C5300B90302 /* Effect.cpp */; }; - 2933AB461DA5AA73005D7222 /* Elevation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546731D295C5300B90302 /* Elevation.cpp */; }; - 2933AB471DA5AA73005D7222 /* Elision.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546741D295C5300B90302 /* Elision.cpp */; }; - 2933AB481DA5AA73005D7222 /* ElisionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546751D295C5300B90302 /* ElisionAttributes.cpp */; }; - 2933AB491DA5AA73005D7222 /* ElisionSyllabicGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546761D295C5300B90302 /* ElisionSyllabicGroup.cpp */; }; - 2933AB4A1DA5AA73005D7222 /* ElisionSyllabicTextGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546771D295C5300B90302 /* ElisionSyllabicTextGroup.cpp */; }; - 2933AB4B1DA5AA73005D7222 /* EmptyFontAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546781D295C5300B90302 /* EmptyFontAttributes.cpp */; }; - 2933AB4C1DA5AA73005D7222 /* EmptyLineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546791D295C5300B90302 /* EmptyLineAttributes.cpp */; }; - 2933AB4D1DA5AA73005D7222 /* EmptyPlacementAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467A1D295C5300B90302 /* EmptyPlacementAttributes.cpp */; }; - 2933AB4E1DA5AA73005D7222 /* EmptyTrillSoundAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467B1D295C5300B90302 /* EmptyTrillSoundAttributes.cpp */; }; - 2933AB4F1DA5AA73005D7222 /* Encoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467C1D295C5300B90302 /* Encoder.cpp */; }; - 2933AB501DA5AA73005D7222 /* EncoderAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467D1D295C5300B90302 /* EncoderAttributes.cpp */; }; - 2933AB511DA5AA73005D7222 /* Encoding.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2904A4D31D301D5A00A39CC6 /* Encoding.cpp */; }; - 2933AB521DA5AA73005D7222 /* EncodingChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467E1D295C5300B90302 /* EncodingChoice.cpp */; }; - 2933AB531DA5AA73005D7222 /* EncodingDate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467F1D295C5300B90302 /* EncodingDate.cpp */; }; - 2933AB541DA5AA73005D7222 /* EncodingDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546801D295C5300B90302 /* EncodingDescription.cpp */; }; - 2933AB551DA5AA73005D7222 /* Ending.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546811D295C5300B90302 /* Ending.cpp */; }; - 2933AB561DA5AA73005D7222 /* EndingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546821D295C5300B90302 /* EndingAttributes.cpp */; }; - 2933AB571DA5AA73005D7222 /* EndLine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546831D295C5300B90302 /* EndLine.cpp */; }; - 2933AB581DA5AA73005D7222 /* EndParagraph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546841D295C5300B90302 /* EndParagraph.cpp */; }; - 2933AB591DA5AA73005D7222 /* Ensemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546851D295C5300B90302 /* Ensemble.cpp */; }; - 2933AB5A1DA5AA73005D7222 /* Extend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546861D295C5300B90302 /* Extend.cpp */; }; - 2933AB5B1DA5AA73005D7222 /* ExtendAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546871D295C5300B90302 /* ExtendAttributes.cpp */; }; - 2933AB5C1DA5AA73005D7222 /* Eyeglasses.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546881D295C5300B90302 /* Eyeglasses.cpp */; }; - 2933AB5D1DA5AA73005D7222 /* Falloff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546891D295C5300B90302 /* Falloff.cpp */; }; - 2933AB5E1DA5AA73005D7222 /* Feature.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468A1D295C5300B90302 /* Feature.cpp */; }; - 2933AB5F1DA5AA73005D7222 /* FeatureAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468B1D295C5300B90302 /* FeatureAttributes.cpp */; }; - 2933AB601DA5AA73005D7222 /* Fermata.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468C1D295C5300B90302 /* Fermata.cpp */; }; - 2933AB611DA5AA73005D7222 /* FermataAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468D1D295C5300B90302 /* FermataAttributes.cpp */; }; - 2933AB621DA5AA73005D7222 /* Fifths.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468E1D295C5300B90302 /* Fifths.cpp */; }; - 2933AB631DA5AA73005D7222 /* Figure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468F1D295C5300B90302 /* Figure.cpp */; }; - 2933AB641DA5AA73005D7222 /* FiguredBass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546901D295C5300B90302 /* FiguredBass.cpp */; }; - 2933AB651DA5AA73005D7222 /* FiguredBassAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546911D295C5300B90302 /* FiguredBassAttributes.cpp */; }; - 2933AB661DA5AA73005D7222 /* FigureNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546921D295C5300B90302 /* FigureNumber.cpp */; }; - 2933AB671DA5AA73005D7222 /* FigureNumberAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546931D295C5300B90302 /* FigureNumberAttributes.cpp */; }; - 2933AB681DA5AA73005D7222 /* Fingering.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546941D295C5300B90302 /* Fingering.cpp */; }; - 2933AB691DA5AA73005D7222 /* FingeringAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546951D295C5300B90302 /* FingeringAttributes.cpp */; }; - 2933AB6A1DA5AA73005D7222 /* Fingernails.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546961D295C5300B90302 /* Fingernails.cpp */; }; - 2933AB6B1DA5AA73005D7222 /* FirstFret.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546971D295C5300B90302 /* FirstFret.cpp */; }; - 2933AB6C1DA5AA73005D7222 /* FirstFretAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546981D295C5300B90302 /* FirstFretAttributes.cpp */; }; - 2933AB6D1DA5AA73005D7222 /* Footnote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546991D295C5300B90302 /* Footnote.cpp */; }; - 2933AB6E1DA5AA73005D7222 /* FootnoteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469A1D295C5300B90302 /* FootnoteAttributes.cpp */; }; - 2933AB6F1DA5AA73005D7222 /* Forward.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469B1D295C5300B90302 /* Forward.cpp */; }; - 2933AB701DA5AA73005D7222 /* Frame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469C1D295C5300B90302 /* Frame.cpp */; }; - 2933AB711DA5AA73005D7222 /* FrameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469D1D295C5300B90302 /* FrameAttributes.cpp */; }; - 2933AB721DA5AA73005D7222 /* FrameFrets.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469E1D295C5300B90302 /* FrameFrets.cpp */; }; - 2933AB731DA5AA73005D7222 /* FrameNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469F1D295C5300B90302 /* FrameNote.cpp */; }; - 2933AB741DA5AA73005D7222 /* FrameStrings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A01D295C5300B90302 /* FrameStrings.cpp */; }; - 2933AB751DA5AA73005D7222 /* Fret.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A11D295C5300B90302 /* Fret.cpp */; }; - 2933AB761DA5AA73005D7222 /* FretAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A21D295C5300B90302 /* FretAttributes.cpp */; }; - 2933AB771DA5AA73005D7222 /* FullNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A31D295C5300B90302 /* FullNoteGroup.cpp */; }; - 2933AB781DA5AA73005D7222 /* FullNoteTypeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A41D295C5300B90302 /* FullNoteTypeChoice.cpp */; }; - 2933AB791DA5AA73005D7222 /* Function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A51D295C5300B90302 /* Function.cpp */; }; - 2933AB7A1DA5AA73005D7222 /* FunctionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A61D295C5300B90302 /* FunctionAttributes.cpp */; }; - 2933AB7B1DA5AA73005D7222 /* Glass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A71D295C5300B90302 /* Glass.cpp */; }; - 2933AB7C1DA5AA73005D7222 /* Glissando.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A81D295C5300B90302 /* Glissando.cpp */; }; - 2933AB7D1DA5AA73005D7222 /* GlissandoAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A91D295C5300B90302 /* GlissandoAttributes.cpp */; }; - 2933AB7E1DA5AA73005D7222 /* Grace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AA1D295C5300B90302 /* Grace.cpp */; }; - 2933AB7F1DA5AA73005D7222 /* GraceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AB1D295C5300B90302 /* GraceAttributes.cpp */; }; - 2933AB801DA5AA73005D7222 /* GraceNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AC1D295C5300B90302 /* GraceNoteGroup.cpp */; }; - 2933AB811DA5AA73005D7222 /* Group.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AD1D295C5300B90302 /* Group.cpp */; }; - 2933AB821DA5AA73005D7222 /* GroupAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AE1D295C5300B90302 /* GroupAbbreviation.cpp */; }; - 2933AB831DA5AA73005D7222 /* GroupAbbreviationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AF1D295C5300B90302 /* GroupAbbreviationAttributes.cpp */; }; - 2933AB841DA5AA73005D7222 /* GroupAbbreviationDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B01D295C5300B90302 /* GroupAbbreviationDisplay.cpp */; }; - 2933AB851DA5AA73005D7222 /* GroupAbbreviationDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B11D295C5300B90302 /* GroupAbbreviationDisplayAttributes.cpp */; }; - 2933AB861DA5AA73005D7222 /* GroupBarline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B21D295C5300B90302 /* GroupBarline.cpp */; }; - 2933AB871DA5AA73005D7222 /* GroupBarlineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B31D295C5300B90302 /* GroupBarlineAttributes.cpp */; }; - 2933AB881DA5AA73005D7222 /* Grouping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B41D295C5300B90302 /* Grouping.cpp */; }; - 2933AB891DA5AA73005D7222 /* GroupingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B51D295C5300B90302 /* GroupingAttributes.cpp */; }; - 2933AB8A1DA5AA73005D7222 /* GroupName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B61D295C5300B90302 /* GroupName.cpp */; }; - 2933AB8B1DA5AA73005D7222 /* GroupNameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B71D295C5300B90302 /* GroupNameAttributes.cpp */; }; - 2933AB8C1DA5AA73005D7222 /* GroupNameDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B81D295C5300B90302 /* GroupNameDisplay.cpp */; }; - 2933AB8D1DA5AA73005D7222 /* GroupNameDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B91D295C5300B90302 /* GroupNameDisplayAttributes.cpp */; }; - 2933AB8E1DA5AA73005D7222 /* GroupSymbol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BA1D295C5300B90302 /* GroupSymbol.cpp */; }; - 2933AB8F1DA5AA73005D7222 /* GroupSymbolAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BB1D295C5300B90302 /* GroupSymbolAttributes.cpp */; }; - 2933AB901DA5AA73005D7222 /* GroupTime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BC1D295C5300B90302 /* GroupTime.cpp */; }; - 2933AB911DA5AA73005D7222 /* HammerOn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BD1D295C5300B90302 /* HammerOn.cpp */; }; - 2933AB921DA5AA73005D7222 /* HammerOnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BE1D295C5300B90302 /* HammerOnAttributes.cpp */; }; - 2933AB931DA5AA73005D7222 /* Handbell.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BF1D295C5300B90302 /* Handbell.cpp */; }; - 2933AB941DA5AA73005D7222 /* HandbellAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C01D295C5300B90302 /* HandbellAttributes.cpp */; }; - 2933AB951DA5AA73005D7222 /* Harmonic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C11D295C5300B90302 /* Harmonic.cpp */; }; - 2933AB961DA5AA73005D7222 /* HarmonicAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C21D295C5300B90302 /* HarmonicAttributes.cpp */; }; - 2933AB971DA5AA73005D7222 /* HarmonicInfoChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C31D295C5300B90302 /* HarmonicInfoChoice.cpp */; }; - 2933AB981DA5AA73005D7222 /* HarmonicTypeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C41D295C5300B90302 /* HarmonicTypeChoice.cpp */; }; - 2933AB991DA5AA73005D7222 /* Harmony.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C51D295C5300B90302 /* Harmony.cpp */; }; - 2933AB9A1DA5AA73005D7222 /* HarmonyAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C61D295C5300B90302 /* HarmonyAttributes.cpp */; }; - 2933AB9B1DA5AA73005D7222 /* HarmonyChordGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C71D295C5300B90302 /* HarmonyChordGroup.cpp */; }; - 2933AB9C1DA5AA73005D7222 /* HarpPedals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C81D295C5300B90302 /* HarpPedals.cpp */; }; - 2933AB9D1DA5AA73005D7222 /* HarpPedalsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C91D295C5300B90302 /* HarpPedalsAttributes.cpp */; }; - 2933AB9E1DA5AA73005D7222 /* Heel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CA1D295C5300B90302 /* Heel.cpp */; }; - 2933AB9F1DA5AA73005D7222 /* HeelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CB1D295C5300B90302 /* HeelAttributes.cpp */; }; - 2933ABA01DA5AA73005D7222 /* Hole.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CC1D295C5300B90302 /* Hole.cpp */; }; - 2933ABA11DA5AA73005D7222 /* HoleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CD1D295C5300B90302 /* HoleAttributes.cpp */; }; - 2933ABA21DA5AA73005D7222 /* HoleClosed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CE1D295C5300B90302 /* HoleClosed.cpp */; }; - 2933ABA31DA5AA73005D7222 /* HoleClosedAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CF1D295C5300B90302 /* HoleClosedAttributes.cpp */; }; - 2933ABA41DA5AA73005D7222 /* HoleShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D01D295C5300B90302 /* HoleShape.cpp */; }; - 2933ABA51DA5AA73005D7222 /* HoleType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D11D295C5300B90302 /* HoleType.cpp */; }; - 2933ABA61DA5AA73005D7222 /* Humming.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D21D295C5300B90302 /* Humming.cpp */; }; - 2933ABA71DA5AA73005D7222 /* Identification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D31D295C5300B90302 /* Identification.cpp */; }; - 2933ABA81DA5AA73005D7222 /* Image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D41D295C5300B90302 /* Image.cpp */; }; - 2933ABA91DA5AA73005D7222 /* ImageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D51D295C5300B90302 /* ImageAttributes.cpp */; }; - 2933ABAA1DA5AA73005D7222 /* Instrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D61D295C5300B90302 /* Instrument.cpp */; }; - 2933ABAB1DA5AA73005D7222 /* InstrumentAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D71D295C5300B90302 /* InstrumentAbbreviation.cpp */; }; - 2933ABAC1DA5AA73005D7222 /* InstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D81D295C5300B90302 /* InstrumentAttributes.cpp */; }; - 2933ABAD1DA5AA73005D7222 /* InstrumentName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D91D295C5300B90302 /* InstrumentName.cpp */; }; - 2933ABAE1DA5AA73005D7222 /* Instruments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DA1D295C5300B90302 /* Instruments.cpp */; }; - 2933ABAF1DA5AA73005D7222 /* InstrumentSound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DB1D295C5300B90302 /* InstrumentSound.cpp */; }; - 2933ABB01DA5AA73005D7222 /* Interchangeable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DC1D295C5300B90302 /* Interchangeable.cpp */; }; - 2933ABB11DA5AA73005D7222 /* InterchangeableAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DD1D295C5300B90302 /* InterchangeableAttributes.cpp */; }; - 2933ABB21DA5AA73005D7222 /* Inversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DE1D295C5300B90302 /* Inversion.cpp */; }; - 2933ABB31DA5AA73005D7222 /* InversionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DF1D295C5300B90302 /* InversionAttributes.cpp */; }; - 2933ABB41DA5AA73005D7222 /* InvertedMordent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E01D295C5300B90302 /* InvertedMordent.cpp */; }; - 2933ABB51DA5AA73005D7222 /* InvertedMordentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E11D295C5300B90302 /* InvertedMordentAttributes.cpp */; }; - 2933ABB61DA5AA73005D7222 /* InvertedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E21D295C5300B90302 /* InvertedTurn.cpp */; }; - 2933ABB71DA5AA73005D7222 /* InvertedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E31D295C5300B90302 /* InvertedTurnAttributes.cpp */; }; - 2933ABB81DA5AA73005D7222 /* Ipa.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E41D295C5300B90302 /* Ipa.cpp */; }; - 2933ABB91DA5AA73005D7222 /* Key.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E51D295C5300B90302 /* Key.cpp */; }; - 2933ABBA1DA5AA73005D7222 /* KeyAccidental.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E61D295C5300B90302 /* KeyAccidental.cpp */; }; - 2933ABBB1DA5AA73005D7222 /* KeyAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E71D295C5300B90302 /* KeyAlter.cpp */; }; - 2933ABBC1DA5AA73005D7222 /* KeyAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E81D295C5300B90302 /* KeyAttributes.cpp */; }; - 2933ABBD1DA5AA73005D7222 /* KeyChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E91D295C5300B90302 /* KeyChoice.cpp */; }; - 2933ABBE1DA5AA73005D7222 /* KeyOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EA1D295C5300B90302 /* KeyOctave.cpp */; }; - 2933ABBF1DA5AA73005D7222 /* KeyOctaveAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EB1D295C5300B90302 /* KeyOctaveAttributes.cpp */; }; - 2933ABC01DA5AA73005D7222 /* KeyStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EC1D295C5300B90302 /* KeyStep.cpp */; }; - 2933ABC11DA5AA73005D7222 /* Kind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546ED1D295C5300B90302 /* Kind.cpp */; }; - 2933ABC21DA5AA73005D7222 /* KindAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EE1D295C5300B90302 /* KindAttributes.cpp */; }; - 2933ABC31DA5AA73005D7222 /* Laughing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EF1D295C5300B90302 /* Laughing.cpp */; }; - 2933ABC41DA5AA73005D7222 /* LayoutGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F01D295C5300B90302 /* LayoutGroup.cpp */; }; - 2933ABC51DA5AA73005D7222 /* LeftDivider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F11D295C5300B90302 /* LeftDivider.cpp */; }; - 2933ABC61DA5AA73005D7222 /* LeftMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F21D295C5300B90302 /* LeftMargin.cpp */; }; - 2933ABC71DA5AA73005D7222 /* Level.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F31D295C5300B90302 /* Level.cpp */; }; - 2933ABC81DA5AA73005D7222 /* LevelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F41D295C5300B90302 /* LevelAttributes.cpp */; }; - 2933ABC91DA5AA73005D7222 /* Line.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F51D295C5300B90302 /* Line.cpp */; }; - 2933ABCA1DA5AA73005D7222 /* LineWidth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F61D295C5300B90302 /* LineWidth.cpp */; }; - 2933ABCB1DA5AA73005D7222 /* LineWidthAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F71D295C5300B90302 /* LineWidthAttributes.cpp */; }; - 2933ABCC1DA5AA73005D7222 /* Link.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F81D295C5300B90302 /* Link.cpp */; }; - 2933ABCD1DA5AA73005D7222 /* LinkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F91D295C5300B90302 /* LinkAttributes.cpp */; }; - 2933ABCE1DA5AA73005D7222 /* Lyric.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FA1D295C5300B90302 /* Lyric.cpp */; }; - 2933ABCF1DA5AA73005D7222 /* LyricAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FB1D295C5300B90302 /* LyricAttributes.cpp */; }; - 2933ABD01DA5AA73005D7222 /* LyricFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FC1D295C5300B90302 /* LyricFont.cpp */; }; - 2933ABD11DA5AA73005D7222 /* LyricFontAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FD1D295C5300B90302 /* LyricFontAttributes.cpp */; }; - 2933ABD21DA5AA73005D7222 /* LyricLanguage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FE1D295C5300B90302 /* LyricLanguage.cpp */; }; - 2933ABD31DA5AA73005D7222 /* LyricLanguageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FF1D295C5300B90302 /* LyricLanguageAttributes.cpp */; }; - 2933ABD41DA5AA73005D7222 /* LyricTextChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547001D295C5300B90302 /* LyricTextChoice.cpp */; }; - 2933ABD51DA5AA73005D7222 /* MeasureAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547011D295C5300B90302 /* MeasureAttributes.cpp */; }; - 2933ABD61DA5AA73005D7222 /* MeasureDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547021D295C5300B90302 /* MeasureDistance.cpp */; }; - 2933ABD71DA5AA73005D7222 /* MeasureLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547031D295C5300B90302 /* MeasureLayout.cpp */; }; - 2933ABD81DA5AA73005D7222 /* MeasureNumbering.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547041D295C5300B90302 /* MeasureNumbering.cpp */; }; - 2933ABD91DA5AA73005D7222 /* MeasureNumberingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547051D295C5300B90302 /* MeasureNumberingAttributes.cpp */; }; - 2933ABDA1DA5AA73005D7222 /* MeasureRepeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547061D295C5300B90302 /* MeasureRepeat.cpp */; }; - 2933ABDB1DA5AA73005D7222 /* MeasureRepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547071D295C5300B90302 /* MeasureRepeatAttributes.cpp */; }; - 2933ABDC1DA5AA73005D7222 /* MeasureStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547081D295C5300B90302 /* MeasureStyle.cpp */; }; - 2933ABDD1DA5AA73005D7222 /* MeasureStyleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547091D295C5300B90302 /* MeasureStyleAttributes.cpp */; }; - 2933ABDE1DA5AA73005D7222 /* MeasureStyleChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470A1D295C5300B90302 /* MeasureStyleChoice.cpp */; }; - 2933ABDF1DA5AA73005D7222 /* Membrane.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470B1D295C5300B90302 /* Membrane.cpp */; }; - 2933ABE01DA5AA73005D7222 /* Metal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470C1D295C5300B90302 /* Metal.cpp */; }; - 2933ABE11DA5AA73005D7222 /* Metronome.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470D1D295C5300B90302 /* Metronome.cpp */; }; - 2933ABE21DA5AA73005D7222 /* MetronomeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470E1D295C5300B90302 /* MetronomeAttributes.cpp */; }; - 2933ABE31DA5AA73005D7222 /* MetronomeBeam.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470F1D295C5300B90302 /* MetronomeBeam.cpp */; }; - 2933ABE41DA5AA73005D7222 /* MetronomeBeamAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547101D295C5300B90302 /* MetronomeBeamAttributes.cpp */; }; - 2933ABE51DA5AA73005D7222 /* MetronomeDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547111D295C5300B90302 /* MetronomeDot.cpp */; }; - 2933ABE61DA5AA73005D7222 /* MetronomeNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547121D295C5300B90302 /* MetronomeNote.cpp */; }; - 2933ABE71DA5AA73005D7222 /* MetronomeRelation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547131D295C5300B90302 /* MetronomeRelation.cpp */; }; - 2933ABE81DA5AA73005D7222 /* MetronomeRelationGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547141D295C5300B90302 /* MetronomeRelationGroup.cpp */; }; - 2933ABE91DA5AA73005D7222 /* MetronomeTuplet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547151D295C5300B90302 /* MetronomeTuplet.cpp */; }; - 2933ABEA1DA5AA73005D7222 /* MetronomeTupletAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547161D295C5300B90302 /* MetronomeTupletAttributes.cpp */; }; - 2933ABEB1DA5AA73005D7222 /* MetronomeType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547171D295C5300B90302 /* MetronomeType.cpp */; }; - 2933ABEC1DA5AA73005D7222 /* MidiBank.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547181D295C5300B90302 /* MidiBank.cpp */; }; - 2933ABED1DA5AA73005D7222 /* MidiChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547191D295C5300B90302 /* MidiChannel.cpp */; }; - 2933ABEE1DA5AA73005D7222 /* MidiDevice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471A1D295C5300B90302 /* MidiDevice.cpp */; }; - 2933ABEF1DA5AA73005D7222 /* MidiDeviceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471B1D295C5300B90302 /* MidiDeviceAttributes.cpp */; }; - 2933ABF01DA5AA73005D7222 /* MidiDeviceInstrumentGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471C1D295C5300B90302 /* MidiDeviceInstrumentGroup.cpp */; }; - 2933ABF11DA5AA73005D7222 /* MidiInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471D1D295C5300B90302 /* MidiInstrument.cpp */; }; - 2933ABF21DA5AA73005D7222 /* MidiInstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471E1D295C5300B90302 /* MidiInstrumentAttributes.cpp */; }; - 2933ABF31DA5AA73005D7222 /* MidiName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471F1D295C5300B90302 /* MidiName.cpp */; }; - 2933ABF41DA5AA73005D7222 /* MidiProgram.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547201D295C5300B90302 /* MidiProgram.cpp */; }; - 2933ABF51DA5AA73005D7222 /* MidiUnpitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547211D295C5300B90302 /* MidiUnpitched.cpp */; }; - 2933ABF61DA5AA73005D7222 /* Millimeters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547221D295C5300B90302 /* Millimeters.cpp */; }; - 2933ABF71DA5AA73005D7222 /* Miscellaneous.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547231D295C5300B90302 /* Miscellaneous.cpp */; }; - 2933ABF81DA5AA73005D7222 /* MiscellaneousField.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547241D295C5300B90302 /* MiscellaneousField.cpp */; }; - 2933ABF91DA5AA73005D7222 /* MiscellaneousFieldAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547251D295C5300B90302 /* MiscellaneousFieldAttributes.cpp */; }; - 2933ABFA1DA5AA73005D7222 /* Mode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547261D295C5300B90302 /* Mode.cpp */; }; - 2933ABFB1DA5AA73005D7222 /* Mordent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547271D295C5300B90302 /* Mordent.cpp */; }; - 2933ABFC1DA5AA73005D7222 /* MordentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547281D295C5300B90302 /* MordentAttributes.cpp */; }; - 2933ABFD1DA5AA73005D7222 /* MovementNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547291D295C5300B90302 /* MovementNumber.cpp */; }; - 2933ABFE1DA5AA73005D7222 /* MovementTitle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472A1D295C5300B90302 /* MovementTitle.cpp */; }; - 2933ABFF1DA5AA73005D7222 /* MultipleRest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472B1D295C5300B90302 /* MultipleRest.cpp */; }; - 2933AC001DA5AA73005D7222 /* MultipleRestAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472C1D295C5400B90302 /* MultipleRestAttributes.cpp */; }; - 2933AC011DA5AA73005D7222 /* MusicDataChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472D1D295C5400B90302 /* MusicDataChoice.cpp */; }; - 2933AC021DA5AA73005D7222 /* MusicDataGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472E1D295C5400B90302 /* MusicDataGroup.cpp */; }; - 2933AC031DA5AA73005D7222 /* MusicFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472F1D295C5400B90302 /* MusicFont.cpp */; }; - 2933AC041DA5AA73005D7222 /* Mute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547301D295C5400B90302 /* Mute.cpp */; }; - 2933AC051DA5AA73005D7222 /* Natural.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547311D295C5400B90302 /* Natural.cpp */; }; - 2933AC061DA5AA73005D7222 /* NonArpeggiate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547321D295C5400B90302 /* NonArpeggiate.cpp */; }; - 2933AC071DA5AA73005D7222 /* NonArpeggiateAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547331D295C5400B90302 /* NonArpeggiateAttributes.cpp */; }; - 2933AC081DA5AA73005D7222 /* NonTraditionalKey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547341D295C5400B90302 /* NonTraditionalKey.cpp */; }; - 2933AC091DA5AA73005D7222 /* NormalDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547351D295C5400B90302 /* NormalDot.cpp */; }; - 2933AC0A1DA5AA73005D7222 /* NormalNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547361D295C5400B90302 /* NormalNoteGroup.cpp */; }; - 2933AC0B1DA5AA73005D7222 /* NormalNotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547371D295C5400B90302 /* NormalNotes.cpp */; }; - 2933AC0C1DA5AA73005D7222 /* NormalType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547381D295C5400B90302 /* NormalType.cpp */; }; - 2933AC0D1DA5AA73005D7222 /* NormalTypeNormalDotGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547391D295C5400B90302 /* NormalTypeNormalDotGroup.cpp */; }; - 2933AC0E1DA5AA73005D7222 /* Notations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473A1D295C5400B90302 /* Notations.cpp */; }; - 2933AC0F1DA5AA73005D7222 /* NotationsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473B1D295C5400B90302 /* NotationsAttributes.cpp */; }; - 2933AC101DA5AA73005D7222 /* NotationsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473C1D295C5400B90302 /* NotationsChoice.cpp */; }; - 2933AC111DA5AA73005D7222 /* Note.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473D1D295C5400B90302 /* Note.cpp */; }; - 2933AC121DA5AA73005D7222 /* NoteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473E1D295C5400B90302 /* NoteAttributes.cpp */; }; - 2933AC131DA5AA73005D7222 /* NoteChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473F1D295C5400B90302 /* NoteChoice.cpp */; }; - 2933AC141DA5AA73005D7222 /* Notehead.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547401D295C5400B90302 /* Notehead.cpp */; }; - 2933AC151DA5AA73005D7222 /* NoteheadAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547411D295C5400B90302 /* NoteheadAttributes.cpp */; }; - 2933AC161DA5AA73005D7222 /* NoteheadText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547421D295C5400B90302 /* NoteheadText.cpp */; }; - 2933AC171DA5AA73005D7222 /* NoteheadTextChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 295C49361D2CB41E0015E349 /* NoteheadTextChoice.cpp */; }; - 2933AC181DA5AA73005D7222 /* NoteRelationNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547431D295C5400B90302 /* NoteRelationNote.cpp */; }; - 2933AC191DA5AA73005D7222 /* NoteSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547441D295C5400B90302 /* NoteSize.cpp */; }; - 2933AC1A1DA5AA73005D7222 /* NoteSizeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547451D295C5400B90302 /* NoteSizeAttributes.cpp */; }; - 2933AC1B1DA5AA73005D7222 /* Octave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547461D295C5400B90302 /* Octave.cpp */; }; - 2933AC1C1DA5AA73005D7222 /* OctaveChange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547471D295C5400B90302 /* OctaveChange.cpp */; }; - 2933AC1D1DA5AA73005D7222 /* OctaveShift.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547481D295C5400B90302 /* OctaveShift.cpp */; }; - 2933AC1E1DA5AA73005D7222 /* OctaveShiftAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547491D295C5400B90302 /* OctaveShiftAttributes.cpp */; }; - 2933AC1F1DA5AA73005D7222 /* Offset.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474A1D295C5400B90302 /* Offset.cpp */; }; - 2933AC201DA5AA73005D7222 /* OffsetAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474B1D295C5400B90302 /* OffsetAttributes.cpp */; }; - 2933AC211DA5AA73005D7222 /* OpenString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474C1D295C5400B90302 /* OpenString.cpp */; }; - 2933AC221DA5AA73005D7222 /* Opus.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474D1D295C5400B90302 /* Opus.cpp */; }; - 2933AC231DA5AA73005D7222 /* OpusAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474E1D295C5400B90302 /* OpusAttributes.cpp */; }; - 2933AC241DA5AA73005D7222 /* Ornaments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474F1D295C5400B90302 /* Ornaments.cpp */; }; - 2933AC251DA5AA73005D7222 /* OrnamentsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547501D295C5400B90302 /* OrnamentsChoice.cpp */; }; - 2933AC261DA5AA73005D7222 /* OtherAppearance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547511D295C5400B90302 /* OtherAppearance.cpp */; }; - 2933AC271DA5AA73005D7222 /* OtherAppearanceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547521D295C5400B90302 /* OtherAppearanceAttributes.cpp */; }; - 2933AC281DA5AA73005D7222 /* OtherArticulation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547531D295C5400B90302 /* OtherArticulation.cpp */; }; - 2933AC291DA5AA73005D7222 /* OtherArticulationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547541D295C5400B90302 /* OtherArticulationAttributes.cpp */; }; - 2933AC2A1DA5AA73005D7222 /* OtherDirection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547551D295C5400B90302 /* OtherDirection.cpp */; }; - 2933AC2B1DA5AA73005D7222 /* OtherDirectionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547561D295C5400B90302 /* OtherDirectionAttributes.cpp */; }; - 2933AC2C1DA5AA73005D7222 /* OtherNotation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547571D295C5400B90302 /* OtherNotation.cpp */; }; - 2933AC2D1DA5AA73005D7222 /* OtherNotationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547581D295C5400B90302 /* OtherNotationAttributes.cpp */; }; - 2933AC2E1DA5AA73005D7222 /* OtherOrnament.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547591D295C5400B90302 /* OtherOrnament.cpp */; }; - 2933AC2F1DA5AA73005D7222 /* OtherOrnamentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475A1D295C5400B90302 /* OtherOrnamentAttributes.cpp */; }; - 2933AC301DA5AA73005D7222 /* OtherPercussion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475B1D295C5400B90302 /* OtherPercussion.cpp */; }; - 2933AC311DA5AA73005D7222 /* OtherPlay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475C1D295C5400B90302 /* OtherPlay.cpp */; }; - 2933AC321DA5AA73005D7222 /* OtherPlayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475D1D295C5400B90302 /* OtherPlayAttributes.cpp */; }; - 2933AC331DA5AA73005D7222 /* OtherTechnical.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475E1D295C5400B90302 /* OtherTechnical.cpp */; }; - 2933AC341DA5AA73005D7222 /* OtherTechnicalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475F1D295C5400B90302 /* OtherTechnicalAttributes.cpp */; }; - 2933AC351DA5AA73005D7222 /* PageHeight.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547601D295C5400B90302 /* PageHeight.cpp */; }; - 2933AC361DA5AA73005D7222 /* PageLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547611D295C5400B90302 /* PageLayout.cpp */; }; - 2933AC371DA5AA73005D7222 /* PageMargins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547621D295C5400B90302 /* PageMargins.cpp */; }; - 2933AC381DA5AA73005D7222 /* PageMarginsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547631D295C5400B90302 /* PageMarginsAttributes.cpp */; }; - 2933AC391DA5AA73005D7222 /* PageWidth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547641D295C5400B90302 /* PageWidth.cpp */; }; - 2933AC3A1DA5AA73005D7222 /* Pan.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547651D295C5400B90302 /* Pan.cpp */; }; - 2933AC3B1DA5AA73005D7222 /* PartAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547661D295C5400B90302 /* PartAbbreviation.cpp */; }; - 2933AC3C1DA5AA73005D7222 /* PartAbbreviationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547671D295C5400B90302 /* PartAbbreviationAttributes.cpp */; }; - 2933AC3D1DA5AA73005D7222 /* PartAbbreviationDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547681D295C5400B90302 /* PartAbbreviationDisplay.cpp */; }; - 2933AC3E1DA5AA73005D7222 /* PartAbbreviationDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547691D295C5400B90302 /* PartAbbreviationDisplayAttributes.cpp */; }; - 2933AC3F1DA5AA73005D7222 /* PartAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476A1D295C5400B90302 /* PartAttributes.cpp */; }; - 2933AC401DA5AA73005D7222 /* PartGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476B1D295C5400B90302 /* PartGroup.cpp */; }; - 2933AC411DA5AA73005D7222 /* PartGroupAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476C1D295C5400B90302 /* PartGroupAttributes.cpp */; }; - 2933AC421DA5AA73005D7222 /* PartGroupOrScorePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476D1D295C5400B90302 /* PartGroupOrScorePart.cpp */; }; - 2933AC431DA5AA73005D7222 /* PartList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476E1D295C5400B90302 /* PartList.cpp */; }; - 2933AC441DA5AA73005D7222 /* PartName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476F1D295C5400B90302 /* PartName.cpp */; }; - 2933AC451DA5AA73005D7222 /* PartNameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547701D295C5400B90302 /* PartNameAttributes.cpp */; }; - 2933AC461DA5AA73005D7222 /* PartNameDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547711D295C5400B90302 /* PartNameDisplay.cpp */; }; - 2933AC471DA5AA73005D7222 /* PartNameDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547721D295C5400B90302 /* PartNameDisplayAttributes.cpp */; }; - 2933AC481DA5AA73005D7222 /* PartSymbol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547731D295C5400B90302 /* PartSymbol.cpp */; }; - 2933AC491DA5AA73005D7222 /* PartSymbolAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547741D295C5400B90302 /* PartSymbolAttributes.cpp */; }; - 2933AC4A1DA5AA73005D7222 /* PartwiseMeasure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547751D295C5400B90302 /* PartwiseMeasure.cpp */; }; - 2933AC4B1DA5AA73005D7222 /* PartwisePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547761D295C5400B90302 /* PartwisePart.cpp */; }; - 2933AC4C1DA5AA73005D7222 /* Pedal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547771D295C5400B90302 /* Pedal.cpp */; }; - 2933AC4D1DA5AA73005D7222 /* PedalAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547781D295C5400B90302 /* PedalAlter.cpp */; }; - 2933AC4E1DA5AA73005D7222 /* PedalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547791D295C5400B90302 /* PedalAttributes.cpp */; }; - 2933AC4F1DA5AA73005D7222 /* PedalStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477A1D295C5400B90302 /* PedalStep.cpp */; }; - 2933AC501DA5AA73005D7222 /* PedalTuning.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477B1D295C5400B90302 /* PedalTuning.cpp */; }; - 2933AC511DA5AA73005D7222 /* Percussion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477C1D295C5400B90302 /* Percussion.cpp */; }; - 2933AC521DA5AA73005D7222 /* PercussionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477D1D295C5400B90302 /* PercussionAttributes.cpp */; }; - 2933AC531DA5AA73005D7222 /* PercussionChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477E1D295C5400B90302 /* PercussionChoice.cpp */; }; - 2933AC541DA5AA73005D7222 /* PerMinute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477F1D295C5400B90302 /* PerMinute.cpp */; }; - 2933AC551DA5AA73005D7222 /* PerMinuteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547801D295C5400B90302 /* PerMinuteAttributes.cpp */; }; - 2933AC561DA5AA73005D7222 /* PerMinuteOrBeatUnitChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547811D295C5400B90302 /* PerMinuteOrBeatUnitChoice.cpp */; }; - 2933AC571DA5AA73005D7222 /* Pitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547821D295C5400B90302 /* Pitch.cpp */; }; - 2933AC581DA5AA73005D7222 /* Pitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547831D295C5400B90302 /* Pitched.cpp */; }; - 2933AC591DA5AA73005D7222 /* Play.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547841D295C5400B90302 /* Play.cpp */; }; - 2933AC5A1DA5AA73005D7222 /* PlayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547851D295C5400B90302 /* PlayAttributes.cpp */; }; - 2933AC5B1DA5AA73005D7222 /* Plop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547861D295C5400B90302 /* Plop.cpp */; }; - 2933AC5C1DA5AA73005D7222 /* Pluck.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547871D295C5400B90302 /* Pluck.cpp */; }; - 2933AC5D1DA5AA73005D7222 /* PluckAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547881D295C5400B90302 /* PluckAttributes.cpp */; }; - 2933AC5E1DA5AA73005D7222 /* PreBend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547891D295C5400B90302 /* PreBend.cpp */; }; - 2933AC5F1DA5AA73005D7222 /* Prefix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478A1D295C5400B90302 /* Prefix.cpp */; }; - 2933AC601DA5AA73005D7222 /* PrefixAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478B1D295C5400B90302 /* PrefixAttributes.cpp */; }; - 2933AC611DA5AA73005D7222 /* PrincipalVoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478C1D295C5400B90302 /* PrincipalVoice.cpp */; }; - 2933AC621DA5AA73005D7222 /* PrincipalVoiceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478D1D295C5400B90302 /* PrincipalVoiceAttributes.cpp */; }; - 2933AC631DA5AA73005D7222 /* Print.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478E1D295C5400B90302 /* Print.cpp */; }; - 2933AC641DA5AA73005D7222 /* PrintAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478F1D295C5400B90302 /* PrintAttributes.cpp */; }; - 2933AC651DA5AA73005D7222 /* Properties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547901D295C5400B90302 /* Properties.cpp */; }; - 2933AC661DA5AA73005D7222 /* PullOff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547911D295C5400B90302 /* PullOff.cpp */; }; - 2933AC671DA5AA73005D7222 /* PullOffAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547921D295C5400B90302 /* PullOffAttributes.cpp */; }; - 2933AC681DA5AA73005D7222 /* Rehearsal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547931D295C5400B90302 /* Rehearsal.cpp */; }; - 2933AC691DA5AA73005D7222 /* RehearsalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547941D295C5400B90302 /* RehearsalAttributes.cpp */; }; - 2933AC6A1DA5AA73005D7222 /* Relation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547951D295C5400B90302 /* Relation.cpp */; }; - 2933AC6B1DA5AA73005D7222 /* RelationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547961D295C5400B90302 /* RelationAttributes.cpp */; }; - 2933AC6C1DA5AA73005D7222 /* Release.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547971D295C5400B90302 /* Release.cpp */; }; - 2933AC6D1DA5AA73005D7222 /* Repeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547981D295C5400B90302 /* Repeat.cpp */; }; - 2933AC6E1DA5AA73005D7222 /* RepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547991D295C5400B90302 /* RepeatAttributes.cpp */; }; - 2933AC6F1DA5AA73005D7222 /* Rest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479A1D295C5400B90302 /* Rest.cpp */; }; - 2933AC701DA5AA73005D7222 /* RestAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479B1D295C5400B90302 /* RestAttributes.cpp */; }; - 2933AC711DA5AA73005D7222 /* RightDivider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479C1D295C5400B90302 /* RightDivider.cpp */; }; - 2933AC721DA5AA73005D7222 /* RightMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479D1D295C5400B90302 /* RightMargin.cpp */; }; - 2933AC731DA5AA73005D7222 /* Rights.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479E1D295C5400B90302 /* Rights.cpp */; }; - 2933AC741DA5AA73005D7222 /* RightsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479F1D295C5400B90302 /* RightsAttributes.cpp */; }; - 2933AC751DA5AA73005D7222 /* Root.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A01D295C5400B90302 /* Root.cpp */; }; - 2933AC761DA5AA73005D7222 /* RootAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A11D295C5400B90302 /* RootAlter.cpp */; }; - 2933AC771DA5AA73005D7222 /* RootAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A21D295C5400B90302 /* RootAlterAttributes.cpp */; }; - 2933AC781DA5AA73005D7222 /* RootStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A31D295C5400B90302 /* RootStep.cpp */; }; - 2933AC791DA5AA73005D7222 /* RootStepAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A41D295C5400B90302 /* RootStepAttributes.cpp */; }; - 2933AC7A1DA5AA73005D7222 /* Scaling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A51D295C5400B90302 /* Scaling.cpp */; }; - 2933AC7B1DA5AA73005D7222 /* Schleifer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A61D295C5400B90302 /* Schleifer.cpp */; }; - 2933AC7C1DA5AA73005D7222 /* Scoop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A71D295C5400B90302 /* Scoop.cpp */; }; - 2933AC7D1DA5AA73005D7222 /* Scordatura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A81D295C5400B90302 /* Scordatura.cpp */; }; - 2933AC7E1DA5AA73005D7222 /* ScoreHeaderGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A91D295C5400B90302 /* ScoreHeaderGroup.cpp */; }; - 2933AC7F1DA5AA73005D7222 /* ScoreInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AA1D295C5400B90302 /* ScoreInstrument.cpp */; }; - 2933AC801DA5AA73005D7222 /* ScoreInstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AB1D295C5400B90302 /* ScoreInstrumentAttributes.cpp */; }; - 2933AC811DA5AA73005D7222 /* ScorePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AC1D295C5400B90302 /* ScorePart.cpp */; }; - 2933AC821DA5AA73005D7222 /* ScorePartAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AD1D295C5400B90302 /* ScorePartAttributes.cpp */; }; - 2933AC831DA5AA73005D7222 /* ScorePartwise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AE1D295C5400B90302 /* ScorePartwise.cpp */; }; - 2933AC841DA5AA73005D7222 /* ScorePartwiseAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AF1D295C5400B90302 /* ScorePartwiseAttributes.cpp */; }; - 2933AC851DA5AA73005D7222 /* ScoreTimewise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B01D295C5400B90302 /* ScoreTimewise.cpp */; }; - 2933AC861DA5AA73005D7222 /* ScoreTimewiseAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B11D295C5400B90302 /* ScoreTimewiseAttributes.cpp */; }; - 2933AC871DA5AA73005D7222 /* Segno.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B21D295C5400B90302 /* Segno.cpp */; }; - 2933AC881DA5AA73005D7222 /* SemiPitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B31D295C5400B90302 /* SemiPitched.cpp */; }; - 2933AC891DA5AA73005D7222 /* SenzaMisura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B41D295C5400B90302 /* SenzaMisura.cpp */; }; - 2933AC8A1DA5AA73005D7222 /* Shake.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B51D295C5400B90302 /* Shake.cpp */; }; - 2933AC8B1DA5AA73005D7222 /* Sign.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B61D295C5400B90302 /* Sign.cpp */; }; - 2933AC8C1DA5AA73005D7222 /* Slash.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B71D295C5400B90302 /* Slash.cpp */; }; - 2933AC8D1DA5AA73005D7222 /* SlashAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B81D295C5400B90302 /* SlashAttributes.cpp */; }; - 2933AC8E1DA5AA73005D7222 /* SlashDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B91D295C5400B90302 /* SlashDot.cpp */; }; - 2933AC8F1DA5AA73005D7222 /* SlashType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BA1D295C5400B90302 /* SlashType.cpp */; }; - 2933AC901DA5AA73005D7222 /* Slide.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BB1D295C5400B90302 /* Slide.cpp */; }; - 2933AC911DA5AA73005D7222 /* SlideAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BC1D295C5400B90302 /* SlideAttributes.cpp */; }; - 2933AC921DA5AA73005D7222 /* Slur.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BD1D295C5400B90302 /* Slur.cpp */; }; - 2933AC931DA5AA73005D7222 /* SlurAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BE1D295C5400B90302 /* SlurAttributes.cpp */; }; - 2933AC941DA5AA73005D7222 /* SnapPizzicato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BF1D295C5400B90302 /* SnapPizzicato.cpp */; }; - 2933AC951DA5AA73005D7222 /* Software.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C01D295C5400B90302 /* Software.cpp */; }; - 2933AC961DA5AA73005D7222 /* Solo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C11D295C5400B90302 /* Solo.cpp */; }; - 2933AC971DA5AA73005D7222 /* SoloOrEnsembleChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C21D295C5400B90302 /* SoloOrEnsembleChoice.cpp */; }; - 2933AC981DA5AA73005D7222 /* Sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C31D295C5400B90302 /* Sound.cpp */; }; - 2933AC991DA5AA73005D7222 /* SoundAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C41D295C5400B90302 /* SoundAttributes.cpp */; }; - 2933AC9A1DA5AA73005D7222 /* SoundingPitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C51D295C5400B90302 /* SoundingPitch.cpp */; }; - 2933AC9B1DA5AA73005D7222 /* Source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C61D295C5400B90302 /* Source.cpp */; }; - 2933AC9C1DA5AA73005D7222 /* Spiccato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C71D295C5400B90302 /* Spiccato.cpp */; }; - 2933AC9D1DA5AA73005D7222 /* Staccatissimo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C81D295C5400B90302 /* Staccatissimo.cpp */; }; - 2933AC9E1DA5AA73005D7222 /* Staccato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C91D295C5400B90302 /* Staccato.cpp */; }; - 2933AC9F1DA5AA73005D7222 /* Staff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CA1D295C5400B90302 /* Staff.cpp */; }; - 2933ACA01DA5AA73005D7222 /* StaffDetails.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CB1D295C5400B90302 /* StaffDetails.cpp */; }; - 2933ACA11DA5AA73005D7222 /* StaffDetailsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CC1D295C5400B90302 /* StaffDetailsAttributes.cpp */; }; - 2933ACA21DA5AA73005D7222 /* StaffDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CD1D295C5400B90302 /* StaffDistance.cpp */; }; - 2933ACA31DA5AA73005D7222 /* StaffLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CE1D295C5400B90302 /* StaffLayout.cpp */; }; - 2933ACA41DA5AA73005D7222 /* StaffLayoutAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CF1D295C5400B90302 /* StaffLayoutAttributes.cpp */; }; - 2933ACA51DA5AA73005D7222 /* StaffLines.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D01D295C5400B90302 /* StaffLines.cpp */; }; - 2933ACA61DA5AA73005D7222 /* StaffSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D11D295C5400B90302 /* StaffSize.cpp */; }; - 2933ACA71DA5AA73005D7222 /* StaffTuning.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D21D295C5400B90302 /* StaffTuning.cpp */; }; - 2933ACA81DA5AA73005D7222 /* StaffTuningAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D31D295C5400B90302 /* StaffTuningAttributes.cpp */; }; - 2933ACA91DA5AA73005D7222 /* StaffType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D41D295C5400B90302 /* StaffType.cpp */; }; - 2933ACAA1DA5AA73005D7222 /* Staves.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D51D295C5400B90302 /* Staves.cpp */; }; - 2933ACAB1DA5AA73005D7222 /* Stem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D61D295C5400B90302 /* Stem.cpp */; }; - 2933ACAC1DA5AA73005D7222 /* StemAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D71D295C5400B90302 /* StemAttributes.cpp */; }; - 2933ACAD1DA5AA73005D7222 /* Step.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D81D295C5400B90302 /* Step.cpp */; }; - 2933ACAE1DA5AA73005D7222 /* Stick.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D91D295C5400B90302 /* Stick.cpp */; }; - 2933ACAF1DA5AA73005D7222 /* StickAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DA1D295C5400B90302 /* StickAttributes.cpp */; }; - 2933ACB01DA5AA73005D7222 /* StickLocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DB1D295C5400B90302 /* StickLocation.cpp */; }; - 2933ACB11DA5AA73005D7222 /* StickMaterial.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DC1D295C5400B90302 /* StickMaterial.cpp */; }; - 2933ACB21DA5AA73005D7222 /* StickType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DD1D295C5400B90302 /* StickType.cpp */; }; - 2933ACB31DA5AA73005D7222 /* Stopped.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DE1D295C5400B90302 /* Stopped.cpp */; }; - 2933ACB41DA5AA73005D7222 /* Stress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DF1D295C5400B90302 /* Stress.cpp */; }; - 2933ACB51DA5AA73005D7222 /* String.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E01D295C5400B90302 /* String.cpp */; }; - 2933ACB61DA5AA73005D7222 /* StringAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E11D295C5400B90302 /* StringAttributes.cpp */; }; - 2933ACB71DA5AA73005D7222 /* StringMute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E21D295C5400B90302 /* StringMute.cpp */; }; - 2933ACB81DA5AA73005D7222 /* StringMuteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E31D295C5400B90302 /* StringMuteAttributes.cpp */; }; - 2933ACB91DA5AA73005D7222 /* StrongAccent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E41D295C5400B90302 /* StrongAccent.cpp */; }; - 2933ACBA1DA5AA73005D7222 /* StrongAccentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E51D295C5400B90302 /* StrongAccentAttributes.cpp */; }; - 2933ACBB1DA5AA73005D7222 /* Suffix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E61D295C5400B90302 /* Suffix.cpp */; }; - 2933ACBC1DA5AA73005D7222 /* SuffixAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E71D295C5400B90302 /* SuffixAttributes.cpp */; }; - 2933ACBD1DA5AA73005D7222 /* Supports.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E81D295C5400B90302 /* Supports.cpp */; }; - 2933ACBE1DA5AA73005D7222 /* SupportsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E91D295C5400B90302 /* SupportsAttributes.cpp */; }; - 2933ACBF1DA5AA73005D7222 /* Syllabic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EA1D295C5400B90302 /* Syllabic.cpp */; }; - 2933ACC01DA5AA73005D7222 /* SyllabicTextGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EB1D295C5400B90302 /* SyllabicTextGroup.cpp */; }; - 2933ACC11DA5AA73005D7222 /* SystemDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EC1D295C5400B90302 /* SystemDistance.cpp */; }; - 2933ACC21DA5AA73005D7222 /* SystemDividers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547ED1D295C5400B90302 /* SystemDividers.cpp */; }; - 2933ACC31DA5AA73005D7222 /* SystemLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EE1D295C5400B90302 /* SystemLayout.cpp */; }; - 2933ACC41DA5AA73005D7222 /* SystemMargins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EF1D295C5400B90302 /* SystemMargins.cpp */; }; - 2933ACC51DA5AA73005D7222 /* Tap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F01D295C5400B90302 /* Tap.cpp */; }; - 2933ACC61DA5AA73005D7222 /* TapAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F11D295C5400B90302 /* TapAttributes.cpp */; }; - 2933ACC71DA5AA73005D7222 /* Technical.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F21D295C5400B90302 /* Technical.cpp */; }; - 2933ACC81DA5AA73005D7222 /* TechnicalChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F31D295C5400B90302 /* TechnicalChoice.cpp */; }; - 2933ACC91DA5AA73005D7222 /* Tenths.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F41D295C5400B90302 /* Tenths.cpp */; }; - 2933ACCA1DA5AA73005D7222 /* Tenuto.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F51D295C5400B90302 /* Tenuto.cpp */; }; - 2933ACCB1DA5AA73005D7222 /* Text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F61D295C5400B90302 /* Text.cpp */; }; - 2933ACCC1DA5AA73005D7222 /* TextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F71D295C5400B90302 /* TextAttributes.cpp */; }; - 2933ACCD1DA5AA73005D7222 /* ThumbPosition.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F81D295C5400B90302 /* ThumbPosition.cpp */; }; - 2933ACCE1DA5AA73005D7222 /* Tie.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F91D295C5400B90302 /* Tie.cpp */; }; - 2933ACCF1DA5AA73005D7222 /* TieAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FA1D295C5400B90302 /* TieAttributes.cpp */; }; - 2933ACD01DA5AA73005D7222 /* Tied.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FB1D295C5400B90302 /* Tied.cpp */; }; - 2933ACD11DA5AA73005D7222 /* TiedAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FC1D295C5400B90302 /* TiedAttributes.cpp */; }; - 2933ACD21DA5AA73005D7222 /* Time.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FD1D295C5400B90302 /* Time.cpp */; }; - 2933ACD31DA5AA73005D7222 /* TimeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FE1D295C5400B90302 /* TimeAttributes.cpp */; }; - 2933ACD41DA5AA73005D7222 /* TimeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FF1D295C5400B90302 /* TimeChoice.cpp */; }; - 2933ACD51DA5AA73005D7222 /* TimeModification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548001D295C5400B90302 /* TimeModification.cpp */; }; - 2933ACD61DA5AA73005D7222 /* TimeModificationNormalTypeNormalDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548011D295C5400B90302 /* TimeModificationNormalTypeNormalDot.cpp */; }; - 2933ACD71DA5AA73005D7222 /* TimeRelation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548021D295C5400B90302 /* TimeRelation.cpp */; }; - 2933ACD81DA5AA73005D7222 /* TimeSignatureGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548031D295C5400B90302 /* TimeSignatureGroup.cpp */; }; - 2933ACD91DA5AA73005D7222 /* TimewiseMeasure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548041D295C5400B90302 /* TimewiseMeasure.cpp */; }; - 2933ACDA1DA5AA73005D7222 /* TimewisePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548051D295C5400B90302 /* TimewisePart.cpp */; }; - 2933ACDB1DA5AA73005D7222 /* Timpani.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548061D295C5400B90302 /* Timpani.cpp */; }; - 2933ACDC1DA5AA73005D7222 /* Toe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548071D295C5400B90302 /* Toe.cpp */; }; - 2933ACDD1DA5AA73005D7222 /* ToeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548081D295C5400B90302 /* ToeAttributes.cpp */; }; - 2933ACDE1DA5AA73005D7222 /* TopMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548091D295C5400B90302 /* TopMargin.cpp */; }; - 2933ACDF1DA5AA73005D7222 /* TopSystemDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480A1D295C5400B90302 /* TopSystemDistance.cpp */; }; - 2933ACE01DA5AA73005D7222 /* TouchingPitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480B1D295C5400B90302 /* TouchingPitch.cpp */; }; - 2933ACE11DA5AA73005D7222 /* TraditionalKey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480C1D295C5400B90302 /* TraditionalKey.cpp */; }; - 2933ACE21DA5AA73005D7222 /* Transpose.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480D1D295C5400B90302 /* Transpose.cpp */; }; - 2933ACE31DA5AA73005D7222 /* TransposeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480E1D295C5400B90302 /* TransposeAttributes.cpp */; }; - 2933ACE41DA5AA73005D7222 /* Tremolo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480F1D295C5400B90302 /* Tremolo.cpp */; }; - 2933ACE51DA5AA73005D7222 /* TremoloAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548101D295C5400B90302 /* TremoloAttributes.cpp */; }; - 2933ACE61DA5AA73005D7222 /* TrillMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548111D295C5400B90302 /* TrillMark.cpp */; }; - 2933ACE71DA5AA73005D7222 /* TripleTongue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548121D295C5400B90302 /* TripleTongue.cpp */; }; - 2933ACE81DA5AA73005D7222 /* TuningAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548131D295C5400B90302 /* TuningAlter.cpp */; }; - 2933ACE91DA5AA73005D7222 /* TuningOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548141D295C5400B90302 /* TuningOctave.cpp */; }; - 2933ACEA1DA5AA73005D7222 /* TuningStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548151D295C5400B90302 /* TuningStep.cpp */; }; - 2933ACEB1DA5AA73005D7222 /* Tuplet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548161D295C5400B90302 /* Tuplet.cpp */; }; - 2933ACEC1DA5AA73005D7222 /* TupletActual.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548171D295C5400B90302 /* TupletActual.cpp */; }; - 2933ACED1DA5AA73005D7222 /* TupletAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548181D295C5400B90302 /* TupletAttributes.cpp */; }; - 2933ACEE1DA5AA73005D7222 /* TupletDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548191D295C5400B90302 /* TupletDot.cpp */; }; - 2933ACEF1DA5AA73005D7222 /* TupletDotAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481A1D295C5400B90302 /* TupletDotAttributes.cpp */; }; - 2933ACF01DA5AA73005D7222 /* TupletNormal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481B1D295C5400B90302 /* TupletNormal.cpp */; }; - 2933ACF11DA5AA73005D7222 /* TupletNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481C1D295C5500B90302 /* TupletNumber.cpp */; }; - 2933ACF21DA5AA73005D7222 /* TupletNumberAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481D1D295C5500B90302 /* TupletNumberAttributes.cpp */; }; - 2933ACF31DA5AA73005D7222 /* TupletType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481E1D295C5500B90302 /* TupletType.cpp */; }; - 2933ACF41DA5AA73005D7222 /* TupletTypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481F1D295C5500B90302 /* TupletTypeAttributes.cpp */; }; - 2933ACF51DA5AA73005D7222 /* Turn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548201D295C5500B90302 /* Turn.cpp */; }; - 2933ACF61DA5AA73005D7222 /* TurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548211D295C5500B90302 /* TurnAttributes.cpp */; }; - 2933ACF71DA5AA73005D7222 /* Type.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548221D295C5500B90302 /* Type.cpp */; }; - 2933ACF81DA5AA73005D7222 /* TypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548231D295C5500B90302 /* TypeAttributes.cpp */; }; - 2933ACF91DA5AA73005D7222 /* Unpitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548241D295C5500B90302 /* Unpitched.cpp */; }; - 2933ACFA1DA5AA73005D7222 /* Unstress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548251D295C5500B90302 /* Unstress.cpp */; }; - 2933ACFB1DA5AA73005D7222 /* UpBow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548261D295C5500B90302 /* UpBow.cpp */; }; - 2933ACFC1DA5AA73005D7222 /* VerticalTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548271D295C5500B90302 /* VerticalTurn.cpp */; }; - 2933ACFD1DA5AA73005D7222 /* VirtualInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548281D295C5500B90302 /* VirtualInstrument.cpp */; }; - 2933ACFE1DA5AA73005D7222 /* VirtualLibrary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548291D295C5500B90302 /* VirtualLibrary.cpp */; }; - 2933ACFF1DA5AA73005D7222 /* VirtualName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482A1D295C5500B90302 /* VirtualName.cpp */; }; - 2933AD001DA5AA73005D7222 /* Voice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482B1D295C5500B90302 /* Voice.cpp */; }; - 2933AD011DA5AA73005D7222 /* Volume.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482C1D295C5500B90302 /* Volume.cpp */; }; - 2933AD021DA5AA73005D7222 /* WavyLine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482D1D295C5500B90302 /* WavyLine.cpp */; }; - 2933AD031DA5AA73005D7222 /* WavyLineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482E1D295C5500B90302 /* WavyLineAttributes.cpp */; }; - 2933AD041DA5AA73005D7222 /* Wedge.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482F1D295C5500B90302 /* Wedge.cpp */; }; - 2933AD051DA5AA73005D7222 /* WedgeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548301D295C5500B90302 /* WedgeAttributes.cpp */; }; - 2933AD061DA5AA73005D7222 /* WithBar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548311D295C5500B90302 /* WithBar.cpp */; }; - 2933AD071DA5AA73005D7222 /* WithBarAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548321D295C5500B90302 /* WithBarAttributes.cpp */; }; - 2933AD081DA5AA73005D7222 /* Wood.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548331D295C5500B90302 /* Wood.cpp */; }; - 2933AD091DA5AA73005D7222 /* WordFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548341D295C5500B90302 /* WordFont.cpp */; }; - 2933AD0A1DA5AA73005D7222 /* Words.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548351D295C5500B90302 /* Words.cpp */; }; - 2933AD0B1DA5AA73005D7222 /* WordsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548361D295C5500B90302 /* WordsAttributes.cpp */; }; - 2933AD0C1DA5AA73005D7222 /* Work.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548371D295C5500B90302 /* Work.cpp */; }; - 2933AD0D1DA5AA73005D7222 /* WorkNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548381D295C5500B90302 /* WorkNumber.cpp */; }; - 2933AD0E1DA5AA73005D7222 /* WorkTitle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548391D295C5500B90302 /* WorkTitle.cpp */; }; - 2933AD0F1DA5AA73005D7222 /* EmptyPrintObjectStyleAlignAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AF61D130B690094BE61 /* EmptyPrintObjectStyleAlignAttributes.cpp */; }; - 2933AD101DA5AA73005D7222 /* Enums.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AF81D130B690094BE61 /* Enums.cpp */; }; - 2933AD111DA5AA73005D7222 /* FontSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AFA1D130B690094BE61 /* FontSize.cpp */; }; - 2933AD121DA5AA73005D7222 /* FromXElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 295DDE0F1D2C0D4D00A2881D /* FromXElement.cpp */; }; - 2933AD131DA5AA73005D7222 /* Integers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AFC1D130B690094BE61 /* Integers.cpp */; }; - 2933AD141DA5AA73005D7222 /* NumberOrNormal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AFE1D130B690094BE61 /* NumberOrNormal.cpp */; }; - 2933AD151DA5AA73005D7222 /* PositiveIntegerOrEmpty.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B001D130B690094BE61 /* PositiveIntegerOrEmpty.cpp */; }; - 2933AD161DA5AA73005D7222 /* Strings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B021D130B690094BE61 /* Strings.cpp */; }; - 2933AD171DA5AA73005D7222 /* YesNoNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B041D130B690094BE61 /* YesNoNumber.cpp */; }; - 2933AD181DA5AA73005D7222 /* pugixml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B5D1D130BBE0094BE61 /* pugixml.cpp */; }; - 2933AD191DA5AA73005D7222 /* Utility.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B2D1D130B910094BE61 /* Utility.cpp */; }; - 2933AD1A1DA5AA73005D7222 /* UtilityImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B2F1D130B910094BE61 /* UtilityImpl.cpp */; }; - 2933AD1B1DA5AA73005D7222 /* PugiAttribute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1451D18D403001C2A1A /* PugiAttribute.cpp */; }; - 2933AD1C1DA5AA73005D7222 /* PugiAttributeIterImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1471D18D403001C2A1A /* PugiAttributeIterImpl.cpp */; }; - 2933AD1D1DA5AA73005D7222 /* PugiDoc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1491D18D403001C2A1A /* PugiDoc.cpp */; }; - 2933AD1E1DA5AA73005D7222 /* PugiElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D14B1D18D403001C2A1A /* PugiElement.cpp */; }; - 2933AD1F1DA5AA73005D7222 /* PugiElementIterImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D14D1D18D403001C2A1A /* PugiElementIterImpl.cpp */; }; - 2933AD201DA5AA73005D7222 /* XAttributeIterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1501D18D403001C2A1A /* XAttributeIterator.cpp */; }; - 2933AD211DA5AA73005D7222 /* XElementIterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1561D18D403001C2A1A /* XElementIterator.cpp */; }; - 2933AD221DA5AA73005D7222 /* XFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1591D18D403001C2A1A /* XFactory.cpp */; }; - 2933AD421DA5AA73005D7222 /* mx-macOS.plist in Resources */ = {isa = PBXBuildFile; fileRef = 2933AA921DA5A60C005D7222 /* mx-macOS.plist */; }; 2937D15D1D18D403001C2A1A /* PugiAttribute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1451D18D403001C2A1A /* PugiAttribute.cpp */; }; 2937D15F1D18D403001C2A1A /* PugiAttributeIterImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1471D18D403001C2A1A /* PugiAttributeIterImpl.cpp */; }; 2937D1611D18D403001C2A1A /* PugiDoc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1491D18D403001C2A1A /* PugiDoc.cpp */; }; @@ -2624,53 +1272,1337 @@ 2951E1681DBA9C7300826CEF /* WedgeData.h in Headers */ = {isa = PBXBuildFile; fileRef = 2951E1671DBA9C7300826CEF /* WedgeData.h */; }; 295C49371D2CB41E0015E349 /* NoteheadTextChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 295C49361D2CB41E0015E349 /* NoteheadTextChoice.cpp */; }; 295DDE101D2C0D4D00A2881D /* FromXElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 295DDE0F1D2C0D4D00A2881D /* FromXElement.cpp */; }; - 29766AC31DABFC3C00CCE2AC /* TempoData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29766AC21DABFBA500CCE2AC /* TempoData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 29766AC41DABFC4000CCE2AC /* TempoData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29766AC21DABFBA500CCE2AC /* TempoData.h */; settings = {ATTRIBUTES = (Public, ); }; }; 29766AC71DAC014300CCE2AC /* MetronomeReader.h in Headers */ = {isa = PBXBuildFile; fileRef = 29766AC51DAC014300CCE2AC /* MetronomeReader.h */; }; 29766AC81DAC014300CCE2AC /* MetronomeReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29766AC61DAC014300CCE2AC /* MetronomeReader.cpp */; }; 29766ACB1DAC149900CCE2AC /* DirectionReader.h in Headers */ = {isa = PBXBuildFile; fileRef = 29766AC91DAC149900CCE2AC /* DirectionReader.h */; }; 29766ACC1DAC149900CCE2AC /* DirectionReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29766ACA1DAC149900CCE2AC /* DirectionReader.cpp */; }; - 29766AD31DAC14CC00CCE2AC /* DirectionData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29766AD11DAC14B900CCE2AC /* DirectionData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 29766AD41DAC14D700CCE2AC /* DirectionData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29766AD11DAC14B900CCE2AC /* DirectionData.h */; settings = {ATTRIBUTES = (Public, ); }; }; 29766AE01DAC39EF00CCE2AC /* KeyData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29766ADF1DAC39EF00CCE2AC /* KeyData.h */; }; - 29766AE11DAC39F800CCE2AC /* KeyData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29766ADF1DAC39EF00CCE2AC /* KeyData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 29766AE21DAC39FB00CCE2AC /* KeyData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29766ADF1DAC39EF00CCE2AC /* KeyData.h */; settings = {ATTRIBUTES = (Public, ); }; }; 29979D671DC830AA00707AA4 /* DynamicsWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29979D651DC830AA00707AA4 /* DynamicsWriter.cpp */; }; 29979D681DC830AA00707AA4 /* DynamicsWriter.h in Headers */ = {isa = PBXBuildFile; fileRef = 29979D661DC830AA00707AA4 /* DynamicsWriter.h */; }; - 29B48EE01DBEC6ED0030A974 /* WedgeData.h in Headers */ = {isa = PBXBuildFile; fileRef = 2951E1671DBA9C7300826CEF /* WedgeData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 29B48EE11DBEC6F10030A974 /* WedgeData.h in Headers */ = {isa = PBXBuildFile; fileRef = 2951E1671DBA9C7300826CEF /* WedgeData.h */; settings = {ATTRIBUTES = (Public, ); }; }; 29B48EE51DBEC9950030A974 /* BarlineData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29B48EE41DBEC9950030A974 /* BarlineData.h */; }; - 29B48EE61DBECA0D0030A974 /* BarlineData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29B48EE41DBEC9950030A974 /* BarlineData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 29B48EE71DBECA110030A974 /* BarlineData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29B48EE41DBEC9950030A974 /* BarlineData.h */; settings = {ATTRIBUTES = (Public, ); }; }; 29B4E81C1DA9CA0E005DC6D1 /* TupletData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29B4E81B1DA9CA0E005DC6D1 /* TupletData.h */; }; - 29B4E81D1DA9CA15005DC6D1 /* TupletData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29B4E81B1DA9CA0E005DC6D1 /* TupletData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 29B4E81E1DA9CA19005DC6D1 /* TupletData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29B4E81B1DA9CA0E005DC6D1 /* TupletData.h */; settings = {ATTRIBUTES = (Public, ); }; }; 29B4E8211DA9CD5D005DC6D1 /* TupletReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29B4E81F1DA9CD5D005DC6D1 /* TupletReader.cpp */; }; 29B4E8221DA9CD5D005DC6D1 /* TupletReader.h in Headers */ = {isa = PBXBuildFile; fileRef = 29B4E8201DA9CD5D005DC6D1 /* TupletReader.h */; }; 29B4E8241DA9CFC2005DC6D1 /* NoteAttachmentData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29B4E8231DA9CFC2005DC6D1 /* NoteAttachmentData.h */; }; - 29B4E8271DA9E792005DC6D1 /* NoteAttachmentData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29B4E8231DA9CFC2005DC6D1 /* NoteAttachmentData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 29B4E8281DA9E796005DC6D1 /* NoteAttachmentData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29B4E8231DA9CFC2005DC6D1 /* NoteAttachmentData.h */; settings = {ATTRIBUTES = (Public, ); }; }; 29B7C4691DAFFDBA009D7D8F /* MeasureWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29B7C4671DAFFDBA009D7D8F /* MeasureWriter.cpp */; }; 29B7C46A1DAFFDBA009D7D8F /* MeasureWriter.h in Headers */ = {isa = PBXBuildFile; fileRef = 29B7C4681DAFFDBA009D7D8F /* MeasureWriter.h */; }; 29B7C46C1DB02D2F009D7D8F /* SystemData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29B7C46B1DB02D2F009D7D8F /* SystemData.h */; }; - 29B7C46F1DB03B20009D7D8F /* SystemData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29B7C46B1DB02D2F009D7D8F /* SystemData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 29B7C4701DB03B24009D7D8F /* SystemData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29B7C46B1DB02D2F009D7D8F /* SystemData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 29B7C4731DB03B61009D7D8F /* ClefData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292D1DD01D9A43A500CDD9F4 /* ClefData.cpp */; }; - 29B7C4741DB03B61009D7D8F /* DocumentManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF44091D6E70D300DBDAB9 /* DocumentManager.cpp */; }; - 29B7C4751DB03B61009D7D8F /* DurationData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E9EA361DA4A80A0040183B /* DurationData.cpp */; }; - 29B7C4761DB03B61009D7D8F /* MarkData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29DB30A01DA0713200031477 /* MarkData.cpp */; }; - 29B7C4771DB03B61009D7D8F /* MeasureLocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C51A4C1D9F061600EAA308 /* MeasureLocation.cpp */; }; - 29B7C4781DB03B61009D7D8F /* NoteData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E9EA351DA4A80A0040183B /* NoteData.cpp */; }; - 29B7C4791DB03B61009D7D8F /* PitchData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E9EA341DA4A80A0040183B /* PitchData.cpp */; }; - 29B7C47A1DB03B61009D7D8F /* Smufl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C51A1D1D9ED91000EAA308 /* Smufl.cpp */; }; - 29B7C47C1DB03B61009D7D8F /* ClefData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292D1DD01D9A43A500CDD9F4 /* ClefData.cpp */; }; - 29B7C47D1DB03B61009D7D8F /* DocumentManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF44091D6E70D300DBDAB9 /* DocumentManager.cpp */; }; - 29B7C47E1DB03B61009D7D8F /* DurationData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E9EA361DA4A80A0040183B /* DurationData.cpp */; }; - 29B7C47F1DB03B61009D7D8F /* MarkData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29DB30A01DA0713200031477 /* MarkData.cpp */; }; - 29B7C4801DB03B61009D7D8F /* MeasureLocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C51A4C1D9F061600EAA308 /* MeasureLocation.cpp */; }; - 29B7C4811DB03B61009D7D8F /* NoteData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E9EA351DA4A80A0040183B /* NoteData.cpp */; }; - 29B7C4821DB03B61009D7D8F /* PitchData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E9EA341DA4A80A0040183B /* PitchData.cpp */; }; - 29B7C4831DB03B61009D7D8F /* Smufl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C51A1D1D9ED91000EAA308 /* Smufl.cpp */; }; + 29B962851E79FF410072071D /* MxiOS.h in Headers */ = {isa = PBXBuildFile; fileRef = 29B962831E79FF410072071D /* MxiOS.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 29B962891E79FF630072071D /* ClefData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292D1DD01D9A43A500CDD9F4 /* ClefData.cpp */; }; + 29B9628A1E79FF630072071D /* DocumentManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF44091D6E70D300DBDAB9 /* DocumentManager.cpp */; }; + 29B9628B1E79FF630072071D /* DurationData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E9EA361DA4A80A0040183B /* DurationData.cpp */; }; + 29B9628C1E79FF630072071D /* MarkData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29DB30A01DA0713200031477 /* MarkData.cpp */; }; + 29B9628D1E79FF630072071D /* MeasureLocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C51A4C1D9F061600EAA308 /* MeasureLocation.cpp */; }; + 29B9628E1E79FF630072071D /* NoteData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E9EA351DA4A80A0040183B /* NoteData.cpp */; }; + 29B9628F1E79FF630072071D /* PitchData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E9EA341DA4A80A0040183B /* PitchData.cpp */; }; + 29B962901E79FF630072071D /* Smufl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C51A1D1D9ED91000EAA308 /* Smufl.cpp */; }; + 29B962911E79FF630072071D /* AttributesInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE01D130B690094BE61 /* AttributesInterface.cpp */; }; + 29B962921E79FF630072071D /* Color.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE21D130B690094BE61 /* Color.cpp */; }; + 29B962931E79FF630072071D /* Date.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE41D130B690094BE61 /* Date.cpp */; }; + 29B962941E79FF630072071D /* Decimals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE61D130B690094BE61 /* Decimals.cpp */; }; + 29B962951E79FF630072071D /* Document.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE81D130B690094BE61 /* Document.cpp */; }; + 29B962961E79FF630072071D /* DocumentHeader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AEA1D130B690094BE61 /* DocumentHeader.cpp */; }; + 29B962971E79FF630072071D /* DocumentSpec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AEE1D130B690094BE61 /* DocumentSpec.cpp */; }; + 29B962981E79FF630072071D /* ElementInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AF21D130B690094BE61 /* ElementInterface.cpp */; }; + 29B962991E79FF630072071D /* Accent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545ED1D295C5300B90302 /* Accent.cpp */; }; + 29B9629A1E79FF630072071D /* Accidental.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545EE1D295C5300B90302 /* Accidental.cpp */; }; + 29B9629B1E79FF630072071D /* AccidentalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545EF1D295C5300B90302 /* AccidentalAttributes.cpp */; }; + 29B9629C1E79FF630072071D /* AccidentalMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F01D295C5300B90302 /* AccidentalMark.cpp */; }; + 29B9629D1E79FF630072071D /* AccidentalMarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F11D295C5300B90302 /* AccidentalMarkAttributes.cpp */; }; + 29B9629E1E79FF630072071D /* AccidentalText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F21D295C5300B90302 /* AccidentalText.cpp */; }; + 29B9629F1E79FF630072071D /* AccidentalTextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F31D295C5300B90302 /* AccidentalTextAttributes.cpp */; }; + 29B962A01E79FF630072071D /* Accord.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F41D295C5300B90302 /* Accord.cpp */; }; + 29B962A11E79FF630072071D /* AccordAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F51D295C5300B90302 /* AccordAttributes.cpp */; }; + 29B962A21E79FF630072071D /* AccordionHigh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F61D295C5300B90302 /* AccordionHigh.cpp */; }; + 29B962A31E79FF630072071D /* AccordionLow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F71D295C5300B90302 /* AccordionLow.cpp */; }; + 29B962A41E79FF630072071D /* AccordionMiddle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F81D295C5300B90302 /* AccordionMiddle.cpp */; }; + 29B962A51E79FF630072071D /* AccordionRegistration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F91D295C5300B90302 /* AccordionRegistration.cpp */; }; + 29B962A61E79FF630072071D /* AccordionRegistrationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FA1D295C5300B90302 /* AccordionRegistrationAttributes.cpp */; }; + 29B962A71E79FF630072071D /* ActualNotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FB1D295C5300B90302 /* ActualNotes.cpp */; }; + 29B962A81E79FF630072071D /* Alter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FC1D295C5300B90302 /* Alter.cpp */; }; + 29B962A91E79FF630072071D /* Appearance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FD1D295C5300B90302 /* Appearance.cpp */; }; + 29B962AA1E79FF630072071D /* Arpeggiate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FE1D295C5300B90302 /* Arpeggiate.cpp */; }; + 29B962AB1E79FF630072071D /* ArpeggiateAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FF1D295C5300B90302 /* ArpeggiateAttributes.cpp */; }; + 29B962AC1E79FF630072071D /* Arrow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546001D295C5300B90302 /* Arrow.cpp */; }; + 29B962AD1E79FF630072071D /* ArrowAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546011D295C5300B90302 /* ArrowAttributes.cpp */; }; + 29B962AE1E79FF630072071D /* ArrowDirection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546021D295C5300B90302 /* ArrowDirection.cpp */; }; + 29B962AF1E79FF630072071D /* ArrowGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546031D295C5300B90302 /* ArrowGroup.cpp */; }; + 29B962B01E79FF630072071D /* ArrowStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546041D295C5300B90302 /* ArrowStyle.cpp */; }; + 29B962B11E79FF630072071D /* Articulations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546051D295C5300B90302 /* Articulations.cpp */; }; + 29B962B21E79FF630072071D /* ArticulationsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546061D295C5300B90302 /* ArticulationsChoice.cpp */; }; + 29B962B31E79FF630072071D /* Artificial.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546071D295C5300B90302 /* Artificial.cpp */; }; + 29B962B41E79FF630072071D /* AttributesIterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546081D295C5300B90302 /* AttributesIterface.cpp */; }; + 29B962B51E79FF630072071D /* Backup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546091D295C5300B90302 /* Backup.cpp */; }; + 29B962B61E79FF630072071D /* Barline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460A1D295C5300B90302 /* Barline.cpp */; }; + 29B962B71E79FF630072071D /* BarlineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460B1D295C5300B90302 /* BarlineAttributes.cpp */; }; + 29B962B81E79FF630072071D /* Barre.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460C1D295C5300B90302 /* Barre.cpp */; }; + 29B962B91E79FF630072071D /* BarreAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460D1D295C5300B90302 /* BarreAttributes.cpp */; }; + 29B962BA1E79FF630072071D /* BarStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460E1D295C5300B90302 /* BarStyle.cpp */; }; + 29B962BB1E79FF630072071D /* BarStyleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460F1D295C5300B90302 /* BarStyleAttributes.cpp */; }; + 29B962BC1E79FF630072071D /* BasePitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546101D295C5300B90302 /* BasePitch.cpp */; }; + 29B962BD1E79FF640072071D /* Bass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546111D295C5300B90302 /* Bass.cpp */; }; + 29B962BE1E79FF640072071D /* BassAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546121D295C5300B90302 /* BassAlter.cpp */; }; + 29B962BF1E79FF640072071D /* BassAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546131D295C5300B90302 /* BassAlterAttributes.cpp */; }; + 29B962C01E79FF640072071D /* BassStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546141D295C5300B90302 /* BassStep.cpp */; }; + 29B962C11E79FF640072071D /* BassStepAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546151D295C5300B90302 /* BassStepAttributes.cpp */; }; + 29B962C21E79FF640072071D /* Beam.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546161D295C5300B90302 /* Beam.cpp */; }; + 29B962C31E79FF640072071D /* BeamAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546171D295C5300B90302 /* BeamAttributes.cpp */; }; + 29B962C41E79FF640072071D /* Beater.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546181D295C5300B90302 /* Beater.cpp */; }; + 29B962C51E79FF640072071D /* BeaterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546191D295C5300B90302 /* BeaterAttributes.cpp */; }; + 29B962C61E79FF640072071D /* BeatRepeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461A1D295C5300B90302 /* BeatRepeat.cpp */; }; + 29B962C71E79FF640072071D /* BeatRepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461B1D295C5300B90302 /* BeatRepeatAttributes.cpp */; }; + 29B962C81E79FF640072071D /* Beats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461C1D295C5300B90302 /* Beats.cpp */; }; + 29B962C91E79FF640072071D /* BeatType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461D1D295C5300B90302 /* BeatType.cpp */; }; + 29B962CA1E79FF640072071D /* BeatUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461E1D295C5300B90302 /* BeatUnit.cpp */; }; + 29B962CB1E79FF640072071D /* BeatUnitDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461F1D295C5300B90302 /* BeatUnitDot.cpp */; }; + 29B962CC1E79FF640072071D /* BeatUnitGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546201D295C5300B90302 /* BeatUnitGroup.cpp */; }; + 29B962CD1E79FF640072071D /* BeatUnitPer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546211D295C5300B90302 /* BeatUnitPer.cpp */; }; + 29B962CE1E79FF640072071D /* BeatUnitPerOrNoteRelationNoteChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546221D295C5300B90302 /* BeatUnitPerOrNoteRelationNoteChoice.cpp */; }; + 29B962CF1E79FF640072071D /* Bend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546231D295C5300B90302 /* Bend.cpp */; }; + 29B962D01E79FF640072071D /* BendAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546241D295C5300B90302 /* BendAlter.cpp */; }; + 29B962D11E79FF640072071D /* BendAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546251D295C5300B90302 /* BendAttributes.cpp */; }; + 29B962D21E79FF640072071D /* BendChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546261D295C5300B90302 /* BendChoice.cpp */; }; + 29B962D31E79FF640072071D /* Bookmark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546271D295C5300B90302 /* Bookmark.cpp */; }; + 29B962D41E79FF640072071D /* BookmarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546281D295C5300B90302 /* BookmarkAttributes.cpp */; }; + 29B962D51E79FF640072071D /* BottomMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546291D295C5300B90302 /* BottomMargin.cpp */; }; + 29B962D61E79FF640072071D /* Bracket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462A1D295C5300B90302 /* Bracket.cpp */; }; + 29B962D71E79FF640072071D /* BracketAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462B1D295C5300B90302 /* BracketAttributes.cpp */; }; + 29B962D81E79FF640072071D /* BreathMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462C1D295C5300B90302 /* BreathMark.cpp */; }; + 29B962D91E79FF640072071D /* BreathMarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462D1D295C5300B90302 /* BreathMarkAttributes.cpp */; }; + 29B962DA1E79FF640072071D /* Caesura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462E1D295C5300B90302 /* Caesura.cpp */; }; + 29B962DB1E79FF640072071D /* Cancel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462F1D295C5300B90302 /* Cancel.cpp */; }; + 29B962DC1E79FF640072071D /* CancelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546301D295C5300B90302 /* CancelAttributes.cpp */; }; + 29B962DD1E79FF640072071D /* Capo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546311D295C5300B90302 /* Capo.cpp */; }; + 29B962DE1E79FF640072071D /* Chord.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546321D295C5300B90302 /* Chord.cpp */; }; + 29B962DF1E79FF640072071D /* Chromatic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546331D295C5300B90302 /* Chromatic.cpp */; }; + 29B962E01E79FF640072071D /* CircularArrow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546341D295C5300B90302 /* CircularArrow.cpp */; }; + 29B962E11E79FF640072071D /* Clef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546351D295C5300B90302 /* Clef.cpp */; }; + 29B962E21E79FF640072071D /* ClefAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546361D295C5300B90302 /* ClefAttributes.cpp */; }; + 29B962E31E79FF640072071D /* ClefOctaveChange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546371D295C5300B90302 /* ClefOctaveChange.cpp */; }; + 29B962E41E79FF640072071D /* Coda.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546381D295C5300B90302 /* Coda.cpp */; }; + 29B962E51E79FF640072071D /* Creator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546391D295C5300B90302 /* Creator.cpp */; }; + 29B962E61E79FF640072071D /* CreatorAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463A1D295C5300B90302 /* CreatorAttributes.cpp */; }; + 29B962E71E79FF640072071D /* Credit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463B1D295C5300B90302 /* Credit.cpp */; }; + 29B962E81E79FF640072071D /* CreditAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463C1D295C5300B90302 /* CreditAttributes.cpp */; }; + 29B962E91E79FF640072071D /* CreditChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463D1D295C5300B90302 /* CreditChoice.cpp */; }; + 29B962EA1E79FF640072071D /* CreditImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463E1D295C5300B90302 /* CreditImage.cpp */; }; + 29B962EB1E79FF640072071D /* CreditImageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463F1D295C5300B90302 /* CreditImageAttributes.cpp */; }; + 29B962EC1E79FF640072071D /* CreditType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546401D295C5300B90302 /* CreditType.cpp */; }; + 29B962ED1E79FF640072071D /* CreditWords.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546411D295C5300B90302 /* CreditWords.cpp */; }; + 29B962EE1E79FF640072071D /* CreditWordsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546421D295C5300B90302 /* CreditWordsAttributes.cpp */; }; + 29B962EF1E79FF640072071D /* CreditWordsGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546431D295C5300B90302 /* CreditWordsGroup.cpp */; }; + 29B962F01E79FF640072071D /* Cue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546441D295C5300B90302 /* Cue.cpp */; }; + 29B962F11E79FF640072071D /* CueNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546451D295C5300B90302 /* CueNoteGroup.cpp */; }; + 29B962F21E79FF640072071D /* Damp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546461D295C5300B90302 /* Damp.cpp */; }; + 29B962F31E79FF640072071D /* DampAll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546471D295C5300B90302 /* DampAll.cpp */; }; + 29B962F41E79FF640072071D /* Dashes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546481D295C5300B90302 /* Dashes.cpp */; }; + 29B962F51E79FF640072071D /* DashesAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546491D295C5300B90302 /* DashesAttributes.cpp */; }; + 29B962F61E79FF640072071D /* Defaults.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464A1D295C5300B90302 /* Defaults.cpp */; }; + 29B962F71E79FF640072071D /* Degree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464B1D295C5300B90302 /* Degree.cpp */; }; + 29B962F81E79FF640072071D /* DegreeAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464C1D295C5300B90302 /* DegreeAlter.cpp */; }; + 29B962F91E79FF640072071D /* DegreeAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464D1D295C5300B90302 /* DegreeAlterAttributes.cpp */; }; + 29B962FA1E79FF640072071D /* DegreeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464E1D295C5300B90302 /* DegreeAttributes.cpp */; }; + 29B962FB1E79FF640072071D /* DegreeType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464F1D295C5300B90302 /* DegreeType.cpp */; }; + 29B962FC1E79FF640072071D /* DegreeTypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546501D295C5300B90302 /* DegreeTypeAttributes.cpp */; }; + 29B962FD1E79FF640072071D /* DegreeValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546511D295C5300B90302 /* DegreeValue.cpp */; }; + 29B962FE1E79FF640072071D /* DegreeValueAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546521D295C5300B90302 /* DegreeValueAttributes.cpp */; }; + 29B962FF1E79FF640072071D /* DelayedInvertedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546531D295C5300B90302 /* DelayedInvertedTurn.cpp */; }; + 29B963001E79FF640072071D /* DelayedInvertedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546541D295C5300B90302 /* DelayedInvertedTurnAttributes.cpp */; }; + 29B963011E79FF640072071D /* DelayedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546551D295C5300B90302 /* DelayedTurn.cpp */; }; + 29B963021E79FF640072071D /* DelayedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546561D295C5300B90302 /* DelayedTurnAttributes.cpp */; }; + 29B963031E79FF640072071D /* DetachedLegato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546571D295C5300B90302 /* DetachedLegato.cpp */; }; + 29B963041E79FF640072071D /* Diatonic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546581D295C5300B90302 /* Diatonic.cpp */; }; + 29B963051E79FF640072071D /* Direction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546591D295C5300B90302 /* Direction.cpp */; }; + 29B963061E79FF640072071D /* DirectionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465A1D295C5300B90302 /* DirectionAttributes.cpp */; }; + 29B963071E79FF640072071D /* DirectionType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465B1D295C5300B90302 /* DirectionType.cpp */; }; + 29B963081E79FF640072071D /* Directive.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465C1D295C5300B90302 /* Directive.cpp */; }; + 29B963091E79FF640072071D /* DirectiveAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465D1D295C5300B90302 /* DirectiveAttributes.cpp */; }; + 29B9630A1E79FF640072071D /* DisplayOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465E1D295C5300B90302 /* DisplayOctave.cpp */; }; + 29B9630B1E79FF640072071D /* DisplayStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465F1D295C5300B90302 /* DisplayStep.cpp */; }; + 29B9630C1E79FF640072071D /* DisplayStepOctaveGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546601D295C5300B90302 /* DisplayStepOctaveGroup.cpp */; }; + 29B9630D1E79FF640072071D /* DisplayText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546611D295C5300B90302 /* DisplayText.cpp */; }; + 29B9630E1E79FF640072071D /* DisplayTextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546621D295C5300B90302 /* DisplayTextAttributes.cpp */; }; + 29B9630F1E79FF640072071D /* DisplayTextOrAccidentalText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546631D295C5300B90302 /* DisplayTextOrAccidentalText.cpp */; }; + 29B963101E79FF640072071D /* Distance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546641D295C5300B90302 /* Distance.cpp */; }; + 29B963111E79FF640072071D /* DistanceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546651D295C5300B90302 /* DistanceAttributes.cpp */; }; + 29B963121E79FF640072071D /* Divisions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546661D295C5300B90302 /* Divisions.cpp */; }; + 29B963131E79FF640072071D /* Doit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546671D295C5300B90302 /* Doit.cpp */; }; + 29B963141E79FF640072071D /* Dot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546681D295C5300B90302 /* Dot.cpp */; }; + 29B963151E79FF640072071D /* Double.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546691D295C5300B90302 /* Double.cpp */; }; + 29B963161E79FF640072071D /* DoubleTongue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466A1D295C5300B90302 /* DoubleTongue.cpp */; }; + 29B963171E79FF640072071D /* DownBow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466B1D295C5300B90302 /* DownBow.cpp */; }; + 29B963181E79FF640072071D /* Duration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466C1D295C5300B90302 /* Duration.cpp */; }; + 29B963191E79FF640072071D /* Dynamics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466D1D295C5300B90302 /* Dynamics.cpp */; }; + 29B9631A1E79FF640072071D /* DynamicsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466E1D295C5300B90302 /* DynamicsAttributes.cpp */; }; + 29B9631B1E79FF640072071D /* EditorialGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466F1D295C5300B90302 /* EditorialGroup.cpp */; }; + 29B9631C1E79FF640072071D /* EditorialVoiceDirectionGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546701D295C5300B90302 /* EditorialVoiceDirectionGroup.cpp */; }; + 29B9631D1E79FF640072071D /* EditorialVoiceGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546711D295C5300B90302 /* EditorialVoiceGroup.cpp */; }; + 29B9631E1E79FF640072071D /* Effect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546721D295C5300B90302 /* Effect.cpp */; }; + 29B9631F1E79FF640072071D /* Elevation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546731D295C5300B90302 /* Elevation.cpp */; }; + 29B963201E79FF640072071D /* Elision.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546741D295C5300B90302 /* Elision.cpp */; }; + 29B963211E79FF640072071D /* ElisionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546751D295C5300B90302 /* ElisionAttributes.cpp */; }; + 29B963221E79FF640072071D /* ElisionSyllabicGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546761D295C5300B90302 /* ElisionSyllabicGroup.cpp */; }; + 29B963231E79FF640072071D /* ElisionSyllabicTextGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546771D295C5300B90302 /* ElisionSyllabicTextGroup.cpp */; }; + 29B963241E79FF640072071D /* EmptyFontAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546781D295C5300B90302 /* EmptyFontAttributes.cpp */; }; + 29B963251E79FF640072071D /* EmptyLineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546791D295C5300B90302 /* EmptyLineAttributes.cpp */; }; + 29B963261E79FF640072071D /* EmptyPlacementAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467A1D295C5300B90302 /* EmptyPlacementAttributes.cpp */; }; + 29B963271E79FF640072071D /* EmptyTrillSoundAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467B1D295C5300B90302 /* EmptyTrillSoundAttributes.cpp */; }; + 29B963281E79FF640072071D /* Encoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467C1D295C5300B90302 /* Encoder.cpp */; }; + 29B963291E79FF640072071D /* EncoderAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467D1D295C5300B90302 /* EncoderAttributes.cpp */; }; + 29B9632A1E79FF640072071D /* Encoding.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2904A4D31D301D5A00A39CC6 /* Encoding.cpp */; }; + 29B9632B1E79FF640072071D /* EncodingChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467E1D295C5300B90302 /* EncodingChoice.cpp */; }; + 29B9632C1E79FF640072071D /* EncodingDate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467F1D295C5300B90302 /* EncodingDate.cpp */; }; + 29B9632D1E79FF640072071D /* EncodingDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546801D295C5300B90302 /* EncodingDescription.cpp */; }; + 29B9632E1E79FF640072071D /* Ending.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546811D295C5300B90302 /* Ending.cpp */; }; + 29B9632F1E79FF640072071D /* EndingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546821D295C5300B90302 /* EndingAttributes.cpp */; }; + 29B963301E79FF640072071D /* EndLine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546831D295C5300B90302 /* EndLine.cpp */; }; + 29B963311E79FF640072071D /* EndParagraph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546841D295C5300B90302 /* EndParagraph.cpp */; }; + 29B963321E79FF640072071D /* Ensemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546851D295C5300B90302 /* Ensemble.cpp */; }; + 29B963331E79FF640072071D /* Extend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546861D295C5300B90302 /* Extend.cpp */; }; + 29B963341E79FF640072071D /* ExtendAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546871D295C5300B90302 /* ExtendAttributes.cpp */; }; + 29B963351E79FF640072071D /* Eyeglasses.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546881D295C5300B90302 /* Eyeglasses.cpp */; }; + 29B963361E79FF640072071D /* Falloff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546891D295C5300B90302 /* Falloff.cpp */; }; + 29B963371E79FF640072071D /* Feature.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468A1D295C5300B90302 /* Feature.cpp */; }; + 29B963381E79FF640072071D /* FeatureAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468B1D295C5300B90302 /* FeatureAttributes.cpp */; }; + 29B963391E79FF640072071D /* Fermata.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468C1D295C5300B90302 /* Fermata.cpp */; }; + 29B9633A1E79FF640072071D /* FermataAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468D1D295C5300B90302 /* FermataAttributes.cpp */; }; + 29B9633B1E79FF640072071D /* Fifths.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468E1D295C5300B90302 /* Fifths.cpp */; }; + 29B9633C1E79FF640072071D /* Figure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468F1D295C5300B90302 /* Figure.cpp */; }; + 29B9633D1E79FF640072071D /* FiguredBass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546901D295C5300B90302 /* FiguredBass.cpp */; }; + 29B9633E1E79FF640072071D /* FiguredBassAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546911D295C5300B90302 /* FiguredBassAttributes.cpp */; }; + 29B9633F1E79FF640072071D /* FigureNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546921D295C5300B90302 /* FigureNumber.cpp */; }; + 29B963401E79FF640072071D /* FigureNumberAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546931D295C5300B90302 /* FigureNumberAttributes.cpp */; }; + 29B963411E79FF640072071D /* Fingering.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546941D295C5300B90302 /* Fingering.cpp */; }; + 29B963421E79FF640072071D /* FingeringAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546951D295C5300B90302 /* FingeringAttributes.cpp */; }; + 29B963431E79FF640072071D /* Fingernails.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546961D295C5300B90302 /* Fingernails.cpp */; }; + 29B963441E79FF640072071D /* FirstFret.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546971D295C5300B90302 /* FirstFret.cpp */; }; + 29B963451E79FF640072071D /* FirstFretAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546981D295C5300B90302 /* FirstFretAttributes.cpp */; }; + 29B963461E79FF640072071D /* Footnote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546991D295C5300B90302 /* Footnote.cpp */; }; + 29B963471E79FF640072071D /* FootnoteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469A1D295C5300B90302 /* FootnoteAttributes.cpp */; }; + 29B963481E79FF640072071D /* Forward.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469B1D295C5300B90302 /* Forward.cpp */; }; + 29B963491E79FF640072071D /* Frame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469C1D295C5300B90302 /* Frame.cpp */; }; + 29B9634A1E79FF640072071D /* FrameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469D1D295C5300B90302 /* FrameAttributes.cpp */; }; + 29B9634B1E79FF640072071D /* FrameFrets.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469E1D295C5300B90302 /* FrameFrets.cpp */; }; + 29B9634C1E79FF640072071D /* FrameNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469F1D295C5300B90302 /* FrameNote.cpp */; }; + 29B9634D1E79FF640072071D /* FrameStrings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A01D295C5300B90302 /* FrameStrings.cpp */; }; + 29B9634E1E79FF640072071D /* Fret.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A11D295C5300B90302 /* Fret.cpp */; }; + 29B9634F1E79FF640072071D /* FretAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A21D295C5300B90302 /* FretAttributes.cpp */; }; + 29B963501E79FF640072071D /* FullNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A31D295C5300B90302 /* FullNoteGroup.cpp */; }; + 29B963511E79FF640072071D /* FullNoteTypeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A41D295C5300B90302 /* FullNoteTypeChoice.cpp */; }; + 29B963521E79FF640072071D /* Function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A51D295C5300B90302 /* Function.cpp */; }; + 29B963531E79FF640072071D /* FunctionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A61D295C5300B90302 /* FunctionAttributes.cpp */; }; + 29B963541E79FF640072071D /* Glass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A71D295C5300B90302 /* Glass.cpp */; }; + 29B963551E79FF640072071D /* Glissando.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A81D295C5300B90302 /* Glissando.cpp */; }; + 29B963561E79FF640072071D /* GlissandoAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A91D295C5300B90302 /* GlissandoAttributes.cpp */; }; + 29B963571E79FF640072071D /* Grace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AA1D295C5300B90302 /* Grace.cpp */; }; + 29B963581E79FF640072071D /* GraceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AB1D295C5300B90302 /* GraceAttributes.cpp */; }; + 29B963591E79FF640072071D /* GraceNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AC1D295C5300B90302 /* GraceNoteGroup.cpp */; }; + 29B9635A1E79FF640072071D /* Group.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AD1D295C5300B90302 /* Group.cpp */; }; + 29B9635B1E79FF640072071D /* GroupAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AE1D295C5300B90302 /* GroupAbbreviation.cpp */; }; + 29B9635C1E79FF640072071D /* GroupAbbreviationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AF1D295C5300B90302 /* GroupAbbreviationAttributes.cpp */; }; + 29B9635D1E79FF640072071D /* GroupAbbreviationDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B01D295C5300B90302 /* GroupAbbreviationDisplay.cpp */; }; + 29B9635E1E79FF640072071D /* GroupAbbreviationDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B11D295C5300B90302 /* GroupAbbreviationDisplayAttributes.cpp */; }; + 29B9635F1E79FF640072071D /* GroupBarline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B21D295C5300B90302 /* GroupBarline.cpp */; }; + 29B963601E79FF640072071D /* GroupBarlineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B31D295C5300B90302 /* GroupBarlineAttributes.cpp */; }; + 29B963611E79FF640072071D /* Grouping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B41D295C5300B90302 /* Grouping.cpp */; }; + 29B963621E79FF640072071D /* GroupingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B51D295C5300B90302 /* GroupingAttributes.cpp */; }; + 29B963631E79FF640072071D /* GroupName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B61D295C5300B90302 /* GroupName.cpp */; }; + 29B963641E79FF640072071D /* GroupNameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B71D295C5300B90302 /* GroupNameAttributes.cpp */; }; + 29B963651E79FF640072071D /* GroupNameDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B81D295C5300B90302 /* GroupNameDisplay.cpp */; }; + 29B963661E79FF640072071D /* GroupNameDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B91D295C5300B90302 /* GroupNameDisplayAttributes.cpp */; }; + 29B963671E79FF640072071D /* GroupSymbol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BA1D295C5300B90302 /* GroupSymbol.cpp */; }; + 29B963681E79FF640072071D /* GroupSymbolAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BB1D295C5300B90302 /* GroupSymbolAttributes.cpp */; }; + 29B963691E79FF640072071D /* GroupTime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BC1D295C5300B90302 /* GroupTime.cpp */; }; + 29B9636A1E79FF640072071D /* HammerOn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BD1D295C5300B90302 /* HammerOn.cpp */; }; + 29B9636B1E79FF640072071D /* HammerOnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BE1D295C5300B90302 /* HammerOnAttributes.cpp */; }; + 29B9636C1E79FF640072071D /* Handbell.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BF1D295C5300B90302 /* Handbell.cpp */; }; + 29B9636D1E79FF640072071D /* HandbellAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C01D295C5300B90302 /* HandbellAttributes.cpp */; }; + 29B9636E1E79FF640072071D /* Harmonic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C11D295C5300B90302 /* Harmonic.cpp */; }; + 29B9636F1E79FF640072071D /* HarmonicAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C21D295C5300B90302 /* HarmonicAttributes.cpp */; }; + 29B963701E79FF640072071D /* HarmonicInfoChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C31D295C5300B90302 /* HarmonicInfoChoice.cpp */; }; + 29B963711E79FF640072071D /* HarmonicTypeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C41D295C5300B90302 /* HarmonicTypeChoice.cpp */; }; + 29B963721E79FF640072071D /* Harmony.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C51D295C5300B90302 /* Harmony.cpp */; }; + 29B963731E79FF640072071D /* HarmonyAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C61D295C5300B90302 /* HarmonyAttributes.cpp */; }; + 29B963741E79FF640072071D /* HarmonyChordGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C71D295C5300B90302 /* HarmonyChordGroup.cpp */; }; + 29B963751E79FF640072071D /* HarpPedals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C81D295C5300B90302 /* HarpPedals.cpp */; }; + 29B963761E79FF640072071D /* HarpPedalsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C91D295C5300B90302 /* HarpPedalsAttributes.cpp */; }; + 29B963771E79FF640072071D /* Heel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CA1D295C5300B90302 /* Heel.cpp */; }; + 29B963781E79FF640072071D /* HeelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CB1D295C5300B90302 /* HeelAttributes.cpp */; }; + 29B963791E79FF640072071D /* Hole.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CC1D295C5300B90302 /* Hole.cpp */; }; + 29B9637A1E79FF640072071D /* HoleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CD1D295C5300B90302 /* HoleAttributes.cpp */; }; + 29B9637B1E79FF640072071D /* HoleClosed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CE1D295C5300B90302 /* HoleClosed.cpp */; }; + 29B9637C1E79FF640072071D /* HoleClosedAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CF1D295C5300B90302 /* HoleClosedAttributes.cpp */; }; + 29B9637D1E79FF640072071D /* HoleShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D01D295C5300B90302 /* HoleShape.cpp */; }; + 29B9637E1E79FF640072071D /* HoleType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D11D295C5300B90302 /* HoleType.cpp */; }; + 29B9637F1E79FF640072071D /* Humming.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D21D295C5300B90302 /* Humming.cpp */; }; + 29B963801E79FF640072071D /* Identification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D31D295C5300B90302 /* Identification.cpp */; }; + 29B963811E79FF640072071D /* Image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D41D295C5300B90302 /* Image.cpp */; }; + 29B963821E79FF640072071D /* ImageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D51D295C5300B90302 /* ImageAttributes.cpp */; }; + 29B963831E79FF640072071D /* Instrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D61D295C5300B90302 /* Instrument.cpp */; }; + 29B963841E79FF640072071D /* InstrumentAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D71D295C5300B90302 /* InstrumentAbbreviation.cpp */; }; + 29B963851E79FF640072071D /* InstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D81D295C5300B90302 /* InstrumentAttributes.cpp */; }; + 29B963861E79FF640072071D /* InstrumentName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D91D295C5300B90302 /* InstrumentName.cpp */; }; + 29B963871E79FF640072071D /* Instruments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DA1D295C5300B90302 /* Instruments.cpp */; }; + 29B963881E79FF640072071D /* InstrumentSound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DB1D295C5300B90302 /* InstrumentSound.cpp */; }; + 29B963891E79FF640072071D /* Interchangeable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DC1D295C5300B90302 /* Interchangeable.cpp */; }; + 29B9638A1E79FF640072071D /* InterchangeableAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DD1D295C5300B90302 /* InterchangeableAttributes.cpp */; }; + 29B9638B1E79FF640072071D /* Inversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DE1D295C5300B90302 /* Inversion.cpp */; }; + 29B9638C1E79FF640072071D /* InversionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DF1D295C5300B90302 /* InversionAttributes.cpp */; }; + 29B9638D1E79FF640072071D /* InvertedMordent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E01D295C5300B90302 /* InvertedMordent.cpp */; }; + 29B9638E1E79FF640072071D /* InvertedMordentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E11D295C5300B90302 /* InvertedMordentAttributes.cpp */; }; + 29B9638F1E79FF640072071D /* InvertedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E21D295C5300B90302 /* InvertedTurn.cpp */; }; + 29B963901E79FF640072071D /* InvertedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E31D295C5300B90302 /* InvertedTurnAttributes.cpp */; }; + 29B963911E79FF640072071D /* Ipa.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E41D295C5300B90302 /* Ipa.cpp */; }; + 29B963921E79FF640072071D /* Key.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E51D295C5300B90302 /* Key.cpp */; }; + 29B963931E79FF640072071D /* KeyAccidental.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E61D295C5300B90302 /* KeyAccidental.cpp */; }; + 29B963941E79FF640072071D /* KeyAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E71D295C5300B90302 /* KeyAlter.cpp */; }; + 29B963951E79FF640072071D /* KeyAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E81D295C5300B90302 /* KeyAttributes.cpp */; }; + 29B963961E79FF640072071D /* KeyChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E91D295C5300B90302 /* KeyChoice.cpp */; }; + 29B963971E79FF640072071D /* KeyOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EA1D295C5300B90302 /* KeyOctave.cpp */; }; + 29B963981E79FF640072071D /* KeyOctaveAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EB1D295C5300B90302 /* KeyOctaveAttributes.cpp */; }; + 29B963991E79FF640072071D /* KeyStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EC1D295C5300B90302 /* KeyStep.cpp */; }; + 29B9639A1E79FF640072071D /* Kind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546ED1D295C5300B90302 /* Kind.cpp */; }; + 29B9639B1E79FF640072071D /* KindAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EE1D295C5300B90302 /* KindAttributes.cpp */; }; + 29B9639C1E79FF640072071D /* Laughing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EF1D295C5300B90302 /* Laughing.cpp */; }; + 29B9639D1E79FF640072071D /* LayoutGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F01D295C5300B90302 /* LayoutGroup.cpp */; }; + 29B9639E1E79FF640072071D /* LeftDivider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F11D295C5300B90302 /* LeftDivider.cpp */; }; + 29B9639F1E79FF640072071D /* LeftMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F21D295C5300B90302 /* LeftMargin.cpp */; }; + 29B963A01E79FF640072071D /* Level.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F31D295C5300B90302 /* Level.cpp */; }; + 29B963A11E79FF640072071D /* LevelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F41D295C5300B90302 /* LevelAttributes.cpp */; }; + 29B963A21E79FF640072071D /* Line.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F51D295C5300B90302 /* Line.cpp */; }; + 29B963A31E79FF640072071D /* LineWidth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F61D295C5300B90302 /* LineWidth.cpp */; }; + 29B963A41E79FF640072071D /* LineWidthAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F71D295C5300B90302 /* LineWidthAttributes.cpp */; }; + 29B963A51E79FF640072071D /* Link.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F81D295C5300B90302 /* Link.cpp */; }; + 29B963A61E79FF640072071D /* LinkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F91D295C5300B90302 /* LinkAttributes.cpp */; }; + 29B963A71E79FF640072071D /* Lyric.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FA1D295C5300B90302 /* Lyric.cpp */; }; + 29B963A81E79FF640072071D /* LyricAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FB1D295C5300B90302 /* LyricAttributes.cpp */; }; + 29B963A91E79FF640072071D /* LyricFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FC1D295C5300B90302 /* LyricFont.cpp */; }; + 29B963AA1E79FF640072071D /* LyricFontAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FD1D295C5300B90302 /* LyricFontAttributes.cpp */; }; + 29B963AB1E79FF640072071D /* LyricLanguage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FE1D295C5300B90302 /* LyricLanguage.cpp */; }; + 29B963AC1E79FF640072071D /* LyricLanguageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FF1D295C5300B90302 /* LyricLanguageAttributes.cpp */; }; + 29B963AD1E79FF640072071D /* LyricTextChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547001D295C5300B90302 /* LyricTextChoice.cpp */; }; + 29B963AE1E79FF640072071D /* MeasureAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547011D295C5300B90302 /* MeasureAttributes.cpp */; }; + 29B963AF1E79FF640072071D /* MeasureDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547021D295C5300B90302 /* MeasureDistance.cpp */; }; + 29B963B01E79FF640072071D /* MeasureLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547031D295C5300B90302 /* MeasureLayout.cpp */; }; + 29B963B11E79FF640072071D /* MeasureNumbering.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547041D295C5300B90302 /* MeasureNumbering.cpp */; }; + 29B963B21E79FF640072071D /* MeasureNumberingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547051D295C5300B90302 /* MeasureNumberingAttributes.cpp */; }; + 29B963B31E79FF640072071D /* MeasureRepeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547061D295C5300B90302 /* MeasureRepeat.cpp */; }; + 29B963B41E79FF640072071D /* MeasureRepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547071D295C5300B90302 /* MeasureRepeatAttributes.cpp */; }; + 29B963B51E79FF640072071D /* MeasureStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547081D295C5300B90302 /* MeasureStyle.cpp */; }; + 29B963B61E79FF640072071D /* MeasureStyleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547091D295C5300B90302 /* MeasureStyleAttributes.cpp */; }; + 29B963B71E79FF640072071D /* MeasureStyleChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470A1D295C5300B90302 /* MeasureStyleChoice.cpp */; }; + 29B963B81E79FF640072071D /* Membrane.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470B1D295C5300B90302 /* Membrane.cpp */; }; + 29B963B91E79FF640072071D /* Metal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470C1D295C5300B90302 /* Metal.cpp */; }; + 29B963BA1E79FF640072071D /* Metronome.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470D1D295C5300B90302 /* Metronome.cpp */; }; + 29B963BB1E79FF640072071D /* MetronomeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470E1D295C5300B90302 /* MetronomeAttributes.cpp */; }; + 29B963BC1E79FF640072071D /* MetronomeBeam.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470F1D295C5300B90302 /* MetronomeBeam.cpp */; }; + 29B963BD1E79FF640072071D /* MetronomeBeamAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547101D295C5300B90302 /* MetronomeBeamAttributes.cpp */; }; + 29B963BE1E79FF640072071D /* MetronomeDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547111D295C5300B90302 /* MetronomeDot.cpp */; }; + 29B963BF1E79FF640072071D /* MetronomeNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547121D295C5300B90302 /* MetronomeNote.cpp */; }; + 29B963C01E79FF640072071D /* MetronomeRelation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547131D295C5300B90302 /* MetronomeRelation.cpp */; }; + 29B963C11E79FF640072071D /* MetronomeRelationGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547141D295C5300B90302 /* MetronomeRelationGroup.cpp */; }; + 29B963C21E79FF640072071D /* MetronomeTuplet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547151D295C5300B90302 /* MetronomeTuplet.cpp */; }; + 29B963C31E79FF640072071D /* MetronomeTupletAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547161D295C5300B90302 /* MetronomeTupletAttributes.cpp */; }; + 29B963C41E79FF640072071D /* MetronomeType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547171D295C5300B90302 /* MetronomeType.cpp */; }; + 29B963C51E79FF640072071D /* MidiBank.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547181D295C5300B90302 /* MidiBank.cpp */; }; + 29B963C61E79FF640072071D /* MidiChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547191D295C5300B90302 /* MidiChannel.cpp */; }; + 29B963C71E79FF640072071D /* MidiDevice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471A1D295C5300B90302 /* MidiDevice.cpp */; }; + 29B963C81E79FF640072071D /* MidiDeviceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471B1D295C5300B90302 /* MidiDeviceAttributes.cpp */; }; + 29B963C91E79FF640072071D /* MidiDeviceInstrumentGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471C1D295C5300B90302 /* MidiDeviceInstrumentGroup.cpp */; }; + 29B963CA1E79FF640072071D /* MidiInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471D1D295C5300B90302 /* MidiInstrument.cpp */; }; + 29B963CB1E79FF640072071D /* MidiInstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471E1D295C5300B90302 /* MidiInstrumentAttributes.cpp */; }; + 29B963CC1E79FF640072071D /* MidiName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471F1D295C5300B90302 /* MidiName.cpp */; }; + 29B963CD1E79FF640072071D /* MidiProgram.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547201D295C5300B90302 /* MidiProgram.cpp */; }; + 29B963CE1E79FF640072071D /* MidiUnpitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547211D295C5300B90302 /* MidiUnpitched.cpp */; }; + 29B963CF1E79FF640072071D /* Millimeters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547221D295C5300B90302 /* Millimeters.cpp */; }; + 29B963D01E79FF640072071D /* Miscellaneous.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547231D295C5300B90302 /* Miscellaneous.cpp */; }; + 29B963D11E79FF640072071D /* MiscellaneousField.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547241D295C5300B90302 /* MiscellaneousField.cpp */; }; + 29B963D21E79FF640072071D /* MiscellaneousFieldAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547251D295C5300B90302 /* MiscellaneousFieldAttributes.cpp */; }; + 29B963D31E79FF640072071D /* Mode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547261D295C5300B90302 /* Mode.cpp */; }; + 29B963D41E79FF640072071D /* Mordent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547271D295C5300B90302 /* Mordent.cpp */; }; + 29B963D51E79FF640072071D /* MordentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547281D295C5300B90302 /* MordentAttributes.cpp */; }; + 29B963D61E79FF640072071D /* MovementNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547291D295C5300B90302 /* MovementNumber.cpp */; }; + 29B963D71E79FF640072071D /* MovementTitle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472A1D295C5300B90302 /* MovementTitle.cpp */; }; + 29B963D81E79FF640072071D /* MultipleRest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472B1D295C5300B90302 /* MultipleRest.cpp */; }; + 29B963D91E79FF640072071D /* MultipleRestAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472C1D295C5400B90302 /* MultipleRestAttributes.cpp */; }; + 29B963DA1E79FF640072071D /* MusicDataChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472D1D295C5400B90302 /* MusicDataChoice.cpp */; }; + 29B963DB1E79FF640072071D /* MusicDataGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472E1D295C5400B90302 /* MusicDataGroup.cpp */; }; + 29B963DC1E79FF640072071D /* MusicFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472F1D295C5400B90302 /* MusicFont.cpp */; }; + 29B963DD1E79FF640072071D /* Mute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547301D295C5400B90302 /* Mute.cpp */; }; + 29B963DE1E79FF640072071D /* Natural.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547311D295C5400B90302 /* Natural.cpp */; }; + 29B963DF1E79FF640072071D /* NonArpeggiate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547321D295C5400B90302 /* NonArpeggiate.cpp */; }; + 29B963E01E79FF640072071D /* NonArpeggiateAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547331D295C5400B90302 /* NonArpeggiateAttributes.cpp */; }; + 29B963E11E79FF640072071D /* NonTraditionalKey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547341D295C5400B90302 /* NonTraditionalKey.cpp */; }; + 29B963E21E79FF640072071D /* NormalDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547351D295C5400B90302 /* NormalDot.cpp */; }; + 29B963E31E79FF640072071D /* NormalNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547361D295C5400B90302 /* NormalNoteGroup.cpp */; }; + 29B963E41E79FF640072071D /* NormalNotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547371D295C5400B90302 /* NormalNotes.cpp */; }; + 29B963E51E79FF640072071D /* NormalType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547381D295C5400B90302 /* NormalType.cpp */; }; + 29B963E61E79FF640072071D /* NormalTypeNormalDotGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547391D295C5400B90302 /* NormalTypeNormalDotGroup.cpp */; }; + 29B963E71E79FF640072071D /* Notations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473A1D295C5400B90302 /* Notations.cpp */; }; + 29B963E81E79FF640072071D /* NotationsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473B1D295C5400B90302 /* NotationsAttributes.cpp */; }; + 29B963E91E79FF640072071D /* NotationsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473C1D295C5400B90302 /* NotationsChoice.cpp */; }; + 29B963EA1E79FF640072071D /* Note.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473D1D295C5400B90302 /* Note.cpp */; }; + 29B963EB1E79FF640072071D /* NoteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473E1D295C5400B90302 /* NoteAttributes.cpp */; }; + 29B963EC1E79FF640072071D /* NoteChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473F1D295C5400B90302 /* NoteChoice.cpp */; }; + 29B963ED1E79FF640072071D /* Notehead.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547401D295C5400B90302 /* Notehead.cpp */; }; + 29B963EE1E79FF640072071D /* NoteheadAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547411D295C5400B90302 /* NoteheadAttributes.cpp */; }; + 29B963EF1E79FF640072071D /* NoteheadText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547421D295C5400B90302 /* NoteheadText.cpp */; }; + 29B963F01E79FF640072071D /* NoteheadTextChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 295C49361D2CB41E0015E349 /* NoteheadTextChoice.cpp */; }; + 29B963F11E79FF640072071D /* NoteRelationNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547431D295C5400B90302 /* NoteRelationNote.cpp */; }; + 29B963F21E79FF640072071D /* NoteSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547441D295C5400B90302 /* NoteSize.cpp */; }; + 29B963F31E79FF640072071D /* NoteSizeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547451D295C5400B90302 /* NoteSizeAttributes.cpp */; }; + 29B963F41E79FF640072071D /* Octave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547461D295C5400B90302 /* Octave.cpp */; }; + 29B963F51E79FF640072071D /* OctaveChange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547471D295C5400B90302 /* OctaveChange.cpp */; }; + 29B963F61E79FF640072071D /* OctaveShift.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547481D295C5400B90302 /* OctaveShift.cpp */; }; + 29B963F71E79FF640072071D /* OctaveShiftAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547491D295C5400B90302 /* OctaveShiftAttributes.cpp */; }; + 29B963F81E79FF640072071D /* Offset.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474A1D295C5400B90302 /* Offset.cpp */; }; + 29B963F91E79FF640072071D /* OffsetAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474B1D295C5400B90302 /* OffsetAttributes.cpp */; }; + 29B963FA1E79FF640072071D /* OpenString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474C1D295C5400B90302 /* OpenString.cpp */; }; + 29B963FB1E79FF640072071D /* Opus.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474D1D295C5400B90302 /* Opus.cpp */; }; + 29B963FC1E79FF640072071D /* OpusAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474E1D295C5400B90302 /* OpusAttributes.cpp */; }; + 29B963FD1E79FF640072071D /* Ornaments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474F1D295C5400B90302 /* Ornaments.cpp */; }; + 29B963FE1E79FF640072071D /* OrnamentsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547501D295C5400B90302 /* OrnamentsChoice.cpp */; }; + 29B963FF1E79FF640072071D /* OtherAppearance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547511D295C5400B90302 /* OtherAppearance.cpp */; }; + 29B964001E79FF640072071D /* OtherAppearanceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547521D295C5400B90302 /* OtherAppearanceAttributes.cpp */; }; + 29B964011E79FF640072071D /* OtherArticulation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547531D295C5400B90302 /* OtherArticulation.cpp */; }; + 29B964021E79FF640072071D /* OtherArticulationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547541D295C5400B90302 /* OtherArticulationAttributes.cpp */; }; + 29B964031E79FF640072071D /* OtherDirection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547551D295C5400B90302 /* OtherDirection.cpp */; }; + 29B964041E79FF640072071D /* OtherDirectionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547561D295C5400B90302 /* OtherDirectionAttributes.cpp */; }; + 29B964051E79FF640072071D /* OtherNotation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547571D295C5400B90302 /* OtherNotation.cpp */; }; + 29B964061E79FF640072071D /* OtherNotationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547581D295C5400B90302 /* OtherNotationAttributes.cpp */; }; + 29B964071E79FF640072071D /* OtherOrnament.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547591D295C5400B90302 /* OtherOrnament.cpp */; }; + 29B964081E79FF640072071D /* OtherOrnamentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475A1D295C5400B90302 /* OtherOrnamentAttributes.cpp */; }; + 29B964091E79FF640072071D /* OtherPercussion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475B1D295C5400B90302 /* OtherPercussion.cpp */; }; + 29B9640A1E79FF640072071D /* OtherPlay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475C1D295C5400B90302 /* OtherPlay.cpp */; }; + 29B9640B1E79FF640072071D /* OtherPlayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475D1D295C5400B90302 /* OtherPlayAttributes.cpp */; }; + 29B9640C1E79FF640072071D /* OtherTechnical.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475E1D295C5400B90302 /* OtherTechnical.cpp */; }; + 29B9640D1E79FF640072071D /* OtherTechnicalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475F1D295C5400B90302 /* OtherTechnicalAttributes.cpp */; }; + 29B9640E1E79FF640072071D /* PageHeight.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547601D295C5400B90302 /* PageHeight.cpp */; }; + 29B9640F1E79FF640072071D /* PageLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547611D295C5400B90302 /* PageLayout.cpp */; }; + 29B964101E79FF640072071D /* PageMargins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547621D295C5400B90302 /* PageMargins.cpp */; }; + 29B964111E79FF640072071D /* PageMarginsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547631D295C5400B90302 /* PageMarginsAttributes.cpp */; }; + 29B964121E79FF640072071D /* PageWidth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547641D295C5400B90302 /* PageWidth.cpp */; }; + 29B964131E79FF640072071D /* Pan.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547651D295C5400B90302 /* Pan.cpp */; }; + 29B964141E79FF640072071D /* PartAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547661D295C5400B90302 /* PartAbbreviation.cpp */; }; + 29B964151E79FF640072071D /* PartAbbreviationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547671D295C5400B90302 /* PartAbbreviationAttributes.cpp */; }; + 29B964161E79FF640072071D /* PartAbbreviationDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547681D295C5400B90302 /* PartAbbreviationDisplay.cpp */; }; + 29B964171E79FF640072071D /* PartAbbreviationDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547691D295C5400B90302 /* PartAbbreviationDisplayAttributes.cpp */; }; + 29B964181E79FF640072071D /* PartAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476A1D295C5400B90302 /* PartAttributes.cpp */; }; + 29B964191E79FF640072071D /* PartGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476B1D295C5400B90302 /* PartGroup.cpp */; }; + 29B9641A1E79FF640072071D /* PartGroupAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476C1D295C5400B90302 /* PartGroupAttributes.cpp */; }; + 29B9641B1E79FF640072071D /* PartGroupOrScorePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476D1D295C5400B90302 /* PartGroupOrScorePart.cpp */; }; + 29B9641C1E79FF640072071D /* PartList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476E1D295C5400B90302 /* PartList.cpp */; }; + 29B9641D1E79FF640072071D /* PartName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476F1D295C5400B90302 /* PartName.cpp */; }; + 29B9641E1E79FF640072071D /* PartNameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547701D295C5400B90302 /* PartNameAttributes.cpp */; }; + 29B9641F1E79FF640072071D /* PartNameDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547711D295C5400B90302 /* PartNameDisplay.cpp */; }; + 29B964201E79FF640072071D /* PartNameDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547721D295C5400B90302 /* PartNameDisplayAttributes.cpp */; }; + 29B964211E79FF640072071D /* PartSymbol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547731D295C5400B90302 /* PartSymbol.cpp */; }; + 29B964221E79FF640072071D /* PartSymbolAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547741D295C5400B90302 /* PartSymbolAttributes.cpp */; }; + 29B964231E79FF640072071D /* PartwiseMeasure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547751D295C5400B90302 /* PartwiseMeasure.cpp */; }; + 29B964241E79FF640072071D /* PartwisePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547761D295C5400B90302 /* PartwisePart.cpp */; }; + 29B964251E79FF640072071D /* Pedal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547771D295C5400B90302 /* Pedal.cpp */; }; + 29B964261E79FF640072071D /* PedalAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547781D295C5400B90302 /* PedalAlter.cpp */; }; + 29B964271E79FF640072071D /* PedalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547791D295C5400B90302 /* PedalAttributes.cpp */; }; + 29B964281E79FF640072071D /* PedalStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477A1D295C5400B90302 /* PedalStep.cpp */; }; + 29B964291E79FF640072071D /* PedalTuning.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477B1D295C5400B90302 /* PedalTuning.cpp */; }; + 29B9642A1E79FF640072071D /* Percussion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477C1D295C5400B90302 /* Percussion.cpp */; }; + 29B9642B1E79FF640072071D /* PercussionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477D1D295C5400B90302 /* PercussionAttributes.cpp */; }; + 29B9642C1E79FF640072071D /* PercussionChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477E1D295C5400B90302 /* PercussionChoice.cpp */; }; + 29B9642D1E79FF640072071D /* PerMinute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477F1D295C5400B90302 /* PerMinute.cpp */; }; + 29B9642E1E79FF640072071D /* PerMinuteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547801D295C5400B90302 /* PerMinuteAttributes.cpp */; }; + 29B9642F1E79FF640072071D /* PerMinuteOrBeatUnitChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547811D295C5400B90302 /* PerMinuteOrBeatUnitChoice.cpp */; }; + 29B964301E79FF640072071D /* Pitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547821D295C5400B90302 /* Pitch.cpp */; }; + 29B964311E79FF640072071D /* Pitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547831D295C5400B90302 /* Pitched.cpp */; }; + 29B964321E79FF640072071D /* Play.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547841D295C5400B90302 /* Play.cpp */; }; + 29B964331E79FF640072071D /* PlayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547851D295C5400B90302 /* PlayAttributes.cpp */; }; + 29B964341E79FF640072071D /* Plop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547861D295C5400B90302 /* Plop.cpp */; }; + 29B964351E79FF640072071D /* Pluck.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547871D295C5400B90302 /* Pluck.cpp */; }; + 29B964361E79FF640072071D /* PluckAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547881D295C5400B90302 /* PluckAttributes.cpp */; }; + 29B964371E79FF640072071D /* PreBend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547891D295C5400B90302 /* PreBend.cpp */; }; + 29B964381E79FF640072071D /* Prefix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478A1D295C5400B90302 /* Prefix.cpp */; }; + 29B964391E79FF640072071D /* PrefixAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478B1D295C5400B90302 /* PrefixAttributes.cpp */; }; + 29B9643A1E79FF640072071D /* PrincipalVoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478C1D295C5400B90302 /* PrincipalVoice.cpp */; }; + 29B9643B1E79FF640072071D /* PrincipalVoiceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478D1D295C5400B90302 /* PrincipalVoiceAttributes.cpp */; }; + 29B9643C1E79FF640072071D /* Print.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478E1D295C5400B90302 /* Print.cpp */; }; + 29B9643D1E79FF640072071D /* PrintAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478F1D295C5400B90302 /* PrintAttributes.cpp */; }; + 29B9643E1E79FF640072071D /* Properties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547901D295C5400B90302 /* Properties.cpp */; }; + 29B9643F1E79FF640072071D /* PullOff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547911D295C5400B90302 /* PullOff.cpp */; }; + 29B964401E79FF640072071D /* PullOffAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547921D295C5400B90302 /* PullOffAttributes.cpp */; }; + 29B964411E79FF640072071D /* Rehearsal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547931D295C5400B90302 /* Rehearsal.cpp */; }; + 29B964421E79FF640072071D /* RehearsalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547941D295C5400B90302 /* RehearsalAttributes.cpp */; }; + 29B964431E79FF640072071D /* Relation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547951D295C5400B90302 /* Relation.cpp */; }; + 29B964441E79FF640072071D /* RelationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547961D295C5400B90302 /* RelationAttributes.cpp */; }; + 29B964451E79FF640072071D /* Release.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547971D295C5400B90302 /* Release.cpp */; }; + 29B964461E79FF640072071D /* Repeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547981D295C5400B90302 /* Repeat.cpp */; }; + 29B964471E79FF640072071D /* RepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547991D295C5400B90302 /* RepeatAttributes.cpp */; }; + 29B964481E79FF640072071D /* Rest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479A1D295C5400B90302 /* Rest.cpp */; }; + 29B964491E79FF640072071D /* RestAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479B1D295C5400B90302 /* RestAttributes.cpp */; }; + 29B9644A1E79FF640072071D /* RightDivider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479C1D295C5400B90302 /* RightDivider.cpp */; }; + 29B9644B1E79FF640072071D /* RightMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479D1D295C5400B90302 /* RightMargin.cpp */; }; + 29B9644C1E79FF640072071D /* Rights.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479E1D295C5400B90302 /* Rights.cpp */; }; + 29B9644D1E79FF640072071D /* RightsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479F1D295C5400B90302 /* RightsAttributes.cpp */; }; + 29B9644E1E79FF640072071D /* Root.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A01D295C5400B90302 /* Root.cpp */; }; + 29B9644F1E79FF640072071D /* RootAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A11D295C5400B90302 /* RootAlter.cpp */; }; + 29B964501E79FF640072071D /* RootAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A21D295C5400B90302 /* RootAlterAttributes.cpp */; }; + 29B964511E79FF640072071D /* RootStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A31D295C5400B90302 /* RootStep.cpp */; }; + 29B964521E79FF640072071D /* RootStepAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A41D295C5400B90302 /* RootStepAttributes.cpp */; }; + 29B964531E79FF640072071D /* Scaling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A51D295C5400B90302 /* Scaling.cpp */; }; + 29B964541E79FF640072071D /* Schleifer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A61D295C5400B90302 /* Schleifer.cpp */; }; + 29B964551E79FF640072071D /* Scoop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A71D295C5400B90302 /* Scoop.cpp */; }; + 29B964561E79FF640072071D /* Scordatura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A81D295C5400B90302 /* Scordatura.cpp */; }; + 29B964571E79FF640072071D /* ScoreHeaderGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A91D295C5400B90302 /* ScoreHeaderGroup.cpp */; }; + 29B964581E79FF640072071D /* ScoreInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AA1D295C5400B90302 /* ScoreInstrument.cpp */; }; + 29B964591E79FF640072071D /* ScoreInstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AB1D295C5400B90302 /* ScoreInstrumentAttributes.cpp */; }; + 29B9645A1E79FF640072071D /* ScorePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AC1D295C5400B90302 /* ScorePart.cpp */; }; + 29B9645B1E79FF640072071D /* ScorePartAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AD1D295C5400B90302 /* ScorePartAttributes.cpp */; }; + 29B9645C1E79FF640072071D /* ScorePartwise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AE1D295C5400B90302 /* ScorePartwise.cpp */; }; + 29B9645D1E79FF640072071D /* ScorePartwiseAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AF1D295C5400B90302 /* ScorePartwiseAttributes.cpp */; }; + 29B9645E1E79FF640072071D /* ScoreTimewise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B01D295C5400B90302 /* ScoreTimewise.cpp */; }; + 29B9645F1E79FF640072071D /* ScoreTimewiseAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B11D295C5400B90302 /* ScoreTimewiseAttributes.cpp */; }; + 29B964601E79FF640072071D /* Segno.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B21D295C5400B90302 /* Segno.cpp */; }; + 29B964611E79FF640072071D /* SemiPitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B31D295C5400B90302 /* SemiPitched.cpp */; }; + 29B964621E79FF640072071D /* SenzaMisura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B41D295C5400B90302 /* SenzaMisura.cpp */; }; + 29B964631E79FF640072071D /* Shake.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B51D295C5400B90302 /* Shake.cpp */; }; + 29B964641E79FF640072071D /* Sign.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B61D295C5400B90302 /* Sign.cpp */; }; + 29B964651E79FF640072071D /* Slash.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B71D295C5400B90302 /* Slash.cpp */; }; + 29B964661E79FF640072071D /* SlashAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B81D295C5400B90302 /* SlashAttributes.cpp */; }; + 29B964671E79FF640072071D /* SlashDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B91D295C5400B90302 /* SlashDot.cpp */; }; + 29B964681E79FF640072071D /* SlashType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BA1D295C5400B90302 /* SlashType.cpp */; }; + 29B964691E79FF640072071D /* Slide.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BB1D295C5400B90302 /* Slide.cpp */; }; + 29B9646A1E79FF640072071D /* SlideAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BC1D295C5400B90302 /* SlideAttributes.cpp */; }; + 29B9646B1E79FF640072071D /* Slur.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BD1D295C5400B90302 /* Slur.cpp */; }; + 29B9646C1E79FF640072071D /* SlurAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BE1D295C5400B90302 /* SlurAttributes.cpp */; }; + 29B9646D1E79FF640072071D /* SnapPizzicato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BF1D295C5400B90302 /* SnapPizzicato.cpp */; }; + 29B9646E1E79FF640072071D /* Software.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C01D295C5400B90302 /* Software.cpp */; }; + 29B9646F1E79FF640072071D /* Solo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C11D295C5400B90302 /* Solo.cpp */; }; + 29B964701E79FF640072071D /* SoloOrEnsembleChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C21D295C5400B90302 /* SoloOrEnsembleChoice.cpp */; }; + 29B964711E79FF640072071D /* Sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C31D295C5400B90302 /* Sound.cpp */; }; + 29B964721E79FF640072071D /* SoundAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C41D295C5400B90302 /* SoundAttributes.cpp */; }; + 29B964731E79FF640072071D /* SoundingPitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C51D295C5400B90302 /* SoundingPitch.cpp */; }; + 29B964741E79FF640072071D /* Source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C61D295C5400B90302 /* Source.cpp */; }; + 29B964751E79FF640072071D /* Spiccato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C71D295C5400B90302 /* Spiccato.cpp */; }; + 29B964761E79FF640072071D /* Staccatissimo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C81D295C5400B90302 /* Staccatissimo.cpp */; }; + 29B964771E79FF640072071D /* Staccato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C91D295C5400B90302 /* Staccato.cpp */; }; + 29B964781E79FF640072071D /* Staff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CA1D295C5400B90302 /* Staff.cpp */; }; + 29B964791E79FF640072071D /* StaffDetails.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CB1D295C5400B90302 /* StaffDetails.cpp */; }; + 29B9647A1E79FF640072071D /* StaffDetailsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CC1D295C5400B90302 /* StaffDetailsAttributes.cpp */; }; + 29B9647B1E79FF640072071D /* StaffDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CD1D295C5400B90302 /* StaffDistance.cpp */; }; + 29B9647C1E79FF640072071D /* StaffLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CE1D295C5400B90302 /* StaffLayout.cpp */; }; + 29B9647D1E79FF640072071D /* StaffLayoutAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CF1D295C5400B90302 /* StaffLayoutAttributes.cpp */; }; + 29B9647E1E79FF640072071D /* StaffLines.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D01D295C5400B90302 /* StaffLines.cpp */; }; + 29B9647F1E79FF640072071D /* StaffSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D11D295C5400B90302 /* StaffSize.cpp */; }; + 29B964801E79FF640072071D /* StaffTuning.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D21D295C5400B90302 /* StaffTuning.cpp */; }; + 29B964811E79FF640072071D /* StaffTuningAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D31D295C5400B90302 /* StaffTuningAttributes.cpp */; }; + 29B964821E79FF640072071D /* StaffType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D41D295C5400B90302 /* StaffType.cpp */; }; + 29B964831E79FF640072071D /* Staves.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D51D295C5400B90302 /* Staves.cpp */; }; + 29B964841E79FF640072071D /* Stem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D61D295C5400B90302 /* Stem.cpp */; }; + 29B964851E79FF640072071D /* StemAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D71D295C5400B90302 /* StemAttributes.cpp */; }; + 29B964861E79FF640072071D /* Step.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D81D295C5400B90302 /* Step.cpp */; }; + 29B964871E79FF640072071D /* Stick.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D91D295C5400B90302 /* Stick.cpp */; }; + 29B964881E79FF640072071D /* StickAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DA1D295C5400B90302 /* StickAttributes.cpp */; }; + 29B964891E79FF640072071D /* StickLocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DB1D295C5400B90302 /* StickLocation.cpp */; }; + 29B9648A1E79FF640072071D /* StickMaterial.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DC1D295C5400B90302 /* StickMaterial.cpp */; }; + 29B9648B1E79FF640072071D /* StickType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DD1D295C5400B90302 /* StickType.cpp */; }; + 29B9648C1E79FF640072071D /* Stopped.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DE1D295C5400B90302 /* Stopped.cpp */; }; + 29B9648D1E79FF640072071D /* Stress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DF1D295C5400B90302 /* Stress.cpp */; }; + 29B9648E1E79FF640072071D /* String.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E01D295C5400B90302 /* String.cpp */; }; + 29B9648F1E79FF640072071D /* StringAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E11D295C5400B90302 /* StringAttributes.cpp */; }; + 29B964901E79FF640072071D /* StringMute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E21D295C5400B90302 /* StringMute.cpp */; }; + 29B964911E79FF640072071D /* StringMuteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E31D295C5400B90302 /* StringMuteAttributes.cpp */; }; + 29B964921E79FF640072071D /* StrongAccent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E41D295C5400B90302 /* StrongAccent.cpp */; }; + 29B964931E79FF640072071D /* StrongAccentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E51D295C5400B90302 /* StrongAccentAttributes.cpp */; }; + 29B964941E79FF640072071D /* Suffix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E61D295C5400B90302 /* Suffix.cpp */; }; + 29B964951E79FF640072071D /* SuffixAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E71D295C5400B90302 /* SuffixAttributes.cpp */; }; + 29B964961E79FF640072071D /* Supports.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E81D295C5400B90302 /* Supports.cpp */; }; + 29B964971E79FF640072071D /* SupportsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E91D295C5400B90302 /* SupportsAttributes.cpp */; }; + 29B964981E79FF640072071D /* Syllabic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EA1D295C5400B90302 /* Syllabic.cpp */; }; + 29B964991E79FF640072071D /* SyllabicTextGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EB1D295C5400B90302 /* SyllabicTextGroup.cpp */; }; + 29B9649A1E79FF640072071D /* SystemDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EC1D295C5400B90302 /* SystemDistance.cpp */; }; + 29B9649B1E79FF640072071D /* SystemDividers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547ED1D295C5400B90302 /* SystemDividers.cpp */; }; + 29B9649C1E79FF640072071D /* SystemLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EE1D295C5400B90302 /* SystemLayout.cpp */; }; + 29B9649D1E79FF640072071D /* SystemMargins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EF1D295C5400B90302 /* SystemMargins.cpp */; }; + 29B9649E1E79FF640072071D /* Tap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F01D295C5400B90302 /* Tap.cpp */; }; + 29B9649F1E79FF640072071D /* TapAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F11D295C5400B90302 /* TapAttributes.cpp */; }; + 29B964A01E79FF640072071D /* Technical.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F21D295C5400B90302 /* Technical.cpp */; }; + 29B964A11E79FF640072071D /* TechnicalChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F31D295C5400B90302 /* TechnicalChoice.cpp */; }; + 29B964A21E79FF640072071D /* Tenths.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F41D295C5400B90302 /* Tenths.cpp */; }; + 29B964A31E79FF640072071D /* Tenuto.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F51D295C5400B90302 /* Tenuto.cpp */; }; + 29B964A41E79FF640072071D /* Text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F61D295C5400B90302 /* Text.cpp */; }; + 29B964A51E79FF640072071D /* TextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F71D295C5400B90302 /* TextAttributes.cpp */; }; + 29B964A61E79FF640072071D /* ThumbPosition.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F81D295C5400B90302 /* ThumbPosition.cpp */; }; + 29B964A71E79FF640072071D /* Tie.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F91D295C5400B90302 /* Tie.cpp */; }; + 29B964A81E79FF640072071D /* TieAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FA1D295C5400B90302 /* TieAttributes.cpp */; }; + 29B964A91E79FF640072071D /* Tied.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FB1D295C5400B90302 /* Tied.cpp */; }; + 29B964AA1E79FF640072071D /* TiedAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FC1D295C5400B90302 /* TiedAttributes.cpp */; }; + 29B964AB1E79FF640072071D /* Time.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FD1D295C5400B90302 /* Time.cpp */; }; + 29B964AC1E79FF640072071D /* TimeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FE1D295C5400B90302 /* TimeAttributes.cpp */; }; + 29B964AD1E79FF640072071D /* TimeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FF1D295C5400B90302 /* TimeChoice.cpp */; }; + 29B964AE1E79FF640072071D /* TimeModification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548001D295C5400B90302 /* TimeModification.cpp */; }; + 29B964AF1E79FF640072071D /* TimeModificationNormalTypeNormalDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548011D295C5400B90302 /* TimeModificationNormalTypeNormalDot.cpp */; }; + 29B964B01E79FF640072071D /* TimeRelation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548021D295C5400B90302 /* TimeRelation.cpp */; }; + 29B964B11E79FF640072071D /* TimeSignatureGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548031D295C5400B90302 /* TimeSignatureGroup.cpp */; }; + 29B964B21E79FF640072071D /* TimewiseMeasure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548041D295C5400B90302 /* TimewiseMeasure.cpp */; }; + 29B964B31E79FF640072071D /* TimewisePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548051D295C5400B90302 /* TimewisePart.cpp */; }; + 29B964B41E79FF640072071D /* Timpani.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548061D295C5400B90302 /* Timpani.cpp */; }; + 29B964B51E79FF640072071D /* Toe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548071D295C5400B90302 /* Toe.cpp */; }; + 29B964B61E79FF640072071D /* ToeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548081D295C5400B90302 /* ToeAttributes.cpp */; }; + 29B964B71E79FF640072071D /* TopMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548091D295C5400B90302 /* TopMargin.cpp */; }; + 29B964B81E79FF640072071D /* TopSystemDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480A1D295C5400B90302 /* TopSystemDistance.cpp */; }; + 29B964B91E79FF640072071D /* TouchingPitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480B1D295C5400B90302 /* TouchingPitch.cpp */; }; + 29B964BA1E79FF640072071D /* TraditionalKey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480C1D295C5400B90302 /* TraditionalKey.cpp */; }; + 29B964BB1E79FF640072071D /* Transpose.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480D1D295C5400B90302 /* Transpose.cpp */; }; + 29B964BC1E79FF640072071D /* TransposeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480E1D295C5400B90302 /* TransposeAttributes.cpp */; }; + 29B964BD1E79FF640072071D /* Tremolo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480F1D295C5400B90302 /* Tremolo.cpp */; }; + 29B964BE1E79FF640072071D /* TremoloAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548101D295C5400B90302 /* TremoloAttributes.cpp */; }; + 29B964BF1E79FF640072071D /* TrillMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548111D295C5400B90302 /* TrillMark.cpp */; }; + 29B964C01E79FF640072071D /* TripleTongue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548121D295C5400B90302 /* TripleTongue.cpp */; }; + 29B964C11E79FF640072071D /* TuningAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548131D295C5400B90302 /* TuningAlter.cpp */; }; + 29B964C21E79FF640072071D /* TuningOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548141D295C5400B90302 /* TuningOctave.cpp */; }; + 29B964C31E79FF640072071D /* TuningStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548151D295C5400B90302 /* TuningStep.cpp */; }; + 29B964C41E79FF640072071D /* Tuplet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548161D295C5400B90302 /* Tuplet.cpp */; }; + 29B964C51E79FF640072071D /* TupletActual.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548171D295C5400B90302 /* TupletActual.cpp */; }; + 29B964C61E79FF640072071D /* TupletAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548181D295C5400B90302 /* TupletAttributes.cpp */; }; + 29B964C71E79FF640072071D /* TupletDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548191D295C5400B90302 /* TupletDot.cpp */; }; + 29B964C81E79FF640072071D /* TupletDotAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481A1D295C5400B90302 /* TupletDotAttributes.cpp */; }; + 29B964C91E79FF640072071D /* TupletNormal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481B1D295C5400B90302 /* TupletNormal.cpp */; }; + 29B964CA1E79FF640072071D /* TupletNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481C1D295C5500B90302 /* TupletNumber.cpp */; }; + 29B964CB1E79FF640072071D /* TupletNumberAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481D1D295C5500B90302 /* TupletNumberAttributes.cpp */; }; + 29B964CC1E79FF640072071D /* TupletType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481E1D295C5500B90302 /* TupletType.cpp */; }; + 29B964CD1E79FF640072071D /* TupletTypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481F1D295C5500B90302 /* TupletTypeAttributes.cpp */; }; + 29B964CE1E79FF640072071D /* Turn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548201D295C5500B90302 /* Turn.cpp */; }; + 29B964CF1E79FF640072071D /* TurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548211D295C5500B90302 /* TurnAttributes.cpp */; }; + 29B964D01E79FF640072071D /* Type.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548221D295C5500B90302 /* Type.cpp */; }; + 29B964D11E79FF640072071D /* TypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548231D295C5500B90302 /* TypeAttributes.cpp */; }; + 29B964D21E79FF640072071D /* Unpitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548241D295C5500B90302 /* Unpitched.cpp */; }; + 29B964D31E79FF640072071D /* Unstress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548251D295C5500B90302 /* Unstress.cpp */; }; + 29B964D41E79FF640072071D /* UpBow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548261D295C5500B90302 /* UpBow.cpp */; }; + 29B964D51E79FF640072071D /* VerticalTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548271D295C5500B90302 /* VerticalTurn.cpp */; }; + 29B964D61E79FF640072071D /* VirtualInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548281D295C5500B90302 /* VirtualInstrument.cpp */; }; + 29B964D71E79FF640072071D /* VirtualLibrary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548291D295C5500B90302 /* VirtualLibrary.cpp */; }; + 29B964D81E79FF640072071D /* VirtualName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482A1D295C5500B90302 /* VirtualName.cpp */; }; + 29B964D91E79FF640072071D /* Voice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482B1D295C5500B90302 /* Voice.cpp */; }; + 29B964DA1E79FF640072071D /* Volume.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482C1D295C5500B90302 /* Volume.cpp */; }; + 29B964DB1E79FF640072071D /* WavyLine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482D1D295C5500B90302 /* WavyLine.cpp */; }; + 29B964DC1E79FF640072071D /* WavyLineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482E1D295C5500B90302 /* WavyLineAttributes.cpp */; }; + 29B964DD1E79FF640072071D /* Wedge.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482F1D295C5500B90302 /* Wedge.cpp */; }; + 29B964DE1E79FF640072071D /* WedgeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548301D295C5500B90302 /* WedgeAttributes.cpp */; }; + 29B964DF1E79FF640072071D /* WithBar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548311D295C5500B90302 /* WithBar.cpp */; }; + 29B964E01E79FF640072071D /* WithBarAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548321D295C5500B90302 /* WithBarAttributes.cpp */; }; + 29B964E11E79FF640072071D /* Wood.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548331D295C5500B90302 /* Wood.cpp */; }; + 29B964E21E79FF640072071D /* WordFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548341D295C5500B90302 /* WordFont.cpp */; }; + 29B964E31E79FF640072071D /* Words.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548351D295C5500B90302 /* Words.cpp */; }; + 29B964E41E79FF640072071D /* WordsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548361D295C5500B90302 /* WordsAttributes.cpp */; }; + 29B964E51E79FF640072071D /* Work.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548371D295C5500B90302 /* Work.cpp */; }; + 29B964E61E79FF640072071D /* WorkNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548381D295C5500B90302 /* WorkNumber.cpp */; }; + 29B964E71E79FF640072071D /* WorkTitle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548391D295C5500B90302 /* WorkTitle.cpp */; }; + 29B964E81E79FF640072071D /* EmptyPrintObjectStyleAlignAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AF61D130B690094BE61 /* EmptyPrintObjectStyleAlignAttributes.cpp */; }; + 29B964E91E79FF640072071D /* Enums.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AF81D130B690094BE61 /* Enums.cpp */; }; + 29B964EA1E79FF640072071D /* FontSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AFA1D130B690094BE61 /* FontSize.cpp */; }; + 29B964EB1E79FF640072071D /* FromXElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 295DDE0F1D2C0D4D00A2881D /* FromXElement.cpp */; }; + 29B964EC1E79FF640072071D /* Integers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AFC1D130B690094BE61 /* Integers.cpp */; }; + 29B964ED1E79FF640072071D /* NumberOrNormal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AFE1D130B690094BE61 /* NumberOrNormal.cpp */; }; + 29B964EE1E79FF640072071D /* PositiveIntegerOrEmpty.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B001D130B690094BE61 /* PositiveIntegerOrEmpty.cpp */; }; + 29B964EF1E79FF640072071D /* ScoreConversions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2951A0C31D60F3B700B49A13 /* ScoreConversions.cpp */; }; + 29B964F01E79FF640072071D /* Strings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B021D130B690094BE61 /* Strings.cpp */; }; + 29B964F11E79FF640072071D /* YesNoNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B041D130B690094BE61 /* YesNoNumber.cpp */; }; + 29B964F21E79FF640072071D /* DynamicsWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29979D651DC830AA00707AA4 /* DynamicsWriter.cpp */; }; + 29B964F31E79FF640072071D /* AccidentalMarkFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF2FE91DA307D3001FE5DF /* AccidentalMarkFunctions.cpp */; }; + 29B964F41E79FF640072071D /* ArticulationsFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF2F781DA2CC1D001FE5DF /* ArticulationsFunctions.cpp */; }; + 29B964F51E79FF640072071D /* Converter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2922CC621D9AF28400F8C9C1 /* Converter.cpp */; }; + 29B964F61E79FF640072071D /* Cursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2973065E1D89AB3300B8C0D3 /* Cursor.cpp */; }; + 29B964F71E79FF640072071D /* DirectionReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29766ACA1DAC149900CCE2AC /* DirectionReader.cpp */; }; + 29B964F81E79FF640072071D /* DirectionWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29CD722A1DB82C9200FB7153 /* DirectionWriter.cpp */; }; + 29B964F91E79FF640072071D /* DynamicsReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF2F7C1DA2D450001FE5DF /* DynamicsReader.cpp */; }; + 29B964FA1E79FF640072071D /* EncodingFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2913BB871D753FC8006C34A3 /* EncodingFunctions.cpp */; }; + 29B964FB1E79FF640072071D /* LayoutFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2913BB891D753FC8006C34A3 /* LayoutFunctions.cpp */; }; + 29B964FC1E79FF640072071D /* LcmGcd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2927ECA61D888AB30042E080 /* LcmGcd.cpp */; }; + 29B964FD1E79FF640072071D /* MeasureReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E2B3C81DA81E9700DC61EA /* MeasureReader.cpp */; }; + 29B964FE1E79FF640072071D /* MeasureWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29B7C4671DAFFDBA009D7D8F /* MeasureWriter.cpp */; }; + 29B964FF1E79FF640072071D /* MetronomeReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29766AC61DAC014300CCE2AC /* MetronomeReader.cpp */; }; + 29B965001E79FF640072071D /* NotationsWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29398BAE1DB1917B00475CD5 /* NotationsWriter.cpp */; }; + 29B965011E79FF640072071D /* NoteFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2913BB8B1D753FC8006C34A3 /* NoteFunctions.cpp */; }; + 29B965021E79FF640072071D /* NoteReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 297306661D89D08400B8C0D3 /* NoteReader.cpp */; }; + 29B965031E79FF640072071D /* NoteWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29398BA51DB1561200475CD5 /* NoteWriter.cpp */; }; + 29B965041E79FF640072071D /* OrnamentsFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF2FF11DA307D3001FE5DF /* OrnamentsFunctions.cpp */; }; + 29B965051E79FF640072071D /* PageTextFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2913BB8D1D753FC8006C34A3 /* PageTextFunctions.cpp */; }; + 29B965061E79FF640072071D /* PartReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E2B3CA1DA81E9700DC61EA /* PartReader.cpp */; }; + 29B965071E79FF640072071D /* PartWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29CDDA2B1DADCAF30022B1A3 /* PartWriter.cpp */; }; + 29B965081E79FF640072071D /* PropertiesWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29CD72261DB806FD00FB7153 /* PropertiesWriter.cpp */; }; + 29B965091E79FF640072071D /* ScoreReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C29B841DAEC00C00D3A884 /* ScoreReader.cpp */; }; + 29B9650A1E79FF640072071D /* ScoreWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C29B861DAEC00C00D3A884 /* ScoreWriter.cpp */; }; + 29B9650B1E79FF640072071D /* StaffFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 297DA0721D7F60BE0067C13A /* StaffFunctions.cpp */; }; + 29B9650C1E79FF640072071D /* TechnicalFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF30011DA32E37001FE5DF /* TechnicalFunctions.cpp */; }; + 29B9650D1E79FF640072071D /* TimeReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2927EC9E1D886E460042E080 /* TimeReader.cpp */; }; + 29B9650E1E79FF640072071D /* TupletReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29B4E81F1DA9CD5D005DC6D1 /* TupletReader.cpp */; }; + 29B9650F1E79FF640072071D /* pugixml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B5D1D130BBE0094BE61 /* pugixml.cpp */; }; + 29B965101E79FF640072071D /* Utility.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B2D1D130B910094BE61 /* Utility.cpp */; }; + 29B965111E79FF640072071D /* UtilityImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B2F1D130B910094BE61 /* UtilityImpl.cpp */; }; + 29B965121E79FF640072071D /* PugiAttribute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1451D18D403001C2A1A /* PugiAttribute.cpp */; }; + 29B965131E79FF640072071D /* PugiAttributeIterImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1471D18D403001C2A1A /* PugiAttributeIterImpl.cpp */; }; + 29B965141E79FF640072071D /* PugiDoc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1491D18D403001C2A1A /* PugiDoc.cpp */; }; + 29B965151E79FF640072071D /* PugiElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D14B1D18D403001C2A1A /* PugiElement.cpp */; }; + 29B965161E79FF640072071D /* PugiElementIterImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D14D1D18D403001C2A1A /* PugiElementIterImpl.cpp */; }; + 29B965171E79FF640072071D /* XAttributeIterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1501D18D403001C2A1A /* XAttributeIterator.cpp */; }; + 29B965181E79FF640072071D /* XElementIterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1561D18D403001C2A1A /* XElementIterator.cpp */; }; + 29B965191E79FF640072071D /* XFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1591D18D403001C2A1A /* XFactory.cpp */; }; + 29B9652D1E7A04140072071D /* MxmacOS.h in Headers */ = {isa = PBXBuildFile; fileRef = 29B9652B1E7A04140072071D /* MxmacOS.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 29B965311E7A043D0072071D /* ClefData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292D1DD01D9A43A500CDD9F4 /* ClefData.cpp */; }; + 29B965321E7A043D0072071D /* DocumentManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF44091D6E70D300DBDAB9 /* DocumentManager.cpp */; }; + 29B965331E7A043D0072071D /* DurationData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E9EA361DA4A80A0040183B /* DurationData.cpp */; }; + 29B965341E7A043D0072071D /* MarkData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29DB30A01DA0713200031477 /* MarkData.cpp */; }; + 29B965351E7A043D0072071D /* MeasureLocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C51A4C1D9F061600EAA308 /* MeasureLocation.cpp */; }; + 29B965361E7A043D0072071D /* NoteData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E9EA351DA4A80A0040183B /* NoteData.cpp */; }; + 29B965371E7A043D0072071D /* PitchData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E9EA341DA4A80A0040183B /* PitchData.cpp */; }; + 29B965381E7A043D0072071D /* Smufl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C51A1D1D9ED91000EAA308 /* Smufl.cpp */; }; + 29B965391E7A043D0072071D /* AttributesInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE01D130B690094BE61 /* AttributesInterface.cpp */; }; + 29B9653A1E7A043D0072071D /* Color.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE21D130B690094BE61 /* Color.cpp */; }; + 29B9653B1E7A043D0072071D /* Date.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE41D130B690094BE61 /* Date.cpp */; }; + 29B9653C1E7A043D0072071D /* Decimals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE61D130B690094BE61 /* Decimals.cpp */; }; + 29B9653D1E7A043D0072071D /* Document.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE81D130B690094BE61 /* Document.cpp */; }; + 29B9653E1E7A043D0072071D /* DocumentHeader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AEA1D130B690094BE61 /* DocumentHeader.cpp */; }; + 29B9653F1E7A043D0072071D /* DocumentSpec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AEE1D130B690094BE61 /* DocumentSpec.cpp */; }; + 29B965401E7A043D0072071D /* ElementInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AF21D130B690094BE61 /* ElementInterface.cpp */; }; + 29B965411E7A043D0072071D /* Accent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545ED1D295C5300B90302 /* Accent.cpp */; }; + 29B965421E7A043D0072071D /* Accidental.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545EE1D295C5300B90302 /* Accidental.cpp */; }; + 29B965431E7A043D0072071D /* AccidentalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545EF1D295C5300B90302 /* AccidentalAttributes.cpp */; }; + 29B965441E7A043D0072071D /* AccidentalMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F01D295C5300B90302 /* AccidentalMark.cpp */; }; + 29B965451E7A043D0072071D /* AccidentalMarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F11D295C5300B90302 /* AccidentalMarkAttributes.cpp */; }; + 29B965461E7A043D0072071D /* AccidentalText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F21D295C5300B90302 /* AccidentalText.cpp */; }; + 29B965471E7A043D0072071D /* AccidentalTextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F31D295C5300B90302 /* AccidentalTextAttributes.cpp */; }; + 29B965481E7A043D0072071D /* Accord.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F41D295C5300B90302 /* Accord.cpp */; }; + 29B965491E7A043D0072071D /* AccordAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F51D295C5300B90302 /* AccordAttributes.cpp */; }; + 29B9654A1E7A043D0072071D /* AccordionHigh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F61D295C5300B90302 /* AccordionHigh.cpp */; }; + 29B9654B1E7A043D0072071D /* AccordionLow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F71D295C5300B90302 /* AccordionLow.cpp */; }; + 29B9654C1E7A043D0072071D /* AccordionMiddle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F81D295C5300B90302 /* AccordionMiddle.cpp */; }; + 29B9654D1E7A043D0072071D /* AccordionRegistration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F91D295C5300B90302 /* AccordionRegistration.cpp */; }; + 29B9654E1E7A043D0072071D /* AccordionRegistrationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FA1D295C5300B90302 /* AccordionRegistrationAttributes.cpp */; }; + 29B9654F1E7A043D0072071D /* ActualNotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FB1D295C5300B90302 /* ActualNotes.cpp */; }; + 29B965501E7A043D0072071D /* Alter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FC1D295C5300B90302 /* Alter.cpp */; }; + 29B965511E7A043D0072071D /* Appearance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FD1D295C5300B90302 /* Appearance.cpp */; }; + 29B965521E7A043D0072071D /* Arpeggiate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FE1D295C5300B90302 /* Arpeggiate.cpp */; }; + 29B965531E7A043D0072071D /* ArpeggiateAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FF1D295C5300B90302 /* ArpeggiateAttributes.cpp */; }; + 29B965541E7A043D0072071D /* Arrow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546001D295C5300B90302 /* Arrow.cpp */; }; + 29B965551E7A043D0072071D /* ArrowAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546011D295C5300B90302 /* ArrowAttributes.cpp */; }; + 29B965561E7A043D0072071D /* ArrowDirection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546021D295C5300B90302 /* ArrowDirection.cpp */; }; + 29B965571E7A043D0072071D /* ArrowGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546031D295C5300B90302 /* ArrowGroup.cpp */; }; + 29B965581E7A043D0072071D /* ArrowStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546041D295C5300B90302 /* ArrowStyle.cpp */; }; + 29B965591E7A043D0072071D /* Articulations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546051D295C5300B90302 /* Articulations.cpp */; }; + 29B9655A1E7A043D0072071D /* ArticulationsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546061D295C5300B90302 /* ArticulationsChoice.cpp */; }; + 29B9655B1E7A043D0072071D /* Artificial.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546071D295C5300B90302 /* Artificial.cpp */; }; + 29B9655C1E7A043D0072071D /* AttributesIterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546081D295C5300B90302 /* AttributesIterface.cpp */; }; + 29B9655D1E7A043D0072071D /* Backup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546091D295C5300B90302 /* Backup.cpp */; }; + 29B9655E1E7A043D0072071D /* Barline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460A1D295C5300B90302 /* Barline.cpp */; }; + 29B9655F1E7A043D0072071D /* BarlineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460B1D295C5300B90302 /* BarlineAttributes.cpp */; }; + 29B965601E7A043D0072071D /* Barre.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460C1D295C5300B90302 /* Barre.cpp */; }; + 29B965611E7A043D0072071D /* BarreAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460D1D295C5300B90302 /* BarreAttributes.cpp */; }; + 29B965621E7A043D0072071D /* BarStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460E1D295C5300B90302 /* BarStyle.cpp */; }; + 29B965631E7A043D0072071D /* BarStyleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460F1D295C5300B90302 /* BarStyleAttributes.cpp */; }; + 29B965641E7A043D0072071D /* BasePitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546101D295C5300B90302 /* BasePitch.cpp */; }; + 29B965651E7A043D0072071D /* Bass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546111D295C5300B90302 /* Bass.cpp */; }; + 29B965661E7A043D0072071D /* BassAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546121D295C5300B90302 /* BassAlter.cpp */; }; + 29B965671E7A043D0072071D /* BassAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546131D295C5300B90302 /* BassAlterAttributes.cpp */; }; + 29B965681E7A043D0072071D /* BassStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546141D295C5300B90302 /* BassStep.cpp */; }; + 29B965691E7A043D0072071D /* BassStepAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546151D295C5300B90302 /* BassStepAttributes.cpp */; }; + 29B9656A1E7A043D0072071D /* Beam.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546161D295C5300B90302 /* Beam.cpp */; }; + 29B9656B1E7A043D0072071D /* BeamAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546171D295C5300B90302 /* BeamAttributes.cpp */; }; + 29B9656C1E7A043D0072071D /* Beater.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546181D295C5300B90302 /* Beater.cpp */; }; + 29B9656D1E7A043D0072071D /* BeaterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546191D295C5300B90302 /* BeaterAttributes.cpp */; }; + 29B9656E1E7A043D0072071D /* BeatRepeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461A1D295C5300B90302 /* BeatRepeat.cpp */; }; + 29B9656F1E7A043D0072071D /* BeatRepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461B1D295C5300B90302 /* BeatRepeatAttributes.cpp */; }; + 29B965701E7A043D0072071D /* Beats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461C1D295C5300B90302 /* Beats.cpp */; }; + 29B965711E7A043D0072071D /* BeatType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461D1D295C5300B90302 /* BeatType.cpp */; }; + 29B965721E7A043D0072071D /* BeatUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461E1D295C5300B90302 /* BeatUnit.cpp */; }; + 29B965731E7A043D0072071D /* BeatUnitDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461F1D295C5300B90302 /* BeatUnitDot.cpp */; }; + 29B965741E7A043D0072071D /* BeatUnitGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546201D295C5300B90302 /* BeatUnitGroup.cpp */; }; + 29B965751E7A043D0072071D /* BeatUnitPer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546211D295C5300B90302 /* BeatUnitPer.cpp */; }; + 29B965761E7A043D0072071D /* BeatUnitPerOrNoteRelationNoteChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546221D295C5300B90302 /* BeatUnitPerOrNoteRelationNoteChoice.cpp */; }; + 29B965771E7A043D0072071D /* Bend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546231D295C5300B90302 /* Bend.cpp */; }; + 29B965781E7A043D0072071D /* BendAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546241D295C5300B90302 /* BendAlter.cpp */; }; + 29B965791E7A043D0072071D /* BendAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546251D295C5300B90302 /* BendAttributes.cpp */; }; + 29B9657A1E7A043D0072071D /* BendChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546261D295C5300B90302 /* BendChoice.cpp */; }; + 29B9657B1E7A043D0072071D /* Bookmark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546271D295C5300B90302 /* Bookmark.cpp */; }; + 29B9657C1E7A043D0072071D /* BookmarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546281D295C5300B90302 /* BookmarkAttributes.cpp */; }; + 29B9657D1E7A043D0072071D /* BottomMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546291D295C5300B90302 /* BottomMargin.cpp */; }; + 29B9657E1E7A043D0072071D /* Bracket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462A1D295C5300B90302 /* Bracket.cpp */; }; + 29B9657F1E7A043D0072071D /* BracketAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462B1D295C5300B90302 /* BracketAttributes.cpp */; }; + 29B965801E7A043D0072071D /* BreathMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462C1D295C5300B90302 /* BreathMark.cpp */; }; + 29B965811E7A043D0072071D /* BreathMarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462D1D295C5300B90302 /* BreathMarkAttributes.cpp */; }; + 29B965821E7A043D0072071D /* Caesura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462E1D295C5300B90302 /* Caesura.cpp */; }; + 29B965831E7A043D0072071D /* Cancel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462F1D295C5300B90302 /* Cancel.cpp */; }; + 29B965841E7A043D0072071D /* CancelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546301D295C5300B90302 /* CancelAttributes.cpp */; }; + 29B965851E7A043D0072071D /* Capo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546311D295C5300B90302 /* Capo.cpp */; }; + 29B965861E7A043D0072071D /* Chord.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546321D295C5300B90302 /* Chord.cpp */; }; + 29B965871E7A043D0072071D /* Chromatic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546331D295C5300B90302 /* Chromatic.cpp */; }; + 29B965881E7A043D0072071D /* CircularArrow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546341D295C5300B90302 /* CircularArrow.cpp */; }; + 29B965891E7A043D0072071D /* Clef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546351D295C5300B90302 /* Clef.cpp */; }; + 29B9658A1E7A043D0072071D /* ClefAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546361D295C5300B90302 /* ClefAttributes.cpp */; }; + 29B9658B1E7A043D0072071D /* ClefOctaveChange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546371D295C5300B90302 /* ClefOctaveChange.cpp */; }; + 29B9658C1E7A043D0072071D /* Coda.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546381D295C5300B90302 /* Coda.cpp */; }; + 29B9658D1E7A043D0072071D /* Creator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546391D295C5300B90302 /* Creator.cpp */; }; + 29B9658E1E7A043D0072071D /* CreatorAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463A1D295C5300B90302 /* CreatorAttributes.cpp */; }; + 29B9658F1E7A043D0072071D /* Credit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463B1D295C5300B90302 /* Credit.cpp */; }; + 29B965901E7A043D0072071D /* CreditAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463C1D295C5300B90302 /* CreditAttributes.cpp */; }; + 29B965911E7A043D0072071D /* CreditChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463D1D295C5300B90302 /* CreditChoice.cpp */; }; + 29B965921E7A043D0072071D /* CreditImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463E1D295C5300B90302 /* CreditImage.cpp */; }; + 29B965931E7A043D0072071D /* CreditImageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463F1D295C5300B90302 /* CreditImageAttributes.cpp */; }; + 29B965941E7A043D0072071D /* CreditType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546401D295C5300B90302 /* CreditType.cpp */; }; + 29B965951E7A043D0072071D /* CreditWords.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546411D295C5300B90302 /* CreditWords.cpp */; }; + 29B965961E7A043D0072071D /* CreditWordsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546421D295C5300B90302 /* CreditWordsAttributes.cpp */; }; + 29B965971E7A043D0072071D /* CreditWordsGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546431D295C5300B90302 /* CreditWordsGroup.cpp */; }; + 29B965981E7A043D0072071D /* Cue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546441D295C5300B90302 /* Cue.cpp */; }; + 29B965991E7A043D0072071D /* CueNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546451D295C5300B90302 /* CueNoteGroup.cpp */; }; + 29B9659A1E7A043D0072071D /* Damp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546461D295C5300B90302 /* Damp.cpp */; }; + 29B9659B1E7A043D0072071D /* DampAll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546471D295C5300B90302 /* DampAll.cpp */; }; + 29B9659C1E7A043D0072071D /* Dashes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546481D295C5300B90302 /* Dashes.cpp */; }; + 29B9659D1E7A043D0072071D /* DashesAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546491D295C5300B90302 /* DashesAttributes.cpp */; }; + 29B9659E1E7A043D0072071D /* Defaults.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464A1D295C5300B90302 /* Defaults.cpp */; }; + 29B9659F1E7A043D0072071D /* Degree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464B1D295C5300B90302 /* Degree.cpp */; }; + 29B965A01E7A043D0072071D /* DegreeAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464C1D295C5300B90302 /* DegreeAlter.cpp */; }; + 29B965A11E7A043D0072071D /* DegreeAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464D1D295C5300B90302 /* DegreeAlterAttributes.cpp */; }; + 29B965A21E7A043D0072071D /* DegreeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464E1D295C5300B90302 /* DegreeAttributes.cpp */; }; + 29B965A31E7A043D0072071D /* DegreeType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464F1D295C5300B90302 /* DegreeType.cpp */; }; + 29B965A41E7A043D0072071D /* DegreeTypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546501D295C5300B90302 /* DegreeTypeAttributes.cpp */; }; + 29B965A51E7A043D0072071D /* DegreeValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546511D295C5300B90302 /* DegreeValue.cpp */; }; + 29B965A61E7A043D0072071D /* DegreeValueAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546521D295C5300B90302 /* DegreeValueAttributes.cpp */; }; + 29B965A71E7A043D0072071D /* DelayedInvertedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546531D295C5300B90302 /* DelayedInvertedTurn.cpp */; }; + 29B965A81E7A043D0072071D /* DelayedInvertedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546541D295C5300B90302 /* DelayedInvertedTurnAttributes.cpp */; }; + 29B965A91E7A043D0072071D /* DelayedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546551D295C5300B90302 /* DelayedTurn.cpp */; }; + 29B965AA1E7A043D0072071D /* DelayedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546561D295C5300B90302 /* DelayedTurnAttributes.cpp */; }; + 29B965AB1E7A043D0072071D /* DetachedLegato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546571D295C5300B90302 /* DetachedLegato.cpp */; }; + 29B965AC1E7A043D0072071D /* Diatonic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546581D295C5300B90302 /* Diatonic.cpp */; }; + 29B965AD1E7A043D0072071D /* Direction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546591D295C5300B90302 /* Direction.cpp */; }; + 29B965AE1E7A043D0072071D /* DirectionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465A1D295C5300B90302 /* DirectionAttributes.cpp */; }; + 29B965AF1E7A043D0072071D /* DirectionType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465B1D295C5300B90302 /* DirectionType.cpp */; }; + 29B965B01E7A043D0072071D /* Directive.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465C1D295C5300B90302 /* Directive.cpp */; }; + 29B965B11E7A043D0072071D /* DirectiveAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465D1D295C5300B90302 /* DirectiveAttributes.cpp */; }; + 29B965B21E7A043D0072071D /* DisplayOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465E1D295C5300B90302 /* DisplayOctave.cpp */; }; + 29B965B31E7A043D0072071D /* DisplayStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465F1D295C5300B90302 /* DisplayStep.cpp */; }; + 29B965B41E7A043D0072071D /* DisplayStepOctaveGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546601D295C5300B90302 /* DisplayStepOctaveGroup.cpp */; }; + 29B965B51E7A043D0072071D /* DisplayText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546611D295C5300B90302 /* DisplayText.cpp */; }; + 29B965B61E7A043D0072071D /* DisplayTextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546621D295C5300B90302 /* DisplayTextAttributes.cpp */; }; + 29B965B71E7A043D0072071D /* DisplayTextOrAccidentalText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546631D295C5300B90302 /* DisplayTextOrAccidentalText.cpp */; }; + 29B965B81E7A043D0072071D /* Distance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546641D295C5300B90302 /* Distance.cpp */; }; + 29B965B91E7A043D0072071D /* DistanceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546651D295C5300B90302 /* DistanceAttributes.cpp */; }; + 29B965BA1E7A043D0072071D /* Divisions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546661D295C5300B90302 /* Divisions.cpp */; }; + 29B965BB1E7A043D0072071D /* Doit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546671D295C5300B90302 /* Doit.cpp */; }; + 29B965BC1E7A043D0072071D /* Dot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546681D295C5300B90302 /* Dot.cpp */; }; + 29B965BD1E7A043D0072071D /* Double.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546691D295C5300B90302 /* Double.cpp */; }; + 29B965BE1E7A043D0072071D /* DoubleTongue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466A1D295C5300B90302 /* DoubleTongue.cpp */; }; + 29B965BF1E7A043D0072071D /* DownBow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466B1D295C5300B90302 /* DownBow.cpp */; }; + 29B965C01E7A043D0072071D /* Duration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466C1D295C5300B90302 /* Duration.cpp */; }; + 29B965C11E7A043D0072071D /* Dynamics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466D1D295C5300B90302 /* Dynamics.cpp */; }; + 29B965C21E7A043D0072071D /* DynamicsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466E1D295C5300B90302 /* DynamicsAttributes.cpp */; }; + 29B965C31E7A043D0072071D /* EditorialGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466F1D295C5300B90302 /* EditorialGroup.cpp */; }; + 29B965C41E7A043D0072071D /* EditorialVoiceDirectionGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546701D295C5300B90302 /* EditorialVoiceDirectionGroup.cpp */; }; + 29B965C51E7A043D0072071D /* EditorialVoiceGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546711D295C5300B90302 /* EditorialVoiceGroup.cpp */; }; + 29B965C61E7A043D0072071D /* Effect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546721D295C5300B90302 /* Effect.cpp */; }; + 29B965C71E7A043D0072071D /* Elevation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546731D295C5300B90302 /* Elevation.cpp */; }; + 29B965C81E7A043D0072071D /* Elision.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546741D295C5300B90302 /* Elision.cpp */; }; + 29B965C91E7A043D0072071D /* ElisionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546751D295C5300B90302 /* ElisionAttributes.cpp */; }; + 29B965CA1E7A043D0072071D /* ElisionSyllabicGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546761D295C5300B90302 /* ElisionSyllabicGroup.cpp */; }; + 29B965CB1E7A043D0072071D /* ElisionSyllabicTextGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546771D295C5300B90302 /* ElisionSyllabicTextGroup.cpp */; }; + 29B965CC1E7A043D0072071D /* EmptyFontAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546781D295C5300B90302 /* EmptyFontAttributes.cpp */; }; + 29B965CD1E7A043D0072071D /* EmptyLineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546791D295C5300B90302 /* EmptyLineAttributes.cpp */; }; + 29B965CE1E7A043D0072071D /* EmptyPlacementAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467A1D295C5300B90302 /* EmptyPlacementAttributes.cpp */; }; + 29B965CF1E7A043D0072071D /* EmptyTrillSoundAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467B1D295C5300B90302 /* EmptyTrillSoundAttributes.cpp */; }; + 29B965D01E7A043D0072071D /* Encoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467C1D295C5300B90302 /* Encoder.cpp */; }; + 29B965D11E7A043D0072071D /* EncoderAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467D1D295C5300B90302 /* EncoderAttributes.cpp */; }; + 29B965D21E7A043D0072071D /* Encoding.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2904A4D31D301D5A00A39CC6 /* Encoding.cpp */; }; + 29B965D31E7A043D0072071D /* EncodingChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467E1D295C5300B90302 /* EncodingChoice.cpp */; }; + 29B965D41E7A043D0072071D /* EncodingDate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467F1D295C5300B90302 /* EncodingDate.cpp */; }; + 29B965D51E7A043D0072071D /* EncodingDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546801D295C5300B90302 /* EncodingDescription.cpp */; }; + 29B965D61E7A043D0072071D /* Ending.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546811D295C5300B90302 /* Ending.cpp */; }; + 29B965D71E7A043D0072071D /* EndingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546821D295C5300B90302 /* EndingAttributes.cpp */; }; + 29B965D81E7A043D0072071D /* EndLine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546831D295C5300B90302 /* EndLine.cpp */; }; + 29B965D91E7A043D0072071D /* EndParagraph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546841D295C5300B90302 /* EndParagraph.cpp */; }; + 29B965DA1E7A043D0072071D /* Ensemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546851D295C5300B90302 /* Ensemble.cpp */; }; + 29B965DB1E7A043D0072071D /* Extend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546861D295C5300B90302 /* Extend.cpp */; }; + 29B965DC1E7A043D0072071D /* ExtendAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546871D295C5300B90302 /* ExtendAttributes.cpp */; }; + 29B965DD1E7A043D0072071D /* Eyeglasses.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546881D295C5300B90302 /* Eyeglasses.cpp */; }; + 29B965DE1E7A043D0072071D /* Falloff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546891D295C5300B90302 /* Falloff.cpp */; }; + 29B965DF1E7A043D0072071D /* Feature.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468A1D295C5300B90302 /* Feature.cpp */; }; + 29B965E01E7A043D0072071D /* FeatureAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468B1D295C5300B90302 /* FeatureAttributes.cpp */; }; + 29B965E11E7A043D0072071D /* Fermata.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468C1D295C5300B90302 /* Fermata.cpp */; }; + 29B965E21E7A043D0072071D /* FermataAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468D1D295C5300B90302 /* FermataAttributes.cpp */; }; + 29B965E31E7A043D0072071D /* Fifths.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468E1D295C5300B90302 /* Fifths.cpp */; }; + 29B965E41E7A043D0072071D /* Figure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468F1D295C5300B90302 /* Figure.cpp */; }; + 29B965E51E7A043D0072071D /* FiguredBass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546901D295C5300B90302 /* FiguredBass.cpp */; }; + 29B965E61E7A043D0072071D /* FiguredBassAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546911D295C5300B90302 /* FiguredBassAttributes.cpp */; }; + 29B965E71E7A043D0072071D /* FigureNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546921D295C5300B90302 /* FigureNumber.cpp */; }; + 29B965E81E7A043D0072071D /* FigureNumberAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546931D295C5300B90302 /* FigureNumberAttributes.cpp */; }; + 29B965E91E7A043D0072071D /* Fingering.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546941D295C5300B90302 /* Fingering.cpp */; }; + 29B965EA1E7A043D0072071D /* FingeringAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546951D295C5300B90302 /* FingeringAttributes.cpp */; }; + 29B965EB1E7A043D0072071D /* Fingernails.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546961D295C5300B90302 /* Fingernails.cpp */; }; + 29B965EC1E7A043D0072071D /* FirstFret.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546971D295C5300B90302 /* FirstFret.cpp */; }; + 29B965ED1E7A043D0072071D /* FirstFretAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546981D295C5300B90302 /* FirstFretAttributes.cpp */; }; + 29B965EE1E7A043D0072071D /* Footnote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546991D295C5300B90302 /* Footnote.cpp */; }; + 29B965EF1E7A043D0072071D /* FootnoteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469A1D295C5300B90302 /* FootnoteAttributes.cpp */; }; + 29B965F01E7A043D0072071D /* Forward.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469B1D295C5300B90302 /* Forward.cpp */; }; + 29B965F11E7A043D0072071D /* Frame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469C1D295C5300B90302 /* Frame.cpp */; }; + 29B965F21E7A043D0072071D /* FrameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469D1D295C5300B90302 /* FrameAttributes.cpp */; }; + 29B965F31E7A043D0072071D /* FrameFrets.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469E1D295C5300B90302 /* FrameFrets.cpp */; }; + 29B965F41E7A043D0072071D /* FrameNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469F1D295C5300B90302 /* FrameNote.cpp */; }; + 29B965F51E7A043D0072071D /* FrameStrings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A01D295C5300B90302 /* FrameStrings.cpp */; }; + 29B965F61E7A043D0072071D /* Fret.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A11D295C5300B90302 /* Fret.cpp */; }; + 29B965F71E7A043D0072071D /* FretAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A21D295C5300B90302 /* FretAttributes.cpp */; }; + 29B965F81E7A043D0072071D /* FullNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A31D295C5300B90302 /* FullNoteGroup.cpp */; }; + 29B965F91E7A043D0072071D /* FullNoteTypeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A41D295C5300B90302 /* FullNoteTypeChoice.cpp */; }; + 29B965FA1E7A043D0072071D /* Function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A51D295C5300B90302 /* Function.cpp */; }; + 29B965FB1E7A043D0072071D /* FunctionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A61D295C5300B90302 /* FunctionAttributes.cpp */; }; + 29B965FC1E7A043D0072071D /* Glass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A71D295C5300B90302 /* Glass.cpp */; }; + 29B965FD1E7A043D0072071D /* Glissando.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A81D295C5300B90302 /* Glissando.cpp */; }; + 29B965FE1E7A043D0072071D /* GlissandoAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A91D295C5300B90302 /* GlissandoAttributes.cpp */; }; + 29B965FF1E7A043D0072071D /* Grace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AA1D295C5300B90302 /* Grace.cpp */; }; + 29B966001E7A043D0072071D /* GraceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AB1D295C5300B90302 /* GraceAttributes.cpp */; }; + 29B966011E7A043D0072071D /* GraceNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AC1D295C5300B90302 /* GraceNoteGroup.cpp */; }; + 29B966021E7A043D0072071D /* Group.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AD1D295C5300B90302 /* Group.cpp */; }; + 29B966031E7A043D0072071D /* GroupAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AE1D295C5300B90302 /* GroupAbbreviation.cpp */; }; + 29B966041E7A043D0072071D /* GroupAbbreviationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AF1D295C5300B90302 /* GroupAbbreviationAttributes.cpp */; }; + 29B966051E7A043D0072071D /* GroupAbbreviationDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B01D295C5300B90302 /* GroupAbbreviationDisplay.cpp */; }; + 29B966061E7A043D0072071D /* GroupAbbreviationDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B11D295C5300B90302 /* GroupAbbreviationDisplayAttributes.cpp */; }; + 29B966071E7A043D0072071D /* GroupBarline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B21D295C5300B90302 /* GroupBarline.cpp */; }; + 29B966081E7A043D0072071D /* GroupBarlineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B31D295C5300B90302 /* GroupBarlineAttributes.cpp */; }; + 29B966091E7A043D0072071D /* Grouping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B41D295C5300B90302 /* Grouping.cpp */; }; + 29B9660A1E7A043D0072071D /* GroupingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B51D295C5300B90302 /* GroupingAttributes.cpp */; }; + 29B9660B1E7A043D0072071D /* GroupName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B61D295C5300B90302 /* GroupName.cpp */; }; + 29B9660C1E7A043D0072071D /* GroupNameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B71D295C5300B90302 /* GroupNameAttributes.cpp */; }; + 29B9660D1E7A043D0072071D /* GroupNameDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B81D295C5300B90302 /* GroupNameDisplay.cpp */; }; + 29B9660E1E7A043D0072071D /* GroupNameDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B91D295C5300B90302 /* GroupNameDisplayAttributes.cpp */; }; + 29B9660F1E7A043D0072071D /* GroupSymbol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BA1D295C5300B90302 /* GroupSymbol.cpp */; }; + 29B966101E7A043D0072071D /* GroupSymbolAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BB1D295C5300B90302 /* GroupSymbolAttributes.cpp */; }; + 29B966111E7A043D0072071D /* GroupTime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BC1D295C5300B90302 /* GroupTime.cpp */; }; + 29B966121E7A043D0072071D /* HammerOn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BD1D295C5300B90302 /* HammerOn.cpp */; }; + 29B966131E7A043D0072071D /* HammerOnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BE1D295C5300B90302 /* HammerOnAttributes.cpp */; }; + 29B966141E7A043D0072071D /* Handbell.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BF1D295C5300B90302 /* Handbell.cpp */; }; + 29B966151E7A043D0072071D /* HandbellAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C01D295C5300B90302 /* HandbellAttributes.cpp */; }; + 29B966161E7A043D0072071D /* Harmonic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C11D295C5300B90302 /* Harmonic.cpp */; }; + 29B966171E7A043D0072071D /* HarmonicAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C21D295C5300B90302 /* HarmonicAttributes.cpp */; }; + 29B966181E7A043D0072071D /* HarmonicInfoChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C31D295C5300B90302 /* HarmonicInfoChoice.cpp */; }; + 29B966191E7A043D0072071D /* HarmonicTypeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C41D295C5300B90302 /* HarmonicTypeChoice.cpp */; }; + 29B9661A1E7A043D0072071D /* Harmony.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C51D295C5300B90302 /* Harmony.cpp */; }; + 29B9661B1E7A043D0072071D /* HarmonyAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C61D295C5300B90302 /* HarmonyAttributes.cpp */; }; + 29B9661C1E7A043D0072071D /* HarmonyChordGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C71D295C5300B90302 /* HarmonyChordGroup.cpp */; }; + 29B9661D1E7A043D0072071D /* HarpPedals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C81D295C5300B90302 /* HarpPedals.cpp */; }; + 29B9661E1E7A043D0072071D /* HarpPedalsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C91D295C5300B90302 /* HarpPedalsAttributes.cpp */; }; + 29B9661F1E7A043D0072071D /* Heel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CA1D295C5300B90302 /* Heel.cpp */; }; + 29B966201E7A043D0072071D /* HeelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CB1D295C5300B90302 /* HeelAttributes.cpp */; }; + 29B966211E7A043D0072071D /* Hole.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CC1D295C5300B90302 /* Hole.cpp */; }; + 29B966221E7A043D0072071D /* HoleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CD1D295C5300B90302 /* HoleAttributes.cpp */; }; + 29B966231E7A043D0072071D /* HoleClosed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CE1D295C5300B90302 /* HoleClosed.cpp */; }; + 29B966241E7A043D0072071D /* HoleClosedAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CF1D295C5300B90302 /* HoleClosedAttributes.cpp */; }; + 29B966251E7A043D0072071D /* HoleShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D01D295C5300B90302 /* HoleShape.cpp */; }; + 29B966261E7A043D0072071D /* HoleType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D11D295C5300B90302 /* HoleType.cpp */; }; + 29B966271E7A043D0072071D /* Humming.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D21D295C5300B90302 /* Humming.cpp */; }; + 29B966281E7A043D0072071D /* Identification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D31D295C5300B90302 /* Identification.cpp */; }; + 29B966291E7A043D0072071D /* Image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D41D295C5300B90302 /* Image.cpp */; }; + 29B9662A1E7A043D0072071D /* ImageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D51D295C5300B90302 /* ImageAttributes.cpp */; }; + 29B9662B1E7A043D0072071D /* Instrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D61D295C5300B90302 /* Instrument.cpp */; }; + 29B9662C1E7A043D0072071D /* InstrumentAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D71D295C5300B90302 /* InstrumentAbbreviation.cpp */; }; + 29B9662D1E7A043D0072071D /* InstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D81D295C5300B90302 /* InstrumentAttributes.cpp */; }; + 29B9662E1E7A043D0072071D /* InstrumentName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D91D295C5300B90302 /* InstrumentName.cpp */; }; + 29B9662F1E7A043D0072071D /* Instruments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DA1D295C5300B90302 /* Instruments.cpp */; }; + 29B966301E7A043D0072071D /* InstrumentSound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DB1D295C5300B90302 /* InstrumentSound.cpp */; }; + 29B966311E7A043D0072071D /* Interchangeable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DC1D295C5300B90302 /* Interchangeable.cpp */; }; + 29B966321E7A043D0072071D /* InterchangeableAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DD1D295C5300B90302 /* InterchangeableAttributes.cpp */; }; + 29B966331E7A043D0072071D /* Inversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DE1D295C5300B90302 /* Inversion.cpp */; }; + 29B966341E7A043D0072071D /* InversionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DF1D295C5300B90302 /* InversionAttributes.cpp */; }; + 29B966351E7A043D0072071D /* InvertedMordent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E01D295C5300B90302 /* InvertedMordent.cpp */; }; + 29B966361E7A043D0072071D /* InvertedMordentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E11D295C5300B90302 /* InvertedMordentAttributes.cpp */; }; + 29B966371E7A043D0072071D /* InvertedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E21D295C5300B90302 /* InvertedTurn.cpp */; }; + 29B966381E7A043D0072071D /* InvertedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E31D295C5300B90302 /* InvertedTurnAttributes.cpp */; }; + 29B966391E7A043D0072071D /* Ipa.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E41D295C5300B90302 /* Ipa.cpp */; }; + 29B9663A1E7A043D0072071D /* Key.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E51D295C5300B90302 /* Key.cpp */; }; + 29B9663B1E7A043D0072071D /* KeyAccidental.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E61D295C5300B90302 /* KeyAccidental.cpp */; }; + 29B9663C1E7A043D0072071D /* KeyAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E71D295C5300B90302 /* KeyAlter.cpp */; }; + 29B9663D1E7A043D0072071D /* KeyAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E81D295C5300B90302 /* KeyAttributes.cpp */; }; + 29B9663E1E7A043D0072071D /* KeyChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E91D295C5300B90302 /* KeyChoice.cpp */; }; + 29B9663F1E7A043D0072071D /* KeyOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EA1D295C5300B90302 /* KeyOctave.cpp */; }; + 29B966401E7A043D0072071D /* KeyOctaveAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EB1D295C5300B90302 /* KeyOctaveAttributes.cpp */; }; + 29B966411E7A043D0072071D /* KeyStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EC1D295C5300B90302 /* KeyStep.cpp */; }; + 29B966421E7A043D0072071D /* Kind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546ED1D295C5300B90302 /* Kind.cpp */; }; + 29B966431E7A043D0072071D /* KindAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EE1D295C5300B90302 /* KindAttributes.cpp */; }; + 29B966441E7A043D0072071D /* Laughing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EF1D295C5300B90302 /* Laughing.cpp */; }; + 29B966451E7A043D0072071D /* LayoutGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F01D295C5300B90302 /* LayoutGroup.cpp */; }; + 29B966461E7A043D0072071D /* LeftDivider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F11D295C5300B90302 /* LeftDivider.cpp */; }; + 29B966471E7A043D0072071D /* LeftMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F21D295C5300B90302 /* LeftMargin.cpp */; }; + 29B966481E7A043D0072071D /* Level.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F31D295C5300B90302 /* Level.cpp */; }; + 29B966491E7A043D0072071D /* LevelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F41D295C5300B90302 /* LevelAttributes.cpp */; }; + 29B9664A1E7A043D0072071D /* Line.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F51D295C5300B90302 /* Line.cpp */; }; + 29B9664B1E7A043D0072071D /* LineWidth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F61D295C5300B90302 /* LineWidth.cpp */; }; + 29B9664C1E7A043D0072071D /* LineWidthAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F71D295C5300B90302 /* LineWidthAttributes.cpp */; }; + 29B9664D1E7A043D0072071D /* Link.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F81D295C5300B90302 /* Link.cpp */; }; + 29B9664E1E7A043D0072071D /* LinkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F91D295C5300B90302 /* LinkAttributes.cpp */; }; + 29B9664F1E7A043D0072071D /* Lyric.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FA1D295C5300B90302 /* Lyric.cpp */; }; + 29B966501E7A043D0072071D /* LyricAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FB1D295C5300B90302 /* LyricAttributes.cpp */; }; + 29B966511E7A043D0072071D /* LyricFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FC1D295C5300B90302 /* LyricFont.cpp */; }; + 29B966521E7A043D0072071D /* LyricFontAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FD1D295C5300B90302 /* LyricFontAttributes.cpp */; }; + 29B966531E7A043D0072071D /* LyricLanguage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FE1D295C5300B90302 /* LyricLanguage.cpp */; }; + 29B966541E7A043D0072071D /* LyricLanguageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FF1D295C5300B90302 /* LyricLanguageAttributes.cpp */; }; + 29B966551E7A043D0072071D /* LyricTextChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547001D295C5300B90302 /* LyricTextChoice.cpp */; }; + 29B966561E7A043D0072071D /* MeasureAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547011D295C5300B90302 /* MeasureAttributes.cpp */; }; + 29B966571E7A043D0072071D /* MeasureDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547021D295C5300B90302 /* MeasureDistance.cpp */; }; + 29B966581E7A043D0072071D /* MeasureLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547031D295C5300B90302 /* MeasureLayout.cpp */; }; + 29B966591E7A043D0072071D /* MeasureNumbering.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547041D295C5300B90302 /* MeasureNumbering.cpp */; }; + 29B9665A1E7A043D0072071D /* MeasureNumberingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547051D295C5300B90302 /* MeasureNumberingAttributes.cpp */; }; + 29B9665B1E7A043D0072071D /* MeasureRepeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547061D295C5300B90302 /* MeasureRepeat.cpp */; }; + 29B9665C1E7A043D0072071D /* MeasureRepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547071D295C5300B90302 /* MeasureRepeatAttributes.cpp */; }; + 29B9665D1E7A043D0072071D /* MeasureStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547081D295C5300B90302 /* MeasureStyle.cpp */; }; + 29B9665E1E7A043D0072071D /* MeasureStyleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547091D295C5300B90302 /* MeasureStyleAttributes.cpp */; }; + 29B9665F1E7A043D0072071D /* MeasureStyleChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470A1D295C5300B90302 /* MeasureStyleChoice.cpp */; }; + 29B966601E7A043D0072071D /* Membrane.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470B1D295C5300B90302 /* Membrane.cpp */; }; + 29B966611E7A043D0072071D /* Metal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470C1D295C5300B90302 /* Metal.cpp */; }; + 29B966621E7A043D0072071D /* Metronome.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470D1D295C5300B90302 /* Metronome.cpp */; }; + 29B966631E7A043D0072071D /* MetronomeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470E1D295C5300B90302 /* MetronomeAttributes.cpp */; }; + 29B966641E7A043D0072071D /* MetronomeBeam.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470F1D295C5300B90302 /* MetronomeBeam.cpp */; }; + 29B966651E7A043D0072071D /* MetronomeBeamAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547101D295C5300B90302 /* MetronomeBeamAttributes.cpp */; }; + 29B966661E7A043D0072071D /* MetronomeDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547111D295C5300B90302 /* MetronomeDot.cpp */; }; + 29B966671E7A043D0072071D /* MetronomeNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547121D295C5300B90302 /* MetronomeNote.cpp */; }; + 29B966681E7A043D0072071D /* MetronomeRelation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547131D295C5300B90302 /* MetronomeRelation.cpp */; }; + 29B966691E7A043D0072071D /* MetronomeRelationGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547141D295C5300B90302 /* MetronomeRelationGroup.cpp */; }; + 29B9666A1E7A043D0072071D /* MetronomeTuplet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547151D295C5300B90302 /* MetronomeTuplet.cpp */; }; + 29B9666B1E7A043D0072071D /* MetronomeTupletAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547161D295C5300B90302 /* MetronomeTupletAttributes.cpp */; }; + 29B9666C1E7A043D0072071D /* MetronomeType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547171D295C5300B90302 /* MetronomeType.cpp */; }; + 29B9666D1E7A043D0072071D /* MidiBank.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547181D295C5300B90302 /* MidiBank.cpp */; }; + 29B9666E1E7A043D0072071D /* MidiChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547191D295C5300B90302 /* MidiChannel.cpp */; }; + 29B9666F1E7A043D0072071D /* MidiDevice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471A1D295C5300B90302 /* MidiDevice.cpp */; }; + 29B966701E7A043D0072071D /* MidiDeviceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471B1D295C5300B90302 /* MidiDeviceAttributes.cpp */; }; + 29B966711E7A043D0072071D /* MidiDeviceInstrumentGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471C1D295C5300B90302 /* MidiDeviceInstrumentGroup.cpp */; }; + 29B966721E7A043D0072071D /* MidiInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471D1D295C5300B90302 /* MidiInstrument.cpp */; }; + 29B966731E7A043D0072071D /* MidiInstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471E1D295C5300B90302 /* MidiInstrumentAttributes.cpp */; }; + 29B966741E7A043D0072071D /* MidiName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471F1D295C5300B90302 /* MidiName.cpp */; }; + 29B966751E7A043D0072071D /* MidiProgram.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547201D295C5300B90302 /* MidiProgram.cpp */; }; + 29B966761E7A043D0072071D /* MidiUnpitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547211D295C5300B90302 /* MidiUnpitched.cpp */; }; + 29B966771E7A043D0072071D /* Millimeters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547221D295C5300B90302 /* Millimeters.cpp */; }; + 29B966781E7A043D0072071D /* Miscellaneous.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547231D295C5300B90302 /* Miscellaneous.cpp */; }; + 29B966791E7A043D0072071D /* MiscellaneousField.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547241D295C5300B90302 /* MiscellaneousField.cpp */; }; + 29B9667A1E7A043D0072071D /* MiscellaneousFieldAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547251D295C5300B90302 /* MiscellaneousFieldAttributes.cpp */; }; + 29B9667B1E7A043D0072071D /* Mode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547261D295C5300B90302 /* Mode.cpp */; }; + 29B9667C1E7A043D0072071D /* Mordent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547271D295C5300B90302 /* Mordent.cpp */; }; + 29B9667D1E7A043D0072071D /* MordentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547281D295C5300B90302 /* MordentAttributes.cpp */; }; + 29B9667E1E7A043D0072071D /* MovementNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547291D295C5300B90302 /* MovementNumber.cpp */; }; + 29B9667F1E7A043D0072071D /* MovementTitle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472A1D295C5300B90302 /* MovementTitle.cpp */; }; + 29B966801E7A043D0072071D /* MultipleRest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472B1D295C5300B90302 /* MultipleRest.cpp */; }; + 29B966811E7A043D0072071D /* MultipleRestAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472C1D295C5400B90302 /* MultipleRestAttributes.cpp */; }; + 29B966821E7A043D0072071D /* MusicDataChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472D1D295C5400B90302 /* MusicDataChoice.cpp */; }; + 29B966831E7A043D0072071D /* MusicDataGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472E1D295C5400B90302 /* MusicDataGroup.cpp */; }; + 29B966841E7A043D0072071D /* MusicFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472F1D295C5400B90302 /* MusicFont.cpp */; }; + 29B966851E7A043D0072071D /* Mute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547301D295C5400B90302 /* Mute.cpp */; }; + 29B966861E7A043D0072071D /* Natural.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547311D295C5400B90302 /* Natural.cpp */; }; + 29B966871E7A043D0072071D /* NonArpeggiate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547321D295C5400B90302 /* NonArpeggiate.cpp */; }; + 29B966881E7A043D0072071D /* NonArpeggiateAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547331D295C5400B90302 /* NonArpeggiateAttributes.cpp */; }; + 29B966891E7A043D0072071D /* NonTraditionalKey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547341D295C5400B90302 /* NonTraditionalKey.cpp */; }; + 29B9668A1E7A043D0072071D /* NormalDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547351D295C5400B90302 /* NormalDot.cpp */; }; + 29B9668B1E7A043D0072071D /* NormalNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547361D295C5400B90302 /* NormalNoteGroup.cpp */; }; + 29B9668C1E7A043D0072071D /* NormalNotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547371D295C5400B90302 /* NormalNotes.cpp */; }; + 29B9668D1E7A043D0072071D /* NormalType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547381D295C5400B90302 /* NormalType.cpp */; }; + 29B9668E1E7A043D0072071D /* NormalTypeNormalDotGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547391D295C5400B90302 /* NormalTypeNormalDotGroup.cpp */; }; + 29B9668F1E7A043D0072071D /* Notations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473A1D295C5400B90302 /* Notations.cpp */; }; + 29B966901E7A043D0072071D /* NotationsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473B1D295C5400B90302 /* NotationsAttributes.cpp */; }; + 29B966911E7A043D0072071D /* NotationsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473C1D295C5400B90302 /* NotationsChoice.cpp */; }; + 29B966921E7A043D0072071D /* Note.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473D1D295C5400B90302 /* Note.cpp */; }; + 29B966931E7A043D0072071D /* NoteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473E1D295C5400B90302 /* NoteAttributes.cpp */; }; + 29B966941E7A043D0072071D /* NoteChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473F1D295C5400B90302 /* NoteChoice.cpp */; }; + 29B966951E7A043D0072071D /* Notehead.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547401D295C5400B90302 /* Notehead.cpp */; }; + 29B966961E7A043D0072071D /* NoteheadAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547411D295C5400B90302 /* NoteheadAttributes.cpp */; }; + 29B966971E7A043D0072071D /* NoteheadText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547421D295C5400B90302 /* NoteheadText.cpp */; }; + 29B966981E7A043D0072071D /* NoteheadTextChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 295C49361D2CB41E0015E349 /* NoteheadTextChoice.cpp */; }; + 29B966991E7A043D0072071D /* NoteRelationNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547431D295C5400B90302 /* NoteRelationNote.cpp */; }; + 29B9669A1E7A043D0072071D /* NoteSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547441D295C5400B90302 /* NoteSize.cpp */; }; + 29B9669B1E7A043D0072071D /* NoteSizeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547451D295C5400B90302 /* NoteSizeAttributes.cpp */; }; + 29B9669C1E7A043D0072071D /* Octave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547461D295C5400B90302 /* Octave.cpp */; }; + 29B9669D1E7A043D0072071D /* OctaveChange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547471D295C5400B90302 /* OctaveChange.cpp */; }; + 29B9669E1E7A043D0072071D /* OctaveShift.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547481D295C5400B90302 /* OctaveShift.cpp */; }; + 29B9669F1E7A043D0072071D /* OctaveShiftAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547491D295C5400B90302 /* OctaveShiftAttributes.cpp */; }; + 29B966A01E7A043D0072071D /* Offset.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474A1D295C5400B90302 /* Offset.cpp */; }; + 29B966A11E7A043D0072071D /* OffsetAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474B1D295C5400B90302 /* OffsetAttributes.cpp */; }; + 29B966A21E7A043D0072071D /* OpenString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474C1D295C5400B90302 /* OpenString.cpp */; }; + 29B966A31E7A043D0072071D /* Opus.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474D1D295C5400B90302 /* Opus.cpp */; }; + 29B966A41E7A043D0072071D /* OpusAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474E1D295C5400B90302 /* OpusAttributes.cpp */; }; + 29B966A51E7A043D0072071D /* Ornaments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474F1D295C5400B90302 /* Ornaments.cpp */; }; + 29B966A61E7A043D0072071D /* OrnamentsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547501D295C5400B90302 /* OrnamentsChoice.cpp */; }; + 29B966A71E7A043D0072071D /* OtherAppearance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547511D295C5400B90302 /* OtherAppearance.cpp */; }; + 29B966A81E7A043D0072071D /* OtherAppearanceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547521D295C5400B90302 /* OtherAppearanceAttributes.cpp */; }; + 29B966A91E7A043D0072071D /* OtherArticulation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547531D295C5400B90302 /* OtherArticulation.cpp */; }; + 29B966AA1E7A043D0072071D /* OtherArticulationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547541D295C5400B90302 /* OtherArticulationAttributes.cpp */; }; + 29B966AB1E7A043D0072071D /* OtherDirection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547551D295C5400B90302 /* OtherDirection.cpp */; }; + 29B966AC1E7A043D0072071D /* OtherDirectionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547561D295C5400B90302 /* OtherDirectionAttributes.cpp */; }; + 29B966AD1E7A043D0072071D /* OtherNotation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547571D295C5400B90302 /* OtherNotation.cpp */; }; + 29B966AE1E7A043D0072071D /* OtherNotationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547581D295C5400B90302 /* OtherNotationAttributes.cpp */; }; + 29B966AF1E7A043D0072071D /* OtherOrnament.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547591D295C5400B90302 /* OtherOrnament.cpp */; }; + 29B966B01E7A043D0072071D /* OtherOrnamentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475A1D295C5400B90302 /* OtherOrnamentAttributes.cpp */; }; + 29B966B11E7A043D0072071D /* OtherPercussion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475B1D295C5400B90302 /* OtherPercussion.cpp */; }; + 29B966B21E7A043D0072071D /* OtherPlay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475C1D295C5400B90302 /* OtherPlay.cpp */; }; + 29B966B31E7A043D0072071D /* OtherPlayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475D1D295C5400B90302 /* OtherPlayAttributes.cpp */; }; + 29B966B41E7A043D0072071D /* OtherTechnical.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475E1D295C5400B90302 /* OtherTechnical.cpp */; }; + 29B966B51E7A043D0072071D /* OtherTechnicalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475F1D295C5400B90302 /* OtherTechnicalAttributes.cpp */; }; + 29B966B61E7A043D0072071D /* PageHeight.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547601D295C5400B90302 /* PageHeight.cpp */; }; + 29B966B71E7A043D0072071D /* PageLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547611D295C5400B90302 /* PageLayout.cpp */; }; + 29B966B81E7A043D0072071D /* PageMargins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547621D295C5400B90302 /* PageMargins.cpp */; }; + 29B966B91E7A043D0072071D /* PageMarginsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547631D295C5400B90302 /* PageMarginsAttributes.cpp */; }; + 29B966BA1E7A043D0072071D /* PageWidth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547641D295C5400B90302 /* PageWidth.cpp */; }; + 29B966BB1E7A043D0072071D /* Pan.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547651D295C5400B90302 /* Pan.cpp */; }; + 29B966BC1E7A043D0072071D /* PartAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547661D295C5400B90302 /* PartAbbreviation.cpp */; }; + 29B966BD1E7A043D0072071D /* PartAbbreviationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547671D295C5400B90302 /* PartAbbreviationAttributes.cpp */; }; + 29B966BE1E7A043D0072071D /* PartAbbreviationDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547681D295C5400B90302 /* PartAbbreviationDisplay.cpp */; }; + 29B966BF1E7A043D0072071D /* PartAbbreviationDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547691D295C5400B90302 /* PartAbbreviationDisplayAttributes.cpp */; }; + 29B966C01E7A043D0072071D /* PartAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476A1D295C5400B90302 /* PartAttributes.cpp */; }; + 29B966C11E7A043D0072071D /* PartGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476B1D295C5400B90302 /* PartGroup.cpp */; }; + 29B966C21E7A043D0072071D /* PartGroupAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476C1D295C5400B90302 /* PartGroupAttributes.cpp */; }; + 29B966C31E7A043D0072071D /* PartGroupOrScorePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476D1D295C5400B90302 /* PartGroupOrScorePart.cpp */; }; + 29B966C41E7A043D0072071D /* PartList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476E1D295C5400B90302 /* PartList.cpp */; }; + 29B966C51E7A043D0072071D /* PartName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476F1D295C5400B90302 /* PartName.cpp */; }; + 29B966C61E7A043D0072071D /* PartNameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547701D295C5400B90302 /* PartNameAttributes.cpp */; }; + 29B966C71E7A043D0072071D /* PartNameDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547711D295C5400B90302 /* PartNameDisplay.cpp */; }; + 29B966C81E7A043D0072071D /* PartNameDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547721D295C5400B90302 /* PartNameDisplayAttributes.cpp */; }; + 29B966C91E7A043D0072071D /* PartSymbol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547731D295C5400B90302 /* PartSymbol.cpp */; }; + 29B966CA1E7A043D0072071D /* PartSymbolAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547741D295C5400B90302 /* PartSymbolAttributes.cpp */; }; + 29B966CB1E7A043D0072071D /* PartwiseMeasure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547751D295C5400B90302 /* PartwiseMeasure.cpp */; }; + 29B966CC1E7A043D0072071D /* PartwisePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547761D295C5400B90302 /* PartwisePart.cpp */; }; + 29B966CD1E7A043D0072071D /* Pedal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547771D295C5400B90302 /* Pedal.cpp */; }; + 29B966CE1E7A043D0072071D /* PedalAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547781D295C5400B90302 /* PedalAlter.cpp */; }; + 29B966CF1E7A043D0072071D /* PedalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547791D295C5400B90302 /* PedalAttributes.cpp */; }; + 29B966D01E7A043D0072071D /* PedalStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477A1D295C5400B90302 /* PedalStep.cpp */; }; + 29B966D11E7A043E0072071D /* PedalTuning.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477B1D295C5400B90302 /* PedalTuning.cpp */; }; + 29B966D21E7A043E0072071D /* Percussion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477C1D295C5400B90302 /* Percussion.cpp */; }; + 29B966D31E7A043E0072071D /* PercussionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477D1D295C5400B90302 /* PercussionAttributes.cpp */; }; + 29B966D41E7A043E0072071D /* PercussionChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477E1D295C5400B90302 /* PercussionChoice.cpp */; }; + 29B966D51E7A043E0072071D /* PerMinute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477F1D295C5400B90302 /* PerMinute.cpp */; }; + 29B966D61E7A043E0072071D /* PerMinuteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547801D295C5400B90302 /* PerMinuteAttributes.cpp */; }; + 29B966D71E7A043E0072071D /* PerMinuteOrBeatUnitChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547811D295C5400B90302 /* PerMinuteOrBeatUnitChoice.cpp */; }; + 29B966D81E7A043E0072071D /* Pitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547821D295C5400B90302 /* Pitch.cpp */; }; + 29B966D91E7A043E0072071D /* Pitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547831D295C5400B90302 /* Pitched.cpp */; }; + 29B966DA1E7A043E0072071D /* Play.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547841D295C5400B90302 /* Play.cpp */; }; + 29B966DB1E7A043E0072071D /* PlayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547851D295C5400B90302 /* PlayAttributes.cpp */; }; + 29B966DC1E7A043E0072071D /* Plop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547861D295C5400B90302 /* Plop.cpp */; }; + 29B966DD1E7A043E0072071D /* Pluck.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547871D295C5400B90302 /* Pluck.cpp */; }; + 29B966DE1E7A043E0072071D /* PluckAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547881D295C5400B90302 /* PluckAttributes.cpp */; }; + 29B966DF1E7A043E0072071D /* PreBend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547891D295C5400B90302 /* PreBend.cpp */; }; + 29B966E01E7A043E0072071D /* Prefix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478A1D295C5400B90302 /* Prefix.cpp */; }; + 29B966E11E7A043E0072071D /* PrefixAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478B1D295C5400B90302 /* PrefixAttributes.cpp */; }; + 29B966E21E7A043E0072071D /* PrincipalVoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478C1D295C5400B90302 /* PrincipalVoice.cpp */; }; + 29B966E31E7A043E0072071D /* PrincipalVoiceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478D1D295C5400B90302 /* PrincipalVoiceAttributes.cpp */; }; + 29B966E41E7A043E0072071D /* Print.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478E1D295C5400B90302 /* Print.cpp */; }; + 29B966E51E7A043E0072071D /* PrintAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478F1D295C5400B90302 /* PrintAttributes.cpp */; }; + 29B966E61E7A043E0072071D /* Properties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547901D295C5400B90302 /* Properties.cpp */; }; + 29B966E71E7A043E0072071D /* PullOff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547911D295C5400B90302 /* PullOff.cpp */; }; + 29B966E81E7A043E0072071D /* PullOffAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547921D295C5400B90302 /* PullOffAttributes.cpp */; }; + 29B966E91E7A043E0072071D /* Rehearsal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547931D295C5400B90302 /* Rehearsal.cpp */; }; + 29B966EA1E7A043E0072071D /* RehearsalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547941D295C5400B90302 /* RehearsalAttributes.cpp */; }; + 29B966EB1E7A043E0072071D /* Relation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547951D295C5400B90302 /* Relation.cpp */; }; + 29B966EC1E7A043E0072071D /* RelationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547961D295C5400B90302 /* RelationAttributes.cpp */; }; + 29B966ED1E7A043E0072071D /* Release.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547971D295C5400B90302 /* Release.cpp */; }; + 29B966EE1E7A043E0072071D /* Repeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547981D295C5400B90302 /* Repeat.cpp */; }; + 29B966EF1E7A043E0072071D /* RepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547991D295C5400B90302 /* RepeatAttributes.cpp */; }; + 29B966F01E7A043E0072071D /* Rest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479A1D295C5400B90302 /* Rest.cpp */; }; + 29B966F11E7A043E0072071D /* RestAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479B1D295C5400B90302 /* RestAttributes.cpp */; }; + 29B966F21E7A043E0072071D /* RightDivider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479C1D295C5400B90302 /* RightDivider.cpp */; }; + 29B966F31E7A043E0072071D /* RightMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479D1D295C5400B90302 /* RightMargin.cpp */; }; + 29B966F41E7A043E0072071D /* Rights.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479E1D295C5400B90302 /* Rights.cpp */; }; + 29B966F51E7A043E0072071D /* RightsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479F1D295C5400B90302 /* RightsAttributes.cpp */; }; + 29B966F61E7A043E0072071D /* Root.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A01D295C5400B90302 /* Root.cpp */; }; + 29B966F71E7A043E0072071D /* RootAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A11D295C5400B90302 /* RootAlter.cpp */; }; + 29B966F81E7A043E0072071D /* RootAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A21D295C5400B90302 /* RootAlterAttributes.cpp */; }; + 29B966F91E7A043E0072071D /* RootStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A31D295C5400B90302 /* RootStep.cpp */; }; + 29B966FA1E7A043E0072071D /* RootStepAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A41D295C5400B90302 /* RootStepAttributes.cpp */; }; + 29B966FB1E7A043E0072071D /* Scaling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A51D295C5400B90302 /* Scaling.cpp */; }; + 29B966FC1E7A043E0072071D /* Schleifer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A61D295C5400B90302 /* Schleifer.cpp */; }; + 29B966FD1E7A043E0072071D /* Scoop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A71D295C5400B90302 /* Scoop.cpp */; }; + 29B966FE1E7A043E0072071D /* Scordatura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A81D295C5400B90302 /* Scordatura.cpp */; }; + 29B966FF1E7A043E0072071D /* ScoreHeaderGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A91D295C5400B90302 /* ScoreHeaderGroup.cpp */; }; + 29B967001E7A043E0072071D /* ScoreInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AA1D295C5400B90302 /* ScoreInstrument.cpp */; }; + 29B967011E7A043E0072071D /* ScoreInstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AB1D295C5400B90302 /* ScoreInstrumentAttributes.cpp */; }; + 29B967021E7A043E0072071D /* ScorePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AC1D295C5400B90302 /* ScorePart.cpp */; }; + 29B967031E7A043E0072071D /* ScorePartAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AD1D295C5400B90302 /* ScorePartAttributes.cpp */; }; + 29B967041E7A043E0072071D /* ScorePartwise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AE1D295C5400B90302 /* ScorePartwise.cpp */; }; + 29B967051E7A043E0072071D /* ScorePartwiseAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AF1D295C5400B90302 /* ScorePartwiseAttributes.cpp */; }; + 29B967061E7A043E0072071D /* ScoreTimewise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B01D295C5400B90302 /* ScoreTimewise.cpp */; }; + 29B967071E7A043E0072071D /* ScoreTimewiseAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B11D295C5400B90302 /* ScoreTimewiseAttributes.cpp */; }; + 29B967081E7A043E0072071D /* Segno.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B21D295C5400B90302 /* Segno.cpp */; }; + 29B967091E7A043E0072071D /* SemiPitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B31D295C5400B90302 /* SemiPitched.cpp */; }; + 29B9670A1E7A043E0072071D /* SenzaMisura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B41D295C5400B90302 /* SenzaMisura.cpp */; }; + 29B9670B1E7A043E0072071D /* Shake.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B51D295C5400B90302 /* Shake.cpp */; }; + 29B9670C1E7A043E0072071D /* Sign.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B61D295C5400B90302 /* Sign.cpp */; }; + 29B9670D1E7A043E0072071D /* Slash.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B71D295C5400B90302 /* Slash.cpp */; }; + 29B9670E1E7A043E0072071D /* SlashAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B81D295C5400B90302 /* SlashAttributes.cpp */; }; + 29B9670F1E7A043E0072071D /* SlashDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B91D295C5400B90302 /* SlashDot.cpp */; }; + 29B967101E7A043E0072071D /* SlashType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BA1D295C5400B90302 /* SlashType.cpp */; }; + 29B967111E7A043E0072071D /* Slide.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BB1D295C5400B90302 /* Slide.cpp */; }; + 29B967121E7A043E0072071D /* SlideAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BC1D295C5400B90302 /* SlideAttributes.cpp */; }; + 29B967131E7A043E0072071D /* Slur.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BD1D295C5400B90302 /* Slur.cpp */; }; + 29B967141E7A043E0072071D /* SlurAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BE1D295C5400B90302 /* SlurAttributes.cpp */; }; + 29B967151E7A043E0072071D /* SnapPizzicato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BF1D295C5400B90302 /* SnapPizzicato.cpp */; }; + 29B967161E7A043E0072071D /* Software.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C01D295C5400B90302 /* Software.cpp */; }; + 29B967171E7A043E0072071D /* Solo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C11D295C5400B90302 /* Solo.cpp */; }; + 29B967181E7A043E0072071D /* SoloOrEnsembleChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C21D295C5400B90302 /* SoloOrEnsembleChoice.cpp */; }; + 29B967191E7A043E0072071D /* Sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C31D295C5400B90302 /* Sound.cpp */; }; + 29B9671A1E7A043E0072071D /* SoundAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C41D295C5400B90302 /* SoundAttributes.cpp */; }; + 29B9671B1E7A043E0072071D /* SoundingPitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C51D295C5400B90302 /* SoundingPitch.cpp */; }; + 29B9671C1E7A043E0072071D /* Source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C61D295C5400B90302 /* Source.cpp */; }; + 29B9671D1E7A043E0072071D /* Spiccato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C71D295C5400B90302 /* Spiccato.cpp */; }; + 29B9671E1E7A043E0072071D /* Staccatissimo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C81D295C5400B90302 /* Staccatissimo.cpp */; }; + 29B9671F1E7A043E0072071D /* Staccato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C91D295C5400B90302 /* Staccato.cpp */; }; + 29B967201E7A043E0072071D /* Staff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CA1D295C5400B90302 /* Staff.cpp */; }; + 29B967211E7A043E0072071D /* StaffDetails.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CB1D295C5400B90302 /* StaffDetails.cpp */; }; + 29B967221E7A043E0072071D /* StaffDetailsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CC1D295C5400B90302 /* StaffDetailsAttributes.cpp */; }; + 29B967231E7A043E0072071D /* StaffDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CD1D295C5400B90302 /* StaffDistance.cpp */; }; + 29B967241E7A043E0072071D /* StaffLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CE1D295C5400B90302 /* StaffLayout.cpp */; }; + 29B967251E7A043E0072071D /* StaffLayoutAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CF1D295C5400B90302 /* StaffLayoutAttributes.cpp */; }; + 29B967261E7A043E0072071D /* StaffLines.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D01D295C5400B90302 /* StaffLines.cpp */; }; + 29B967271E7A043E0072071D /* StaffSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D11D295C5400B90302 /* StaffSize.cpp */; }; + 29B967281E7A043E0072071D /* StaffTuning.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D21D295C5400B90302 /* StaffTuning.cpp */; }; + 29B967291E7A043E0072071D /* StaffTuningAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D31D295C5400B90302 /* StaffTuningAttributes.cpp */; }; + 29B9672A1E7A043E0072071D /* StaffType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D41D295C5400B90302 /* StaffType.cpp */; }; + 29B9672B1E7A043E0072071D /* Staves.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D51D295C5400B90302 /* Staves.cpp */; }; + 29B9672C1E7A043E0072071D /* Stem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D61D295C5400B90302 /* Stem.cpp */; }; + 29B9672D1E7A043E0072071D /* StemAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D71D295C5400B90302 /* StemAttributes.cpp */; }; + 29B9672E1E7A043E0072071D /* Step.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D81D295C5400B90302 /* Step.cpp */; }; + 29B9672F1E7A043E0072071D /* Stick.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D91D295C5400B90302 /* Stick.cpp */; }; + 29B967301E7A043E0072071D /* StickAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DA1D295C5400B90302 /* StickAttributes.cpp */; }; + 29B967311E7A043E0072071D /* StickLocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DB1D295C5400B90302 /* StickLocation.cpp */; }; + 29B967321E7A043E0072071D /* StickMaterial.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DC1D295C5400B90302 /* StickMaterial.cpp */; }; + 29B967331E7A043E0072071D /* StickType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DD1D295C5400B90302 /* StickType.cpp */; }; + 29B967341E7A043E0072071D /* Stopped.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DE1D295C5400B90302 /* Stopped.cpp */; }; + 29B967351E7A043E0072071D /* Stress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DF1D295C5400B90302 /* Stress.cpp */; }; + 29B967361E7A043E0072071D /* String.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E01D295C5400B90302 /* String.cpp */; }; + 29B967371E7A043E0072071D /* StringAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E11D295C5400B90302 /* StringAttributes.cpp */; }; + 29B967381E7A043E0072071D /* StringMute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E21D295C5400B90302 /* StringMute.cpp */; }; + 29B967391E7A043E0072071D /* StringMuteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E31D295C5400B90302 /* StringMuteAttributes.cpp */; }; + 29B9673A1E7A043E0072071D /* StrongAccent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E41D295C5400B90302 /* StrongAccent.cpp */; }; + 29B9673B1E7A043E0072071D /* StrongAccentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E51D295C5400B90302 /* StrongAccentAttributes.cpp */; }; + 29B9673C1E7A043E0072071D /* Suffix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E61D295C5400B90302 /* Suffix.cpp */; }; + 29B9673D1E7A043E0072071D /* SuffixAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E71D295C5400B90302 /* SuffixAttributes.cpp */; }; + 29B9673E1E7A043E0072071D /* Supports.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E81D295C5400B90302 /* Supports.cpp */; }; + 29B9673F1E7A043E0072071D /* SupportsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E91D295C5400B90302 /* SupportsAttributes.cpp */; }; + 29B967401E7A043E0072071D /* Syllabic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EA1D295C5400B90302 /* Syllabic.cpp */; }; + 29B967411E7A043E0072071D /* SyllabicTextGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EB1D295C5400B90302 /* SyllabicTextGroup.cpp */; }; + 29B967421E7A043E0072071D /* SystemDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EC1D295C5400B90302 /* SystemDistance.cpp */; }; + 29B967431E7A043E0072071D /* SystemDividers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547ED1D295C5400B90302 /* SystemDividers.cpp */; }; + 29B967441E7A043E0072071D /* SystemLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EE1D295C5400B90302 /* SystemLayout.cpp */; }; + 29B967451E7A043E0072071D /* SystemMargins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EF1D295C5400B90302 /* SystemMargins.cpp */; }; + 29B967461E7A043E0072071D /* Tap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F01D295C5400B90302 /* Tap.cpp */; }; + 29B967471E7A043E0072071D /* TapAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F11D295C5400B90302 /* TapAttributes.cpp */; }; + 29B967481E7A043E0072071D /* Technical.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F21D295C5400B90302 /* Technical.cpp */; }; + 29B967491E7A043E0072071D /* TechnicalChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F31D295C5400B90302 /* TechnicalChoice.cpp */; }; + 29B9674A1E7A043E0072071D /* Tenths.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F41D295C5400B90302 /* Tenths.cpp */; }; + 29B9674B1E7A043E0072071D /* Tenuto.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F51D295C5400B90302 /* Tenuto.cpp */; }; + 29B9674C1E7A043E0072071D /* Text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F61D295C5400B90302 /* Text.cpp */; }; + 29B9674D1E7A043E0072071D /* TextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F71D295C5400B90302 /* TextAttributes.cpp */; }; + 29B9674E1E7A043E0072071D /* ThumbPosition.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F81D295C5400B90302 /* ThumbPosition.cpp */; }; + 29B9674F1E7A043E0072071D /* Tie.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F91D295C5400B90302 /* Tie.cpp */; }; + 29B967501E7A043E0072071D /* TieAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FA1D295C5400B90302 /* TieAttributes.cpp */; }; + 29B967511E7A043E0072071D /* Tied.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FB1D295C5400B90302 /* Tied.cpp */; }; + 29B967521E7A043E0072071D /* TiedAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FC1D295C5400B90302 /* TiedAttributes.cpp */; }; + 29B967531E7A043E0072071D /* Time.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FD1D295C5400B90302 /* Time.cpp */; }; + 29B967541E7A043E0072071D /* TimeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FE1D295C5400B90302 /* TimeAttributes.cpp */; }; + 29B967551E7A043E0072071D /* TimeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FF1D295C5400B90302 /* TimeChoice.cpp */; }; + 29B967561E7A043E0072071D /* TimeModification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548001D295C5400B90302 /* TimeModification.cpp */; }; + 29B967571E7A043E0072071D /* TimeModificationNormalTypeNormalDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548011D295C5400B90302 /* TimeModificationNormalTypeNormalDot.cpp */; }; + 29B967581E7A043E0072071D /* TimeRelation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548021D295C5400B90302 /* TimeRelation.cpp */; }; + 29B967591E7A043E0072071D /* TimeSignatureGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548031D295C5400B90302 /* TimeSignatureGroup.cpp */; }; + 29B9675A1E7A043E0072071D /* TimewiseMeasure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548041D295C5400B90302 /* TimewiseMeasure.cpp */; }; + 29B9675B1E7A043E0072071D /* TimewisePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548051D295C5400B90302 /* TimewisePart.cpp */; }; + 29B9675C1E7A043E0072071D /* Timpani.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548061D295C5400B90302 /* Timpani.cpp */; }; + 29B9675D1E7A043E0072071D /* Toe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548071D295C5400B90302 /* Toe.cpp */; }; + 29B9675E1E7A043E0072071D /* ToeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548081D295C5400B90302 /* ToeAttributes.cpp */; }; + 29B9675F1E7A043E0072071D /* TopMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548091D295C5400B90302 /* TopMargin.cpp */; }; + 29B967601E7A043E0072071D /* TopSystemDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480A1D295C5400B90302 /* TopSystemDistance.cpp */; }; + 29B967611E7A043E0072071D /* TouchingPitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480B1D295C5400B90302 /* TouchingPitch.cpp */; }; + 29B967621E7A043E0072071D /* TraditionalKey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480C1D295C5400B90302 /* TraditionalKey.cpp */; }; + 29B967631E7A043E0072071D /* Transpose.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480D1D295C5400B90302 /* Transpose.cpp */; }; + 29B967641E7A043E0072071D /* TransposeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480E1D295C5400B90302 /* TransposeAttributes.cpp */; }; + 29B967651E7A043E0072071D /* Tremolo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480F1D295C5400B90302 /* Tremolo.cpp */; }; + 29B967661E7A043E0072071D /* TremoloAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548101D295C5400B90302 /* TremoloAttributes.cpp */; }; + 29B967671E7A043E0072071D /* TrillMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548111D295C5400B90302 /* TrillMark.cpp */; }; + 29B967681E7A043E0072071D /* TripleTongue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548121D295C5400B90302 /* TripleTongue.cpp */; }; + 29B967691E7A043E0072071D /* TuningAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548131D295C5400B90302 /* TuningAlter.cpp */; }; + 29B9676A1E7A043E0072071D /* TuningOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548141D295C5400B90302 /* TuningOctave.cpp */; }; + 29B9676B1E7A043E0072071D /* TuningStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548151D295C5400B90302 /* TuningStep.cpp */; }; + 29B9676C1E7A043E0072071D /* Tuplet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548161D295C5400B90302 /* Tuplet.cpp */; }; + 29B9676D1E7A043E0072071D /* TupletActual.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548171D295C5400B90302 /* TupletActual.cpp */; }; + 29B9676E1E7A043E0072071D /* TupletAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548181D295C5400B90302 /* TupletAttributes.cpp */; }; + 29B9676F1E7A043E0072071D /* TupletDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548191D295C5400B90302 /* TupletDot.cpp */; }; + 29B967701E7A043E0072071D /* TupletDotAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481A1D295C5400B90302 /* TupletDotAttributes.cpp */; }; + 29B967711E7A043E0072071D /* TupletNormal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481B1D295C5400B90302 /* TupletNormal.cpp */; }; + 29B967721E7A043E0072071D /* TupletNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481C1D295C5500B90302 /* TupletNumber.cpp */; }; + 29B967731E7A043E0072071D /* TupletNumberAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481D1D295C5500B90302 /* TupletNumberAttributes.cpp */; }; + 29B967741E7A043E0072071D /* TupletType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481E1D295C5500B90302 /* TupletType.cpp */; }; + 29B967751E7A043E0072071D /* TupletTypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481F1D295C5500B90302 /* TupletTypeAttributes.cpp */; }; + 29B967761E7A043E0072071D /* Turn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548201D295C5500B90302 /* Turn.cpp */; }; + 29B967771E7A043E0072071D /* TurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548211D295C5500B90302 /* TurnAttributes.cpp */; }; + 29B967781E7A043E0072071D /* Type.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548221D295C5500B90302 /* Type.cpp */; }; + 29B967791E7A043E0072071D /* TypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548231D295C5500B90302 /* TypeAttributes.cpp */; }; + 29B9677A1E7A043E0072071D /* Unpitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548241D295C5500B90302 /* Unpitched.cpp */; }; + 29B9677B1E7A043E0072071D /* Unstress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548251D295C5500B90302 /* Unstress.cpp */; }; + 29B9677C1E7A043E0072071D /* UpBow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548261D295C5500B90302 /* UpBow.cpp */; }; + 29B9677D1E7A043E0072071D /* VerticalTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548271D295C5500B90302 /* VerticalTurn.cpp */; }; + 29B9677E1E7A043E0072071D /* VirtualInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548281D295C5500B90302 /* VirtualInstrument.cpp */; }; + 29B9677F1E7A043E0072071D /* VirtualLibrary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548291D295C5500B90302 /* VirtualLibrary.cpp */; }; + 29B967801E7A043E0072071D /* VirtualName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482A1D295C5500B90302 /* VirtualName.cpp */; }; + 29B967811E7A043E0072071D /* Voice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482B1D295C5500B90302 /* Voice.cpp */; }; + 29B967821E7A043E0072071D /* Volume.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482C1D295C5500B90302 /* Volume.cpp */; }; + 29B967831E7A043E0072071D /* WavyLine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482D1D295C5500B90302 /* WavyLine.cpp */; }; + 29B967841E7A043E0072071D /* WavyLineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482E1D295C5500B90302 /* WavyLineAttributes.cpp */; }; + 29B967851E7A043E0072071D /* Wedge.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482F1D295C5500B90302 /* Wedge.cpp */; }; + 29B967861E7A043E0072071D /* WedgeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548301D295C5500B90302 /* WedgeAttributes.cpp */; }; + 29B967871E7A043E0072071D /* WithBar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548311D295C5500B90302 /* WithBar.cpp */; }; + 29B967881E7A043E0072071D /* WithBarAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548321D295C5500B90302 /* WithBarAttributes.cpp */; }; + 29B967891E7A043E0072071D /* Wood.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548331D295C5500B90302 /* Wood.cpp */; }; + 29B9678A1E7A043E0072071D /* WordFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548341D295C5500B90302 /* WordFont.cpp */; }; + 29B9678B1E7A043E0072071D /* Words.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548351D295C5500B90302 /* Words.cpp */; }; + 29B9678C1E7A043E0072071D /* WordsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548361D295C5500B90302 /* WordsAttributes.cpp */; }; + 29B9678D1E7A043E0072071D /* Work.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548371D295C5500B90302 /* Work.cpp */; }; + 29B9678E1E7A043E0072071D /* WorkNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548381D295C5500B90302 /* WorkNumber.cpp */; }; + 29B9678F1E7A043E0072071D /* WorkTitle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548391D295C5500B90302 /* WorkTitle.cpp */; }; + 29B967901E7A043E0072071D /* EmptyPrintObjectStyleAlignAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AF61D130B690094BE61 /* EmptyPrintObjectStyleAlignAttributes.cpp */; }; + 29B967911E7A043E0072071D /* Enums.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AF81D130B690094BE61 /* Enums.cpp */; }; + 29B967921E7A043E0072071D /* FontSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AFA1D130B690094BE61 /* FontSize.cpp */; }; + 29B967931E7A043E0072071D /* FromXElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 295DDE0F1D2C0D4D00A2881D /* FromXElement.cpp */; }; + 29B967941E7A043E0072071D /* Integers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AFC1D130B690094BE61 /* Integers.cpp */; }; + 29B967951E7A043E0072071D /* NumberOrNormal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AFE1D130B690094BE61 /* NumberOrNormal.cpp */; }; + 29B967961E7A043E0072071D /* PositiveIntegerOrEmpty.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B001D130B690094BE61 /* PositiveIntegerOrEmpty.cpp */; }; + 29B967971E7A043E0072071D /* ScoreConversions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2951A0C31D60F3B700B49A13 /* ScoreConversions.cpp */; }; + 29B967981E7A043E0072071D /* Strings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B021D130B690094BE61 /* Strings.cpp */; }; + 29B967991E7A043E0072071D /* YesNoNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B041D130B690094BE61 /* YesNoNumber.cpp */; }; + 29B9679A1E7A043E0072071D /* DynamicsWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29979D651DC830AA00707AA4 /* DynamicsWriter.cpp */; }; + 29B9679B1E7A043E0072071D /* AccidentalMarkFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF2FE91DA307D3001FE5DF /* AccidentalMarkFunctions.cpp */; }; + 29B9679C1E7A043E0072071D /* ArticulationsFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF2F781DA2CC1D001FE5DF /* ArticulationsFunctions.cpp */; }; + 29B9679D1E7A043E0072071D /* Converter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2922CC621D9AF28400F8C9C1 /* Converter.cpp */; }; + 29B9679E1E7A043E0072071D /* Cursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2973065E1D89AB3300B8C0D3 /* Cursor.cpp */; }; + 29B9679F1E7A043E0072071D /* DirectionReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29766ACA1DAC149900CCE2AC /* DirectionReader.cpp */; }; + 29B967A01E7A043E0072071D /* DirectionWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29CD722A1DB82C9200FB7153 /* DirectionWriter.cpp */; }; + 29B967A11E7A043E0072071D /* DynamicsReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF2F7C1DA2D450001FE5DF /* DynamicsReader.cpp */; }; + 29B967A21E7A043E0072071D /* EncodingFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2913BB871D753FC8006C34A3 /* EncodingFunctions.cpp */; }; + 29B967A31E7A043E0072071D /* LayoutFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2913BB891D753FC8006C34A3 /* LayoutFunctions.cpp */; }; + 29B967A41E7A043E0072071D /* LcmGcd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2927ECA61D888AB30042E080 /* LcmGcd.cpp */; }; + 29B967A51E7A043E0072071D /* MeasureReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E2B3C81DA81E9700DC61EA /* MeasureReader.cpp */; }; + 29B967A61E7A043E0072071D /* MeasureWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29B7C4671DAFFDBA009D7D8F /* MeasureWriter.cpp */; }; + 29B967A71E7A043E0072071D /* MetronomeReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29766AC61DAC014300CCE2AC /* MetronomeReader.cpp */; }; + 29B967A81E7A043E0072071D /* NotationsWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29398BAE1DB1917B00475CD5 /* NotationsWriter.cpp */; }; + 29B967A91E7A043E0072071D /* NoteFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2913BB8B1D753FC8006C34A3 /* NoteFunctions.cpp */; }; + 29B967AA1E7A043E0072071D /* NoteReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 297306661D89D08400B8C0D3 /* NoteReader.cpp */; }; + 29B967AB1E7A043E0072071D /* NoteWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29398BA51DB1561200475CD5 /* NoteWriter.cpp */; }; + 29B967AC1E7A043E0072071D /* OrnamentsFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF2FF11DA307D3001FE5DF /* OrnamentsFunctions.cpp */; }; + 29B967AD1E7A043E0072071D /* PageTextFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2913BB8D1D753FC8006C34A3 /* PageTextFunctions.cpp */; }; + 29B967AE1E7A043E0072071D /* PartReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E2B3CA1DA81E9700DC61EA /* PartReader.cpp */; }; + 29B967AF1E7A043E0072071D /* PartWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29CDDA2B1DADCAF30022B1A3 /* PartWriter.cpp */; }; + 29B967B01E7A043E0072071D /* PropertiesWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29CD72261DB806FD00FB7153 /* PropertiesWriter.cpp */; }; + 29B967B11E7A043E0072071D /* ScoreReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C29B841DAEC00C00D3A884 /* ScoreReader.cpp */; }; + 29B967B21E7A043E0072071D /* ScoreWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C29B861DAEC00C00D3A884 /* ScoreWriter.cpp */; }; + 29B967B31E7A043E0072071D /* StaffFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 297DA0721D7F60BE0067C13A /* StaffFunctions.cpp */; }; + 29B967B41E7A043E0072071D /* TechnicalFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF30011DA32E37001FE5DF /* TechnicalFunctions.cpp */; }; + 29B967B51E7A043E0072071D /* TimeReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2927EC9E1D886E460042E080 /* TimeReader.cpp */; }; + 29B967B61E7A043E0072071D /* TupletReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29B4E81F1DA9CD5D005DC6D1 /* TupletReader.cpp */; }; + 29B967B71E7A043E0072071D /* pugixml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B5D1D130BBE0094BE61 /* pugixml.cpp */; }; + 29B967B81E7A043E0072071D /* Utility.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B2D1D130B910094BE61 /* Utility.cpp */; }; + 29B967B91E7A043E0072071D /* UtilityImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B2F1D130B910094BE61 /* UtilityImpl.cpp */; }; + 29B967BA1E7A043E0072071D /* PugiAttribute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1451D18D403001C2A1A /* PugiAttribute.cpp */; }; + 29B967BB1E7A043E0072071D /* PugiAttributeIterImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1471D18D403001C2A1A /* PugiAttributeIterImpl.cpp */; }; + 29B967BC1E7A043E0072071D /* PugiDoc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1491D18D403001C2A1A /* PugiDoc.cpp */; }; + 29B967BD1E7A043E0072071D /* PugiElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D14B1D18D403001C2A1A /* PugiElement.cpp */; }; + 29B967BE1E7A043E0072071D /* PugiElementIterImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D14D1D18D403001C2A1A /* PugiElementIterImpl.cpp */; }; + 29B967BF1E7A043E0072071D /* XAttributeIterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1501D18D403001C2A1A /* XAttributeIterator.cpp */; }; + 29B967C01E7A043E0072071D /* XElementIterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1561D18D403001C2A1A /* XElementIterator.cpp */; }; + 29B967C11E7A043E0072071D /* XFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1591D18D403001C2A1A /* XFactory.cpp */; }; 29C01B061D130B690094BE61 /* AttributesInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE01D130B690094BE61 /* AttributesInterface.cpp */; }; 29C01B081D130B690094BE61 /* Color.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE21D130B690094BE61 /* Color.cpp */; }; 29C01B0A1D130B690094BE61 /* Date.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE41D130B690094BE61 /* Date.cpp */; }; @@ -2693,12 +2625,6 @@ 29C175981DC0048700CC48D7 /* OttavaData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29C175971DC0048700CC48D7 /* OttavaData.h */; }; 29C1759B1DC00FD200CC48D7 /* SpannerFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = 29C175991DC00FD200CC48D7 /* SpannerFunctions.h */; }; 29C1759C1DC00FD200CC48D7 /* LineFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = 29C1759A1DC00FD200CC48D7 /* LineFunctions.h */; }; - 29C175A11DC03BA000CC48D7 /* SpannerFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = 29C175991DC00FD200CC48D7 /* SpannerFunctions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 29C175A21DC03BA000CC48D7 /* LineFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = 29C1759A1DC00FD200CC48D7 /* LineFunctions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 29C175A31DC03BA000CC48D7 /* OttavaData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29C175971DC0048700CC48D7 /* OttavaData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 29C175A41DC03BA500CC48D7 /* SpannerFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = 29C175991DC00FD200CC48D7 /* SpannerFunctions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 29C175A51DC03BA500CC48D7 /* LineFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = 29C1759A1DC00FD200CC48D7 /* LineFunctions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 29C175A61DC03BA500CC48D7 /* OttavaData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29C175971DC0048700CC48D7 /* OttavaData.h */; settings = {ATTRIBUTES = (Public, ); }; }; 29C29B881DAEC00C00D3A884 /* ScoreReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C29B841DAEC00C00D3A884 /* ScoreReader.cpp */; }; 29C29B891DAEC00C00D3A884 /* ScoreReader.h in Headers */ = {isa = PBXBuildFile; fileRef = 29C29B851DAEC00C00D3A884 /* ScoreReader.h */; }; 29C29B8A1DAEC00C00D3A884 /* ScoreWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C29B861DAEC00C00D3A884 /* ScoreWriter.cpp */; }; @@ -3391,8 +3317,6 @@ 29E9EA391DA4A80A0040183B /* DurationData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E9EA361DA4A80A0040183B /* DurationData.cpp */; }; 29EF44111D6E997100DBDAB9 /* DocumentManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF44091D6E70D300DBDAB9 /* DocumentManager.cpp */; }; 29FFAC801DB9C8B600DC8AE1 /* CurveData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29FFAC7F1DB9C8B600DC8AE1 /* CurveData.h */; }; - 29FFAC811DB9C9CD00DC8AE1 /* CurveData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29FFAC7F1DB9C8B600DC8AE1 /* CurveData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 29FFAC821DB9C9D100DC8AE1 /* CurveData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29FFAC7F1DB9C8B600DC8AE1 /* CurveData.h */; settings = {ATTRIBUTES = (Public, ); }; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -3416,8 +3340,6 @@ 2927ECA61D888AB30042E080 /* LcmGcd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LcmGcd.cpp; path = ../Sourcecode/mx/impl/LcmGcd.cpp; sourceTree = ""; }; 292D1DD01D9A43A500CDD9F4 /* ClefData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ClefData.cpp; path = ../Sourcecode/mx/api/ClefData.cpp; sourceTree = ""; }; 292D1DD11D9A43A500CDD9F4 /* ClefData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ClefData.h; path = ../Sourcecode/mx/api/ClefData.h; sourceTree = ""; }; - 2933AA921DA5A60C005D7222 /* mx-macOS.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "mx-macOS.plist"; sourceTree = SOURCE_ROOT; }; - 2933AD471DA5AA74005D7222 /* mx-iOS.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "mx-iOS.plist"; path = "/Users/mjb/Dropbox/Programming/MxRepo/Xcode/mx-iOS.plist"; sourceTree = ""; }; 2933AD601DA5B616005D7222 /* ColorData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ColorData.h; path = ../Sourcecode/mx/api/ColorData.h; sourceTree = ""; }; 2933AD7B1DA5E850005D7222 /* CurveFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CurveFunctions.h; path = ../Sourcecode/mx/impl/CurveFunctions.h; sourceTree = ""; }; 293488D41D94903B00D0C407 /* ApiCommon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ApiCommon.h; path = ../Sourcecode/mx/api/ApiCommon.h; sourceTree = ""; }; @@ -4670,6 +4592,12 @@ 29B7C4671DAFFDBA009D7D8F /* MeasureWriter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MeasureWriter.cpp; path = ../Sourcecode/mx/impl/MeasureWriter.cpp; sourceTree = ""; }; 29B7C4681DAFFDBA009D7D8F /* MeasureWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MeasureWriter.h; path = ../Sourcecode/mx/impl/MeasureWriter.h; sourceTree = ""; }; 29B7C46B1DB02D2F009D7D8F /* SystemData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SystemData.h; path = ../Sourcecode/mx/api/SystemData.h; sourceTree = ""; }; + 29B962811E79FF410072071D /* MxiOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MxiOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 29B962831E79FF410072071D /* MxiOS.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MxiOS.h; sourceTree = ""; }; + 29B962841E79FF410072071D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 29B965291E7A04140072071D /* MxmacOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MxmacOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 29B9652B1E7A04140072071D /* MxmacOS.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MxmacOS.h; sourceTree = ""; }; + 29B9652C1E7A04140072071D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 29C01AE01D130B690094BE61 /* AttributesInterface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AttributesInterface.cpp; path = ../Sourcecode/Mx/core/AttributesInterface.cpp; sourceTree = ""; }; 29C01AE11D130B690094BE61 /* AttributesInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AttributesInterface.h; path = ../Sourcecode/Mx/core/AttributesInterface.h; sourceTree = ""; }; 29C01AE21D130B690094BE61 /* Color.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Color.cpp; path = ../Sourcecode/Mx/core/Color.cpp; sourceTree = ""; }; @@ -4742,8 +4670,6 @@ 29E2B3CA1DA81E9700DC61EA /* PartReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PartReader.cpp; path = ../Sourcecode/mx/impl/PartReader.cpp; sourceTree = ""; }; 29E2B3CB1DA81E9700DC61EA /* PartReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PartReader.h; path = ../Sourcecode/mx/impl/PartReader.h; sourceTree = ""; }; 29E33EA21D99C9AA001BD2EE /* StringToInt.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = StringToInt.h; path = ../Sourcecode/mx/utility/StringToInt.h; sourceTree = ""; }; - 29E8BF831DD28B6F00E8CEBA /* mx-macOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = "mx-macOS.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 29E8BF841DD28B6F00E8CEBA /* mx-iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = "mx-iOS.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; 29E8C22C1DD2920C00E8CEBA /* libmx-iOS.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libmx-iOS.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; 29E9C5391DA470BC0040183B /* SpannerData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SpannerData.h; path = ../Sourcecode/mx/api/SpannerData.h; sourceTree = ""; }; 29E9C55D1DA49DAF0040183B /* LineData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LineData.h; path = ../Sourcecode/mx/api/LineData.h; sourceTree = ""; }; @@ -4772,28 +4698,28 @@ /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 2933A7BF1DA58F1D005D7222 /* Frameworks */ = { + 293FFECF1DD25C74001477E8 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 2933AD231DA5AA73005D7222 /* Frameworks */ = { + 299F7FE31CA8D2200084CAE5 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 293FFECF1DD25C74001477E8 /* Frameworks */ = { + 29B9627D1E79FF410072071D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 299F7FE31CA8D2200084CAE5 /* Frameworks */ = { + 29B965251E7A04140072071D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( @@ -5000,8 +4926,6 @@ 2933AA911DA5A51D005D7222 /* build */ = { isa = PBXGroup; children = ( - 2933AA921DA5A60C005D7222 /* mx-macOS.plist */, - 2933AD471DA5AA74005D7222 /* mx-iOS.plist */, 299F7FE71CA8D2200084CAE5 /* Products */, ); name = build; @@ -5021,6 +4945,8 @@ children = ( 2933AA911DA5A51D005D7222 /* build */, 2933AA901DA5A510005D7222 /* mx */, + 29B962821E79FF410072071D /* MxiOS */, + 29B9652A1E7A04140072071D /* MxmacOS */, ); sourceTree = ""; }; @@ -5029,13 +4955,31 @@ children = ( 299F7FE61CA8D2200084CAE5 /* libMx.a */, 293FFED21DD25C74001477E8 /* libmx-macOS.dylib */, - 29E8BF831DD28B6F00E8CEBA /* mx-macOS.framework */, - 29E8BF841DD28B6F00E8CEBA /* mx-iOS.framework */, 29E8C22C1DD2920C00E8CEBA /* libmx-iOS.dylib */, + 29B962811E79FF410072071D /* MxiOS.framework */, + 29B965291E7A04140072071D /* MxmacOS.framework */, ); name = Products; sourceTree = ""; }; + 29B962821E79FF410072071D /* MxiOS */ = { + isa = PBXGroup; + children = ( + 29B962831E79FF410072071D /* MxiOS.h */, + 29B962841E79FF410072071D /* Info.plist */, + ); + path = MxiOS; + sourceTree = ""; + }; + 29B9652A1E7A04140072071D /* MxmacOS */ = { + isa = PBXGroup; + children = ( + 29B9652B1E7A04140072071D /* MxmacOS.h */, + 29B9652C1E7A04140072071D /* Info.plist */, + ); + path = MxmacOS; + sourceTree = ""; + }; 29D1BD3B1D2886EA0092C299 /* cpp */ = { isa = PBXGroup; children = ( @@ -6235,11 +6179,8 @@ 29EF44071D6E6CE900DBDAB9 /* api */ = { isa = PBXGroup; children = ( - 29271A4E1DCC0D820036528D /* ApiEquality.h */, - 29C175991DC00FD200CC48D7 /* SpannerFunctions.h */, - 29C1759A1DC00FD200CC48D7 /* LineFunctions.h */, - 29C175971DC0048700CC48D7 /* OttavaData.h */, 293488D41D94903B00D0C407 /* ApiCommon.h */, + 29271A4E1DCC0D820036528D /* ApiEquality.h */, 29B48EE41DBEC9950030A974 /* BarlineData.h */, 292D1DD01D9A43A500CDD9F4 /* ClefData.cpp */, 292D1DD11D9A43A500CDD9F4 /* ClefData.h */, @@ -6255,6 +6196,7 @@ 29766ADF1DAC39EF00CCE2AC /* KeyData.h */, 29ADB3111D729FB700683BEC /* LayoutData.h */, 29E9C55D1DA49DAF0040183B /* LineData.h */, + 29C1759A1DC00FD200CC48D7 /* LineFunctions.h */, 29DB30A01DA0713200031477 /* MarkData.cpp */, 29C51A4E1D9F0B6000EAA308 /* MarkData.h */, 29DC06EF1D7E5B2A00210B7E /* MeasureData.h */, @@ -6263,6 +6205,7 @@ 29B4E8231DA9CFC2005DC6D1 /* NoteAttachmentData.h */, 29E9EA351DA4A80A0040183B /* NoteData.cpp */, 29EF44081D6E6D2600DBDAB9 /* NoteData.h */, + 29C175971DC0048700CC48D7 /* OttavaData.h */, 29ADB3131D736A2B00683BEC /* PageTextData.h */, 29ADB30E1D729E1900683BEC /* PartData.h */, 299A2BB01D7FA48A006A7F5C /* PartGroupData.h */, @@ -6274,6 +6217,7 @@ 29C51A1D1D9ED91000EAA308 /* Smufl.cpp */, 29C51A1C1D9ED3A200EAA308 /* Smufl.h */, 29E9C5391DA470BC0040183B /* SpannerData.h */, + 29C175991DC00FD200CC48D7 /* SpannerFunctions.h */, 29DC06EE1D7E5A8300210B7E /* StaffData.h */, 29B7C46B1DB02D2F009D7D8F /* SystemData.h */, 29766AC21DABFBA500CCE2AC /* TempoData.h */, @@ -6288,96 +6232,6 @@ /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 2933A7C01DA58F1D005D7222 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 29271A501DCC0D8D0036528D /* ApiEquality.h in Headers */, - 29C175A41DC03BA500CC48D7 /* SpannerFunctions.h in Headers */, - 29C175A51DC03BA500CC48D7 /* LineFunctions.h in Headers */, - 29C175A61DC03BA500CC48D7 /* OttavaData.h in Headers */, - 290756E21DA8BE2A00EEF5C3 /* ApiCommon.h in Headers */, - 29B48EE61DBECA0D0030A974 /* BarlineData.h in Headers */, - 290756E31DA8BE2A00EEF5C3 /* ClefData.h in Headers */, - 290756E41DA8BE2A00EEF5C3 /* ColorData.h in Headers */, - 29FFAC821DB9C9D100DC8AE1 /* CurveData.h in Headers */, - 29766AD31DAC14CC00CCE2AC /* DirectionData.h in Headers */, - 290756EA1DA8BE2A00EEF5C3 /* DocumentManager.h in Headers */, - 290756EB1DA8BE2A00EEF5C3 /* DurationData.h in Headers */, - 290756EC1DA8BE2A00EEF5C3 /* EncodingData.h in Headers */, - 290756ED1DA8BE2A00EEF5C3 /* FontData.h in Headers */, - 29766AE11DAC39F800CCE2AC /* KeyData.h in Headers */, - 290756EE1DA8BE2A00EEF5C3 /* LayoutData.h in Headers */, - 290756EF1DA8BE2A00EEF5C3 /* LineData.h in Headers */, - 290756F01DA8BE2A00EEF5C3 /* MarkData.h in Headers */, - 290756F11DA8BE2A00EEF5C3 /* MeasureData.h in Headers */, - 290756F21DA8BE2A00EEF5C3 /* MeasureLocation.h in Headers */, - 29B4E8271DA9E792005DC6D1 /* NoteAttachmentData.h in Headers */, - 290756F31DA8BE2A00EEF5C3 /* NoteData.h in Headers */, - 290756F41DA8BE2A00EEF5C3 /* PageTextData.h in Headers */, - 290756F51DA8BE2A00EEF5C3 /* PartData.h in Headers */, - 290756F61DA8BE2A00EEF5C3 /* PartGroupData.h in Headers */, - 290756F71DA8BE2A00EEF5C3 /* PitchData.h in Headers */, - 290756F81DA8BE2A00EEF5C3 /* PositionData.h in Headers */, - 290756F91DA8BE2A00EEF5C3 /* PrintData.h in Headers */, - 290756FA1DA8BE2A00EEF5C3 /* ScoreData.h in Headers */, - 290756FB1DA8BE2A00EEF5C3 /* Smufl.h in Headers */, - 290756FC1DA8BE2A00EEF5C3 /* SpannerData.h in Headers */, - 290756FD1DA8BE2A00EEF5C3 /* StaffData.h in Headers */, - 29B7C4701DB03B24009D7D8F /* SystemData.h in Headers */, - 29766AC41DABFC4000CCE2AC /* TempoData.h in Headers */, - 290756FE1DA8BE2A00EEF5C3 /* TimeSignatureData.h in Headers */, - 29B4E81D1DA9CA15005DC6D1 /* TupletData.h in Headers */, - 290756FF1DA8BE2A00EEF5C3 /* VoiceData.h in Headers */, - 29B48EE11DBEC6F10030A974 /* WedgeData.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 2933AD241DA5AA73005D7222 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 29271A511DCC0D910036528D /* ApiEquality.h in Headers */, - 29C175A11DC03BA000CC48D7 /* SpannerFunctions.h in Headers */, - 29C175A21DC03BA000CC48D7 /* LineFunctions.h in Headers */, - 29C175A31DC03BA000CC48D7 /* OttavaData.h in Headers */, - 290756C41DA8BE0800EEF5C3 /* ApiCommon.h in Headers */, - 29B48EE71DBECA110030A974 /* BarlineData.h in Headers */, - 290756C51DA8BE0800EEF5C3 /* ClefData.h in Headers */, - 290756C61DA8BE0800EEF5C3 /* ColorData.h in Headers */, - 29FFAC811DB9C9CD00DC8AE1 /* CurveData.h in Headers */, - 29766AD41DAC14D700CCE2AC /* DirectionData.h in Headers */, - 290756CC1DA8BE0800EEF5C3 /* DocumentManager.h in Headers */, - 290756CD1DA8BE0800EEF5C3 /* DurationData.h in Headers */, - 290756CE1DA8BE0800EEF5C3 /* EncodingData.h in Headers */, - 290756CF1DA8BE0800EEF5C3 /* FontData.h in Headers */, - 29766AE21DAC39FB00CCE2AC /* KeyData.h in Headers */, - 290756D01DA8BE0800EEF5C3 /* LayoutData.h in Headers */, - 290756D11DA8BE0800EEF5C3 /* LineData.h in Headers */, - 290756D21DA8BE0800EEF5C3 /* MarkData.h in Headers */, - 290756D31DA8BE0800EEF5C3 /* MeasureData.h in Headers */, - 290756D41DA8BE0800EEF5C3 /* MeasureLocation.h in Headers */, - 29B4E8281DA9E796005DC6D1 /* NoteAttachmentData.h in Headers */, - 290756D51DA8BE0800EEF5C3 /* NoteData.h in Headers */, - 290756D61DA8BE0800EEF5C3 /* PageTextData.h in Headers */, - 290756D71DA8BE0800EEF5C3 /* PartData.h in Headers */, - 290756D81DA8BE0800EEF5C3 /* PartGroupData.h in Headers */, - 290756D91DA8BE0800EEF5C3 /* PitchData.h in Headers */, - 290756DA1DA8BE0800EEF5C3 /* PositionData.h in Headers */, - 290756DB1DA8BE0800EEF5C3 /* PrintData.h in Headers */, - 290756DC1DA8BE0800EEF5C3 /* ScoreData.h in Headers */, - 290756DD1DA8BE0800EEF5C3 /* Smufl.h in Headers */, - 290756DE1DA8BE0800EEF5C3 /* SpannerData.h in Headers */, - 290756DF1DA8BE0800EEF5C3 /* StaffData.h in Headers */, - 29B7C46F1DB03B20009D7D8F /* SystemData.h in Headers */, - 29766AC31DABFC3C00CCE2AC /* TempoData.h in Headers */, - 290756E01DA8BE0800EEF5C3 /* TimeSignatureData.h in Headers */, - 29B4E81E1DA9CA19005DC6D1 /* TupletData.h in Headers */, - 290756E11DA8BE0800EEF5C3 /* VoiceData.h in Headers */, - 29B48EE01DBEC6ED0030A974 /* WedgeData.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 293FFED01DD25C74001477E8 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -6415,52 +6269,32 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 29E8C2281DD2920C00E8CEBA /* Headers */ = { + 29B9627E1E79FF410072071D /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( + 29B962851E79FF410072071D /* MxiOS.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 2933A7C21DA58F1D005D7222 /* mx-macOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = 2933A7CA1DA58F1D005D7222 /* Build configuration list for PBXNativeTarget "mx-macOS" */; - buildPhases = ( - 2933A7BE1DA58F1D005D7222 /* Sources */, - 2933A7BF1DA58F1D005D7222 /* Frameworks */, - 2933A7C01DA58F1D005D7222 /* Headers */, - 2933A7C11DA58F1D005D7222 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( + 29B965261E7A04140072071D /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 29B9652D1E7A04140072071D /* MxmacOS.h in Headers */, ); - name = "mx-macOS"; - productName = "mx-macOS"; - productReference = 29E8BF831DD28B6F00E8CEBA /* mx-macOS.framework */; - productType = "com.apple.product-type.framework"; + runOnlyForDeploymentPostprocessing = 0; }; - 2933AA941DA5AA73005D7222 /* mx-iOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = 2933AD431DA5AA73005D7222 /* Build configuration list for PBXNativeTarget "mx-iOS" */; - buildPhases = ( - 2933AA951DA5AA73005D7222 /* Sources */, - 2933AD231DA5AA73005D7222 /* Frameworks */, - 2933AD241DA5AA73005D7222 /* Headers */, - 2933AD411DA5AA73005D7222 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( + 29E8C2281DD2920C00E8CEBA /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( ); - name = "mx-iOS"; - productName = "mx-macOS"; - productReference = 29E8BF841DD28B6F00E8CEBA /* mx-iOS.framework */; - productType = "com.apple.product-type.framework"; + runOnlyForDeploymentPostprocessing = 0; }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ 293FFED11DD25C74001477E8 /* dylib-macOS */ = { isa = PBXNativeTarget; buildConfigurationList = 293FFEDC1DD25C74001477E8 /* Build configuration list for PBXNativeTarget "dylib-macOS" */; @@ -6495,6 +6329,42 @@ productReference = 299F7FE61CA8D2200084CAE5 /* libMx.a */; productType = "com.apple.product-type.library.static"; }; + 29B962801E79FF410072071D /* MxiOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 29B962861E79FF410072071D /* Build configuration list for PBXNativeTarget "MxiOS" */; + buildPhases = ( + 29B9627C1E79FF410072071D /* Sources */, + 29B9627D1E79FF410072071D /* Frameworks */, + 29B9627E1E79FF410072071D /* Headers */, + 29B9627F1E79FF410072071D /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = MxiOS; + productName = MxiOS; + productReference = 29B962811E79FF410072071D /* MxiOS.framework */; + productType = "com.apple.product-type.framework"; + }; + 29B965281E7A04140072071D /* MxmacOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 29B965301E7A04140072071D /* Build configuration list for PBXNativeTarget "MxmacOS" */; + buildPhases = ( + 29B965241E7A04140072071D /* Sources */, + 29B965251E7A04140072071D /* Frameworks */, + 29B965261E7A04140072071D /* Headers */, + 29B965271E7A04140072071D /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = MxmacOS; + productName = MxmacOS; + productReference = 29B965291E7A04140072071D /* MxmacOS.framework */; + productType = "com.apple.product-type.framework"; + }; 29E8BF941DD2920C00E8CEBA /* dylib-iOS */ = { isa = PBXNativeTarget; buildConfigurationList = 29E8C2291DD2920C00E8CEBA /* Build configuration list for PBXNativeTarget "dylib-iOS" */; @@ -6521,17 +6391,18 @@ LastUpgradeCheck = 0800; ORGANIZATIONNAME = "Matthew James Briggs"; TargetAttributes = { - 2933A7C21DA58F1D005D7222 = { - CreatedOnToolsVersion = 8.0; - DevelopmentTeam = RRS55ZY6E5; + 293FFED11DD25C74001477E8 = { + CreatedOnToolsVersion = 8.1; ProvisioningStyle = Automatic; }; - 2933AA941DA5AA73005D7222 = { + 29B962801E79FF410072071D = { + CreatedOnToolsVersion = 8.2.1; DevelopmentTeam = RRS55ZY6E5; ProvisioningStyle = Automatic; }; - 293FFED11DD25C74001477E8 = { - CreatedOnToolsVersion = 8.1; + 29B965281E7A04140072071D = { + CreatedOnToolsVersion = 8.2.1; + DevelopmentTeam = RRS55ZY6E5; ProvisioningStyle = Automatic; }; 29E8BF941DD2920C00E8CEBA = { @@ -6552,1362 +6423,32 @@ projectRoot = ""; targets = ( 299F7FE51CA8D2200084CAE5 /* Mx */, - 2933A7C21DA58F1D005D7222 /* mx-macOS */, - 2933AA941DA5AA73005D7222 /* mx-iOS */, 293FFED11DD25C74001477E8 /* dylib-macOS */, 29E8BF941DD2920C00E8CEBA /* dylib-iOS */, + 29B962801E79FF410072071D /* MxiOS */, + 29B965281E7A04140072071D /* MxmacOS */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 2933A7C11DA58F1D005D7222 /* Resources */ = { + 29B9627F1E79FF410072071D /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 2933AA931DA5A60C005D7222 /* mx-macOS.plist in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 2933AD411DA5AA73005D7222 /* Resources */ = { + 29B965271E7A04140072071D /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 2933AD421DA5AA73005D7222 /* mx-macOS.plist in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 2933A7BE1DA58F1D005D7222 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 2933A7EC1DA58F2F005D7222 /* ScoreConversions.cpp in Sources */, - 2933A7ED1DA58F2F005D7222 /* AttributesInterface.cpp in Sources */, - 2933A7EE1DA58F2F005D7222 /* Color.cpp in Sources */, - 2933A7EF1DA58F2F005D7222 /* Date.cpp in Sources */, - 2933A7F01DA58F2F005D7222 /* Decimals.cpp in Sources */, - 2933A7F11DA58F2F005D7222 /* Document.cpp in Sources */, - 2933A7F21DA58F2F005D7222 /* DocumentHeader.cpp in Sources */, - 2933A7F31DA58F2F005D7222 /* DocumentSpec.cpp in Sources */, - 2933A7F41DA58F2F005D7222 /* ElementInterface.cpp in Sources */, - 2933A7F51DA58F2F005D7222 /* Accent.cpp in Sources */, - 2933A7F61DA58F2F005D7222 /* Accidental.cpp in Sources */, - 2933A7F71DA58F2F005D7222 /* AccidentalAttributes.cpp in Sources */, - 2933A7F81DA58F2F005D7222 /* AccidentalMark.cpp in Sources */, - 2933A7F91DA58F2F005D7222 /* AccidentalMarkAttributes.cpp in Sources */, - 2933A7FA1DA58F2F005D7222 /* AccidentalText.cpp in Sources */, - 2933A7FB1DA58F2F005D7222 /* AccidentalTextAttributes.cpp in Sources */, - 2933A7FC1DA58F2F005D7222 /* Accord.cpp in Sources */, - 2933A7FD1DA58F2F005D7222 /* AccordAttributes.cpp in Sources */, - 2933A7FE1DA58F2F005D7222 /* AccordionHigh.cpp in Sources */, - 2933A7FF1DA58F2F005D7222 /* AccordionLow.cpp in Sources */, - 2933A8001DA58F2F005D7222 /* AccordionMiddle.cpp in Sources */, - 2933A8011DA58F2F005D7222 /* AccordionRegistration.cpp in Sources */, - 2933A8021DA58F2F005D7222 /* AccordionRegistrationAttributes.cpp in Sources */, - 2933A8031DA58F2F005D7222 /* ActualNotes.cpp in Sources */, - 2933A8041DA58F2F005D7222 /* Alter.cpp in Sources */, - 2933A8051DA58F2F005D7222 /* Appearance.cpp in Sources */, - 2933A8061DA58F2F005D7222 /* Arpeggiate.cpp in Sources */, - 2933A8071DA58F2F005D7222 /* ArpeggiateAttributes.cpp in Sources */, - 2933A8081DA58F2F005D7222 /* Arrow.cpp in Sources */, - 2933A8091DA58F2F005D7222 /* ArrowAttributes.cpp in Sources */, - 2933A80A1DA58F2F005D7222 /* ArrowDirection.cpp in Sources */, - 2933A80B1DA58F2F005D7222 /* ArrowGroup.cpp in Sources */, - 2933A80C1DA58F2F005D7222 /* ArrowStyle.cpp in Sources */, - 2933A80D1DA58F2F005D7222 /* Articulations.cpp in Sources */, - 2933A80E1DA58F2F005D7222 /* ArticulationsChoice.cpp in Sources */, - 2933A80F1DA58F2F005D7222 /* Artificial.cpp in Sources */, - 2933A8101DA58F2F005D7222 /* AttributesIterface.cpp in Sources */, - 2933A8111DA58F2F005D7222 /* Backup.cpp in Sources */, - 2933A8121DA58F2F005D7222 /* Barline.cpp in Sources */, - 2933A8131DA58F2F005D7222 /* BarlineAttributes.cpp in Sources */, - 2933A8141DA58F2F005D7222 /* Barre.cpp in Sources */, - 29271A1F1DCC04610036528D /* OrnamentsFunctions.cpp in Sources */, - 2933A8151DA58F2F005D7222 /* BarreAttributes.cpp in Sources */, - 2933A8161DA58F2F005D7222 /* BarStyle.cpp in Sources */, - 2933A8171DA58F2F005D7222 /* BarStyleAttributes.cpp in Sources */, - 2933A8181DA58F2F005D7222 /* BasePitch.cpp in Sources */, - 2933A8191DA58F2F005D7222 /* Bass.cpp in Sources */, - 2933A81A1DA58F2F005D7222 /* BassAlter.cpp in Sources */, - 2933A81B1DA58F2F005D7222 /* BassAlterAttributes.cpp in Sources */, - 2933A81C1DA58F2F005D7222 /* BassStep.cpp in Sources */, - 2933A81D1DA58F2F005D7222 /* BassStepAttributes.cpp in Sources */, - 2933A81E1DA58F2F005D7222 /* Beam.cpp in Sources */, - 2933A81F1DA58F2F005D7222 /* BeamAttributes.cpp in Sources */, - 2933A8201DA58F2F005D7222 /* Beater.cpp in Sources */, - 2933A8211DA58F2F005D7222 /* BeaterAttributes.cpp in Sources */, - 2933A8221DA58F2F005D7222 /* BeatRepeat.cpp in Sources */, - 2933A8231DA58F2F005D7222 /* BeatRepeatAttributes.cpp in Sources */, - 2933A8241DA58F2F005D7222 /* Beats.cpp in Sources */, - 2933A8251DA58F2F005D7222 /* BeatType.cpp in Sources */, - 2933A8261DA58F2F005D7222 /* BeatUnit.cpp in Sources */, - 2933A8271DA58F2F005D7222 /* BeatUnitDot.cpp in Sources */, - 2933A8281DA58F2F005D7222 /* BeatUnitGroup.cpp in Sources */, - 2933A8291DA58F2F005D7222 /* BeatUnitPer.cpp in Sources */, - 29271A191DCC04610036528D /* MeasureWriter.cpp in Sources */, - 2933A82A1DA58F2F005D7222 /* BeatUnitPerOrNoteRelationNoteChoice.cpp in Sources */, - 2933A82B1DA58F2F005D7222 /* Bend.cpp in Sources */, - 2933A82C1DA58F2F005D7222 /* BendAlter.cpp in Sources */, - 2933A82D1DA58F2F005D7222 /* BendAttributes.cpp in Sources */, - 2933A82E1DA58F2F005D7222 /* BendChoice.cpp in Sources */, - 2933A82F1DA58F2F005D7222 /* Bookmark.cpp in Sources */, - 2933A8301DA58F2F005D7222 /* BookmarkAttributes.cpp in Sources */, - 2933A8311DA58F2F005D7222 /* BottomMargin.cpp in Sources */, - 2933A8321DA58F2F005D7222 /* Bracket.cpp in Sources */, - 2933A8331DA58F2F005D7222 /* BracketAttributes.cpp in Sources */, - 2933A8341DA58F2F005D7222 /* BreathMark.cpp in Sources */, - 2933A8351DA58F2F005D7222 /* BreathMarkAttributes.cpp in Sources */, - 2933A8361DA58F2F005D7222 /* Caesura.cpp in Sources */, - 2933A8371DA58F2F005D7222 /* Cancel.cpp in Sources */, - 2933A8381DA58F2F005D7222 /* CancelAttributes.cpp in Sources */, - 29271A1E1DCC04610036528D /* NoteWriter.cpp in Sources */, - 2933A8391DA58F2F005D7222 /* Capo.cpp in Sources */, - 2933A83A1DA58F2F005D7222 /* Chord.cpp in Sources */, - 2933A83B1DA58F2F005D7222 /* Chromatic.cpp in Sources */, - 2933A83C1DA58F2F005D7222 /* CircularArrow.cpp in Sources */, - 2933A83D1DA58F2F005D7222 /* Clef.cpp in Sources */, - 2933A83E1DA58F2F005D7222 /* ClefAttributes.cpp in Sources */, - 2933A83F1DA58F2F005D7222 /* ClefOctaveChange.cpp in Sources */, - 2933A8401DA58F2F005D7222 /* Coda.cpp in Sources */, - 2933A8411DA58F2F005D7222 /* Creator.cpp in Sources */, - 2933A8421DA58F2F005D7222 /* CreatorAttributes.cpp in Sources */, - 2933A8431DA58F2F005D7222 /* Credit.cpp in Sources */, - 2933A8441DA58F2F005D7222 /* CreditAttributes.cpp in Sources */, - 2933A8451DA58F2F005D7222 /* CreditChoice.cpp in Sources */, - 2933A8461DA58F2F005D7222 /* CreditImage.cpp in Sources */, - 2933A8471DA58F2F005D7222 /* CreditImageAttributes.cpp in Sources */, - 2933A8481DA58F2F005D7222 /* CreditType.cpp in Sources */, - 2933A8491DA58F2F005D7222 /* CreditWords.cpp in Sources */, - 2933A84A1DA58F2F005D7222 /* CreditWordsAttributes.cpp in Sources */, - 2933A84B1DA58F2F005D7222 /* CreditWordsGroup.cpp in Sources */, - 2933A84C1DA58F2F005D7222 /* Cue.cpp in Sources */, - 2933A84D1DA58F2F005D7222 /* CueNoteGroup.cpp in Sources */, - 2933A84E1DA58F2F005D7222 /* Damp.cpp in Sources */, - 2933A84F1DA58F2F005D7222 /* DampAll.cpp in Sources */, - 29271A1C1DCC04610036528D /* NoteFunctions.cpp in Sources */, - 29271A0D1DCC04610036528D /* DynamicsWriter.cpp in Sources */, - 29271A201DCC04610036528D /* PageTextFunctions.cpp in Sources */, - 2933A8501DA58F2F005D7222 /* Dashes.cpp in Sources */, - 2933A8511DA58F2F005D7222 /* DashesAttributes.cpp in Sources */, - 2933A8521DA58F2F005D7222 /* Defaults.cpp in Sources */, - 2933A8531DA58F2F005D7222 /* Degree.cpp in Sources */, - 2933A8541DA58F2F005D7222 /* DegreeAlter.cpp in Sources */, - 29271A0F1DCC04610036528D /* ArticulationsFunctions.cpp in Sources */, - 2933A8551DA58F2F005D7222 /* DegreeAlterAttributes.cpp in Sources */, - 2933A8561DA58F2F005D7222 /* DegreeAttributes.cpp in Sources */, - 2933A8571DA58F2F005D7222 /* DegreeType.cpp in Sources */, - 2933A8581DA58F2F005D7222 /* DegreeTypeAttributes.cpp in Sources */, - 2933A8591DA58F2F005D7222 /* DegreeValue.cpp in Sources */, - 2933A85A1DA58F2F005D7222 /* DegreeValueAttributes.cpp in Sources */, - 2933A85B1DA58F2F005D7222 /* DelayedInvertedTurn.cpp in Sources */, - 2933A85C1DA58F2F005D7222 /* DelayedInvertedTurnAttributes.cpp in Sources */, - 2933A85D1DA58F2F005D7222 /* DelayedTurn.cpp in Sources */, - 2933A85E1DA58F2F005D7222 /* DelayedTurnAttributes.cpp in Sources */, - 2933A85F1DA58F2F005D7222 /* DetachedLegato.cpp in Sources */, - 2933A8601DA58F2F005D7222 /* Diatonic.cpp in Sources */, - 2933A8611DA58F2F005D7222 /* Direction.cpp in Sources */, - 2933A8621DA58F2F005D7222 /* DirectionAttributes.cpp in Sources */, - 2933A8631DA58F2F005D7222 /* DirectionType.cpp in Sources */, - 2933A8641DA58F2F005D7222 /* Directive.cpp in Sources */, - 2933A8651DA58F2F005D7222 /* DirectiveAttributes.cpp in Sources */, - 2933A8661DA58F2F005D7222 /* DisplayOctave.cpp in Sources */, - 2933A8671DA58F2F005D7222 /* DisplayStep.cpp in Sources */, - 29271A1A1DCC04610036528D /* MetronomeReader.cpp in Sources */, - 29271A101DCC04610036528D /* Converter.cpp in Sources */, - 2933A8681DA58F2F005D7222 /* DisplayStepOctaveGroup.cpp in Sources */, - 2933A8691DA58F2F005D7222 /* DisplayText.cpp in Sources */, - 2933A86A1DA58F2F005D7222 /* DisplayTextAttributes.cpp in Sources */, - 2933A86B1DA58F2F005D7222 /* DisplayTextOrAccidentalText.cpp in Sources */, - 2933A86C1DA58F2F005D7222 /* Distance.cpp in Sources */, - 2933A86D1DA58F2F005D7222 /* DistanceAttributes.cpp in Sources */, - 2933A86E1DA58F2F005D7222 /* Divisions.cpp in Sources */, - 2933A86F1DA58F2F005D7222 /* Doit.cpp in Sources */, - 2933A8701DA58F2F005D7222 /* Dot.cpp in Sources */, - 2933A8711DA58F2F005D7222 /* Double.cpp in Sources */, - 2933A8721DA58F2F005D7222 /* DoubleTongue.cpp in Sources */, - 2933A8731DA58F2F005D7222 /* DownBow.cpp in Sources */, - 2933A8741DA58F2F005D7222 /* Duration.cpp in Sources */, - 29271A151DCC04610036528D /* EncodingFunctions.cpp in Sources */, - 2933A8751DA58F2F005D7222 /* Dynamics.cpp in Sources */, - 2933A8761DA58F2F005D7222 /* DynamicsAttributes.cpp in Sources */, - 2933A8771DA58F2F005D7222 /* EditorialGroup.cpp in Sources */, - 2933A8781DA58F2F005D7222 /* EditorialVoiceDirectionGroup.cpp in Sources */, - 2933A8791DA58F2F005D7222 /* EditorialVoiceGroup.cpp in Sources */, - 2933A87A1DA58F2F005D7222 /* Effect.cpp in Sources */, - 2933A87B1DA58F2F005D7222 /* Elevation.cpp in Sources */, - 2933A87C1DA58F2F005D7222 /* Elision.cpp in Sources */, - 2933A87D1DA58F2F005D7222 /* ElisionAttributes.cpp in Sources */, - 2933A87E1DA58F2F005D7222 /* ElisionSyllabicGroup.cpp in Sources */, - 2933A87F1DA58F2F005D7222 /* ElisionSyllabicTextGroup.cpp in Sources */, - 2933A8801DA58F2F005D7222 /* EmptyFontAttributes.cpp in Sources */, - 2933A8811DA58F2F005D7222 /* EmptyLineAttributes.cpp in Sources */, - 2933A8821DA58F2F005D7222 /* EmptyPlacementAttributes.cpp in Sources */, - 29271A281DCC04610036528D /* TimeReader.cpp in Sources */, - 29271A231DCC04610036528D /* PropertiesWriter.cpp in Sources */, - 2933A8831DA58F2F005D7222 /* EmptyTrillSoundAttributes.cpp in Sources */, - 2933A8841DA58F2F005D7222 /* Encoder.cpp in Sources */, - 2933A8851DA58F2F005D7222 /* EncoderAttributes.cpp in Sources */, - 2933A8861DA58F2F005D7222 /* Encoding.cpp in Sources */, - 29271A0E1DCC04610036528D /* AccidentalMarkFunctions.cpp in Sources */, - 2933A8871DA58F2F005D7222 /* EncodingChoice.cpp in Sources */, - 2933A8881DA58F2F005D7222 /* EncodingDate.cpp in Sources */, - 2933A8891DA58F2F005D7222 /* EncodingDescription.cpp in Sources */, - 2933A88A1DA58F2F005D7222 /* Ending.cpp in Sources */, - 2933A88B1DA58F2F005D7222 /* EndingAttributes.cpp in Sources */, - 2933A88C1DA58F2F005D7222 /* EndLine.cpp in Sources */, - 2933A88D1DA58F2F005D7222 /* EndParagraph.cpp in Sources */, - 2933A88E1DA58F2F005D7222 /* Ensemble.cpp in Sources */, - 2933A88F1DA58F2F005D7222 /* Extend.cpp in Sources */, - 2933A8901DA58F2F005D7222 /* ExtendAttributes.cpp in Sources */, - 2933A8911DA58F2F005D7222 /* Eyeglasses.cpp in Sources */, - 2933A8921DA58F2F005D7222 /* Falloff.cpp in Sources */, - 2933A8931DA58F2F005D7222 /* Feature.cpp in Sources */, - 2933A8941DA58F2F005D7222 /* FeatureAttributes.cpp in Sources */, - 2933A8951DA58F2F005D7222 /* Fermata.cpp in Sources */, - 29B7C4811DB03B61009D7D8F /* NoteData.cpp in Sources */, - 2933A8961DA58F2F005D7222 /* FermataAttributes.cpp in Sources */, - 2933A8971DA58F2F005D7222 /* Fifths.cpp in Sources */, - 2933A8981DA58F2F005D7222 /* Figure.cpp in Sources */, - 2933A8991DA58F2F005D7222 /* FiguredBass.cpp in Sources */, - 2933A89A1DA58F2F005D7222 /* FiguredBassAttributes.cpp in Sources */, - 2933A89B1DA58F2F005D7222 /* FigureNumber.cpp in Sources */, - 2933A89C1DA58F2F005D7222 /* FigureNumberAttributes.cpp in Sources */, - 2933A89D1DA58F2F005D7222 /* Fingering.cpp in Sources */, - 2933A89E1DA58F2F005D7222 /* FingeringAttributes.cpp in Sources */, - 2933A89F1DA58F2F005D7222 /* Fingernails.cpp in Sources */, - 2933A8A01DA58F2F005D7222 /* FirstFret.cpp in Sources */, - 2933A8A11DA58F2F005D7222 /* FirstFretAttributes.cpp in Sources */, - 2933A8A21DA58F2F005D7222 /* Footnote.cpp in Sources */, - 2933A8A31DA58F2F005D7222 /* FootnoteAttributes.cpp in Sources */, - 2933A8A41DA58F2F005D7222 /* Forward.cpp in Sources */, - 2933A8A51DA58F2F005D7222 /* Frame.cpp in Sources */, - 2933A8A61DA58F2F005D7222 /* FrameAttributes.cpp in Sources */, - 2933A8A71DA58F2F005D7222 /* FrameFrets.cpp in Sources */, - 2933A8A81DA58F2F005D7222 /* FrameNote.cpp in Sources */, - 2933A8A91DA58F2F005D7222 /* FrameStrings.cpp in Sources */, - 2933A8AA1DA58F2F005D7222 /* Fret.cpp in Sources */, - 2933A8AB1DA58F2F005D7222 /* FretAttributes.cpp in Sources */, - 2933A8AC1DA58F2F005D7222 /* FullNoteGroup.cpp in Sources */, - 2933A8AD1DA58F2F005D7222 /* FullNoteTypeChoice.cpp in Sources */, - 2933A8AE1DA58F2F005D7222 /* Function.cpp in Sources */, - 2933A8AF1DA58F2F005D7222 /* FunctionAttributes.cpp in Sources */, - 2933A8B01DA58F2F005D7222 /* Glass.cpp in Sources */, - 2933A8B11DA58F2F005D7222 /* Glissando.cpp in Sources */, - 2933A8B21DA58F2F005D7222 /* GlissandoAttributes.cpp in Sources */, - 2933A8B31DA58F2F005D7222 /* Grace.cpp in Sources */, - 2933A8B41DA58F2F005D7222 /* GraceAttributes.cpp in Sources */, - 2933A8B51DA58F2F005D7222 /* GraceNoteGroup.cpp in Sources */, - 2933A8B61DA58F2F005D7222 /* Group.cpp in Sources */, - 2933A8B71DA58F2F005D7222 /* GroupAbbreviation.cpp in Sources */, - 2933A8B81DA58F2F005D7222 /* GroupAbbreviationAttributes.cpp in Sources */, - 2933A8B91DA58F2F005D7222 /* GroupAbbreviationDisplay.cpp in Sources */, - 2933A8BA1DA58F2F005D7222 /* GroupAbbreviationDisplayAttributes.cpp in Sources */, - 2933A8BB1DA58F2F005D7222 /* GroupBarline.cpp in Sources */, - 2933A8BC1DA58F2F005D7222 /* GroupBarlineAttributes.cpp in Sources */, - 2933A8BD1DA58F2F005D7222 /* Grouping.cpp in Sources */, - 2933A8BE1DA58F2F005D7222 /* GroupingAttributes.cpp in Sources */, - 2933A8BF1DA58F2F005D7222 /* GroupName.cpp in Sources */, - 2933A8C01DA58F2F005D7222 /* GroupNameAttributes.cpp in Sources */, - 29B7C4801DB03B61009D7D8F /* MeasureLocation.cpp in Sources */, - 2933A8C11DA58F2F005D7222 /* GroupNameDisplay.cpp in Sources */, - 2933A8C21DA58F2F005D7222 /* GroupNameDisplayAttributes.cpp in Sources */, - 29B7C47D1DB03B61009D7D8F /* DocumentManager.cpp in Sources */, - 2933A8C31DA58F2F005D7222 /* GroupSymbol.cpp in Sources */, - 2933A8C41DA58F2F005D7222 /* GroupSymbolAttributes.cpp in Sources */, - 2933A8C51DA58F2F005D7222 /* GroupTime.cpp in Sources */, - 2933A8C61DA58F2F005D7222 /* HammerOn.cpp in Sources */, - 29271A211DCC04610036528D /* PartReader.cpp in Sources */, - 2933A8C71DA58F2F005D7222 /* HammerOnAttributes.cpp in Sources */, - 2933A8C81DA58F2F005D7222 /* Handbell.cpp in Sources */, - 29271A251DCC04610036528D /* ScoreWriter.cpp in Sources */, - 2933A8C91DA58F2F005D7222 /* HandbellAttributes.cpp in Sources */, - 2933A8CA1DA58F2F005D7222 /* Harmonic.cpp in Sources */, - 2933A8CB1DA58F2F005D7222 /* HarmonicAttributes.cpp in Sources */, - 2933A8CC1DA58F2F005D7222 /* HarmonicInfoChoice.cpp in Sources */, - 2933A8CD1DA58F2F005D7222 /* HarmonicTypeChoice.cpp in Sources */, - 2933A8CE1DA58F2F005D7222 /* Harmony.cpp in Sources */, - 2933A8CF1DA58F2F005D7222 /* HarmonyAttributes.cpp in Sources */, - 2933A8D01DA58F2F005D7222 /* HarmonyChordGroup.cpp in Sources */, - 2933A8D11DA58F2F005D7222 /* HarpPedals.cpp in Sources */, - 2933A8D21DA58F2F005D7222 /* HarpPedalsAttributes.cpp in Sources */, - 2933A8D31DA58F2F005D7222 /* Heel.cpp in Sources */, - 2933A8D41DA58F2F005D7222 /* HeelAttributes.cpp in Sources */, - 2933A8D51DA58F2F005D7222 /* Hole.cpp in Sources */, - 2933A8D61DA58F2F005D7222 /* HoleAttributes.cpp in Sources */, - 2933A8D71DA58F2F005D7222 /* HoleClosed.cpp in Sources */, - 2933A8D81DA58F2F005D7222 /* HoleClosedAttributes.cpp in Sources */, - 2933A8D91DA58F2F005D7222 /* HoleShape.cpp in Sources */, - 2933A8DA1DA58F2F005D7222 /* HoleType.cpp in Sources */, - 2933A8DB1DA58F2F005D7222 /* Humming.cpp in Sources */, - 2933A8DC1DA58F2F005D7222 /* Identification.cpp in Sources */, - 2933A8DD1DA58F2F005D7222 /* Image.cpp in Sources */, - 2933A8DE1DA58F2F005D7222 /* ImageAttributes.cpp in Sources */, - 2933A8DF1DA58F2F005D7222 /* Instrument.cpp in Sources */, - 2933A8E01DA58F2F005D7222 /* InstrumentAbbreviation.cpp in Sources */, - 2933A8E11DA58F2F005D7222 /* InstrumentAttributes.cpp in Sources */, - 2933A8E21DA58F2F005D7222 /* InstrumentName.cpp in Sources */, - 2933A8E31DA58F2F005D7222 /* Instruments.cpp in Sources */, - 2933A8E41DA58F2F005D7222 /* InstrumentSound.cpp in Sources */, - 2933A8E51DA58F2F005D7222 /* Interchangeable.cpp in Sources */, - 2933A8E61DA58F2F005D7222 /* InterchangeableAttributes.cpp in Sources */, - 2933A8E71DA58F2F005D7222 /* Inversion.cpp in Sources */, - 2933A8E81DA58F2F005D7222 /* InversionAttributes.cpp in Sources */, - 2933A8E91DA58F2F005D7222 /* InvertedMordent.cpp in Sources */, - 2933A8EA1DA58F2F005D7222 /* InvertedMordentAttributes.cpp in Sources */, - 2933A8EB1DA58F2F005D7222 /* InvertedTurn.cpp in Sources */, - 2933A8EC1DA58F2F005D7222 /* InvertedTurnAttributes.cpp in Sources */, - 2933A8ED1DA58F2F005D7222 /* Ipa.cpp in Sources */, - 2933A8EE1DA58F2F005D7222 /* Key.cpp in Sources */, - 2933A8EF1DA58F2F005D7222 /* KeyAccidental.cpp in Sources */, - 2933A8F01DA58F2F005D7222 /* KeyAlter.cpp in Sources */, - 2933A8F11DA58F2F005D7222 /* KeyAttributes.cpp in Sources */, - 2933A8F21DA58F2F005D7222 /* KeyChoice.cpp in Sources */, - 2933A8F31DA58F2F005D7222 /* KeyOctave.cpp in Sources */, - 2933A8F41DA58F2F005D7222 /* KeyOctaveAttributes.cpp in Sources */, - 2933A8F51DA58F2F005D7222 /* KeyStep.cpp in Sources */, - 2933A8F61DA58F2F005D7222 /* Kind.cpp in Sources */, - 2933A8F71DA58F2F005D7222 /* KindAttributes.cpp in Sources */, - 2933A8F81DA58F2F005D7222 /* Laughing.cpp in Sources */, - 2933A8F91DA58F2F005D7222 /* LayoutGroup.cpp in Sources */, - 2933A8FA1DA58F2F005D7222 /* LeftDivider.cpp in Sources */, - 2933A8FB1DA58F2F005D7222 /* LeftMargin.cpp in Sources */, - 2933A8FC1DA58F2F005D7222 /* Level.cpp in Sources */, - 2933A8FD1DA58F2F005D7222 /* LevelAttributes.cpp in Sources */, - 2933A8FE1DA58F2F005D7222 /* Line.cpp in Sources */, - 2933A8FF1DA58F2F005D7222 /* LineWidth.cpp in Sources */, - 2933A9001DA58F2F005D7222 /* LineWidthAttributes.cpp in Sources */, - 2933A9011DA58F2F005D7222 /* Link.cpp in Sources */, - 2933A9021DA58F2F005D7222 /* LinkAttributes.cpp in Sources */, - 2933A9031DA58F2F005D7222 /* Lyric.cpp in Sources */, - 2933A9041DA58F2F005D7222 /* LyricAttributes.cpp in Sources */, - 2933A9051DA58F2F005D7222 /* LyricFont.cpp in Sources */, - 2933A9061DA58F2F005D7222 /* LyricFontAttributes.cpp in Sources */, - 2933A9071DA58F2F005D7222 /* LyricLanguage.cpp in Sources */, - 2933A9081DA58F2F005D7222 /* LyricLanguageAttributes.cpp in Sources */, - 2933A9091DA58F2F005D7222 /* LyricTextChoice.cpp in Sources */, - 2933A90A1DA58F2F005D7222 /* MeasureAttributes.cpp in Sources */, - 2933A90B1DA58F2F005D7222 /* MeasureDistance.cpp in Sources */, - 2933A90C1DA58F2F005D7222 /* MeasureLayout.cpp in Sources */, - 2933A90D1DA58F2F005D7222 /* MeasureNumbering.cpp in Sources */, - 2933A90E1DA58F2F005D7222 /* MeasureNumberingAttributes.cpp in Sources */, - 29271A121DCC04610036528D /* DirectionReader.cpp in Sources */, - 2933A90F1DA58F2F005D7222 /* MeasureRepeat.cpp in Sources */, - 2933A9101DA58F2F005D7222 /* MeasureRepeatAttributes.cpp in Sources */, - 2933A9111DA58F2F005D7222 /* MeasureStyle.cpp in Sources */, - 2933A9121DA58F2F005D7222 /* MeasureStyleAttributes.cpp in Sources */, - 2933A9131DA58F2F005D7222 /* MeasureStyleChoice.cpp in Sources */, - 2933A9141DA58F2F005D7222 /* Membrane.cpp in Sources */, - 2933A9151DA58F2F005D7222 /* Metal.cpp in Sources */, - 29271A141DCC04610036528D /* DynamicsReader.cpp in Sources */, - 2933A9161DA58F2F005D7222 /* Metronome.cpp in Sources */, - 2933A9171DA58F2F005D7222 /* MetronomeAttributes.cpp in Sources */, - 2933A9181DA58F2F005D7222 /* MetronomeBeam.cpp in Sources */, - 2933A9191DA58F2F005D7222 /* MetronomeBeamAttributes.cpp in Sources */, - 2933A91A1DA58F2F005D7222 /* MetronomeDot.cpp in Sources */, - 2933A91B1DA58F2F005D7222 /* MetronomeNote.cpp in Sources */, - 2933A91C1DA58F2F005D7222 /* MetronomeRelation.cpp in Sources */, - 2933A91D1DA58F2F005D7222 /* MetronomeRelationGroup.cpp in Sources */, - 2933A91E1DA58F2F005D7222 /* MetronomeTuplet.cpp in Sources */, - 2933A91F1DA58F2F005D7222 /* MetronomeTupletAttributes.cpp in Sources */, - 2933A9201DA58F2F005D7222 /* MetronomeType.cpp in Sources */, - 2933A9211DA58F2F005D7222 /* MidiBank.cpp in Sources */, - 2933A9221DA58F2F005D7222 /* MidiChannel.cpp in Sources */, - 2933A9231DA58F2F005D7222 /* MidiDevice.cpp in Sources */, - 2933A9241DA58F2F005D7222 /* MidiDeviceAttributes.cpp in Sources */, - 2933A9251DA58F2F005D7222 /* MidiDeviceInstrumentGroup.cpp in Sources */, - 2933A9261DA58F2F005D7222 /* MidiInstrument.cpp in Sources */, - 2933A9271DA58F2F005D7222 /* MidiInstrumentAttributes.cpp in Sources */, - 2933A9281DA58F2F005D7222 /* MidiName.cpp in Sources */, - 2933A9291DA58F2F005D7222 /* MidiProgram.cpp in Sources */, - 2933A92A1DA58F2F005D7222 /* MidiUnpitched.cpp in Sources */, - 2933A92B1DA58F2F005D7222 /* Millimeters.cpp in Sources */, - 2933A92C1DA58F2F005D7222 /* Miscellaneous.cpp in Sources */, - 2933A92D1DA58F2F005D7222 /* MiscellaneousField.cpp in Sources */, - 2933A92E1DA58F2F005D7222 /* MiscellaneousFieldAttributes.cpp in Sources */, - 2933A92F1DA58F2F005D7222 /* Mode.cpp in Sources */, - 2933A9301DA58F2F005D7222 /* Mordent.cpp in Sources */, - 2933A9311DA58F2F005D7222 /* MordentAttributes.cpp in Sources */, - 2933A9321DA58F2F005D7222 /* MovementNumber.cpp in Sources */, - 2933A9331DA58F2F005D7222 /* MovementTitle.cpp in Sources */, - 2933A9341DA58F2F005D7222 /* MultipleRest.cpp in Sources */, - 2933A9351DA58F2F005D7222 /* MultipleRestAttributes.cpp in Sources */, - 2933A9361DA58F2F005D7222 /* MusicDataChoice.cpp in Sources */, - 29B7C47E1DB03B61009D7D8F /* DurationData.cpp in Sources */, - 2933A9371DA58F2F005D7222 /* MusicDataGroup.cpp in Sources */, - 2933A9381DA58F2F005D7222 /* MusicFont.cpp in Sources */, - 2933A9391DA58F2F005D7222 /* Mute.cpp in Sources */, - 2933A93A1DA58F2F005D7222 /* Natural.cpp in Sources */, - 29271A291DCC04610036528D /* TupletReader.cpp in Sources */, - 2933A93B1DA58F2F005D7222 /* NonArpeggiate.cpp in Sources */, - 2933A93C1DA58F2F005D7222 /* NonArpeggiateAttributes.cpp in Sources */, - 2933A93D1DA58F2F005D7222 /* NonTraditionalKey.cpp in Sources */, - 2933A93E1DA58F2F005D7222 /* NormalDot.cpp in Sources */, - 2933A93F1DA58F2F005D7222 /* NormalNoteGroup.cpp in Sources */, - 2933A9401DA58F2F005D7222 /* NormalNotes.cpp in Sources */, - 2933A9411DA58F2F005D7222 /* NormalType.cpp in Sources */, - 2933A9421DA58F2F005D7222 /* NormalTypeNormalDotGroup.cpp in Sources */, - 2933A9431DA58F2F005D7222 /* Notations.cpp in Sources */, - 2933A9441DA58F2F005D7222 /* NotationsAttributes.cpp in Sources */, - 2933A9451DA58F2F005D7222 /* NotationsChoice.cpp in Sources */, - 2933A9461DA58F2F005D7222 /* Note.cpp in Sources */, - 2933A9471DA58F2F005D7222 /* NoteAttributes.cpp in Sources */, - 2933A9481DA58F2F005D7222 /* NoteChoice.cpp in Sources */, - 2933A9491DA58F2F005D7222 /* Notehead.cpp in Sources */, - 2933A94A1DA58F2F005D7222 /* NoteheadAttributes.cpp in Sources */, - 2933A94B1DA58F2F005D7222 /* NoteheadText.cpp in Sources */, - 2933A94C1DA58F2F005D7222 /* NoteheadTextChoice.cpp in Sources */, - 29271A111DCC04610036528D /* Cursor.cpp in Sources */, - 2933A94D1DA58F2F005D7222 /* NoteRelationNote.cpp in Sources */, - 2933A94E1DA58F2F005D7222 /* NoteSize.cpp in Sources */, - 2933A94F1DA58F2F005D7222 /* NoteSizeAttributes.cpp in Sources */, - 2933A9501DA58F2F005D7222 /* Octave.cpp in Sources */, - 2933A9511DA58F2F005D7222 /* OctaveChange.cpp in Sources */, - 2933A9521DA58F2F005D7222 /* OctaveShift.cpp in Sources */, - 2933A9531DA58F2F005D7222 /* OctaveShiftAttributes.cpp in Sources */, - 2933A9541DA58F30005D7222 /* Offset.cpp in Sources */, - 29271A131DCC04610036528D /* DirectionWriter.cpp in Sources */, - 2933A9551DA58F30005D7222 /* OffsetAttributes.cpp in Sources */, - 2933A9561DA58F30005D7222 /* OpenString.cpp in Sources */, - 2933A9571DA58F30005D7222 /* Opus.cpp in Sources */, - 2933A9581DA58F30005D7222 /* OpusAttributes.cpp in Sources */, - 2933A9591DA58F30005D7222 /* Ornaments.cpp in Sources */, - 2933A95A1DA58F30005D7222 /* OrnamentsChoice.cpp in Sources */, - 2933A95B1DA58F30005D7222 /* OtherAppearance.cpp in Sources */, - 2933A95C1DA58F30005D7222 /* OtherAppearanceAttributes.cpp in Sources */, - 2933A95D1DA58F30005D7222 /* OtherArticulation.cpp in Sources */, - 2933A95E1DA58F30005D7222 /* OtherArticulationAttributes.cpp in Sources */, - 2933A95F1DA58F30005D7222 /* OtherDirection.cpp in Sources */, - 2933A9601DA58F30005D7222 /* OtherDirectionAttributes.cpp in Sources */, - 2933A9611DA58F30005D7222 /* OtherNotation.cpp in Sources */, - 2933A9621DA58F30005D7222 /* OtherNotationAttributes.cpp in Sources */, - 2933A9631DA58F30005D7222 /* OtherOrnament.cpp in Sources */, - 29B7C4821DB03B61009D7D8F /* PitchData.cpp in Sources */, - 2933A9641DA58F30005D7222 /* OtherOrnamentAttributes.cpp in Sources */, - 2933A9651DA58F30005D7222 /* OtherPercussion.cpp in Sources */, - 2933A9661DA58F30005D7222 /* OtherPlay.cpp in Sources */, - 2933A9671DA58F30005D7222 /* OtherPlayAttributes.cpp in Sources */, - 2933A9681DA58F30005D7222 /* OtherTechnical.cpp in Sources */, - 2933A9691DA58F30005D7222 /* OtherTechnicalAttributes.cpp in Sources */, - 2933A96A1DA58F30005D7222 /* PageHeight.cpp in Sources */, - 2933A96B1DA58F30005D7222 /* PageLayout.cpp in Sources */, - 2933A96C1DA58F30005D7222 /* PageMargins.cpp in Sources */, - 2933A96D1DA58F30005D7222 /* PageMarginsAttributes.cpp in Sources */, - 2933A96E1DA58F30005D7222 /* PageWidth.cpp in Sources */, - 2933A96F1DA58F30005D7222 /* Pan.cpp in Sources */, - 2933A9701DA58F30005D7222 /* PartAbbreviation.cpp in Sources */, - 2933A9711DA58F30005D7222 /* PartAbbreviationAttributes.cpp in Sources */, - 2933A9721DA58F30005D7222 /* PartAbbreviationDisplay.cpp in Sources */, - 2933A9731DA58F30005D7222 /* PartAbbreviationDisplayAttributes.cpp in Sources */, - 2933A9741DA58F30005D7222 /* PartAttributes.cpp in Sources */, - 2933A9751DA58F30005D7222 /* PartGroup.cpp in Sources */, - 2933A9761DA58F30005D7222 /* PartGroupAttributes.cpp in Sources */, - 2933A9771DA58F30005D7222 /* PartGroupOrScorePart.cpp in Sources */, - 2933A9781DA58F30005D7222 /* PartList.cpp in Sources */, - 2933A9791DA58F30005D7222 /* PartName.cpp in Sources */, - 2933A97A1DA58F30005D7222 /* PartNameAttributes.cpp in Sources */, - 2933A97B1DA58F30005D7222 /* PartNameDisplay.cpp in Sources */, - 2933A97C1DA58F30005D7222 /* PartNameDisplayAttributes.cpp in Sources */, - 2933A97D1DA58F30005D7222 /* PartSymbol.cpp in Sources */, - 2933A97E1DA58F30005D7222 /* PartSymbolAttributes.cpp in Sources */, - 2933A97F1DA58F30005D7222 /* PartwiseMeasure.cpp in Sources */, - 2933A9801DA58F30005D7222 /* PartwisePart.cpp in Sources */, - 2933A9811DA58F30005D7222 /* Pedal.cpp in Sources */, - 2933A9821DA58F30005D7222 /* PedalAlter.cpp in Sources */, - 29B7C4831DB03B61009D7D8F /* Smufl.cpp in Sources */, - 2933A9831DA58F30005D7222 /* PedalAttributes.cpp in Sources */, - 2933A9841DA58F30005D7222 /* PedalStep.cpp in Sources */, - 2933A9851DA58F30005D7222 /* PedalTuning.cpp in Sources */, - 2933A9861DA58F30005D7222 /* Percussion.cpp in Sources */, - 2933A9871DA58F30005D7222 /* PercussionAttributes.cpp in Sources */, - 2933A9881DA58F30005D7222 /* PercussionChoice.cpp in Sources */, - 2933A9891DA58F30005D7222 /* PerMinute.cpp in Sources */, - 2933A98A1DA58F30005D7222 /* PerMinuteAttributes.cpp in Sources */, - 2933A98B1DA58F30005D7222 /* PerMinuteOrBeatUnitChoice.cpp in Sources */, - 2933A98C1DA58F30005D7222 /* Pitch.cpp in Sources */, - 2933A98D1DA58F30005D7222 /* Pitched.cpp in Sources */, - 2933A98E1DA58F30005D7222 /* Play.cpp in Sources */, - 2933A98F1DA58F30005D7222 /* PlayAttributes.cpp in Sources */, - 2933A9901DA58F30005D7222 /* Plop.cpp in Sources */, - 2933A9911DA58F30005D7222 /* Pluck.cpp in Sources */, - 2933A9921DA58F30005D7222 /* PluckAttributes.cpp in Sources */, - 2933A9931DA58F30005D7222 /* PreBend.cpp in Sources */, - 2933A9941DA58F30005D7222 /* Prefix.cpp in Sources */, - 2933A9951DA58F30005D7222 /* PrefixAttributes.cpp in Sources */, - 2933A9961DA58F30005D7222 /* PrincipalVoice.cpp in Sources */, - 2933A9971DA58F30005D7222 /* PrincipalVoiceAttributes.cpp in Sources */, - 2933A9981DA58F30005D7222 /* Print.cpp in Sources */, - 2933A9991DA58F30005D7222 /* PrintAttributes.cpp in Sources */, - 2933A99A1DA58F30005D7222 /* Properties.cpp in Sources */, - 2933A99B1DA58F30005D7222 /* PullOff.cpp in Sources */, - 2933A99C1DA58F30005D7222 /* PullOffAttributes.cpp in Sources */, - 2933A99D1DA58F30005D7222 /* Rehearsal.cpp in Sources */, - 2933A99E1DA58F30005D7222 /* RehearsalAttributes.cpp in Sources */, - 2933A99F1DA58F30005D7222 /* Relation.cpp in Sources */, - 2933A9A01DA58F30005D7222 /* RelationAttributes.cpp in Sources */, - 2933A9A11DA58F30005D7222 /* Release.cpp in Sources */, - 2933A9A21DA58F30005D7222 /* Repeat.cpp in Sources */, - 2933A9A31DA58F30005D7222 /* RepeatAttributes.cpp in Sources */, - 2933A9A41DA58F30005D7222 /* Rest.cpp in Sources */, - 2933A9A51DA58F30005D7222 /* RestAttributes.cpp in Sources */, - 2933A9A61DA58F30005D7222 /* RightDivider.cpp in Sources */, - 2933A9A71DA58F30005D7222 /* RightMargin.cpp in Sources */, - 2933A9A81DA58F30005D7222 /* Rights.cpp in Sources */, - 2933A9A91DA58F30005D7222 /* RightsAttributes.cpp in Sources */, - 2933A9AA1DA58F30005D7222 /* Root.cpp in Sources */, - 2933A9AB1DA58F30005D7222 /* RootAlter.cpp in Sources */, - 29271A261DCC04610036528D /* StaffFunctions.cpp in Sources */, - 2933A9AC1DA58F30005D7222 /* RootAlterAttributes.cpp in Sources */, - 2933A9AD1DA58F30005D7222 /* RootStep.cpp in Sources */, - 2933A9AE1DA58F30005D7222 /* RootStepAttributes.cpp in Sources */, - 2933A9AF1DA58F30005D7222 /* Scaling.cpp in Sources */, - 2933A9B01DA58F30005D7222 /* Schleifer.cpp in Sources */, - 2933A9B11DA58F30005D7222 /* Scoop.cpp in Sources */, - 2933A9B21DA58F30005D7222 /* Scordatura.cpp in Sources */, - 2933A9B31DA58F30005D7222 /* ScoreHeaderGroup.cpp in Sources */, - 2933A9B41DA58F30005D7222 /* ScoreInstrument.cpp in Sources */, - 2933A9B51DA58F30005D7222 /* ScoreInstrumentAttributes.cpp in Sources */, - 2933A9B61DA58F30005D7222 /* ScorePart.cpp in Sources */, - 2933A9B71DA58F30005D7222 /* ScorePartAttributes.cpp in Sources */, - 2933A9B81DA58F30005D7222 /* ScorePartwise.cpp in Sources */, - 2933A9B91DA58F30005D7222 /* ScorePartwiseAttributes.cpp in Sources */, - 2933A9BA1DA58F30005D7222 /* ScoreTimewise.cpp in Sources */, - 2933A9BB1DA58F30005D7222 /* ScoreTimewiseAttributes.cpp in Sources */, - 2933A9BC1DA58F30005D7222 /* Segno.cpp in Sources */, - 2933A9BD1DA58F30005D7222 /* SemiPitched.cpp in Sources */, - 2933A9BE1DA58F30005D7222 /* SenzaMisura.cpp in Sources */, - 2933A9BF1DA58F30005D7222 /* Shake.cpp in Sources */, - 2933A9C01DA58F30005D7222 /* Sign.cpp in Sources */, - 2933A9C11DA58F30005D7222 /* Slash.cpp in Sources */, - 2933A9C21DA58F30005D7222 /* SlashAttributes.cpp in Sources */, - 2933A9C31DA58F30005D7222 /* SlashDot.cpp in Sources */, - 2933A9C41DA58F30005D7222 /* SlashType.cpp in Sources */, - 2933A9C51DA58F30005D7222 /* Slide.cpp in Sources */, - 2933A9C61DA58F30005D7222 /* SlideAttributes.cpp in Sources */, - 2933A9C71DA58F30005D7222 /* Slur.cpp in Sources */, - 2933A9C81DA58F30005D7222 /* SlurAttributes.cpp in Sources */, - 2933A9C91DA58F30005D7222 /* SnapPizzicato.cpp in Sources */, - 2933A9CA1DA58F30005D7222 /* Software.cpp in Sources */, - 2933A9CB1DA58F30005D7222 /* Solo.cpp in Sources */, - 2933A9CC1DA58F30005D7222 /* SoloOrEnsembleChoice.cpp in Sources */, - 2933A9CD1DA58F30005D7222 /* Sound.cpp in Sources */, - 29271A171DCC04610036528D /* LcmGcd.cpp in Sources */, - 2933A9CE1DA58F30005D7222 /* SoundAttributes.cpp in Sources */, - 2933A9CF1DA58F30005D7222 /* SoundingPitch.cpp in Sources */, - 2933A9D01DA58F30005D7222 /* Source.cpp in Sources */, - 2933A9D11DA58F30005D7222 /* Spiccato.cpp in Sources */, - 2933A9D21DA58F30005D7222 /* Staccatissimo.cpp in Sources */, - 2933A9D31DA58F30005D7222 /* Staccato.cpp in Sources */, - 2933A9D41DA58F30005D7222 /* Staff.cpp in Sources */, - 2933A9D51DA58F30005D7222 /* StaffDetails.cpp in Sources */, - 2933A9D61DA58F30005D7222 /* StaffDetailsAttributes.cpp in Sources */, - 2933A9D71DA58F30005D7222 /* StaffDistance.cpp in Sources */, - 29271A1B1DCC04610036528D /* NotationsWriter.cpp in Sources */, - 2933A9D81DA58F30005D7222 /* StaffLayout.cpp in Sources */, - 2933A9D91DA58F30005D7222 /* StaffLayoutAttributes.cpp in Sources */, - 2933A9DA1DA58F30005D7222 /* StaffLines.cpp in Sources */, - 2933A9DB1DA58F30005D7222 /* StaffSize.cpp in Sources */, - 2933A9DC1DA58F30005D7222 /* StaffTuning.cpp in Sources */, - 2933A9DD1DA58F30005D7222 /* StaffTuningAttributes.cpp in Sources */, - 2933A9DE1DA58F30005D7222 /* StaffType.cpp in Sources */, - 2933A9DF1DA58F30005D7222 /* Staves.cpp in Sources */, - 2933A9E01DA58F30005D7222 /* Stem.cpp in Sources */, - 2933A9E11DA58F30005D7222 /* StemAttributes.cpp in Sources */, - 29271A1D1DCC04610036528D /* NoteReader.cpp in Sources */, - 2933A9E21DA58F30005D7222 /* Step.cpp in Sources */, - 2933A9E31DA58F30005D7222 /* Stick.cpp in Sources */, - 2933A9E41DA58F30005D7222 /* StickAttributes.cpp in Sources */, - 2933A9E51DA58F30005D7222 /* StickLocation.cpp in Sources */, - 2933A9E61DA58F30005D7222 /* StickMaterial.cpp in Sources */, - 2933A9E71DA58F30005D7222 /* StickType.cpp in Sources */, - 2933A9E81DA58F30005D7222 /* Stopped.cpp in Sources */, - 2933A9E91DA58F30005D7222 /* Stress.cpp in Sources */, - 2933A9EA1DA58F30005D7222 /* String.cpp in Sources */, - 2933A9EB1DA58F30005D7222 /* StringAttributes.cpp in Sources */, - 2933A9EC1DA58F30005D7222 /* StringMute.cpp in Sources */, - 2933A9ED1DA58F30005D7222 /* StringMuteAttributes.cpp in Sources */, - 2933A9EE1DA58F30005D7222 /* StrongAccent.cpp in Sources */, - 2933A9EF1DA58F30005D7222 /* StrongAccentAttributes.cpp in Sources */, - 2933A9F01DA58F30005D7222 /* Suffix.cpp in Sources */, - 29271A241DCC04610036528D /* ScoreReader.cpp in Sources */, - 2933A9F11DA58F30005D7222 /* SuffixAttributes.cpp in Sources */, - 2933A9F21DA58F30005D7222 /* Supports.cpp in Sources */, - 2933A9F31DA58F30005D7222 /* SupportsAttributes.cpp in Sources */, - 2933A9F41DA58F30005D7222 /* Syllabic.cpp in Sources */, - 2933A9F51DA58F30005D7222 /* SyllabicTextGroup.cpp in Sources */, - 2933A9F61DA58F30005D7222 /* SystemDistance.cpp in Sources */, - 2933A9F71DA58F30005D7222 /* SystemDividers.cpp in Sources */, - 2933A9F81DA58F30005D7222 /* SystemLayout.cpp in Sources */, - 2933A9F91DA58F30005D7222 /* SystemMargins.cpp in Sources */, - 2933A9FA1DA58F30005D7222 /* Tap.cpp in Sources */, - 2933A9FB1DA58F30005D7222 /* TapAttributes.cpp in Sources */, - 2933A9FC1DA58F30005D7222 /* Technical.cpp in Sources */, - 2933A9FD1DA58F30005D7222 /* TechnicalChoice.cpp in Sources */, - 2933A9FE1DA58F30005D7222 /* Tenths.cpp in Sources */, - 2933A9FF1DA58F30005D7222 /* Tenuto.cpp in Sources */, - 2933AA001DA58F30005D7222 /* Text.cpp in Sources */, - 2933AA011DA58F30005D7222 /* TextAttributes.cpp in Sources */, - 2933AA021DA58F30005D7222 /* ThumbPosition.cpp in Sources */, - 29271A181DCC04610036528D /* MeasureReader.cpp in Sources */, - 2933AA031DA58F30005D7222 /* Tie.cpp in Sources */, - 2933AA041DA58F30005D7222 /* TieAttributes.cpp in Sources */, - 2933AA051DA58F30005D7222 /* Tied.cpp in Sources */, - 2933AA061DA58F30005D7222 /* TiedAttributes.cpp in Sources */, - 2933AA071DA58F30005D7222 /* Time.cpp in Sources */, - 2933AA081DA58F30005D7222 /* TimeAttributes.cpp in Sources */, - 2933AA091DA58F30005D7222 /* TimeChoice.cpp in Sources */, - 2933AA0A1DA58F30005D7222 /* TimeModification.cpp in Sources */, - 2933AA0B1DA58F30005D7222 /* TimeModificationNormalTypeNormalDot.cpp in Sources */, - 2933AA0C1DA58F30005D7222 /* TimeRelation.cpp in Sources */, - 2933AA0D1DA58F30005D7222 /* TimeSignatureGroup.cpp in Sources */, - 2933AA0E1DA58F30005D7222 /* TimewiseMeasure.cpp in Sources */, - 2933AA0F1DA58F30005D7222 /* TimewisePart.cpp in Sources */, - 2933AA101DA58F30005D7222 /* Timpani.cpp in Sources */, - 2933AA111DA58F30005D7222 /* Toe.cpp in Sources */, - 2933AA121DA58F30005D7222 /* ToeAttributes.cpp in Sources */, - 2933AA131DA58F30005D7222 /* TopMargin.cpp in Sources */, - 2933AA141DA58F30005D7222 /* TopSystemDistance.cpp in Sources */, - 2933AA151DA58F30005D7222 /* TouchingPitch.cpp in Sources */, - 2933AA161DA58F30005D7222 /* TraditionalKey.cpp in Sources */, - 2933AA171DA58F30005D7222 /* Transpose.cpp in Sources */, - 2933AA181DA58F30005D7222 /* TransposeAttributes.cpp in Sources */, - 2933AA191DA58F30005D7222 /* Tremolo.cpp in Sources */, - 2933AA1A1DA58F30005D7222 /* TremoloAttributes.cpp in Sources */, - 2933AA1B1DA58F30005D7222 /* TrillMark.cpp in Sources */, - 2933AA1C1DA58F30005D7222 /* TripleTongue.cpp in Sources */, - 2933AA1D1DA58F30005D7222 /* TuningAlter.cpp in Sources */, - 2933AA1E1DA58F30005D7222 /* TuningOctave.cpp in Sources */, - 2933AA1F1DA58F30005D7222 /* TuningStep.cpp in Sources */, - 2933AA201DA58F30005D7222 /* Tuplet.cpp in Sources */, - 2933AA211DA58F30005D7222 /* TupletActual.cpp in Sources */, - 2933AA221DA58F30005D7222 /* TupletAttributes.cpp in Sources */, - 2933AA231DA58F30005D7222 /* TupletDot.cpp in Sources */, - 2933AA241DA58F30005D7222 /* TupletDotAttributes.cpp in Sources */, - 29271A221DCC04610036528D /* PartWriter.cpp in Sources */, - 2933AA251DA58F30005D7222 /* TupletNormal.cpp in Sources */, - 29B7C47F1DB03B61009D7D8F /* MarkData.cpp in Sources */, - 2933AA261DA58F30005D7222 /* TupletNumber.cpp in Sources */, - 2933AA271DA58F30005D7222 /* TupletNumberAttributes.cpp in Sources */, - 2933AA281DA58F30005D7222 /* TupletType.cpp in Sources */, - 2933AA291DA58F30005D7222 /* TupletTypeAttributes.cpp in Sources */, - 2933AA2A1DA58F30005D7222 /* Turn.cpp in Sources */, - 2933AA2B1DA58F30005D7222 /* TurnAttributes.cpp in Sources */, - 2933AA2C1DA58F30005D7222 /* Type.cpp in Sources */, - 2933AA2D1DA58F30005D7222 /* TypeAttributes.cpp in Sources */, - 2933AA2E1DA58F30005D7222 /* Unpitched.cpp in Sources */, - 2933AA2F1DA58F30005D7222 /* Unstress.cpp in Sources */, - 2933AA301DA58F30005D7222 /* UpBow.cpp in Sources */, - 2933AA311DA58F30005D7222 /* VerticalTurn.cpp in Sources */, - 29B7C47C1DB03B61009D7D8F /* ClefData.cpp in Sources */, - 2933AA321DA58F30005D7222 /* VirtualInstrument.cpp in Sources */, - 2933AA331DA58F30005D7222 /* VirtualLibrary.cpp in Sources */, - 2933AA341DA58F30005D7222 /* VirtualName.cpp in Sources */, - 2933AA351DA58F30005D7222 /* Voice.cpp in Sources */, - 2933AA361DA58F30005D7222 /* Volume.cpp in Sources */, - 2933AA371DA58F30005D7222 /* WavyLine.cpp in Sources */, - 2933AA381DA58F30005D7222 /* WavyLineAttributes.cpp in Sources */, - 2933AA391DA58F30005D7222 /* Wedge.cpp in Sources */, - 2933AA3A1DA58F30005D7222 /* WedgeAttributes.cpp in Sources */, - 2933AA3B1DA58F30005D7222 /* WithBar.cpp in Sources */, - 2933AA3C1DA58F30005D7222 /* WithBarAttributes.cpp in Sources */, - 2933AA3D1DA58F30005D7222 /* Wood.cpp in Sources */, - 2933AA3E1DA58F30005D7222 /* WordFont.cpp in Sources */, - 2933AA3F1DA58F30005D7222 /* Words.cpp in Sources */, - 2933AA401DA58F30005D7222 /* WordsAttributes.cpp in Sources */, - 2933AA411DA58F30005D7222 /* Work.cpp in Sources */, - 2933AA421DA58F30005D7222 /* WorkNumber.cpp in Sources */, - 2933AA431DA58F30005D7222 /* WorkTitle.cpp in Sources */, - 2933AA441DA58F30005D7222 /* EmptyPrintObjectStyleAlignAttributes.cpp in Sources */, - 2933AA451DA58F30005D7222 /* Enums.cpp in Sources */, - 2933AA461DA58F30005D7222 /* FontSize.cpp in Sources */, - 2933AA471DA58F30005D7222 /* FromXElement.cpp in Sources */, - 2933AA481DA58F30005D7222 /* Integers.cpp in Sources */, - 2933AA491DA58F30005D7222 /* NumberOrNormal.cpp in Sources */, - 2933AA4A1DA58F30005D7222 /* PositiveIntegerOrEmpty.cpp in Sources */, - 2933AA4B1DA58F30005D7222 /* Strings.cpp in Sources */, - 2933AA4C1DA58F30005D7222 /* YesNoNumber.cpp in Sources */, - 2933AA4D1DA58F30005D7222 /* pugixml.cpp in Sources */, - 2933AA4E1DA58F30005D7222 /* Utility.cpp in Sources */, - 2933AA4F1DA58F30005D7222 /* UtilityImpl.cpp in Sources */, - 2933AA501DA58F30005D7222 /* PugiAttribute.cpp in Sources */, - 29271A271DCC04610036528D /* TechnicalFunctions.cpp in Sources */, - 2933AA511DA58F30005D7222 /* PugiAttributeIterImpl.cpp in Sources */, - 2933AA521DA58F30005D7222 /* PugiDoc.cpp in Sources */, - 2933AA531DA58F30005D7222 /* PugiElement.cpp in Sources */, - 29271A161DCC04610036528D /* LayoutFunctions.cpp in Sources */, - 2933AA541DA58F30005D7222 /* PugiElementIterImpl.cpp in Sources */, - 2933AA551DA58F30005D7222 /* XAttributeIterator.cpp in Sources */, - 2933AA561DA58F30005D7222 /* XElementIterator.cpp in Sources */, - 2933AA571DA58F30005D7222 /* XFactory.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 2933AA951DA5AA73005D7222 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 2933AAB71DA5AA73005D7222 /* ScoreConversions.cpp in Sources */, - 2933AAB81DA5AA73005D7222 /* AttributesInterface.cpp in Sources */, - 2933AAB91DA5AA73005D7222 /* Color.cpp in Sources */, - 2933AABA1DA5AA73005D7222 /* Date.cpp in Sources */, - 2933AABB1DA5AA73005D7222 /* Decimals.cpp in Sources */, - 2933AABC1DA5AA73005D7222 /* Document.cpp in Sources */, - 2933AABD1DA5AA73005D7222 /* DocumentHeader.cpp in Sources */, - 2933AABE1DA5AA73005D7222 /* DocumentSpec.cpp in Sources */, - 2933AABF1DA5AA73005D7222 /* ElementInterface.cpp in Sources */, - 2933AAC01DA5AA73005D7222 /* Accent.cpp in Sources */, - 2933AAC11DA5AA73005D7222 /* Accidental.cpp in Sources */, - 2933AAC21DA5AA73005D7222 /* AccidentalAttributes.cpp in Sources */, - 2933AAC31DA5AA73005D7222 /* AccidentalMark.cpp in Sources */, - 2933AAC41DA5AA73005D7222 /* AccidentalMarkAttributes.cpp in Sources */, - 2933AAC51DA5AA73005D7222 /* AccidentalText.cpp in Sources */, - 2933AAC61DA5AA73005D7222 /* AccidentalTextAttributes.cpp in Sources */, - 2933AAC71DA5AA73005D7222 /* Accord.cpp in Sources */, - 2933AAC81DA5AA73005D7222 /* AccordAttributes.cpp in Sources */, - 2933AAC91DA5AA73005D7222 /* AccordionHigh.cpp in Sources */, - 2933AACA1DA5AA73005D7222 /* AccordionLow.cpp in Sources */, - 2933AACB1DA5AA73005D7222 /* AccordionMiddle.cpp in Sources */, - 2933AACC1DA5AA73005D7222 /* AccordionRegistration.cpp in Sources */, - 2933AACD1DA5AA73005D7222 /* AccordionRegistrationAttributes.cpp in Sources */, - 2933AACE1DA5AA73005D7222 /* ActualNotes.cpp in Sources */, - 2933AACF1DA5AA73005D7222 /* Alter.cpp in Sources */, - 2933AAD01DA5AA73005D7222 /* Appearance.cpp in Sources */, - 2933AAD11DA5AA73005D7222 /* Arpeggiate.cpp in Sources */, - 2933AAD21DA5AA73005D7222 /* ArpeggiateAttributes.cpp in Sources */, - 2933AAD31DA5AA73005D7222 /* Arrow.cpp in Sources */, - 2933AAD41DA5AA73005D7222 /* ArrowAttributes.cpp in Sources */, - 2933AAD51DA5AA73005D7222 /* ArrowDirection.cpp in Sources */, - 2933AAD61DA5AA73005D7222 /* ArrowGroup.cpp in Sources */, - 2933AAD71DA5AA73005D7222 /* ArrowStyle.cpp in Sources */, - 2933AAD81DA5AA73005D7222 /* Articulations.cpp in Sources */, - 2933AAD91DA5AA73005D7222 /* ArticulationsChoice.cpp in Sources */, - 2933AADA1DA5AA73005D7222 /* Artificial.cpp in Sources */, - 2933AADB1DA5AA73005D7222 /* AttributesIterface.cpp in Sources */, - 2933AADC1DA5AA73005D7222 /* Backup.cpp in Sources */, - 2933AADD1DA5AA73005D7222 /* Barline.cpp in Sources */, - 2933AADE1DA5AA73005D7222 /* BarlineAttributes.cpp in Sources */, - 2933AADF1DA5AA73005D7222 /* Barre.cpp in Sources */, - 29271A3D1DCC04630036528D /* OrnamentsFunctions.cpp in Sources */, - 2933AAE01DA5AA73005D7222 /* BarreAttributes.cpp in Sources */, - 2933AAE11DA5AA73005D7222 /* BarStyle.cpp in Sources */, - 2933AAE21DA5AA73005D7222 /* BarStyleAttributes.cpp in Sources */, - 2933AAE31DA5AA73005D7222 /* BasePitch.cpp in Sources */, - 2933AAE41DA5AA73005D7222 /* Bass.cpp in Sources */, - 2933AAE51DA5AA73005D7222 /* BassAlter.cpp in Sources */, - 2933AAE61DA5AA73005D7222 /* BassAlterAttributes.cpp in Sources */, - 2933AAE71DA5AA73005D7222 /* BassStep.cpp in Sources */, - 2933AAE81DA5AA73005D7222 /* BassStepAttributes.cpp in Sources */, - 2933AAE91DA5AA73005D7222 /* Beam.cpp in Sources */, - 2933AAEA1DA5AA73005D7222 /* BeamAttributes.cpp in Sources */, - 2933AAEB1DA5AA73005D7222 /* Beater.cpp in Sources */, - 2933AAEC1DA5AA73005D7222 /* BeaterAttributes.cpp in Sources */, - 2933AAED1DA5AA73005D7222 /* BeatRepeat.cpp in Sources */, - 2933AAEE1DA5AA73005D7222 /* BeatRepeatAttributes.cpp in Sources */, - 2933AAEF1DA5AA73005D7222 /* Beats.cpp in Sources */, - 2933AAF01DA5AA73005D7222 /* BeatType.cpp in Sources */, - 2933AAF11DA5AA73005D7222 /* BeatUnit.cpp in Sources */, - 2933AAF21DA5AA73005D7222 /* BeatUnitDot.cpp in Sources */, - 2933AAF31DA5AA73005D7222 /* BeatUnitGroup.cpp in Sources */, - 2933AAF41DA5AA73005D7222 /* BeatUnitPer.cpp in Sources */, - 29271A371DCC04630036528D /* MeasureWriter.cpp in Sources */, - 2933AAF51DA5AA73005D7222 /* BeatUnitPerOrNoteRelationNoteChoice.cpp in Sources */, - 2933AAF61DA5AA73005D7222 /* Bend.cpp in Sources */, - 2933AAF71DA5AA73005D7222 /* BendAlter.cpp in Sources */, - 2933AAF81DA5AA73005D7222 /* BendAttributes.cpp in Sources */, - 2933AAF91DA5AA73005D7222 /* BendChoice.cpp in Sources */, - 2933AAFA1DA5AA73005D7222 /* Bookmark.cpp in Sources */, - 2933AAFB1DA5AA73005D7222 /* BookmarkAttributes.cpp in Sources */, - 2933AAFC1DA5AA73005D7222 /* BottomMargin.cpp in Sources */, - 2933AAFD1DA5AA73005D7222 /* Bracket.cpp in Sources */, - 2933AAFE1DA5AA73005D7222 /* BracketAttributes.cpp in Sources */, - 2933AAFF1DA5AA73005D7222 /* BreathMark.cpp in Sources */, - 2933AB001DA5AA73005D7222 /* BreathMarkAttributes.cpp in Sources */, - 2933AB011DA5AA73005D7222 /* Caesura.cpp in Sources */, - 2933AB021DA5AA73005D7222 /* Cancel.cpp in Sources */, - 2933AB031DA5AA73005D7222 /* CancelAttributes.cpp in Sources */, - 29271A3C1DCC04630036528D /* NoteWriter.cpp in Sources */, - 2933AB041DA5AA73005D7222 /* Capo.cpp in Sources */, - 2933AB051DA5AA73005D7222 /* Chord.cpp in Sources */, - 2933AB061DA5AA73005D7222 /* Chromatic.cpp in Sources */, - 2933AB071DA5AA73005D7222 /* CircularArrow.cpp in Sources */, - 2933AB081DA5AA73005D7222 /* Clef.cpp in Sources */, - 2933AB091DA5AA73005D7222 /* ClefAttributes.cpp in Sources */, - 2933AB0A1DA5AA73005D7222 /* ClefOctaveChange.cpp in Sources */, - 2933AB0B1DA5AA73005D7222 /* Coda.cpp in Sources */, - 2933AB0C1DA5AA73005D7222 /* Creator.cpp in Sources */, - 2933AB0D1DA5AA73005D7222 /* CreatorAttributes.cpp in Sources */, - 2933AB0E1DA5AA73005D7222 /* Credit.cpp in Sources */, - 2933AB0F1DA5AA73005D7222 /* CreditAttributes.cpp in Sources */, - 2933AB101DA5AA73005D7222 /* CreditChoice.cpp in Sources */, - 2933AB111DA5AA73005D7222 /* CreditImage.cpp in Sources */, - 2933AB121DA5AA73005D7222 /* CreditImageAttributes.cpp in Sources */, - 2933AB131DA5AA73005D7222 /* CreditType.cpp in Sources */, - 2933AB141DA5AA73005D7222 /* CreditWords.cpp in Sources */, - 2933AB151DA5AA73005D7222 /* CreditWordsAttributes.cpp in Sources */, - 2933AB161DA5AA73005D7222 /* CreditWordsGroup.cpp in Sources */, - 2933AB171DA5AA73005D7222 /* Cue.cpp in Sources */, - 2933AB181DA5AA73005D7222 /* CueNoteGroup.cpp in Sources */, - 2933AB191DA5AA73005D7222 /* Damp.cpp in Sources */, - 2933AB1A1DA5AA73005D7222 /* DampAll.cpp in Sources */, - 29271A3A1DCC04630036528D /* NoteFunctions.cpp in Sources */, - 29271A2B1DCC04630036528D /* DynamicsWriter.cpp in Sources */, - 29271A3E1DCC04630036528D /* PageTextFunctions.cpp in Sources */, - 2933AB1B1DA5AA73005D7222 /* Dashes.cpp in Sources */, - 2933AB1C1DA5AA73005D7222 /* DashesAttributes.cpp in Sources */, - 2933AB1D1DA5AA73005D7222 /* Defaults.cpp in Sources */, - 2933AB1E1DA5AA73005D7222 /* Degree.cpp in Sources */, - 2933AB1F1DA5AA73005D7222 /* DegreeAlter.cpp in Sources */, - 29271A2D1DCC04630036528D /* ArticulationsFunctions.cpp in Sources */, - 2933AB201DA5AA73005D7222 /* DegreeAlterAttributes.cpp in Sources */, - 2933AB211DA5AA73005D7222 /* DegreeAttributes.cpp in Sources */, - 2933AB221DA5AA73005D7222 /* DegreeType.cpp in Sources */, - 2933AB231DA5AA73005D7222 /* DegreeTypeAttributes.cpp in Sources */, - 2933AB241DA5AA73005D7222 /* DegreeValue.cpp in Sources */, - 2933AB251DA5AA73005D7222 /* DegreeValueAttributes.cpp in Sources */, - 2933AB261DA5AA73005D7222 /* DelayedInvertedTurn.cpp in Sources */, - 2933AB271DA5AA73005D7222 /* DelayedInvertedTurnAttributes.cpp in Sources */, - 2933AB281DA5AA73005D7222 /* DelayedTurn.cpp in Sources */, - 2933AB291DA5AA73005D7222 /* DelayedTurnAttributes.cpp in Sources */, - 2933AB2A1DA5AA73005D7222 /* DetachedLegato.cpp in Sources */, - 2933AB2B1DA5AA73005D7222 /* Diatonic.cpp in Sources */, - 2933AB2C1DA5AA73005D7222 /* Direction.cpp in Sources */, - 2933AB2D1DA5AA73005D7222 /* DirectionAttributes.cpp in Sources */, - 2933AB2E1DA5AA73005D7222 /* DirectionType.cpp in Sources */, - 2933AB2F1DA5AA73005D7222 /* Directive.cpp in Sources */, - 2933AB301DA5AA73005D7222 /* DirectiveAttributes.cpp in Sources */, - 2933AB311DA5AA73005D7222 /* DisplayOctave.cpp in Sources */, - 2933AB321DA5AA73005D7222 /* DisplayStep.cpp in Sources */, - 29271A381DCC04630036528D /* MetronomeReader.cpp in Sources */, - 29271A2E1DCC04630036528D /* Converter.cpp in Sources */, - 2933AB331DA5AA73005D7222 /* DisplayStepOctaveGroup.cpp in Sources */, - 2933AB341DA5AA73005D7222 /* DisplayText.cpp in Sources */, - 2933AB351DA5AA73005D7222 /* DisplayTextAttributes.cpp in Sources */, - 2933AB361DA5AA73005D7222 /* DisplayTextOrAccidentalText.cpp in Sources */, - 2933AB371DA5AA73005D7222 /* Distance.cpp in Sources */, - 2933AB381DA5AA73005D7222 /* DistanceAttributes.cpp in Sources */, - 2933AB391DA5AA73005D7222 /* Divisions.cpp in Sources */, - 2933AB3A1DA5AA73005D7222 /* Doit.cpp in Sources */, - 2933AB3B1DA5AA73005D7222 /* Dot.cpp in Sources */, - 2933AB3C1DA5AA73005D7222 /* Double.cpp in Sources */, - 2933AB3D1DA5AA73005D7222 /* DoubleTongue.cpp in Sources */, - 2933AB3E1DA5AA73005D7222 /* DownBow.cpp in Sources */, - 2933AB3F1DA5AA73005D7222 /* Duration.cpp in Sources */, - 29271A331DCC04630036528D /* EncodingFunctions.cpp in Sources */, - 2933AB401DA5AA73005D7222 /* Dynamics.cpp in Sources */, - 2933AB411DA5AA73005D7222 /* DynamicsAttributes.cpp in Sources */, - 2933AB421DA5AA73005D7222 /* EditorialGroup.cpp in Sources */, - 2933AB431DA5AA73005D7222 /* EditorialVoiceDirectionGroup.cpp in Sources */, - 2933AB441DA5AA73005D7222 /* EditorialVoiceGroup.cpp in Sources */, - 2933AB451DA5AA73005D7222 /* Effect.cpp in Sources */, - 2933AB461DA5AA73005D7222 /* Elevation.cpp in Sources */, - 2933AB471DA5AA73005D7222 /* Elision.cpp in Sources */, - 2933AB481DA5AA73005D7222 /* ElisionAttributes.cpp in Sources */, - 2933AB491DA5AA73005D7222 /* ElisionSyllabicGroup.cpp in Sources */, - 2933AB4A1DA5AA73005D7222 /* ElisionSyllabicTextGroup.cpp in Sources */, - 2933AB4B1DA5AA73005D7222 /* EmptyFontAttributes.cpp in Sources */, - 2933AB4C1DA5AA73005D7222 /* EmptyLineAttributes.cpp in Sources */, - 2933AB4D1DA5AA73005D7222 /* EmptyPlacementAttributes.cpp in Sources */, - 29271A461DCC04630036528D /* TimeReader.cpp in Sources */, - 29271A411DCC04630036528D /* PropertiesWriter.cpp in Sources */, - 2933AB4E1DA5AA73005D7222 /* EmptyTrillSoundAttributes.cpp in Sources */, - 2933AB4F1DA5AA73005D7222 /* Encoder.cpp in Sources */, - 2933AB501DA5AA73005D7222 /* EncoderAttributes.cpp in Sources */, - 2933AB511DA5AA73005D7222 /* Encoding.cpp in Sources */, - 29271A2C1DCC04630036528D /* AccidentalMarkFunctions.cpp in Sources */, - 2933AB521DA5AA73005D7222 /* EncodingChoice.cpp in Sources */, - 2933AB531DA5AA73005D7222 /* EncodingDate.cpp in Sources */, - 2933AB541DA5AA73005D7222 /* EncodingDescription.cpp in Sources */, - 2933AB551DA5AA73005D7222 /* Ending.cpp in Sources */, - 2933AB561DA5AA73005D7222 /* EndingAttributes.cpp in Sources */, - 2933AB571DA5AA73005D7222 /* EndLine.cpp in Sources */, - 2933AB581DA5AA73005D7222 /* EndParagraph.cpp in Sources */, - 2933AB591DA5AA73005D7222 /* Ensemble.cpp in Sources */, - 2933AB5A1DA5AA73005D7222 /* Extend.cpp in Sources */, - 2933AB5B1DA5AA73005D7222 /* ExtendAttributes.cpp in Sources */, - 2933AB5C1DA5AA73005D7222 /* Eyeglasses.cpp in Sources */, - 2933AB5D1DA5AA73005D7222 /* Falloff.cpp in Sources */, - 2933AB5E1DA5AA73005D7222 /* Feature.cpp in Sources */, - 2933AB5F1DA5AA73005D7222 /* FeatureAttributes.cpp in Sources */, - 2933AB601DA5AA73005D7222 /* Fermata.cpp in Sources */, - 29B7C4781DB03B61009D7D8F /* NoteData.cpp in Sources */, - 2933AB611DA5AA73005D7222 /* FermataAttributes.cpp in Sources */, - 2933AB621DA5AA73005D7222 /* Fifths.cpp in Sources */, - 2933AB631DA5AA73005D7222 /* Figure.cpp in Sources */, - 2933AB641DA5AA73005D7222 /* FiguredBass.cpp in Sources */, - 2933AB651DA5AA73005D7222 /* FiguredBassAttributes.cpp in Sources */, - 2933AB661DA5AA73005D7222 /* FigureNumber.cpp in Sources */, - 2933AB671DA5AA73005D7222 /* FigureNumberAttributes.cpp in Sources */, - 2933AB681DA5AA73005D7222 /* Fingering.cpp in Sources */, - 2933AB691DA5AA73005D7222 /* FingeringAttributes.cpp in Sources */, - 2933AB6A1DA5AA73005D7222 /* Fingernails.cpp in Sources */, - 2933AB6B1DA5AA73005D7222 /* FirstFret.cpp in Sources */, - 2933AB6C1DA5AA73005D7222 /* FirstFretAttributes.cpp in Sources */, - 2933AB6D1DA5AA73005D7222 /* Footnote.cpp in Sources */, - 2933AB6E1DA5AA73005D7222 /* FootnoteAttributes.cpp in Sources */, - 2933AB6F1DA5AA73005D7222 /* Forward.cpp in Sources */, - 2933AB701DA5AA73005D7222 /* Frame.cpp in Sources */, - 2933AB711DA5AA73005D7222 /* FrameAttributes.cpp in Sources */, - 2933AB721DA5AA73005D7222 /* FrameFrets.cpp in Sources */, - 2933AB731DA5AA73005D7222 /* FrameNote.cpp in Sources */, - 2933AB741DA5AA73005D7222 /* FrameStrings.cpp in Sources */, - 2933AB751DA5AA73005D7222 /* Fret.cpp in Sources */, - 2933AB761DA5AA73005D7222 /* FretAttributes.cpp in Sources */, - 2933AB771DA5AA73005D7222 /* FullNoteGroup.cpp in Sources */, - 2933AB781DA5AA73005D7222 /* FullNoteTypeChoice.cpp in Sources */, - 2933AB791DA5AA73005D7222 /* Function.cpp in Sources */, - 2933AB7A1DA5AA73005D7222 /* FunctionAttributes.cpp in Sources */, - 2933AB7B1DA5AA73005D7222 /* Glass.cpp in Sources */, - 2933AB7C1DA5AA73005D7222 /* Glissando.cpp in Sources */, - 2933AB7D1DA5AA73005D7222 /* GlissandoAttributes.cpp in Sources */, - 2933AB7E1DA5AA73005D7222 /* Grace.cpp in Sources */, - 2933AB7F1DA5AA73005D7222 /* GraceAttributes.cpp in Sources */, - 2933AB801DA5AA73005D7222 /* GraceNoteGroup.cpp in Sources */, - 2933AB811DA5AA73005D7222 /* Group.cpp in Sources */, - 2933AB821DA5AA73005D7222 /* GroupAbbreviation.cpp in Sources */, - 2933AB831DA5AA73005D7222 /* GroupAbbreviationAttributes.cpp in Sources */, - 2933AB841DA5AA73005D7222 /* GroupAbbreviationDisplay.cpp in Sources */, - 2933AB851DA5AA73005D7222 /* GroupAbbreviationDisplayAttributes.cpp in Sources */, - 2933AB861DA5AA73005D7222 /* GroupBarline.cpp in Sources */, - 2933AB871DA5AA73005D7222 /* GroupBarlineAttributes.cpp in Sources */, - 2933AB881DA5AA73005D7222 /* Grouping.cpp in Sources */, - 2933AB891DA5AA73005D7222 /* GroupingAttributes.cpp in Sources */, - 2933AB8A1DA5AA73005D7222 /* GroupName.cpp in Sources */, - 2933AB8B1DA5AA73005D7222 /* GroupNameAttributes.cpp in Sources */, - 29B7C4771DB03B61009D7D8F /* MeasureLocation.cpp in Sources */, - 2933AB8C1DA5AA73005D7222 /* GroupNameDisplay.cpp in Sources */, - 2933AB8D1DA5AA73005D7222 /* GroupNameDisplayAttributes.cpp in Sources */, - 29B7C4741DB03B61009D7D8F /* DocumentManager.cpp in Sources */, - 2933AB8E1DA5AA73005D7222 /* GroupSymbol.cpp in Sources */, - 2933AB8F1DA5AA73005D7222 /* GroupSymbolAttributes.cpp in Sources */, - 2933AB901DA5AA73005D7222 /* GroupTime.cpp in Sources */, - 2933AB911DA5AA73005D7222 /* HammerOn.cpp in Sources */, - 29271A3F1DCC04630036528D /* PartReader.cpp in Sources */, - 2933AB921DA5AA73005D7222 /* HammerOnAttributes.cpp in Sources */, - 2933AB931DA5AA73005D7222 /* Handbell.cpp in Sources */, - 29271A431DCC04630036528D /* ScoreWriter.cpp in Sources */, - 2933AB941DA5AA73005D7222 /* HandbellAttributes.cpp in Sources */, - 2933AB951DA5AA73005D7222 /* Harmonic.cpp in Sources */, - 2933AB961DA5AA73005D7222 /* HarmonicAttributes.cpp in Sources */, - 2933AB971DA5AA73005D7222 /* HarmonicInfoChoice.cpp in Sources */, - 2933AB981DA5AA73005D7222 /* HarmonicTypeChoice.cpp in Sources */, - 2933AB991DA5AA73005D7222 /* Harmony.cpp in Sources */, - 2933AB9A1DA5AA73005D7222 /* HarmonyAttributes.cpp in Sources */, - 2933AB9B1DA5AA73005D7222 /* HarmonyChordGroup.cpp in Sources */, - 2933AB9C1DA5AA73005D7222 /* HarpPedals.cpp in Sources */, - 2933AB9D1DA5AA73005D7222 /* HarpPedalsAttributes.cpp in Sources */, - 2933AB9E1DA5AA73005D7222 /* Heel.cpp in Sources */, - 2933AB9F1DA5AA73005D7222 /* HeelAttributes.cpp in Sources */, - 2933ABA01DA5AA73005D7222 /* Hole.cpp in Sources */, - 2933ABA11DA5AA73005D7222 /* HoleAttributes.cpp in Sources */, - 2933ABA21DA5AA73005D7222 /* HoleClosed.cpp in Sources */, - 2933ABA31DA5AA73005D7222 /* HoleClosedAttributes.cpp in Sources */, - 2933ABA41DA5AA73005D7222 /* HoleShape.cpp in Sources */, - 2933ABA51DA5AA73005D7222 /* HoleType.cpp in Sources */, - 2933ABA61DA5AA73005D7222 /* Humming.cpp in Sources */, - 2933ABA71DA5AA73005D7222 /* Identification.cpp in Sources */, - 2933ABA81DA5AA73005D7222 /* Image.cpp in Sources */, - 2933ABA91DA5AA73005D7222 /* ImageAttributes.cpp in Sources */, - 2933ABAA1DA5AA73005D7222 /* Instrument.cpp in Sources */, - 2933ABAB1DA5AA73005D7222 /* InstrumentAbbreviation.cpp in Sources */, - 2933ABAC1DA5AA73005D7222 /* InstrumentAttributes.cpp in Sources */, - 2933ABAD1DA5AA73005D7222 /* InstrumentName.cpp in Sources */, - 2933ABAE1DA5AA73005D7222 /* Instruments.cpp in Sources */, - 2933ABAF1DA5AA73005D7222 /* InstrumentSound.cpp in Sources */, - 2933ABB01DA5AA73005D7222 /* Interchangeable.cpp in Sources */, - 2933ABB11DA5AA73005D7222 /* InterchangeableAttributes.cpp in Sources */, - 2933ABB21DA5AA73005D7222 /* Inversion.cpp in Sources */, - 2933ABB31DA5AA73005D7222 /* InversionAttributes.cpp in Sources */, - 2933ABB41DA5AA73005D7222 /* InvertedMordent.cpp in Sources */, - 2933ABB51DA5AA73005D7222 /* InvertedMordentAttributes.cpp in Sources */, - 2933ABB61DA5AA73005D7222 /* InvertedTurn.cpp in Sources */, - 2933ABB71DA5AA73005D7222 /* InvertedTurnAttributes.cpp in Sources */, - 2933ABB81DA5AA73005D7222 /* Ipa.cpp in Sources */, - 2933ABB91DA5AA73005D7222 /* Key.cpp in Sources */, - 2933ABBA1DA5AA73005D7222 /* KeyAccidental.cpp in Sources */, - 2933ABBB1DA5AA73005D7222 /* KeyAlter.cpp in Sources */, - 2933ABBC1DA5AA73005D7222 /* KeyAttributes.cpp in Sources */, - 2933ABBD1DA5AA73005D7222 /* KeyChoice.cpp in Sources */, - 2933ABBE1DA5AA73005D7222 /* KeyOctave.cpp in Sources */, - 2933ABBF1DA5AA73005D7222 /* KeyOctaveAttributes.cpp in Sources */, - 2933ABC01DA5AA73005D7222 /* KeyStep.cpp in Sources */, - 2933ABC11DA5AA73005D7222 /* Kind.cpp in Sources */, - 2933ABC21DA5AA73005D7222 /* KindAttributes.cpp in Sources */, - 2933ABC31DA5AA73005D7222 /* Laughing.cpp in Sources */, - 2933ABC41DA5AA73005D7222 /* LayoutGroup.cpp in Sources */, - 2933ABC51DA5AA73005D7222 /* LeftDivider.cpp in Sources */, - 2933ABC61DA5AA73005D7222 /* LeftMargin.cpp in Sources */, - 2933ABC71DA5AA73005D7222 /* Level.cpp in Sources */, - 2933ABC81DA5AA73005D7222 /* LevelAttributes.cpp in Sources */, - 2933ABC91DA5AA73005D7222 /* Line.cpp in Sources */, - 2933ABCA1DA5AA73005D7222 /* LineWidth.cpp in Sources */, - 2933ABCB1DA5AA73005D7222 /* LineWidthAttributes.cpp in Sources */, - 2933ABCC1DA5AA73005D7222 /* Link.cpp in Sources */, - 2933ABCD1DA5AA73005D7222 /* LinkAttributes.cpp in Sources */, - 2933ABCE1DA5AA73005D7222 /* Lyric.cpp in Sources */, - 2933ABCF1DA5AA73005D7222 /* LyricAttributes.cpp in Sources */, - 2933ABD01DA5AA73005D7222 /* LyricFont.cpp in Sources */, - 2933ABD11DA5AA73005D7222 /* LyricFontAttributes.cpp in Sources */, - 2933ABD21DA5AA73005D7222 /* LyricLanguage.cpp in Sources */, - 2933ABD31DA5AA73005D7222 /* LyricLanguageAttributes.cpp in Sources */, - 2933ABD41DA5AA73005D7222 /* LyricTextChoice.cpp in Sources */, - 2933ABD51DA5AA73005D7222 /* MeasureAttributes.cpp in Sources */, - 2933ABD61DA5AA73005D7222 /* MeasureDistance.cpp in Sources */, - 2933ABD71DA5AA73005D7222 /* MeasureLayout.cpp in Sources */, - 2933ABD81DA5AA73005D7222 /* MeasureNumbering.cpp in Sources */, - 2933ABD91DA5AA73005D7222 /* MeasureNumberingAttributes.cpp in Sources */, - 29271A301DCC04630036528D /* DirectionReader.cpp in Sources */, - 2933ABDA1DA5AA73005D7222 /* MeasureRepeat.cpp in Sources */, - 2933ABDB1DA5AA73005D7222 /* MeasureRepeatAttributes.cpp in Sources */, - 2933ABDC1DA5AA73005D7222 /* MeasureStyle.cpp in Sources */, - 2933ABDD1DA5AA73005D7222 /* MeasureStyleAttributes.cpp in Sources */, - 2933ABDE1DA5AA73005D7222 /* MeasureStyleChoice.cpp in Sources */, - 2933ABDF1DA5AA73005D7222 /* Membrane.cpp in Sources */, - 2933ABE01DA5AA73005D7222 /* Metal.cpp in Sources */, - 29271A321DCC04630036528D /* DynamicsReader.cpp in Sources */, - 2933ABE11DA5AA73005D7222 /* Metronome.cpp in Sources */, - 2933ABE21DA5AA73005D7222 /* MetronomeAttributes.cpp in Sources */, - 2933ABE31DA5AA73005D7222 /* MetronomeBeam.cpp in Sources */, - 2933ABE41DA5AA73005D7222 /* MetronomeBeamAttributes.cpp in Sources */, - 2933ABE51DA5AA73005D7222 /* MetronomeDot.cpp in Sources */, - 2933ABE61DA5AA73005D7222 /* MetronomeNote.cpp in Sources */, - 2933ABE71DA5AA73005D7222 /* MetronomeRelation.cpp in Sources */, - 2933ABE81DA5AA73005D7222 /* MetronomeRelationGroup.cpp in Sources */, - 2933ABE91DA5AA73005D7222 /* MetronomeTuplet.cpp in Sources */, - 2933ABEA1DA5AA73005D7222 /* MetronomeTupletAttributes.cpp in Sources */, - 2933ABEB1DA5AA73005D7222 /* MetronomeType.cpp in Sources */, - 2933ABEC1DA5AA73005D7222 /* MidiBank.cpp in Sources */, - 2933ABED1DA5AA73005D7222 /* MidiChannel.cpp in Sources */, - 2933ABEE1DA5AA73005D7222 /* MidiDevice.cpp in Sources */, - 2933ABEF1DA5AA73005D7222 /* MidiDeviceAttributes.cpp in Sources */, - 2933ABF01DA5AA73005D7222 /* MidiDeviceInstrumentGroup.cpp in Sources */, - 2933ABF11DA5AA73005D7222 /* MidiInstrument.cpp in Sources */, - 2933ABF21DA5AA73005D7222 /* MidiInstrumentAttributes.cpp in Sources */, - 2933ABF31DA5AA73005D7222 /* MidiName.cpp in Sources */, - 2933ABF41DA5AA73005D7222 /* MidiProgram.cpp in Sources */, - 2933ABF51DA5AA73005D7222 /* MidiUnpitched.cpp in Sources */, - 2933ABF61DA5AA73005D7222 /* Millimeters.cpp in Sources */, - 2933ABF71DA5AA73005D7222 /* Miscellaneous.cpp in Sources */, - 2933ABF81DA5AA73005D7222 /* MiscellaneousField.cpp in Sources */, - 2933ABF91DA5AA73005D7222 /* MiscellaneousFieldAttributes.cpp in Sources */, - 2933ABFA1DA5AA73005D7222 /* Mode.cpp in Sources */, - 2933ABFB1DA5AA73005D7222 /* Mordent.cpp in Sources */, - 2933ABFC1DA5AA73005D7222 /* MordentAttributes.cpp in Sources */, - 2933ABFD1DA5AA73005D7222 /* MovementNumber.cpp in Sources */, - 2933ABFE1DA5AA73005D7222 /* MovementTitle.cpp in Sources */, - 2933ABFF1DA5AA73005D7222 /* MultipleRest.cpp in Sources */, - 2933AC001DA5AA73005D7222 /* MultipleRestAttributes.cpp in Sources */, - 2933AC011DA5AA73005D7222 /* MusicDataChoice.cpp in Sources */, - 29B7C4751DB03B61009D7D8F /* DurationData.cpp in Sources */, - 2933AC021DA5AA73005D7222 /* MusicDataGroup.cpp in Sources */, - 2933AC031DA5AA73005D7222 /* MusicFont.cpp in Sources */, - 2933AC041DA5AA73005D7222 /* Mute.cpp in Sources */, - 2933AC051DA5AA73005D7222 /* Natural.cpp in Sources */, - 29271A471DCC04630036528D /* TupletReader.cpp in Sources */, - 2933AC061DA5AA73005D7222 /* NonArpeggiate.cpp in Sources */, - 2933AC071DA5AA73005D7222 /* NonArpeggiateAttributes.cpp in Sources */, - 2933AC081DA5AA73005D7222 /* NonTraditionalKey.cpp in Sources */, - 2933AC091DA5AA73005D7222 /* NormalDot.cpp in Sources */, - 2933AC0A1DA5AA73005D7222 /* NormalNoteGroup.cpp in Sources */, - 2933AC0B1DA5AA73005D7222 /* NormalNotes.cpp in Sources */, - 2933AC0C1DA5AA73005D7222 /* NormalType.cpp in Sources */, - 2933AC0D1DA5AA73005D7222 /* NormalTypeNormalDotGroup.cpp in Sources */, - 2933AC0E1DA5AA73005D7222 /* Notations.cpp in Sources */, - 2933AC0F1DA5AA73005D7222 /* NotationsAttributes.cpp in Sources */, - 2933AC101DA5AA73005D7222 /* NotationsChoice.cpp in Sources */, - 2933AC111DA5AA73005D7222 /* Note.cpp in Sources */, - 2933AC121DA5AA73005D7222 /* NoteAttributes.cpp in Sources */, - 2933AC131DA5AA73005D7222 /* NoteChoice.cpp in Sources */, - 2933AC141DA5AA73005D7222 /* Notehead.cpp in Sources */, - 2933AC151DA5AA73005D7222 /* NoteheadAttributes.cpp in Sources */, - 2933AC161DA5AA73005D7222 /* NoteheadText.cpp in Sources */, - 2933AC171DA5AA73005D7222 /* NoteheadTextChoice.cpp in Sources */, - 29271A2F1DCC04630036528D /* Cursor.cpp in Sources */, - 2933AC181DA5AA73005D7222 /* NoteRelationNote.cpp in Sources */, - 2933AC191DA5AA73005D7222 /* NoteSize.cpp in Sources */, - 2933AC1A1DA5AA73005D7222 /* NoteSizeAttributes.cpp in Sources */, - 2933AC1B1DA5AA73005D7222 /* Octave.cpp in Sources */, - 2933AC1C1DA5AA73005D7222 /* OctaveChange.cpp in Sources */, - 2933AC1D1DA5AA73005D7222 /* OctaveShift.cpp in Sources */, - 2933AC1E1DA5AA73005D7222 /* OctaveShiftAttributes.cpp in Sources */, - 2933AC1F1DA5AA73005D7222 /* Offset.cpp in Sources */, - 29271A311DCC04630036528D /* DirectionWriter.cpp in Sources */, - 2933AC201DA5AA73005D7222 /* OffsetAttributes.cpp in Sources */, - 2933AC211DA5AA73005D7222 /* OpenString.cpp in Sources */, - 2933AC221DA5AA73005D7222 /* Opus.cpp in Sources */, - 2933AC231DA5AA73005D7222 /* OpusAttributes.cpp in Sources */, - 2933AC241DA5AA73005D7222 /* Ornaments.cpp in Sources */, - 2933AC251DA5AA73005D7222 /* OrnamentsChoice.cpp in Sources */, - 2933AC261DA5AA73005D7222 /* OtherAppearance.cpp in Sources */, - 2933AC271DA5AA73005D7222 /* OtherAppearanceAttributes.cpp in Sources */, - 2933AC281DA5AA73005D7222 /* OtherArticulation.cpp in Sources */, - 2933AC291DA5AA73005D7222 /* OtherArticulationAttributes.cpp in Sources */, - 2933AC2A1DA5AA73005D7222 /* OtherDirection.cpp in Sources */, - 2933AC2B1DA5AA73005D7222 /* OtherDirectionAttributes.cpp in Sources */, - 2933AC2C1DA5AA73005D7222 /* OtherNotation.cpp in Sources */, - 2933AC2D1DA5AA73005D7222 /* OtherNotationAttributes.cpp in Sources */, - 2933AC2E1DA5AA73005D7222 /* OtherOrnament.cpp in Sources */, - 29B7C4791DB03B61009D7D8F /* PitchData.cpp in Sources */, - 2933AC2F1DA5AA73005D7222 /* OtherOrnamentAttributes.cpp in Sources */, - 2933AC301DA5AA73005D7222 /* OtherPercussion.cpp in Sources */, - 2933AC311DA5AA73005D7222 /* OtherPlay.cpp in Sources */, - 2933AC321DA5AA73005D7222 /* OtherPlayAttributes.cpp in Sources */, - 2933AC331DA5AA73005D7222 /* OtherTechnical.cpp in Sources */, - 2933AC341DA5AA73005D7222 /* OtherTechnicalAttributes.cpp in Sources */, - 2933AC351DA5AA73005D7222 /* PageHeight.cpp in Sources */, - 2933AC361DA5AA73005D7222 /* PageLayout.cpp in Sources */, - 2933AC371DA5AA73005D7222 /* PageMargins.cpp in Sources */, - 2933AC381DA5AA73005D7222 /* PageMarginsAttributes.cpp in Sources */, - 2933AC391DA5AA73005D7222 /* PageWidth.cpp in Sources */, - 2933AC3A1DA5AA73005D7222 /* Pan.cpp in Sources */, - 2933AC3B1DA5AA73005D7222 /* PartAbbreviation.cpp in Sources */, - 2933AC3C1DA5AA73005D7222 /* PartAbbreviationAttributes.cpp in Sources */, - 2933AC3D1DA5AA73005D7222 /* PartAbbreviationDisplay.cpp in Sources */, - 2933AC3E1DA5AA73005D7222 /* PartAbbreviationDisplayAttributes.cpp in Sources */, - 2933AC3F1DA5AA73005D7222 /* PartAttributes.cpp in Sources */, - 2933AC401DA5AA73005D7222 /* PartGroup.cpp in Sources */, - 2933AC411DA5AA73005D7222 /* PartGroupAttributes.cpp in Sources */, - 2933AC421DA5AA73005D7222 /* PartGroupOrScorePart.cpp in Sources */, - 2933AC431DA5AA73005D7222 /* PartList.cpp in Sources */, - 2933AC441DA5AA73005D7222 /* PartName.cpp in Sources */, - 2933AC451DA5AA73005D7222 /* PartNameAttributes.cpp in Sources */, - 2933AC461DA5AA73005D7222 /* PartNameDisplay.cpp in Sources */, - 2933AC471DA5AA73005D7222 /* PartNameDisplayAttributes.cpp in Sources */, - 2933AC481DA5AA73005D7222 /* PartSymbol.cpp in Sources */, - 2933AC491DA5AA73005D7222 /* PartSymbolAttributes.cpp in Sources */, - 2933AC4A1DA5AA73005D7222 /* PartwiseMeasure.cpp in Sources */, - 2933AC4B1DA5AA73005D7222 /* PartwisePart.cpp in Sources */, - 2933AC4C1DA5AA73005D7222 /* Pedal.cpp in Sources */, - 2933AC4D1DA5AA73005D7222 /* PedalAlter.cpp in Sources */, - 29B7C47A1DB03B61009D7D8F /* Smufl.cpp in Sources */, - 2933AC4E1DA5AA73005D7222 /* PedalAttributes.cpp in Sources */, - 2933AC4F1DA5AA73005D7222 /* PedalStep.cpp in Sources */, - 2933AC501DA5AA73005D7222 /* PedalTuning.cpp in Sources */, - 2933AC511DA5AA73005D7222 /* Percussion.cpp in Sources */, - 2933AC521DA5AA73005D7222 /* PercussionAttributes.cpp in Sources */, - 2933AC531DA5AA73005D7222 /* PercussionChoice.cpp in Sources */, - 2933AC541DA5AA73005D7222 /* PerMinute.cpp in Sources */, - 2933AC551DA5AA73005D7222 /* PerMinuteAttributes.cpp in Sources */, - 2933AC561DA5AA73005D7222 /* PerMinuteOrBeatUnitChoice.cpp in Sources */, - 2933AC571DA5AA73005D7222 /* Pitch.cpp in Sources */, - 2933AC581DA5AA73005D7222 /* Pitched.cpp in Sources */, - 2933AC591DA5AA73005D7222 /* Play.cpp in Sources */, - 2933AC5A1DA5AA73005D7222 /* PlayAttributes.cpp in Sources */, - 2933AC5B1DA5AA73005D7222 /* Plop.cpp in Sources */, - 2933AC5C1DA5AA73005D7222 /* Pluck.cpp in Sources */, - 2933AC5D1DA5AA73005D7222 /* PluckAttributes.cpp in Sources */, - 2933AC5E1DA5AA73005D7222 /* PreBend.cpp in Sources */, - 2933AC5F1DA5AA73005D7222 /* Prefix.cpp in Sources */, - 2933AC601DA5AA73005D7222 /* PrefixAttributes.cpp in Sources */, - 2933AC611DA5AA73005D7222 /* PrincipalVoice.cpp in Sources */, - 2933AC621DA5AA73005D7222 /* PrincipalVoiceAttributes.cpp in Sources */, - 2933AC631DA5AA73005D7222 /* Print.cpp in Sources */, - 2933AC641DA5AA73005D7222 /* PrintAttributes.cpp in Sources */, - 2933AC651DA5AA73005D7222 /* Properties.cpp in Sources */, - 2933AC661DA5AA73005D7222 /* PullOff.cpp in Sources */, - 2933AC671DA5AA73005D7222 /* PullOffAttributes.cpp in Sources */, - 2933AC681DA5AA73005D7222 /* Rehearsal.cpp in Sources */, - 2933AC691DA5AA73005D7222 /* RehearsalAttributes.cpp in Sources */, - 2933AC6A1DA5AA73005D7222 /* Relation.cpp in Sources */, - 2933AC6B1DA5AA73005D7222 /* RelationAttributes.cpp in Sources */, - 2933AC6C1DA5AA73005D7222 /* Release.cpp in Sources */, - 2933AC6D1DA5AA73005D7222 /* Repeat.cpp in Sources */, - 2933AC6E1DA5AA73005D7222 /* RepeatAttributes.cpp in Sources */, - 2933AC6F1DA5AA73005D7222 /* Rest.cpp in Sources */, - 2933AC701DA5AA73005D7222 /* RestAttributes.cpp in Sources */, - 2933AC711DA5AA73005D7222 /* RightDivider.cpp in Sources */, - 2933AC721DA5AA73005D7222 /* RightMargin.cpp in Sources */, - 2933AC731DA5AA73005D7222 /* Rights.cpp in Sources */, - 2933AC741DA5AA73005D7222 /* RightsAttributes.cpp in Sources */, - 2933AC751DA5AA73005D7222 /* Root.cpp in Sources */, - 2933AC761DA5AA73005D7222 /* RootAlter.cpp in Sources */, - 29271A441DCC04630036528D /* StaffFunctions.cpp in Sources */, - 2933AC771DA5AA73005D7222 /* RootAlterAttributes.cpp in Sources */, - 2933AC781DA5AA73005D7222 /* RootStep.cpp in Sources */, - 2933AC791DA5AA73005D7222 /* RootStepAttributes.cpp in Sources */, - 2933AC7A1DA5AA73005D7222 /* Scaling.cpp in Sources */, - 2933AC7B1DA5AA73005D7222 /* Schleifer.cpp in Sources */, - 2933AC7C1DA5AA73005D7222 /* Scoop.cpp in Sources */, - 2933AC7D1DA5AA73005D7222 /* Scordatura.cpp in Sources */, - 2933AC7E1DA5AA73005D7222 /* ScoreHeaderGroup.cpp in Sources */, - 2933AC7F1DA5AA73005D7222 /* ScoreInstrument.cpp in Sources */, - 2933AC801DA5AA73005D7222 /* ScoreInstrumentAttributes.cpp in Sources */, - 2933AC811DA5AA73005D7222 /* ScorePart.cpp in Sources */, - 2933AC821DA5AA73005D7222 /* ScorePartAttributes.cpp in Sources */, - 2933AC831DA5AA73005D7222 /* ScorePartwise.cpp in Sources */, - 2933AC841DA5AA73005D7222 /* ScorePartwiseAttributes.cpp in Sources */, - 2933AC851DA5AA73005D7222 /* ScoreTimewise.cpp in Sources */, - 2933AC861DA5AA73005D7222 /* ScoreTimewiseAttributes.cpp in Sources */, - 2933AC871DA5AA73005D7222 /* Segno.cpp in Sources */, - 2933AC881DA5AA73005D7222 /* SemiPitched.cpp in Sources */, - 2933AC891DA5AA73005D7222 /* SenzaMisura.cpp in Sources */, - 2933AC8A1DA5AA73005D7222 /* Shake.cpp in Sources */, - 2933AC8B1DA5AA73005D7222 /* Sign.cpp in Sources */, - 2933AC8C1DA5AA73005D7222 /* Slash.cpp in Sources */, - 2933AC8D1DA5AA73005D7222 /* SlashAttributes.cpp in Sources */, - 2933AC8E1DA5AA73005D7222 /* SlashDot.cpp in Sources */, - 2933AC8F1DA5AA73005D7222 /* SlashType.cpp in Sources */, - 2933AC901DA5AA73005D7222 /* Slide.cpp in Sources */, - 2933AC911DA5AA73005D7222 /* SlideAttributes.cpp in Sources */, - 2933AC921DA5AA73005D7222 /* Slur.cpp in Sources */, - 2933AC931DA5AA73005D7222 /* SlurAttributes.cpp in Sources */, - 2933AC941DA5AA73005D7222 /* SnapPizzicato.cpp in Sources */, - 2933AC951DA5AA73005D7222 /* Software.cpp in Sources */, - 2933AC961DA5AA73005D7222 /* Solo.cpp in Sources */, - 2933AC971DA5AA73005D7222 /* SoloOrEnsembleChoice.cpp in Sources */, - 2933AC981DA5AA73005D7222 /* Sound.cpp in Sources */, - 29271A351DCC04630036528D /* LcmGcd.cpp in Sources */, - 2933AC991DA5AA73005D7222 /* SoundAttributes.cpp in Sources */, - 2933AC9A1DA5AA73005D7222 /* SoundingPitch.cpp in Sources */, - 2933AC9B1DA5AA73005D7222 /* Source.cpp in Sources */, - 2933AC9C1DA5AA73005D7222 /* Spiccato.cpp in Sources */, - 2933AC9D1DA5AA73005D7222 /* Staccatissimo.cpp in Sources */, - 2933AC9E1DA5AA73005D7222 /* Staccato.cpp in Sources */, - 2933AC9F1DA5AA73005D7222 /* Staff.cpp in Sources */, - 2933ACA01DA5AA73005D7222 /* StaffDetails.cpp in Sources */, - 2933ACA11DA5AA73005D7222 /* StaffDetailsAttributes.cpp in Sources */, - 2933ACA21DA5AA73005D7222 /* StaffDistance.cpp in Sources */, - 29271A391DCC04630036528D /* NotationsWriter.cpp in Sources */, - 2933ACA31DA5AA73005D7222 /* StaffLayout.cpp in Sources */, - 2933ACA41DA5AA73005D7222 /* StaffLayoutAttributes.cpp in Sources */, - 2933ACA51DA5AA73005D7222 /* StaffLines.cpp in Sources */, - 2933ACA61DA5AA73005D7222 /* StaffSize.cpp in Sources */, - 2933ACA71DA5AA73005D7222 /* StaffTuning.cpp in Sources */, - 2933ACA81DA5AA73005D7222 /* StaffTuningAttributes.cpp in Sources */, - 2933ACA91DA5AA73005D7222 /* StaffType.cpp in Sources */, - 2933ACAA1DA5AA73005D7222 /* Staves.cpp in Sources */, - 2933ACAB1DA5AA73005D7222 /* Stem.cpp in Sources */, - 2933ACAC1DA5AA73005D7222 /* StemAttributes.cpp in Sources */, - 29271A3B1DCC04630036528D /* NoteReader.cpp in Sources */, - 2933ACAD1DA5AA73005D7222 /* Step.cpp in Sources */, - 2933ACAE1DA5AA73005D7222 /* Stick.cpp in Sources */, - 2933ACAF1DA5AA73005D7222 /* StickAttributes.cpp in Sources */, - 2933ACB01DA5AA73005D7222 /* StickLocation.cpp in Sources */, - 2933ACB11DA5AA73005D7222 /* StickMaterial.cpp in Sources */, - 2933ACB21DA5AA73005D7222 /* StickType.cpp in Sources */, - 2933ACB31DA5AA73005D7222 /* Stopped.cpp in Sources */, - 2933ACB41DA5AA73005D7222 /* Stress.cpp in Sources */, - 2933ACB51DA5AA73005D7222 /* String.cpp in Sources */, - 2933ACB61DA5AA73005D7222 /* StringAttributes.cpp in Sources */, - 2933ACB71DA5AA73005D7222 /* StringMute.cpp in Sources */, - 2933ACB81DA5AA73005D7222 /* StringMuteAttributes.cpp in Sources */, - 2933ACB91DA5AA73005D7222 /* StrongAccent.cpp in Sources */, - 2933ACBA1DA5AA73005D7222 /* StrongAccentAttributes.cpp in Sources */, - 2933ACBB1DA5AA73005D7222 /* Suffix.cpp in Sources */, - 29271A421DCC04630036528D /* ScoreReader.cpp in Sources */, - 2933ACBC1DA5AA73005D7222 /* SuffixAttributes.cpp in Sources */, - 2933ACBD1DA5AA73005D7222 /* Supports.cpp in Sources */, - 2933ACBE1DA5AA73005D7222 /* SupportsAttributes.cpp in Sources */, - 2933ACBF1DA5AA73005D7222 /* Syllabic.cpp in Sources */, - 2933ACC01DA5AA73005D7222 /* SyllabicTextGroup.cpp in Sources */, - 2933ACC11DA5AA73005D7222 /* SystemDistance.cpp in Sources */, - 2933ACC21DA5AA73005D7222 /* SystemDividers.cpp in Sources */, - 2933ACC31DA5AA73005D7222 /* SystemLayout.cpp in Sources */, - 2933ACC41DA5AA73005D7222 /* SystemMargins.cpp in Sources */, - 2933ACC51DA5AA73005D7222 /* Tap.cpp in Sources */, - 2933ACC61DA5AA73005D7222 /* TapAttributes.cpp in Sources */, - 2933ACC71DA5AA73005D7222 /* Technical.cpp in Sources */, - 2933ACC81DA5AA73005D7222 /* TechnicalChoice.cpp in Sources */, - 2933ACC91DA5AA73005D7222 /* Tenths.cpp in Sources */, - 2933ACCA1DA5AA73005D7222 /* Tenuto.cpp in Sources */, - 2933ACCB1DA5AA73005D7222 /* Text.cpp in Sources */, - 2933ACCC1DA5AA73005D7222 /* TextAttributes.cpp in Sources */, - 2933ACCD1DA5AA73005D7222 /* ThumbPosition.cpp in Sources */, - 29271A361DCC04630036528D /* MeasureReader.cpp in Sources */, - 2933ACCE1DA5AA73005D7222 /* Tie.cpp in Sources */, - 2933ACCF1DA5AA73005D7222 /* TieAttributes.cpp in Sources */, - 2933ACD01DA5AA73005D7222 /* Tied.cpp in Sources */, - 2933ACD11DA5AA73005D7222 /* TiedAttributes.cpp in Sources */, - 2933ACD21DA5AA73005D7222 /* Time.cpp in Sources */, - 2933ACD31DA5AA73005D7222 /* TimeAttributes.cpp in Sources */, - 2933ACD41DA5AA73005D7222 /* TimeChoice.cpp in Sources */, - 2933ACD51DA5AA73005D7222 /* TimeModification.cpp in Sources */, - 2933ACD61DA5AA73005D7222 /* TimeModificationNormalTypeNormalDot.cpp in Sources */, - 2933ACD71DA5AA73005D7222 /* TimeRelation.cpp in Sources */, - 2933ACD81DA5AA73005D7222 /* TimeSignatureGroup.cpp in Sources */, - 2933ACD91DA5AA73005D7222 /* TimewiseMeasure.cpp in Sources */, - 2933ACDA1DA5AA73005D7222 /* TimewisePart.cpp in Sources */, - 2933ACDB1DA5AA73005D7222 /* Timpani.cpp in Sources */, - 2933ACDC1DA5AA73005D7222 /* Toe.cpp in Sources */, - 2933ACDD1DA5AA73005D7222 /* ToeAttributes.cpp in Sources */, - 2933ACDE1DA5AA73005D7222 /* TopMargin.cpp in Sources */, - 2933ACDF1DA5AA73005D7222 /* TopSystemDistance.cpp in Sources */, - 2933ACE01DA5AA73005D7222 /* TouchingPitch.cpp in Sources */, - 2933ACE11DA5AA73005D7222 /* TraditionalKey.cpp in Sources */, - 2933ACE21DA5AA73005D7222 /* Transpose.cpp in Sources */, - 2933ACE31DA5AA73005D7222 /* TransposeAttributes.cpp in Sources */, - 2933ACE41DA5AA73005D7222 /* Tremolo.cpp in Sources */, - 2933ACE51DA5AA73005D7222 /* TremoloAttributes.cpp in Sources */, - 2933ACE61DA5AA73005D7222 /* TrillMark.cpp in Sources */, - 2933ACE71DA5AA73005D7222 /* TripleTongue.cpp in Sources */, - 2933ACE81DA5AA73005D7222 /* TuningAlter.cpp in Sources */, - 2933ACE91DA5AA73005D7222 /* TuningOctave.cpp in Sources */, - 2933ACEA1DA5AA73005D7222 /* TuningStep.cpp in Sources */, - 2933ACEB1DA5AA73005D7222 /* Tuplet.cpp in Sources */, - 2933ACEC1DA5AA73005D7222 /* TupletActual.cpp in Sources */, - 2933ACED1DA5AA73005D7222 /* TupletAttributes.cpp in Sources */, - 2933ACEE1DA5AA73005D7222 /* TupletDot.cpp in Sources */, - 2933ACEF1DA5AA73005D7222 /* TupletDotAttributes.cpp in Sources */, - 29271A401DCC04630036528D /* PartWriter.cpp in Sources */, - 2933ACF01DA5AA73005D7222 /* TupletNormal.cpp in Sources */, - 29B7C4761DB03B61009D7D8F /* MarkData.cpp in Sources */, - 2933ACF11DA5AA73005D7222 /* TupletNumber.cpp in Sources */, - 2933ACF21DA5AA73005D7222 /* TupletNumberAttributes.cpp in Sources */, - 2933ACF31DA5AA73005D7222 /* TupletType.cpp in Sources */, - 2933ACF41DA5AA73005D7222 /* TupletTypeAttributes.cpp in Sources */, - 2933ACF51DA5AA73005D7222 /* Turn.cpp in Sources */, - 2933ACF61DA5AA73005D7222 /* TurnAttributes.cpp in Sources */, - 2933ACF71DA5AA73005D7222 /* Type.cpp in Sources */, - 2933ACF81DA5AA73005D7222 /* TypeAttributes.cpp in Sources */, - 2933ACF91DA5AA73005D7222 /* Unpitched.cpp in Sources */, - 2933ACFA1DA5AA73005D7222 /* Unstress.cpp in Sources */, - 2933ACFB1DA5AA73005D7222 /* UpBow.cpp in Sources */, - 2933ACFC1DA5AA73005D7222 /* VerticalTurn.cpp in Sources */, - 29B7C4731DB03B61009D7D8F /* ClefData.cpp in Sources */, - 2933ACFD1DA5AA73005D7222 /* VirtualInstrument.cpp in Sources */, - 2933ACFE1DA5AA73005D7222 /* VirtualLibrary.cpp in Sources */, - 2933ACFF1DA5AA73005D7222 /* VirtualName.cpp in Sources */, - 2933AD001DA5AA73005D7222 /* Voice.cpp in Sources */, - 2933AD011DA5AA73005D7222 /* Volume.cpp in Sources */, - 2933AD021DA5AA73005D7222 /* WavyLine.cpp in Sources */, - 2933AD031DA5AA73005D7222 /* WavyLineAttributes.cpp in Sources */, - 2933AD041DA5AA73005D7222 /* Wedge.cpp in Sources */, - 2933AD051DA5AA73005D7222 /* WedgeAttributes.cpp in Sources */, - 2933AD061DA5AA73005D7222 /* WithBar.cpp in Sources */, - 2933AD071DA5AA73005D7222 /* WithBarAttributes.cpp in Sources */, - 2933AD081DA5AA73005D7222 /* Wood.cpp in Sources */, - 2933AD091DA5AA73005D7222 /* WordFont.cpp in Sources */, - 2933AD0A1DA5AA73005D7222 /* Words.cpp in Sources */, - 2933AD0B1DA5AA73005D7222 /* WordsAttributes.cpp in Sources */, - 2933AD0C1DA5AA73005D7222 /* Work.cpp in Sources */, - 2933AD0D1DA5AA73005D7222 /* WorkNumber.cpp in Sources */, - 2933AD0E1DA5AA73005D7222 /* WorkTitle.cpp in Sources */, - 2933AD0F1DA5AA73005D7222 /* EmptyPrintObjectStyleAlignAttributes.cpp in Sources */, - 2933AD101DA5AA73005D7222 /* Enums.cpp in Sources */, - 2933AD111DA5AA73005D7222 /* FontSize.cpp in Sources */, - 2933AD121DA5AA73005D7222 /* FromXElement.cpp in Sources */, - 2933AD131DA5AA73005D7222 /* Integers.cpp in Sources */, - 2933AD141DA5AA73005D7222 /* NumberOrNormal.cpp in Sources */, - 2933AD151DA5AA73005D7222 /* PositiveIntegerOrEmpty.cpp in Sources */, - 2933AD161DA5AA73005D7222 /* Strings.cpp in Sources */, - 2933AD171DA5AA73005D7222 /* YesNoNumber.cpp in Sources */, - 2933AD181DA5AA73005D7222 /* pugixml.cpp in Sources */, - 2933AD191DA5AA73005D7222 /* Utility.cpp in Sources */, - 2933AD1A1DA5AA73005D7222 /* UtilityImpl.cpp in Sources */, - 2933AD1B1DA5AA73005D7222 /* PugiAttribute.cpp in Sources */, - 29271A451DCC04630036528D /* TechnicalFunctions.cpp in Sources */, - 2933AD1C1DA5AA73005D7222 /* PugiAttributeIterImpl.cpp in Sources */, - 2933AD1D1DA5AA73005D7222 /* PugiDoc.cpp in Sources */, - 2933AD1E1DA5AA73005D7222 /* PugiElement.cpp in Sources */, - 29271A341DCC04630036528D /* LayoutFunctions.cpp in Sources */, - 2933AD1F1DA5AA73005D7222 /* PugiElementIterImpl.cpp in Sources */, - 2933AD201DA5AA73005D7222 /* XAttributeIterator.cpp in Sources */, - 2933AD211DA5AA73005D7222 /* XElementIterator.cpp in Sources */, - 2933AD221DA5AA73005D7222 /* XFactory.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 293FFECE1DD25C74001477E8 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -9236,6 +7777,1334 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 29B9627C1E79FF410072071D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 29B962891E79FF630072071D /* ClefData.cpp in Sources */, + 29B9628A1E79FF630072071D /* DocumentManager.cpp in Sources */, + 29B9628B1E79FF630072071D /* DurationData.cpp in Sources */, + 29B9628C1E79FF630072071D /* MarkData.cpp in Sources */, + 29B9628D1E79FF630072071D /* MeasureLocation.cpp in Sources */, + 29B9628E1E79FF630072071D /* NoteData.cpp in Sources */, + 29B9628F1E79FF630072071D /* PitchData.cpp in Sources */, + 29B962901E79FF630072071D /* Smufl.cpp in Sources */, + 29B962911E79FF630072071D /* AttributesInterface.cpp in Sources */, + 29B962921E79FF630072071D /* Color.cpp in Sources */, + 29B962931E79FF630072071D /* Date.cpp in Sources */, + 29B962941E79FF630072071D /* Decimals.cpp in Sources */, + 29B962951E79FF630072071D /* Document.cpp in Sources */, + 29B962961E79FF630072071D /* DocumentHeader.cpp in Sources */, + 29B962971E79FF630072071D /* DocumentSpec.cpp in Sources */, + 29B962981E79FF630072071D /* ElementInterface.cpp in Sources */, + 29B962991E79FF630072071D /* Accent.cpp in Sources */, + 29B9629A1E79FF630072071D /* Accidental.cpp in Sources */, + 29B9629B1E79FF630072071D /* AccidentalAttributes.cpp in Sources */, + 29B9629C1E79FF630072071D /* AccidentalMark.cpp in Sources */, + 29B9629D1E79FF630072071D /* AccidentalMarkAttributes.cpp in Sources */, + 29B9629E1E79FF630072071D /* AccidentalText.cpp in Sources */, + 29B9629F1E79FF630072071D /* AccidentalTextAttributes.cpp in Sources */, + 29B962A01E79FF630072071D /* Accord.cpp in Sources */, + 29B962A11E79FF630072071D /* AccordAttributes.cpp in Sources */, + 29B962A21E79FF630072071D /* AccordionHigh.cpp in Sources */, + 29B962A31E79FF630072071D /* AccordionLow.cpp in Sources */, + 29B962A41E79FF630072071D /* AccordionMiddle.cpp in Sources */, + 29B962A51E79FF630072071D /* AccordionRegistration.cpp in Sources */, + 29B962A61E79FF630072071D /* AccordionRegistrationAttributes.cpp in Sources */, + 29B962A71E79FF630072071D /* ActualNotes.cpp in Sources */, + 29B962A81E79FF630072071D /* Alter.cpp in Sources */, + 29B962A91E79FF630072071D /* Appearance.cpp in Sources */, + 29B962AA1E79FF630072071D /* Arpeggiate.cpp in Sources */, + 29B962AB1E79FF630072071D /* ArpeggiateAttributes.cpp in Sources */, + 29B962AC1E79FF630072071D /* Arrow.cpp in Sources */, + 29B962AD1E79FF630072071D /* ArrowAttributes.cpp in Sources */, + 29B962AE1E79FF630072071D /* ArrowDirection.cpp in Sources */, + 29B962AF1E79FF630072071D /* ArrowGroup.cpp in Sources */, + 29B962B01E79FF630072071D /* ArrowStyle.cpp in Sources */, + 29B962B11E79FF630072071D /* Articulations.cpp in Sources */, + 29B962B21E79FF630072071D /* ArticulationsChoice.cpp in Sources */, + 29B962B31E79FF630072071D /* Artificial.cpp in Sources */, + 29B962B41E79FF630072071D /* AttributesIterface.cpp in Sources */, + 29B962B51E79FF630072071D /* Backup.cpp in Sources */, + 29B962B61E79FF630072071D /* Barline.cpp in Sources */, + 29B962B71E79FF630072071D /* BarlineAttributes.cpp in Sources */, + 29B962B81E79FF630072071D /* Barre.cpp in Sources */, + 29B962B91E79FF630072071D /* BarreAttributes.cpp in Sources */, + 29B962BA1E79FF630072071D /* BarStyle.cpp in Sources */, + 29B962BB1E79FF630072071D /* BarStyleAttributes.cpp in Sources */, + 29B962BC1E79FF630072071D /* BasePitch.cpp in Sources */, + 29B962BD1E79FF640072071D /* Bass.cpp in Sources */, + 29B962BE1E79FF640072071D /* BassAlter.cpp in Sources */, + 29B962BF1E79FF640072071D /* BassAlterAttributes.cpp in Sources */, + 29B962C01E79FF640072071D /* BassStep.cpp in Sources */, + 29B962C11E79FF640072071D /* BassStepAttributes.cpp in Sources */, + 29B962C21E79FF640072071D /* Beam.cpp in Sources */, + 29B962C31E79FF640072071D /* BeamAttributes.cpp in Sources */, + 29B962C41E79FF640072071D /* Beater.cpp in Sources */, + 29B962C51E79FF640072071D /* BeaterAttributes.cpp in Sources */, + 29B962C61E79FF640072071D /* BeatRepeat.cpp in Sources */, + 29B962C71E79FF640072071D /* BeatRepeatAttributes.cpp in Sources */, + 29B962C81E79FF640072071D /* Beats.cpp in Sources */, + 29B962C91E79FF640072071D /* BeatType.cpp in Sources */, + 29B962CA1E79FF640072071D /* BeatUnit.cpp in Sources */, + 29B962CB1E79FF640072071D /* BeatUnitDot.cpp in Sources */, + 29B962CC1E79FF640072071D /* BeatUnitGroup.cpp in Sources */, + 29B962CD1E79FF640072071D /* BeatUnitPer.cpp in Sources */, + 29B962CE1E79FF640072071D /* BeatUnitPerOrNoteRelationNoteChoice.cpp in Sources */, + 29B962CF1E79FF640072071D /* Bend.cpp in Sources */, + 29B962D01E79FF640072071D /* BendAlter.cpp in Sources */, + 29B962D11E79FF640072071D /* BendAttributes.cpp in Sources */, + 29B962D21E79FF640072071D /* BendChoice.cpp in Sources */, + 29B962D31E79FF640072071D /* Bookmark.cpp in Sources */, + 29B962D41E79FF640072071D /* BookmarkAttributes.cpp in Sources */, + 29B962D51E79FF640072071D /* BottomMargin.cpp in Sources */, + 29B962D61E79FF640072071D /* Bracket.cpp in Sources */, + 29B962D71E79FF640072071D /* BracketAttributes.cpp in Sources */, + 29B962D81E79FF640072071D /* BreathMark.cpp in Sources */, + 29B962D91E79FF640072071D /* BreathMarkAttributes.cpp in Sources */, + 29B962DA1E79FF640072071D /* Caesura.cpp in Sources */, + 29B962DB1E79FF640072071D /* Cancel.cpp in Sources */, + 29B962DC1E79FF640072071D /* CancelAttributes.cpp in Sources */, + 29B962DD1E79FF640072071D /* Capo.cpp in Sources */, + 29B962DE1E79FF640072071D /* Chord.cpp in Sources */, + 29B962DF1E79FF640072071D /* Chromatic.cpp in Sources */, + 29B962E01E79FF640072071D /* CircularArrow.cpp in Sources */, + 29B962E11E79FF640072071D /* Clef.cpp in Sources */, + 29B962E21E79FF640072071D /* ClefAttributes.cpp in Sources */, + 29B962E31E79FF640072071D /* ClefOctaveChange.cpp in Sources */, + 29B962E41E79FF640072071D /* Coda.cpp in Sources */, + 29B962E51E79FF640072071D /* Creator.cpp in Sources */, + 29B962E61E79FF640072071D /* CreatorAttributes.cpp in Sources */, + 29B962E71E79FF640072071D /* Credit.cpp in Sources */, + 29B962E81E79FF640072071D /* CreditAttributes.cpp in Sources */, + 29B962E91E79FF640072071D /* CreditChoice.cpp in Sources */, + 29B962EA1E79FF640072071D /* CreditImage.cpp in Sources */, + 29B962EB1E79FF640072071D /* CreditImageAttributes.cpp in Sources */, + 29B962EC1E79FF640072071D /* CreditType.cpp in Sources */, + 29B962ED1E79FF640072071D /* CreditWords.cpp in Sources */, + 29B962EE1E79FF640072071D /* CreditWordsAttributes.cpp in Sources */, + 29B962EF1E79FF640072071D /* CreditWordsGroup.cpp in Sources */, + 29B962F01E79FF640072071D /* Cue.cpp in Sources */, + 29B962F11E79FF640072071D /* CueNoteGroup.cpp in Sources */, + 29B962F21E79FF640072071D /* Damp.cpp in Sources */, + 29B962F31E79FF640072071D /* DampAll.cpp in Sources */, + 29B962F41E79FF640072071D /* Dashes.cpp in Sources */, + 29B962F51E79FF640072071D /* DashesAttributes.cpp in Sources */, + 29B962F61E79FF640072071D /* Defaults.cpp in Sources */, + 29B962F71E79FF640072071D /* Degree.cpp in Sources */, + 29B962F81E79FF640072071D /* DegreeAlter.cpp in Sources */, + 29B962F91E79FF640072071D /* DegreeAlterAttributes.cpp in Sources */, + 29B962FA1E79FF640072071D /* DegreeAttributes.cpp in Sources */, + 29B962FB1E79FF640072071D /* DegreeType.cpp in Sources */, + 29B962FC1E79FF640072071D /* DegreeTypeAttributes.cpp in Sources */, + 29B962FD1E79FF640072071D /* DegreeValue.cpp in Sources */, + 29B962FE1E79FF640072071D /* DegreeValueAttributes.cpp in Sources */, + 29B962FF1E79FF640072071D /* DelayedInvertedTurn.cpp in Sources */, + 29B963001E79FF640072071D /* DelayedInvertedTurnAttributes.cpp in Sources */, + 29B963011E79FF640072071D /* DelayedTurn.cpp in Sources */, + 29B963021E79FF640072071D /* DelayedTurnAttributes.cpp in Sources */, + 29B963031E79FF640072071D /* DetachedLegato.cpp in Sources */, + 29B963041E79FF640072071D /* Diatonic.cpp in Sources */, + 29B963051E79FF640072071D /* Direction.cpp in Sources */, + 29B963061E79FF640072071D /* DirectionAttributes.cpp in Sources */, + 29B963071E79FF640072071D /* DirectionType.cpp in Sources */, + 29B963081E79FF640072071D /* Directive.cpp in Sources */, + 29B963091E79FF640072071D /* DirectiveAttributes.cpp in Sources */, + 29B9630A1E79FF640072071D /* DisplayOctave.cpp in Sources */, + 29B9630B1E79FF640072071D /* DisplayStep.cpp in Sources */, + 29B9630C1E79FF640072071D /* DisplayStepOctaveGroup.cpp in Sources */, + 29B9630D1E79FF640072071D /* DisplayText.cpp in Sources */, + 29B9630E1E79FF640072071D /* DisplayTextAttributes.cpp in Sources */, + 29B9630F1E79FF640072071D /* DisplayTextOrAccidentalText.cpp in Sources */, + 29B963101E79FF640072071D /* Distance.cpp in Sources */, + 29B963111E79FF640072071D /* DistanceAttributes.cpp in Sources */, + 29B963121E79FF640072071D /* Divisions.cpp in Sources */, + 29B963131E79FF640072071D /* Doit.cpp in Sources */, + 29B963141E79FF640072071D /* Dot.cpp in Sources */, + 29B963151E79FF640072071D /* Double.cpp in Sources */, + 29B963161E79FF640072071D /* DoubleTongue.cpp in Sources */, + 29B963171E79FF640072071D /* DownBow.cpp in Sources */, + 29B963181E79FF640072071D /* Duration.cpp in Sources */, + 29B963191E79FF640072071D /* Dynamics.cpp in Sources */, + 29B9631A1E79FF640072071D /* DynamicsAttributes.cpp in Sources */, + 29B9631B1E79FF640072071D /* EditorialGroup.cpp in Sources */, + 29B9631C1E79FF640072071D /* EditorialVoiceDirectionGroup.cpp in Sources */, + 29B9631D1E79FF640072071D /* EditorialVoiceGroup.cpp in Sources */, + 29B9631E1E79FF640072071D /* Effect.cpp in Sources */, + 29B9631F1E79FF640072071D /* Elevation.cpp in Sources */, + 29B963201E79FF640072071D /* Elision.cpp in Sources */, + 29B963211E79FF640072071D /* ElisionAttributes.cpp in Sources */, + 29B963221E79FF640072071D /* ElisionSyllabicGroup.cpp in Sources */, + 29B963231E79FF640072071D /* ElisionSyllabicTextGroup.cpp in Sources */, + 29B963241E79FF640072071D /* EmptyFontAttributes.cpp in Sources */, + 29B963251E79FF640072071D /* EmptyLineAttributes.cpp in Sources */, + 29B963261E79FF640072071D /* EmptyPlacementAttributes.cpp in Sources */, + 29B963271E79FF640072071D /* EmptyTrillSoundAttributes.cpp in Sources */, + 29B963281E79FF640072071D /* Encoder.cpp in Sources */, + 29B963291E79FF640072071D /* EncoderAttributes.cpp in Sources */, + 29B9632A1E79FF640072071D /* Encoding.cpp in Sources */, + 29B9632B1E79FF640072071D /* EncodingChoice.cpp in Sources */, + 29B9632C1E79FF640072071D /* EncodingDate.cpp in Sources */, + 29B9632D1E79FF640072071D /* EncodingDescription.cpp in Sources */, + 29B9632E1E79FF640072071D /* Ending.cpp in Sources */, + 29B9632F1E79FF640072071D /* EndingAttributes.cpp in Sources */, + 29B963301E79FF640072071D /* EndLine.cpp in Sources */, + 29B963311E79FF640072071D /* EndParagraph.cpp in Sources */, + 29B963321E79FF640072071D /* Ensemble.cpp in Sources */, + 29B963331E79FF640072071D /* Extend.cpp in Sources */, + 29B963341E79FF640072071D /* ExtendAttributes.cpp in Sources */, + 29B963351E79FF640072071D /* Eyeglasses.cpp in Sources */, + 29B963361E79FF640072071D /* Falloff.cpp in Sources */, + 29B963371E79FF640072071D /* Feature.cpp in Sources */, + 29B963381E79FF640072071D /* FeatureAttributes.cpp in Sources */, + 29B963391E79FF640072071D /* Fermata.cpp in Sources */, + 29B9633A1E79FF640072071D /* FermataAttributes.cpp in Sources */, + 29B9633B1E79FF640072071D /* Fifths.cpp in Sources */, + 29B9633C1E79FF640072071D /* Figure.cpp in Sources */, + 29B9633D1E79FF640072071D /* FiguredBass.cpp in Sources */, + 29B9633E1E79FF640072071D /* FiguredBassAttributes.cpp in Sources */, + 29B9633F1E79FF640072071D /* FigureNumber.cpp in Sources */, + 29B963401E79FF640072071D /* FigureNumberAttributes.cpp in Sources */, + 29B963411E79FF640072071D /* Fingering.cpp in Sources */, + 29B963421E79FF640072071D /* FingeringAttributes.cpp in Sources */, + 29B963431E79FF640072071D /* Fingernails.cpp in Sources */, + 29B963441E79FF640072071D /* FirstFret.cpp in Sources */, + 29B963451E79FF640072071D /* FirstFretAttributes.cpp in Sources */, + 29B963461E79FF640072071D /* Footnote.cpp in Sources */, + 29B963471E79FF640072071D /* FootnoteAttributes.cpp in Sources */, + 29B963481E79FF640072071D /* Forward.cpp in Sources */, + 29B963491E79FF640072071D /* Frame.cpp in Sources */, + 29B9634A1E79FF640072071D /* FrameAttributes.cpp in Sources */, + 29B9634B1E79FF640072071D /* FrameFrets.cpp in Sources */, + 29B9634C1E79FF640072071D /* FrameNote.cpp in Sources */, + 29B9634D1E79FF640072071D /* FrameStrings.cpp in Sources */, + 29B9634E1E79FF640072071D /* Fret.cpp in Sources */, + 29B9634F1E79FF640072071D /* FretAttributes.cpp in Sources */, + 29B963501E79FF640072071D /* FullNoteGroup.cpp in Sources */, + 29B963511E79FF640072071D /* FullNoteTypeChoice.cpp in Sources */, + 29B963521E79FF640072071D /* Function.cpp in Sources */, + 29B963531E79FF640072071D /* FunctionAttributes.cpp in Sources */, + 29B963541E79FF640072071D /* Glass.cpp in Sources */, + 29B963551E79FF640072071D /* Glissando.cpp in Sources */, + 29B963561E79FF640072071D /* GlissandoAttributes.cpp in Sources */, + 29B963571E79FF640072071D /* Grace.cpp in Sources */, + 29B963581E79FF640072071D /* GraceAttributes.cpp in Sources */, + 29B963591E79FF640072071D /* GraceNoteGroup.cpp in Sources */, + 29B9635A1E79FF640072071D /* Group.cpp in Sources */, + 29B9635B1E79FF640072071D /* GroupAbbreviation.cpp in Sources */, + 29B9635C1E79FF640072071D /* GroupAbbreviationAttributes.cpp in Sources */, + 29B9635D1E79FF640072071D /* GroupAbbreviationDisplay.cpp in Sources */, + 29B9635E1E79FF640072071D /* GroupAbbreviationDisplayAttributes.cpp in Sources */, + 29B9635F1E79FF640072071D /* GroupBarline.cpp in Sources */, + 29B963601E79FF640072071D /* GroupBarlineAttributes.cpp in Sources */, + 29B963611E79FF640072071D /* Grouping.cpp in Sources */, + 29B963621E79FF640072071D /* GroupingAttributes.cpp in Sources */, + 29B963631E79FF640072071D /* GroupName.cpp in Sources */, + 29B963641E79FF640072071D /* GroupNameAttributes.cpp in Sources */, + 29B963651E79FF640072071D /* GroupNameDisplay.cpp in Sources */, + 29B963661E79FF640072071D /* GroupNameDisplayAttributes.cpp in Sources */, + 29B963671E79FF640072071D /* GroupSymbol.cpp in Sources */, + 29B963681E79FF640072071D /* GroupSymbolAttributes.cpp in Sources */, + 29B963691E79FF640072071D /* GroupTime.cpp in Sources */, + 29B9636A1E79FF640072071D /* HammerOn.cpp in Sources */, + 29B9636B1E79FF640072071D /* HammerOnAttributes.cpp in Sources */, + 29B9636C1E79FF640072071D /* Handbell.cpp in Sources */, + 29B9636D1E79FF640072071D /* HandbellAttributes.cpp in Sources */, + 29B9636E1E79FF640072071D /* Harmonic.cpp in Sources */, + 29B9636F1E79FF640072071D /* HarmonicAttributes.cpp in Sources */, + 29B963701E79FF640072071D /* HarmonicInfoChoice.cpp in Sources */, + 29B963711E79FF640072071D /* HarmonicTypeChoice.cpp in Sources */, + 29B963721E79FF640072071D /* Harmony.cpp in Sources */, + 29B963731E79FF640072071D /* HarmonyAttributes.cpp in Sources */, + 29B963741E79FF640072071D /* HarmonyChordGroup.cpp in Sources */, + 29B963751E79FF640072071D /* HarpPedals.cpp in Sources */, + 29B963761E79FF640072071D /* HarpPedalsAttributes.cpp in Sources */, + 29B963771E79FF640072071D /* Heel.cpp in Sources */, + 29B963781E79FF640072071D /* HeelAttributes.cpp in Sources */, + 29B963791E79FF640072071D /* Hole.cpp in Sources */, + 29B9637A1E79FF640072071D /* HoleAttributes.cpp in Sources */, + 29B9637B1E79FF640072071D /* HoleClosed.cpp in Sources */, + 29B9637C1E79FF640072071D /* HoleClosedAttributes.cpp in Sources */, + 29B9637D1E79FF640072071D /* HoleShape.cpp in Sources */, + 29B9637E1E79FF640072071D /* HoleType.cpp in Sources */, + 29B9637F1E79FF640072071D /* Humming.cpp in Sources */, + 29B963801E79FF640072071D /* Identification.cpp in Sources */, + 29B963811E79FF640072071D /* Image.cpp in Sources */, + 29B963821E79FF640072071D /* ImageAttributes.cpp in Sources */, + 29B963831E79FF640072071D /* Instrument.cpp in Sources */, + 29B963841E79FF640072071D /* InstrumentAbbreviation.cpp in Sources */, + 29B963851E79FF640072071D /* InstrumentAttributes.cpp in Sources */, + 29B963861E79FF640072071D /* InstrumentName.cpp in Sources */, + 29B963871E79FF640072071D /* Instruments.cpp in Sources */, + 29B963881E79FF640072071D /* InstrumentSound.cpp in Sources */, + 29B963891E79FF640072071D /* Interchangeable.cpp in Sources */, + 29B9638A1E79FF640072071D /* InterchangeableAttributes.cpp in Sources */, + 29B9638B1E79FF640072071D /* Inversion.cpp in Sources */, + 29B9638C1E79FF640072071D /* InversionAttributes.cpp in Sources */, + 29B9638D1E79FF640072071D /* InvertedMordent.cpp in Sources */, + 29B9638E1E79FF640072071D /* InvertedMordentAttributes.cpp in Sources */, + 29B9638F1E79FF640072071D /* InvertedTurn.cpp in Sources */, + 29B963901E79FF640072071D /* InvertedTurnAttributes.cpp in Sources */, + 29B963911E79FF640072071D /* Ipa.cpp in Sources */, + 29B963921E79FF640072071D /* Key.cpp in Sources */, + 29B963931E79FF640072071D /* KeyAccidental.cpp in Sources */, + 29B963941E79FF640072071D /* KeyAlter.cpp in Sources */, + 29B963951E79FF640072071D /* KeyAttributes.cpp in Sources */, + 29B963961E79FF640072071D /* KeyChoice.cpp in Sources */, + 29B963971E79FF640072071D /* KeyOctave.cpp in Sources */, + 29B963981E79FF640072071D /* KeyOctaveAttributes.cpp in Sources */, + 29B963991E79FF640072071D /* KeyStep.cpp in Sources */, + 29B9639A1E79FF640072071D /* Kind.cpp in Sources */, + 29B9639B1E79FF640072071D /* KindAttributes.cpp in Sources */, + 29B9639C1E79FF640072071D /* Laughing.cpp in Sources */, + 29B9639D1E79FF640072071D /* LayoutGroup.cpp in Sources */, + 29B9639E1E79FF640072071D /* LeftDivider.cpp in Sources */, + 29B9639F1E79FF640072071D /* LeftMargin.cpp in Sources */, + 29B963A01E79FF640072071D /* Level.cpp in Sources */, + 29B963A11E79FF640072071D /* LevelAttributes.cpp in Sources */, + 29B963A21E79FF640072071D /* Line.cpp in Sources */, + 29B963A31E79FF640072071D /* LineWidth.cpp in Sources */, + 29B963A41E79FF640072071D /* LineWidthAttributes.cpp in Sources */, + 29B963A51E79FF640072071D /* Link.cpp in Sources */, + 29B963A61E79FF640072071D /* LinkAttributes.cpp in Sources */, + 29B963A71E79FF640072071D /* Lyric.cpp in Sources */, + 29B963A81E79FF640072071D /* LyricAttributes.cpp in Sources */, + 29B963A91E79FF640072071D /* LyricFont.cpp in Sources */, + 29B963AA1E79FF640072071D /* LyricFontAttributes.cpp in Sources */, + 29B963AB1E79FF640072071D /* LyricLanguage.cpp in Sources */, + 29B963AC1E79FF640072071D /* LyricLanguageAttributes.cpp in Sources */, + 29B963AD1E79FF640072071D /* LyricTextChoice.cpp in Sources */, + 29B963AE1E79FF640072071D /* MeasureAttributes.cpp in Sources */, + 29B963AF1E79FF640072071D /* MeasureDistance.cpp in Sources */, + 29B963B01E79FF640072071D /* MeasureLayout.cpp in Sources */, + 29B963B11E79FF640072071D /* MeasureNumbering.cpp in Sources */, + 29B963B21E79FF640072071D /* MeasureNumberingAttributes.cpp in Sources */, + 29B963B31E79FF640072071D /* MeasureRepeat.cpp in Sources */, + 29B963B41E79FF640072071D /* MeasureRepeatAttributes.cpp in Sources */, + 29B963B51E79FF640072071D /* MeasureStyle.cpp in Sources */, + 29B963B61E79FF640072071D /* MeasureStyleAttributes.cpp in Sources */, + 29B963B71E79FF640072071D /* MeasureStyleChoice.cpp in Sources */, + 29B963B81E79FF640072071D /* Membrane.cpp in Sources */, + 29B963B91E79FF640072071D /* Metal.cpp in Sources */, + 29B963BA1E79FF640072071D /* Metronome.cpp in Sources */, + 29B963BB1E79FF640072071D /* MetronomeAttributes.cpp in Sources */, + 29B963BC1E79FF640072071D /* MetronomeBeam.cpp in Sources */, + 29B963BD1E79FF640072071D /* MetronomeBeamAttributes.cpp in Sources */, + 29B963BE1E79FF640072071D /* MetronomeDot.cpp in Sources */, + 29B963BF1E79FF640072071D /* MetronomeNote.cpp in Sources */, + 29B963C01E79FF640072071D /* MetronomeRelation.cpp in Sources */, + 29B963C11E79FF640072071D /* MetronomeRelationGroup.cpp in Sources */, + 29B963C21E79FF640072071D /* MetronomeTuplet.cpp in Sources */, + 29B963C31E79FF640072071D /* MetronomeTupletAttributes.cpp in Sources */, + 29B963C41E79FF640072071D /* MetronomeType.cpp in Sources */, + 29B963C51E79FF640072071D /* MidiBank.cpp in Sources */, + 29B963C61E79FF640072071D /* MidiChannel.cpp in Sources */, + 29B963C71E79FF640072071D /* MidiDevice.cpp in Sources */, + 29B963C81E79FF640072071D /* MidiDeviceAttributes.cpp in Sources */, + 29B963C91E79FF640072071D /* MidiDeviceInstrumentGroup.cpp in Sources */, + 29B963CA1E79FF640072071D /* MidiInstrument.cpp in Sources */, + 29B963CB1E79FF640072071D /* MidiInstrumentAttributes.cpp in Sources */, + 29B963CC1E79FF640072071D /* MidiName.cpp in Sources */, + 29B963CD1E79FF640072071D /* MidiProgram.cpp in Sources */, + 29B963CE1E79FF640072071D /* MidiUnpitched.cpp in Sources */, + 29B963CF1E79FF640072071D /* Millimeters.cpp in Sources */, + 29B963D01E79FF640072071D /* Miscellaneous.cpp in Sources */, + 29B963D11E79FF640072071D /* MiscellaneousField.cpp in Sources */, + 29B963D21E79FF640072071D /* MiscellaneousFieldAttributes.cpp in Sources */, + 29B963D31E79FF640072071D /* Mode.cpp in Sources */, + 29B963D41E79FF640072071D /* Mordent.cpp in Sources */, + 29B963D51E79FF640072071D /* MordentAttributes.cpp in Sources */, + 29B963D61E79FF640072071D /* MovementNumber.cpp in Sources */, + 29B963D71E79FF640072071D /* MovementTitle.cpp in Sources */, + 29B963D81E79FF640072071D /* MultipleRest.cpp in Sources */, + 29B963D91E79FF640072071D /* MultipleRestAttributes.cpp in Sources */, + 29B963DA1E79FF640072071D /* MusicDataChoice.cpp in Sources */, + 29B963DB1E79FF640072071D /* MusicDataGroup.cpp in Sources */, + 29B963DC1E79FF640072071D /* MusicFont.cpp in Sources */, + 29B963DD1E79FF640072071D /* Mute.cpp in Sources */, + 29B963DE1E79FF640072071D /* Natural.cpp in Sources */, + 29B963DF1E79FF640072071D /* NonArpeggiate.cpp in Sources */, + 29B963E01E79FF640072071D /* NonArpeggiateAttributes.cpp in Sources */, + 29B963E11E79FF640072071D /* NonTraditionalKey.cpp in Sources */, + 29B963E21E79FF640072071D /* NormalDot.cpp in Sources */, + 29B963E31E79FF640072071D /* NormalNoteGroup.cpp in Sources */, + 29B963E41E79FF640072071D /* NormalNotes.cpp in Sources */, + 29B963E51E79FF640072071D /* NormalType.cpp in Sources */, + 29B963E61E79FF640072071D /* NormalTypeNormalDotGroup.cpp in Sources */, + 29B963E71E79FF640072071D /* Notations.cpp in Sources */, + 29B963E81E79FF640072071D /* NotationsAttributes.cpp in Sources */, + 29B963E91E79FF640072071D /* NotationsChoice.cpp in Sources */, + 29B963EA1E79FF640072071D /* Note.cpp in Sources */, + 29B963EB1E79FF640072071D /* NoteAttributes.cpp in Sources */, + 29B963EC1E79FF640072071D /* NoteChoice.cpp in Sources */, + 29B963ED1E79FF640072071D /* Notehead.cpp in Sources */, + 29B963EE1E79FF640072071D /* NoteheadAttributes.cpp in Sources */, + 29B963EF1E79FF640072071D /* NoteheadText.cpp in Sources */, + 29B963F01E79FF640072071D /* NoteheadTextChoice.cpp in Sources */, + 29B963F11E79FF640072071D /* NoteRelationNote.cpp in Sources */, + 29B963F21E79FF640072071D /* NoteSize.cpp in Sources */, + 29B963F31E79FF640072071D /* NoteSizeAttributes.cpp in Sources */, + 29B963F41E79FF640072071D /* Octave.cpp in Sources */, + 29B963F51E79FF640072071D /* OctaveChange.cpp in Sources */, + 29B963F61E79FF640072071D /* OctaveShift.cpp in Sources */, + 29B963F71E79FF640072071D /* OctaveShiftAttributes.cpp in Sources */, + 29B963F81E79FF640072071D /* Offset.cpp in Sources */, + 29B963F91E79FF640072071D /* OffsetAttributes.cpp in Sources */, + 29B963FA1E79FF640072071D /* OpenString.cpp in Sources */, + 29B963FB1E79FF640072071D /* Opus.cpp in Sources */, + 29B963FC1E79FF640072071D /* OpusAttributes.cpp in Sources */, + 29B963FD1E79FF640072071D /* Ornaments.cpp in Sources */, + 29B963FE1E79FF640072071D /* OrnamentsChoice.cpp in Sources */, + 29B963FF1E79FF640072071D /* OtherAppearance.cpp in Sources */, + 29B964001E79FF640072071D /* OtherAppearanceAttributes.cpp in Sources */, + 29B964011E79FF640072071D /* OtherArticulation.cpp in Sources */, + 29B964021E79FF640072071D /* OtherArticulationAttributes.cpp in Sources */, + 29B964031E79FF640072071D /* OtherDirection.cpp in Sources */, + 29B964041E79FF640072071D /* OtherDirectionAttributes.cpp in Sources */, + 29B964051E79FF640072071D /* OtherNotation.cpp in Sources */, + 29B964061E79FF640072071D /* OtherNotationAttributes.cpp in Sources */, + 29B964071E79FF640072071D /* OtherOrnament.cpp in Sources */, + 29B964081E79FF640072071D /* OtherOrnamentAttributes.cpp in Sources */, + 29B964091E79FF640072071D /* OtherPercussion.cpp in Sources */, + 29B9640A1E79FF640072071D /* OtherPlay.cpp in Sources */, + 29B9640B1E79FF640072071D /* OtherPlayAttributes.cpp in Sources */, + 29B9640C1E79FF640072071D /* OtherTechnical.cpp in Sources */, + 29B9640D1E79FF640072071D /* OtherTechnicalAttributes.cpp in Sources */, + 29B9640E1E79FF640072071D /* PageHeight.cpp in Sources */, + 29B9640F1E79FF640072071D /* PageLayout.cpp in Sources */, + 29B964101E79FF640072071D /* PageMargins.cpp in Sources */, + 29B964111E79FF640072071D /* PageMarginsAttributes.cpp in Sources */, + 29B964121E79FF640072071D /* PageWidth.cpp in Sources */, + 29B964131E79FF640072071D /* Pan.cpp in Sources */, + 29B964141E79FF640072071D /* PartAbbreviation.cpp in Sources */, + 29B964151E79FF640072071D /* PartAbbreviationAttributes.cpp in Sources */, + 29B964161E79FF640072071D /* PartAbbreviationDisplay.cpp in Sources */, + 29B964171E79FF640072071D /* PartAbbreviationDisplayAttributes.cpp in Sources */, + 29B964181E79FF640072071D /* PartAttributes.cpp in Sources */, + 29B964191E79FF640072071D /* PartGroup.cpp in Sources */, + 29B9641A1E79FF640072071D /* PartGroupAttributes.cpp in Sources */, + 29B9641B1E79FF640072071D /* PartGroupOrScorePart.cpp in Sources */, + 29B9641C1E79FF640072071D /* PartList.cpp in Sources */, + 29B9641D1E79FF640072071D /* PartName.cpp in Sources */, + 29B9641E1E79FF640072071D /* PartNameAttributes.cpp in Sources */, + 29B9641F1E79FF640072071D /* PartNameDisplay.cpp in Sources */, + 29B964201E79FF640072071D /* PartNameDisplayAttributes.cpp in Sources */, + 29B964211E79FF640072071D /* PartSymbol.cpp in Sources */, + 29B964221E79FF640072071D /* PartSymbolAttributes.cpp in Sources */, + 29B964231E79FF640072071D /* PartwiseMeasure.cpp in Sources */, + 29B964241E79FF640072071D /* PartwisePart.cpp in Sources */, + 29B964251E79FF640072071D /* Pedal.cpp in Sources */, + 29B964261E79FF640072071D /* PedalAlter.cpp in Sources */, + 29B964271E79FF640072071D /* PedalAttributes.cpp in Sources */, + 29B964281E79FF640072071D /* PedalStep.cpp in Sources */, + 29B964291E79FF640072071D /* PedalTuning.cpp in Sources */, + 29B9642A1E79FF640072071D /* Percussion.cpp in Sources */, + 29B9642B1E79FF640072071D /* PercussionAttributes.cpp in Sources */, + 29B9642C1E79FF640072071D /* PercussionChoice.cpp in Sources */, + 29B9642D1E79FF640072071D /* PerMinute.cpp in Sources */, + 29B9642E1E79FF640072071D /* PerMinuteAttributes.cpp in Sources */, + 29B9642F1E79FF640072071D /* PerMinuteOrBeatUnitChoice.cpp in Sources */, + 29B964301E79FF640072071D /* Pitch.cpp in Sources */, + 29B964311E79FF640072071D /* Pitched.cpp in Sources */, + 29B964321E79FF640072071D /* Play.cpp in Sources */, + 29B964331E79FF640072071D /* PlayAttributes.cpp in Sources */, + 29B964341E79FF640072071D /* Plop.cpp in Sources */, + 29B964351E79FF640072071D /* Pluck.cpp in Sources */, + 29B964361E79FF640072071D /* PluckAttributes.cpp in Sources */, + 29B964371E79FF640072071D /* PreBend.cpp in Sources */, + 29B964381E79FF640072071D /* Prefix.cpp in Sources */, + 29B964391E79FF640072071D /* PrefixAttributes.cpp in Sources */, + 29B9643A1E79FF640072071D /* PrincipalVoice.cpp in Sources */, + 29B9643B1E79FF640072071D /* PrincipalVoiceAttributes.cpp in Sources */, + 29B9643C1E79FF640072071D /* Print.cpp in Sources */, + 29B9643D1E79FF640072071D /* PrintAttributes.cpp in Sources */, + 29B9643E1E79FF640072071D /* Properties.cpp in Sources */, + 29B9643F1E79FF640072071D /* PullOff.cpp in Sources */, + 29B964401E79FF640072071D /* PullOffAttributes.cpp in Sources */, + 29B964411E79FF640072071D /* Rehearsal.cpp in Sources */, + 29B964421E79FF640072071D /* RehearsalAttributes.cpp in Sources */, + 29B964431E79FF640072071D /* Relation.cpp in Sources */, + 29B964441E79FF640072071D /* RelationAttributes.cpp in Sources */, + 29B964451E79FF640072071D /* Release.cpp in Sources */, + 29B964461E79FF640072071D /* Repeat.cpp in Sources */, + 29B964471E79FF640072071D /* RepeatAttributes.cpp in Sources */, + 29B964481E79FF640072071D /* Rest.cpp in Sources */, + 29B964491E79FF640072071D /* RestAttributes.cpp in Sources */, + 29B9644A1E79FF640072071D /* RightDivider.cpp in Sources */, + 29B9644B1E79FF640072071D /* RightMargin.cpp in Sources */, + 29B9644C1E79FF640072071D /* Rights.cpp in Sources */, + 29B9644D1E79FF640072071D /* RightsAttributes.cpp in Sources */, + 29B9644E1E79FF640072071D /* Root.cpp in Sources */, + 29B9644F1E79FF640072071D /* RootAlter.cpp in Sources */, + 29B964501E79FF640072071D /* RootAlterAttributes.cpp in Sources */, + 29B964511E79FF640072071D /* RootStep.cpp in Sources */, + 29B964521E79FF640072071D /* RootStepAttributes.cpp in Sources */, + 29B964531E79FF640072071D /* Scaling.cpp in Sources */, + 29B964541E79FF640072071D /* Schleifer.cpp in Sources */, + 29B964551E79FF640072071D /* Scoop.cpp in Sources */, + 29B964561E79FF640072071D /* Scordatura.cpp in Sources */, + 29B964571E79FF640072071D /* ScoreHeaderGroup.cpp in Sources */, + 29B964581E79FF640072071D /* ScoreInstrument.cpp in Sources */, + 29B964591E79FF640072071D /* ScoreInstrumentAttributes.cpp in Sources */, + 29B9645A1E79FF640072071D /* ScorePart.cpp in Sources */, + 29B9645B1E79FF640072071D /* ScorePartAttributes.cpp in Sources */, + 29B9645C1E79FF640072071D /* ScorePartwise.cpp in Sources */, + 29B9645D1E79FF640072071D /* ScorePartwiseAttributes.cpp in Sources */, + 29B9645E1E79FF640072071D /* ScoreTimewise.cpp in Sources */, + 29B9645F1E79FF640072071D /* ScoreTimewiseAttributes.cpp in Sources */, + 29B964601E79FF640072071D /* Segno.cpp in Sources */, + 29B964611E79FF640072071D /* SemiPitched.cpp in Sources */, + 29B964621E79FF640072071D /* SenzaMisura.cpp in Sources */, + 29B964631E79FF640072071D /* Shake.cpp in Sources */, + 29B964641E79FF640072071D /* Sign.cpp in Sources */, + 29B964651E79FF640072071D /* Slash.cpp in Sources */, + 29B964661E79FF640072071D /* SlashAttributes.cpp in Sources */, + 29B964671E79FF640072071D /* SlashDot.cpp in Sources */, + 29B964681E79FF640072071D /* SlashType.cpp in Sources */, + 29B964691E79FF640072071D /* Slide.cpp in Sources */, + 29B9646A1E79FF640072071D /* SlideAttributes.cpp in Sources */, + 29B9646B1E79FF640072071D /* Slur.cpp in Sources */, + 29B9646C1E79FF640072071D /* SlurAttributes.cpp in Sources */, + 29B9646D1E79FF640072071D /* SnapPizzicato.cpp in Sources */, + 29B9646E1E79FF640072071D /* Software.cpp in Sources */, + 29B9646F1E79FF640072071D /* Solo.cpp in Sources */, + 29B964701E79FF640072071D /* SoloOrEnsembleChoice.cpp in Sources */, + 29B964711E79FF640072071D /* Sound.cpp in Sources */, + 29B964721E79FF640072071D /* SoundAttributes.cpp in Sources */, + 29B964731E79FF640072071D /* SoundingPitch.cpp in Sources */, + 29B964741E79FF640072071D /* Source.cpp in Sources */, + 29B964751E79FF640072071D /* Spiccato.cpp in Sources */, + 29B964761E79FF640072071D /* Staccatissimo.cpp in Sources */, + 29B964771E79FF640072071D /* Staccato.cpp in Sources */, + 29B964781E79FF640072071D /* Staff.cpp in Sources */, + 29B964791E79FF640072071D /* StaffDetails.cpp in Sources */, + 29B9647A1E79FF640072071D /* StaffDetailsAttributes.cpp in Sources */, + 29B9647B1E79FF640072071D /* StaffDistance.cpp in Sources */, + 29B9647C1E79FF640072071D /* StaffLayout.cpp in Sources */, + 29B9647D1E79FF640072071D /* StaffLayoutAttributes.cpp in Sources */, + 29B9647E1E79FF640072071D /* StaffLines.cpp in Sources */, + 29B9647F1E79FF640072071D /* StaffSize.cpp in Sources */, + 29B964801E79FF640072071D /* StaffTuning.cpp in Sources */, + 29B964811E79FF640072071D /* StaffTuningAttributes.cpp in Sources */, + 29B964821E79FF640072071D /* StaffType.cpp in Sources */, + 29B964831E79FF640072071D /* Staves.cpp in Sources */, + 29B964841E79FF640072071D /* Stem.cpp in Sources */, + 29B964851E79FF640072071D /* StemAttributes.cpp in Sources */, + 29B964861E79FF640072071D /* Step.cpp in Sources */, + 29B964871E79FF640072071D /* Stick.cpp in Sources */, + 29B964881E79FF640072071D /* StickAttributes.cpp in Sources */, + 29B964891E79FF640072071D /* StickLocation.cpp in Sources */, + 29B9648A1E79FF640072071D /* StickMaterial.cpp in Sources */, + 29B9648B1E79FF640072071D /* StickType.cpp in Sources */, + 29B9648C1E79FF640072071D /* Stopped.cpp in Sources */, + 29B9648D1E79FF640072071D /* Stress.cpp in Sources */, + 29B9648E1E79FF640072071D /* String.cpp in Sources */, + 29B9648F1E79FF640072071D /* StringAttributes.cpp in Sources */, + 29B964901E79FF640072071D /* StringMute.cpp in Sources */, + 29B964911E79FF640072071D /* StringMuteAttributes.cpp in Sources */, + 29B964921E79FF640072071D /* StrongAccent.cpp in Sources */, + 29B964931E79FF640072071D /* StrongAccentAttributes.cpp in Sources */, + 29B964941E79FF640072071D /* Suffix.cpp in Sources */, + 29B964951E79FF640072071D /* SuffixAttributes.cpp in Sources */, + 29B964961E79FF640072071D /* Supports.cpp in Sources */, + 29B964971E79FF640072071D /* SupportsAttributes.cpp in Sources */, + 29B964981E79FF640072071D /* Syllabic.cpp in Sources */, + 29B964991E79FF640072071D /* SyllabicTextGroup.cpp in Sources */, + 29B9649A1E79FF640072071D /* SystemDistance.cpp in Sources */, + 29B9649B1E79FF640072071D /* SystemDividers.cpp in Sources */, + 29B9649C1E79FF640072071D /* SystemLayout.cpp in Sources */, + 29B9649D1E79FF640072071D /* SystemMargins.cpp in Sources */, + 29B9649E1E79FF640072071D /* Tap.cpp in Sources */, + 29B9649F1E79FF640072071D /* TapAttributes.cpp in Sources */, + 29B964A01E79FF640072071D /* Technical.cpp in Sources */, + 29B964A11E79FF640072071D /* TechnicalChoice.cpp in Sources */, + 29B964A21E79FF640072071D /* Tenths.cpp in Sources */, + 29B964A31E79FF640072071D /* Tenuto.cpp in Sources */, + 29B964A41E79FF640072071D /* Text.cpp in Sources */, + 29B964A51E79FF640072071D /* TextAttributes.cpp in Sources */, + 29B964A61E79FF640072071D /* ThumbPosition.cpp in Sources */, + 29B964A71E79FF640072071D /* Tie.cpp in Sources */, + 29B964A81E79FF640072071D /* TieAttributes.cpp in Sources */, + 29B964A91E79FF640072071D /* Tied.cpp in Sources */, + 29B964AA1E79FF640072071D /* TiedAttributes.cpp in Sources */, + 29B964AB1E79FF640072071D /* Time.cpp in Sources */, + 29B964AC1E79FF640072071D /* TimeAttributes.cpp in Sources */, + 29B964AD1E79FF640072071D /* TimeChoice.cpp in Sources */, + 29B964AE1E79FF640072071D /* TimeModification.cpp in Sources */, + 29B964AF1E79FF640072071D /* TimeModificationNormalTypeNormalDot.cpp in Sources */, + 29B964B01E79FF640072071D /* TimeRelation.cpp in Sources */, + 29B964B11E79FF640072071D /* TimeSignatureGroup.cpp in Sources */, + 29B964B21E79FF640072071D /* TimewiseMeasure.cpp in Sources */, + 29B964B31E79FF640072071D /* TimewisePart.cpp in Sources */, + 29B964B41E79FF640072071D /* Timpani.cpp in Sources */, + 29B964B51E79FF640072071D /* Toe.cpp in Sources */, + 29B964B61E79FF640072071D /* ToeAttributes.cpp in Sources */, + 29B964B71E79FF640072071D /* TopMargin.cpp in Sources */, + 29B964B81E79FF640072071D /* TopSystemDistance.cpp in Sources */, + 29B964B91E79FF640072071D /* TouchingPitch.cpp in Sources */, + 29B964BA1E79FF640072071D /* TraditionalKey.cpp in Sources */, + 29B964BB1E79FF640072071D /* Transpose.cpp in Sources */, + 29B964BC1E79FF640072071D /* TransposeAttributes.cpp in Sources */, + 29B964BD1E79FF640072071D /* Tremolo.cpp in Sources */, + 29B964BE1E79FF640072071D /* TremoloAttributes.cpp in Sources */, + 29B964BF1E79FF640072071D /* TrillMark.cpp in Sources */, + 29B964C01E79FF640072071D /* TripleTongue.cpp in Sources */, + 29B964C11E79FF640072071D /* TuningAlter.cpp in Sources */, + 29B964C21E79FF640072071D /* TuningOctave.cpp in Sources */, + 29B964C31E79FF640072071D /* TuningStep.cpp in Sources */, + 29B964C41E79FF640072071D /* Tuplet.cpp in Sources */, + 29B964C51E79FF640072071D /* TupletActual.cpp in Sources */, + 29B964C61E79FF640072071D /* TupletAttributes.cpp in Sources */, + 29B964C71E79FF640072071D /* TupletDot.cpp in Sources */, + 29B964C81E79FF640072071D /* TupletDotAttributes.cpp in Sources */, + 29B964C91E79FF640072071D /* TupletNormal.cpp in Sources */, + 29B964CA1E79FF640072071D /* TupletNumber.cpp in Sources */, + 29B964CB1E79FF640072071D /* TupletNumberAttributes.cpp in Sources */, + 29B964CC1E79FF640072071D /* TupletType.cpp in Sources */, + 29B964CD1E79FF640072071D /* TupletTypeAttributes.cpp in Sources */, + 29B964CE1E79FF640072071D /* Turn.cpp in Sources */, + 29B964CF1E79FF640072071D /* TurnAttributes.cpp in Sources */, + 29B964D01E79FF640072071D /* Type.cpp in Sources */, + 29B964D11E79FF640072071D /* TypeAttributes.cpp in Sources */, + 29B964D21E79FF640072071D /* Unpitched.cpp in Sources */, + 29B964D31E79FF640072071D /* Unstress.cpp in Sources */, + 29B964D41E79FF640072071D /* UpBow.cpp in Sources */, + 29B964D51E79FF640072071D /* VerticalTurn.cpp in Sources */, + 29B964D61E79FF640072071D /* VirtualInstrument.cpp in Sources */, + 29B964D71E79FF640072071D /* VirtualLibrary.cpp in Sources */, + 29B964D81E79FF640072071D /* VirtualName.cpp in Sources */, + 29B964D91E79FF640072071D /* Voice.cpp in Sources */, + 29B964DA1E79FF640072071D /* Volume.cpp in Sources */, + 29B964DB1E79FF640072071D /* WavyLine.cpp in Sources */, + 29B964DC1E79FF640072071D /* WavyLineAttributes.cpp in Sources */, + 29B964DD1E79FF640072071D /* Wedge.cpp in Sources */, + 29B964DE1E79FF640072071D /* WedgeAttributes.cpp in Sources */, + 29B964DF1E79FF640072071D /* WithBar.cpp in Sources */, + 29B964E01E79FF640072071D /* WithBarAttributes.cpp in Sources */, + 29B964E11E79FF640072071D /* Wood.cpp in Sources */, + 29B964E21E79FF640072071D /* WordFont.cpp in Sources */, + 29B964E31E79FF640072071D /* Words.cpp in Sources */, + 29B964E41E79FF640072071D /* WordsAttributes.cpp in Sources */, + 29B964E51E79FF640072071D /* Work.cpp in Sources */, + 29B964E61E79FF640072071D /* WorkNumber.cpp in Sources */, + 29B964E71E79FF640072071D /* WorkTitle.cpp in Sources */, + 29B964E81E79FF640072071D /* EmptyPrintObjectStyleAlignAttributes.cpp in Sources */, + 29B964E91E79FF640072071D /* Enums.cpp in Sources */, + 29B964EA1E79FF640072071D /* FontSize.cpp in Sources */, + 29B964EB1E79FF640072071D /* FromXElement.cpp in Sources */, + 29B964EC1E79FF640072071D /* Integers.cpp in Sources */, + 29B964ED1E79FF640072071D /* NumberOrNormal.cpp in Sources */, + 29B964EE1E79FF640072071D /* PositiveIntegerOrEmpty.cpp in Sources */, + 29B964EF1E79FF640072071D /* ScoreConversions.cpp in Sources */, + 29B964F01E79FF640072071D /* Strings.cpp in Sources */, + 29B964F11E79FF640072071D /* YesNoNumber.cpp in Sources */, + 29B964F21E79FF640072071D /* DynamicsWriter.cpp in Sources */, + 29B964F31E79FF640072071D /* AccidentalMarkFunctions.cpp in Sources */, + 29B964F41E79FF640072071D /* ArticulationsFunctions.cpp in Sources */, + 29B964F51E79FF640072071D /* Converter.cpp in Sources */, + 29B964F61E79FF640072071D /* Cursor.cpp in Sources */, + 29B964F71E79FF640072071D /* DirectionReader.cpp in Sources */, + 29B964F81E79FF640072071D /* DirectionWriter.cpp in Sources */, + 29B964F91E79FF640072071D /* DynamicsReader.cpp in Sources */, + 29B964FA1E79FF640072071D /* EncodingFunctions.cpp in Sources */, + 29B964FB1E79FF640072071D /* LayoutFunctions.cpp in Sources */, + 29B964FC1E79FF640072071D /* LcmGcd.cpp in Sources */, + 29B964FD1E79FF640072071D /* MeasureReader.cpp in Sources */, + 29B964FE1E79FF640072071D /* MeasureWriter.cpp in Sources */, + 29B964FF1E79FF640072071D /* MetronomeReader.cpp in Sources */, + 29B965001E79FF640072071D /* NotationsWriter.cpp in Sources */, + 29B965011E79FF640072071D /* NoteFunctions.cpp in Sources */, + 29B965021E79FF640072071D /* NoteReader.cpp in Sources */, + 29B965031E79FF640072071D /* NoteWriter.cpp in Sources */, + 29B965041E79FF640072071D /* OrnamentsFunctions.cpp in Sources */, + 29B965051E79FF640072071D /* PageTextFunctions.cpp in Sources */, + 29B965061E79FF640072071D /* PartReader.cpp in Sources */, + 29B965071E79FF640072071D /* PartWriter.cpp in Sources */, + 29B965081E79FF640072071D /* PropertiesWriter.cpp in Sources */, + 29B965091E79FF640072071D /* ScoreReader.cpp in Sources */, + 29B9650A1E79FF640072071D /* ScoreWriter.cpp in Sources */, + 29B9650B1E79FF640072071D /* StaffFunctions.cpp in Sources */, + 29B9650C1E79FF640072071D /* TechnicalFunctions.cpp in Sources */, + 29B9650D1E79FF640072071D /* TimeReader.cpp in Sources */, + 29B9650E1E79FF640072071D /* TupletReader.cpp in Sources */, + 29B9650F1E79FF640072071D /* pugixml.cpp in Sources */, + 29B965101E79FF640072071D /* Utility.cpp in Sources */, + 29B965111E79FF640072071D /* UtilityImpl.cpp in Sources */, + 29B965121E79FF640072071D /* PugiAttribute.cpp in Sources */, + 29B965131E79FF640072071D /* PugiAttributeIterImpl.cpp in Sources */, + 29B965141E79FF640072071D /* PugiDoc.cpp in Sources */, + 29B965151E79FF640072071D /* PugiElement.cpp in Sources */, + 29B965161E79FF640072071D /* PugiElementIterImpl.cpp in Sources */, + 29B965171E79FF640072071D /* XAttributeIterator.cpp in Sources */, + 29B965181E79FF640072071D /* XElementIterator.cpp in Sources */, + 29B965191E79FF640072071D /* XFactory.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 29B965241E7A04140072071D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 29B965311E7A043D0072071D /* ClefData.cpp in Sources */, + 29B965321E7A043D0072071D /* DocumentManager.cpp in Sources */, + 29B965331E7A043D0072071D /* DurationData.cpp in Sources */, + 29B965341E7A043D0072071D /* MarkData.cpp in Sources */, + 29B965351E7A043D0072071D /* MeasureLocation.cpp in Sources */, + 29B965361E7A043D0072071D /* NoteData.cpp in Sources */, + 29B965371E7A043D0072071D /* PitchData.cpp in Sources */, + 29B965381E7A043D0072071D /* Smufl.cpp in Sources */, + 29B965391E7A043D0072071D /* AttributesInterface.cpp in Sources */, + 29B9653A1E7A043D0072071D /* Color.cpp in Sources */, + 29B9653B1E7A043D0072071D /* Date.cpp in Sources */, + 29B9653C1E7A043D0072071D /* Decimals.cpp in Sources */, + 29B9653D1E7A043D0072071D /* Document.cpp in Sources */, + 29B9653E1E7A043D0072071D /* DocumentHeader.cpp in Sources */, + 29B9653F1E7A043D0072071D /* DocumentSpec.cpp in Sources */, + 29B965401E7A043D0072071D /* ElementInterface.cpp in Sources */, + 29B965411E7A043D0072071D /* Accent.cpp in Sources */, + 29B965421E7A043D0072071D /* Accidental.cpp in Sources */, + 29B965431E7A043D0072071D /* AccidentalAttributes.cpp in Sources */, + 29B965441E7A043D0072071D /* AccidentalMark.cpp in Sources */, + 29B965451E7A043D0072071D /* AccidentalMarkAttributes.cpp in Sources */, + 29B965461E7A043D0072071D /* AccidentalText.cpp in Sources */, + 29B965471E7A043D0072071D /* AccidentalTextAttributes.cpp in Sources */, + 29B965481E7A043D0072071D /* Accord.cpp in Sources */, + 29B965491E7A043D0072071D /* AccordAttributes.cpp in Sources */, + 29B9654A1E7A043D0072071D /* AccordionHigh.cpp in Sources */, + 29B9654B1E7A043D0072071D /* AccordionLow.cpp in Sources */, + 29B9654C1E7A043D0072071D /* AccordionMiddle.cpp in Sources */, + 29B9654D1E7A043D0072071D /* AccordionRegistration.cpp in Sources */, + 29B9654E1E7A043D0072071D /* AccordionRegistrationAttributes.cpp in Sources */, + 29B9654F1E7A043D0072071D /* ActualNotes.cpp in Sources */, + 29B965501E7A043D0072071D /* Alter.cpp in Sources */, + 29B965511E7A043D0072071D /* Appearance.cpp in Sources */, + 29B965521E7A043D0072071D /* Arpeggiate.cpp in Sources */, + 29B965531E7A043D0072071D /* ArpeggiateAttributes.cpp in Sources */, + 29B965541E7A043D0072071D /* Arrow.cpp in Sources */, + 29B965551E7A043D0072071D /* ArrowAttributes.cpp in Sources */, + 29B965561E7A043D0072071D /* ArrowDirection.cpp in Sources */, + 29B965571E7A043D0072071D /* ArrowGroup.cpp in Sources */, + 29B965581E7A043D0072071D /* ArrowStyle.cpp in Sources */, + 29B965591E7A043D0072071D /* Articulations.cpp in Sources */, + 29B9655A1E7A043D0072071D /* ArticulationsChoice.cpp in Sources */, + 29B9655B1E7A043D0072071D /* Artificial.cpp in Sources */, + 29B9655C1E7A043D0072071D /* AttributesIterface.cpp in Sources */, + 29B9655D1E7A043D0072071D /* Backup.cpp in Sources */, + 29B9655E1E7A043D0072071D /* Barline.cpp in Sources */, + 29B9655F1E7A043D0072071D /* BarlineAttributes.cpp in Sources */, + 29B965601E7A043D0072071D /* Barre.cpp in Sources */, + 29B965611E7A043D0072071D /* BarreAttributes.cpp in Sources */, + 29B965621E7A043D0072071D /* BarStyle.cpp in Sources */, + 29B965631E7A043D0072071D /* BarStyleAttributes.cpp in Sources */, + 29B965641E7A043D0072071D /* BasePitch.cpp in Sources */, + 29B965651E7A043D0072071D /* Bass.cpp in Sources */, + 29B965661E7A043D0072071D /* BassAlter.cpp in Sources */, + 29B965671E7A043D0072071D /* BassAlterAttributes.cpp in Sources */, + 29B965681E7A043D0072071D /* BassStep.cpp in Sources */, + 29B965691E7A043D0072071D /* BassStepAttributes.cpp in Sources */, + 29B9656A1E7A043D0072071D /* Beam.cpp in Sources */, + 29B9656B1E7A043D0072071D /* BeamAttributes.cpp in Sources */, + 29B9656C1E7A043D0072071D /* Beater.cpp in Sources */, + 29B9656D1E7A043D0072071D /* BeaterAttributes.cpp in Sources */, + 29B9656E1E7A043D0072071D /* BeatRepeat.cpp in Sources */, + 29B9656F1E7A043D0072071D /* BeatRepeatAttributes.cpp in Sources */, + 29B965701E7A043D0072071D /* Beats.cpp in Sources */, + 29B965711E7A043D0072071D /* BeatType.cpp in Sources */, + 29B965721E7A043D0072071D /* BeatUnit.cpp in Sources */, + 29B965731E7A043D0072071D /* BeatUnitDot.cpp in Sources */, + 29B965741E7A043D0072071D /* BeatUnitGroup.cpp in Sources */, + 29B965751E7A043D0072071D /* BeatUnitPer.cpp in Sources */, + 29B965761E7A043D0072071D /* BeatUnitPerOrNoteRelationNoteChoice.cpp in Sources */, + 29B965771E7A043D0072071D /* Bend.cpp in Sources */, + 29B965781E7A043D0072071D /* BendAlter.cpp in Sources */, + 29B965791E7A043D0072071D /* BendAttributes.cpp in Sources */, + 29B9657A1E7A043D0072071D /* BendChoice.cpp in Sources */, + 29B9657B1E7A043D0072071D /* Bookmark.cpp in Sources */, + 29B9657C1E7A043D0072071D /* BookmarkAttributes.cpp in Sources */, + 29B9657D1E7A043D0072071D /* BottomMargin.cpp in Sources */, + 29B9657E1E7A043D0072071D /* Bracket.cpp in Sources */, + 29B9657F1E7A043D0072071D /* BracketAttributes.cpp in Sources */, + 29B965801E7A043D0072071D /* BreathMark.cpp in Sources */, + 29B965811E7A043D0072071D /* BreathMarkAttributes.cpp in Sources */, + 29B965821E7A043D0072071D /* Caesura.cpp in Sources */, + 29B965831E7A043D0072071D /* Cancel.cpp in Sources */, + 29B965841E7A043D0072071D /* CancelAttributes.cpp in Sources */, + 29B965851E7A043D0072071D /* Capo.cpp in Sources */, + 29B965861E7A043D0072071D /* Chord.cpp in Sources */, + 29B965871E7A043D0072071D /* Chromatic.cpp in Sources */, + 29B965881E7A043D0072071D /* CircularArrow.cpp in Sources */, + 29B965891E7A043D0072071D /* Clef.cpp in Sources */, + 29B9658A1E7A043D0072071D /* ClefAttributes.cpp in Sources */, + 29B9658B1E7A043D0072071D /* ClefOctaveChange.cpp in Sources */, + 29B9658C1E7A043D0072071D /* Coda.cpp in Sources */, + 29B9658D1E7A043D0072071D /* Creator.cpp in Sources */, + 29B9658E1E7A043D0072071D /* CreatorAttributes.cpp in Sources */, + 29B9658F1E7A043D0072071D /* Credit.cpp in Sources */, + 29B965901E7A043D0072071D /* CreditAttributes.cpp in Sources */, + 29B965911E7A043D0072071D /* CreditChoice.cpp in Sources */, + 29B965921E7A043D0072071D /* CreditImage.cpp in Sources */, + 29B965931E7A043D0072071D /* CreditImageAttributes.cpp in Sources */, + 29B965941E7A043D0072071D /* CreditType.cpp in Sources */, + 29B965951E7A043D0072071D /* CreditWords.cpp in Sources */, + 29B965961E7A043D0072071D /* CreditWordsAttributes.cpp in Sources */, + 29B965971E7A043D0072071D /* CreditWordsGroup.cpp in Sources */, + 29B965981E7A043D0072071D /* Cue.cpp in Sources */, + 29B965991E7A043D0072071D /* CueNoteGroup.cpp in Sources */, + 29B9659A1E7A043D0072071D /* Damp.cpp in Sources */, + 29B9659B1E7A043D0072071D /* DampAll.cpp in Sources */, + 29B9659C1E7A043D0072071D /* Dashes.cpp in Sources */, + 29B9659D1E7A043D0072071D /* DashesAttributes.cpp in Sources */, + 29B9659E1E7A043D0072071D /* Defaults.cpp in Sources */, + 29B9659F1E7A043D0072071D /* Degree.cpp in Sources */, + 29B965A01E7A043D0072071D /* DegreeAlter.cpp in Sources */, + 29B965A11E7A043D0072071D /* DegreeAlterAttributes.cpp in Sources */, + 29B965A21E7A043D0072071D /* DegreeAttributes.cpp in Sources */, + 29B965A31E7A043D0072071D /* DegreeType.cpp in Sources */, + 29B965A41E7A043D0072071D /* DegreeTypeAttributes.cpp in Sources */, + 29B965A51E7A043D0072071D /* DegreeValue.cpp in Sources */, + 29B965A61E7A043D0072071D /* DegreeValueAttributes.cpp in Sources */, + 29B965A71E7A043D0072071D /* DelayedInvertedTurn.cpp in Sources */, + 29B965A81E7A043D0072071D /* DelayedInvertedTurnAttributes.cpp in Sources */, + 29B965A91E7A043D0072071D /* DelayedTurn.cpp in Sources */, + 29B965AA1E7A043D0072071D /* DelayedTurnAttributes.cpp in Sources */, + 29B965AB1E7A043D0072071D /* DetachedLegato.cpp in Sources */, + 29B965AC1E7A043D0072071D /* Diatonic.cpp in Sources */, + 29B965AD1E7A043D0072071D /* Direction.cpp in Sources */, + 29B965AE1E7A043D0072071D /* DirectionAttributes.cpp in Sources */, + 29B965AF1E7A043D0072071D /* DirectionType.cpp in Sources */, + 29B965B01E7A043D0072071D /* Directive.cpp in Sources */, + 29B965B11E7A043D0072071D /* DirectiveAttributes.cpp in Sources */, + 29B965B21E7A043D0072071D /* DisplayOctave.cpp in Sources */, + 29B965B31E7A043D0072071D /* DisplayStep.cpp in Sources */, + 29B965B41E7A043D0072071D /* DisplayStepOctaveGroup.cpp in Sources */, + 29B965B51E7A043D0072071D /* DisplayText.cpp in Sources */, + 29B965B61E7A043D0072071D /* DisplayTextAttributes.cpp in Sources */, + 29B965B71E7A043D0072071D /* DisplayTextOrAccidentalText.cpp in Sources */, + 29B965B81E7A043D0072071D /* Distance.cpp in Sources */, + 29B965B91E7A043D0072071D /* DistanceAttributes.cpp in Sources */, + 29B965BA1E7A043D0072071D /* Divisions.cpp in Sources */, + 29B965BB1E7A043D0072071D /* Doit.cpp in Sources */, + 29B965BC1E7A043D0072071D /* Dot.cpp in Sources */, + 29B965BD1E7A043D0072071D /* Double.cpp in Sources */, + 29B965BE1E7A043D0072071D /* DoubleTongue.cpp in Sources */, + 29B965BF1E7A043D0072071D /* DownBow.cpp in Sources */, + 29B965C01E7A043D0072071D /* Duration.cpp in Sources */, + 29B965C11E7A043D0072071D /* Dynamics.cpp in Sources */, + 29B965C21E7A043D0072071D /* DynamicsAttributes.cpp in Sources */, + 29B965C31E7A043D0072071D /* EditorialGroup.cpp in Sources */, + 29B965C41E7A043D0072071D /* EditorialVoiceDirectionGroup.cpp in Sources */, + 29B965C51E7A043D0072071D /* EditorialVoiceGroup.cpp in Sources */, + 29B965C61E7A043D0072071D /* Effect.cpp in Sources */, + 29B965C71E7A043D0072071D /* Elevation.cpp in Sources */, + 29B965C81E7A043D0072071D /* Elision.cpp in Sources */, + 29B965C91E7A043D0072071D /* ElisionAttributes.cpp in Sources */, + 29B965CA1E7A043D0072071D /* ElisionSyllabicGroup.cpp in Sources */, + 29B965CB1E7A043D0072071D /* ElisionSyllabicTextGroup.cpp in Sources */, + 29B965CC1E7A043D0072071D /* EmptyFontAttributes.cpp in Sources */, + 29B965CD1E7A043D0072071D /* EmptyLineAttributes.cpp in Sources */, + 29B965CE1E7A043D0072071D /* EmptyPlacementAttributes.cpp in Sources */, + 29B965CF1E7A043D0072071D /* EmptyTrillSoundAttributes.cpp in Sources */, + 29B965D01E7A043D0072071D /* Encoder.cpp in Sources */, + 29B965D11E7A043D0072071D /* EncoderAttributes.cpp in Sources */, + 29B965D21E7A043D0072071D /* Encoding.cpp in Sources */, + 29B965D31E7A043D0072071D /* EncodingChoice.cpp in Sources */, + 29B965D41E7A043D0072071D /* EncodingDate.cpp in Sources */, + 29B965D51E7A043D0072071D /* EncodingDescription.cpp in Sources */, + 29B965D61E7A043D0072071D /* Ending.cpp in Sources */, + 29B965D71E7A043D0072071D /* EndingAttributes.cpp in Sources */, + 29B965D81E7A043D0072071D /* EndLine.cpp in Sources */, + 29B965D91E7A043D0072071D /* EndParagraph.cpp in Sources */, + 29B965DA1E7A043D0072071D /* Ensemble.cpp in Sources */, + 29B965DB1E7A043D0072071D /* Extend.cpp in Sources */, + 29B965DC1E7A043D0072071D /* ExtendAttributes.cpp in Sources */, + 29B965DD1E7A043D0072071D /* Eyeglasses.cpp in Sources */, + 29B965DE1E7A043D0072071D /* Falloff.cpp in Sources */, + 29B965DF1E7A043D0072071D /* Feature.cpp in Sources */, + 29B965E01E7A043D0072071D /* FeatureAttributes.cpp in Sources */, + 29B965E11E7A043D0072071D /* Fermata.cpp in Sources */, + 29B965E21E7A043D0072071D /* FermataAttributes.cpp in Sources */, + 29B965E31E7A043D0072071D /* Fifths.cpp in Sources */, + 29B965E41E7A043D0072071D /* Figure.cpp in Sources */, + 29B965E51E7A043D0072071D /* FiguredBass.cpp in Sources */, + 29B965E61E7A043D0072071D /* FiguredBassAttributes.cpp in Sources */, + 29B965E71E7A043D0072071D /* FigureNumber.cpp in Sources */, + 29B965E81E7A043D0072071D /* FigureNumberAttributes.cpp in Sources */, + 29B965E91E7A043D0072071D /* Fingering.cpp in Sources */, + 29B965EA1E7A043D0072071D /* FingeringAttributes.cpp in Sources */, + 29B965EB1E7A043D0072071D /* Fingernails.cpp in Sources */, + 29B965EC1E7A043D0072071D /* FirstFret.cpp in Sources */, + 29B965ED1E7A043D0072071D /* FirstFretAttributes.cpp in Sources */, + 29B965EE1E7A043D0072071D /* Footnote.cpp in Sources */, + 29B965EF1E7A043D0072071D /* FootnoteAttributes.cpp in Sources */, + 29B965F01E7A043D0072071D /* Forward.cpp in Sources */, + 29B965F11E7A043D0072071D /* Frame.cpp in Sources */, + 29B965F21E7A043D0072071D /* FrameAttributes.cpp in Sources */, + 29B965F31E7A043D0072071D /* FrameFrets.cpp in Sources */, + 29B965F41E7A043D0072071D /* FrameNote.cpp in Sources */, + 29B965F51E7A043D0072071D /* FrameStrings.cpp in Sources */, + 29B965F61E7A043D0072071D /* Fret.cpp in Sources */, + 29B965F71E7A043D0072071D /* FretAttributes.cpp in Sources */, + 29B965F81E7A043D0072071D /* FullNoteGroup.cpp in Sources */, + 29B965F91E7A043D0072071D /* FullNoteTypeChoice.cpp in Sources */, + 29B965FA1E7A043D0072071D /* Function.cpp in Sources */, + 29B965FB1E7A043D0072071D /* FunctionAttributes.cpp in Sources */, + 29B965FC1E7A043D0072071D /* Glass.cpp in Sources */, + 29B965FD1E7A043D0072071D /* Glissando.cpp in Sources */, + 29B965FE1E7A043D0072071D /* GlissandoAttributes.cpp in Sources */, + 29B965FF1E7A043D0072071D /* Grace.cpp in Sources */, + 29B966001E7A043D0072071D /* GraceAttributes.cpp in Sources */, + 29B966011E7A043D0072071D /* GraceNoteGroup.cpp in Sources */, + 29B966021E7A043D0072071D /* Group.cpp in Sources */, + 29B966031E7A043D0072071D /* GroupAbbreviation.cpp in Sources */, + 29B966041E7A043D0072071D /* GroupAbbreviationAttributes.cpp in Sources */, + 29B966051E7A043D0072071D /* GroupAbbreviationDisplay.cpp in Sources */, + 29B966061E7A043D0072071D /* GroupAbbreviationDisplayAttributes.cpp in Sources */, + 29B966071E7A043D0072071D /* GroupBarline.cpp in Sources */, + 29B966081E7A043D0072071D /* GroupBarlineAttributes.cpp in Sources */, + 29B966091E7A043D0072071D /* Grouping.cpp in Sources */, + 29B9660A1E7A043D0072071D /* GroupingAttributes.cpp in Sources */, + 29B9660B1E7A043D0072071D /* GroupName.cpp in Sources */, + 29B9660C1E7A043D0072071D /* GroupNameAttributes.cpp in Sources */, + 29B9660D1E7A043D0072071D /* GroupNameDisplay.cpp in Sources */, + 29B9660E1E7A043D0072071D /* GroupNameDisplayAttributes.cpp in Sources */, + 29B9660F1E7A043D0072071D /* GroupSymbol.cpp in Sources */, + 29B966101E7A043D0072071D /* GroupSymbolAttributes.cpp in Sources */, + 29B966111E7A043D0072071D /* GroupTime.cpp in Sources */, + 29B966121E7A043D0072071D /* HammerOn.cpp in Sources */, + 29B966131E7A043D0072071D /* HammerOnAttributes.cpp in Sources */, + 29B966141E7A043D0072071D /* Handbell.cpp in Sources */, + 29B966151E7A043D0072071D /* HandbellAttributes.cpp in Sources */, + 29B966161E7A043D0072071D /* Harmonic.cpp in Sources */, + 29B966171E7A043D0072071D /* HarmonicAttributes.cpp in Sources */, + 29B966181E7A043D0072071D /* HarmonicInfoChoice.cpp in Sources */, + 29B966191E7A043D0072071D /* HarmonicTypeChoice.cpp in Sources */, + 29B9661A1E7A043D0072071D /* Harmony.cpp in Sources */, + 29B9661B1E7A043D0072071D /* HarmonyAttributes.cpp in Sources */, + 29B9661C1E7A043D0072071D /* HarmonyChordGroup.cpp in Sources */, + 29B9661D1E7A043D0072071D /* HarpPedals.cpp in Sources */, + 29B9661E1E7A043D0072071D /* HarpPedalsAttributes.cpp in Sources */, + 29B9661F1E7A043D0072071D /* Heel.cpp in Sources */, + 29B966201E7A043D0072071D /* HeelAttributes.cpp in Sources */, + 29B966211E7A043D0072071D /* Hole.cpp in Sources */, + 29B966221E7A043D0072071D /* HoleAttributes.cpp in Sources */, + 29B966231E7A043D0072071D /* HoleClosed.cpp in Sources */, + 29B966241E7A043D0072071D /* HoleClosedAttributes.cpp in Sources */, + 29B966251E7A043D0072071D /* HoleShape.cpp in Sources */, + 29B966261E7A043D0072071D /* HoleType.cpp in Sources */, + 29B966271E7A043D0072071D /* Humming.cpp in Sources */, + 29B966281E7A043D0072071D /* Identification.cpp in Sources */, + 29B966291E7A043D0072071D /* Image.cpp in Sources */, + 29B9662A1E7A043D0072071D /* ImageAttributes.cpp in Sources */, + 29B9662B1E7A043D0072071D /* Instrument.cpp in Sources */, + 29B9662C1E7A043D0072071D /* InstrumentAbbreviation.cpp in Sources */, + 29B9662D1E7A043D0072071D /* InstrumentAttributes.cpp in Sources */, + 29B9662E1E7A043D0072071D /* InstrumentName.cpp in Sources */, + 29B9662F1E7A043D0072071D /* Instruments.cpp in Sources */, + 29B966301E7A043D0072071D /* InstrumentSound.cpp in Sources */, + 29B966311E7A043D0072071D /* Interchangeable.cpp in Sources */, + 29B966321E7A043D0072071D /* InterchangeableAttributes.cpp in Sources */, + 29B966331E7A043D0072071D /* Inversion.cpp in Sources */, + 29B966341E7A043D0072071D /* InversionAttributes.cpp in Sources */, + 29B966351E7A043D0072071D /* InvertedMordent.cpp in Sources */, + 29B966361E7A043D0072071D /* InvertedMordentAttributes.cpp in Sources */, + 29B966371E7A043D0072071D /* InvertedTurn.cpp in Sources */, + 29B966381E7A043D0072071D /* InvertedTurnAttributes.cpp in Sources */, + 29B966391E7A043D0072071D /* Ipa.cpp in Sources */, + 29B9663A1E7A043D0072071D /* Key.cpp in Sources */, + 29B9663B1E7A043D0072071D /* KeyAccidental.cpp in Sources */, + 29B9663C1E7A043D0072071D /* KeyAlter.cpp in Sources */, + 29B9663D1E7A043D0072071D /* KeyAttributes.cpp in Sources */, + 29B9663E1E7A043D0072071D /* KeyChoice.cpp in Sources */, + 29B9663F1E7A043D0072071D /* KeyOctave.cpp in Sources */, + 29B966401E7A043D0072071D /* KeyOctaveAttributes.cpp in Sources */, + 29B966411E7A043D0072071D /* KeyStep.cpp in Sources */, + 29B966421E7A043D0072071D /* Kind.cpp in Sources */, + 29B966431E7A043D0072071D /* KindAttributes.cpp in Sources */, + 29B966441E7A043D0072071D /* Laughing.cpp in Sources */, + 29B966451E7A043D0072071D /* LayoutGroup.cpp in Sources */, + 29B966461E7A043D0072071D /* LeftDivider.cpp in Sources */, + 29B966471E7A043D0072071D /* LeftMargin.cpp in Sources */, + 29B966481E7A043D0072071D /* Level.cpp in Sources */, + 29B966491E7A043D0072071D /* LevelAttributes.cpp in Sources */, + 29B9664A1E7A043D0072071D /* Line.cpp in Sources */, + 29B9664B1E7A043D0072071D /* LineWidth.cpp in Sources */, + 29B9664C1E7A043D0072071D /* LineWidthAttributes.cpp in Sources */, + 29B9664D1E7A043D0072071D /* Link.cpp in Sources */, + 29B9664E1E7A043D0072071D /* LinkAttributes.cpp in Sources */, + 29B9664F1E7A043D0072071D /* Lyric.cpp in Sources */, + 29B966501E7A043D0072071D /* LyricAttributes.cpp in Sources */, + 29B966511E7A043D0072071D /* LyricFont.cpp in Sources */, + 29B966521E7A043D0072071D /* LyricFontAttributes.cpp in Sources */, + 29B966531E7A043D0072071D /* LyricLanguage.cpp in Sources */, + 29B966541E7A043D0072071D /* LyricLanguageAttributes.cpp in Sources */, + 29B966551E7A043D0072071D /* LyricTextChoice.cpp in Sources */, + 29B966561E7A043D0072071D /* MeasureAttributes.cpp in Sources */, + 29B966571E7A043D0072071D /* MeasureDistance.cpp in Sources */, + 29B966581E7A043D0072071D /* MeasureLayout.cpp in Sources */, + 29B966591E7A043D0072071D /* MeasureNumbering.cpp in Sources */, + 29B9665A1E7A043D0072071D /* MeasureNumberingAttributes.cpp in Sources */, + 29B9665B1E7A043D0072071D /* MeasureRepeat.cpp in Sources */, + 29B9665C1E7A043D0072071D /* MeasureRepeatAttributes.cpp in Sources */, + 29B9665D1E7A043D0072071D /* MeasureStyle.cpp in Sources */, + 29B9665E1E7A043D0072071D /* MeasureStyleAttributes.cpp in Sources */, + 29B9665F1E7A043D0072071D /* MeasureStyleChoice.cpp in Sources */, + 29B966601E7A043D0072071D /* Membrane.cpp in Sources */, + 29B966611E7A043D0072071D /* Metal.cpp in Sources */, + 29B966621E7A043D0072071D /* Metronome.cpp in Sources */, + 29B966631E7A043D0072071D /* MetronomeAttributes.cpp in Sources */, + 29B966641E7A043D0072071D /* MetronomeBeam.cpp in Sources */, + 29B966651E7A043D0072071D /* MetronomeBeamAttributes.cpp in Sources */, + 29B966661E7A043D0072071D /* MetronomeDot.cpp in Sources */, + 29B966671E7A043D0072071D /* MetronomeNote.cpp in Sources */, + 29B966681E7A043D0072071D /* MetronomeRelation.cpp in Sources */, + 29B966691E7A043D0072071D /* MetronomeRelationGroup.cpp in Sources */, + 29B9666A1E7A043D0072071D /* MetronomeTuplet.cpp in Sources */, + 29B9666B1E7A043D0072071D /* MetronomeTupletAttributes.cpp in Sources */, + 29B9666C1E7A043D0072071D /* MetronomeType.cpp in Sources */, + 29B9666D1E7A043D0072071D /* MidiBank.cpp in Sources */, + 29B9666E1E7A043D0072071D /* MidiChannel.cpp in Sources */, + 29B9666F1E7A043D0072071D /* MidiDevice.cpp in Sources */, + 29B966701E7A043D0072071D /* MidiDeviceAttributes.cpp in Sources */, + 29B966711E7A043D0072071D /* MidiDeviceInstrumentGroup.cpp in Sources */, + 29B966721E7A043D0072071D /* MidiInstrument.cpp in Sources */, + 29B966731E7A043D0072071D /* MidiInstrumentAttributes.cpp in Sources */, + 29B966741E7A043D0072071D /* MidiName.cpp in Sources */, + 29B966751E7A043D0072071D /* MidiProgram.cpp in Sources */, + 29B966761E7A043D0072071D /* MidiUnpitched.cpp in Sources */, + 29B966771E7A043D0072071D /* Millimeters.cpp in Sources */, + 29B966781E7A043D0072071D /* Miscellaneous.cpp in Sources */, + 29B966791E7A043D0072071D /* MiscellaneousField.cpp in Sources */, + 29B9667A1E7A043D0072071D /* MiscellaneousFieldAttributes.cpp in Sources */, + 29B9667B1E7A043D0072071D /* Mode.cpp in Sources */, + 29B9667C1E7A043D0072071D /* Mordent.cpp in Sources */, + 29B9667D1E7A043D0072071D /* MordentAttributes.cpp in Sources */, + 29B9667E1E7A043D0072071D /* MovementNumber.cpp in Sources */, + 29B9667F1E7A043D0072071D /* MovementTitle.cpp in Sources */, + 29B966801E7A043D0072071D /* MultipleRest.cpp in Sources */, + 29B966811E7A043D0072071D /* MultipleRestAttributes.cpp in Sources */, + 29B966821E7A043D0072071D /* MusicDataChoice.cpp in Sources */, + 29B966831E7A043D0072071D /* MusicDataGroup.cpp in Sources */, + 29B966841E7A043D0072071D /* MusicFont.cpp in Sources */, + 29B966851E7A043D0072071D /* Mute.cpp in Sources */, + 29B966861E7A043D0072071D /* Natural.cpp in Sources */, + 29B966871E7A043D0072071D /* NonArpeggiate.cpp in Sources */, + 29B966881E7A043D0072071D /* NonArpeggiateAttributes.cpp in Sources */, + 29B966891E7A043D0072071D /* NonTraditionalKey.cpp in Sources */, + 29B9668A1E7A043D0072071D /* NormalDot.cpp in Sources */, + 29B9668B1E7A043D0072071D /* NormalNoteGroup.cpp in Sources */, + 29B9668C1E7A043D0072071D /* NormalNotes.cpp in Sources */, + 29B9668D1E7A043D0072071D /* NormalType.cpp in Sources */, + 29B9668E1E7A043D0072071D /* NormalTypeNormalDotGroup.cpp in Sources */, + 29B9668F1E7A043D0072071D /* Notations.cpp in Sources */, + 29B966901E7A043D0072071D /* NotationsAttributes.cpp in Sources */, + 29B966911E7A043D0072071D /* NotationsChoice.cpp in Sources */, + 29B966921E7A043D0072071D /* Note.cpp in Sources */, + 29B966931E7A043D0072071D /* NoteAttributes.cpp in Sources */, + 29B966941E7A043D0072071D /* NoteChoice.cpp in Sources */, + 29B966951E7A043D0072071D /* Notehead.cpp in Sources */, + 29B966961E7A043D0072071D /* NoteheadAttributes.cpp in Sources */, + 29B966971E7A043D0072071D /* NoteheadText.cpp in Sources */, + 29B966981E7A043D0072071D /* NoteheadTextChoice.cpp in Sources */, + 29B966991E7A043D0072071D /* NoteRelationNote.cpp in Sources */, + 29B9669A1E7A043D0072071D /* NoteSize.cpp in Sources */, + 29B9669B1E7A043D0072071D /* NoteSizeAttributes.cpp in Sources */, + 29B9669C1E7A043D0072071D /* Octave.cpp in Sources */, + 29B9669D1E7A043D0072071D /* OctaveChange.cpp in Sources */, + 29B9669E1E7A043D0072071D /* OctaveShift.cpp in Sources */, + 29B9669F1E7A043D0072071D /* OctaveShiftAttributes.cpp in Sources */, + 29B966A01E7A043D0072071D /* Offset.cpp in Sources */, + 29B966A11E7A043D0072071D /* OffsetAttributes.cpp in Sources */, + 29B966A21E7A043D0072071D /* OpenString.cpp in Sources */, + 29B966A31E7A043D0072071D /* Opus.cpp in Sources */, + 29B966A41E7A043D0072071D /* OpusAttributes.cpp in Sources */, + 29B966A51E7A043D0072071D /* Ornaments.cpp in Sources */, + 29B966A61E7A043D0072071D /* OrnamentsChoice.cpp in Sources */, + 29B966A71E7A043D0072071D /* OtherAppearance.cpp in Sources */, + 29B966A81E7A043D0072071D /* OtherAppearanceAttributes.cpp in Sources */, + 29B966A91E7A043D0072071D /* OtherArticulation.cpp in Sources */, + 29B966AA1E7A043D0072071D /* OtherArticulationAttributes.cpp in Sources */, + 29B966AB1E7A043D0072071D /* OtherDirection.cpp in Sources */, + 29B966AC1E7A043D0072071D /* OtherDirectionAttributes.cpp in Sources */, + 29B966AD1E7A043D0072071D /* OtherNotation.cpp in Sources */, + 29B966AE1E7A043D0072071D /* OtherNotationAttributes.cpp in Sources */, + 29B966AF1E7A043D0072071D /* OtherOrnament.cpp in Sources */, + 29B966B01E7A043D0072071D /* OtherOrnamentAttributes.cpp in Sources */, + 29B966B11E7A043D0072071D /* OtherPercussion.cpp in Sources */, + 29B966B21E7A043D0072071D /* OtherPlay.cpp in Sources */, + 29B966B31E7A043D0072071D /* OtherPlayAttributes.cpp in Sources */, + 29B966B41E7A043D0072071D /* OtherTechnical.cpp in Sources */, + 29B966B51E7A043D0072071D /* OtherTechnicalAttributes.cpp in Sources */, + 29B966B61E7A043D0072071D /* PageHeight.cpp in Sources */, + 29B966B71E7A043D0072071D /* PageLayout.cpp in Sources */, + 29B966B81E7A043D0072071D /* PageMargins.cpp in Sources */, + 29B966B91E7A043D0072071D /* PageMarginsAttributes.cpp in Sources */, + 29B966BA1E7A043D0072071D /* PageWidth.cpp in Sources */, + 29B966BB1E7A043D0072071D /* Pan.cpp in Sources */, + 29B966BC1E7A043D0072071D /* PartAbbreviation.cpp in Sources */, + 29B966BD1E7A043D0072071D /* PartAbbreviationAttributes.cpp in Sources */, + 29B966BE1E7A043D0072071D /* PartAbbreviationDisplay.cpp in Sources */, + 29B966BF1E7A043D0072071D /* PartAbbreviationDisplayAttributes.cpp in Sources */, + 29B966C01E7A043D0072071D /* PartAttributes.cpp in Sources */, + 29B966C11E7A043D0072071D /* PartGroup.cpp in Sources */, + 29B966C21E7A043D0072071D /* PartGroupAttributes.cpp in Sources */, + 29B966C31E7A043D0072071D /* PartGroupOrScorePart.cpp in Sources */, + 29B966C41E7A043D0072071D /* PartList.cpp in Sources */, + 29B966C51E7A043D0072071D /* PartName.cpp in Sources */, + 29B966C61E7A043D0072071D /* PartNameAttributes.cpp in Sources */, + 29B966C71E7A043D0072071D /* PartNameDisplay.cpp in Sources */, + 29B966C81E7A043D0072071D /* PartNameDisplayAttributes.cpp in Sources */, + 29B966C91E7A043D0072071D /* PartSymbol.cpp in Sources */, + 29B966CA1E7A043D0072071D /* PartSymbolAttributes.cpp in Sources */, + 29B966CB1E7A043D0072071D /* PartwiseMeasure.cpp in Sources */, + 29B966CC1E7A043D0072071D /* PartwisePart.cpp in Sources */, + 29B966CD1E7A043D0072071D /* Pedal.cpp in Sources */, + 29B966CE1E7A043D0072071D /* PedalAlter.cpp in Sources */, + 29B966CF1E7A043D0072071D /* PedalAttributes.cpp in Sources */, + 29B966D01E7A043D0072071D /* PedalStep.cpp in Sources */, + 29B966D11E7A043E0072071D /* PedalTuning.cpp in Sources */, + 29B966D21E7A043E0072071D /* Percussion.cpp in Sources */, + 29B966D31E7A043E0072071D /* PercussionAttributes.cpp in Sources */, + 29B966D41E7A043E0072071D /* PercussionChoice.cpp in Sources */, + 29B966D51E7A043E0072071D /* PerMinute.cpp in Sources */, + 29B966D61E7A043E0072071D /* PerMinuteAttributes.cpp in Sources */, + 29B966D71E7A043E0072071D /* PerMinuteOrBeatUnitChoice.cpp in Sources */, + 29B966D81E7A043E0072071D /* Pitch.cpp in Sources */, + 29B966D91E7A043E0072071D /* Pitched.cpp in Sources */, + 29B966DA1E7A043E0072071D /* Play.cpp in Sources */, + 29B966DB1E7A043E0072071D /* PlayAttributes.cpp in Sources */, + 29B966DC1E7A043E0072071D /* Plop.cpp in Sources */, + 29B966DD1E7A043E0072071D /* Pluck.cpp in Sources */, + 29B966DE1E7A043E0072071D /* PluckAttributes.cpp in Sources */, + 29B966DF1E7A043E0072071D /* PreBend.cpp in Sources */, + 29B966E01E7A043E0072071D /* Prefix.cpp in Sources */, + 29B966E11E7A043E0072071D /* PrefixAttributes.cpp in Sources */, + 29B966E21E7A043E0072071D /* PrincipalVoice.cpp in Sources */, + 29B966E31E7A043E0072071D /* PrincipalVoiceAttributes.cpp in Sources */, + 29B966E41E7A043E0072071D /* Print.cpp in Sources */, + 29B966E51E7A043E0072071D /* PrintAttributes.cpp in Sources */, + 29B966E61E7A043E0072071D /* Properties.cpp in Sources */, + 29B966E71E7A043E0072071D /* PullOff.cpp in Sources */, + 29B966E81E7A043E0072071D /* PullOffAttributes.cpp in Sources */, + 29B966E91E7A043E0072071D /* Rehearsal.cpp in Sources */, + 29B966EA1E7A043E0072071D /* RehearsalAttributes.cpp in Sources */, + 29B966EB1E7A043E0072071D /* Relation.cpp in Sources */, + 29B966EC1E7A043E0072071D /* RelationAttributes.cpp in Sources */, + 29B966ED1E7A043E0072071D /* Release.cpp in Sources */, + 29B966EE1E7A043E0072071D /* Repeat.cpp in Sources */, + 29B966EF1E7A043E0072071D /* RepeatAttributes.cpp in Sources */, + 29B966F01E7A043E0072071D /* Rest.cpp in Sources */, + 29B966F11E7A043E0072071D /* RestAttributes.cpp in Sources */, + 29B966F21E7A043E0072071D /* RightDivider.cpp in Sources */, + 29B966F31E7A043E0072071D /* RightMargin.cpp in Sources */, + 29B966F41E7A043E0072071D /* Rights.cpp in Sources */, + 29B966F51E7A043E0072071D /* RightsAttributes.cpp in Sources */, + 29B966F61E7A043E0072071D /* Root.cpp in Sources */, + 29B966F71E7A043E0072071D /* RootAlter.cpp in Sources */, + 29B966F81E7A043E0072071D /* RootAlterAttributes.cpp in Sources */, + 29B966F91E7A043E0072071D /* RootStep.cpp in Sources */, + 29B966FA1E7A043E0072071D /* RootStepAttributes.cpp in Sources */, + 29B966FB1E7A043E0072071D /* Scaling.cpp in Sources */, + 29B966FC1E7A043E0072071D /* Schleifer.cpp in Sources */, + 29B966FD1E7A043E0072071D /* Scoop.cpp in Sources */, + 29B966FE1E7A043E0072071D /* Scordatura.cpp in Sources */, + 29B966FF1E7A043E0072071D /* ScoreHeaderGroup.cpp in Sources */, + 29B967001E7A043E0072071D /* ScoreInstrument.cpp in Sources */, + 29B967011E7A043E0072071D /* ScoreInstrumentAttributes.cpp in Sources */, + 29B967021E7A043E0072071D /* ScorePart.cpp in Sources */, + 29B967031E7A043E0072071D /* ScorePartAttributes.cpp in Sources */, + 29B967041E7A043E0072071D /* ScorePartwise.cpp in Sources */, + 29B967051E7A043E0072071D /* ScorePartwiseAttributes.cpp in Sources */, + 29B967061E7A043E0072071D /* ScoreTimewise.cpp in Sources */, + 29B967071E7A043E0072071D /* ScoreTimewiseAttributes.cpp in Sources */, + 29B967081E7A043E0072071D /* Segno.cpp in Sources */, + 29B967091E7A043E0072071D /* SemiPitched.cpp in Sources */, + 29B9670A1E7A043E0072071D /* SenzaMisura.cpp in Sources */, + 29B9670B1E7A043E0072071D /* Shake.cpp in Sources */, + 29B9670C1E7A043E0072071D /* Sign.cpp in Sources */, + 29B9670D1E7A043E0072071D /* Slash.cpp in Sources */, + 29B9670E1E7A043E0072071D /* SlashAttributes.cpp in Sources */, + 29B9670F1E7A043E0072071D /* SlashDot.cpp in Sources */, + 29B967101E7A043E0072071D /* SlashType.cpp in Sources */, + 29B967111E7A043E0072071D /* Slide.cpp in Sources */, + 29B967121E7A043E0072071D /* SlideAttributes.cpp in Sources */, + 29B967131E7A043E0072071D /* Slur.cpp in Sources */, + 29B967141E7A043E0072071D /* SlurAttributes.cpp in Sources */, + 29B967151E7A043E0072071D /* SnapPizzicato.cpp in Sources */, + 29B967161E7A043E0072071D /* Software.cpp in Sources */, + 29B967171E7A043E0072071D /* Solo.cpp in Sources */, + 29B967181E7A043E0072071D /* SoloOrEnsembleChoice.cpp in Sources */, + 29B967191E7A043E0072071D /* Sound.cpp in Sources */, + 29B9671A1E7A043E0072071D /* SoundAttributes.cpp in Sources */, + 29B9671B1E7A043E0072071D /* SoundingPitch.cpp in Sources */, + 29B9671C1E7A043E0072071D /* Source.cpp in Sources */, + 29B9671D1E7A043E0072071D /* Spiccato.cpp in Sources */, + 29B9671E1E7A043E0072071D /* Staccatissimo.cpp in Sources */, + 29B9671F1E7A043E0072071D /* Staccato.cpp in Sources */, + 29B967201E7A043E0072071D /* Staff.cpp in Sources */, + 29B967211E7A043E0072071D /* StaffDetails.cpp in Sources */, + 29B967221E7A043E0072071D /* StaffDetailsAttributes.cpp in Sources */, + 29B967231E7A043E0072071D /* StaffDistance.cpp in Sources */, + 29B967241E7A043E0072071D /* StaffLayout.cpp in Sources */, + 29B967251E7A043E0072071D /* StaffLayoutAttributes.cpp in Sources */, + 29B967261E7A043E0072071D /* StaffLines.cpp in Sources */, + 29B967271E7A043E0072071D /* StaffSize.cpp in Sources */, + 29B967281E7A043E0072071D /* StaffTuning.cpp in Sources */, + 29B967291E7A043E0072071D /* StaffTuningAttributes.cpp in Sources */, + 29B9672A1E7A043E0072071D /* StaffType.cpp in Sources */, + 29B9672B1E7A043E0072071D /* Staves.cpp in Sources */, + 29B9672C1E7A043E0072071D /* Stem.cpp in Sources */, + 29B9672D1E7A043E0072071D /* StemAttributes.cpp in Sources */, + 29B9672E1E7A043E0072071D /* Step.cpp in Sources */, + 29B9672F1E7A043E0072071D /* Stick.cpp in Sources */, + 29B967301E7A043E0072071D /* StickAttributes.cpp in Sources */, + 29B967311E7A043E0072071D /* StickLocation.cpp in Sources */, + 29B967321E7A043E0072071D /* StickMaterial.cpp in Sources */, + 29B967331E7A043E0072071D /* StickType.cpp in Sources */, + 29B967341E7A043E0072071D /* Stopped.cpp in Sources */, + 29B967351E7A043E0072071D /* Stress.cpp in Sources */, + 29B967361E7A043E0072071D /* String.cpp in Sources */, + 29B967371E7A043E0072071D /* StringAttributes.cpp in Sources */, + 29B967381E7A043E0072071D /* StringMute.cpp in Sources */, + 29B967391E7A043E0072071D /* StringMuteAttributes.cpp in Sources */, + 29B9673A1E7A043E0072071D /* StrongAccent.cpp in Sources */, + 29B9673B1E7A043E0072071D /* StrongAccentAttributes.cpp in Sources */, + 29B9673C1E7A043E0072071D /* Suffix.cpp in Sources */, + 29B9673D1E7A043E0072071D /* SuffixAttributes.cpp in Sources */, + 29B9673E1E7A043E0072071D /* Supports.cpp in Sources */, + 29B9673F1E7A043E0072071D /* SupportsAttributes.cpp in Sources */, + 29B967401E7A043E0072071D /* Syllabic.cpp in Sources */, + 29B967411E7A043E0072071D /* SyllabicTextGroup.cpp in Sources */, + 29B967421E7A043E0072071D /* SystemDistance.cpp in Sources */, + 29B967431E7A043E0072071D /* SystemDividers.cpp in Sources */, + 29B967441E7A043E0072071D /* SystemLayout.cpp in Sources */, + 29B967451E7A043E0072071D /* SystemMargins.cpp in Sources */, + 29B967461E7A043E0072071D /* Tap.cpp in Sources */, + 29B967471E7A043E0072071D /* TapAttributes.cpp in Sources */, + 29B967481E7A043E0072071D /* Technical.cpp in Sources */, + 29B967491E7A043E0072071D /* TechnicalChoice.cpp in Sources */, + 29B9674A1E7A043E0072071D /* Tenths.cpp in Sources */, + 29B9674B1E7A043E0072071D /* Tenuto.cpp in Sources */, + 29B9674C1E7A043E0072071D /* Text.cpp in Sources */, + 29B9674D1E7A043E0072071D /* TextAttributes.cpp in Sources */, + 29B9674E1E7A043E0072071D /* ThumbPosition.cpp in Sources */, + 29B9674F1E7A043E0072071D /* Tie.cpp in Sources */, + 29B967501E7A043E0072071D /* TieAttributes.cpp in Sources */, + 29B967511E7A043E0072071D /* Tied.cpp in Sources */, + 29B967521E7A043E0072071D /* TiedAttributes.cpp in Sources */, + 29B967531E7A043E0072071D /* Time.cpp in Sources */, + 29B967541E7A043E0072071D /* TimeAttributes.cpp in Sources */, + 29B967551E7A043E0072071D /* TimeChoice.cpp in Sources */, + 29B967561E7A043E0072071D /* TimeModification.cpp in Sources */, + 29B967571E7A043E0072071D /* TimeModificationNormalTypeNormalDot.cpp in Sources */, + 29B967581E7A043E0072071D /* TimeRelation.cpp in Sources */, + 29B967591E7A043E0072071D /* TimeSignatureGroup.cpp in Sources */, + 29B9675A1E7A043E0072071D /* TimewiseMeasure.cpp in Sources */, + 29B9675B1E7A043E0072071D /* TimewisePart.cpp in Sources */, + 29B9675C1E7A043E0072071D /* Timpani.cpp in Sources */, + 29B9675D1E7A043E0072071D /* Toe.cpp in Sources */, + 29B9675E1E7A043E0072071D /* ToeAttributes.cpp in Sources */, + 29B9675F1E7A043E0072071D /* TopMargin.cpp in Sources */, + 29B967601E7A043E0072071D /* TopSystemDistance.cpp in Sources */, + 29B967611E7A043E0072071D /* TouchingPitch.cpp in Sources */, + 29B967621E7A043E0072071D /* TraditionalKey.cpp in Sources */, + 29B967631E7A043E0072071D /* Transpose.cpp in Sources */, + 29B967641E7A043E0072071D /* TransposeAttributes.cpp in Sources */, + 29B967651E7A043E0072071D /* Tremolo.cpp in Sources */, + 29B967661E7A043E0072071D /* TremoloAttributes.cpp in Sources */, + 29B967671E7A043E0072071D /* TrillMark.cpp in Sources */, + 29B967681E7A043E0072071D /* TripleTongue.cpp in Sources */, + 29B967691E7A043E0072071D /* TuningAlter.cpp in Sources */, + 29B9676A1E7A043E0072071D /* TuningOctave.cpp in Sources */, + 29B9676B1E7A043E0072071D /* TuningStep.cpp in Sources */, + 29B9676C1E7A043E0072071D /* Tuplet.cpp in Sources */, + 29B9676D1E7A043E0072071D /* TupletActual.cpp in Sources */, + 29B9676E1E7A043E0072071D /* TupletAttributes.cpp in Sources */, + 29B9676F1E7A043E0072071D /* TupletDot.cpp in Sources */, + 29B967701E7A043E0072071D /* TupletDotAttributes.cpp in Sources */, + 29B967711E7A043E0072071D /* TupletNormal.cpp in Sources */, + 29B967721E7A043E0072071D /* TupletNumber.cpp in Sources */, + 29B967731E7A043E0072071D /* TupletNumberAttributes.cpp in Sources */, + 29B967741E7A043E0072071D /* TupletType.cpp in Sources */, + 29B967751E7A043E0072071D /* TupletTypeAttributes.cpp in Sources */, + 29B967761E7A043E0072071D /* Turn.cpp in Sources */, + 29B967771E7A043E0072071D /* TurnAttributes.cpp in Sources */, + 29B967781E7A043E0072071D /* Type.cpp in Sources */, + 29B967791E7A043E0072071D /* TypeAttributes.cpp in Sources */, + 29B9677A1E7A043E0072071D /* Unpitched.cpp in Sources */, + 29B9677B1E7A043E0072071D /* Unstress.cpp in Sources */, + 29B9677C1E7A043E0072071D /* UpBow.cpp in Sources */, + 29B9677D1E7A043E0072071D /* VerticalTurn.cpp in Sources */, + 29B9677E1E7A043E0072071D /* VirtualInstrument.cpp in Sources */, + 29B9677F1E7A043E0072071D /* VirtualLibrary.cpp in Sources */, + 29B967801E7A043E0072071D /* VirtualName.cpp in Sources */, + 29B967811E7A043E0072071D /* Voice.cpp in Sources */, + 29B967821E7A043E0072071D /* Volume.cpp in Sources */, + 29B967831E7A043E0072071D /* WavyLine.cpp in Sources */, + 29B967841E7A043E0072071D /* WavyLineAttributes.cpp in Sources */, + 29B967851E7A043E0072071D /* Wedge.cpp in Sources */, + 29B967861E7A043E0072071D /* WedgeAttributes.cpp in Sources */, + 29B967871E7A043E0072071D /* WithBar.cpp in Sources */, + 29B967881E7A043E0072071D /* WithBarAttributes.cpp in Sources */, + 29B967891E7A043E0072071D /* Wood.cpp in Sources */, + 29B9678A1E7A043E0072071D /* WordFont.cpp in Sources */, + 29B9678B1E7A043E0072071D /* Words.cpp in Sources */, + 29B9678C1E7A043E0072071D /* WordsAttributes.cpp in Sources */, + 29B9678D1E7A043E0072071D /* Work.cpp in Sources */, + 29B9678E1E7A043E0072071D /* WorkNumber.cpp in Sources */, + 29B9678F1E7A043E0072071D /* WorkTitle.cpp in Sources */, + 29B967901E7A043E0072071D /* EmptyPrintObjectStyleAlignAttributes.cpp in Sources */, + 29B967911E7A043E0072071D /* Enums.cpp in Sources */, + 29B967921E7A043E0072071D /* FontSize.cpp in Sources */, + 29B967931E7A043E0072071D /* FromXElement.cpp in Sources */, + 29B967941E7A043E0072071D /* Integers.cpp in Sources */, + 29B967951E7A043E0072071D /* NumberOrNormal.cpp in Sources */, + 29B967961E7A043E0072071D /* PositiveIntegerOrEmpty.cpp in Sources */, + 29B967971E7A043E0072071D /* ScoreConversions.cpp in Sources */, + 29B967981E7A043E0072071D /* Strings.cpp in Sources */, + 29B967991E7A043E0072071D /* YesNoNumber.cpp in Sources */, + 29B9679A1E7A043E0072071D /* DynamicsWriter.cpp in Sources */, + 29B9679B1E7A043E0072071D /* AccidentalMarkFunctions.cpp in Sources */, + 29B9679C1E7A043E0072071D /* ArticulationsFunctions.cpp in Sources */, + 29B9679D1E7A043E0072071D /* Converter.cpp in Sources */, + 29B9679E1E7A043E0072071D /* Cursor.cpp in Sources */, + 29B9679F1E7A043E0072071D /* DirectionReader.cpp in Sources */, + 29B967A01E7A043E0072071D /* DirectionWriter.cpp in Sources */, + 29B967A11E7A043E0072071D /* DynamicsReader.cpp in Sources */, + 29B967A21E7A043E0072071D /* EncodingFunctions.cpp in Sources */, + 29B967A31E7A043E0072071D /* LayoutFunctions.cpp in Sources */, + 29B967A41E7A043E0072071D /* LcmGcd.cpp in Sources */, + 29B967A51E7A043E0072071D /* MeasureReader.cpp in Sources */, + 29B967A61E7A043E0072071D /* MeasureWriter.cpp in Sources */, + 29B967A71E7A043E0072071D /* MetronomeReader.cpp in Sources */, + 29B967A81E7A043E0072071D /* NotationsWriter.cpp in Sources */, + 29B967A91E7A043E0072071D /* NoteFunctions.cpp in Sources */, + 29B967AA1E7A043E0072071D /* NoteReader.cpp in Sources */, + 29B967AB1E7A043E0072071D /* NoteWriter.cpp in Sources */, + 29B967AC1E7A043E0072071D /* OrnamentsFunctions.cpp in Sources */, + 29B967AD1E7A043E0072071D /* PageTextFunctions.cpp in Sources */, + 29B967AE1E7A043E0072071D /* PartReader.cpp in Sources */, + 29B967AF1E7A043E0072071D /* PartWriter.cpp in Sources */, + 29B967B01E7A043E0072071D /* PropertiesWriter.cpp in Sources */, + 29B967B11E7A043E0072071D /* ScoreReader.cpp in Sources */, + 29B967B21E7A043E0072071D /* ScoreWriter.cpp in Sources */, + 29B967B31E7A043E0072071D /* StaffFunctions.cpp in Sources */, + 29B967B41E7A043E0072071D /* TechnicalFunctions.cpp in Sources */, + 29B967B51E7A043E0072071D /* TimeReader.cpp in Sources */, + 29B967B61E7A043E0072071D /* TupletReader.cpp in Sources */, + 29B967B71E7A043E0072071D /* pugixml.cpp in Sources */, + 29B967B81E7A043E0072071D /* Utility.cpp in Sources */, + 29B967B91E7A043E0072071D /* UtilityImpl.cpp in Sources */, + 29B967BA1E7A043E0072071D /* PugiAttribute.cpp in Sources */, + 29B967BB1E7A043E0072071D /* PugiAttributeIterImpl.cpp in Sources */, + 29B967BC1E7A043E0072071D /* PugiDoc.cpp in Sources */, + 29B967BD1E7A043E0072071D /* PugiElement.cpp in Sources */, + 29B967BE1E7A043E0072071D /* PugiElementIterImpl.cpp in Sources */, + 29B967BF1E7A043E0072071D /* XAttributeIterator.cpp in Sources */, + 29B967C01E7A043E0072071D /* XElementIterator.cpp in Sources */, + 29B967C11E7A043E0072071D /* XFactory.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 29E8BF951DD2920C00E8CEBA /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -9903,161 +9772,6 @@ /* End PBXSourcesBuildPhase section */ /* Begin XCBuildConfiguration section */ - 2933A7C81DA58F1D005D7222 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_SUSPICIOUS_MOVES = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CODE_SIGN_IDENTITY = "Mac Developer"; - COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - DEFINES_MODULE = NO; - DEVELOPMENT_TEAM = RRS55ZY6E5; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_VERSION = A; - INFOPLIST_FILE = "$(SRCROOT)/mx-macOS.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.11; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = NO; - PRODUCT_BUNDLE_IDENTIFIER = "mx-macOS"; - PRODUCT_NAME = "$(TARGET_NAME)"; - PUBLIC_HEADERS_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)/Headers/mx/api/"; - SKIP_INSTALL = NO; - STRIP_INSTALLED_PRODUCT = NO; - SUPPORTED_PLATFORMS = macosx; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 2933A7C91DA58F1D005D7222 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_SUSPICIOUS_MOVES = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CODE_SIGN_IDENTITY = "-"; - COMBINE_HIDPI_IMAGES = YES; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = NO; - DEVELOPMENT_TEAM = RRS55ZY6E5; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_VERSION = A; - INFOPLIST_FILE = "$(SRCROOT)/mx-macOS.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.11; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_BUNDLE_IDENTIFIER = "mx-macOS"; - PRODUCT_NAME = "$(TARGET_NAME)"; - PUBLIC_HEADERS_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)/Headers/mx/api/"; - SKIP_INSTALL = NO; - STRIP_INSTALLED_PRODUCT = NO; - SUPPORTED_PLATFORMS = macosx; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 2933AD441DA5AA73005D7222 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = ( - arm7, - arm64, - arm7s, - "$(ARCHS_STANDARD_32_64_BIT)", - ); - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_SUSPICIOUS_MOVES = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CODE_SIGN_IDENTITY = "Mac Developer"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - DEFINES_MODULE = NO; - DEVELOPMENT_TEAM = RRS55ZY6E5; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_VERSION = A; - INFOPLIST_FILE = "$(SRCROOT)/mx-iOS.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = NO; - PRODUCT_BUNDLE_IDENTIFIER = "mx-iOS"; - PRODUCT_NAME = "$(TARGET_NAME)"; - PUBLIC_HEADERS_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)/Headers/mx/api/"; - SDKROOT = iphoneos; - SKIP_INSTALL = NO; - STRIP_INSTALLED_PRODUCT = NO; - SUPPORTED_PLATFORMS = "iphonesimulator iphoneos"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 2933AD451DA5AA73005D7222 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = ( - arm7, - arm64, - arm7s, - "$(ARCHS_STANDARD_32_64_BIT)", - ); - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_SUSPICIOUS_MOVES = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CODE_SIGN_IDENTITY = "Mac Developer"; - COMBINE_HIDPI_IMAGES = YES; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = NO; - DEVELOPMENT_TEAM = RRS55ZY6E5; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_VERSION = A; - INFOPLIST_FILE = "$(SRCROOT)/mx-iOS.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_BUNDLE_IDENTIFIER = "mx-iOS"; - PRODUCT_NAME = "$(TARGET_NAME)"; - PUBLIC_HEADERS_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)/Headers/mx/api/"; - SDKROOT = iphoneos; - SKIP_INSTALL = NO; - STRIP_INSTALLED_PRODUCT = NO; - SUPPORTED_PLATFORMS = "iphonesimulator iphoneos"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; 293FFEDA1DD25C74001477E8 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -10273,6 +9987,137 @@ }; name = Release; }; + 29B962871E79FF410072071D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = RRS55ZY6E5; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = MxiOS/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 10.2; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = NO; + PRODUCT_BUNDLE_IDENTIFIER = mjb.MxiOS; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos10.2; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VALID_ARCHS = "arm64 armv7 armv7s x86_64 i386"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 29B962881E79FF410072071D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = RRS55ZY6E5; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = MxiOS/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 10.2; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = NO; + ONLY_ACTIVE_ARCH = NO; + PRODUCT_BUNDLE_IDENTIFIER = mjb.MxiOS; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos10.2; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VALID_ARCHS = "arm64 armv7 armv7s x86_64 i386"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 29B9652E1E7A04140072071D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CODE_SIGN_IDENTITY = "-"; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = RRS55ZY6E5; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_VERSION = A; + INFOPLIST_FILE = MxmacOS/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.11; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = NO; + PRODUCT_BUNDLE_IDENTIFIER = mjb.MxmacOS; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + SKIP_INSTALL = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 29B9652F1E7A04140072071D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CODE_SIGN_IDENTITY = "-"; + COMBINE_HIDPI_IMAGES = YES; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = RRS55ZY6E5; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_VERSION = A; + INFOPLIST_FILE = MxmacOS/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.11; + MTL_ENABLE_DEBUG_INFO = NO; + ONLY_ACTIVE_ARCH = NO; + PRODUCT_BUNDLE_IDENTIFIER = mjb.MxmacOS; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + SKIP_INSTALL = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; 29E8C22A1DD2920C00E8CEBA /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -10332,50 +10177,49 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 2933A7CA1DA58F1D005D7222 /* Build configuration list for PBXNativeTarget "mx-macOS" */ = { + 293FFEDC1DD25C74001477E8 /* Build configuration list for PBXNativeTarget "dylib-macOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - 2933A7C81DA58F1D005D7222 /* Debug */, - 2933A7C91DA58F1D005D7222 /* Release */, + 293FFEDA1DD25C74001477E8 /* Debug */, + 293FFEDB1DD25C74001477E8 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 2933AD431DA5AA73005D7222 /* Build configuration list for PBXNativeTarget "mx-iOS" */ = { + 299F7FE11CA8D2200084CAE5 /* Build configuration list for PBXProject "Mx" */ = { isa = XCConfigurationList; buildConfigurations = ( - 2933AD441DA5AA73005D7222 /* Debug */, - 2933AD451DA5AA73005D7222 /* Release */, + 299F7FE81CA8D2200084CAE5 /* Debug */, + 299F7FE91CA8D2200084CAE5 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 293FFEDC1DD25C74001477E8 /* Build configuration list for PBXNativeTarget "dylib-macOS" */ = { + 299F7FEA1CA8D2200084CAE5 /* Build configuration list for PBXNativeTarget "Mx" */ = { isa = XCConfigurationList; buildConfigurations = ( - 293FFEDA1DD25C74001477E8 /* Debug */, - 293FFEDB1DD25C74001477E8 /* Release */, + 299F7FEB1CA8D2200084CAE5 /* Debug */, + 299F7FEC1CA8D2200084CAE5 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 299F7FE11CA8D2200084CAE5 /* Build configuration list for PBXProject "Mx" */ = { + 29B962861E79FF410072071D /* Build configuration list for PBXNativeTarget "MxiOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - 299F7FE81CA8D2200084CAE5 /* Debug */, - 299F7FE91CA8D2200084CAE5 /* Release */, + 29B962871E79FF410072071D /* Debug */, + 29B962881E79FF410072071D /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 299F7FEA1CA8D2200084CAE5 /* Build configuration list for PBXNativeTarget "Mx" */ = { + 29B965301E7A04140072071D /* Build configuration list for PBXNativeTarget "MxmacOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - 299F7FEB1CA8D2200084CAE5 /* Debug */, - 299F7FEC1CA8D2200084CAE5 /* Release */, + 29B9652E1E7A04140072071D /* Debug */, + 29B9652F1E7A04140072071D /* Release */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; }; 29E8C2291DD2920C00E8CEBA /* Build configuration list for PBXNativeTarget "dylib-iOS" */ = { isa = XCConfigurationList; diff --git a/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/mx-iOS.xcscheme b/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/mx-iOS.xcscheme deleted file mode 100644 index 216ef1511..000000000 --- a/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/mx-iOS.xcscheme +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/mx-macOS.xcscheme b/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/mx-macOS.xcscheme deleted file mode 100644 index 74e6641d5..000000000 --- a/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/mx-macOS.xcscheme +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Xcode/MxTest.xcodeproj/project.pbxproj b/Xcode/MxTest.xcodeproj/project.pbxproj index b051f50ee..8d117458f 100755 --- a/Xcode/MxTest.xcodeproj/project.pbxproj +++ b/Xcode/MxTest.xcodeproj/project.pbxproj @@ -42,6 +42,7 @@ 29B48EDC1DBE7F550030A974 /* NoteWriterTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29B48ED81DBE7F550030A974 /* NoteWriterTest.cpp */; }; 29B48EDD1DBE7F550030A974 /* PartWriterTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29B48ED91DBE7F550030A974 /* PartWriterTest.cpp */; }; 29B48EDE1DBE7F550030A974 /* ScoreWriterTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29B48EDA1DBE7F550030A974 /* ScoreWriterTest.cpp */; }; + 29B962781E79FEE40072071D /* Mx_iOS.h in Headers */ = {isa = PBXBuildFile; fileRef = 29B962761E79FEE40072071D /* Mx_iOS.h */; settings = {ATTRIBUTES = (Public, ); }; }; 29BF988B1DC6D20500BBC7B3 /* ApiK007aTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29BF988A1DC6D20500BBC7B3 /* ApiK007aTest.cpp */; }; 29C01D6C1D1312FA0094BE61 /* AccentTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B641D1312F90094BE61 /* AccentTest.cpp */; }; 29C01D6D1D1312FA0094BE61 /* AccidentalMarkTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B651D1312F90094BE61 /* AccidentalMarkTest.cpp */; }; @@ -538,6 +539,9 @@ 29B48ED91DBE7F550030A974 /* PartWriterTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PartWriterTest.cpp; path = ../Sourcecode/mxtest/impl/PartWriterTest.cpp; sourceTree = ""; }; 29B48EDA1DBE7F550030A974 /* ScoreWriterTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScoreWriterTest.cpp; path = ../Sourcecode/mxtest/impl/ScoreWriterTest.cpp; sourceTree = ""; }; 29B48EDF1DBE8C450030A974 /* ApiLy43eScoreData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ApiLy43eScoreData.h; path = ../Sourcecode/mxtest/api/ApiLy43eScoreData.h; sourceTree = ""; }; + 29B962741E79FEE40072071D /* Mx_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Mx_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 29B962761E79FEE40072071D /* Mx_iOS.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Mx_iOS.h; sourceTree = ""; }; + 29B962771E79FEE40072071D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 29BF98891DC6D20500BBC7B3 /* ApiK007aScoreData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ApiK007aScoreData.h; path = ../Sourcecode/mxtest/api/ApiK007aScoreData.h; sourceTree = ""; }; 29BF988A1DC6D20500BBC7B3 /* ApiK007aTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ApiK007aTest.cpp; path = ../Sourcecode/mxtest/api/ApiK007aTest.cpp; sourceTree = ""; }; 29C01B641D1312F90094BE61 /* AccentTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AccentTest.cpp; path = ../Sourcecode/mxtest/core/AccentTest.cpp; sourceTree = ""; }; @@ -1101,6 +1105,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 29B962701E79FEE40072071D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -1738,6 +1749,7 @@ 2958970F1DB953BC00F18FBA /* file */, 29B48ED61DBE7F470030A974 /* impl */, 297DD7C61D1A4BAE003BADC1 /* import */, + 29B962751E79FEE40072071D /* Mx_iOS */, 299F7FF71CA8D2620084CAE5 /* Products */, 297555D61D134FE3007732D0 /* utility */, 297555DC1D13519E007732D0 /* xml */, @@ -1748,6 +1760,7 @@ isa = PBXGroup; children = ( 299F7FF61CA8D2620084CAE5 /* MxTest */, + 29B962741E79FEE40072071D /* Mx_iOS.framework */, ); name = Products; sourceTree = ""; @@ -1769,6 +1782,15 @@ name = impl; sourceTree = ""; }; + 29B962751E79FEE40072071D /* Mx_iOS */ = { + isa = PBXGroup; + children = ( + 29B962761E79FEE40072071D /* Mx_iOS.h */, + 29B962771E79FEE40072071D /* Info.plist */, + ); + path = Mx_iOS; + sourceTree = ""; + }; 29EF440E1D6E8F4700DBDAB9 /* api */ = { isa = PBXGroup; children = ( @@ -1806,6 +1828,17 @@ }; /* End PBXGroup section */ +/* Begin PBXHeadersBuildPhase section */ + 29B962711E79FEE40072071D /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 29B962781E79FEE40072071D /* Mx_iOS.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + /* Begin PBXNativeTarget section */ 299F7FF51CA8D2620084CAE5 /* MxTest */ = { isa = PBXNativeTarget; @@ -1824,6 +1857,24 @@ productReference = 299F7FF61CA8D2620084CAE5 /* MxTest */; productType = "com.apple.product-type.tool"; }; + 29B962731E79FEE40072071D /* Mx_iOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 29B9627B1E79FEE40072071D /* Build configuration list for PBXNativeTarget "Mx_iOS" */; + buildPhases = ( + 29B9626F1E79FEE40072071D /* Sources */, + 29B962701E79FEE40072071D /* Frameworks */, + 29B962711E79FEE40072071D /* Headers */, + 29B962721E79FEE40072071D /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Mx_iOS; + productName = Mx_iOS; + productReference = 29B962741E79FEE40072071D /* Mx_iOS.framework */; + productType = "com.apple.product-type.framework"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -1832,6 +1883,13 @@ attributes = { LastUpgradeCheck = 0800; ORGANIZATIONNAME = "Matthew James Briggs"; + TargetAttributes = { + 29B962731E79FEE40072071D = { + CreatedOnToolsVersion = 8.2.1; + DevelopmentTeam = RRS55ZY6E5; + ProvisioningStyle = Automatic; + }; + }; }; buildConfigurationList = 299F7FF11CA8D2620084CAE5 /* Build configuration list for PBXProject "MxTest" */; compatibilityVersion = "Xcode 3.2"; @@ -1846,10 +1904,21 @@ projectRoot = ""; targets = ( 299F7FF51CA8D2620084CAE5 /* MxTest */, + 29B962731E79FEE40072071D /* Mx_iOS */, ); }; /* End PBXProject section */ +/* Begin PBXResourcesBuildPhase section */ + 29B962721E79FEE40072071D /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + /* Begin PBXSourcesBuildPhase section */ 299F7FF21CA8D2620084CAE5 /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -2319,6 +2388,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 29B9626F1E79FEE40072071D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ /* Begin XCBuildConfiguration section */ @@ -2422,6 +2498,67 @@ }; name = Release; }; + 29B962791E79FEE40072071D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = RRS55ZY6E5; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = Mx_iOS/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 10.2; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_BUNDLE_IDENTIFIER = "mjb.Mx-iOS"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 29B9627A1E79FEE40072071D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = RRS55ZY6E5; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = Mx_iOS/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 10.2; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_BUNDLE_IDENTIFIER = "mjb.Mx-iOS"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -2443,6 +2580,14 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + 29B9627B1E79FEE40072071D /* Build configuration list for PBXNativeTarget "Mx_iOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 29B962791E79FEE40072071D /* Debug */, + 29B9627A1E79FEE40072071D /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; /* End XCConfigurationList section */ }; rootObject = 299F7FEE1CA8D2620084CAE5 /* Project object */; diff --git a/Xcode/mx-macOS.plist b/Xcode/Mx_iOS/Info.plist similarity index 86% rename from Xcode/mx-macOS.plist rename to Xcode/Mx_iOS/Info.plist index 512991ebb..fbe1e6b31 100644 --- a/Xcode/mx-macOS.plist +++ b/Xcode/Mx_iOS/Info.plist @@ -18,8 +18,6 @@ 1.0 CFBundleVersion $(CURRENT_PROJECT_VERSION) - NSHumanReadableCopyright - Copyright © 2016 Matthew James Briggs. All rights reserved. NSPrincipalClass diff --git a/Xcode/Mx_iOS/Mx_iOS.h b/Xcode/Mx_iOS/Mx_iOS.h new file mode 100644 index 000000000..eb8a517d9 --- /dev/null +++ b/Xcode/Mx_iOS/Mx_iOS.h @@ -0,0 +1,19 @@ +// +// Mx_iOS.h +// Mx_iOS +// +// Created by mjb on 3/15/17. +// Copyright © 2017 Matthew James Briggs. All rights reserved. +// + +#import + +//! Project version number for Mx_iOS. +FOUNDATION_EXPORT double Mx_iOSVersionNumber; + +//! Project version string for Mx_iOS. +FOUNDATION_EXPORT const unsigned char Mx_iOSVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import + + diff --git a/Xcode/MxiOS/Info.plist b/Xcode/MxiOS/Info.plist new file mode 100644 index 000000000..fbe1e6b31 --- /dev/null +++ b/Xcode/MxiOS/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + NSPrincipalClass + + + diff --git a/Xcode/MxiOS/MxiOS.h b/Xcode/MxiOS/MxiOS.h new file mode 100644 index 000000000..633907840 --- /dev/null +++ b/Xcode/MxiOS/MxiOS.h @@ -0,0 +1,19 @@ +// +// MxiOS.h +// MxiOS +// +// Created by mjb on 3/15/17. +// Copyright © 2017 Matthew James Briggs. All rights reserved. +// + +#import + +//! Project version number for MxiOS. +FOUNDATION_EXPORT double MxiOSVersionNumber; + +//! Project version string for MxiOS. +FOUNDATION_EXPORT const unsigned char MxiOSVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import + + diff --git a/Xcode/mx-iOS.plist b/Xcode/MxmacOS/Info.plist similarity index 92% rename from Xcode/mx-iOS.plist rename to Xcode/MxmacOS/Info.plist index 512991ebb..c1193490f 100644 --- a/Xcode/mx-iOS.plist +++ b/Xcode/MxmacOS/Info.plist @@ -19,7 +19,7 @@ CFBundleVersion $(CURRENT_PROJECT_VERSION) NSHumanReadableCopyright - Copyright © 2016 Matthew James Briggs. All rights reserved. + Copyright © 2017 Matthew James Briggs. All rights reserved. NSPrincipalClass diff --git a/Xcode/MxmacOS/MxmacOS.h b/Xcode/MxmacOS/MxmacOS.h new file mode 100644 index 000000000..39129d993 --- /dev/null +++ b/Xcode/MxmacOS/MxmacOS.h @@ -0,0 +1,19 @@ +// +// MxmacOS.h +// MxmacOS +// +// Created by mjb on 3/15/17. +// Copyright © 2017 Matthew James Briggs. All rights reserved. +// + +#import + +//! Project version number for MxmacOS. +FOUNDATION_EXPORT double MxmacOSVersionNumber; + +//! Project version string for MxmacOS. +FOUNDATION_EXPORT const unsigned char MxmacOSVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import + + From 77c2b8d3d74cb3f6aa6a11dedbca034e70ea7341 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Fri, 17 Mar 2017 10:02:26 -0700 Subject: [PATCH 002/108] mxapi bombe test --- Resources/ksuite/Bombe.musx | Bin 0 -> 92810 bytes Resources/ksuite/Bombe.xml | 2320 ++++++++++++++++++++++++++++ Resources/ksuite/Bombe_Finale.pdf | Bin 0 -> 46227 bytes Xcode/Mx.xcodeproj/project.pbxproj | 17 +- 4 files changed, 2329 insertions(+), 8 deletions(-) create mode 100644 Resources/ksuite/Bombe.musx create mode 100644 Resources/ksuite/Bombe.xml create mode 100644 Resources/ksuite/Bombe_Finale.pdf diff --git a/Resources/ksuite/Bombe.musx b/Resources/ksuite/Bombe.musx new file mode 100644 index 0000000000000000000000000000000000000000..9d2d3948fe16a148f663e5b8303ac5b1190375f1 GIT binary patch literal 92810 zcmYJZ1B@^{7c9KCZQHhO+qP}nwr%rS+qP}nyZ8P6`zN=_ByE#(lIgUQlk_M^1A{;T z{BJmvI7m4!j#?1?H~$|X{)4Tht*MKrgQ=l|gN>!Jp^K%x9le{K37xH>wW+PEv!yYe zoxRKdx2^DB9uxqe|DyhvN46w@tKz@-@Be`IA7n*U1ZgGZ#ORIf?OY5k?M$8MJZx=b z<7A-*84yC>g4`jR?HAEN5=U=&0`Uk)D#4z_nQUKPN1@uL-ZJca*Iww&CrXsr2AnM{ zU`4z!Qy$#m+OJBvg#35!xG;I3j$F0kw}2CbzNQZXG2~-ro@8=8tk}(nD`DbVU6-2p zp-+$rb)f*kja~H)%Ls-nY*9h^I7~2;%A^Po%2N?hdy7vAj9SE?XrR}RSH#YM>0Z(c zVH@(JZB2K$N=xAXA2-MUxJ8MBaSZ?h0F;0L0HFNGP453c0a;TQLlZ+6!~Ze6Q4zG; zVnFD|KF5c^jcRk49v56JD#aWYge?gOCX({fkG9UN6@faQjPu`1t)ZZrcb4b1G;{C3 ziG!%RI;%qQhFS1xmss5JB$_|j)ljENDj!?fC_mQf%dCKcghA-GI!kY6LG0ch5p5!_ z;+OX1z%fJp9;}LF%RlK&dU|r9yW<6XD01Z|IfxXhsHJ_Fwe=m#NG?TsSyabXc@+7C zldtj}E?5(2847*}LltX;X`?7g67EXJj`3`8?JE7fi~{gxAu2YGJlw%zP`Wod!R^VH z;fqLhRXEh%htw|$XyU2Po{vKwJ(CTM6R}Be+Z8CJLwWG~CQS3!4tdq`m{}Zjhy-meI2UFDrvh}Ta{ybHi2#hWN=GciST(yJX z=l$w6@y5k!uQ?K$%!P~L0(-;UOD3}tv*n?8DcN9YWAXB1RDT2kCw`=t({hK`XelkP zQGTw8*Z$3XOIZ5*{!{!d?oY+x1>e5Nha&3({C|@F?>eii&o!k20{}pS{$I%*oJ^ff zU7YC|85kHC>HhD^HbpwQNCG9)dkK1DhTma(day!jcQC{>oJT|jVL`++y!)6kUSwFG zUqx1S%tfW1={EK*Z#o)(kz@gXWc?9Xv_AA_Ke}!GBexcn`bk8$zJ>H|(59?pm-(ybil_*`7VX)<)d$T7hXHswu zrAPf|*&6y!=TI%F&aK*0r@)!^p$8X`II>J0VYjow{;UW$gCvF)+|^|ovZkv{&SK*_ z=cPzGu|FbDCl2=cAsb7fGX)hAlx?@k`)tCPi`G+wI<4g8zr&Ih>58nzx0vs8%km_Q z!vQ5eJz_n}8r2yi;2h!P4`HecZzA(NZDzI9E=%W`eDN0&09#mGYh-c-iS<=8_vpwv z+xV_?t>PsmhD)2?4ni9SLmyyG8^RBs5U3`hi)jJ3z;M^5YR8tAVV2dLpZD=zU=KKm{URYt_qRk|PTd2gc5>gaK%8kyhRZkw} zH$|8YXAZ;D*qwxQM-N{dVO(s7*0qDVZ>g=%LW(D^=&`m`)rq!X?Pl2f)+zS>OA#y8 zMK14&r(oO^SZu23I-Z*Ok(C=}wg5lbg)q~*XXGO{+~%?bPC(g89uOmWO&neAUp?4h z@LmPf;K%D$_uZR|FR29<{_aLwy4OD*uFrqp$I>@0C+?-B*gv*RF{o)$`q zDQefz4ZFM6Zl09dCiin@o))wq9_R9VE(uW^t!8Z+;1zaA0& zXb`WD+oCzI9R0U&2zD7!eMI&x6zb~DORGO(k)+z)Zx!2F(`4S^oRO$;Xk_F(m2IR@ zg^o=%&$wg?g~w~53TZEjOcA9VZ6AwP+*J^(>joPm`-7)A2Q6ZP8xwk1Pwv9=Bmn&x z=@%Ur-6dq{r=ob~9KKw<7ua{>1O!+~8Rww=?jn7N79-vwAcpU+t6xAqSVu#wyY@Iw z)QOy)$Q*Q5RDGY4Vw{h{eOZVg{DvAiqZ5?x^>3W%+?jvL^@=NJqcEowLX~&21LjA` zwb{^@P=D@^Ff&RdqP~fLymLx0vy3!jJ_r28M^g~L{7w4b#0q8m#CB%u{QvJ6|IfKu z7#KLXi~s?s{{!TI&h2b$?_^5%pJxL=2R!?uttnSl#=hv6PxIQQ6LXqE{DA)MjajoU zoH(xe*qH_C-}!TXB1DUoo49JOFEd-PJ!d+>W1_6cm)+iX@ANwHZ|SWUFVkjxilZ8c zcy+7zq5^+L7w{U)RsBP(Z|_6JF&rmgkp>h}C50Fbm>jkpYB`Rexy$DsDqN&nWGFa& z-kZy)T#1C@BT5EwEKNZPJL4rWPYyT@=xxZ{AkiT`!ZksTAl&pndKaXUvem8;A$gm>W{EB!Kj6+>TNko-0I zvI5cqfvRHVj+#@sPUajc4|JL$xOF7{E~x8uMZm}Ev_EA#_HAG~>1lV{37@Z^4SusE zEx>hKgj6-S1=Z7x;Yd$*-S|z%9TuFEG5*imYtrO>u#m=5}Re)kFfK=JbQXSQa&{adA?e^_w%&bAsI1IF8hg^CulcS5w1y=J1m`=h$ zQJGe=`X+V_4fAIubAAg=_3;w_D?;9Y?r_))_{#29O8XJENRfmm4}qPnAe_`IcH7Gm zy*%yrCUa0lC?i`M`M4TTQtEq}3<1~YB_;_GaiWUSfp-m7XEw&(93=?PkHZt#f}||* zCZymjPDb{6}*-ZpGw*^ z)ZY>ch>j}+FK7_sMX0@C)X*LtiQnbP*5(f;jqxj@>IGSs$fPsC)?{)22cXEJc+Bxf zfq6rF#`iAt==j?O?B|5bJ_2;8vvdfWrt$4UXME*0nqq&%678akN)Z?Oir+criual793HK|j(x;#>JF@-KCRf;*!h7xLO3q=H6f;a^U2fBZmS5s7unU0<~Z7SFvF7{sW^-gR%e7}(R!@Xiz`?O=2!Fw$X{#GFgiRM&z$%OlvsW9 zD$(~~O{^3$*vwVC+p?E(D#@NK!xssQ?lptsT0RfId;N^BIa$K2W)aiqSSz8MxtX@! zvXNU)tif!x#fF+HXIfYI{w{7~Uz9AS4pa<~j@ciZw{jE9g@l;yhIHW>^eSFU z7n}Tc7dl3#GI8ia4EzD!{wj`m>(TH)!U{&#M$29y*H{`Zw;+2EU6T?69_ID>;zGl# zK|GQZKJ{kf*Q7k7u~rY;w69~kqRDfMBJ2?W%(-T_N*cio=4PukmaGaTz6XMd&yltJ z(q_5RU^$KqND}+|DDie;0UH8*QARw(w_XP4$@Ztaoq$?YM;WX4u+2Rv*Kv_f1({ue_Xz;ftTm%0MzL~wFZ5QLAY@v3!68Rd#dqQH|zm0rYyj6xj$cy zN%8x8Zws_+sG${fy|vk*Kh>|RYkxe<2xaVvYG)f4m}W^a^J`491xQS##=tRQC_#1n zjS&avHBy9ygB&xA6(2E`Y^3{B<5E*~z zfKik1UsJIR)xi~J8j&L;2pam`g60ngY<^I`;##9V)8058ft53Wm|{%w-Gl)h{INJJ z%Tnuc6qRUVXoiFP&Jv|JnOg}t&qbi-E zSE(dr)UjtR_!@WpbBa5MUZr?>ZG??$jWX}Gy7Amh4$HOA3;r@()h70p7Evn4HFGWc zf?3N_Rl_LW-!sHqrQ+VRzovFNbd-e_5t{@hiHnB+>huH&OkClcZAa~QQ7v0KO$ifGaN>iKIfvRB?9IriJAC#tu-bEwkIQ79mPD-RtGXHzfe|T{gb9p>#>!$% z?9nwV$_VC02^W+Rc@vmMDIQ6h`_f`3Z^%&6&=LL$daNuun!Sv@W-+C|*>oKf2-o2* z#`e?XO}OF^$U3WoqB46;$R8J!APxpc$zTrWwF#QQTq((U<%b zd9teEHHzxB2=`B^gxh>qn2*v z=_bU8@3PhiBt`gG+@mq?!?w_y2sHDehBFUuMrIe685gn(#|2i8?}lmp;|*W(;X^pf z8jL`tE3i7fu}9LhdZQV*!WE!jY(-cC1Pr8J0?mSxot82MSz7iJA6Yi*O@!XU)gb|kpEgHaK zd+{9MEX$Y%NBbwq6%Zm-A6V`7t+ z*l?~h*Z#IAyWk3+oeA?J-ck6-@D?B_IdwTcPFcR$K9Mh?{-X`Wqk^tAlROp^Um!s z7E&mvoa~!FQPTd~6JuSRRgv|1}^ zLg|NItnE^o$l{Y*@DsOV=)elahEO<*0=RCa3289RVX1rt`3Td%Y0Pb(0ZSQh#xuIs z!)LL>;N5;?0Ezf|@l1=v zWWn%q4>_6f)}mZzTCE@uXh~<{MdMXYWKaK8`497#7hPCI2 z*>C;Wvcl?UO_KpS8p{tWy+O=_)|h}U;*4Fh+y|OIt0;{sGkWyc_yueQ0>D&F-8Yc*DA_IsNf9=G|V#;&ZuqKs4$)lx1UE>nW&xeB!Uf{T~uUhouxpU(v^i7hq)>s`fz zXM7Kg_h!&ESuH>JfEtU$!}N@%5cOghbyiq*#;AT@h7l4OD33JViUSJL2SRWeTq2<^ zZAC}3`vWr}lNIq(9BniDV$e-36}X>F|CwfYn(N1acWh+NKf;FT9zLd5ut3baiK8#7 zQsSj^58gm>(=WY4Tt#!21U$O16|am1Ro_T7vi|!M6R6>}FPLS7#n$)n?}jg*qv__PyRO!8J!PIA9Fq)-DYIa`J7Plx{>fC|0$|Tb&vNLUl+oilAN)+x++R%0JGQ%rlSSOUd`8=g3i$!3f5y~>;K&f!(8dJd@`zp z%?K>WlstfzZ~?Z9VXEasLjymAL8`bCRD}OW>{Bfo^X{u2d@jEZy}R3*OS~&GGx`+f z!{p8|33!=3*JH@wHZ>5=(Fn%R&fi}x+OrHo!w{fnxf6~6Hf&vFY&Ug)B$!Gq4_8MM zHAU^SO=YI;unVbHv^+j;`AN1lGO_Z(S;eEfeu#>g&|HMuJSIO!&8!#L9Wkx}n`toM zka9QSv9)x4Os)>Ac;~na6ya;*4TccLq*O`8j=N2)O)Pc~GriTcY>&N>+{HrScx&y< zQgPPp{Lo$@bA)so^(DVb4`6_{p1z&z;yQ=7vmnlhez}7Nre|H4}lH$pl zNC50|T^>9DPrm$;L7=2$mC&o@nrhJl7@s?=b=t9vQO-*jl<0Tp&Z7^*y2vC;OB8?$ zR-+;Zf76;-7}I+TI+37O2Lt|x$@gGX?&FJ+_V0u%A1qUa4sZ7vfKhM=d*RbSCX|Vd z6~e2P5{++|$(&;10CpM!Rp5$esUuVTHB!%koj&hTy)0S$-T^=l5dWU-$dt#t^zY%E z30(se^V3|sp5<#3oeY=U1RyT{=G9@&t0ta!A;l1uQy)QmC>3w#u^i;jUtFVRfToum zamu$1Hx`y6t3e{f1fA|(?K^k_ioLElB=rr9WmAm0)zD~X(Lm3!?^(I*1YM?5tfT;t zZi#wwa4UjiqU2MZ*3R8NBcnsuzJYd+-o?kqA}Mh7)-C~Wg6e3EA4G;#gd^Zl{TK(W zMGMuCo(;wZ9u}#G#6Rl3Ydmrl2U`CQz}O$5iPu#m^i{XlVWx}#U>%v;2&9cgN(s}M z3L9MT`0Aha-^%o3tcAxW)PuShvHh`yw**!IrN>$gK4@|2QQ!Ju_8R|8gm`h@gk1E5OC<5EHWKCAn{E_3&e>ZatfK zSeC}`K0^hy&e&4%XYnF9K$TE-YeW2O>s}a8;o5Cgb3sO%y3UICAwk;2?$nD%8<3Xx zRh-Zi*%_Kq3v-(xdRpGIrncCTSUPBYXDKbaJ`d~qwX*CRbDa&^!jtZDlRUS8vSjO} z+MEx>Vmx4G$i0_?0GRrFW_IUQR3TXjH8zA`7fXH>_F~(|0(41t@CZn?Gmm^E!9Sta zRw-CG$v)*M;LVA|nx$fkP#z$E3HLE1ZQ@)G=|$96+ySJFZFT7Lon%FSHpSP@I#Mtt5u#k?_L-QF_fTz7Wp^PXYx|0+> z0e)VE_C!(%OU%u0CoL|;7t}2F32PSNB$UJhD6e%6xdRJPm=bdyr57v_{(qFqx1onc zY`O)-cO^QLlgYwsH5(l*{1!NTYR#{4#Nz4J+7&0sQVfDAS;z8w)@=d5KJ}2y;#kYn zK_Q@&=C@=DRDF2;n$B>R6ICc(UWL8JQ+GH{vxSapBy3ON1A^*MPJV}Q(`9k?JZ!j; zON}(u9YBDkDf+?YfOSe@d7)+f&WJI#T+C)$DO>rmQz1QM9a58t)NMa8Y!xj4f<3?Wd) zVvHVIS%f=s0!GFOG0K;Ufe4UpiluwQRvB7^n~&K5NfE@LjWrw_)@xl=P` zKpZnJ*ak0$;K;geuTL`KmJVmB(G~HKER3ED?ut@H6dQYtC zgflSdE}?=$T^?oS7qcFB73yx^tdhfI;#s^FZY=1kGvvLz~9I)JGnh+Sf~ z2IR$TnO{gTa4<~PgIJTwGO>e|Q(UB#kMBhrR%C~{S$cahcDO=%^Tg|pXEiS+uH2sb6pf=DyigaXBSUD(BlTyN zm4cthtrHW>)c8o>A620r;D5G;e%Q1r&BIDJV0{~L$~YG}xqce_$_RVn&&Mt0v#UD; zuZOYgQpyS=Oy}8G=KIq^3&K|j=al@SpPd&bQ_zbyWxd`;e-wyjB7}(4EAZ(I1Mmw0 zlXaWKV08m%IGYx6?ua_T7jw>O!69v4!S?NSZ=xOQ%KbO8FN+Gx4Tx?vl6yYYAx?FLUF{RfQlh?-SGe#^WQNS$X=^!Y_Thk_(+5@jtY zNR%+o|Ji+*l(jp#td{kb!jse6k}?d4>UyX_AG*QzdKLH3=}&PFg8x7^1oBqr%ve({ z$P}6LH?yVk$g;kC;&5?DRMYp>T2t~dsY$sF%RO9Z;}Sy{@h|^zFf`7}y{)*a$QDK7 zy(xB-^b35>Zqg8NVY~2UY-D1E>sOegOqp*Q;yy3py+yvU`*a&>)U#;a!T@jt)?#I! z1Lp1h92c^%k1p;HCs3^fWM>5sl@z!UZGvntL=UEow~I?~as-eQF&jxt257-|;ORgy zj$r+CC0a_ikJ9d2^)F;!x7ci3?|PiT%0R#GJXspiP7YcFs+ z{;{2AE%I2Ah8ZqO-;eXXui4HpMkw_38!AQeS$=# zxPM8$Z)9jL+BrG7k1a{7w-*w88`LS5p7OG)l2CB>8mIgd&eF~L2Z)W#9&$Zsoh;aZ z!WL$6`FtW5^%4YBxIB2CEV-8WY<%MuY=ewPqBAJv%6-trT`FYO&RaMI5b<+WpA|b zJ;-Q3A;!Noq;LxB*wM(BxiR0YI-LTFle;4MWlBgRZ{Z^bAaUN%hNFoNmv%i+c%v)d z&LVCWqCR!ZScM5G2PKl#V+HT?e@4EZWVDYP434j8+epBDNFPZ=7ROFpY^%*pKxQl zzS9&~ZV#fcKH<^XgoghW@W9RLN$kB_$?n%}Jn$OwLA3J5Qpt=1-Ka`OwvySR71!m_ zsnpgWnH_b$SKlQOcy@ItyPuZi)^TETZU6|IhZSptGhRDP*Q*``7|6%U>C^Fi8C<~x zx@!KAHuvm0Nv%C`VN8huv1+Pa2@gqqZIj3^?b(43^Zp`}Oi(dKhjBndASG+mAewvy z2>KgR(fRcBZu!_TyA#~}B?>pNcPDpps`?h!ejeC5Zl;&Y6ob?TLLqPw6A|8gxgj=Hd3@Zhj!O#2&-)lJ?YIS699d*FedL@I< z%{qvvey*Xo`|`BxLMJOAXC7M0Rk|e1Od2;n)XhK3K(}PW{(Tm?dI|m-hVq`$Kn=vp zCQh2CJ3TVjEX z2a=@$X!SW>R$SPxWLoZROj$1263GVme`>CDy%bqeA*qK9DQA|ZZTRd~rn)Dm&+h}a zBIMQG0KZzIKnQ%|Na%dUH^3`lHo6zF&A!GxH3)*p`-`<;*QdTB(64&|h_=riV(9rs z%_`S~+Q9_ZNCQOsX#34(bAR;ZYjI*6G43zsC8#sSclTvkfaaD1Va;?=3>?yjN6TkB zx@)X0HUWYYLQvT01guxE$VF{z&w_dzgEvpNHOZGhZ4uBbiE7$#fQ8yuUhspc4~fch z`KCo;KVpd!S%mFtiogp_D|T%jvNG|s-wlp9m)5fGiv1?Ix2b9Ds?*4STnb)*c{-VUeS{`K(2f5xA#4Ib9~vK*;9L| z*ignNSoPzkP!c&p^g2(q&OqD9*5Zxrdy&4T8dP1vh6EG%%$xak73w zN;6~vNUYnVlR|G@FKPu>>}jJLd~LYc)NO$Ge1LIPP$glelg^S{JhV-T?m08Dc3V~O z3wx7Yg;an69k`bQq&>;^^ZNI#6NJ6`^g#VN_cuZ=B;IT`)f-wf`kGJ_5f@+vGe%V} zN_1zAsWr9G#Q&JJdA0U^%yK~PL63~Ks!jo2wLadfz)&Cz$u7sjJ~Vn_LQl4eM~^VLK!$mzoLk5OIHqbWU80C4K5oUmWI3tig^P4Z za?&s|m*WDj=1T%5%jL@+#t}}IH08r+or8I<@?&u91VGz$f*Sw!*btGy?mNB{PD#Q zjRgJ??&;)h0?l+eYoVz>4b-(%{{{pYSa>R;8K$v!|3*2b`qArg9~<$u_UM$_5wIiE>JmHY0;R6iC6S(=2C>kZoN5e)>W^*wJI=!H<=scp&C{eRLDz2C4MubQAaf38?+*}U7R z6%&hSJvTK=IC;GbwJdU1&Dk)cg47GM(|}qy+vFXO(Z5cnvxWsex22-A&|NLtS1Gpm zkxZkfnju^_1fPE;`dwqNP*^UAvTFrFRT*povaj%>2!&b?hkG*GGJ!eM&R#>i!!Bv6 ziB~0BB9mc4XnBMBzM8}ul$bcyYLe2ZLyoiqr1~}{C)rvUdSo#ToeRVN5c|tep<&Ga z{GjiABd~xgHgA;7*>fR$`?9S$R-V1%F*tOnB}@E<`9jPLB_BXwmf6_P2Bs?RRX-$$ zo$6wCbnTU4Vp+$Mod2zq@dfOT1qG9eMgqj1&TOC=p=#HG?R}Q48cFs4n@r{CkG; z6fgv}?MT5F*qS&8*qEaF@4B&)CcXKAhF(3lex|>}81Zl#G==Y``B2=p%z|Tr?*@6s zsL(A^C`nx%Xq0}`?Bjdis?a#-2tNyR+cNERDEZI6wZ#vq{MCQ<4#3LgvSG%eT!j9W zjMlM+5jV=((iCHiDR|Zrf)r7I5O?zoTR(l1i=I)O^ zn!dbEJ=89mjdv#u3IAF8dnUh0X&A=?73fCW*{gs_{fHS8N5x>VOd{gjimK!iT9)=g z2ghXruvr5JRl+j?W#X5-XU0}|SdOA)7WNv1ahYI`g2;w@TWTmpsAmAlqVqPZW#G(6 zaQOjZ-`NuWv~8?WnYR!~22Doy^QoTanw-@PKnao$BmUU?tj{+tsHUtydl$b};o1%7 zbdYx`dBfM$Fk0+|y!Pr&5PQQQB`XMR6i+WpFbaX3+Ua(i~u*JNJo1=2tKecNlL zet;&9Igou}n)0(GP%vi$##6^4b}D0V(@9=FcJfk^*HfOBi^F1TF?2MN^J?!LyaP_1 z?pQMN@;pB>n*5&K-`f6_9xd!PyANvw^ClBG413q0MeXbUeXWNcfcX6Hicb}dw(Jjh zv(j%dh)8Z!=vkW0xomM<&M;Isod*JD7&e zR;Zsw{wt|}G2>wFDptn9o}<&u3w?N`1TX!)HRECnfZnAJl01^iu?GK%XIp*=rTBPv z7!MoU&V1Oq{gd%%^-WU5;MNz?+Y={z(uI`LIt<$k%jIv-eLtQM>T1~=5#u9%Zr78V zo;2VdrVu&~e155RypE;&DDA05+O6F3O`agh<#vpn%NmT{us*{{hyeT7t?iue@M+bP zdBG*wFd_0!<%uB8zIr5*I^uQsdX_vBBVc>;hfaQi8s^=*P|J$>p>Ux|MiVp$Tq&ZX z6hS^Js+}gE`03;4^R#+^%c;HHSUDFGlvMrtBiFz-_ymWDB3FkyyfNoHL$bC+z0b7@roHw&eZ-=Kv-e(XQp$) zx@ci+!6t-jCm-c7NX1Uc3e|tS`$x|uCM@!LJwgryOo+hEY38tciTUzv+j@Y+eptt{afbhJ9+mdj!^F#?O77vrMNoyuibU)xKC7q+i&Dd> zZb}DP!7@rVIc-bp0|Ipe^;(HHc!KD)C&Ty1gJG#MTcb*5VH1KZzf;{nmg2nI)8sf4 zs2Akx^F0u0@_KZhv4UQDjV-oHZ(sZjR_iDCo)IISV>R&7PY}_aC6ts8peS=`8;(!! z&S=N#QZNj$gT&sBUqlqh99ytYl6>Y~i)~G_>jd2|H2BwLP;=ck+U5au={Z+)bNeqM z1im}3cTLo~xdMr?;97N5!$!MR_3q2v|*5L8xe+=vi6fG0XMO@s$y*H4_*aS`1wB zM4}P^ZxFo;?@>#BCzcr{y1Gw3>cxheqoVr<2(v~^{?~HR9};ml9qXis)&DTfE9f7s zW#RUsx1M3*F2)F)z)6~T4MSLgsi|Xg6^CyEBs|(Gu|Dacb3JZ_f!a~rC9g~6_&Mte zkPS{Ae3A(UBy~z)Ly6V8r%JhPLV=r5=8 zgr(FwF zy`hw8<7@gv1;-d=NN`vHa$dmy1aQH>qn%m!+tV!oNV9X#E!mrb0um<(xn`Z1tNgG! zK1Qh1Q%t{i{jDQeDa`7lX*!K?qIBZ?=sW4>l-xB!1EdW`i#mdgOFM6E0S!&m;*xIwMxsEf_8#q;M7K-!k6Tre*%V4FNX~bon z8$Jf2Z3r@>&Y3nu-;}wnM9y~YBoh8m=nzP2`gFQxOj=NcjfEg^bX*|XL`GP92pXHlBYRR-4>BJMXu(TJkQz3xt=7ict&LiK_)-$?iYKo!Vn=& z@VPX2w=HM^kaLk{I=#uBIk4>{uTm&j<`~;-$w@f9TdHByqOGA zT502+6*)PnMD+^2C zXtzqD8X&dR;9lrh(WHE?E7P)x-#9D|p(Q@0um_fbfQW^tt#g7;fv&3lq%YA4Gy8kF zR&ktp*ueh)X6%X(tigr#;ss4)T+7nUZa9p!W;fUohQ9-$O^l-}N&oX-nV&WFr18u8 zDGna#bzYM zJ8$~iB#Jj0n?DxN8^`bHl{~7h$N3O7LJ33qg)y zFafeGE1NHSBrUWw1chdUXQq+Cf>3l3Hq91smuvS0Flg^wlOSvs4zjBYiKhgXA>HeI z{)%tTo|775MV;cG*5y75dj88|H&@mnwffPF#>Pg=oD-WK6VWw(D>*5 zFh#}NqF&1a0p(qa9=qo^6IHpgZTOw;c`esdrC7Q0Dw~)7Z%tX_*YeXuUH@wh;AT;( zfo>=vEd_~{yL0rQRpt{FkS+n52G@fQeqa9bmzydcQ0*IfXT=vbhuV0xp?LH-AB|J} zn3Fy}?%ylCRB0rW#?|5n6%2&%20R@UtFNB`l~og*;7HELdCG8R?(B)YxEu!%>iJ32BkEA~cP=*%zl92zA`^xb#s}kfGu?T=knljarQe z(rmkXGusfQ0SjqhhzXPPtmztAEnanZxuZ-pz6U4bqk>@8Y9pZ1ncrkrYis}^EjtyR zG@N@dJUmy^7SB0rD{O!G-r{vC_Aa)14?)+PZwsfrJKqm?bJpC5sb_g-J5>mCO}oUt zQvbL0qUs=y!pT1)JYIO~C`!b8Il&jduRnh)&O}wiY6t}-Wb~4xof@8o9lk0rt?3T% zB7*r#A%;`D%$K!0p%lq#!n9T5`*Je6e=5lX=0ADx|5_{Ph2__x62bzKQ1#@sAAIZK zQ%h4=G+sQ{+mB1I!abd0q(Hh&49Zb_jQXQH2_Qp@pn(n*Bj1(0W%KK2}|XDuN;+Lj=Z1e=q}l% zw>2!BaVVjeyxSGEw;N);rM?w(h(qHR z;C#|e{MWGvYa>K>y-MZ?9Ak6$;aH`G`6|HCSv08lLmAqgs+zffD$F51d_KWJdZSz2 z96$Ddq1pmtfH=Zw{H)25Ul2JW2U_!rkMutSS zX$y>t@p&6gVBHJqnZUcL84=_qdhees#OBt0Pg_6@L?@CCdE}UhWu(WZTckzZx)5+b zF7?A1DQ+JQACI_Gt=c!Tl)rD`L?S8IjBXzri{G2~p=LMI>pI$X;NmlKozfS~#X?n}7*EV-&mxo#xZqda8lN?IRTIofc2>wI&u^MT7 zazk9@4VZPnc%gRExn;L4`lzTiNA4Ig5js@LdE`ypJCSdKU2#j_L696r*ygn%Y}>8w zu-{N3|Dcd_@7&k0y3z+g;~Dks9k{Xv%UFOBe=B>{>DOaBdkxS8k(JxdjJz=@ zlQV}PNPh%F!xz~dXzKQe?{`G%>4s+hKs4WnJLQ1bto$5$hSlB+q#Q82BP(^pnEI=d z95ZvOQ+DB^eY@`3DCKD3$Xu0zbcJcNe2+HG0ucOF)2CK~20G9cCUBoe{=qOfnEkB9 za;WWr8`fOegI!RPyf`++<{-}pGu+Sj-Rn}_y}4>;Fh!g(snBR6@^xq*IW%C1lFi^P z7*XQ`;OK=QT_jC~{xnLB=oo=`D-?zL)>GCn8sPS}$fKoB z9k-oK81j?cgKsCS?sY$(ndNRrz5XwP8ECD$v}{m#V~qkbbEYZB0RMt4sy7Ze`2D=YBQKY!7n=sE*<(6J+5zvXcG zva*WzI;t0H>je{8yT_F4&OyIbP;_6HP?+M4<-pi4e>k<=WRQbH;63LpQCASO|F_=~ ziM!=HM~PkCS#xA{Q`mF!ynbKEHJlt|y}I7rz+^yv+Dbf@L-~*CB3u44?VC@Za#Wqs zM!ul*h6aU}20R3cYgTusPlnQ)2*siw$8gIHVG6kU;_n2_fSOWlPOPMZ(?99s0%aP0 z*igAVVP>i}wF!jTRV!{c*(m==dWAVeka$wE&VC`djlRjzYm^~M`NQkl)2}bTS-{6m z`?0wh@J&K$Cm)TW)sce(P3i1FG2=}2SuKQxXLO@_DCoa^>iK5*xOF>)Pk-aQvHDA&8hV+ zEa0AMp=NDng|72zo!*tr?7UnFRsppQyA|x}UoIyrz&0GQRDe=*&Q+ozKe;c?x@tzG z!+mM39@7UvqPFM%%McKzYH_n#o#!3}hZxr~<>U;ccve+%Uim=c`jD|-UnieLC)X_T zJmB-@p{W947QQ(!EmZb}c62!NJ^sp8xKjuem?3XoGPRNde}YW*v#p1idXM=fvsI3s zv4;l;gs+inLa&8A1Q`mZVLUMNSWZN#%pZzFU3nn7-~t$)B(R)sSS9qlO_&mU!RuR)g)GL{lKBd?c3q8#Fw z>#$r+4GC($g5F&;*TQ--LKtbI)t<6Sda>!~Ofln0@YS-@D{^bSH#?ok-xmy=@-3t^ z>tNn)_=*nQ@CF!s9?QRq4|`LEQLAD0j@Z{SgI6P;wh@Lzq$JA!SvVjeR#tGHZtnPF zzWCi{r3QjhW^tubP&8K&igHE_8P2K_szA?2=dxZneByJmQ5ey6fi--<@b=WL~SWCZwKm*5OFJw zyk(~x%N}nB5JMo5XVtG&X9NXqBEC~(W6s|bMrrmz)1nryJDh2SwYmQ9|N25IvlH)y z-OdqP01*H073Pp?iJ#r^p=?Dv1ShU~YpX`Oq}9J8t2gr|dg|sK;x51u?PuYr;@tU; zI!WO_G#EaLH7#7mUAMHIp3t_j1EYLmaW^$1XuCCgEWubjm(aShKQf$Ym1Bf1iNjvk z&sux()Rr}G5U9Ktu=IuqKy1EC8Mqu@zAp9iJDdT{oR54@W+uP z;OM|ETtq-}egRR4cAh(xg!gW;a-}Nxot}sSmk42Zv3K~dvkg`^)@JF}=>7przI+M$ z(rFMd+MHt8&Lbmp6lQONDghEpUFW{KeRyf+vt+LCgw5om2q|r1gteR_euXmAS=soo<%$=^C#T}U5!pL6Kqc_MT=dgU~#`!mi{xz zReC8(wK?giw>9PireO(oZx|}&4*NZJ?hvb5-)_!-7wdcT3p|yp-+b?fsEmzxI?c~v zShlKvJNy!yp(|DDh*T(s&j&`lRJJwy5r&`^)L@TMs(jAY1{+)ygHGVM}*(V&E#)3vAL@iOKOt%MCylZ(pG z?1sEFw*ut1tuXLAs|G;1PqP-u1Ub;=0;62%ZcE4aNbwrFVlc6&LBV)Rt@7}V5ign@ zA%O#Dy<8o+KfXC$2_@t4wzZLtcKN0oG~Oy>))LdcTQJEScI=5Lb7+(K!u-Qg(Y`x2 zHq7sm2ND@e8y)bjvYw9ES-h^57{IceLwDdKe-Tzy`Ej!OJ^X@C&@vna4HtJEum_^` zeblK6!<}foKs|ov4}HA^2zHz~2t-9Yvf_9zpxi?_kcE^W{Omaq)-8L30a&OYGmHU0 zKuBS1EDy|)-%t`r*wO{9JMO>CXp{hFQrntL7kQC_jpzWtsdIU%|A$Bj%v{Er*MKgY&YcCO8S1&x9tJnpODd#w7KtdsFdfcIEcA+$KyN?wvsK=n7A4sqCFtdNo$OB#BhCV2+odGOiH~s}W;22U~^7?}X zeOV&F+{Qp6o^%B!=RrWxXy&U--ddbn$avCY;(d#z!>=!r6I9D6CGw4-fCr1o3hT_a z6*ReU$yl=#XvVq*eIvx4jjO?i$?zab=D%g*?m5#13$stU$;4=R=>G%-={m9$H( zA7Y`oBo8wO*D)Jj%*Be?2za@;$i_I!7TGYzNQvEXGr<@)30Gx;zanyu z*4%vnFHEGqR)U%vF)(tR=impg818FNRIR$rEVYNwQV%>ER{E#QDoSM|ht5)^mV{@U z&!7z#{v=C|Sc_e#C!EoU@}9=LPpo6A#^V7w)2YJ=PQNC~m^olZh6+($9sW6Z)9UEDmQ$ z%)xnE69Z^;UFQT_f#8EDka9wh6-YlAREx#-%Z&sQz!a>k*dVDL)l$r>yU2f?Y!IG;j7()h*@X~U9WARb z)K-u#!unn}_UL6!*x`#KL4FFC4L@Fuabw!puTflU5_XDG_ zIYL5XX_hk!IXa)7$6S6nqG=jxH^U!}*WMF2v~^nQQp4G^K_Z!}4RmJ%8)b+Q3v0zV zKljn#UdQKOhYaq%rGVjh2DUBFCLp}tuaOiNxfCOspS7~FX32T5uPP9LLMxO$Qeh&d zjA8RzGN9EQws@U(uWLSd9<8oP3p#F~A87kM#_IMMNzE{ zYBKh=lu@8^lV@qles*gO$tEjofvoT8c87Cki6l0M6;|Ft76&~iZ=T%2cog_ezj0Co zobykZPI9897$~$$7$xs1t{{IPaHgG4QN>f`n#P5rKz|RoDoxirJ?04kA`2X-4?y`3% zOYCw>&OjK|5V|J+ z{Tcx4V)UQvUdp&vzCh4U^*v$^sJOjG8}EgALfKN|`jW2*TpDLit@uwQ*KhOK**BC4 z-OAdf^PU^h_3<;7|Htutj*Yy@~f{|T-bPz0nbEy{#A_m`(V!j0y z;2kdKBEojdOzOz4oP&QZ=f1yDuUAKMMk%M{vY6%vgz#$!r8y>hU)NX#bOeu)IIB1_w^umkFNDwkn$9Pg1f z*}dn-U$`jSjek!1Sj=iKYr1#;V=E(9u=74J8iGw!tmMadhztlSbkK(9TDGqPMYoHr zh}c^D3>pb!GmX^-BU*5QywIo@Q{HPBrVZ-;?Yqcnj;0y~N(JFp#YZpRzBanXH`#Uy z3u4bx=Y2rLDANM8djeG7VxOL17;L0)?=!K*;2p?YwNrFl=P#y(UHnN1sQzIyjH!a5 zXSJ)Z8^US_?J_ss$1_~KtFk^Kf640FldF8BoM_Z>j8usZmCc#y5mBkiqWb>iUc@4S zJB)Ty0YtE_=`X3NH0s|lY$T7It~)vJh~3R`hdiPd^{F$zE2jEEez-_F4D{#>(`9)1 zu>*536X-;wx~F+8{V=wmT|~C3Jmz)wov%yNY_6WjJtJkV(op5?Gcb&PsOBA^;2**@ zLy_>>u>H^sG7)S5$t1B8QpXu?FPDOv*S(lM#Zw!YJ(TrZBq^5Yh%DE&6Mw<&v23)g z9NzC0BIiOPFV_c_=(rKBagaQj1f9;%Q}ymW>{UcezaA!Xo^7z(R6~kN`ZxB^(h4|p zVgq2AH9)6UtNpIaf(fXd3j+z8R|LPdm5iLsq*WA!Q)}B;ky|xLrUATv5>I);$fU+l{!w zU4CP|@s|Oq_rk-bXL3TY8t;N@MPkdT)n_1B7#-TFl3f*Ib)TTGr*);C@5`?Y(VK)~ zfl3|CA&>#eit^|2{xu-);EG^*f37zw#xG^rsUXx;t!gga`!IbDx)^O+8n=(#2Q0t870MVf2o1Ehu1mT~si5Q^Sa zbE*MlLZ?SeZeRM`H*@J2229pRq2N?EVNV}<&d`D**5~|<4oK4}_w&#GL#57+u6~>Q zp$yd{-^p@p>6g;dqls6}jB`3UzB)rW>C?WEoEm+Kq*0{c(RdCnp0$3Od$v;=Vkh@; zS)SZXIO9z|0$r&;=*9(E+Yb!n$)?P;xp1p3?udI(%;f zYJH!o``(%oz}eiWE0o3y7I60v0&0a=$d~0FIQdLP<2NZN06*u0l`5eZj!Rqvs!Kyk z>cpLF-&njj2y9KJ)|6X&FB%_W!2Ku$;q&2(rYB5L2Du0?>fXkhYej77h*V&G!ZV## z3l$L_e)>Q}Hr}*HQz0MzXH@n3=C5mPjAJ4Kp|LVaN0X>buo9}!WBYRU^3ej%fB1KPnYuQ8{Z+0 zNJj8l+rxM(Hy`Sg#F<}E$%{Eg$c|jrsD9}mrXab2`3kr@>n=O>n{Pjdxv7=6L)PII z*DjAs^3*6G_hm`z!xnbhgVMQfz_6==ayaz5E<$&pav?E+SdyC|KW_tJR>7 zw_EVY#f19YT-V;0{fB6x85#U8PdH(%qtuiZ2o&%`wj|~e1+f;XM%VQ&XxXOXC;ea# zaWMHrP$A(1oemcxn#Eoe@IC+TW|P;P8aH)1H3%n6AK?8LqpOBAHwBy@r^BCNj1>r$ zvx2im0gwK?50uEyAaL=GCG^p0_hsi?q)`T$f#`A+x3LXhyd@iL4ht{*r=2<_)bPW% z@L~qcCZ?5vzh=mPFd%J0t}xX7DWd@e{Cz@eoMAog1c%n`s9-CLL2v` zd#ors5Y9*Qe-;}>`-$E3oP+)9G+1AT!;>Sgl=p?A@o;9*<<;IyfC#AV;IafTq42w~ z0&31`*L%CN=Lb%h7~nsPxUMEAOzvvqbLnYZ4FhJ9xp0C-f<6Buu8_GMJZ8df5ii#MPP~IyRPEDMYVZqUbx) zXn=HlfAZG5?#xnSUFxvO?}^N`0$gFgJa)D!pQFg%@?SrdNxHgi`s5)@z<){fTE_1y z8qsQ!r66l+90q<$OMxan+`sd~IXSwAPQ4mIyj~xV%Jku(hetJBd;THK%*<^-_avN7 z=Wf;LrE+@V?8a+pv-UGB2Hb_*vISjIOAU$nCFB<~6`?tLE2s}uIsLxm*2$a^_ic^z zM`DIK!Lbw5+jcHd@s#gMcm8nW{$%9AAuN2op^f}fp$lVHfV7|c0kl+oguC71{;pLrftsd25o76HqL;wa0kOfq z-^_m7HzL%(zmjjNf{pOa{A@mqr-{QWj7J^AdJ3FkZJw`E<;v~%6vb+JR&YuIl6?St zb&-4XCS94}@)Hamro<)3=7=7%C1o%Wu#u7MDUyIvd`R(So05NlWNr-M4*%95*|~3T zPKwY?nPM_cXM_Ijyq^DWe|Hoi@+{F|bgr*DXRocMGT}(Kn4LUScG&D`kn=46Uby&73{y$Cbe&2zD#h@WC3lOGq0h zyuT*Uswbl9b~Xk~)tb{+Gvh7q_P(zNSiiRd)MkXRVHwQ$YQ^|Ek#nyf47}zqRG5wU zaEv_zVh2Pa53XfHk0BjL4(*Jxbc!7}Pn-6f!EBRGz0+tIsQibd%G{lL8uH)Ro=?tZ z@Pi`y98?8rl&=tSnz%JE$F#m9_M+A|Rj!x)575tR|+&1kx0Q+!uN zOCR6j2a8#FE?XSZMGQA|K9#{xm91&W&1;~9`<0ty!S-4#h6B*7Xt<70;K1?im?ls& zC%v7!Un0b>d%R!)@2|e|UQ&tKzhF<54<~|;df>md7-*IAeXq+OJd!&ZJ z=KS2!BBJDWd87BSQBxJ3!-g^Z3X?%Vo_ZqDZHB^#=q(4hPJo@Hzy1#tA@K6+WR6_U z9wH~`gXHm~wN^hYod%tkJZOP|yda{LYP^srR`ua?-a#YE3xI0AQxqqsUIR#AeT;fo z9C6|ZQELIN8`K|2>lWI@1;QXU8D_iL-P!_4l|vALLJP3ff};=K;djETMkZgH2Q-@03Z-+&C2(kOWEL zTq9C)){6yBb=CStvJF$bD#mYn+x=^V)MMQl33yUFZ*t?XOEWg(ciTnmYMFPq{_o{b zl24PM!8*yOXpGZmXX%UA3ti?&CJJ6~vGecwmE$BwQSZx!&u_pZw8UiOUiRXDKpaAg zMSh;VK6g8~1i!C3=hw3Pm0@Mj9vk2EbEw((6vPhxOJQN7Jb7{VLCCLVP7ilBjoc#DT^qg4-Vxx z8DtN!SUv=SqzP=~VKm8|rn$Y3ksQzn_S`gM0=vH%t8W7k!$Q&7gNvU%qgdo}ww_Z> zyaPlb`nN1Z8U3;ML6u8Qhw1xMZgp_y|t2Esg2BTAk9dUg1J24;kbuwwH_UnmOT z3YRPN4p!Bp6U;;(` z8HTyBZsuf9=CVDkasgx@v!z3XOLSv`FWXP0E0N;jH;t%T0Nm7WnG z2_Ry7Pqxl+HOv3=Ge7dznws{r+3!V}5{uU%X0ta|e`(@Ain*&)MUhHH(DPy)4LTRT z3OLiM+K;_P@F`ljbif{nexG%>!aJjURv5S;vJ#JVIfkDOa-@=KX`wHkqr=n%^ z-2WS%2!oLnp@Mmd>b~JqWEhxuv(r)s6M~7%Aa%uj^n9j;Z=Mu*J46?r1dHOxt&NsQ zouId>q_Jg{isOTwbhpv=VO-cipfC>pUnaJ`Do&Vdk6sMs7w#9??BPSQ<+4yDNF>Q$ zX}abuFZ$7(W?Jv1eKA(l&(`fL?pitvhhuX*&7m27CPhZT@|)_R&B4Dh7=_ro*W@Vr zQIS+mNbh1&rqsVOCT5P-&L#CJIa=kbH7^BU-XlV|I}#4FjFBOQ$Y!yCDEDxWoX0XB z9V_Pqc#XAFdwB4h<}%9bw7F}l%j{Sp**=Q>$^xK4qxydnIp3#w?8Nya`q$$#{IZhkD`KDT+BInV$sQ_{)+oFAPq5>2DJ(K+(Ui_ns7h0BHdjGEIGA| zW7!5d+L5m|gjeCw05Gn~Tv}ucQd=%V5meHaZgdYiq)Aj0FM(&6yT?3oy7*mRDkATh z2mn~)IeAJcQZvB{JHGdunQa8QxSEtXDP*JWA9Yk^xT%~Q7Ho5_xP9*^_Yh%1v8`MU zSJ1GQ0t(@&Cg4bl5lSZt3y$k*jK4^7=cnHJkdf?UNfJ*XYZlX_ONEUr%PbJ89 zt(sdrcCo3o=q!7s#F~>3J&~&q65U!@s5EE22K04v(kM5og@Nh{fiKw#Y&Cwkitg^%>JMX5 zh)N$1L)r>0tDN54v*A0RZB~Z1f#IG8kN#VQwUJ+2vw$i)sL2nAnE`h7`mNd;@Rb3x z;DFI=O6&%1M&u148rtG6kBUx7N%xk~!|%iwZ+ZJhBObTl7`H4p8s^L*Fgj) zbor=WSGJ2}Xxy^&Q)gKIl)#2t>wZAzB_QLRvvHRp!)XX%k76!hZ0NGG<(n)5J@fch zMDU&`P3$GS3RJa_-vhp++_1YYuawOdQnf=7)#T|s>Gy|_%nFke66W(@uanm_#h7X0 z^0alQv8K9^R$$3bpyPGbJS#G_?PuUJ0F{eXf_dUWU zq3piJrP>B~{Cj@n_w?h1LJ`c_#<|O{nj&$JKmXyB%xKEEAy8$9pJjMMO_z=;XIZ~z zv&Yo50{>dx>$ymBtN0a4;!Usf9LLaK5m>MU&))^VGp6*1@-?Xa8eE^hb?ftr(;aGC z=V+9*(FhqFz+y@pfgiA1xLX8k^q%gLXENx(R<#j@%$%28!Q}zS8(4;6h_O28hRhUNbth%*2#V@21aiXj;@rUzYP{7dy+LatYklq>=- zXllP61N0{wh2=p)0&aRow1gc(fcq3CvfKIg)4}{?jQvsCV4KKg2~?38XC5;unJ1Oe ztUoBtKLKwf0e?-Mu?_4wufH@m2-BQ8m#7}uBG%{qx${_p#dktP-M6(Eo|I+=iLnm% zmgm*Ic55>igRjFYM?V^#^0P7Z8dQ&--8DIS(bE`!x8u(CmI(of%A^Vs`l;|a$ZG3) zJb>{LZOIoW1zsC)AFZW0{vuYFzY?tXnmxJ%dUg9UKcK@K{6cVwL@!O5$fc3(@RY!P zEQ{~$EAFh+3~bHl+bT0kgZX(GNxXivyHMb5j>A6}`4myl4zkW3vr=VbL4Kg1+Y{*d ztr+LwbaQCR@o@7AtRf{~lId8+ot~0xd60PIBUr&^vyX0a6T^>0jW9e+*wasbvF5#d zmzg;uNw$=(#-VPp7~S|C+!jSSBY!|Xhf24%x!mV%lNCOVXx)g&q;%xqw9|Zg_m;QWeZ?ZePv#Y{m9Phefzqv`@7@;@a9>2RB9%AZsIxh&batl&d(2@WxFW zD;*z1VlX2k+%ir$VAbXPi0nX;v@Tydm+)R*2aB_2FiPrb4OQK}7dIbZskTdASqS_Z ziYcG7*7O?;BL^270bR zsles^nERHc>Dn;E^}mi0o-V&=XN}Y=L{84HL04ChCez_obdYEls#j))k$s*= znjz@yCSKwnyO&o1y9J#;$xNcDBtFxFHW@|g$9Cg9?yse8t_?N8OTo@He zADAa)>5nXi^Ue@`W-MOK>Oto-2v1!wvNZ8zSVL3v2Vo}u^naDPy@|l$;7~mBc&Kou`cfLqt3dPe3?%FAIAUo69shH5SN#GQc}O|rk-0^pKI_^P84SoRduba5 zyUbW$cR$XxKKb6j+?u}qa?;82UWa>`0RLs^}+Mdgb**?weqrkH*mAK?^+ zh1-4@Y^}kNjClkyg$kC@jv-TFdhwDn7vdE z)Lu@?YN&eXw}Up1{I!pcocg+NvLvemXGJ*WTjE*p(fs@CA5;hU;}H{!oJV4Sr_Ak< z8LZlm>FUSK=5XY1Z3zH-k2WXrsb<~OlB;6|3sMltFB(gBq{4k;KzEyhW%r7j2Q>P$=&!Ve4}%rI^NIudE#BA5i{oPTqw~nMeI!;whC+J;6IM zUR+DyVUc?1zxJPq*!iBywPou|Pok!QuqyJrvkrc;l$sYQbM zn;88TD8=F`1{8?!`jgWw!MW_}xsNJOiC8!ws6D{g5LerfBpR8IBP9p;8R;Ecb-k~i z&T+N?@GNp;XohOCDrL7b063d2PFVbz4I?SO+=A?C2&9$!N~6sXd0l1+V9p}Bh!#gE z`T~5PIic+&@-}A8t|9p5X{Sv!)V)?CV_D7(WJlF{Fjg*l19u*IA#bXWxs^no@6)y% zwA)RECBw3_>IhK!C%nW`?go(=#i9gK9_f|++v4EFLh+6iEO|CK^Y^MdcZ=kEpt|(}PUB3SJIq+?)RcLhaGJORm;Fd*X6_WnreZS*aMFXhS-4f-zyH z?`K0>jqZls6XbL(b5gC1KsR(AM-sZQCbIDK_7d|D3PuoP9dJ5XCG zJ*C8oqSVkgr<#n2^%O8{R`>U&4@vqJPz?7%{vPX4#5U(xCdCo$FQUP>zL~sm z|?31Cy4M3uAA+vQ)j|MbG_}fNTdGg z)MKI3H>{?=c>m9KHOn!$GLlgj_I7P_y3z zkk7l%$TXVw!>!KjAxe_mEXFVl)}lKG$^ejFy^#@9Yfc|e|IZ>jY#k`+k}*whHugIZ zf&Yi~?Kf2;FQu=8p})^^gIu}xh)GpA?oHzq$dx`<1$O5@VJLHjBJhBxRxROY^n!rr zYI-xZS97exi6{GKQ=N*lwdN5^uaakBVwsHpSRD79cB~I-F=WXuLj0PhA>*%Bf3CKF zt)K^a3;9dUD!H^}UXulPU|;eD^R8xFcuJ^WOZC&%n8X1%-(Rf(BA)hPO8qz;gC}}V zK>|RLLyl*YGfB09oe)|k`%=fT^r`FGcvr<@h1yImQkcBqP4Z%k9;DpT_6OB;NwK2> zlH$z!b4CCNO60M8`G_S8zD+(!|EJ1kYG7r=aC_OXi3fo6OXmTovh^Hh=4jKFuPCjV z=-U4P#U*|;$CO|h7W2N7pJDv8@0pwQz27nDQaDa|MC@$W>YpJQBZXC*C29WFEh{mQ zl|celH^=Dy8`;%H2z3xDH;BTTbtQ>HoDBQsUZZ~yIL#c8Nf$=@ha>XH6b+-#)AmRR zoSSH!7!Kv8lT0y@GK)SdAc{byJX|A4%JQchnr}!V4gQ6;z_FyUPVPw(aU=Oby(uhz z$?(Zq{vbdS9fuCm_YSIA=;Nb6dMXOmmGeRK1AfFvmYAShTYqAu8_!%pAg&*la%InT zyjX>^j_X7ey<_)>wV(=xzZ4!iAaq~lD8Bp(tV@oO$y7<eQ3h0>e=$5rQL#UDMB&txo(b-I5m`(S*TGI-4Qkik zce^3KWU*?T*guPyV+)u6Q+5#q+jKMX|8VpraWJ_92^N!LP$r)R?f{2_CNDO&ZQyF3 z*PN$@s^2y>?$p7sJF^>7-#!wn8FxY=9Bg)No%?OL5;TQ(zSsn(-X4 zG$oz#2;xW38(m;8<|?5yC1YNt=opGB4Muj~5^twJBk^g}y3b;=mn=%!-uwzPS61z9 z6kOgeB0Hk2XhJFSDosVK^9=--HFN=C1KJMoI6T7U)_DN=rvQ5(NP|l^Zv(gvOH?IT zI%2&c@KPVwhbpI+Hk46#Rf(Nu952zRx9&CK@#srP>iCt}d3fW}93j0LeQBUZbW5t|PiXT@-#zxth{Q2ArqCwn+l9v3}>AR$LaNT zTFWW~=RAdgle;T#M!5whr+7lZ$UyJ#D2*8M;B=$v==2Pj6y>O&?y1xmy@kmx15+j< zLE1tkdG>;wDUppMS{}vnq@T@&BLwaCj9bBgXQs|jrRtulVU!m&Euc*$uAenNM^Ws& z7NvjD*MK`f&u-fD@&=2S*df68KcphXer;Hff$Qt0cf<}BGDtZZV`e7M?*q?ax?=(Xx+wx2oEG<=c8O{% z;K$jorjRZx`W;TOj;ID6Cp`svw59E79_fL<>-&-f%QuP84m=<3xvRb*85 z1JLveB@Pf+AQof^*zUq{)IRRa)MLuG&^QI{+n^s}g!aaCN0o%*L*v4g8;u!sbzt9V zf3RzO$;=UX{kc(14>l?RE)v|uQpyt=DHSsdmsbKyj-5BfqR?MzODEG%$sIF5y4WZH zHDT>~&$6_q`#3nFYHh@vLf2gi?P=xqBMF)2QELG(8CK+g5|We?lu&z!95s5oJ9i zkSfQsus3)Eo7rgp0Sr!NIiWCdW&KD>KnlEVeUN-T0}dLkb5N5|8~BF5kqfgx{ty*4E$?m71~PyPSQ48RBg3m!Nqr_P1hwGl?S zZOV$3ksRo*E59aTJ}sv0J3s9KMa?i^>vkeQ5nY`!S~D7wj;OavLj#oz!YB_VrX)z_ zQQYsln2Me6_4Rs)XC}^h6gWZL2R1=$t4LXbUwykBp%1uAmFXpj9@Q&exCRDgk&6MO zM}uFZH#<{v;>n5#mC^BRQ4tsj_M$L$9%VddI=U$hiC=oQ_tu)LrSMzG#+$o13%JBG zs2W{%eh=;ymkxtp^p?KMkp7QsN!0ngYiu9H{ElSRGO(;8ZoBSt#&odaZq6slKp%A3`4rX;S`jV2J7kz?v zvd9UiK&+@jbq85a!dHyKM=I^NNSV+TRm>ff6{jU6!wIyQ;*LMQ66079O&wq|Lj<&w zRa`5DJ6cFattI$yOMg2=kzaVHp4)U8h+fcmW%9zo@Vy(L(|YiG%*1mf28gVS!nE95 zwD3T6I)~6|t@EZrWDw(osVvc(38k3>&0P{U9ff}{K)ch+Y%oLEDpI{7>a$;#Qb!+y z`CikGvTIKjEC1=N`^5G^mkB}%krm+-5Xf8v**0-Lu97QbjlIAoS)IN=BUUMgBYpIQORON2Rn`J7JPzsUGOzi z%J_va0xz9|!{+g5PI{|VjFc8QgD*ivnXr^Fl%~la(&G=#O*0BQ&zdYeL9X4W*g(O5+bPlAMZVcq!VHm<{xMuwu4;br9Z(hh>3o*}zrRb%{Vdhz z>riT_Di2X9X&9j$TI(uejUIzO4`}T^l>N=`8g#}Z>(}*MlF}75C0P)91?Q`(7+fK! z%n_rp0giXVad10UYEMgnPmzwp5E-83Q>5?|{G>XN4$6qf8uAbMZmI*$xn*BbMzEnF zhIZ#cn9lS&nm)g!_de4Iw0MQ55XSgT!jmA>tQZb{K~aGo_XHF6eR(Yp5X8s^V&C}< z({iRNz*trFDJ--5R^5b1>6#(fD5z=fyh?N;1pah{)h8r0H`1nX0tL+&{-*HwNveV; zZH90g`k~Uh)s+0H{vQ!v!IEN|Iuk&V-H|zXLLG#wec6ktmIwS*$qs{m(x(T;+$ZH>a zP!vdRW|u>?#kqqd6QCQxuNKOXT;c+!>w3%VhTJ#-wg|zu_RAb<8`cmWTK6`6$kDo5j}hlU@VFs z=FMJxBMqdhEU+NKXv(`Cd3G_IlNSQev_@^rtHQVJ|F41$YSvgAi3|vHM^bYOlV;y| zUiQdv5a(+pGxF)o6`8-r6bC1NL9q)^&m5iUt#Uqcom0L!pJ6BL$fJwttMF|-rG6iz zBgQp%R~c6$$5!*i@Y<`XC{HPb(WRPtnBl?z;O zP*esN>{<9V0UY#XG=S#VJ}T(FQOSxYVpytzGs6`pYVT%*!oC;jF`2g-s zUx)}SxfBCg0LSxHJ&&$74FfQ1d*)gRZ)}3w4pDxI(L{le@@qht^0sxW?)we52dcs`WD8 z#`YjEMrNu5> z)>!Mhw}+|&q;_(*OvZe{P^=e_AVbCF7uM@Xpa^wN3Hf;JvkzUxnIxG4M9n4ye6h97Jw5+VG&>Z+jQOb>DW zv!Id(;hx)aA(({k-UKfSg=)Q!UkzDr7U!t3B7)M@X0zwrO*~2Ax{t0+^erp!@Wxem z-U*7bQ#aYzK&1qn9VVV8%NOO;Cj7kF+TcT!vsWcB7yh+vTC*JKMpgC@l7|sY+t3jS z)m=2I#q}G#;xW@iUPak=)^6Q;KB3M5`obLrrl(ARoVeOhdvb$X{pY`27V5UB|_8GB52$_9#xjsg9Z0n8fZH)iPl6X;7fJ;g*KE>Gt}M*HD#|qWi?e0$Ooc<5vbzxI@1V zmHdUSD*~N9{qe}i}x!iwCu%6eM9} zS_T#Mx5%fR`q4r>bmz|m0mAp`csZ}OQGDr(QcuaGeV0S;W*}wq`=PvC0VWxx*)-Ug zMx?Xd6)BHBN_d2oqat$j#P%n|MO}G@0jyiDwh@W!Cz+WV=uoa^-?lCvYKrjgvwr*W zdSKBD)MOGEf1mZK@2Z{-W8A?JTVX2JRGm9Aa>kAT+FBD%jN|nKsPc1!E)HCVY~O+I zxFT8-W*|{GP~&nu<>)XKNt9wo#X}R0a;DQ6CTn(E9D+Wc{nff^S2c2a91owOYw7+2rH{?%I>zpS@R}}#g?)O@gkD2VSbT0;HCl0*L9CNf-9rkL)w$}73t zHXozJ`HKeIRL194>Bo2=a{Y16%v%~Lv^F~~84^UI&+-no!E5G$?M&m*y$)uSmMw$D zL8b8GsmC4oG6z`!S(WBIX7#N{mMw|<*lx16zwC5tc!OHcTt|uuTT6cWnhXXu^3e1)r!&OKxPOgs<~YlAQTl^}#H7!)p03Gh zc{9{9K>}sNBSg$Vqo`jTXS_{ z8YF!wk+;~9)_6q@SG6Ckb%%}>GH4$!76b<#6v$5C>;qkZkg&X|$0H{`) zMV3(1$XN_U7i^f@KhsDyb%GkRM2apI4V)3qJ>5LMk(xK7R`W_coD0b50S^w0#}~11 z7$N#_+iR;JCoN6RqQ1vopELgP+r(tjAyaD1h*=rC3r^(9PA#}ch1F~6Wqy|HoUjEs zX>Gvrs(X(ltlo|07sh61{-B@cx~G8}ueWXX1R+EBrOHBWdF};al`c9ZxC?UeKS>tU zi2Jy;i*@`S2S}$NB>Y$GREJA`A3lb)__^?U1?=U#FpK_-yph%hEp|~yMUjoGe|m4IaBt?7u?B!%46O1_|Z z&&*c|_s>3w{qhDqgauCeLtbR1%5Ad z%Yo#4XGXnnTc~0?YoQe)-QzZ^LlYy)8{tphR{A7r7eSb)T zMVF0}11+E!1wj9WR<`2mM|ksAa&_c9IJCwL6+i1fPxV#-`mdI|x0k-^r5&_5C0Qk> zkxd3HAnv1RLq)m&-sh&gYuJ~?xbVw{TD4-+a=8j%hXu+^_5?S?wKGfc>Ki4TA;I8p zDvEkM>JgKHuP(aaANK^lDL?L;c;F%Ji(RyVjU?E|VKzQEHL2qG6C6YJ@LL&Ge2$D+K+x!2j|IPhO0t z-@c>~M-6Omn&*ImHsP+ij_nrySi@U2!j%va=)YR%_=aGbd$K#^ys_~&pl6fot$WJc z`lnbA*(=g7+~>iV@$k*lgPp z3D0!$oW=C-{lD3%BmFFL){9wo0ABrYK#UpCb13|nXEzuQj08ETf1A?ihXy^Al&WF_ zQL}MoeZB~yuT9^lm$3*6Xwc6lwMemMGK1;}IM{VY0qoPg*rN7;+;ZZq~mdZpafp%i4kfSnT1ypKtU*7-3iNe$R!c%oVj*-9=r_GF&+93~|~aA?O@e8Si) zI*>sd@9C^B-w**PK3%P;!@%1$ug;tF4K5)3&MQAWTx~xTHo-RTH3_`QMlctXH`{GDNS%Bg^)&Uk!Wf}D zASh9s5D5AEbqw7 zg6mWPDLVaPx%uS!*pk*a(x;tlOTWjjG1l^AMpK7y>1OnWuwG8ww^u@n=NDwDXb&a( zZ6vr;Wyw9~dq5{A6ce>)89cJ##XPF=(An`uO@*1@f7ptv*Pn|&Zi&xO9?&I^myeWd(f?9psXiu#9Mw29jZ-LfpBEz6W69R5mzqq`8!2+=j&lq+wiVc)$6tM>j zE@)hH6!etW^B_F*&6)Y8Ysa-XC9!St1vb2?Uo4o~4>0jBlMR(ydv6F}UNYu7+s%SP zawGeXgWL6Kalv%EB@QEap&?_?cUqkxghi@vQcLkx{y&Zo_E)$KSdGILTj6v{`x}G= z0!b4{A8u3hO9pbTEkoFAb=KcZ^s((o3e~fbz|LQ)dp@1lN_Qy>IO$NCh<{?XtKt)m z@!ESpWR1{`novjuEkGUg({d^+!O0RciBVCbNbAWFkZcqq!5Z?PVp{pT;;0e&F8bd| z8aJ&Heq|wf=gY67F6Kq-eZ~AeO)O1xIKFnv;T~yU(~!(+Ci1a;+a1M10C;H*!;l-O zh=XTC1PD9$cMKoB zKdnhmQ==aV73~nd?HuM9seGkKI#ao|%As!`9nuGOjd@HvBnu8FU~j*XNnTh^mcb9e z`OL*=s@hwxk~z}+fBnRzfp?{B7^-u*hIlTY)`cygkKvRd`};{*7+ zO#ix*gU%ogwGFJnj1wjfLBj5*GW)s#=b`9;b}K*!EF)E-*6ksi!61?vGw?Rwv80k^ z^O)oeMdAAhBLr&m2oe2J9?FQ}FmPe9S#P>UBPPrMF3u7Pl8IlxDP9=w3a|`)L!~UI zMJ0sYu+xbYd={;ki~DfD0%*%uUDp6F&=`4+fIJ}y)uHHuKQ2n?9B}Ux#%VX-g&pV% z&}O(=D`AK`R7FVnT=PAv$g29_Peg=d5+YTBYcsl)ilRCe=m#0SvrS;^5F0OP^|27L z1$xACB(0C#MsrU$M%lX_5L8$-#TP;Lu|iR!e4eIDzyY`g#XMDzlts{|HuvQ&y{X2UWDQZJko{J9J5@PVQ! za8aU`8k_z*^DrUy6r@A(hW!SE!&x1gZcEsxaML5;FriyDsBSL>*mx#l)A~J_C6QP2N#xs+S!W~(ecQo~@P9N;$)yTot7B`*JXkH#BvPMc%KEUoErS~ny z9Tex+mRk}DpmDqeD_iTh{JF5wFzAE#*r3|> zIt9R;s{GsT-be3=y&{kp4VOCLIAmtbo_lwIA^a^r?N&6T+3EiqiO!|y6qToVrB=OO zeFYibB$6^@>eD2OzJ5hv8EO`mOpxhqR*u{ky(BUUA==#=DeAm8zs~pC`B*392~N3D zzUGq-q;as(K7$kDCYImM+VLy{TG}c7uSQ69@sY*qvrJ4eId9QQA<7P*t4bkpF4=BW zGajy`4 zfDO$9V{}Y`<_I~i146w>%(1VHM-QHy(1bs&u7hsGd^iE}D*MXjtcR9`orF?#QWt7B za(w#Mwsh)AHQtCkQj$j*Qi}yMFUshBC!mLNjD$FJ!{p9Zj;#WTha0*cJyRyb&?y{U z{(ZbfT5oDZS)y@5S`j~y&*V>-vppj%Sb8<=&5QCe-sv`H%T@(){odSSg~LV#7=N#! zXooA$n7(y(2TIMCb2w@?8%E|%A>j35^vevFr+lCIbNOfxG1zOc6xmP8ugK^Lh|{JuytmOXSDaIKyS;#-lQE`v(@G3~-%4d2@TsrvHZE+^#L7jU z&dV)rn_c+TRfq1|O;OdN+?MdWig5vp4^M^FJq%_FP_@iI9IJh>|74>9W@6~^8NFBc z%g2b{=ImD+GO-N7^M$$v@>K7~6G~Rg4Hy^4pNiy_sQ+|d)7Y`K)Nqo&`I)>NlMSub zZriQYZuTmeiYo+&C^@wme!kB_J)QR~)cYNfVLKteGdH?u3sXu9zee{iORVE?SOHfgD|4 z7nDN8S0R-8>cfoWHW0({UB`5SX@8Q7Q}j1PLY7k?xgbuWtCu{XQ4^ zf21Zy*qZCc5c&I&8@*E0n;#}=M#Axm$X56sYjS()XiH1PoayuRI3+rSIs%-45XYgV zsse5Dm!1vn0wuH%VlZ%)s9Fk~XZD|aeo>kNAi?(o73?U}hK|$?YyPxvkUsIVW3NC5 zEOQCe`V*#0we^0X;Fiu8B_)!;qV96AS&7$_fc=;I7ZW1Jky1h^;WIrMr zm&c8eBNa7bS@>Z9(M63^!&e!pz#Xwa zBI71HOayst;ksP$!jEuD>4N-n(tm*pir8xD}i#TCr zabr>m);S88IiT=BF`FZMOUilsCo&xssUHQ%S-!!k3s9c0GrT z7ZTv`uWE#l0_l*_AlX`{Kvx@`6)zhmJx4l8&jQ+M+GQpk>^XK!pYPfy=rM$Tty#23 z5k`8uqC)TF2m(=w6tfG4XMBOPXDwXI5h(l%!gKIDDJyc|!? zQQSE3z9~3>U&%kcpSBux$y5h6M9F0`GU0nz9W~6$jx#(7DR%>qT1)FdvDgvdO1S~oBW3}uoE^AhKPVp?yLGjCL!d!uezK_%N$%@Skx}cSeKaS{@ z&@Ny^+-%CJuF-VYX;18CYMtF2Iq_r3nNmNLC*XhX3s?Ie48tlV>>|(IEeeqaArd=ua3nC(ykd)-FbZXEXiDj;F0Srw75;Mc z)B;0v`J;Xub`ES8ua!$gTW*j3q$&jU%xHZO~ zfvcNH1g8`PZ`h5K^yShT3Pp3dO8?>^FC0u_vPSxM{4c)YKt*(-*1Ubi=7Pk~T7=gH z8n?>wUO}n>YX21AMtQsSWlrun*|(5D6E-q1y{pAL4ib0fz|ZHh<(32KVn~GtQh1gg zL`v&u$?6A9OtBT~V*1J2BNqY!L53-9HB{iHXOTPgUEmA_#$iobsj^B|%Yl z^Dc_u2=$aH+_?Zai!L=`T(0mp-t`(O9+bCP$RDGoNQDg1oJonBs5~I+NY81HVlD?V zDgX)1^^%WX-V=;D8*01VP!^2PUqE@_or*PL@~1hXk2WL*4Tc{sD&9K(T|h3YI{J|( zNNRE!W(qq74q~&L68#%`E=G-fCD@^Xl0E3}!trsxDFHK|Gz-{=DgI}6NPyUp^2i7y z8&evQ*GVtmkRNNI@|fIw;y(cGNtOWjKYZlcD@%*;&zD_>-_t|W_o=eUA+_Ac-efhpz*b)J7o4P{;M3qePg>6WJj_wg_iS-$c6%nDoX%Xey~ zmcvTCf*OPSgC5gTNx)nURe+lO+ec9#CR}b{<%o&M8SMU@Z(}9|W+_q^K>Gx76`e`_ z1gg)t2b5~T&YULLqZ>%`h+cN}HZH|uZJlhfjf*zafEV5=x!k93GK>|{^8{QQ7Me$BsXnHn;*Fgj39l?fSj%ZqIl-a$cKD38{^{ zC|+E25irW1qrxMpBzoGyq#6NDQZSf(+~@>@p5L09?a8dBs)4r{yorr(pl@8bQ99$` ziA@tfJ}GHP93`X6r|L>WM!ZuuI%+xqUzW#baYh7`>n zdspeSYAdRl>6^adS>{Kri}>axK*0e+=)#V5((|BVMd~{2p+3W;z`Mg@wAF_-<&JEbcxt1E-x(%)2w_A4D&p7-bCklje*=_( zUU6_xZqqdu%yZ_*TYUZit@fi8PQ3yKTMQ-CQv&_XnJ||3&b%G&Gq=A-`GvO~p@9l* z>INX{>#ua^rAq>cW5a|AM+vS@WOx>rpjF?ZucovnXKl7 zwDo2&BWHf{NGv)N1FpVFWG8dVu(y}Tx9ND$vE7?bczDdVFrc5A`9omx zKlOwN%+m3Hn}N9o3EhXfn{>ho08wXMoUIa-AYlHth?Y~su_9kNh30>Lv}*<%X0j}Q zasKz<2Sfzqx`}nM^mR{KY{=?r)6{A|J52AaWmTrhy2qtGgmaHNf3OxNFHDkVMJ3~^ zId^v+k%LeViytWy<@^6Syzqb!8V#nXcq{@1ozF^H*U&E)6<2*QOj;%ED1$7ufbO4hl zUmMX{kI|`DeUP8W1`0-t5zY{DEI*3H;m1JLlD{UFMB@&bvO*Uj(waL zXSB+id)Z#x!=nvJ^4ThSS&ibCW*^$|#PgdERt|YV1AV^{Sg0b+Rq!Ow=1JO>_WlL| z-VB$8ngl4SvK}@Rn|uKd$d~b)60zgKrdX@55B-{(d&ZZy4dZgmZk5Ri?RWGdzJnt^My@zJw&4RGL?Y5(r*i4|xu^jL7hG>7%nj4@4%bmD==`J_Mt4mOPIUFXfc{J}nOgBbMxz=`8U^mPm_ zUU_TF%0Z$^$Z}Wov2ku>T_3NtV8I7HmwGmI`BOHUHIfLpgN24D9OH%R@A>!ybvjA@ zJSi&T9#()33LP0As&({G#HW4L^&7KjIklv3T3n4s$1rGFQOxFUq}kb8S49_p-jn&V zn8#?KW)2Q)C9%aR2*{e{AmP|Sq*lTc_XR>D+`>J;@KF97C&D=VxJW(7)|kLto}G2p zXieyGk3ax!u2YAQYC3cz{*?Qj|0_639jE|IZyWgf&ilNAQk$;qas4C6qhwYb`wa^w z$;BMSY|Ts@6yr`F!>WXX0UAw>FYotrWor|5QXTAfeqM*S3o}$kwp6c|41mY0KMvA! zPc6dLgqYb*j)m{@{`TKB#YcK`i!%@L8-{v6^MokNqp)6(64AE1vn%|*+mp=4`N)-0 zUpcwhIUgjFEH7-`>4Mn4u$gZdZ`cRYM5+Y| z2PMTJfP&HtxoZL@%bEo3ZS`BY?)6+ZXgxgjs5FhBk;T^C?>VthgQ|_YHPl$Vc|sE$ zRN1H(B(Y09Bd?%?0udJ05k;My_IYxp1;<{Nu{1J@xNXOayu@{<&?;{xCdjk2jRc6| ztcPZQ>|l%cLr(il3*dR&Kz%ev6mNq$qSUSB57CB9V$_GD9`L#ob7A2k#N z+|6fG;866v#;w>vIU{>sJ-n#!TS&w$4-ZR+^lKEqM1t03YOLp$tV-P#fuLM9rR7#y0kv9dpYTG{rqzoa0;xXNEDM;p~&*nYUhzpL>j#>_5cS!VsH1r`e? zhg!rD#c+)MKMMdkJg2kW(>NU@LnvGS2_L6wm3&y7RvtVpAvmNCu*JQX4TQ@-UBzLb zJ&W+HWh_lE?|U{W@44;$qT97I~pRy)1wMZxD+1OS7YgD<1EpuYO(X)xx6(i1_IS;_E9ZW05}6)r$63@=8;1EO89IkR)vg`f zGf=^h&IY+YsoDrVKfdQLigpVLcLLC1*lPbSFF0_nchfI-%Clf)dC-BS&_4vOvD>?N z+V8D?fq?E@_LO_+xKFpSa%ri?Ot~gLoN}Y%DF!aZ$G>Z1t~9_RXM;0$zaz~|u@2!R z;t8t^ssv&k-yNa3_+Q#o7_?@qNLXeOkaR7^Ir=e$G6xRuJOU=gL-&K_1PLm??Go60 zp)%PG8NzWpgp1Ng8gcoiBhja?E`nMn#DNVsoFV8yh%zMuien>09a%|a6F}Uv@gy*JSb;dgp zUlh6k1C@pGyt91QK^|RAy7P0*a{xN*@zxoCyH;yI{5Q zNG{n>KBR`yezg+Ws~i0+P?JSUEKk}x6_j=Fpii091hnSAK;Y~jfvQNiPHs59Ka#QmTIQ=-1={; zg>g^zlbDPzs5Ux$)Zd_y z={KsqJM5T`?k`KIEf$*7yZ>|k0rwu!3NZo(2Q-a?tU4^c0r<$ZxkPPnSj3IPf#}&Kp-Ajb% z_J|Hlf4O+)JcT>csmu$;E^h`RTAr(6^_sU+uzZeTZccP}L_=^EXALXE;01xQ*$Op1cHqQdH2tKyofyn7t+-=^I`Z6=mqHxiDfyS)r zGhNc>e&aa9lSSA-|NK}YkhtJ)m~myAHVfhEhd0clW*YPhDmKq?4Ww~q(bLxxS*=P} zoa%L;FIMYne5cet7mW0-%gu#b#*{t|&Zf0bK7yD6B0j_*NR<|Z?7;1w+H@{QAa9sZ zV!$6XzK{@0VvSf(2*|nl4~p!w; znDWOypnBi=-deo7B-m!9I9Slat}vzg61wDbcaOMTp^;q|c@l{AlPi5~XR!1p(LJlI zh_-Q0Y^>>ZyQkWHtxa(m~_joUj!yJDM$}3E4z64fsHBl8U>; zK+!qiT1n*!EfqZ{kC%Q#vjWh{g4rU)TAeCleCCFUECf27~o^s@Xuo5?S$Gn&V$FTFp zGVbWB8o|&jyNJLEc(#srVdyKD4)nxL2f+$~TA4xF#Ys1Rea%3*Bb%U0-Fqq_6NzLS)7;&}T1KVl+@L55H1WALe;nNG^k-1(?at_DL@sgg? zXOI&H@fI+WKr}H4jEVvVD zj|~pv1=#_TegVGa&FV}9Tq?+(S7`4g+rCi7`??fSbn%;%BBh%VREa~u^fA(E#u!U? zs;5g#_6e;g45#hZ7w=KZ*zI>UX$LbBOau|wvYvga8uvsI|iCLg|eke z@A6U$WW{NINfB%E{@?+PeHXBW-iaz9udlXU9G@aZ1^Kk_wc>^y1Q~xH_3%ll0T8rX z$-hb7f(UHsn7*jXA!Yl|!L7t+;3dBbFG#5Bke1&wHc_Hn(`Fg?*re8f;NG)H37?3-N$z1W{SYi=TNf5IWd-)fM+|553?w7pXEopQWC$(AQw8`lpe zbM4!or0x95S`?1HD0E5>E4U;9fxOqPL8Yw>0Tf(jm`#)+vi~eoWf!sA!~=ObFFjz0 zx6gajVh3Wa7@^8PO@3YxE3rm2%~@iXz$MtEPb!c>30(C)^odbDmvi{hafC8=^;Sw)J;>`m7fP<(L0B@J zh&sOJiX7stkfm)KSs5j4fTnMe`cUCf>jVW|GlmOLqE{mB5W|B;xT2mWaUNo_TStVh z(h!?)tuFmAf<)7{#3%ip_;c8QSCPdDLt=RXHJ|qgn|do=Av?9 zP9q;>@XEe0fQUE^U2;6>o5UhA@XGhCUk1*u`PpTQ8mK3zoUp;vFyXdx_}i2E0vsCyE`47e3uQrh8# z50A_K61DVFj1hnDRnKmOab1&Bas{qs8p$>b@`0i3=8!Evmi0hh53ey}RDszj%B<8! zroL?IKv4%7*zbjf{8{^4*nl{O@?t(^>(lRC*_}vWkH=PsfPsic***Jut3Rl2I)}5T z`mSqS7;Y@g8T*g`ZZSqqK9@*01(!J+LJ_symp$Oza!ie_cs41OZ4+H16_lF;4{Znx zzSa);Rb4rImyy4*Em)J4m+x^b_XstM_c|et!D_iBc zUCK0+CMwdR^~-h*P8e&r{}NDl()3R5|KfYv^Mko(N=O}{^_(!{;#5g4}ROS zBjx#}o{?Q^i4C=f;nWWV(}?rT#`-22!?tCXa2EJ!wiuG*mhJ=bu&VQ_m1j)-?U?WF zAes;MrnS~chMI(dz7}P?iy4+)Cha>rB5xhfpH-tTv{0Yh-rmXN5Pws)IIFd2MwKn# z%3XyN)^0e%c>0&QGq*ftCl+$eRATcAb9QLM&T_%JY|JINj2FnBo;3gk zbQ6W6Pc6P|HM*mNZxAH*9bZbVwMo1O4ojxh7?D%XOz+0k+-jee3D#D3L72`|k9lfN7i#e1v79*mv4i-G3*WI)r;YPv=1SuTUsPcK|e#=-WL*9u|#Db;nv z?6RJkyR>1l-)?CSQ`P(&jg9t>pbXLO{D? zWco2?jN?+!-lCfiTMCl`u8`+-Sv#W$&k>%CAvMFbb-P$9W&{C~w)2i9xkd{PurR|= ziyciApYQ+7!J!l(*p|FL(!i0_%0m5m@O;~D#T^Jam=OKonfU!$AF{Jm2TIOFYXunc zogxWJBwS?xms#e93LCh)Z_LZ`gX#*9=>7*!;*g`Q@{?82ll8&%+6k0?)Iy2H15uFk zAoEw=Wm$K^ESx2cD_n@{2auuo?e7x~u=-WSxjo$G%-91JD&+@<24u;flfg6#(T>1% zj_{#>Tg{wnPBX@ibLa;%I0PfDsF=I(6mc#@7P@3bo*S&>4 z>si~X0-^!%PCZApBDXc619Rbs|5A*QA1J;=9HBdnCtOkj_QcAbl1Nma*~o2zE;*C4 zm;+`1U^(!**i2I?tdidN@dl*o1LWm;2CDoWMMvk}h+Pu3J^|(ToK9SqKdZ0Vn%MTi z1?vkqs?F^x<-AL;O-p5A6?9CthOsDZpXUby%S?^Cr&ic-PNmj&^fq4Cb?!fmWzQq4 za;r||R%J;~3E&VfJQ+eX^A>i2vlq@YR82uV8CLt@kUJRwRWrzRZUO|ko`R;Det26B zq2w_|(l6scDPBb42iLGfTQ9BZIXn^dyV%o}4aT3CM6UA6$R1M6z<3Y5bFc+?RRvMa zDTf(W0Lska4$#Q+QTMVvZ_JD3yv{J>9%qpl3Ot zQVYg}v$liGdLIHilhGq*EA|WqJMPc?9|^BvcUIMQjAHu+$~nHF{^Z8KYC>U!eHpGZ zC9P&1jDAyFkj0-nuaM^frcO3cdqb)t4}h$_wyv;m)GU!Dt$LGcq}iN>C1~?OtRuDE z9LX%4riD$F;vMZa0=<#33T^reSJyL}yCweNmzg9gkM00xRRJJM8$YmH9BIj5l?vUO zY{*d9%I`LkW`UI!bO?($sK)*1xro`4-E??r<6pxl+QZKVnv*Y;1`(WSy^vk^W(MW zNN@AbHok8}1Wit?tUWocK}qgQ>im6$^u`T@pBF6UPF9mFz$>kHps7d6QtkV`bVV+y za=Pso#ZAd>B1P94su7)t=x~aJl$qm*Srie(16e~(e=ow)O7 z?MK(HeBxNbx`yFykA|alulPI*N&zywzwn8`Mobi%Q-2Lm8UoY7s3wBK*IZTQAjkh3 zMU!wWof-OJqr?8Yte3EUqHLH>vQ%%iK_tISNg=NGD zK6JeeCk^%PKF|{z7FKhJe<4=b2Q|sBn6Z zapxPs0c*60uy0uUBL8oX2Cn@C5A>sQeEyr zDo%1MFobu&A97(zd~p4DES~YLX6HIogW2b}GF22oW@!;#Hv~JLCq01O(jO&jmN$bN zqu8P5e`Nici_ri3k1vv`&?mDH$GJGcElvqS5{QI$rI{N1z zS~a8U4W`}~RI?mme_;iES1mz9-BX7Qv*hN--MFRx08p}rC9EqMaB$F^-5F$8A=b4b zl{iCvX*>Usq)FGY^CQBTZAIjpiKc3TU_%dbtges@mW0(N5Oa5195OI=v}eWQRV>gQ zM_ei?N-N4(a5Wj_flGTU6JjubK3R2;8xbqg7nU5f9^{bkwzs_<%fWt3MsZc~OMff3 zk{aoqcx`p*a~UpW*CyDEYR9%b&+;D7Cvi&ka>3XuU!v)FETg;KSwnmims8XR&L@Xq z4DT)=CtB`P^2Lr?@BolnY@KIi&Eave$Y;2 z$Jnr8sxJX49Oj_&;@J6la{?#lU(?M9dZaa#5ja7!%%!t}J}SiOCHgN>WxgwnL7SN> zeLhBXg2_u)w*tymxA`a?ao_ojWMm5zGfbPPn-!r1K#41;^dGw`Wh#!fjO3ojYUc2_ zpP9j1{gAmYzV3-ukZ;-Y>zKr#mNVr;x5eApFhGa1iT1O@vU!LP8Bj8Pq z0Qz^Zw9EbBK27mJZB16KF1;I;E`rDu>!$OczXj?uINJOGI9)cV{rHcXrH*H>MIc1C z)UQg`B3=@I#m!ggZw-OooEb|IB*ipV`B+8&fPQd3+)m=~(|?dFA_Lz)GSW8=xpmy_ zha`XAbU9^Uq0gBS*x0Q+7&&_V2eF=rGjH0SpZIRz(E={%d&H+}QvD;rlnHw14J#hp ztAWLHh{$ub5$ijcoW^`W>$rQSY*3qVPhxmGoTF*q?hqfia=8J9WX>WSGLOEyt@tIr z&PZ+V8Lk$6Xbw@wi5S|WOi2<607qphHyf~|0>;&3FrWocQ{g3f|x$a4jlGPk-dvjC8HHR})^i8y8oQXV=HQ z1gxT@E@Px0RyJ^=?;pj0#2;#%E1)vG0pHYrl$t|KLil)muUhJ~Q;p#i1)5N8NS9fS z!{dL)Ns-Xpac1K2B~-ZbgDpP)^MjrZS5Pl=@_pTtw^SSB3}+@Y2B>U19=f4|K!qhj zYTB{ksqek8^NT*6qNsXxRF>sBik#haiZXN4RJBYAiP&%DY0yj{UMPDG6QvqQCW6CRFOk`*==mQ=!^#%hB3a6Y*kw1 zVP?%sZbp#x$Usx4gdVIxku7y-=A2%174u}U?EK_yOe2&Mio&T)k>$)?MgIP+(dxH# zB+T>eq6CH@4P>Tgp=PkzC+e*`P}7tHV?wS5*Ze1xs2U$UQN)Vc9Z98Hu}`mKe|+z&$mXkisn6Lb-z>1wL{RMI9Hx#GXGvl&ZF&D6E2`BKYN9-=Oy4l0)=; zg!@9lP8{d>B39EAD`GZN#Uo8@&Hxg7+n)DW_C+Y#k2K|4EajR|wGAg0 z)Ctv28I zc9SZbs5WaowP6{!b`J^MnZl- z_Ya;nC4KYTJ;b+-^XOvX6=X%j2g(_=Z~5Y^NZ1I|v!ATMqCe>V)ry?mtqg~;a;~4v zLRu;~4u%2=pV7gIC?CIT;)zt>7epm|q zU@Xd4uH;J5`hTttDh=xZIzYw0(b~x6d&Nf2s^2I(S2SJiyJkkJisAWmcDEuRt=p@Q zP0sCG=j+ks4&h;<_IW1ku=Tfmi2xDe2m@@$i!%|!q2^(*SCo`9SenD1A&TM%*vP1@ z$eHmi9VEI~L#hs5*aN`D81yAMY5+`x<=Hk~cJ{&QZ`WC94h3Ny@j`A`^O*1@uN=Mc z2wO9aD1|cj|L^?oMdtm&Wn%{)V~i(`*g*_&W}flpD%hj;S(EFb;+u~LE!BT9A4hb4 zgt%GO!4rAjJK5R-QjZWG`#pV=wlF9!b|}qB;XvByfH@k`4NmFG*Pn_*iUAr$Ge^{u zkdEMtHN58lnTUbK9>G#u^6S02t_rp@W9lYy1m^jui!i@B~$ zqR-`hLH^-IR|e+$CFRc|9H=VvvxrE}`5A3iaxQHg^Z%l&v|5>Xv8_xOzgOl_+| zmlK}2HC1yHKQ(=3`9gIdiLFilj@e)dcTo{HU zAf@Yi#AqI=e3oxKH^DLR4vNJ35ic5)NNOnW&zx&0m=LnI4ZkU4MrCE{4(%gTs7yq! zN{^;{nQ%c90rNxxEt4$}aSZPXL~{{; zg~^4oAJ=YC!{fu#gBdiWn6o3q`P;+)NX~TPyg95$c&9IvqMIDfK)Q7g|I~3l#$p5w z|5TP)NxiOq!`H_NrL4BYr{rjOR&>_&d$AOhjCBFgrwRj2$Bgxd-xfXhzmin(b>DG& zb1VUm!BO)*z+290XPaoNGwPFJVCMGsF;i{5BS5Q0!R74 z>#o>?czRo7WEQW2;P=Wp9Tx0i=nt3T`knUSkmKca&&jm!i0~w~T<0s4%D5LeW@j?c zHb1Y@=>jf&+vx90)iU9kE z<3-*)X>%_AC?OgdI8-=A(GDWlMhO`e>?RB0nH<-cQA|7OYMqtw!&A^!n=K%f8k@}n zImHQbSyglU7przTVxoG20F1eQfpAfNjBm!~1g~n$N{~%8LX?%fSUmaxJF6urB&2q$ z{UbgJ=;N!-qXMyaH&BBg9rL=UMJL<1kyxVo|Dz^nUHtl1#>z&nzcY}^=op)zVFz+7 zKF@x?LO2tu@PF>LT~B5$%HeCi;8!MSw36n;(q4Xl79VfjnNvfq$?t%7N#ou3A+Hh~ zXrH<)g%Nk{LiDFBbIgU}6-oMsLu@B%suXNHGg9lF`P^2DqC`bj8Q*TkrOut=X&6` z&mTFA=*GnUDMcAcJsh~arpuLWx{3}G>f>Ya*(vA1KZzR zVPlJFzZS|eKQ19?4VJkB zl-n(pO?uXxlEjxJI|SI}#4=16-jW))WYxqQSfNnW?N6HsdVRfkaQYC9eDr%PxmQ2T zpA%fkQQ65AeW-|3400#tar?Zz_8mUQHN1{b@8MF%$xE4roz2gWkhAN>lSG^{33$vj zgp>6)+pHTH+hlr*%hr_e@{c)I5?^a>qn@$ptmn7Wh+e5q4#)@JuYq_@aNnlLpe+1O zH3^H4AOaozRs^?2OYdoB#7}~XgNu&PQc0;9_sn%)!qUZc(VVQc4+a#C;jF-je@kA1 z7P!9hRCIc_Z;EKqcDAMSVnGTWrWZiPUet{5<&I7Cu_HsSJ|XDUlf!N=^BCb|{;{hR z2$hsj^N7aX;i5=#J7Ai5>KDf0McG?5wYP#Qv>BdEE4guPC>dEo!21kc{1-FbnnrkC zJFemX*9Id4Qlvm78BCD>WPpZD;bO85Knkm@oO@rXZst z3RW|JKVHH#91l0N;~f3BRv-2e*7CnQNpdLMgPXZFBiku*)V1HFc>|=3DxFj}*T-Lz z$q9W(dx;X2CimBs0BjybS~>QbcW0=-2NBg!ND>8)sW+;$#|&7gBnfW?huobz=_yao zm+nB>{o_!15Oja`4%N_=`zn089dYy{%-4!J3E!&f3xP@0fUd2SNmx9A#7bMFoC$C_ zTYd3wnp)MaRC`S$-g|TGw0@1RE_F~!!((kDMT*5FYU_$*3ZKmm?|l!^a~P$LCh3Fw zF$!9|0)&#f9ELnX)wDzr@LJaWo6A~##E5N*?3`nExI`wNu!xArIs?iTB5hs45ma%nC%@iMOpSreya(J`S z0eMKW>Hf5jh3sSJ<{-sZ5f3{W;P|}Z>lXG8m0vPJ76gBhw|VTCWOKZw-OsOSzA@xh zl`6;^rD>_onGanz&tZ@u%vsa-@cs&lcsU_iwPl)Py<(^w%L{p_u)Il9Mz|fdkkCXi zC(`wLn93>h)07iQ=?a@uDIT|D7w(arp8WinV%V8B35wY8lRjj zMvm<8TAO<~L@-InVY2C9c<#w#3+Ph$;)&DqEJ)MveS?Ri-L8=bHP5U z(hB9x7>C<`AYNgwM4!Hw_c_vUsOO4Q2EArf^`(%Z+AZ$-kkA(2*a+VK(XuhFQiwy; z!cxZhc@JNjR)H&7nuJ;Wf~%+leUb6T6VT9ZqLAcBiIIa2g{Vov6ffwcsA@>wwjYo8 z63P1IXgfAFsP5jj@A8jXW>u%3P6|-lLC)aR5)Xjia(QvW!@woLD5<^zRQx1heA1NFHW*vugZR>Bu;xeWdz?Q`8 zDXfNnRx<+4x)wgARhcdBivhFM#5TGNVe_;|$X~!3yhx)DD(re$f&N&C__=i?W3J9T?Q7^?X8YuG)=uZqV8NGrbh9a_|>O6IQ&z^?q76`%ef9!8kkbh zg4A|?a1Pad{s)Fv;x4T!oj!8oi4I~(oDE5<%LCBPf?~64S9%(Pgv^z_6XKE}>Ktig z_Pi83gw7O`_JL~z7CeB3&z_i?^YO}e!+gGvtDH}4e4)hnQtxiuJr1^9h5wIbVkCI=k}(+d|@{G zb7T=~W-eLoZOyV5i3*H$4Ds(n+YGcR!x?58h)fzifS;`tWn0Ht@^_UjGjctKuWku( znpz-Vf_r-w#?kr$qm zVhZy;C`;qH51BWTn@rY=m9KQ6ip#PrCC!B2IlIosA$_RD+O9WaBlnS))5JYJ{7E;A zF^+*wu9iEt_)U5nsGHM8mgHY(SU)+PhZ7h(9Da(us0A(>1@!sDR3pCo6rCYj+-A`Z zH#IQ&UG+*$zy0HSt$B=vS?@x+wkU%i`7cfmaSSN*1zvVz>lkK}z6` zabvwz2=fUS@vu!yPHL`jq_hNJW9PvmON*Ts*1;q3lOb6{% z)hUp&UwoY;DOSFt(EMgUs5-*wH)Oy1tMh)enxo@-Su!ubPPg>GkoSfG=+AGPI zZ?-|Q=qKYxRhN|Gi<5r`=x~rh_?fz~q~}4V;VDzt-?WE%aCUf}iu$EXGe%kNU*YMy z+29@Dg_h2%k^ck0t%=XSrjMcD%aKP2DOoHY{_kI zKZJytF7RcwXGU(`Q(gP)`a^?)cYmrV3Y}(L0YhsuC~*auypFK3cGv#onhFm0oTLSh zxD_E6m=f31SHL!2m z{E0{}z~R@Z5vPPB$C3^Lde8L%pkLxRcCImG7jZ^W1cXu>CEA!7 zva04xZOUOIl<<9H;6$YMC%+hslCmq&9YF!h1NN=XydizDI^QGWRx%wn%3HjE{?>l>Oi)l4Lqn&sZLS-75kiVcXJEKdVLoF3s`= z@!>k4vwqHhv^gYF>7h{yjv_qd!h`n;5RcI>Je>3(-!JG6iFn@;m6D`~FM#qxHVt<9 zyx`GGg`_H?qFdEUiRv7(+O)9zg-PsAR%Xotazl;U0#OTJd_30D7??{s*4v-=m7ea! z5!tDNY>sQHP7Mr5fZL!T6_ogYcR;uG^~YvHAJ<>a^O>YH+*hR=Qn}?M7i5Ldi?u+G z(?i6GQPg@7rw^k}9{g2z*wpU__>$S^6fcHc+xaldG4JuRolY}C0m<6DUFL)5Amr6@ z4#7invWpMAWb~BZW~1dy0BT*RuVEs0gR?yFegXNO`Jr@XB`mOe)W|D1{k%}r>z6PF zvaf03X>UMBBZ4p5VatXRTUz?&-x!=WsPB7zWy?nJO8U|>+}c2>D;+$r>Nu>3$W=8z zKj^X{i?S)KJG%bC1ob_;$W3w29Wfeh#A?Fa-7EFB3&m;%_*Z0lxe0_2|FCahLF)@? zUx=ECC7rV_(;S^!NkwmUARg}Wm%dRcX}&6g)3gciw1`68kyi#PKykLRaqi|-{5AQI zeQ=&3zEZCxeITJF`Z)aBjZNn+=ae4#hk?+FYbOEGsq2Vz-m@Cs>y!m(h zdwAk7=hlA`Y*;n~P8km3?&J0#8a%&#Z-n~l3{24pFC@?J9W;F-Vq|0W{SefniP(0K zU(hPd*3bmce$2`SP)HLBs(pf;n*GK@&CKcwcU}mTc>CZ~3R#R0_fB^N%oZE33l3hP z+x+B{R)=%o$}5D`s}81+(EgZzwBwupcJk!bVIz7YK>-8%R>EcWG0;=fxT*5@K zN}y-vp3sR5VKW1pxM!*PS_@Fj)@^mi)+Z?f;M<1qKGq%t&e&kW93)Ks1Ogq=S%fh} zWLf8P6A37*=k_O(`N6lwEI4fu8z*>L-936pC#zU_buw~BgtMS`4ko^o6$6KEW;&qI z{ar`j_nT^a%-~ds0fu6I|ECenc$fa>9~mWTW$O9}F^R)qHFk^omxy>&(iQpd`WSBa9L?V1KxI^9rg3K4RhM(V}Ywxo!R@ZeNxIV}VzGUW5qtuTAL zRokNTfh;{_wKK8}-iLL)rmZxsOs+>mbI!+i{%tayb86z|0V;%Vwf{{U0I$8VK%545 z`I4S@!jY86cvEMukZrC8IT5fcMu!+EaJv83G zO}a@ryC)YIqL2<;*T{z(cG5F}xdv$(L=C~JduXkSs$T;D-O_#*FWlfg3*op9XCWEB z*EH2-4V@tXzfN_iUchrOGio$Aa`1H0l~+zw#D9G_qbe$FR8M@VusptT72BRLmHB}v z`>Czz!b*AWI75=c_{2Kqc^~Hv8!c!m_a6o-`k5@GKds(OX-9t%&Hnj!`MpclQC{WS zb3;KXKHhH-B8YoTQ`BloVW~#A+j#1F8Ag+DC5(p>LzungJM~a7NxvaJsr6Qm6dgkQ zu{^YF6YA?J#s+qngRnGe*3L(|Hu}3F-6n2?Z#xM&^X`#)B={)}`VgA%)EfOLA=byq zZAe@Jmle?WmIfKcxHe;??*0c}gF~mv)nk76$IDVNCnCnLe%shu@mNJT%fHkQ+%mLI z2lD0ziend@CJ)FIwpKBA1uE-Za z#wRVNS?9Bsi$hdzK>V5VuAoaJ)$H@UW^6Nr7OU(QdC1##zVWwd0f-TN$4!~$)HoTs zBMWOSi@32}I!@5`bne;XhQ=$ymP3Qnp{1@(-zE`^R~SOpUeo%j&j%)RnI+PYw3qAp zZg4>my)NiqXa{_xcflIc})C_EuHcZ}sZ?L%29*b2Up=UDxqDeq-Nfu+P0MeqsA z<768KRJg!dbA$K5U=*w$mp5vhhH|;92BV5=q?S0sX(GpfK?)5pmtt$CNhmX(&njzE z3RFpE7SuBseg*ppZn2a`(Yx#R+o$iQ5U|dx&m zlHTm9*1+PX&hJZ-vLOYLf=cip581Pb#Jmxeud$hahiBMKpjU1at|05awg-qlS7p-5 zvsh11*Ena&k$fsJ4rPH6BP5o?=mwyyDzv4y{Tt;?&42H^IG4_7QBvtXa+HHwPK1!g zm6bcDp#*ISQv9%V_Ru%q9Kt-18P0|LMcnzHJhiqqm(X{uJo8)=FPa zfR)}imi?WwpcM5t{Nt##s7ah|a-_U9bycV0)DY>(;ga@SlvNg&^i`GTs11aVrSRrZ zmH!TYcHC00mFZhCTkSNqCermjYmm^BMdkr{>`^_w02|aWeSUV%X73?kQwLAb(p6^< zh{9xk;K{?er}TjtfRQ(TnT=suPIlks2A>9)J;bc>*r!)NrTEC{<|dDVpBokdNTwpa zwZcI9E+JcnArkF2JO3j^wTeeT;?F+H0ARkiW#g+SlgZFV=@5V#rum9%&klC@>gP1Yx>Q;%-H z-=4gpZCz`)l&lSi``kG$J`ld}l!_NW$AvPclHikGX=Iew^kkd1X@@E=dYJ>VeVL$` zfoNrsqITWDn;4yk9jnKsb>X=geIzHEstFZd_8b*VjDlh(mTM@Vg$&?>)D-4QD8~&5 z+!0l*DQ-c=uVb8ttww`;YFaN{2-eN`VrTqbui@mb5X@-p;1(~N#ot?S%d&=J85sO( zFDZB zXAza)N0jXI;|rxMSoBHdGj}YBLN8n`Xr4iqK7VQWB#)wy_8G_7r1UUbwXZ3na84!m zp7Z(UwUQ&sk)-ydw7zaV_Md52y@nWVJqjIr-+DU3J|{Q(fSC?%bkU*b6{D3Wis+d; z5$=HPfC%akHqGl(07jO?^S!Sej0J9?Uiz`i$mp(kNuoQ5o5%ion0NDlIP1v)6@BTv z8)+FT4zj%Q)b%+!;#a)U!EeA@(Xx9oCftxk{f;HVD6kU?S$OJeIWH6nFt2tb6@Q`f z#a17E%xUqK^rOH_lKtJl*TX>tX6O!=C^n)jK*aUey27*Ypn}G&`(}{Fk&4IIK}Be` zw)lp#{&g0qwp#Y0fG8hx&q)XXdeW`&XE$aXRIa)DQ?l`miKu{0Nl^s7+jEeTYu;McWGmj+l&R#=sQY9rdVC%4i#mDUIOJ9F1?}okNUH(_qPSfNo9`7C#$Z+bXWfS3VOr z9N23)ou>JPsXkqthktn7-k6`%CVWZQO`|($g)7-*CnsrX-uW9;*ujM6tEFu%HAWf@ z;1u9Mgmi7nvzmH^t*$Lz5+?QUmnb&zjI>t2wYjuX>wMCjV=JWLhm*N3d8-m?s=Ph4 zo4X8pPu|rbRJmHjJ5JgB&koaQ#hr%EFb29T8mjVaan0n9Cf%fo_PGj46?0Hi{jag{ z3>|cZ4+(+W7GT63H^h^^-F4mrF>pbN80(w*@W-Hhu5BxjYT$aQZn^bhUeCEXg?~^x z?3u@C&p>u*#A8pL))?DTzJbK~m1wy*$}@a!vqoWPZfK%SpQ592IWbF&VEF{{v&sfw z?eJO>)4{{;5_9(EH3e4vQ=I!ZyN`dO0Fx5U>X;VILT|xfqSmF>;Op38VXRPAO*BHx$MCvb{I3G;gPcR|*gKQc6K@bxg%-17A# zdW&hPESje#e&d3@H!O`$d)LYh$6ZKh{UU;nAf_m1uok{x9^7uj?tX2-cr>?*Bn>b4 z<&7v#^wi*rY3>(O-zFr4t|o585V$yt45`{ks!;MpZkVnLuM z%og2+0M{ETh^Cn4%7Wy<6MMC|RDg1?;}}2huo3qg9Qx;C9oNWm>a(IAD!O+K(72e^ zr~J+-FwvEAiOc5|>EgwP6y^%?=o}MjEL1{Y;xdpmSy}FgMTL8I0GLo7ZIti`I(Gf? zSPS+=1(|?xnfJ5t$3}ZCd+^5x^X#i~|MxLFBV;HFPEzA@vOiU@}=^Y?Q9>_{|hW-M-34_nV;`1%U$r?U*~)jYgBnP zR5d$x#B%S63fdG|xO8Q{97#rR(>~?=i+D5a9xY>~|Ftdae{cguSsRQOyzeu)O?#Eg z=8z3)VjR~ioZ2dT61C&TBJ$YLwQ|sNF~Mx=p$hFOW$@@6)F3jA?YUQf7(#%D;Qucw z3F{eSdHJlWm+-zh@ruZi9|^4l8+q(fQWBRr0qOF}4E$sSB!daKOS<^1T#msC66oL_ znIt6)=Io$?A3H@`lQ;+VSbM8wmdWkLk=W*c=ZDEA632L~Pc7=0y*@pZExr4}B!OZ) zH_iCV1~Q*KRhD*Jf@2Z_Cls`HB*3(JAbII0;-iBi9W7gH538=~GW|o{M7M?8?0V&+ zAONzF-tM5F$jIQB;N($aOyOpdEZ*FK>chSZC`~Qa<3~zsVF{WM-^mw($=F!r=;`}s z?WzbBgIE8>!4-$(G@3e=rXOr4gYdV#&dLq?NlNEx(I9NV>ci1K5|4cp(H2){o=R0r zXV-3$MgoIMNVI4|&+bs{jk;MWnTohRQ8Y-jnBow#+lp5Jzh=-$kyevdh%;ES`~!sw zicx+33L%OGcbPvuUk?y#{^n9h8a`3;p7sxna)@9K?5lMXnR2=cts0z#$eBDCO> zTD~fU^4Oo_`jw z21;=`q}N<~9333URP$buPRjTd{-3=!ri%r7HU<0ywe*CL-wR?e56+}*?;Lgcy4L<` ze_%FCWm7{!=^G8NL0xEDcFG#&5PnF9v=z9^9<*pZk9N)v5A5+(q%70sz0>Mxd$$>s z)WqbyT0|H{0il{9N5NjEybz&B--=kW;m_|8TYRrhGBn6YKH`FO(fze;S_?28D7A-5 z+Zge=C$RjcQ!opE$`r{&@2~_EE6LSRh3Y<4A`0EtRQ#FCRQ>;vp7Ic4A!h{4jN}x% z#Q+I#Bz<@?`!>i-dCYV>$DP?f>{aXo)v)zjkMBRICy` z4~t};C?J@5s1G45#i`Nr)(MEM%0KEP4xH1L79N9zhTqdSBbsRQblX!yMi2UN_Fvj$ z)ldWQEwBG(rk9`fH|_{0LWW`YPc+3gcw}9Do99{E&7_0xLVrhf_ zArOXJ=UQIU==l&Q`dRL-5W$a+_DhKNdiT=z1ZpYckrc&Ib#6HJkGBI*!N190AfLz_ zUn0Cr3{6i=0p+LW2A*x1yC=NdE`D-Ha96(_QG_vHbERF(U#Z5kIhVyVAmU#vY_UZr z>9ccC`2d%Y5>0uvvyaq4K29qJI}Lrz9+EIj8m!;SOjr`o5uU}L=ddm7FgQp|SU09o zTstb*vi?Gu=jTzp%;d&7*4Qw~+7|ll?E3|#V$C1lg{6pe%vYi_bRqsxJttngS+nU~ zkBUYT$+$Kq%g>4--UjIP$fF>RhzV?4pW}?d7w&N0mO`hfSU)}4%0(r@oWXHDf_k5R zNR7%IQ?k8qKDU4Z-_6JQhIK#;4p-PLnPS9C-@$JdR#00E)-leB%jg{u!T(ayxb9iO zi}h(73cQ{dTEKmZxa+mX>N@fR#Zq%rHpN+=9=f+EpE)75Yz<*4SEnT7HFyaw`ofv} z>SFt(s^@V{cVu_VthYNbEJV&99>lI^fX(#@6FcZ9U#gTwS-;*ne5z;D(GI7a_5a8w+E1l%8}o%lv|22QSp$W0Y7vw{ zH%}lrKJutvuPuf%gDa>o*karJ$P7+B%}>4`1?bu$-}&k5Lum~^CBv@7M~_9@mBZR<&gJrY4E zhl1Y#5cqF0TITFGb^5$PAQV11pt`{Cqn_HSYP&)XBI05cv*sENLih6ep!HGe8{&*| zPPBZ2atlU1s&yN7LvtqdSvvz5$61Iu6NJ@&Hu1i}x^5JBOY&G2Nw}!|Igo6)co$6Zu=u6t z!nD*;Ad$ecbq0xOas0I=&!sW3MpA(r~`K}rq%(;Ex-C2jaXUW>ZwUj%c=T_W9R4ctn?)uOsVA4Wy6 z-@8T)5|)d19U3BGc92clG~{B=+>#@HgP#ll*FY&^g~0yKkT@C*oTbZKG3AD|BO)FZ zcRwjr=@8)<97d*sV~O#)+(vS9k>0P63l1QdOFoY-+e=6Vp-JElK{0RfQY6Dl*$Tr5 zH-&}^Wsq>*83ZlNluhtLYnt9+>AfYJ*hXqc35+Ez1HuCbGimWdn24Gt9=L0;+X|_u zj*7Rhe!64N)70(Ghi1J~k&~6fc0`a?tJh+sQ1Qj=seaY!X-cMyJlaIm_X*sgiKTkH zsJ;(pO7=;zFAv>q*Go^~&fnW4bjjg}XG^oNOtGqzFlJ@pokvj1f5|v{4uc<3=S^Oq(ktmr z#xr=5v|j3$Y{XoFP>*0n<(PZ8-yeYpGnoTssB-T+)DG2!>nNk~+k^FE4Op8NI8Wup z^1WY;v?_@?P^l`}X%K##$3fo(CHd4;TnalQu=fp^U8IR?g8BKgBVUANB_bQ3E4N1+ zjSC*>u*pk`j}+6;dpY}@^@>rC)QbZ)5hvJewnC^W+DYK0GQ5YN9^cOCRJD)E0_IMrXuE2kvH2pqiF>0_G>-z$8CC!4*)|+P zS?J-O#AM47SzS21vo^fea52v(eA%6i*Q-+LYRUrSKr0Y(8!7Flj*bu0_6f;c1_v(0HKQ*hYrD>gbT z^yh4bd3*69zzTZR4td`^magz0YaZEQXlcI3q)nS-OaARU-YUzBQO~K zIq<$?vfn9ilVmgXg~eHn^n(J8>BgUzH9wfjnHOl9qKX_Vc~7U6D9{e%{Io2lv)g#X-fP!0Tsie|+P~`ybXGdrw{Ugi zXDq6$>P3+8d)DD;7;IDwToTnek6jV`Z1Lln;Xe<@4XdZ5N{T#6dh~zrlc~Ws^UdBX&fLW!|NT_xgm&(Y4)CjV9c3 zB2)CEn@y!DC&rD*GMFyo{70nuje1}hnu6124fMsNbK+&?;*QJZr-_xj{k1gWN=T&J zwW4&`27jtzPW=E~Y82^z1izz5(rM>>!-IO;^ghx^6Ea&|j&N1}D~~7s_{Zf^s0J6o zl3>2!GG%p$5J(lbE(=E%6e4k&3ryo*|0`-eCIEL%NkO)H_I1F$>TQ`!6(+H416=({ z@P3feRGnW@caHcB=l5Mus5s7aq3bdN*c#(0@h2)(4GrZZBKW|IuprUx_Zl(T0>z<6 zp~UnimjDd8wb`-Hrf#Ko{qQk@^x58t17DB*;XT)3fP; ze7<<^6l^kIf2O6;#(NJ`;tN z!)0jwqf!Z$L$Bw6%Jq&p6@srG>ZE|0;w_kk2iNzPYc4H-BR&F*rya;UY^D|~^Bz|9ic&b+`>ET!zeRHlOfylpu z26m&LhZa2&?AXz2(rz#WEsc+pTi4UzRH@~SsAHM)%G-LGG%1?_I3k&j4EVDWp#D|_ zkBPdsv&nBd^2p@!K zIu<@}upwrM##Zf|sfgDd{09p*WctF{1)v!eO9^gj9=nz^ruA|DT7SD~DBcV@3F=Jv zaK9e`I+a6Hd}vUf1BYQa(ha^}H8uV?I;iQgT8LjhG+X~VjUs;_OuPQHigI#;#J9AC zy|*@%en|Do^!$mu7Fx{^oCMCn&$^$$cn|qoWCB0FLL{QbB>(bZ3+r6 z*&M0t4z0{2?Auib>+p%w_c;fxhtI5%)VAG;)le=D*xB})3E$)--C^SbG51hM6 zESnnQueX%TDeR0vM@i0s-2DPrrjsXY;*=e~`1zA~x%rF0XvpI?e~X1!?_$4&S8ezc zo~lzj6h~h2dPDr8NF#*aH{7tFf|C8NN(>jCzwbI)9D$5`SC|GehJy)PWbnlzYD>!8 z{T|Xx3&)}H&<2_^^PSOH{hNRlBmle~p~PfG9pa$Dg?}7=WZSI&LYS0Yb+3vNMb^ME z|E`{BbwVl32PM%UgM8WIGojC3G6N2pUmTa@Y7BEem_{{4)0U`41<;rygi?bmQI(SD`>n5#geX;thst@2r(lsSnW+@{Mfu>cwn(F_#VZG3luFb zHF_Z2ZWn9ul&#+Q>iK>h7dEu#^=k6~*w{eM(-PZfB|*=oiAkA@vv@=uDcGRjg}o+! z^v1+Oid@ML2bdCPVK-||e(HIsV+A<3O2{y=)i%iPI+DamQ;?MIUD1K4U9*~+}=Rs5Gi1e zf%7kO{VZQpWuwoQ@SQJ=TscjLXSa9X3sjXUdneZ_y zTHfths)1d?E38{)%@0_M2g4ub)_G!7BHVQ;_(pMoeY|nEx=Uh(<5JENWI+o!C3z-7 z*cmT5g@=0nI+qlI^2Q#;X)lxh=tp<=_vRXT(%;)TSB>40y((7iU|+QXLr+n-ghE}DaudK@MuLS`R&K9dYF$Yg`& zNVxDfi8W>t{PeXgxAP8j8(*%PuCNY$tYS;VpX^29GNQjt>nDvE72rr)YpJNTV!j?Y z^u(}+bFwo>AEs%;h)p(t1{8vZmL8k7DV8&ARj^HOodEG75D_SfKy(d}Pc1@p{GB4K z->2q8NNcW%=@22|?oD8QE)O5jF=fV2y?olj!(*1{%Qd}ayeBl_MSSWJ<0qo)NSn&? zyxgj)$ zadAg!14sa?{=OkFXOfS#K?eY|Qpf9*%@6gJjX)m~4u>@y7#)jngW1Vsse89GV#Yw$ z%q#av1auH5Z9kXi9Fl+CsAn6C$M-!MRNqq(QO4!M0C3Cy=VzY4%oM&J0i7fBxT`P# z$20WE&q6d*(59P^j5%;1C>8JAmOfzN8^?Ubm!!|Evf@(ZQTpeED0ig8Fg1P-CoQ2F zlB)2NeaCtsD6p zJ=|yM+CJ|wacdfO2*q?InT_!wUE`k~5gh|aW58g6SlvU;i*$BG#5+9)e4+rkDGA;? zg5Vg+y6#gL*x?A?V0#!OK{?|rol<4()mi4?tNlCOWnTe7S6a#!GTC<@_(K%hrH__F z$8#XQ-sCHAaS=Es1PTUi8dS%2W3fO$(Z zfJ>iA++2CiyzSpCs`fe%G9?hwi|@KpCEo*{`Y9>CXTnl1k^o!O#iiflGQRh3*@It% z^Of%QeNVXxiPKFEdjN5RG_+xg+fg}<*ytjUux{Xs4=k)|p;*&1KEj}r7P6>{WM}dJ zDZ2t=OUj65#bK%06=?Y?&f=ru=r&FO=~mO7c8JKV;Pwa3sxyx7dA;qi3=*S_&3l{& zsEad|ICTSl8XBwS2>jt7XN1%a#C-zQYz$jv+Aac#FfvNwiXBO33pNhFNbFAsIncBW z*bsK@7%9o*i?~z#rseotz1@8p2(IZ|KiMz}lXzo#o-C_Q0E}+@dsY){i2q+NTsR4V zC*gV!`4(%7YuFzc36>zTp9il2GLNp*bg5zcyRRD;g=|5B@kRePnd(SZz${XczgtI@ zT#%Hp%|geauHT8U90q9)f85&U8vEop^`qt*#j~|hU@ggr*@Ub0klUdm!S} zg9Yt8a&ruJaRzWM5BbB-XKk-*4!i8;dz17?O#P5-qqxt{=rIN>-zsg>L)i}FBMd`| z%18h3#Z!XHGCDp#uE(d&zlN!et=CVsVsK&9L!Nuar#ktCDU>Q z{(gg3Z8c$SXeI(PJx)Mwsk)2M>t)OH>w4(mh6JHKru;Wpg3qif-VywJ#fwojJ~On{ zMHxk3iLC`GuKc<-DB@}*55Ab7p#RzZi;gdmA{4CZgHMq3QPH~cs1w+S(6jn;r2B0{ zz^dM&2*#sxpKrAd|6%%jMg>rq9sPbE?mTF%8-G+P+iFh&eu%QaHYE7-L*2$fa0c(( z9|qHVN-YT;aHg9qn6{@V@^irE04}^kP2+gEZ$D+E{o381!a}B7;XPzUI(XT9|Dn$V z)~cxK_GW+#;}~&*YXveR@v5(pEEqm(+(+$)=ggj-tg8?-U!xSDxkBS_PNAnb{*#7+ zo{SA};3!&t-+n@~97XZz02W~w?oWFTm#jQ|gfbem;o5uc!;Tn~e|BfNZCcT~p6aUX7 z9};N@^sNV$eMNNY-x^Z}U>7d30~c=`Tu$szUp@Q#Y8mPE=Cw@-iDflc9MB2n{d_Ff z-5{`oOe9Jf8fG`hbO)!g>Rg4LsS;LRvSOz_pv3S#55)#0X@F2KBdWbSIcD6b7UC#L0u&JK{)JqtGj9DedRs=Hv^&TsiE zJLWrOP>X7fm?|f$#1oc;IJAm%nuhq2T>F4I7@G3rJp}VLA@c#3VK2Y?sFYV?WpT;1 zo*Gh6Skb4;z_>qxd_T+!GvkcmHv`iDlXwF**UJKVn#B>HGt=t>JTdB{VAUGGdFmV= zwhIK92^3q`x;pP$g+m-f@E1&dhj`)DSd2F<4Zk0R0ff7(RK{d`U7PqMIXH{0<%Y%q zoFbPpbhg>y(I>0T;c+yuvlIIWjfA{K`h)IlCVU28V|?c>Am#cNj_x!*z?7sUm6^u+ zr~g?SnZIIDuJnwK>da{TiJXAY(nCY*cuphZMpxtAQTXT8|N1@F`t`*RQ|gPFnGxnY zJ>SqXvtlv=#?Y*-d##z+`#FP@hIg@ZLdp!a$H9ay8yv08>3ne2~5BZgN zb{)u~jL^>UHbD@s5NhU%o%+y5mDwHO9>aWDJl>ywLoSdZ(Aj}FpDe)FBkCMm!mNc* zFAVUqe*q+EPz$Q!vINbzWUp^Qi^f*4$e{3%SO7Ta z%XUfD-WfcRK6E87B99I7|4uR>Vb(B@8Dx`LiA>)60uMxD?(|tIEWHe@4bBnG{wL!1 zsP6T$&LFw2o8fKHmZp`Y@G#ZGBakt_%^(~!^jky+$|I*a~Hw4(J`i1ckT54}s60Mz5=)^AUq_jDA*R|;t{iyWp z8@G5YOYybJq=2=wxQw83V1tPPE**wt;K8X3N? z1M#CBg2^qBDwB20!ATxEA73nUp>D1Nx7x9BXpl^G9sfPq8rjhPel_WRn?xsz2-C;S z=Mpmrkpezy;c%`j@j*eWNV0#qhV>I~{Ht=d(wN8|h?j_8M(}fGpCWqxgq-;GBR&@Q~Fj02%Z?pv@xWASh)6vwqLI##k-A)DRvduW@C{p1) zt_dcC0IVCA_kg*^<-~6u?g0ieF=pvPw8T$yLBwgBfNjKwHrMZ-xwStModpXMT8JAV z@jMLIOVrc;50X%FU_8Sl+Ebp<2#~KD@;cxYYf0l5t+f*uife+SN+ls>%i`@W%Cc z#o9(Z_Ht7IcwIw=Ye`u$leqyj3+ufA1=@V?SclO>gL;jKgE=1y^7^d^@h-||us&jp zUsh)KaH^<&O?hd<_(qXfaK&r^boV4Z>`+i$cN@Yy4imeFNp5|Y(ZIMMcs=HPP`xyr zy(Y7=+0N#4`rXIE>GjF-r-R*F^ga8mgE}Lk9C5bk-!1sqU+HF zED@CFMSwB%9vEX3bHeJ;c%r+1z4=>>_Ve+b;k!NpuGJJ(a%-1=vo!7c4-g{A)bRJv zT$-mWHGGVXH%rUM&&Lm%G$g$ko@5s!CB{se$*yzio4<&zD2)RjtxsKlhtZS?hUBx& z+@j>4{Ye68)ASov=1UWwU3IV)R^^mx+_zq{|3(PzP3heo! zJ?kikJ(MwNrqD*ZX?=2)xc1Lpc^8{D7BVh;u({l7?qm*u$udpohAqH7AX4aP0%QQ} zJO4A%fSF~;ZPO#Q2~=2%3%CmY5q5mO)=75|I*o&tFfaxT@=z<7r15+RQZ>Lm$c2QV zXs2K_z{n^50Sr0ufjAyYW!Jnj#snm)+gQZEDdMjj&hkC)8oRqr5^!;A)VtQ?VJLPD zd+5D7FkfzUymw)i{@G{muNMTP`RwWspb631l^^XD&(5%Cl=AVh>} z0HePJFWFXfZY@6Ii=ZSs$Z$T^0^xR89J9qgk9kOgu>$SSl5a`hJC2paT@og7EmW&b z{Hk!Oakd1@S;$sz};sLU5Pc5GBw$XtdNds^m(BCPCymAda^OJE8_TG{wbLH_?5)Ej;u$}}A*J*_XKLD+Vn%cGX~ z>hu2#7(!iGEGfdzBn@NherTx0RV*bprqDm~ptNscf#J07CXhri&tV4J)0iWS#(DCk z?3_9<+EbdeCR2jme=Ov9XGN+`obmsPXO!(cd#G63aF6!7F_Y57S<>G)X(9_y02oo9 zvO;R947*cLfSbitv-e41&kNU^XILc;#Y$bmn!a8c15zbsupP!%YFdqFf+al9Bi-w^ zcu1_=$#)XVM5|#DAl#1`z#$$+YsIAXn6dCCmYy+;#YL5gJR&!1lY)1MPy@lZ`=w;2 zP}yILg-yQ7-5qr@wC_Tc8-ms<%eC;2 zciwyZLvdjFNOf5=P5KZ@V2oqC@Z<52Z143R3q7+2M1X&n2+p~s0}Th)(Ui&L-7M^p z6?y{jomY(Dn%Eau|3!D)ocOLf`xS`)8m$E-!xyc5;wGB;>a&zbOFraODZ~+#9?(+sTNsljrQ}@(?Wsd_0sS54XqZK zqxie&YUzj`4W8o@Y#dg$-<%;&znO5X=+V`7kgC%-U)S!RTr0S0=rSS*Q({Uj@h3$8 z_&ZyP{pG8Cdv_M%6ta9k{ zm>Nq-q8Q0+OBTRZvw0+sKN23swWAMqqn(=2`?RWFOb#G2Mk$!sCxkkOSJ^PB!|IL3 z#9;3@`EDbjg8^uE1+^7cYK=Fu>FdcGs?=RAKI8Bh+{cZ39Whkpp2A*R1st52eSdPU zower7X(@dBcQytR8X*%lc7E?;cN$pY%Yq(jrgD@3VI z&Yk|@Akx-FRUvRB?)VqUf~(ed)1g$Dy<(;UarxS9T+$ynEu^FPA^0EBFMA;RJ+}S7 zHr@B#s&Yj%zbb^>XpkVw%7XgLE*xXTM@(j5CsXt%20=uzRqM+^>iUkeoul$0fWOuW zmW#_soY;j=Nh&`de4vv^ENDvfZiLAL486)|a9S2om7i*|;quLEJHDyb?$HnY5lRdM z#kpbS0SW^d#laGTjxz;kjY`*sppSSAbC64roS(>|TY;p?9BA?Mxukd>lwSL;{FPlk z3$prrd2$WHVt@|1On<^c?v0bMqZB4g&Ihc3LSAClc3&u7F4MJNGFv9;TYM3yV_b<= zdD@NnXK^CNgJ5}FD7hDDcN-(K89gOr7pPhN&VBBx`dUcyY1ux%ubRz}AcnOFn2sk7 zWlGNm4s0uv;4puLoTAlL=SogQ=c|zjWu7~exWQrz_xeDSq#@@%0i%mxkzuT2{OTw+ zroVDw_R>WMEz>UpyNR&mSk(XKtLXXCrBNybV88?)DD9U&Lin(YA9bYLfeh+01Nawg zgAC)zycs~}y{Ezj9NJe93f6nC!e6js{@P0WSGxCaPRdgf_yrxUwTX?6rLjMj3BxiAjVc@~b9YX-kPAAqvp5Xy^Y zKs%pG`d!^J13cVr!#iqN<^9;t!)C((d=i&23@)a6F^?<(`aK<;uCdcYO2W$(AWMXR z^&1}^GOBd7HR>B9PMh*)q8JYE${9@Xx+~UbW3uX$zahQRoF8G4ppR^Og+$zNz%E}e z1?@M<5Otb$QoPOL<02TfA$Ni{+P@=jgzo>_nEaMAiq|5>p?j*yduYgw>4`<6{0cqLw}(GBq70-8PTw{Nl7+b z)K!KH`HBG_7obFyqC63y7?aYUd&)E{QKYiPU%t7mt3xPWif4hUL7{Vz6)gtKMK~e6}Y!-NTvF<_Iupzi1QW zZ>b+l^$FK+osm2oM?*iE&fN`w*Umr78^CmVRS?N1F3xgVH!87Bz7jRD6|%BO+oQlj z;LS+uI&ow3_j|&|ElY3EN|+gR9GRhoLSS4oj0t6EWV&q@C!dm>hLWtF<+kBKQ%?wW zK~ZzH`eANB&*b|2o?>o5dfcBTqcDBC*wfHNte(+wt03=h4LM$zV9?{e$2*~HD3`4@ zJGtXzjfhqVce)`f;|ES_s39UE?Ofe)-q&*!Gz4$UCM%$7n%8u_^g@E$AXMFwMLfcD z^^@{#U%1K$jUK*`-YbA zb>>wO4CgPtWS<6iya-sEWx&%)#^DxLp&_%d?^Z4NszTP`%vu^J*dkv=+vF(7&PG;P zrmXf+ur<;OxJw|Yo5jm$Vk*0As{D9u0Z>!6ThCJ3PD=0>-y%$OQn$BG3seZ2q5<|S zmlZNI3QR3{-Z#R{1Q0vQNZ>MSJwkPN-X+CYu{=%T9GT>`CIVdP^^xg-s}bOS-F!^^ zxm1-~nl-D8S>IH5`}w^IFIZm-rBK|$9{#(mr5VCN=PE{7$yKTjDzsO6GC1ic>Qq?M zU@Gp$uuYwRa&DlIw!PB}a}*e8PC}#6G}Z2$4*k) zcZ+K?{R*EhZghr5(dNpE1%iEmoC||r?#TO0;(o=AIyxdK^f4~-b4fHwYXIqOf>M0#%UAF)jq@guDAa1_BPw=m`g1Dmj!K&x1j8 z2a|rN9lok)lX{i>QG*w%HI+l{f>LmE$~{8Xg0&HBivfDR*rUNFzs_F~IRQiB5nP}Y zmxVX4hs7#R`xD9LXi}+j(}+X_raxV$vy=yNwZavKBe}wA$rgz39Y0eSsj1#B#woXO z-|tNU;O|nEq^U*Ld~rNR8n6{I(pyn=WbPLMd|2wBHzEVt83LNQQohp$!BM+&p?%h=36cY_gv>ax=vD%rDZgE zv7cDl4z+vI%Sd0*H%SNQ7Fj=td>dox)Jqvr1iX3~B(N@KWNOk#UNd)0WA{3R z+E?CbTkRmWH`W?sIoDW@jeUq7t!P@-%Ac3eSSH#=D!t9^Dn?br2&2TD2*>m0^y&$- zWR8iOA(Uth0C&i)$qlF;0T?_b{ja_TsVESN!)PE@dq+(&%jY_1Q7ZLs(1%d}K~*JH z3M|-6{I|K#+3eY7Cb|leM9bUbK&0gB{|h({HGdOyxTF-b&yKU5Z+pido=!8~o$ z%0WR)1j$>+h#QmQ)%o&{C(tI)Gb5Yy2nogNb!<(*s?AfXZiLR0pLdz4S8xb#(`B|< zSlCIguviqDsT!y)u*LhWj*Pz`WuanM`mR0ThtJSmsSuu+vTOx2vNqYpWCA)aGL9y0 zgM}!;qBrQX5bU5M#!?R76f#JWlFKpXuq-t~__^F|p43c#9Z*V9){K&3$RK(V$f%kc zE7j7ti&0_{t@gCyyGIFHb6k}S*!&#b6J5@lfGIrU2CLO1Df&Wx(QC{WQSOUFP_lbr zfK@p%5!zt79^1JkV@3l;-3J2rv2h16&^aDeXgnWS=z0?_1}hmQ@(z=DQ|zD74=(@5 z?$3wjKaz4K>(m>m7?JoCZ`goQ3klRICHg052eG%kZR`<1R!ZrnNS_$Ul$WTkp5LMh zHE4?Sd?u*KETm|u91*SJ;AvC{1^0LSFZ;H z#}uhmJp4AVLAHWPQ}5u45H<$A@wK!vp+)~1-=(YNWCtN$_-MpqGhZh&pdAp3x0s6a zLG&i1$*$E}eDSAIOk4p42?nrJ$4;J2>?7aSBp*Lk+VZ?-9Sh0^WW*}CNy^@Up0H9=AYo=e7yJpuu$&tSj{n)f9Z-=UHdP^lTf=`&d_nPZ=`|^_ihjdFS zadpXn$zZ}7Q6lrz*}w!t9Ayz}yyy!NPFd>?E^k3oUQ%&C*tCtBRwz5GzIE zwrgb8!LESL5Y5HcICDCNL^)x(#0a|h=AH#|7$VkKz+kBswz%cvhrq2`o*nOIVsH(* zGt_aza{8Kny>u1oJUV`$PFU}t%&!QswpXI`tn_vCq)JbtuqC~f?&KtEzDZ*5L2~qj zQ9C!|wqQ#C-GDcIk$q^1Y3#QFQz%WydTQ|GI*l1b+}!-MRuf6ll)PF9!dhx^^^pof zA&t~SUy>&W4nzx%c;wea(;gm0CO@Bj`gwf|QayVd(H_~U8mnL_i^YAx+|PT+jCJx0 z^l1$bNKgA(R;CiA8w?oO^+8(;qNZ&Y6NzsP>u88#Sucs|-I@tMOjBEGLYu0g0F>!dd{hqIA@HX~c?8ix5HPg=;^l1<|Y~w0D z(o58tKWKBnR=a$~D?Tl^o)n{Hq_%`T4i$8O0tkoKG4W+NF)#o8{L3Av%}D0H&*Ya} z4QnaA_mUCtzH7kj5`{cnS@0}VwC|EUoDJ^7{My)s^arj4W}K_0)V{=Skdv1cec@2* zQk6(AI|%hkxK0bGo$y&NX_jf&=b*?wHl7Kj_fUJz9@C(WSC9=BD~cLu?^~g`4Rl#y zfalyPj6@!WwK)gptwqWCNS?>4lK0oxtG14QIhnpLOr{zO$JJ3!V-@AuDfoEdq6f0Z zE@u7$BE7r>%XP>*Bp<7tZM!su@PfBcvZDvdXR58^zyR>>)JL3-d{p+kjoQJ5h;!c; zZ@?5MWvX$!&+2$(Ros*H096&3Aoa0LRn z5dWB)xLoy7anId)JWW0f<2LEAaGa{j@9Cuqukk&!;;&dUeXhRo=HK}`rYhI6E|Iv4 z2f7e8ej=%bC`*81=_WKSFDV3P4YS>B0@x{1_VI=}kXlbA6Q?rOTDfCpaE9!s|5;mo z`eiq>v&OTgO)s`&bVXju*{>8eoO_BSEKzYuE2FJzShqRE3V>4MIAi4k6W2>$P>h}J z_AL^m48EIM-kKED@aMBXW(>)R|G4zq|q(>?@oJGx0{b_QBW zp>BkFmUSb!$D8}jnn4zJtlwDV=0CVJB^(MloT~C24A}Mlt{*6)0~fi(6Az@=w-WEm zcaXJoM+n+9+}jYG`Kh^ThOBq~Pbn zBaK!Ije|4aMKO#|=DEy^rcAg@kmpAsmA&OJKzh!~qI@Uu?Td14oND%3suqto!+H9M zPx3e8HIp^|RiXW+e%)Jd8&u4HvT2hg6#}%FV`6}sGn+Zvn7XN$>^h^UB$Bt{y6>6c zx_5bp#4I_vNP9LHU`_DaNmM$(mLcBX{bb86b_#_wqFT$x@$dX@z#pTEKTL+85bvyb zBU_{{VpWX|86<#fC90@Wt(Wt8ex!Y)#~)<+ILDQb=4-$YeQ1LS%SU zq(e{y<@K!lmCnteli86Ki#GAXpjobEFH?&8hU_&YHJcK{rT-adty?4sIghjnJ~~n`;FH63wr!O zJ-4oOi&{<~N!A-Kg6|OcM-jM8+^yL$fCW%A<(=FPNhETU7i&EltTwl9Q6Ex+D{=55K`Bn>s;4fG6JMhbRV1DRl*v4NRz8`e1-DuwQ8! zaa-0HHjwTyuKoT^9VY<{%J_>_XLDL!B={~AD71lBM|jgPvBdkHzf{w}8pX-WmmbNT zTnx0e9pjqtFI7-n#DIpDRDZ~4PJ(uIWgIM}`;Qi1&U45k%%B^>j);Hp$#`{RecG#l z&Co#(<)I87ik-CzoQj9+nv4KmU3%c-Qm5a^a^*=HHJk)Xw885&t(!$ma_=$1hrTN5 zpty5|glK+lD_7D-`60h^+?clG2ast~=Vhj8FouAM3qfTvK#Q)c1xy7t7Ae6MJSAY~ z6_|TZc_7x%V^|cmnn0;wup*z!L5| z&b=7O&ZT1pr2#<}&V7W3HE#Y-4QV9*hepN}nNC7|vVB~D2~S1e=s6wL-|@(YtR+F-^(W$d1ocSEtn)+tq_+@bH2|-Bq2spm$oa0hhF~Nco`2 z!*`VR=oWB-FT}Z8LzR4O=CBYW0m*&ioP>eN83a5Fmg(kIxGbPWpzjx*q%1Xtrs70* z`I_PV^~zvPx|5!bB}dlInV}}FLl+{nb$OTU@z~Tv@BOkCPVet79Q_k5GaJ*n3^U`E zeYLe!R>aJAx=07jS6iH1y1>>|+qPescLG`=f`P?8gb7GjZaO3;o!@`~)0V=C^nq$_ zJ)7g^N>Un}wV5-Nw<~q3b zkh1(Sk0J*6_Mzg{tDSw6KS)@4A*Aw9Itlq=eZF_V;S=w>jW-mP??l$NhkzH?RcfhT ze3-8SD_nJ{PK`PAt1r;=!UQWsh>2>&tp3h5v9ZU47pNl?GstuAtYlvqXP;;AWGvuw z`Q&hh2P7j2DOA7b=f;1zxgDcYj9S^+`@PHF!!DFcMZ4PwvsjQ%3uW{r&L0gTq_~d3 zCFJ%8mmpE1DqH<^8k`W?O={vR zGLdIVhtj@lBSF^N7YD`$8Or&2v|sI^|5l4A-Rnmd0<>X?AN%t`h|hb2DB+pQb=&!L z?ua7j&lp)eiOI{gC!17f`&n;R+j+>p$86y^y!2mDSfq`t@d5o89t7>5i(UM3oHR3M zuY>aM@E5_w>&zb?sFwk?`%KceE#C|a*bu-d&XOvwuQ&*Vx4*66`%^8}t}%DJpIpaO z)C=C9ujq`#)G!rs)b55%jjTD8Ds%AIcAxJ{z`|_qKU)grQ3RWU+fqqV2JLVSfOHdM z>4pzARx7UNG^5l0&FeEi4*LyyLd&!@Y<}bPZb!I~PpiJSnE?=WDQ9A#7E8d+IVibKqD6}nI9Cd2r(7*SEE`Pxsyz8Ysicym+LYCo$tXG*#_o% zz>MB>1+i41pFOE&EM-$@$`Bd+JvQO{ z9;r~}7BX?F(Qmr>W|#acsws1>YH57(e4I6jIX1UU1y8A%q*KgEOj%Q8mY>aP@_%+o zkwvWasAYQgK6*EjgyFdWmeD}NwtgA<1CR`ag{z(3ct|_WBXW`grS&|t7aNM|O@Qr4=RuN7wr?>zaDY$=$=v4YuXHgF7kM~^z8JjV}{?>fyA*y{r z73c|CH2GkR4Amq(y3cr25uM=nLusBc5!MQRO7N$@kG#7v)yD|~fFA@$G?6AAz%ct;O8?4S56fzjg^ZQ4(W-|!#!9?=X@=W}`hn&@%#c{<+lu zXMf&*dwcDYyQQZF0(*nX2I$u7&SMCH%5>zh6u@;$zOC4{zqD!*Wm%QH=yMVb;$P3{ zxqCjc;^IdIZxBiMazK6Q?SN0Cv2U4fIZaui9+N0uY5+(A#x#HH>fGZdY>?(wxchu` z*xtR2GNOcS1fx=dSa1xP&pupH{(Hh7{9Gz1ERA*ara~UE6bB@{%krAUH!_8zi^#iJ zB`cFB1O0Mkd4M+g;~2b~!2qp<_##Gum*=qUWx?LMlI>VK*qiiHaR;Uf`j>k!S!Ws& zxo3>6-Ew=`dH=QW;tA5yFzWxXA{vHLu;_w6gp-T zXtwegq9b%8z@QxnEJGB|llcu(UZ7cGI+_o`Z9PG$G9t6JcHNUGr3K1lM5wEe&Qs^! zgtj2}V)sE3m3@{U4Cmu0>zwE=FZ`h1?NJ++9&8N&L9a@8k`76DKQ_1mi-?UwQ#e^I z+}-mIBu6}6k?=+!BH&Ao2(9pc;2zB649(1KQrhb35{=_@87RQq(QM#80{WX(uknL9 z>B`C+n1qrE=lgb>Ub_m+S0ZoMy&T5oQ-XoXy$fct7w0KETH)#df0GJ{-Ga`3nY7@; zh`w{^ExylTUZ{wCM`zP^pi$jl5p(qR80m=QenOFfL6se!Z9DGwK1k%ZV9Oo&pE;|S zWVl6f{;f15U8Bq)2AQH`O{NZhqq7q2D<%6hY`ytu%NG#smf2c_i)OgrWW2O)Q=QAO zp@Q+Cb~QHH43%oihMz!!`*Sb$W90P9`UV1af|TDkPH7eM_PsatB@%Ou<&No{FsIP= zF@W@nk!E}T$q!YT@+Ugv0)<|nh;K0iwNEhT&rY%mQSp*Z_T4z zAH=LP2UMBqP968L-}xIfsVlB`6s_czS}p38GP$xCUdw-fJs<#m zQrk4^r@GTPCZaoBHQ7L0U^Jjk-W(V?{|tC9>}Yrqz!#bqz~6$LP=lY0D04(FPWFgm zo0K-1Ly%Qr46witq0|KQd> z=(Ey~`sZA%0+SO_M58(po53x@X8*j-pn!*02JGUC{1qlz3C4=E1saYDin1aI>hWaS zD;Dy^%YI0_7BRLWrgKR#JXB5_LZ$W*Wz=3Rs93r@w-&yIt34`wI)Da<=GRWixM)df zuiH{IfjCV58GD+zG*V(LZV%c=HY2{-EKqzK%5xh9C_UUgL+~2Z%nb;o)|1lN=^Kv= z+si3L)E$*6BeEdG_!Za4^Gv~9I*4wMc9~KTx=hq;=t-*($%b2#=&%#gnKP*SU{eJp zvn#)~!voeW$i(iawbghihDp!@Rjwkl$OAPjIV>Qv0T5_t3%9a1Jq{!ke{Q|p;r@H& zQsQRri4r}|n1dlENzs;VR+yKl?po_WIsU-(*4BKj@Mai5xr)*#$z|oDf_^6AfwU|v z^GF}1$fX-_UL>Hvg^y6u|2a2%qlzzaqiRNYpT}hjMe0?KD9|3Q#X5o|Uqak0-u4-Nb{%8FGP5{AAu2OsG&rGODp$Hdp?RwF~L(72A8zlX@WU zyGx(2Xmp)86Ipdsxgx4^PdI);9ghmB69u6~yn;%hBKVnT4J7y|-E-b;OMg^7*kfhG zIdpUFiS}veokITm%+~E4tzDpr1u1iCib8i?=vqHVOO5)tCO^}-!PUxA=OJryTYBxZ zQhj;1c?)_qrmnbVKIRP`l-B6!0d>6(od8S}gcB&h{S>^&;Z{|P6urUU5-jgAP$%3h zp<>p&YaG&V+WD;|6C08AwAgUyBBm30X1Q{ke0~jTqgiHwXWY3!_par(kGGp=@#828 zL_`0;28Th_f<(OLBwn6*$GI!9p1$qAKa~SBS zL(!O?Z>AmMsuO><_k7A=IYHXcz{Y z?~lX#z6){=DVCdxg7!{BMzoSC-=P&J*F-1Lf?Bef)?SZAd&Jv2*4@D3nK%<5R+gRC% z<(lVnUI{y1Gf-HQ^&p1FFPf*hV|+xt%Tjp{Cn`l@8MPUR)-jO1vrz$av8}>zFUz*| zh_aD8Nd0Qhc|BtLn*ELud|>TEB-ARuZZ|S1u9;?_?tu0-1t!){fjt=L_kXByzyCoB z#KKEHrt3uqIL{AlcTgq^?RAC*v9&aPSsDmHMVgG<*DVI(j2XAZ&2VPs)oXW`sXi`A zQXR$DrPaMX@)sPPjXN5BJCeFV!*$LgplQFLi}npn*9k*`WPrj01W7IUyuMv0iXs(p zXx*n8p$hGiK5{h5JPDNw3Jyuf?yM{nLooK|j=4c6za8Xjv&o)k;OLOeu{H{w5=ZqV zoyHDF;47}=6h@gks!k=v2qG+NNh`4WJS5@}jUvLoILV*g6B3a}?c?MuEw#PLt$#wM z1E2+UzOg{33`|)vApY_XM}!21*uW7**oK9-W=r3|LN2Gup8S+~GI&^2wx9eBi9_z52TtbIdn{1RLju7Zt18aa47dHkyeM(RMRgGE z(?jXIxxtx#3+0+u$xckcc(u~dW+cetc-ds}*#Wb=l75VwAekj6L32O29i1xlVXl&9 zq4y%bUf2P+h#1w|3OzDfEx>`<-i1}ODwx}gs_iV<#xJHkQb!FPQFuXImt-U)Mjmv zsqt4hhP90l?0np>Nm$U9a=4G)5jY;UVLxn0<1+u-v{MF-0F02y2B7b^J0C)~*r}Q? z!onC&0zn38((zXq6B$of?|mSiGzpwD<}YQ}NWD+e-GQee`-ufdzNBfriJXq12Yn~4 zcgyAXvNmC45Q_x`%R!JOrmhY}w3rNHkHR*ggzb*<&de5SSJDcqC^MA~W6>jaxHeDA z26PdK0kd1U=vpl*oCSO1>?sRaqDyS6C@HC=7V>D`eg`!$R+=>xh$FWr=fQ5~zbjk$ z`ufwhtE3;*oOWJ0#e^wXz@R*+EGbyf;$x@j-1jQg*h0DSPr7#$oX0lm> z#*&>RCyJIHUCHz5Q$G)`!wY;1idF*it3|YlnOlIefZEJ!cdv3n7TeNx@+m!iIbO)z>tF zB46RFIB5Y;ujknSzRKxl%~D^v0Yvq zv7NgnhD_31#n`jz^ILq9uuhdZ{HUHB^yR&T=v+o{d-q-{zw_tEU2t z!_1$%lS#t%RT{*}X*?y(Gm6N8Pd8f$U!J6jYi7UXiR#?sndRgM`iqh|Cn-e_Njjt6 zc=B1%aPkub=u3sP_U>d681%Y3MOBO+uzWE z?Go*@gJ|8b32ARg`QVitxQ>+2Jiho{;NjKz86OEPM>ib8t?m;3=a=oxOR#ekq`ARE zXWa{@dm{t(ns+laaL9>5=c9SaT;+%YH!G!9j+=dfh?AxkJUzDR}+Ea5SC!rH%_ zD0RySQ(;vJl=n*eA7&TR29Ob3ICX5hfPX=YjvAxWM%1(0MxL%WqqF=AYj_(5B+)!t zy^y|zX>g&_ z;3ia|b2jxFzTwB@I1?!-?B)i1e$?ck>xbw}LGgBNSVdvTHH08;7`B^&XCBaw1VQ@Pr5JGeFG721RIGF&3(A}VF>3}>9kR9j<0WnU)X*9(q_Su5Dn`wAeHLRMmP z4sDTJuHUI8#@5bTYtGh?)HV|tL0jF(P||LIjf4QH+UO6V2$^Np-;at$V^%Iey)i2A zX0m`OHhhX&jQAFQ}(or3nrwYDlnC`92?ox!kVsqH)GL3AEWGCwM_2pH_mk-~p9BoGsmS zsR{Rgp_qvjTBKK(WT<2$uGG~0+RgR0stf_(V%d%No

}#IIdUiyZ6^8X83}f+_hl zF3QNJ?yu}Yh_+L6)?QNl5$0+^@eoVIApl>W-EpIgr<)uiOn%4?7Vw8OOg{KcI0k>* z&bif*JTxtvECIJBBtza=PY@EC-*22&9iF#7mfT}FzD&)zVlhw`nx_ax#x^;CzM#)& zmLSoLz@@)D7MUQn@hQ!x8Y8&+2Tj2E%hHb-Zr_pfC&0N}PY_|3C&t2Nv>@rdU36g@ zz1X=^SJ}%v1cyC%);E!#LgJ7{TCVGY4*qwr+WDHr=A4c5XI-fzkhbQ+iH|7|;P`4R zGI)V+2yCa$GZ~;CSyN1eWJTHLvI`SEoNRT8RJ>&L&)bPg5K(8M`)Pu23NPB@CbPIX|Cqqw-eO2k!uqADVs+8; zUCvT={rtCEoJ#Yy6e1Y1cgv#{W9~|UZGdH5RD-db(I{}_iUmqR5@mRcX34+yL70)p z3TKY_NMl1tB-iEzB;$R!IGttLt*7;aNCkM3WEZ#vYX&0Xn?WTVT;JfKD|t^?x|YdI zKaWwJrLp1xImkS33ML0j!;If>4LY8w5`mB`nccZ`^3t{xT8&vI;uS5)R^i=ZaZ5#z zX{9=q3UBEsFo68WbyXVwz$!(TzlB|fWPOFvH<9SQQV68%SeYlS<_Fi^Re?g#7p^2A zK8~lfc|Fbmo5N^^K6%*A4!)VA;BVBT@2Do)v57?YZKpwA-c?xC&NlU!v<0Cr4qpKz zDXsVuqN;+wt1(R2=#rru$?v$W#(m9@SBIFu8S;X4B1*}(PC@bvV(9^Brf-lgOiTAS z@P!ti2=Z8~Ii)`sc$Sgyq6-X#x&~_bR4b(|M2);^VGq{28dUqfGnPMR)i57vIPOzb z!ydgZr$fa&Q}6u>Y|`3R55c(wdr)hCP1IxMFMVuk4G9%s`D!_LDov}%J#jE*E$egi zd!ZD3Jm=V<%*L8w;jWn%M&y~}_$C#TP&2fi@D2>h42rE}CH&fDmP#QpumUV@aUzuP zj&jcH@x;GP#nGkTW-*apVaMK#XxBV#4HXk|zWFu+z`IIc?G}Syxtx8G>LYn8@v$M4 z5msR^2LXii@iWW)+P4F_Gz=D5Z7oX22}S%78KHyH&ywAamiQ4Iehzc_G!MkEaxUPT~zu^KFt_)WyA-&`8RbSrhZRNqT1B z<|^Bo>LVa`to<~5+FM~MpO%GQ4GAFPTNk$1L}0?KY|G2|IwD8j4AS50e>X&h^c>+) zT9=qtkM5UW_iwWjHok9C6w?*Hv8#EzAY>`Vc#Ez=!TnwsP&f!y@ka2QV75H}-g|Zss!}W$OKW z7hFb4iSw3KYv1bbsLt6MEzi`SeRU-jTwuIyZlZ~2lXP-;`S2os`e>ugKiA@{lbHNf zQywhshanh+#6?cRu=1axIhgV>rWmSwAIT+h%&((A0#+7ozs zO$tu|XBz{jj^(asL2zA1UA^SCOQA;h+Ou?_b0k=GysHWyO2cw>FNtRWiCAEebxEI- zgeU(~NFMZFKj)<7A=LE}FdzF(#|xvmUfFi*c)~p+arsb#d)5xDoH2%rQ z%pVoq$uz%Rw0PhZ;#4bn0gx)2vh9^)+l`);%|#c-t34fvv55j>*>Qa|)uMx4-*nCT z1V9WPPtNdj?V7URw?09Y+S^)VvZG_w4oAYI*arajaJ4GrMrF2*hfo1V(9VD5@2N~{ z$r0%e?t$55^J2O|4_;^B(y*rIZaseg8DvM(^Q0xzV*6y&ncOitOo@qM>lAO9>pDZg z%iI-T0~~1{EpS&?YA^F3CM?>h(sg7B{UaH&h}jB@*av@t@7hU3K~T4h(Wvt@dN%OR zDuUzJGlV?3a_!l$pReHuF_R7m-yW=pr__q9DgAnM$)*H+qNwv)?_3BRTpNAmi%;~^ zFEwZXoo!zDxwLfj8lFOjqWBEbHlJ1)tY}OAH@2d4M7Etd|GmKM(*tZPQ5G}%8xnJ& zXeesZv;gZ3@A4i3bl~m%RBA926(#5wcaL666tqN}jIU@Wg>}tgf?(srwJ6An>RILt zt&Zf#kF~b$YL}|8sv%j81Hw#RPA6ESsY_2LcX)5aPx43S)@yv=Iasaf3sA+kygT&odX<}Vt6_) z#@qBe+KZraEZA;M6%uV%n=+f* zjkuEbPwW3)Z#fs9*~Gf0wZhIps#b0`;fH~p>7yk-w)8T$hwdW`rkHPcgvg|_b&+}o z1uxjlN&pTQQA*Asx$-3dufhlyyKXiYCP0EX1|$JyEgT)}J`jP3T`k9^zA{aauSuD_7oe@j1^N}Nbe03BXnfybd_x4sae7Kf%zAS^GNuMJMZK3<%36_HE6+LN z{$u@=Rs5OvfBZ~In#<_s`)q`L2s`?6$b0;Jx58`4&`HIrMbJy?V)Py;G=R{K2vPIu z=aI^6-97sd^?hM(#uIG9#mnUwSEgSism#AWD={uKy-(8YwUV%>nNv!*U;PHYOZ{C+ z+?p*NYbPus30!argAxZEJ)~3S5o3_U(@~uOsdPRg_{mJn*<+(eFtlNM;pf;{iAMYS zBx`zdB@+!on!+)wd*kRU;aBEIU*Cu zohUr<+IJM_ZBQYndw>;x;4Nv-{M4p`s`LmM`QxR(>~K>~CCPvfnbDeK_;X9qrSW4C zS8O6ZemM|RdPd$1J;>0oMv|>eomKP1;k-N8%Rtvn>#^5PkOK`Mqk))I$fv>TW2&ko z{{%qpwmn-h4MNA`*2wLr`&rNFl;b!_idbpC z?}3aRGVHH^TlN}Jp@Z#i;Kn%`PgOelrr+1sP>#W4fwXA)c=W}fQ0SFbDa0y|lnb!0 zGFlJ^O5IP&Qq0(!NNpcoU@X#vQl(WNM2#nTNJ>#oL4Wys8uHi@-;!e70$7JmGP>TX z@QdGbJJy%q-T{+$G#bRij*ki_3w9FIs^hKq*7ZW^NkN_9?CgI2y(vSC?iH-j2-)f5 ztsEQDH7T%*oIw3=6)NUNTL)c3*!L?s%#-Eyb4wC%iyrzMB@y>yvr z^$Z*t1gl8Jn_~4vC&;xFzwE3EQXMJ;zqbRQ_fM^NK*%i*mDZ6u-MC-k%bEGP8;{BM zK*WufcgV(h!%iS*>35IZZX1bhlAcqTxUke{~+Xy6Mt(DZ#d81qe!m5&xq zbg_D6-*BX?fLC)uIjCmL(<|YTZ{Nw?vqiK06Y0$S#RcT9cGIHbx1=Z3ea@7E*0tIi z>v|^5$qeh~?rMU5e&Xn3?O)H#LF{Jz`_S?Vr(%?ts;y#qZ;mZrmIeeZA1j-o? z&mxQjjgTYYYHOmF{hrTnQN{V*ln4S?_622-ay!yMG5K^MoC5ZHhZaNG%EjKIC1G<| zyjKibgh28L({PyQQ@+CvS!3t(lIIiVup1BBxq#~SmRRuL!%*b%G|0w z`NP+C%j{g~!|0?0V3eQDrYgsl5S@W~K##`>$4g&AtPN1P_?(DQK2^=ZfKxRA5%ejJ zd$AlRdUd7uVs3IvA2oe@e<<2H6tyfiNh6+j2!X%})ivkMH9II7K&BBypFuicdaYyD7WGBCg@t7E zc%DAsz52X+dYQ!X+d;l7C2Xr#K~E+>5qL7M6h{C%`~}i(Y@+PptqNyk!F50pCOuof zk2`K@`Q0pEb+Bsy^$i1h}w%rM7ss z8p-W5Y2AhlOBNZ1uw$1?J=h#cw(LY*aOu$xlqHdohLS2Zhc&1J%WA-@Vp52g76r6i zE-iO$viJ*btV7EV-?oy7j{wlOiAa6zAL|=ZfKD&ZfFt?-NfQRoeLS@nw2nE%uXkOG zO*2mmr|Vy#1z?@T;8ZVim38jKT3iac%aLVBqzh6>&mCet9YGkNIw-DXs@)@_q!ioY z#<~ktqZF(aAaM>jn?g-^{K#nWs(evFZf~1aW~E~%u7H(2#^%6QoT#LLYa(n59{LQ% z;I1r|V{#>J6oBS%#dNfxEG~OP%O3WbC+~xpY^|KkW6Kx;_Xh@2is~|Q&_M)-dkbi) zlACGee4S8>SnJzY?Xbp!5@{7?l-^r6^bSV!Xx?2q20X3pA1rtq+?-^qu3MpTNp^E- zOZ+N*)oj7ad&Qd}LQ&!1uUl#s;VLA&u%D8I=~~T;-t#A6-)HPZFQD-4dH9vk6aB1m z0s;Kco>x+C2pc-`=vcn)cO^W%=xI(BG(v;ee+Wkc=8{K6J*c6)F zKNdfI&Zjz{4RhhKS>LgzJzw{ulV_)}d8%0~CySBOL#lW?z%LhTx+yTjdQs{!mC#-H z+~OG2lUN_SP+H#K<%Tc2o#xiK|*uKL^h2&~5~&jlZ!SS(`@; z_CRk3&-qK%ua-DtrdOOAC>O@+oC7x2`KX!}I6S1>UF@XlZ=%^E-DA}u5h6<&IRH%VFe8b%i`%NWLnF(Xt^gPzC;5XK7Uh(`{L zi`ff!mD-a?z6t+(SfN~o(o~Pp2ucek-@)f;ZLOG+m+N+eK0nQEX)&UgoaU{TVE}(&u5n|BuQ11m*~V(7yF)DUCWPJW0OCYV2S_;-1-%*La>|~PeolK zTFS*(GplPp(c@hmO}jP*jt<|8LcPzTKpJyXKFi@aT+e2pjnLeC4yHCOQfF%2XFU)F z&VfmA7U*MB2~WZ^q>8Zi(d~-t_5I^s$#h$mtG^}*KFzmEAxp`av1`n@B30m5UvDHs zl0YBIxk;}aL(3wRiP7TyA{Y5$?wRS=8b`7N&tj~-Q02*kpq#Fxar)*udQZS2t^v#M zL(OR9i8inWsYXi>dTzGuqnCrwOP|&ZM>ECtf|xEhFkNc!Oczsc$wL29K}(G_%pmaz zMd0I8ZM8;d@s^Z+c=uE*zPR;;Ti1RpprYnczcG1dw~;LEYroaFx?N5x8b;*8VXv6P z3qr>PJfCqwtY=`p!ixZSpB+1_wkJPZ`x*4J8~7FEif(z*^{8fl93IaN#Kd)dG=tRfrNu}PjfF&je zpL>Z}S(+cvgH#}~N95bR1Do53p!Nw$i#1MKeLI(h0*$=nU3k8le;5VZSez{G9G~~ zgo?j*-~%kJDK)X3`6$UQ2UO%VGLcjd=L?I6Gg0jU-jemO;Q5L&=5PI>EI6@p5}ExK zK`BZyCDbM}^|SEyK;^SXKE_>2M-?%rsavU5H>f9`PC@* zNwZfTsynOx6UNNbrJzFpNK&!kxeu!C%nXTsal?%4@k5{oKAsTV-QFe?&szvk4t>>h z-KZqu*I?p3x14biM)qb`4@oh;$rSVNN$4}zt>KlrZ8tfK2_K9^3m0OHQ2vFrBW|*@ zK-Wa2<@=y_b{>8@q`dGHnPvqedOI~|NYkK6%$tg|yQ-7zH5m{Gc1rp-;IGWaGoKvf zaG7e%qp%X-T<=n>E`CSPWP^@Rp*GRu0~&gwX6uQjH6Uoqc~HV-(0|^RT!X(*$t{6$ zWW0r?c>Gd8Kc7pUeTTyDGdJB13a>G|O2jCnlpKkTYY>1v-lR~M6?*+~*kclPezM`U zg7~JbhEoywSDvz|xxizYxK2g@q>32WtVb=PF?XP(eQh{Ls*r;`;>spC!U)rA!(;;n zZZRj8_dR136cDAG6b3TITfIbnU7TgS90Hc{6t{-Y=p&}BSV|dF{ZLOF8$Rq!hc7|N zYwj4+FEsLuhaZ^RRRd&C_B&8`m`{!ceAAf#0gpOKKt87czH$@2AlPI$h`mT}0iVnK z=?QpurDdRX@&tVrD+S^7Y7IuKbfR&j*rxM;YCvx1wK6@$V1o7K( zU9wEr@JC4Ot)t#-3J!cJ97V^_KAu>@SoaaSH8~3!wVGPR+SHhHCCsx2t^qv?D2V+1 zI(?vNa;|tG%S8wpNa3&TO=;MdfpEed$4DLx8X7gjt>xT^WBigb0?ANu1HjzcG5? z!;~RV4Xm_Ds>q{Pe{>#XF438p+)FFSw8YK=nLPbdi+6L76Wa%KtmX(zx=;#XE;hoX z@WSV*!FC{?|KLDqv)^Xoc9!t7DrJlE%rEjfTk|wlUu1{37IwNzE*UV`GiJn2$L=3n9?6Kvt*9aLe0D6Rxd=uf z2H6b!{D#G73f*=8+uA!RYu{vJc5#R9Dw3i^?^7Ls71c36g`^ee;-Dix7k1AhXoa&) z?!k82{(F}=9-P`9<^dZ!#Hfs7KezBXfoX}SBQ85o9!GDr0#Sdmbbs9|Pa$LLb%ks- zxBZtS`jIwt!vb(X_|L|AgD;E~OAxZ^y~KmMRl^;d_%eld)6p+xDPb31^pBSM8OW1% zfK?*MHTCnJIAcs*tMXbourTnV+5$%^27s~FoYE*6v@$WEqPm8e*v0uhL^|Or6qIi@ zPz6&{>@NTk@KiUg_!_MK($*?&QI++>5BE-J${$JS%4JPTWgX01>i_JF{X|WiP&TwlS{^Ven1(Dag z1OyU$1akweuJ?1SN*&>{IF$iaGeDA7$So|R$Uf;W3M6-(yF^~~sJ3#J{yw)l-d7(p zTE>7W>4q}-MP7Av@P0oLkVMZ^L|FJ@9`P<}N64z1ftv0M|YC=2;Qz!}RPZGsy|R9KA`Ye}79gf<(~F3qi)H z`U-)-nb5(uQG1%s7<(Q-1IOkQ>x-7$imK@c7pButg?qiHj2jp$>{~$Z>xf;pBDjz* zD_YscnlkxbXu`Jyd}h3>^8}=p5P5A-bAoeHMI|##NCNdqvGmY;i`}%ck_5d;K8hYs z-MCp0>29W@g*C{sta4FxXo1(tXXpx$0{JnW{2KnsUl6)RF=UXEfb&7GTegYa>QM?t zQ(~XYVC|;HycO`V@;^035Fo)iPTsz`NfnXgq`N2}Rm{I0?+i3z~L02wth=amyw zt+O$@*Cdb-<2m!H@J;eE`Tm!DmG=y7fk0RbeIcIA<0>Yz=yrKUUn z=*n>G}EOgD(Y>3c8Snwi0c=KZSYFtgu$$InY$ipQS)l0>N3v zWA-I_7`pa>lJCZ)`*5v|lW>lc7dv=~@Q##*rBYW~RkA7}5!{~`uw1pvI2lsJ0{4al z`mke(b^mtiU{Fl=n4O?rqf21_v#20_!v&<|gkf_-+NK00*P{#tHit=h{D&D(+@F0H z90*Rdr+?%Kucg6Zb&{DUT396S3fGTl2?;+htzveCLsOWAURYCm4LQ)y3k47b2Y-R= zwg?g%xke+tdgj5dOI-~V97~(_k-^T*DpzDictfS=-58~5M!s%1J%rP#(s-Zmh9Mc_ zAjvigfDiRIt|8;LDwI@}1T$e=zc!`%y9H7q*=m*R<&GCjBgbTzQFa+n$@t|o=PEfi z?`u8!1%A|R3VlStn>NM7r^tgyP=`omEjtAZ;}A+d$ovQAgbRvV+_lWL6xOB?z3`%O zhY}KKp&g+WiK7F(xkg081%Bez;;JkH5jZp5I93(C4xe_2R^C#+KX^=A9&D+dDW0KT zhNs&)Sl@-Ao^?KMgX997ey3gn*C%Z!PWs8!==?bR1~PSOS*#e~oKX6Q<~frZ-)$81 zt!i}J{m~T*VsDWxJ-n2>5oH!8n*qFnEjJ-NaPpV)%Zu^aS=~TAFFZ}}wsI4W4o^oO zQR@{f%?6N|r1h{*%?wfb{P6c)mJv=RK{1Hq=p-Ve({XV zZqV8H*D5?bQ)sZu=S}5!&0i{PeNPu=xU`(wX_v;W4AD;ixXW0?Ap>IAHGN9knF(@Z zvWf`IVODiYID%18VoR;?{#jkWH|-Jmx8{9kJinDj1{k0%TXv!W3$m`Pghm?C@N&5 z7G`5;h~$d9+0N93F{))h>hfY zbET8>ibod^PbPSO-Q&46p9=~7pt=;#BCVhD4oZ;(5>>OOqMEo*X2%tcZl_YkOs?EEar=!`ED!U|L*^+F;qGK;*??0X z9TxLHfvfq$jp{~|7AW?HZ_k7~T2?GWu=5ZxC$aa|qdz8Sg07*$5MX%^Pkg~CW>Xx>dMHah3dI|W*Ohl zvc4lo%IsgL8XR+F{N5Wj%YSjeAcugw?VFisj~QhZwgo==Qa29+#EnYOH>*zQxhr zW^Zd$yTN$`-BcR=n=z=dNr`!R3TLL~@Ko=W=U<;qA{qUx$~lzicMyHrA;UYYp4k=~lyB1>*8nG|C_GDT!THPR5bd0Y z=0r?zpuKhLq4lZ!JDv~Bp@25rkc1tww9OD6ME0KGG_+|D^N!qJ#r7>G=kAvG;~wno z4M*y{{W@fANmDUJk))YM?7UaMi;HEN#EF>W`S4ZGr9aYOi;Iu*)GMF`=As(AVFEGh z4dl3A=Yr*Kf`nD9?awsdOV>3F5>KYeA#b|gNrXTzQ-o?l92Xhv&sqcv%#6#@ft-jW zui2M>_}5)|tXHi6+``jpbc${i_2p){nQ;Cm|hnn{SNc)ufUe-KgHx3PIlJI&k{%G$aG# zFyVw{LJfTGzwwj9S;L>gO%AgHMf&#Un#=CcJ@30~UadcP;R@S_;xbI|V+ZCaIL-*! z=b|52CrsNF6Lr@PG+VWAVy}NXg;Nul$N8X+Iks{K&hXFk zK3R73z7~XxA7XlAf9bP7mLlc3hKaj?ce1UsGJOD90NY?01@3kV8@n%MTVmr<5=1uQ zG&oY!AgG>toiyV}cTbAkp~gCdxL?ljn@EFCB|oJuzg-O@cZE&v`xLhZb2P-wy5{DX zlVe1Q=gIx7%~CTPj){NL4;7y00I6K!*`Hk^NwF9UJbEDOfB>$@af?N_FXAyJ=FV4w-GmM0wZ^+OaX*F6l|vYnbThcr}E4?Jxmf9Ph| z4Q95TzByc4XbYLEsuBY%*!h$cd~-KMji#_lz|UIY+hSp1H?mRP2T8|?ekzsqj;i4V zPS?h?fY~al3u*975EgvT)W=?|00T?V?7y4BWL>kP$7FLh#U%Cv-6&d5L0`XVH*CNv zj!ao-j!QzKp7;{`Xza59hZ%IV`Sq1^(dNfTrf+^}1ka}B*EdzAqktNThUE++7uTn( zl|lpbBRu$cA=e`?obDus#$lF!bO9n0-$*N-MAa$&<)qV#f`Ho7KZOmMllj~~UMIp| z1_kYKIEBfXjO>%2bBkH3bc>~gkCUj@rqo&w5sOe8;Ft*Ap3=ElkkG=dZoMuvwJczx zzz5f|$exG$bFIV-QTsNAsRLFpo5=()4k5OK1me}Za-c!q!X*ecwp_T?J6R1rP_z%F zfv3ufQslUa5oAqVc31LK8D8fvwe>Ei?G8<(_Mab5N@__*1T zdzBgXi<942YXok$!YV{cp72{$nqM7t-t*gI2MJ7J*3Kc<>-E*zAU$uzQZJUl<2>F(+LRfIQ&<4;H!{nBJ-{57?YG$b z@Tjs;6bM-aec*{;VcI~VI1)u&y zGsB52Ycvhvq}40)k}8|)kwAWJc9;|&=-}A`+LS=NWHV#@+LMj7{v%k`kB*HJqZn{c zi%1y-+@=2QQx_6lPjh-;m0|j=!tR@^D6+Jy+4T zU{9M*K9g(}91bI(RkB<}`R<29V-mmUPP0Y>1PsqortwpA#7`DCMJH6=WZ? z*0tJuTD2J(X`ZzLyRB;ZTj`$do4wC*jbn>GI7lv3+&~y@QKy$V#kpUHG=$`3fHpy= zIBJ_VU$$wQseSDGPHrzgnh!~6*@CIH*tV^U@|A#l zm5Rpb@83N?iMal}^V%EM1eqv<=*T;o57SmDDo=kXa|n6;Sl=OI1t<(<6Hwu#94KiB ze?z0+ZQ`^*oh)#yH7bC9|P4#{@$fi3F6!JH~hQ`kz!+iLJJtWw!b&?VEwssAnb^;X-LMU*+u`^;64K7 z6gE$5JVGCY!`F|bF{M0zdVy8kc&<2#`Na8)Q!VdbXVk%Pf4$M*XG=j=jn@LxwnxO} zIvtnsX9wYxYi`QD8V9y$WY zTSr0<)q97IZ*(_Bv*HtNf&c;pS|iFTk3)wWJp!hE-yI%)MW3e?tU-!fY8C-9jxPo{ zHWa*O9qj#0BhTWC(hPp!KtQ(Kp$=?L>rt{0#QXZ@oW>x%&&gKyy~Luj|I=OR{>#mb zA-XVknPF`3RC&TRX)9%4!^1Ln4H6rKnFJ^erlw)}TNp=4blv#a?l3^;{XrCZMtd|f zfYT{9E?bmp`;Z%$X9}y1Vgw%qs{mR&OX-@Ap@i%=+%-O9^^gY(Be6@9ixmg;)^qpS za*kgB$wx9#&2xO#*E$A1%m^E)jDhV6GR;iV)ETYY@b3)Kfgm)N_x(la_47+bdQb=1 z9CK!z!omG;Ca00S{$^jS19b?v!+EZczG$W;(g(&tNFcy#W)d)v_!~_$IRB1oQSoxd zSCQ9X;){28OokD7*;)~S+&(l8Md)}C0(TlOY|cS|GcBea0@|9DI* zyG$PKo+d;PBJTHvb>O}ndz;Zf{G!b} z1&$>7mvPv6uye|@WiL!655+ZS_=xJkPTmYAAHsY4%R)!gHrT8*GF{sfap z5~)!S+ocv>ol|tgsiOlKs(wOd8}_!%2Mf`tQmm!w7_WJ`8T6{eDKyqS$-A^>J9#YS37fzVCtB z3FJa;r{j2eE+{0nRQJthM0$)htMY zY_~@q)YwIe>xL_u@|%N%WI>PLU??SiAmF@6+Bv(Fydr(W{1^vhP<=M@?0%pxT^U1`saXZrV1ZWlhUNDRHmp>1{~AwP`_+N%$q{|BtDNTNFpaMS@&eZZ-Lh;Y z6AY(bG*~FT^in)wJ=P>*9i>0v@eXc_{qSp^*aeHPAF_5GFA%oy_TFKKeP3S28+f(7 zv{;*#QQrD$NNCvAmHs1{iGd|6(*Np|xf~1}-8dsm>6UZspOxfU1|vgfEwZQw>T2gr z*|w1-eju1tu8Z;EbT$n>-MR$b!qm2N7K9==Zdo$?n@Yr&(?t}fJ_PPGSU{)DErEgz z5HLOnG~hqj7uriZ%?())|CIkT$p0Gu7lr=+6>KbROr1UKP5;LW6#)Fx=RdDsg?`+n zKkq+&4E?{3KLGl%LVwAh^p}{55S^5qID@gBt+Sz}t*IluyN&h#%i-|D5g`H2-TUKI z2nqn8{zveG|KTA0$>i*u4V^9RY=4AvO`S}gofw!H85x=A|EKo<$H2 + + + Bombe + + title + Bombe + + + composer + Matthew James Briggs + + + + Harp + + + Piano + + + + + + 840 + + 0 + major + + + 2 + + G + 2 + + + F + 4 + + + + + + quarter + 72 + + + 1 + + + + + G + 4 + + 336 + 1 + eighth + + 5 + 4 + + up + 1 + + + + + + + + A + 1 + 4 + + 336 + 1 + eighth + + 5 + 4 + + up + 1 + + + + + C + 5 + + 336 + 1 + eighth + natural + + 5 + 4 + + up + 1 + + + + 672 + 1 + quarter + + 5 + 4 + + 1 + + + + D + -1 + 5 + + 336 + 1 + eighth + flat + + 5 + 4 + + down + 1 + + + + + E + -1 + 5 + + 336 + 1 + eighth + flat + + 5 + 4 + + down + 1 + + + + + F + 5 + + 336 + 1 + eighth + natural + + 5 + 4 + + down + 1 + + + + 336 + 1 + eighth + + 5 + 4 + + 1 + + + + + + + G + 4 + + 280 + 1 + eighth + natural + + 3 + 2 + + down + 1 + begin + + + + + + + + C + 5 + + 280 + 1 + eighth + + 3 + 2 + + down + 1 + + + + D + 5 + + 280 + 1 + eighth + natural + + 3 + 2 + + down + 1 + continue + + + + E + -1 + 5 + + 280 + 1 + eighth + + 3 + 2 + + down + 1 + end + + + + + + + + G + 5 + + 280 + 1 + eighth + natural + + 3 + 2 + + down + 1 + + + + 280 + 1 + eighth + + 3 + 2 + + 1 + + + + + + + G + 4 + + 280 + 1 + eighth + natural + + 3 + 2 + + down + 1 + begin + + + + C + 5 + + 280 + 1 + eighth + natural + + 3 + 2 + + down + 1 + end + + + + + + + + E + -1 + 5 + + 280 + 1 + eighth + flat + + 3 + 2 + + down + 1 + + + 3360 + + + + 420 + 2 + eighth + 2 + + + + C + 3 + + 840 + 2 + quarter + down + 2 + + + + + B + 3 + + 840 + 2 + quarter + down + 2 + + + + C + 3 + + 420 + + 2 + eighth + down + 2 + + + + + + + + B + 3 + + 420 + + 2 + eighth + down + 2 + + + + + + + C + 3 + + 840 + + 2 + quarter + down + 2 + + + + + + + + B + 3 + + 840 + + 2 + quarter + down + 2 + + + + + + + C + 3 + + 840 + + 2 + quarter + down + 2 + + + + + + + + B + 3 + + 840 + + 2 + quarter + down + 2 + + + + + + + + + E + 1 + 5 + + 560 + 1 + quarter + sharp + + 3 + 2 + + down + 1 + + + + + + + + F + 1 + 5 + + 560 + 1 + quarter + sharp + + 3 + 2 + + down + 1 + + + + + A + 1 + 5 + + 560 + 1 + quarter + sharp + + 3 + 2 + + down + 1 + + + + + C + 6 + + 560 + 1 + quarter + natural + + 3 + 2 + + down + 1 + + + + C + 1 + 5 + + 560 + 1 + quarter + sharp + + 3 + 2 + + down + 1 + + + + + D + 1 + 5 + + 560 + 1 + quarter + sharp + + 3 + 2 + + down + 1 + + + + + A + 5 + + 560 + 1 + quarter + natural + + 3 + 2 + + down + 1 + + + + A + 1 + 4 + + 560 + 1 + quarter + sharp + + 3 + 2 + + down + 1 + + + + + + + + C + 1 + 5 + + 560 + 1 + quarter + sharp + + 3 + 2 + + down + 1 + + + + + A + 5 + + 560 + 1 + quarter + natural + + 3 + 2 + + down + 1 + + + + G + 4 + + 336 + 1 + eighth + natural + + 5 + 4 + + up + 1 + begin + + + + + + + + C + 5 + + 336 + 1 + eighth + natural + + 5 + 4 + + up + 1 + + + + C + 4 + + 336 + 1 + eighth + natural + + 5 + 4 + + up + 1 + continue + + + + + D + 4 + + 336 + 1 + eighth + natural + + 5 + 4 + + up + 1 + + + + D + 4 + + 336 + 1 + eighth + natural + + 5 + 4 + + up + 1 + continue + + + + + E + -1 + 4 + + 336 + 1 + eighth + flat + + 5 + 4 + + up + 1 + + + + E + -1 + 4 + + 336 + 1 + eighth + flat + + 5 + 4 + + up + 1 + continue + + + + + F + 4 + + 336 + 1 + eighth + natural + + 5 + 4 + + up + 1 + + + + E + -1 + 4 + + 336 + 1 + eighth + flat + + 5 + 4 + + up + 1 + end + + + + + + + + G + 4 + + 336 + 1 + eighth + natural + + 5 + 4 + + up + 1 + + + 3360 + + + + C + 3 + + 3360 + + 2 + whole + 2 + + + + + + + + B + 3 + + 3360 + + 2 + whole + 2 + + + + + + + + + 114 + + + + + 480 + 1 + eighth + + 7 + 8 + + 1 + + + + + + + F + 1 + 4 + + 960 + 1 + quarter + sharp + + 7 + 8 + + up + 1 + + + + + A + 4 + + 960 + 1 + quarter + natural + + 7 + 8 + + up + 1 + + + + + D + 5 + + 960 + 1 + quarter + natural + + 7 + 8 + + up + 1 + + + + A + 4 + + 960 + 1 + quarter + natural + + 7 + 8 + + down + 1 + + + + + C + 5 + + 960 + 1 + quarter + natural + + 7 + 8 + + down + 1 + + + + + F + 5 + + 960 + 1 + quarter + natural + + 7 + 8 + + down + 1 + + + + A + 4 + + 480 + 1 + eighth + natural + + 7 + 8 + + down + 1 + begin + + + + + G + 5 + + 480 + 1 + eighth + natural + + 7 + 8 + + down + 1 + + + + G + 4 + + 480 + 1 + eighth + natural + + 7 + 8 + + down + 1 + end + + + + + + + + F + 5 + + 480 + 1 + eighth + natural + + 7 + 8 + + down + 1 + + + 3360 + + + + C + 3 + + 1680 + + 2 + half + down + 2 + + + + + + + + B + 3 + + 1680 + + 2 + half + down + 2 + + + + + + + C + 3 + + 1260 + + 2 + quarter + + down + 2 + + + + + + + + B + 3 + + 1260 + + 2 + quarter + + down + 2 + + + + + + + C + 3 + + 420 + + 2 + eighth + down + 2 + + + + + + + + B + 3 + + 420 + + 2 + eighth + down + 2 + + + + + + + + + C + 4 + + 120 + 1 + 16th + + 7 + 4 + + up + 1 + begin + begin + + + + + + + D + 4 + + 120 + 1 + 16th + + 7 + 4 + + up + 1 + continue + continue + + + + E + 4 + + 120 + 1 + 16th + + 7 + 4 + + up + 1 + continue + continue + + + + F + 4 + + 120 + 1 + 16th + + 7 + 4 + + up + 1 + continue + continue + + + + G + 4 + + 120 + 1 + 16th + + 7 + 4 + + up + 1 + continue + continue + + + + A + 4 + + 120 + 1 + 16th + + 7 + 4 + + up + 1 + continue + continue + + + + B + 4 + + 120 + 1 + 16th + + 7 + 4 + + up + 1 + end + end + + + + + + + C + 5 + + 140 + 1 + 16th + + 6 + 4 + + down + 1 + begin + begin + + + + + + + D + 5 + + 140 + 1 + 16th + + 6 + 4 + + down + 1 + continue + continue + + + + E + 5 + + 140 + 1 + 16th + + 6 + 4 + + down + 1 + continue + continue + + + + F + 5 + + 140 + 1 + 16th + + 6 + 4 + + down + 1 + continue + continue + + + + G + 5 + + 140 + 1 + 16th + + 6 + 4 + + down + 1 + continue + continue + + + + A + 5 + + 140 + 1 + 16th + + 6 + 4 + + down + 1 + end + end + + + + + + + B + 5 + + 210 + 1 + 16th + down + 1 + begin + begin + + + + C + 6 + + 210 + 1 + 16th + down + 1 + end + end + + + + D + 6 + + 1260 + 1 + quarter + + down + 1 + + + 3360 + + + + C + 3 + + 3360 + + 2 + whole + 2 + + + + + + + + B + 3 + + 3360 + + 2 + whole + 2 + + + + + + light-heavy + + + + + + + system + + + 10 + + 0 + major + + + 2 + + G + 2 + + + F + 4 + + + + + 4 + 1 + eighth + + 5 + 4 + + 1 + + + + + + + G + 3 + + 4 + 1 + eighth + + 5 + 4 + + up + 1 + begin + + + + A + 3 + + 4 + 1 + eighth + + 5 + 4 + + up + 1 + continue + + + + + G + 4 + + 4 + 1 + eighth + + 5 + 4 + + up + 1 + + + + 4 + 1 + eighth + + 5 + 4 + + 1 + + + + G + 3 + + 4 + 1 + eighth + + 5 + 4 + + up + 1 + end + + + + + + + A + 3 + + 4 + 1 + eighth + + 5 + 4 + + up + 1 + begin + + + + + + + + G + 4 + + 4 + 1 + eighth + + 5 + 4 + + up + 1 + + + + 4 + 1 + eighth + + 5 + 4 + + 1 + + + + G + 3 + + 4 + 1 + eighth + + 5 + 4 + + up + 1 + continue + + + + A + 3 + + 4 + 1 + eighth + + 5 + 4 + + up + 1 + end + + + + + G + 4 + + 4 + 1 + eighth + + 5 + 4 + + up + 1 + + + + 4 + 1 + eighth + + 5 + 4 + + 1 + + + + + + 40 + + + + G + 1 + + 20 + 2 + half + up + 2 + + + + + G + 2 + + 20 + 2 + half + up + 2 + + + + G + 1 + + 20 + 2 + half + up + 2 + + + + + G + 2 + + 20 + 2 + half + up + 2 + + + + + + G + 3 + + 4 + 1 + eighth + + 5 + 4 + + up + 1 + begin + + + + + + + A + 3 + + 4 + 1 + eighth + + 5 + 4 + + up + 1 + continue + + + + + G + 4 + + 4 + 1 + eighth + + 5 + 4 + + up + 1 + + + + G + 3 + + 4 + 1 + eighth + + 5 + 4 + + up + 1 + end + + + + A + 3 + + 8 + 1 + quarter + + 5 + 4 + + up + 1 + + + + + + + + G + 4 + + 8 + 1 + quarter + + 5 + 4 + + up + 1 + + + + A + 3 + + 4 + 1 + eighth + + 5 + 4 + + up + 1 + begin + + + + + + + + G + 4 + + 4 + 1 + eighth + + 5 + 4 + + up + 1 + + + + G + 3 + + 4 + 1 + eighth + + 5 + 4 + + up + 1 + end + + + + A + 3 + + 12 + 1 + quarter + + + 5 + 4 + + up + 1 + + + + + + + + G + 4 + + 12 + 1 + quarter + + + 5 + 4 + + up + 1 + + + 40 + + + + A + 1 + + 20 + 2 + half + up + 2 + + + + + A + 2 + + 20 + 2 + half + up + 2 + + + + A + 1 + + 20 + 2 + half + up + 2 + + + + + A + 2 + + 20 + 2 + half + up + 2 + + + + + + + G + 3 + + 4 + 1 + eighth + + 5 + 4 + + up + 1 + begin + + + + + + + + A + 3 + + 4 + 1 + eighth + + 5 + 4 + + up + 1 + + + + G + 4 + + 4 + 1 + eighth + + 5 + 4 + + up + 1 + continue + + + + G + 3 + + 4 + 1 + eighth + + 5 + 4 + + up + 1 + end + + + + + A + 3 + + 4 + 1 + eighth + + 5 + 4 + + up + 1 + + + + G + 4 + + 8 + + 1 + quarter + + 5 + 4 + + up + 1 + + + + + + + + G + 4 + + 8 + + 1 + quarter + + 5 + 4 + eighth + + up + 1 + + + + + + + + G + 3 + + 4 + 1 + eighth + + 5 + 4 + eighth + + up + 1 + begin + + + + A + 3 + + 4 + 1 + eighth + + 5 + 4 + eighth + + up + 1 + continue + + + + + A + 4 + + 4 + 1 + eighth + + 5 + 4 + eighth + + up + 1 + + + + G + 3 + + 4 + + 1 + eighth + + 5 + 4 + eighth + + up + 1 + end + + + + + + + + + G + 4 + + 4 + + 1 + eighth + + 5 + 4 + eighth + + up + 1 + + + + + + 40 + + + + G + 1 + + 20 + 2 + half + up + 2 + + + + + G + 2 + + 20 + 2 + half + up + 2 + + + + G + 1 + + 20 + + 2 + half + up + 2 + + + + + + + + G + 2 + + 20 + + 2 + half + up + 2 + + + + + + + + + G + 3 + + 40 + + 1 + whole + 1 + + + + + + + + G + 4 + + 40 + + 1 + whole + 1 + + + + + + 40 + + + + G + 1 + + 40 + + 2 + whole + 2 + + + + + + + + G + 2 + + 40 + + 2 + whole + 2 + + + + + + light-heavy + + + + diff --git a/Resources/ksuite/Bombe_Finale.pdf b/Resources/ksuite/Bombe_Finale.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ec45fb7475b4f3264a7ee291bc5d565115a10e52 GIT binary patch literal 46227 zcmce-W0)mNyXRf#vTfV8ZM)01%`V%vZL7<+ZQDjy)pYN@pZ7dx&U>yi^JTuQjEKyP z8*%4a*ZRdjN#un^X&7jkAV~%e?+(vP?sI1bh9H^o>G5q1EFihL@#&dr#$@&PfIDvQR(A#d2za&Px)$VdY+wSQTNx6Dk`;)gzOHsO`zHzULQJ5 z&fa+Kb=@reGaK65st~GeWw_V(%*xy4KMrF~QGH-DLwAKz|8f2hd1zF*J}SbO44-@mf#;eu35pAP{JEHm!|>{)u)1JqUU1rKX; z{eX_4JG1vgSwYl*2-$60wpKF+CGTA;?sA<4xLl$4{I$gHvc6-T+S|-(1tu~-HScYp ziGk8`t>TZ9Pso#9O21-lDDhmHdi=g1L#yb=019G>iS)xJg25*$KOuV35*ZLxej^(f zLMFd&^11qai5$o(1rmZKZ-=;j*^&^*3{4=3pq1r=ePh@~eO9klh`hYG;{9E#B|;pS z379(5iY{$c7Kco@D_YaAHbA*i$kX*cJq^%BxzPG}CI*EH$SfteiCH?%v59eoHoS>j zbqpuf{Ld^yEJ&t%9r0qmI7uNDA@3b?(yTvxaSHQ?@J=1WR40KrDWg12t|mp9U{KB6 z>UuYrTb`?vr%_tm121U}Nfg=aUlyq*2M$1f&zdB@xv&ph&BD|No3}&9df$2J5C%FU z;3xW?%3jx$2Hafg;;aU9>6C*bd-z{oI84_S5owNCn|(vYUggV1M#+>K;a%A$OizShoTZW_|{yB`*mrc>JU3Eh@xg z%;RKLacRG&n&Q0VmUo1LS4M-+uommnqHrQ}PgrBSKMeOwWOb>!2}Ud|gLG+glP3d} zFU!!;BG~20$K!Lq`Q>zSujH%a?I9+o0uMj`?O}WxlDu5*$7js+B3(HhpGLw<;Yi>$R9v{(NU{ z#Yx!3v65 z`g*N90J8Z=FFeu$?!80iN9DxXRLeHu&`tw6Yh?fyL#GaJFXk)B-!A z`hFD0i%QFDP8N_f8nGQZdEaJ7D-$nQ5LY^5yAqRUD6r!-KWl>{4U|N2b?O)-Qy;WLD*zw~v6;JyeX? zHvLYbq3&$&D}tU-&CnH5#>VXtDtT~AdxUfZKH;}t8?(@6V0-S7|32k%#~u;M6#66V)eqI zl1^5O^y-^uot@(}uih@g<2qV)WqkZHo#<|C$6qzmu zeB8mB0k^GkZg3pI03Ol38oZRn-kpY?nyageF-@~HsZBwxSfDb=AqiOflC%q)rY5D0MBmQb3jy z9UQYJg`}g|U7D^@hq2kaJjB6HJmpJ}ViKH3KH1s0WWMO7j#Xvv!m>HcHC? zj1j&EVmKLC8zwYY866j=?2!sAJlHyUMuHl{X0V-FoTm(spCV(L5#?NF5n

(obj)); + return _insert_noresize(val); + } +#endif + + // When inserting a lot at a time, we specialize on the type of iterator + template + void insert(InputIterator f, InputIterator l) + { + // specializes on iterator type + _insert(f, l, + typename std::iterator_traits::iterator_category()); + } + + // DefaultValue is a functor that takes a key and returns a value_type + // representing the default value to be inserted if none is found. + template + value_type& find_or_insert(const key_type& key) + { + size_type num_probes = 0; // how many times we've probed + const size_type bucket_count_minus_one = bucket_count() - 1; + size_type bucknum = hash(key) & bucket_count_minus_one; + DefaultValue default_value; + size_type erased_pos = 0; + bool erased = false; + + while (1) // probe until something happens + { + typename Table::GrpPos grp_pos(table, bucknum); + + if (!grp_pos.test_strict()) + { + // not found + if (_resize_delta(1)) + { + // needed to rehash to make room + // Since we resized, we can't use pos, so recalculate where to insert. + value_type def(default_value(key)); + return *(_insert_noresize(def).first); + } + else + { + // no need to rehash, insert right here + value_type def(default_value(key)); + return _insert_at(def, erased ? erased_pos : bucknum, erased); + } + } + if (grp_pos.test()) + { + reference ref(grp_pos.unsafe_get()); + + if (equals(key, get_key(ref))) + return ref; + } + else if (!erased) + { + // first erased position + erased_pos = bucknum; + erased = true; + } + + ++num_probes; // we're doing another probe + bucknum = (bucknum + JUMP_(key, num_probes)) & bucket_count_minus_one; + assert(num_probes < bucket_count() + && "Hashtable is full: an error in key_equal<> or hash<>"); + } + } + + size_type erase(const key_type& key) + { + size_type num_probes = 0; // how many times we've probed + const size_type bucket_count_minus_one = bucket_count() - 1; + size_type bucknum = hash(key) & bucket_count_minus_one; + + while (1) // probe until something happens + { + typename Table::GrpPos grp_pos(table, bucknum); + + if (!grp_pos.test_strict()) + return 0; // bucket is empty, we deleted nothing + if (grp_pos.test()) + { + reference ref(grp_pos.unsafe_get()); + + if (equals(key, get_key(ref))) + { + grp_pos.erase(table); + ++num_deleted; + settings.set_consider_shrink(true); // will think about shrink after next insert + return 1; // because we deleted one thing + } + } + ++num_probes; // we're doing another probe + bucknum = (bucknum + JUMP_(key, num_probes)) & bucket_count_minus_one; + assert(num_probes < bucket_count() + && "Hashtable is full: an error in key_equal<> or hash<>"); + } + } + + const_iterator erase(const_iterator pos) + { + if (pos == cend()) + return cend(); // sanity check + + const_iterator nextpos = table.erase(pos); + ++num_deleted; + settings.set_consider_shrink(true); + return nextpos; + } + + const_iterator erase(const_iterator f, const_iterator l) + { + if (f == cend()) + return cend(); // sanity check + + size_type num_before = table.num_nonempty(); + const_iterator nextpos = table.erase(f, l); + num_deleted += num_before - table.num_nonempty(); + settings.set_consider_shrink(true); + return nextpos; + } + + // Deleted key routines - just to keep google test framework happy + // we don't actually use the deleted key + // --------------------------------------------------------------- + void set_deleted_key(const key_type&) + { + } + + void clear_deleted_key() + { + } + + bool operator==(const sparse_hashtable& ht) const + { + if (this == &ht) + return true; + + if (size() != ht.size()) + return false; + + for (const_iterator it = begin(); it != end(); ++it) + { + const_iterator it2 = ht.find(get_key(*it)); + if ((it2 == ht.end()) || (*it != *it2)) + return false; + } + + return true; + } + + bool operator!=(const sparse_hashtable& ht) const + { + return !(*this == ht); + } + + + // I/O + // We support reading and writing hashtables to disk. NOTE that + // this only stores the hashtable metadata, not the stuff you've + // actually put in the hashtable! Alas, since I don't know how to + // write a hasher or key_equal, you have to make sure everything + // but the table is the same. We compact before writing. + // + // The OUTPUT type needs to support a Write() operation. File and + // OutputBuffer are appropriate types to pass in. + // + // The INPUT type needs to support a Read() operation. File and + // InputBuffer are appropriate types to pass in. + // ------------------------------------------------------------- + template + bool write_metadata(OUTPUT *fp) + { + return table.write_metadata(fp); + } + + template + bool read_metadata(INPUT *fp) + { + num_deleted = 0; // since we got rid before writing + const bool result = table.read_metadata(fp); + settings.reset_thresholds(bucket_count()); + return result; + } + + // Only meaningful if value_type is a POD. + template + bool write_nopointer_data(OUTPUT *fp) + { + return table.write_nopointer_data(fp); + } + + // Only meaningful if value_type is a POD. + template + bool read_nopointer_data(INPUT *fp) + { + return table.read_nopointer_data(fp); + } + + // INPUT and OUTPUT must be either a FILE, *or* a C++ stream + // (istream, ostream, etc) *or* a class providing + // Read(void*, size_t) and Write(const void*, size_t) + // (respectively), which writes a buffer into a stream + // (which the INPUT/OUTPUT instance presumably owns). + + typedef sparsehash_internal::pod_serializer NopointerSerializer; + + // ValueSerializer: a functor. operator()(OUTPUT*, const value_type&) + template + bool serialize(ValueSerializer serializer, OUTPUT *fp) + { + return table.serialize(serializer, fp); + } + + // ValueSerializer: a functor. operator()(INPUT*, value_type*) + template + bool unserialize(ValueSerializer serializer, INPUT *fp) + { + num_deleted = 0; // since we got rid before writing + const bool result = table.unserialize(serializer, fp); + settings.reset_thresholds(bucket_count()); + return result; + } + +private: + + // Package templated functors with the other types to eliminate memory + // needed for storing these zero-size operators. Since ExtractKey and + // hasher's operator() might have the same function signature, they + // must be packaged in different classes. + // ------------------------------------------------------------------------- + struct Settings : + sparsehash_internal::sh_hashtable_settings + { + explicit Settings(const hasher& hf) + : sparsehash_internal::sh_hashtable_settings + (hf, HT_OCCUPANCY_PCT / 100.0f, HT_EMPTY_PCT / 100.0f) {} + }; + + // KeyInfo stores delete key and packages zero-size functors: + // ExtractKey and SetKey. + // --------------------------------------------------------- + class KeyInfo : public ExtractKey, public SetKey, public EqualKey + { + public: + KeyInfo(const ExtractKey& ek, const SetKey& sk, const EqualKey& eq) + : ExtractKey(ek), SetKey(sk), EqualKey(eq) + { + } + + // We want to return the exact same type as ExtractKey: Key or const Key& + typename ExtractKey::result_type get_key(const_reference v) const + { + return ExtractKey::operator()(v); + } + + bool equals(const key_type& a, const key_type& b) const + { + return EqualKey::operator()(a, b); + } + }; + + // Utility functions to access the templated operators + size_t hash(const key_type& v) const + { + return settings.hash(v); + } + + bool equals(const key_type& a, const key_type& b) const + { + return key_info.equals(a, b); + } + + typename ExtractKey::result_type get_key(const_reference v) const + { + return key_info.get_key(v); + } + +private: + // Actual data + // ----------- + Settings settings; + KeyInfo key_info; + size_type num_deleted; + Table table; // holds num_buckets and num_elements too +}; + +#undef JUMP_ + +// ----------------------------------------------------------------------------- +template +const typename sparse_hashtable::size_type +sparse_hashtable::ILLEGAL_BUCKET; + +// How full we let the table get before we resize. Knuth says .8 is +// good -- higher causes us to probe too much, though saves memory +// ----------------------------------------------------------------------------- +template +const int sparse_hashtable::HT_OCCUPANCY_PCT = 50; + +// How empty we let the table get before we resize lower. +// It should be less than OCCUPANCY_PCT / 2 or we thrash resizing +// ----------------------------------------------------------------------------- +template +const int sparse_hashtable::HT_EMPTY_PCT += static_cast(0.4 * + sparse_hashtable::HT_OCCUPANCY_PCT); + + +// ---------------------------------------------------------------------- +// S P A R S E _ H A S H _ M A P +// ---------------------------------------------------------------------- +template , + class EqualKey = std::equal_to, + class Alloc = SPP_DEFAULT_ALLOCATOR > > +class sparse_hash_map +{ +public: + typedef typename std::pair value_type; + +private: + // Apparently select1st is not stl-standard, so we define our own + struct SelectKey + { + typedef const Key& result_type; + + inline const Key& operator()(const value_type& p) const + { + return p.first; + } + }; + + struct SetKey + { + inline void operator()(value_type* value, const Key& new_key) const + { + *const_cast(&value->first) = new_key; + } + }; + + // For operator[]. + struct DefaultValue + { + inline value_type operator()(const Key& key) const + { + return std::make_pair(key, T()); + } + }; + + // The actual data + typedef sparse_hashtable ht; + +public: + typedef typename ht::key_type key_type; + typedef T data_type; + typedef T mapped_type; + typedef typename ht::hasher hasher; + typedef typename ht::key_equal key_equal; + typedef Alloc allocator_type; + + typedef typename ht::size_type size_type; + typedef typename ht::difference_type difference_type; + typedef typename ht::pointer pointer; + typedef typename ht::const_pointer const_pointer; + typedef typename ht::reference reference; + typedef typename ht::const_reference const_reference; + + typedef typename ht::iterator iterator; + typedef typename ht::const_iterator const_iterator; + typedef typename ht::local_iterator local_iterator; + typedef typename ht::const_local_iterator const_local_iterator; + + // Iterator functions + iterator begin() { return rep.begin(); } + iterator end() { return rep.end(); } + const_iterator begin() const { return rep.cbegin(); } + const_iterator end() const { return rep.cend(); } + const_iterator cbegin() const { return rep.cbegin(); } + const_iterator cend() const { return rep.cend(); } + + // These come from tr1's unordered_map. For us, a bucket has 0 or 1 elements. + local_iterator begin(size_type i) { return rep.begin(i); } + local_iterator end(size_type i) { return rep.end(i); } + const_local_iterator begin(size_type i) const { return rep.begin(i); } + const_local_iterator end(size_type i) const { return rep.end(i); } + const_local_iterator cbegin(size_type i) const { return rep.cbegin(i); } + const_local_iterator cend(size_type i) const { return rep.cend(i); } + + // Accessor functions + // ------------------ + allocator_type get_allocator() const { return rep.get_allocator(); } + hasher hash_funct() const { return rep.hash_funct(); } + hasher hash_function() const { return hash_funct(); } + key_equal key_eq() const { return rep.key_eq(); } + + + // Constructors + // ------------ + explicit sparse_hash_map(size_type n = 0, + const hasher& hf = hasher(), + const key_equal& eql = key_equal(), + const allocator_type& alloc = allocator_type()) + : rep(n, hf, eql, SelectKey(), SetKey(), alloc) + { + } + + explicit sparse_hash_map(const allocator_type& alloc) : + rep(0, hasher(), key_equal(), SelectKey(), SetKey(), alloc) + { + } + + sparse_hash_map(size_type n, const allocator_type& alloc) : + rep(n, hasher(), key_equal(), SelectKey(), SetKey(), alloc) + { + } + + sparse_hash_map(size_type n, const hasher& hf, const allocator_type& alloc) : + rep(n, hf, key_equal(), SelectKey(), SetKey(), alloc) + { + } + + template + sparse_hash_map(InputIterator f, InputIterator l, + size_type n = 0, + const hasher& hf = hasher(), + const key_equal& eql = key_equal(), + const allocator_type& alloc = allocator_type()) + : rep(n, hf, eql, SelectKey(), SetKey(), alloc) + { + rep.insert(f, l); + } + + template + sparse_hash_map(InputIterator f, InputIterator l, + size_type n, const allocator_type& alloc) + : rep(n, hasher(), key_equal(), SelectKey(), SetKey(), alloc) + { + rep.insert(f, l); + } + + template + sparse_hash_map(InputIterator f, InputIterator l, + size_type n, const hasher& hf, const allocator_type& alloc) + : rep(n, hf, key_equal(), SelectKey(), SetKey(), alloc) + { + rep.insert(f, l); + } + + sparse_hash_map(const sparse_hash_map &o) : + rep(o.rep) + {} + + sparse_hash_map(const sparse_hash_map &o, + const allocator_type& alloc) : + rep(o.rep, alloc) + {} + +#if !defined(SPP_NO_CXX11_RVALUE_REFERENCES) + sparse_hash_map(sparse_hash_map &&o) : + rep(std::move(o.rep)) + {} + + sparse_hash_map(sparse_hash_map &&o, + const allocator_type& alloc) : + rep(std::move(o.rep), alloc) + {} + + sparse_hash_map& operator=(sparse_hash_map &&o) = default; +#endif + +#if !defined(SPP_NO_CXX11_HDR_INITIALIZER_LIST) + sparse_hash_map(std::initializer_list init, + size_type n = 0, + const hasher& hf = hasher(), + const key_equal& eql = key_equal(), + const allocator_type& alloc = allocator_type()) + : rep(n, hf, eql, SelectKey(), SetKey(), alloc) + { + rep.insert(init.begin(), init.end()); + } + + sparse_hash_map(std::initializer_list init, + size_type n, const allocator_type& alloc) : + rep(n, hasher(), key_equal(), SelectKey(), SetKey(), alloc) + { + rep.insert(init.begin(), init.end()); + } + + sparse_hash_map(std::initializer_list init, + size_type n, const hasher& hf, const allocator_type& alloc) : + rep(n, hf, key_equal(), SelectKey(), SetKey(), alloc) + { + rep.insert(init.begin(), init.end()); + } + + sparse_hash_map& operator=(std::initializer_list init) + { + rep.clear(); + rep.insert(init.begin(), init.end()); + return *this; + } + + void insert(std::initializer_list init) + { + rep.insert(init.begin(), init.end()); + } +#endif + + sparse_hash_map& operator=(const sparse_hash_map &o) + { + rep = o.rep; + return *this; + } + + void clear() { rep.clear(); } + void swap(sparse_hash_map& hs) { rep.swap(hs.rep); } + + // Functions concerning size + // ------------------------- + size_type size() const { return rep.size(); } + size_type max_size() const { return rep.max_size(); } + bool empty() const { return rep.empty(); } + size_type bucket_count() const { return rep.bucket_count(); } + size_type max_bucket_count() const { return rep.max_bucket_count(); } + + size_type bucket_size(size_type i) const { return rep.bucket_size(i); } + size_type bucket(const key_type& key) const { return rep.bucket(key); } + float load_factor() const { return size() * 1.0f / bucket_count(); } + + float max_load_factor() const { return rep.get_enlarge_factor(); } + void max_load_factor(float grow) { rep.set_enlarge_factor(grow); } + + float min_load_factor() const { return rep.get_shrink_factor(); } + void min_load_factor(float shrink){ rep.set_shrink_factor(shrink); } + + void set_resizing_parameters(float shrink, float grow) + { + rep.set_resizing_parameters(shrink, grow); + } + + void resize(size_type cnt) { rep.resize(cnt); } + void rehash(size_type cnt) { resize(cnt); } // c++11 name + void reserve(size_type cnt) { resize(cnt); } // c++11 + + // Lookup + // ------ + iterator find(const key_type& key) { return rep.find(key); } + const_iterator find(const key_type& key) const { return rep.find(key); } + bool contains(const key_type& key) const { return rep.find(key) != rep.end(); } + + mapped_type& operator[](const key_type& key) + { + return rep.template find_or_insert(key).second; + } + + size_type count(const key_type& key) const { return rep.count(key); } + + std::pair + equal_range(const key_type& key) { return rep.equal_range(key); } + + std::pair + equal_range(const key_type& key) const { return rep.equal_range(key); } + + mapped_type& at(const key_type& key) + { + iterator it = rep.find(key); + if (it == rep.end()) + throw_exception(std::out_of_range("at: key not present")); + return it->second; + } + + const mapped_type& at(const key_type& key) const + { + const_iterator it = rep.find(key); + if (it == rep.cend()) + throw_exception(std::out_of_range("at: key not present")); + return it->second; + } + +#if !defined(SPP_NO_CXX11_VARIADIC_TEMPLATES) + template + std::pair emplace(Args&&... args) + { + return rep.emplace(std::forward(args)...); + } + + template + iterator emplace_hint(const_iterator , Args&&... args) + { + return rep.emplace(std::forward(args)...).first; + } +#endif + + // Insert + // ------ + std::pair + insert(const value_type& obj) { return rep.insert(obj); } + +#if !defined(SPP_NO_CXX11_RVALUE_REFERENCES) + template< class P > + std::pair insert(P&& obj) { return rep.insert(std::forward

(obj)); } +#endif + + template + void insert(InputIterator f, InputIterator l) { rep.insert(f, l); } + + void insert(const_iterator f, const_iterator l) { rep.insert(f, l); } + + iterator insert(iterator /*unused*/, const value_type& obj) { return insert(obj).first; } + iterator insert(const_iterator /*unused*/, const value_type& obj) { return insert(obj).first; } + + // Deleted key routines - just to keep google test framework happy + // we don't actually use the deleted key + // --------------------------------------------------------------- + void set_deleted_key(const key_type& key) { rep.set_deleted_key(key); } + void clear_deleted_key() { rep.clear_deleted_key(); } + key_type deleted_key() const { return rep.deleted_key(); } + + // Erase + // ----- + size_type erase(const key_type& key) { return rep.erase(key); } + iterator erase(iterator it) { return rep.erase(it); } + iterator erase(iterator f, iterator l) { return rep.erase(f, l); } + iterator erase(const_iterator it) { return rep.erase(it); } + iterator erase(const_iterator f, const_iterator l){ return rep.erase(f, l); } + + // Comparison + // ---------- + bool operator==(const sparse_hash_map& hs) const { return rep == hs.rep; } + bool operator!=(const sparse_hash_map& hs) const { return rep != hs.rep; } + + + // I/O -- this is an add-on for writing metainformation to disk + // + // For maximum flexibility, this does not assume a particular + // file type (though it will probably be a FILE *). We just pass + // the fp through to rep. + + // If your keys and values are simple enough, you can pass this + // serializer to serialize()/unserialize(). "Simple enough" means + // value_type is a POD type that contains no pointers. Note, + // however, we don't try to normalize endianness. + // --------------------------------------------------------------- + typedef typename ht::NopointerSerializer NopointerSerializer; + + // serializer: a class providing operator()(OUTPUT*, const value_type&) + // (writing value_type to OUTPUT). You can specify a + // NopointerSerializer object if appropriate (see above). + // fp: either a FILE*, OR an ostream*/subclass_of_ostream*, OR a + // pointer to a class providing size_t Write(const void*, size_t), + // which writes a buffer into a stream (which fp presumably + // owns) and returns the number of bytes successfully written. + // Note basic_ostream is not currently supported. + // --------------------------------------------------------------- + template + bool serialize(ValueSerializer serializer, OUTPUT* fp) + { + return rep.serialize(serializer, fp); + } + + // serializer: a functor providing operator()(INPUT*, value_type*) + // (reading from INPUT and into value_type). You can specify a + // NopointerSerializer object if appropriate (see above). + // fp: either a FILE*, OR an istream*/subclass_of_istream*, OR a + // pointer to a class providing size_t Read(void*, size_t), + // which reads into a buffer from a stream (which fp presumably + // owns) and returns the number of bytes successfully read. + // Note basic_istream is not currently supported. + // NOTE: Since value_type is std::pair, ValueSerializer + // may need to do a const cast in order to fill in the key. + // NOTE: if Key or T are not POD types, the serializer MUST use + // placement-new to initialize their values, rather than a normal + // equals-assignment or similar. (The value_type* passed into the + // serializer points to garbage memory.) + // --------------------------------------------------------------- + template + bool unserialize(ValueSerializer serializer, INPUT* fp) + { + return rep.unserialize(serializer, fp); + } + + // The four methods below are DEPRECATED. + // Use serialize() and unserialize() for new code. + // ----------------------------------------------- + template + bool write_metadata(OUTPUT *fp) { return rep.write_metadata(fp); } + + template + bool read_metadata(INPUT *fp) { return rep.read_metadata(fp); } + + template + bool write_nopointer_data(OUTPUT *fp) { return rep.write_nopointer_data(fp); } + + template + bool read_nopointer_data(INPUT *fp) { return rep.read_nopointer_data(fp); } + + +private: + // The actual data + // --------------- + ht rep; +}; + +// ---------------------------------------------------------------------- +// S P A R S E _ H A S H _ S E T +// ---------------------------------------------------------------------- + +template , + class EqualKey = std::equal_to, + class Alloc = SPP_DEFAULT_ALLOCATOR > +class sparse_hash_set +{ +private: + // Apparently identity is not stl-standard, so we define our own + struct Identity + { + typedef const Value& result_type; + inline const Value& operator()(const Value& v) const { return v; } + }; + + struct SetKey + { + inline void operator()(Value* value, const Value& new_key) const + { + *value = new_key; + } + }; + + typedef sparse_hashtable ht; + +public: + typedef typename ht::key_type key_type; + typedef typename ht::value_type value_type; + typedef typename ht::hasher hasher; + typedef typename ht::key_equal key_equal; + typedef Alloc allocator_type; + + typedef typename ht::size_type size_type; + typedef typename ht::difference_type difference_type; + typedef typename ht::const_pointer pointer; + typedef typename ht::const_pointer const_pointer; + typedef typename ht::const_reference reference; + typedef typename ht::const_reference const_reference; + + typedef typename ht::const_iterator iterator; + typedef typename ht::const_iterator const_iterator; + typedef typename ht::const_local_iterator local_iterator; + typedef typename ht::const_local_iterator const_local_iterator; + + + // Iterator functions -- recall all iterators are const + iterator begin() const { return rep.begin(); } + iterator end() const { return rep.end(); } + const_iterator cbegin() const { return rep.cbegin(); } + const_iterator cend() const { return rep.cend(); } + + // These come from tr1's unordered_set. For us, a bucket has 0 or 1 elements. + local_iterator begin(size_type i) const { return rep.begin(i); } + local_iterator end(size_type i) const { return rep.end(i); } + local_iterator cbegin(size_type i) const { return rep.cbegin(i); } + local_iterator cend(size_type i) const { return rep.cend(i); } + + + // Accessor functions + // ------------------ + allocator_type get_allocator() const { return rep.get_allocator(); } + hasher hash_funct() const { return rep.hash_funct(); } + hasher hash_function() const { return hash_funct(); } // tr1 name + key_equal key_eq() const { return rep.key_eq(); } + + + // Constructors + // ------------ + explicit sparse_hash_set(size_type n = 0, + const hasher& hf = hasher(), + const key_equal& eql = key_equal(), + const allocator_type& alloc = allocator_type()) : + rep(n, hf, eql, Identity(), SetKey(), alloc) + { + } + + explicit sparse_hash_set(const allocator_type& alloc) : + rep(0, hasher(), key_equal(), Identity(), SetKey(), alloc) + { + } + + sparse_hash_set(size_type n, const allocator_type& alloc) : + rep(n, hasher(), key_equal(), Identity(), SetKey(), alloc) + { + } + + sparse_hash_set(size_type n, const hasher& hf, + const allocator_type& alloc) : + rep(n, hf, key_equal(), Identity(), SetKey(), alloc) + { + } + + template + sparse_hash_set(InputIterator f, InputIterator l, + size_type n = 0, + const hasher& hf = hasher(), + const key_equal& eql = key_equal(), + const allocator_type& alloc = allocator_type()) + : rep(n, hf, eql, Identity(), SetKey(), alloc) + { + rep.insert(f, l); + } + + template + sparse_hash_set(InputIterator f, InputIterator l, + size_type n, const allocator_type& alloc) + : rep(n, hasher(), key_equal(), Identity(), SetKey(), alloc) + { + rep.insert(f, l); + } + + template + sparse_hash_set(InputIterator f, InputIterator l, + size_type n, const hasher& hf, const allocator_type& alloc) + : rep(n, hf, key_equal(), Identity(), SetKey(), alloc) + { + rep.insert(f, l); + } + + sparse_hash_set(const sparse_hash_set &o) : + rep(o.rep) + {} + + sparse_hash_set(const sparse_hash_set &o, + const allocator_type& alloc) : + rep(o.rep, alloc) + {} + +#if !defined(SPP_NO_CXX11_RVALUE_REFERENCES) + sparse_hash_set(sparse_hash_set &&o) : + rep(std::move(o.rep)) + {} + + sparse_hash_set(sparse_hash_set &&o, + const allocator_type& alloc) : + rep(std::move(o.rep), alloc) + {} +#endif + +#if !defined(SPP_NO_CXX11_HDR_INITIALIZER_LIST) + sparse_hash_set(std::initializer_list init, + size_type n = 0, + const hasher& hf = hasher(), + const key_equal& eql = key_equal(), + const allocator_type& alloc = allocator_type()) : + rep(n, hf, eql, Identity(), SetKey(), alloc) + { + rep.insert(init.begin(), init.end()); + } + + sparse_hash_set(std::initializer_list init, + size_type n, const allocator_type& alloc) : + rep(n, hasher(), key_equal(), Identity(), SetKey(), alloc) + { + rep.insert(init.begin(), init.end()); + } + + sparse_hash_set(std::initializer_list init, + size_type n, const hasher& hf, + const allocator_type& alloc) : + rep(n, hf, key_equal(), Identity(), SetKey(), alloc) + { + rep.insert(init.begin(), init.end()); + } + + sparse_hash_set& operator=(std::initializer_list init) + { + rep.clear(); + rep.insert(init.begin(), init.end()); + return *this; + } + + void insert(std::initializer_list init) + { + rep.insert(init.begin(), init.end()); + } + +#endif + + sparse_hash_set& operator=(const sparse_hash_set &o) + { + rep = o.rep; + return *this; + } + + void clear() { rep.clear(); } + void swap(sparse_hash_set& hs) { rep.swap(hs.rep); } + + + // Functions concerning size + // ------------------------- + size_type size() const { return rep.size(); } + size_type max_size() const { return rep.max_size(); } + bool empty() const { return rep.empty(); } + size_type bucket_count() const { return rep.bucket_count(); } + size_type max_bucket_count() const { return rep.max_bucket_count(); } + + size_type bucket_size(size_type i) const { return rep.bucket_size(i); } + size_type bucket(const key_type& key) const { return rep.bucket(key); } + + float load_factor() const { return size() * 1.0f / bucket_count(); } + + float max_load_factor() const { return rep.get_enlarge_factor(); } + void max_load_factor(float grow) { rep.set_enlarge_factor(grow); } + + float min_load_factor() const { return rep.get_shrink_factor(); } + void min_load_factor(float shrink){ rep.set_shrink_factor(shrink); } + + void set_resizing_parameters(float shrink, float grow) + { + rep.set_resizing_parameters(shrink, grow); + } + + void resize(size_type cnt) { rep.resize(cnt); } + void rehash(size_type cnt) { resize(cnt); } // c++11 name + void reserve(size_type cnt) { resize(cnt); } // c++11 + + // Lookup + // ------ + iterator find(const key_type& key) const { return rep.find(key); } + bool contains(const key_type& key) const { return rep.find(key) != rep.end(); } + + size_type count(const key_type& key) const { return rep.count(key); } + + std::pair + equal_range(const key_type& key) const { return rep.equal_range(key); } + +#if !defined(SPP_NO_CXX11_VARIADIC_TEMPLATES) + template + std::pair emplace(Args&&... args) + { + return rep.emplace(std::forward(args)...); + } + + template + iterator emplace_hint(const_iterator , Args&&... args) + { + return rep.emplace(std::forward(args)...).first; + } +#endif + + // Insert + // ------ + std::pair insert(const value_type& obj) + { + std::pair p = rep.insert(obj); + return std::pair(p.first, p.second); // const to non-const + } + +#if !defined(SPP_NO_CXX11_RVALUE_REFERENCES) + template + std::pair insert(P&& obj) { return rep.insert(std::forward

(obj)); } +#endif + + template + void insert(InputIterator f, InputIterator l) { rep.insert(f, l); } + + void insert(const_iterator f, const_iterator l) { rep.insert(f, l); } + + iterator insert(iterator /*unused*/, const value_type& obj) { return insert(obj).first; } + + // Deleted key - do nothing - just to keep google test framework happy + // ------------------------------------------------------------------- + void set_deleted_key(const key_type& key) { rep.set_deleted_key(key); } + void clear_deleted_key() { rep.clear_deleted_key(); } + key_type deleted_key() const { return rep.deleted_key(); } + + // Erase + // ----- + size_type erase(const key_type& key) { return rep.erase(key); } + iterator erase(iterator it) { return rep.erase(it); } + iterator erase(iterator f, iterator l) { return rep.erase(f, l); } + + // Comparison + // ---------- + bool operator==(const sparse_hash_set& hs) const { return rep == hs.rep; } + bool operator!=(const sparse_hash_set& hs) const { return rep != hs.rep; } + + + // I/O -- this is an add-on for writing metainformation to disk + // + // For maximum flexibility, this does not assume a particular + // file type (though it will probably be a FILE *). We just pass + // the fp through to rep. + + // If your keys and values are simple enough, you can pass this + // serializer to serialize()/unserialize(). "Simple enough" means + // value_type is a POD type that contains no pointers. Note, + // however, we don't try to normalize endianness. + // --------------------------------------------------------------- + typedef typename ht::NopointerSerializer NopointerSerializer; + + // serializer: a class providing operator()(OUTPUT*, const value_type&) + // (writing value_type to OUTPUT). You can specify a + // NopointerSerializer object if appropriate (see above). + // fp: either a FILE*, OR an ostream*/subclass_of_ostream*, OR a + // pointer to a class providing size_t Write(const void*, size_t), + // which writes a buffer into a stream (which fp presumably + // owns) and returns the number of bytes successfully written. + // Note basic_ostream is not currently supported. + // --------------------------------------------------------------- + template + bool serialize(ValueSerializer serializer, OUTPUT* fp) + { + return rep.serialize(serializer, fp); + } + + // serializer: a functor providing operator()(INPUT*, value_type*) + // (reading from INPUT and into value_type). You can specify a + // NopointerSerializer object if appropriate (see above). + // fp: either a FILE*, OR an istream*/subclass_of_istream*, OR a + // pointer to a class providing size_t Read(void*, size_t), + // which reads into a buffer from a stream (which fp presumably + // owns) and returns the number of bytes successfully read. + // Note basic_istream is not currently supported. + // NOTE: Since value_type is const Key, ValueSerializer + // may need to do a const cast in order to fill in the key. + // NOTE: if Key is not a POD type, the serializer MUST use + // placement-new to initialize its value, rather than a normal + // equals-assignment or similar. (The value_type* passed into + // the serializer points to garbage memory.) + // --------------------------------------------------------------- + template + bool unserialize(ValueSerializer serializer, INPUT* fp) + { + return rep.unserialize(serializer, fp); + } + + // The four methods below are DEPRECATED. + // Use serialize() and unserialize() for new code. + // ----------------------------------------------- + template + bool write_metadata(OUTPUT *fp) { return rep.write_metadata(fp); } + + template + bool read_metadata(INPUT *fp) { return rep.read_metadata(fp); } + + template + bool write_nopointer_data(OUTPUT *fp) { return rep.write_nopointer_data(fp); } + + template + bool read_nopointer_data(INPUT *fp) { return rep.read_nopointer_data(fp); } + +private: + // The actual data + // --------------- + ht rep; +}; + +} // spp_ namespace + + +// We need a global swap for all our classes as well +// ------------------------------------------------- + +template +inline void swap(spp_::sparsegroup &x, spp_::sparsegroup &y) +{ + x.swap(y); +} + +template +inline void swap(spp_::sparsetable &x, spp_::sparsetable &y) +{ + x.swap(y); +} + +template +inline void swap(spp_::sparse_hashtable &x, + spp_::sparse_hashtable &y) +{ + x.swap(y); +} + +template +inline void swap(spp_::sparse_hash_map& hm1, + spp_::sparse_hash_map& hm2) +{ + hm1.swap(hm2); +} + +template +inline void swap(spp_::sparse_hash_set& hs1, + spp_::sparse_hash_set& hs2) +{ + hs1.swap(hs2); +} + +#endif // sparsepp_h_guard_ diff --git a/Sourcecode/mx/sparsepp/spp_config.h b/Sourcecode/mx/sparsepp/spp_config.h new file mode 100755 index 000000000..46eeee5c2 --- /dev/null +++ b/Sourcecode/mx/sparsepp/spp_config.h @@ -0,0 +1,781 @@ +#if !defined(spp_config_h_guard) +#define spp_config_h_guard + +// -------------------------------------------------- +// Sparsepp config macros +// some can be overriden on the command line +// -------------------------------------------------- +#ifndef SPP_NAMESPACE + #define SPP_NAMESPACE spp +#endif + +#ifndef spp_ + #define spp_ SPP_NAMESPACE +#endif + +#ifndef SPP_DEFAULT_ALLOCATOR + #if (defined(SPP_USE_SPP_ALLOC) && SPP_USE_SPP_ALLOC) && defined(_MSC_VER) + // ----------------------------------------------------------------------------- + // When building with the Microsoft compiler, we use a custom allocator because + // the default one fragments memory when reallocating. This is desirable only + // when creating large sparsepp hash maps. If you create lots of small hash_maps, + // define the following before including spp.h: + // #define SPP_DEFAULT_ALLOCATOR spp::libc_allocator + // ----------------------------------------------------------------------------- + #define SPP_DEFAULT_ALLOCATOR spp_::spp_allocator + #define SPP_INCLUDE_SPP_ALLOC + #else + #define SPP_DEFAULT_ALLOCATOR spp_::libc_allocator + #endif +#endif + +#ifndef SPP_GROUP_SIZE + // must be 32 or 64 + #define SPP_GROUP_SIZE 32 +#endif + +#ifndef SPP_ALLOC_SZ + // must be power of 2 (0 = agressive alloc, 1 = smallest memory usage, 2 = good compromise) + #define SPP_ALLOC_SZ 0 +#endif + +#ifndef SPP_STORE_NUM_ITEMS + // 1 uses a little bit more memory, but faster!! + #define SPP_STORE_NUM_ITEMS 1 +#endif + + +// --------------------------------------------------------------------------- +// Compiler detection code (SPP_ proprocessor macros) derived from Boost +// libraries. Therefore Boost software licence reproduced below. +// --------------------------------------------------------------------------- +// Boost Software License - Version 1.0 - August 17th, 2003 +// +// Permission is hereby granted, free of charge, to any person or organization +// obtaining a copy of the software and accompanying documentation covered by +// this license (the "Software") to use, reproduce, display, distribute, +// execute, and transmit the Software, and to prepare derivative works of the +// Software, and to permit third-parties to whom the Software is furnished to +// do so, all subject to the following: +// +// The copyright notices in the Software and this entire statement, including +// the above license grant, this restriction and the following disclaimer, +// must be included in all copies of the Software, in whole or in part, and +// all derivative works of the Software, unless such copies or derivative +// works are solely in the form of machine-executable object code generated by +// a source language processor. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// --------------------------------------------------------------------------- + +// Boost like configuration +// ------------------------ +#if defined __clang__ + + #if defined(i386) + #include + inline void spp_cpuid(int info[4], int InfoType) { + __cpuid_count(InfoType, 0, info[0], info[1], info[2], info[3]); + } + #endif + + #define SPP_POPCNT __builtin_popcount + #define SPP_POPCNT64 __builtin_popcountll + + #define SPP_HAS_CSTDINT + + #ifndef __has_extension + #define __has_extension __has_feature + #endif + + #if !__has_feature(cxx_exceptions) && !defined(SPP_NO_EXCEPTIONS) + #define SPP_NO_EXCEPTIONS + #endif + + #if !__has_feature(cxx_rtti) && !defined(SPP_NO_RTTI) + #define SPP_NO_RTTI + #endif + + #if !__has_feature(cxx_rtti) && !defined(SPP_NO_TYPEID) + #define SPP_NO_TYPEID + #endif + + #if defined(__int64) && !defined(__GNUC__) + #define SPP_HAS_MS_INT64 + #endif + + #define SPP_HAS_NRVO + + // Branch prediction hints + #if defined(__has_builtin) + #if __has_builtin(__builtin_expect) + #define SPP_LIKELY(x) __builtin_expect(x, 1) + #define SPP_UNLIKELY(x) __builtin_expect(x, 0) + #endif + #endif + + // Clang supports "long long" in all compilation modes. + #define SPP_HAS_LONG_LONG + + #if !__has_feature(cxx_constexpr) + #define SPP_NO_CXX11_CONSTEXPR + #endif + + #if !__has_feature(cxx_decltype) + #define SPP_NO_CXX11_DECLTYPE + #endif + + #if !__has_feature(cxx_decltype_incomplete_return_types) + #define SPP_NO_CXX11_DECLTYPE_N3276 + #endif + + #if !__has_feature(cxx_defaulted_functions) + #define SPP_NO_CXX11_DEFAULTED_FUNCTIONS + #endif + + #if !__has_feature(cxx_deleted_functions) + #define SPP_NO_CXX11_DELETED_FUNCTIONS + #endif + + #if !__has_feature(cxx_explicit_conversions) + #define SPP_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS + #endif + + #if !__has_feature(cxx_default_function_template_args) + #define SPP_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS + #endif + + #if !__has_feature(cxx_generalized_initializers) + #define SPP_NO_CXX11_HDR_INITIALIZER_LIST + #endif + + #if !__has_feature(cxx_lambdas) + #define SPP_NO_CXX11_LAMBDAS + #endif + + #if !__has_feature(cxx_local_type_template_args) + #define SPP_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS + #endif + + #if !__has_feature(cxx_raw_string_literals) + #define SPP_NO_CXX11_RAW_LITERALS + #endif + + #if !__has_feature(cxx_reference_qualified_functions) + #define SPP_NO_CXX11_REF_QUALIFIERS + #endif + + #if !__has_feature(cxx_generalized_initializers) + #define SPP_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX + #endif + + #if !__has_feature(cxx_rvalue_references) + #define SPP_NO_CXX11_RVALUE_REFERENCES + #endif + + #if !__has_feature(cxx_static_assert) + #define SPP_NO_CXX11_STATIC_ASSERT + #endif + + #if !__has_feature(cxx_alias_templates) + #define SPP_NO_CXX11_TEMPLATE_ALIASES + #endif + + #if !__has_feature(cxx_variadic_templates) + #define SPP_NO_CXX11_VARIADIC_TEMPLATES + #endif + + #if !__has_feature(cxx_user_literals) + #define SPP_NO_CXX11_USER_DEFINED_LITERALS + #endif + + #if !__has_feature(cxx_alignas) + #define SPP_NO_CXX11_ALIGNAS + #endif + + #if !__has_feature(cxx_trailing_return) + #define SPP_NO_CXX11_TRAILING_RESULT_TYPES + #endif + + #if !__has_feature(cxx_inline_namespaces) + #define SPP_NO_CXX11_INLINE_NAMESPACES + #endif + + #if !__has_feature(cxx_override_control) + #define SPP_NO_CXX11_FINAL + #endif + + #if !(__has_feature(__cxx_binary_literals__) || __has_extension(__cxx_binary_literals__)) + #define SPP_NO_CXX14_BINARY_LITERALS + #endif + + #if !__has_feature(__cxx_decltype_auto__) + #define SPP_NO_CXX14_DECLTYPE_AUTO + #endif + + #if !__has_feature(__cxx_init_captures__) + #define SPP_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES + #endif + + #if !__has_feature(__cxx_generic_lambdas__) + #define SPP_NO_CXX14_GENERIC_LAMBDAS + #endif + + + #if !__has_feature(__cxx_generic_lambdas__) || !__has_feature(__cxx_relaxed_constexpr__) + #define SPP_NO_CXX14_CONSTEXPR + #endif + + #if !__has_feature(__cxx_return_type_deduction__) + #define SPP_NO_CXX14_RETURN_TYPE_DEDUCTION + #endif + + #if !__has_feature(__cxx_variable_templates__) + #define SPP_NO_CXX14_VARIABLE_TEMPLATES + #endif + + #if __cplusplus < 201400 + #define SPP_NO_CXX14_DIGIT_SEPARATORS + #endif + + #if defined(__has_builtin) && __has_builtin(__builtin_unreachable) + #define SPP_UNREACHABLE_RETURN(x) __builtin_unreachable(); + #endif + + #define SPP_ATTRIBUTE_UNUSED __attribute__((__unused__)) + + #ifndef SPP_COMPILER + #define SPP_COMPILER "Clang version " __clang_version__ + #endif + + #define SPP_CLANG 1 + + +#elif defined __GNUC__ + + #define SPP_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) + + // definition to expand macro then apply to pragma message + // #define VALUE_TO_STRING(x) #x + // #define VALUE(x) VALUE_TO_STRING(x) + // #define VAR_NAME_VALUE(var) #var "=" VALUE(var) + // #pragma message(VAR_NAME_VALUE(SPP_GCC_VERSION)) + + #if defined(i386) + #include + inline void spp_cpuid(int info[4], int InfoType) { + __cpuid_count(InfoType, 0, info[0], info[1], info[2], info[3]); + } + #endif + + // __POPCNT__ defined when the compiled with popcount support + // (-mpopcnt compiler option is given for example) + #ifdef __POPCNT__ + // slower unless compiled iwith -mpopcnt + #define SPP_POPCNT __builtin_popcount + #define SPP_POPCNT64 __builtin_popcountll + #endif + + #if defined(__GXX_EXPERIMENTAL_CXX0X__) || (__cplusplus >= 201103L) + #define SPP_GCC_CXX11 + #endif + + #if __GNUC__ == 3 + #if defined (__PATHSCALE__) + #define SPP_NO_TWO_PHASE_NAME_LOOKUP + #define SPP_NO_IS_ABSTRACT + #endif + + #if __GNUC_MINOR__ < 4 + #define SPP_NO_IS_ABSTRACT + #endif + + #define SPP_NO_CXX11_EXTERN_TEMPLATE + #endif + + #if __GNUC__ < 4 + // + // All problems to gcc-3.x and earlier here: + // + #define SPP_NO_TWO_PHASE_NAME_LOOKUP + #ifdef __OPEN64__ + #define SPP_NO_IS_ABSTRACT + #endif + #endif + + // GCC prior to 3.4 had #pragma once too but it didn't work well with filesystem links + #if SPP_GCC_VERSION >= 30400 + #define SPP_HAS_PRAGMA_ONCE + #endif + + #if SPP_GCC_VERSION < 40400 + // Previous versions of GCC did not completely implement value-initialization: + // GCC Bug 30111, "Value-initialization of POD base class doesn't initialize + // members", reported by Jonathan Wakely in 2006, + // http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30111 (fixed for GCC 4.4) + // GCC Bug 33916, "Default constructor fails to initialize array members", + // reported by Michael Elizabeth Chastain in 2007, + // http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33916 (fixed for GCC 4.2.4) + // See also: http://www.boost.org/libs/utility/value_init.htm #compiler_issues + #define SPP_NO_COMPLETE_VALUE_INITIALIZATION + #endif + + #if !defined(__EXCEPTIONS) && !defined(SPP_NO_EXCEPTIONS) + #define SPP_NO_EXCEPTIONS + #endif + + // + // Threading support: Turn this on unconditionally here (except for + // those platforms where we can know for sure). It will get turned off again + // later if no threading API is detected. + // + #if !defined(__MINGW32__) && !defined(linux) && !defined(__linux) && !defined(__linux__) + #define SPP_HAS_THREADS + #endif + + // + // gcc has "long long" + // Except on Darwin with standard compliance enabled (-pedantic) + // Apple gcc helpfully defines this macro we can query + // + #if !defined(__DARWIN_NO_LONG_LONG) + #define SPP_HAS_LONG_LONG + #endif + + // + // gcc implements the named return value optimization since version 3.1 + // + #define SPP_HAS_NRVO + + // Branch prediction hints + #define SPP_LIKELY(x) __builtin_expect(x, 1) + #define SPP_UNLIKELY(x) __builtin_expect(x, 0) + + // + // Dynamic shared object (DSO) and dynamic-link library (DLL) support + // + #if __GNUC__ >= 4 + #if (defined(_WIN32) || defined(__WIN32__) || defined(WIN32)) && !defined(__CYGWIN__) + // All Win32 development environments, including 64-bit Windows and MinGW, define + // _WIN32 or one of its variant spellings. Note that Cygwin is a POSIX environment, + // so does not define _WIN32 or its variants. + #define SPP_HAS_DECLSPEC + #define SPP_SYMBOL_EXPORT __attribute__((__dllexport__)) + #define SPP_SYMBOL_IMPORT __attribute__((__dllimport__)) + #else + #define SPP_SYMBOL_EXPORT __attribute__((__visibility__("default"))) + #define SPP_SYMBOL_IMPORT + #endif + + #define SPP_SYMBOL_VISIBLE __attribute__((__visibility__("default"))) + #else + // config/platform/win32.hpp will define SPP_SYMBOL_EXPORT, etc., unless already defined + #define SPP_SYMBOL_EXPORT + #endif + + // + // RTTI and typeinfo detection is possible post gcc-4.3: + // + #if SPP_GCC_VERSION > 40300 + #ifndef __GXX_RTTI + #ifndef SPP_NO_TYPEID + #define SPP_NO_TYPEID + #endif + #ifndef SPP_NO_RTTI + #define SPP_NO_RTTI + #endif + #endif + #endif + + // + // Recent GCC versions have __int128 when in 64-bit mode. + // + // We disable this if the compiler is really nvcc with C++03 as it + // doesn't actually support __int128 as of CUDA_VERSION=7500 + // even though it defines __SIZEOF_INT128__. + // See https://svn.boost.org/trac/boost/ticket/8048 + // https://svn.boost.org/trac/boost/ticket/11852 + // Only re-enable this for nvcc if you're absolutely sure + // of the circumstances under which it's supported: + // + #if defined(__CUDACC__) + #if defined(SPP_GCC_CXX11) + #define SPP_NVCC_CXX11 + #else + #define SPP_NVCC_CXX03 + #endif + #endif + + #if defined(__SIZEOF_INT128__) && !defined(SPP_NVCC_CXX03) + #define SPP_HAS_INT128 + #endif + // + // Recent GCC versions have a __float128 native type, we need to + // include a std lib header to detect this - not ideal, but we'll + // be including later anyway when we select the std lib. + // + // Nevertheless, as of CUDA 7.5, using __float128 with the host + // compiler in pre-C++11 mode is still not supported. + // See https://svn.boost.org/trac/boost/ticket/11852 + // + #ifdef __cplusplus + #include + #else + #include + #endif + + #if defined(_GLIBCXX_USE_FLOAT128) && !defined(__STRICT_ANSI__) && !defined(SPP_NVCC_CXX03) + #define SPP_HAS_FLOAT128 + #endif + + // C++0x features in 4.3.n and later + // + #if (SPP_GCC_VERSION >= 40300) && defined(SPP_GCC_CXX11) + // C++0x features are only enabled when -std=c++0x or -std=gnu++0x are + // passed on the command line, which in turn defines + // __GXX_EXPERIMENTAL_CXX0X__. + #define SPP_HAS_DECLTYPE + #define SPP_HAS_RVALUE_REFS + #define SPP_HAS_STATIC_ASSERT + #define SPP_HAS_VARIADIC_TMPL + #define SPP_HAS_CSTDINT + #else + #define SPP_NO_CXX11_DECLTYPE + #define SPP_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS + #define SPP_NO_CXX11_RVALUE_REFERENCES + #define SPP_NO_CXX11_STATIC_ASSERT + #endif + + // C++0x features in 4.4.n and later + // + #if (SPP_GCC_VERSION < 40400) || !defined(SPP_GCC_CXX11) + #define SPP_NO_CXX11_AUTO_DECLARATIONS + #define SPP_NO_CXX11_AUTO_MULTIDECLARATIONS + #define SPP_NO_CXX11_CHAR16_T + #define SPP_NO_CXX11_CHAR32_T + #define SPP_NO_CXX11_HDR_INITIALIZER_LIST + #define SPP_NO_CXX11_DEFAULTED_FUNCTIONS + #define SPP_NO_CXX11_DELETED_FUNCTIONS + #define SPP_NO_CXX11_TRAILING_RESULT_TYPES + #define SPP_NO_CXX11_INLINE_NAMESPACES + #define SPP_NO_CXX11_VARIADIC_TEMPLATES + #endif + + #if SPP_GCC_VERSION < 40500 + #define SPP_NO_SFINAE_EXPR + #endif + + // GCC 4.5 forbids declaration of defaulted functions in private or protected sections + #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ == 5) || !defined(SPP_GCC_CXX11) + #define SPP_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS + #endif + + // C++0x features in 4.5.0 and later + // + #if (SPP_GCC_VERSION < 40500) || !defined(SPP_GCC_CXX11) + #define SPP_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS + #define SPP_NO_CXX11_LAMBDAS + #define SPP_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS + #define SPP_NO_CXX11_RAW_LITERALS + #endif + + // C++0x features in 4.6.n and later + // + #if (SPP_GCC_VERSION < 40600) || !defined(SPP_GCC_CXX11) + #define SPP_NO_CXX11_CONSTEXPR + #define SPP_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX + #endif + + // C++0x features in 4.7.n and later + // + #if (SPP_GCC_VERSION < 40700) || !defined(SPP_GCC_CXX11) + #define SPP_NO_CXX11_FINAL + #define SPP_NO_CXX11_TEMPLATE_ALIASES + #define SPP_NO_CXX11_USER_DEFINED_LITERALS + #define SPP_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS + #endif + + // C++0x features in 4.8.n and later + // + #if (SPP_GCC_VERSION < 40800) || !defined(SPP_GCC_CXX11) + #define SPP_NO_CXX11_ALIGNAS + #endif + + // C++0x features in 4.8.1 and later + // + #if (SPP_GCC_VERSION < 40801) || !defined(SPP_GCC_CXX11) + #define SPP_NO_CXX11_DECLTYPE_N3276 + #define SPP_NO_CXX11_REF_QUALIFIERS + #define SPP_NO_CXX14_BINARY_LITERALS + #endif + + // C++14 features in 4.9.0 and later + // + #if (SPP_GCC_VERSION < 40900) || (__cplusplus < 201300) + #define SPP_NO_CXX14_RETURN_TYPE_DEDUCTION + #define SPP_NO_CXX14_GENERIC_LAMBDAS + #define SPP_NO_CXX14_DIGIT_SEPARATORS + #define SPP_NO_CXX14_DECLTYPE_AUTO + #if !((SPP_GCC_VERSION >= 40801) && (SPP_GCC_VERSION < 40900) && defined(SPP_GCC_CXX11)) + #define SPP_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES + #endif + #endif + + + // C++ 14: + #if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) + #define SPP_NO_CXX14_CONSTEXPR + #endif + #if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) + #define SPP_NO_CXX14_VARIABLE_TEMPLATES + #endif + + // + // Unused attribute: + #if __GNUC__ >= 4 + #define SPP_ATTRIBUTE_UNUSED __attribute__((__unused__)) + #endif + // + // __builtin_unreachable: + #if SPP_GCC_VERSION >= 40800 + #define SPP_UNREACHABLE_RETURN(x) __builtin_unreachable(); + #endif + + #ifndef SPP_COMPILER + #define SPP_COMPILER "GNU C++ version " __VERSION__ + #endif + + // ConceptGCC compiler: + // http://www.generic-programming.org/software/ConceptGCC/ + #ifdef __GXX_CONCEPTS__ + #define SPP_HAS_CONCEPTS + #define SPP_COMPILER "ConceptGCC version " __VERSION__ + #endif + +#elif defined _MSC_VER + + #include // for __popcnt() + + #define SPP_POPCNT_CHECK // slower when defined, but we have to check! + #define spp_cpuid(info, x) __cpuid(info, x) + + #define SPP_POPCNT __popcnt + #if (SPP_GROUP_SIZE == 64 && INTPTR_MAX == INT64_MAX) + #define SPP_POPCNT64 __popcnt64 + #endif + + // Attempt to suppress VC6 warnings about the length of decorated names (obsolete): + #pragma warning( disable : 4503 ) // warning: decorated name length exceeded + + #define SPP_HAS_PRAGMA_ONCE + #define SPP_HAS_CSTDINT + + // + // versions check: + // we don't support Visual C++ prior to version 7.1: + #if _MSC_VER < 1310 + #error "Antique compiler not supported" + #endif + + #if _MSC_FULL_VER < 180020827 + #define SPP_NO_FENV_H + #endif + + #if _MSC_VER < 1400 + // although a conforming signature for swprint exists in VC7.1 + // it appears not to actually work: + #define SPP_NO_SWPRINTF + + // Our extern template tests also fail for this compiler: + #define SPP_NO_CXX11_EXTERN_TEMPLATE + + // Variadic macros do not exist for VC7.1 and lower + #define SPP_NO_CXX11_VARIADIC_MACROS + #endif + + #if _MSC_VER < 1500 // 140X == VC++ 8.0 + #undef SPP_HAS_CSTDINT + #define SPP_NO_MEMBER_TEMPLATE_FRIENDS + #endif + + #if _MSC_VER < 1600 // 150X == VC++ 9.0 + // A bug in VC9: + #define SPP_NO_ADL_BARRIER + #endif + + + // MSVC (including the latest checked version) has not yet completely + // implemented value-initialization, as is reported: + // "VC++ does not value-initialize members of derived classes without + // user-declared constructor", reported in 2009 by Sylvester Hesp: + // https: //connect.microsoft.com/VisualStudio/feedback/details/484295 + // "Presence of copy constructor breaks member class initialization", + // reported in 2009 by Alex Vakulenko: + // https: //connect.microsoft.com/VisualStudio/feedback/details/499606 + // "Value-initialization in new-expression", reported in 2005 by + // Pavel Kuznetsov (MetaCommunications Engineering): + // https: //connect.microsoft.com/VisualStudio/feedback/details/100744 + // See also: http: //www.boost.org/libs/utility/value_init.htm #compiler_issues + // (Niels Dekker, LKEB, May 2010) + #define SPP_NO_COMPLETE_VALUE_INITIALIZATION + + #ifndef _NATIVE_WCHAR_T_DEFINED + #define SPP_NO_INTRINSIC_WCHAR_T + #endif + + // + // check for exception handling support: + #if !defined(_CPPUNWIND) && !defined(SPP_NO_EXCEPTIONS) + #define SPP_NO_EXCEPTIONS + #endif + + // + // __int64 support: + // + #define SPP_HAS_MS_INT64 + #if defined(_MSC_EXTENSIONS) || (_MSC_VER >= 1400) + #define SPP_HAS_LONG_LONG + #else + #define SPP_NO_LONG_LONG + #endif + + #if (_MSC_VER >= 1400) && !defined(_DEBUG) + #define SPP_HAS_NRVO + #endif + + #if _MSC_VER >= 1500 // 150X == VC++ 9.0 + #define SPP_HAS_PRAGMA_DETECT_MISMATCH + #endif + + // + // disable Win32 API's if compiler extensions are + // turned off: + // + #if !defined(_MSC_EXTENSIONS) && !defined(SPP_DISABLE_WIN32) + #define SPP_DISABLE_WIN32 + #endif + + #if !defined(_CPPRTTI) && !defined(SPP_NO_RTTI) + #define SPP_NO_RTTI + #endif + + // + // TR1 features: + // + #if _MSC_VER >= 1700 + // #define SPP_HAS_TR1_HASH // don't know if this is true yet. + // #define SPP_HAS_TR1_TYPE_TRAITS // don't know if this is true yet. + #define SPP_HAS_TR1_UNORDERED_MAP + #define SPP_HAS_TR1_UNORDERED_SET + #endif + + // + // C++0x features + // + // See above for SPP_NO_LONG_LONG + + // C++ features supported by VC++ 10 (aka 2010) + // + #if _MSC_VER < 1600 + #define SPP_NO_CXX11_AUTO_DECLARATIONS + #define SPP_NO_CXX11_AUTO_MULTIDECLARATIONS + #define SPP_NO_CXX11_LAMBDAS + #define SPP_NO_CXX11_RVALUE_REFERENCES + #define SPP_NO_CXX11_STATIC_ASSERT + #define SPP_NO_CXX11_DECLTYPE + #endif // _MSC_VER < 1600 + + #if _MSC_VER >= 1600 + #define SPP_HAS_STDINT_H + #endif + + // C++11 features supported by VC++ 11 (aka 2012) + // + #if _MSC_VER < 1700 + #define SPP_NO_CXX11_FINAL + #endif // _MSC_VER < 1700 + + // C++11 features supported by VC++ 12 (aka 2013). + // + #if _MSC_FULL_VER < 180020827 + #define SPP_NO_CXX11_DEFAULTED_FUNCTIONS + #define SPP_NO_CXX11_DELETED_FUNCTIONS + #define SPP_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS + #define SPP_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS + #define SPP_NO_CXX11_RAW_LITERALS + #define SPP_NO_CXX11_TEMPLATE_ALIASES + #define SPP_NO_CXX11_TRAILING_RESULT_TYPES + #define SPP_NO_CXX11_VARIADIC_TEMPLATES + #define SPP_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX + #define SPP_NO_CXX11_DECLTYPE_N3276 + #endif + + // C++11 features supported by VC++ 14 (aka 2014) CTP1 + #if (_MSC_FULL_VER < 190021730) + #define SPP_NO_CXX11_REF_QUALIFIERS + #define SPP_NO_CXX11_USER_DEFINED_LITERALS + #define SPP_NO_CXX11_ALIGNAS + #define SPP_NO_CXX11_INLINE_NAMESPACES + #define SPP_NO_CXX14_DECLTYPE_AUTO + #define SPP_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES + #define SPP_NO_CXX14_RETURN_TYPE_DEDUCTION + #define SPP_NO_CXX11_HDR_INITIALIZER_LIST + #endif + + // C++11 features not supported by any versions + #define SPP_NO_CXX11_CHAR16_T + #define SPP_NO_CXX11_CHAR32_T + #define SPP_NO_CXX11_CONSTEXPR + #define SPP_NO_SFINAE_EXPR + #define SPP_NO_TWO_PHASE_NAME_LOOKUP + + // C++ 14: + #if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) + #define SPP_NO_CXX14_BINARY_LITERALS + #endif + + #if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) + #define SPP_NO_CXX14_CONSTEXPR + #endif + + #if (__cplusplus < 201304) // There's no SD6 check for this.... + #define SPP_NO_CXX14_DIGIT_SEPARATORS + #endif + + #if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) + #define SPP_NO_CXX14_GENERIC_LAMBDAS + #endif + + #if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) + #define SPP_NO_CXX14_VARIABLE_TEMPLATES + #endif + +#endif + +// from boost/config/suffix.hpp +// ---------------------------- +#ifndef SPP_ATTRIBUTE_UNUSED + #define SPP_ATTRIBUTE_UNUSED +#endif + +/* + Try to persuade compilers to inline. +*/ +#ifndef SPP_FORCEINLINE + #if defined(__GNUC__) + #define SPP_FORCEINLINE __inline __attribute__ ((always_inline)) + #elif defined(_MSC_VER) + #define SPP_FORCEINLINE __forceinline + #else + #define SPP_FORCEINLINE inline + #endif +#endif + + +#endif // spp_config_h_guard diff --git a/Sourcecode/mx/sparsepp/spp_dlalloc.h b/Sourcecode/mx/sparsepp/spp_dlalloc.h new file mode 100755 index 000000000..865a867fe --- /dev/null +++ b/Sourcecode/mx/sparsepp/spp_dlalloc.h @@ -0,0 +1,4039 @@ +#ifndef spp_dlalloc__h_ +#define spp_dlalloc__h_ + +/* This is a C++ allocator created from Doug Lea's dlmalloc + (Version 2.8.6 Wed Aug 29 06:57:58 2012) + see: http://g.oswego.edu/dl/html/malloc.html +*/ + +#include "spp_utils.h" +#include "spp_smartptr.h" + + +#ifndef SPP_FORCEINLINE + #if defined(__GNUC__) + #define SPP_FORCEINLINE __inline __attribute__ ((always_inline)) + #elif defined(_MSC_VER) + #define SPP_FORCEINLINE __forceinline + #else + #define SPP_FORCEINLINE inline + #endif +#endif + + +#ifndef SPP_IMPL + #define SPP_IMPL SPP_FORCEINLINE +#endif + +#ifndef SPP_API + #define SPP_API static +#endif + + +namespace spp +{ + // ---------------------- allocator internal API ----------------------- + typedef void* mspace; + + /* + create_mspace creates and returns a new independent space with the + given initial capacity, or, if 0, the default granularity size. It + returns null if there is no system memory available to create the + space. If argument locked is non-zero, the space uses a separate + lock to control access. The capacity of the space will grow + dynamically as needed to service mspace_malloc requests. You can + control the sizes of incremental increases of this space by + compiling with a different SPP_DEFAULT_GRANULARITY or dynamically + setting with mallopt(M_GRANULARITY, value). + */ + SPP_API mspace create_mspace(size_t capacity, int locked); + SPP_API size_t destroy_mspace(mspace msp); + SPP_API void* mspace_malloc(mspace msp, size_t bytes); + SPP_API void mspace_free(mspace msp, void* mem); + SPP_API void* mspace_realloc(mspace msp, void* mem, size_t newsize); + +#if 0 + SPP_API mspace create_mspace_with_base(void* base, size_t capacity, int locked); + SPP_API int mspace_track_large_chunks(mspace msp, int enable); + SPP_API void* mspace_calloc(mspace msp, size_t n_elements, size_t elem_size); + SPP_API void* mspace_memalign(mspace msp, size_t alignment, size_t bytes); + SPP_API void** mspace_independent_calloc(mspace msp, size_t n_elements, + size_t elem_size, void* chunks[]); + SPP_API void** mspace_independent_comalloc(mspace msp, size_t n_elements, + size_t sizes[], void* chunks[]); + SPP_API size_t mspace_footprint(mspace msp); + SPP_API size_t mspace_max_footprint(mspace msp); + SPP_API size_t mspace_usable_size(const void* mem); + SPP_API int mspace_trim(mspace msp, size_t pad); + SPP_API int mspace_mallopt(int, int); +#endif + + // ----------------------------------------------------------- + // ----------------------------------------------------------- + struct MSpace : public spp_rc + { + MSpace() : + _sp(create_mspace(0, 0)) + {} + + ~MSpace() + { + destroy_mspace(_sp); + } + + mspace _sp; + }; + + // ----------------------------------------------------------- + // ----------------------------------------------------------- + template + class spp_allocator + { + public: + typedef T value_type; + typedef T* pointer; + typedef ptrdiff_t difference_type; + typedef const T* const_pointer; + typedef size_t size_type; + + MSpace *getSpace() const { return _space.get(); } + + spp_allocator() : _space(new MSpace) {} + + template + spp_allocator(const spp_allocator &o) : _space(o.getSpace()) {} + + template + spp_allocator& operator=(const spp_allocator &o) + { + if (&o != this) + _space = o.getSpace(); + return *this; + } + + void swap(spp_allocator &o) + { + std::swap(_space, o._space); + } + + pointer allocate(size_t n, const_pointer /* unused */ = 0) + { + pointer res = static_cast(mspace_malloc(_space->_sp, n * sizeof(T))); + if (!res) + throw std::bad_alloc(); + return res; + } + + void deallocate(pointer p, size_t /* unused */) + { + mspace_free(_space->_sp, p); + } + + pointer reallocate(pointer p, size_t new_size) + { + pointer res = static_cast(mspace_realloc(_space->_sp, p, new_size * sizeof(T))); + if (!res) + throw std::bad_alloc(); + return res; + } + + size_type max_size() const + { + return static_cast(-1) / sizeof(value_type); + } + + void construct(pointer p, const value_type& val) + { + new (p) value_type(val); + } + + void destroy(pointer p) { p->~value_type(); } + + template + struct rebind + { + // rebind to libc_allocator because we want to use malloc_inspect_all in destructive_iterator + // to reduce peak memory usage (we don't want mixed with value_type when + // we traverse the allocated memory). + typedef spp::spp_allocator other; + }; + + mspace space() const { return _space->_sp; } + + // check if we can clear the whole allocator memory at once => works only if the allocator + // is not be shared. If can_clear() returns true, we expect that the next allocator call + // will be clear() - not allocate() or deallocate() + bool can_clear() + { + assert(!_space_to_clear); + _space_to_clear.reset(); + _space_to_clear.swap(_space); + if (_space_to_clear->count() == 1) + return true; + else + _space_to_clear.swap(_space); + return false; + } + + void clear() + { + assert(!_space && _space_to_clear); + _space_to_clear.reset(); + _space = new MSpace; + } + + private: + spp_sptr _space; + spp_sptr _space_to_clear; + }; +} + + +// allocators are "equal" whenever memory allocated with one can be deallocated with the other +template +inline bool operator==(const spp_::spp_allocator &a, const spp_::spp_allocator &b) +{ + return a.space() == b.space(); +} + +template +inline bool operator!=(const spp_::spp_allocator &a, const spp_::spp_allocator &b) +{ + return !(a == b); +} + +namespace std +{ + template + inline void swap(spp_::spp_allocator &a, spp_::spp_allocator &b) + { + a.swap(b); + } +} + +#if !defined(SPP_EXCLUDE_IMPLEMENTATION) + +#ifndef WIN32 + #ifdef _WIN32 + #define WIN32 1 + #endif + #ifdef _WIN32_WCE + #define SPP_LACKS_FCNTL_H + #define WIN32 1 + #endif +#endif + +#ifdef WIN32 + #define WIN32_LEAN_AND_MEAN + #include + #include + #define SPP_HAVE_MMAP 1 + #define SPP_LACKS_UNISTD_H + #define SPP_LACKS_SYS_PARAM_H + #define SPP_LACKS_SYS_MMAN_H + #define SPP_LACKS_STRING_H + #define SPP_LACKS_STRINGS_H + #define SPP_LACKS_SYS_TYPES_H + #define SPP_LACKS_ERRNO_H + #define SPP_LACKS_SCHED_H + #ifndef SPP_MALLOC_FAILURE_ACTION + #define SPP_MALLOC_FAILURE_ACTION + #endif + #ifndef SPP_MMAP_CLEARS + #ifdef _WIN32_WCE /* WINCE reportedly does not clear */ + #define SPP_MMAP_CLEARS 0 + #else + #define SPP_MMAP_CLEARS 1 + #endif + #endif +#endif + +#if defined(DARWIN) || defined(_DARWIN) + #define SPP_HAVE_MMAP 1 + /* OSX allocators provide 16 byte alignment */ + #ifndef SPP_MALLOC_ALIGNMENT + #define SPP_MALLOC_ALIGNMENT ((size_t)16U) + #endif +#endif + +#ifndef SPP_LACKS_SYS_TYPES_H + #include /* For size_t */ +#endif + +#ifndef SPP_MALLOC_ALIGNMENT + #define SPP_MALLOC_ALIGNMENT ((size_t)(2 * sizeof(void *))) +#endif + +/* ------------------- size_t and alignment properties -------------------- */ +static const size_t spp_max_size_t = ~(size_t)0; +static const size_t spp_size_t_bitsize = sizeof(size_t) << 3; +static const size_t spp_half_max_size_t = spp_max_size_t / 2U; +static const size_t spp_chunk_align_mask = SPP_MALLOC_ALIGNMENT - 1; + +#if defined(SPP_DEBUG) || !defined(NDEBUG) +static bool spp_is_aligned(void *p) { return ((size_t)p & spp_chunk_align_mask) == 0; } +#endif + +// the number of bytes to offset an address to align it +static size_t align_offset(void *p) +{ + return (((size_t)p & spp_chunk_align_mask) == 0) ? 0 : + ((SPP_MALLOC_ALIGNMENT - ((size_t)p & spp_chunk_align_mask)) & spp_chunk_align_mask); +} + + +#ifndef SPP_FOOTERS + #define SPP_FOOTERS 0 +#endif + +#ifndef SPP_ABORT + #define SPP_ABORT abort() +#endif + +#ifndef SPP_ABORT_ON_ASSERT_FAILURE + #define SPP_ABORT_ON_ASSERT_FAILURE 1 +#endif + +#ifndef SPP_PROCEED_ON_ERROR + #define SPP_PROCEED_ON_ERROR 0 +#endif + +#ifndef SPP_INSECURE + #define SPP_INSECURE 0 +#endif + +#ifndef SPP_MALLOC_INSPECT_ALL + #define SPP_MALLOC_INSPECT_ALL 0 +#endif + +#ifndef SPP_HAVE_MMAP + #define SPP_HAVE_MMAP 1 +#endif + +#ifndef SPP_MMAP_CLEARS + #define SPP_MMAP_CLEARS 1 +#endif + +#ifndef SPP_HAVE_MREMAP + #ifdef linux + #define SPP_HAVE_MREMAP 1 + #ifndef _GNU_SOURCE + #define _GNU_SOURCE /* Turns on mremap() definition */ + #endif + #else + #define SPP_HAVE_MREMAP 0 + #endif +#endif + +#ifndef SPP_MALLOC_FAILURE_ACTION + // ENOMEM = 12 + #define SPP_MALLOC_FAILURE_ACTION errno = 12 +#endif + + +#ifndef SPP_DEFAULT_GRANULARITY + #if defined(WIN32) + #define SPP_DEFAULT_GRANULARITY (0) /* 0 means to compute in init_mparams */ + #else + #define SPP_DEFAULT_GRANULARITY ((size_t)64U * (size_t)1024U) + #endif +#endif + +#ifndef SPP_DEFAULT_TRIM_THRESHOLD + #define SPP_DEFAULT_TRIM_THRESHOLD ((size_t)2U * (size_t)1024U * (size_t)1024U) +#endif + +#ifndef SPP_DEFAULT_MMAP_THRESHOLD + #if SPP_HAVE_MMAP + #define SPP_DEFAULT_MMAP_THRESHOLD ((size_t)256U * (size_t)1024U) + #else + #define SPP_DEFAULT_MMAP_THRESHOLD spp_max_size_t + #endif +#endif + +#ifndef SPP_MAX_RELEASE_CHECK_RATE + #if SPP_HAVE_MMAP + #define SPP_MAX_RELEASE_CHECK_RATE 4095 + #else + #define SPP_MAX_RELEASE_CHECK_RATE spp_max_size_t + #endif +#endif + +#ifndef SPP_USE_BUILTIN_FFS + #define SPP_USE_BUILTIN_FFS 0 +#endif + +#ifndef SPP_USE_DEV_RANDOM + #define SPP_USE_DEV_RANDOM 0 +#endif + +#ifndef SPP_NO_SEGMENT_TRAVERSAL + #define SPP_NO_SEGMENT_TRAVERSAL 0 +#endif + + + +/*------------------------------ internal #includes ---------------------- */ + +#ifdef _MSC_VER + #pragma warning( disable : 4146 ) /* no "unsigned" warnings */ +#endif +#ifndef SPP_LACKS_ERRNO_H + #include /* for SPP_MALLOC_FAILURE_ACTION */ +#endif + +#ifdef SPP_DEBUG + #if SPP_ABORT_ON_ASSERT_FAILURE + #undef assert + #define assert(x) if(!(x)) SPP_ABORT + #else + #include + #endif +#else + #ifndef assert + #define assert(x) + #endif + #define SPP_DEBUG 0 +#endif + +#if !defined(WIN32) && !defined(SPP_LACKS_TIME_H) + #include /* for magic initialization */ +#endif + +#ifndef SPP_LACKS_STDLIB_H + #include /* for abort() */ +#endif + +#ifndef SPP_LACKS_STRING_H + #include /* for memset etc */ +#endif + +#if SPP_USE_BUILTIN_FFS + #ifndef SPP_LACKS_STRINGS_H + #include /* for ffs */ + #endif +#endif + +#if SPP_HAVE_MMAP + #ifndef SPP_LACKS_SYS_MMAN_H + /* On some versions of linux, mremap decl in mman.h needs __USE_GNU set */ + #if (defined(linux) && !defined(__USE_GNU)) + #define __USE_GNU 1 + #include /* for mmap */ + #undef __USE_GNU + #else + #include /* for mmap */ + #endif + #endif + #ifndef SPP_LACKS_FCNTL_H + #include + #endif +#endif + +#ifndef SPP_LACKS_UNISTD_H + #include /* for sbrk, sysconf */ +#else + #if !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__NetBSD__) + extern void* sbrk(ptrdiff_t); + #endif +#endif + +#include + +namespace spp +{ + +/* Declarations for bit scanning on win32 */ +#if defined(_MSC_VER) && _MSC_VER>=1300 + #ifndef BitScanForward /* Try to avoid pulling in WinNT.h */ + extern "C" { + unsigned char _BitScanForward(unsigned long *index, unsigned long mask); + unsigned char _BitScanReverse(unsigned long *index, unsigned long mask); + } + + #define BitScanForward _BitScanForward + #define BitScanReverse _BitScanReverse + #pragma intrinsic(_BitScanForward) + #pragma intrinsic(_BitScanReverse) + #endif /* BitScanForward */ +#endif /* defined(_MSC_VER) && _MSC_VER>=1300 */ + +#ifndef WIN32 + #ifndef malloc_getpagesize + #ifdef _SC_PAGESIZE /* some SVR4 systems omit an underscore */ + #ifndef _SC_PAGE_SIZE + #define _SC_PAGE_SIZE _SC_PAGESIZE + #endif + #endif + #ifdef _SC_PAGE_SIZE + #define malloc_getpagesize sysconf(_SC_PAGE_SIZE) + #else + #if defined(BSD) || defined(DGUX) || defined(HAVE_GETPAGESIZE) + extern size_t getpagesize(); + #define malloc_getpagesize getpagesize() + #else + #ifdef WIN32 /* use supplied emulation of getpagesize */ + #define malloc_getpagesize getpagesize() + #else + #ifndef SPP_LACKS_SYS_PARAM_H + #include + #endif + #ifdef EXEC_PAGESIZE + #define malloc_getpagesize EXEC_PAGESIZE + #else + #ifdef NBPG + #ifndef CLSIZE + #define malloc_getpagesize NBPG + #else + #define malloc_getpagesize (NBPG * CLSIZE) + #endif + #else + #ifdef NBPC + #define malloc_getpagesize NBPC + #else + #ifdef PAGESIZE + #define malloc_getpagesize PAGESIZE + #else /* just guess */ + #define malloc_getpagesize ((size_t)4096U) + #endif + #endif + #endif + #endif + #endif + #endif + #endif + #endif +#endif + +/* -------------------------- MMAP preliminaries ------------------------- */ + +/* + If SPP_HAVE_MORECORE or SPP_HAVE_MMAP are false, we just define calls and + checks to fail so compiler optimizer can delete code rather than + using so many "#if"s. +*/ + + +/* MMAP must return mfail on failure */ +static void *mfail = (void*)spp_max_size_t; +static char *cmfail = (char*)mfail; + +#if SPP_HAVE_MMAP + +#ifndef WIN32 + #define SPP_MUNMAP_DEFAULT(a, s) munmap((a), (s)) + #define SPP_MMAP_PROT (PROT_READ | PROT_WRITE) + #if !defined(MAP_ANONYMOUS) && defined(MAP_ANON) + #define MAP_ANONYMOUS MAP_ANON + #endif + + #ifdef MAP_ANONYMOUS + #define SPP_MMAP_FLAGS (MAP_PRIVATE | MAP_ANONYMOUS) + #define SPP_MMAP_DEFAULT(s) mmap(0, (s), SPP_MMAP_PROT, SPP_MMAP_FLAGS, -1, 0) + #else /* MAP_ANONYMOUS */ + /* + Nearly all versions of mmap support MAP_ANONYMOUS, so the following + is unlikely to be needed, but is supplied just in case. + */ + #define SPP_MMAP_FLAGS (MAP_PRIVATE) + static int dev_zero_fd = -1; /* Cached file descriptor for /dev/zero. */ + void SPP_MMAP_DEFAULT(size_t s) + { + if (dev_zero_fd < 0) + dev_zero_fd = open("/dev/zero", O_RDWR); + mmap(0, s, SPP_MMAP_PROT, SPP_MMAP_FLAGS, dev_zero_fd, 0); + } + #endif /* MAP_ANONYMOUS */ + + #define SPP_DIRECT_MMAP_DEFAULT(s) SPP_MMAP_DEFAULT(s) + +#else /* WIN32 */ + + /* Win32 MMAP via VirtualAlloc */ + static SPP_FORCEINLINE void* win32mmap(size_t size) + { + void* ptr = VirtualAlloc(0, size, MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE); + return (ptr != 0) ? ptr : mfail; + } + + /* For direct MMAP, use MEM_TOP_DOWN to minimize interference */ + static SPP_FORCEINLINE void* win32direct_mmap(size_t size) + { + void* ptr = VirtualAlloc(0, size, MEM_RESERVE | MEM_COMMIT | MEM_TOP_DOWN, + PAGE_READWRITE); + return (ptr != 0) ? ptr : mfail; + } + + /* This function supports releasing coalesed segments */ + static SPP_FORCEINLINE int win32munmap(void* ptr, size_t size) + { + MEMORY_BASIC_INFORMATION minfo; + char* cptr = (char*)ptr; + while (size) + { + if (VirtualQuery(cptr, &minfo, sizeof(minfo)) == 0) + return -1; + if (minfo.BaseAddress != cptr || minfo.AllocationBase != cptr || + minfo.State != MEM_COMMIT || minfo.RegionSize > size) + return -1; + if (VirtualFree(cptr, 0, MEM_RELEASE) == 0) + return -1; + cptr += minfo.RegionSize; + size -= minfo.RegionSize; + } + return 0; + } + + #define SPP_MMAP_DEFAULT(s) win32mmap(s) + #define SPP_MUNMAP_DEFAULT(a, s) win32munmap((a), (s)) + #define SPP_DIRECT_MMAP_DEFAULT(s) win32direct_mmap(s) +#endif /* WIN32 */ +#endif /* SPP_HAVE_MMAP */ + +#if SPP_HAVE_MREMAP + #ifndef WIN32 + #define SPP_MREMAP_DEFAULT(addr, osz, nsz, mv) mremap((addr), (osz), (nsz), (mv)) + #endif +#endif + +/** + * Define SPP_CALL_MMAP/SPP_CALL_MUNMAP/SPP_CALL_DIRECT_MMAP + */ +#if SPP_HAVE_MMAP + #define USE_MMAP_BIT 1 + + #ifdef SPP_MMAP + #define SPP_CALL_MMAP(s) SPP_MMAP(s) + #else + #define SPP_CALL_MMAP(s) SPP_MMAP_DEFAULT(s) + #endif + + #ifdef SPP_MUNMAP + #define SPP_CALL_MUNMAP(a, s) SPP_MUNMAP((a), (s)) + #else + #define SPP_CALL_MUNMAP(a, s) SPP_MUNMAP_DEFAULT((a), (s)) + #endif + + #ifdef SPP_DIRECT_MMAP + #define SPP_CALL_DIRECT_MMAP(s) SPP_DIRECT_MMAP(s) + #else + #define SPP_CALL_DIRECT_MMAP(s) SPP_DIRECT_MMAP_DEFAULT(s) + #endif + +#else /* SPP_HAVE_MMAP */ + #define USE_MMAP_BIT 0 + + #define SPP_MMAP(s) mfail + #define SPP_MUNMAP(a, s) (-1) + #define SPP_DIRECT_MMAP(s) mfail + #define SPP_CALL_DIRECT_MMAP(s) SPP_DIRECT_MMAP(s) + #define SPP_CALL_MMAP(s) SPP_MMAP(s) + #define SPP_CALL_MUNMAP(a, s) SPP_MUNMAP((a), (s)) +#endif + +/** + * Define SPP_CALL_MREMAP + */ +#if SPP_HAVE_MMAP && SPP_HAVE_MREMAP + #ifdef MREMAP + #define SPP_CALL_MREMAP(addr, osz, nsz, mv) MREMAP((addr), (osz), (nsz), (mv)) + #else + #define SPP_CALL_MREMAP(addr, osz, nsz, mv) SPP_MREMAP_DEFAULT((addr), (osz), (nsz), (mv)) + #endif +#else + #define SPP_CALL_MREMAP(addr, osz, nsz, mv) mfail +#endif + +/* mstate bit set if continguous morecore disabled or failed */ +static const unsigned USE_NONCONTIGUOUS_BIT = 4U; + +/* segment bit set in create_mspace_with_base */ +static const unsigned EXTERN_BIT = 8U; + + +/* --------------------------- flags ------------------------ */ + +static const unsigned PINUSE_BIT = 1; +static const unsigned CINUSE_BIT = 2; +static const unsigned FLAG4_BIT = 4; +static const unsigned INUSE_BITS = (PINUSE_BIT | CINUSE_BIT); +static const unsigned FLAG_BITS = (PINUSE_BIT | CINUSE_BIT | FLAG4_BIT); + +/* ------------------- Chunks sizes and alignments ----------------------- */ + +#if SPP_FOOTERS + static const unsigned CHUNK_OVERHEAD = 2 * sizeof(size_t); +#else + static const unsigned CHUNK_OVERHEAD = sizeof(size_t); +#endif + +/* MMapped chunks need a second word of overhead ... */ +static const unsigned SPP_MMAP_CHUNK_OVERHEAD = 2 * sizeof(size_t); + +/* ... and additional padding for fake next-chunk at foot */ +static const unsigned SPP_MMAP_FOOT_PAD = 4 * sizeof(size_t); + +// =============================================================================== +struct malloc_chunk_header +{ + void set_size_and_pinuse_of_free_chunk(size_t s) + { + _head = s | PINUSE_BIT; + set_foot(s); + } + + void set_foot(size_t s) + { + ((malloc_chunk_header *)((char*)this + s))->_prev_foot = s; + } + + // extraction of fields from head words + bool cinuse() const { return !!(_head & CINUSE_BIT); } + bool pinuse() const { return !!(_head & PINUSE_BIT); } + bool flag4inuse() const { return !!(_head & FLAG4_BIT); } + bool is_inuse() const { return (_head & INUSE_BITS) != PINUSE_BIT; } + bool is_mmapped() const { return (_head & INUSE_BITS) == 0; } + + size_t chunksize() const { return _head & ~(FLAG_BITS); } + + void clear_pinuse() { _head &= ~PINUSE_BIT; } + void set_flag4() { _head |= FLAG4_BIT; } + void clear_flag4() { _head &= ~FLAG4_BIT; } + + // Treat space at ptr +/- offset as a chunk + malloc_chunk_header * chunk_plus_offset(size_t s) + { + return (malloc_chunk_header *)((char*)this + s); + } + malloc_chunk_header * chunk_minus_offset(size_t s) + { + return (malloc_chunk_header *)((char*)this - s); + } + + // Ptr to next or previous physical malloc_chunk. + malloc_chunk_header * next_chunk() + { + return (malloc_chunk_header *)((char*)this + (_head & ~FLAG_BITS)); + } + malloc_chunk_header * prev_chunk() + { + return (malloc_chunk_header *)((char*)this - (_prev_foot)); + } + + // extract next chunk's pinuse bit + size_t next_pinuse() { return next_chunk()->_head & PINUSE_BIT; } + + size_t _prev_foot; // Size of previous chunk (if free). + size_t _head; // Size and inuse bits. +}; + +// =============================================================================== +struct malloc_chunk : public malloc_chunk_header +{ + // Set size, pinuse bit, foot, and clear next pinuse + void set_free_with_pinuse(size_t s, malloc_chunk* n) + { + n->clear_pinuse(); + set_size_and_pinuse_of_free_chunk(s); + } + + // Get the internal overhead associated with chunk p + size_t overhead_for() { return is_mmapped() ? SPP_MMAP_CHUNK_OVERHEAD : CHUNK_OVERHEAD; } + + // Return true if malloced space is not necessarily cleared + bool calloc_must_clear() + { +#if SPP_MMAP_CLEARS + return !is_mmapped(); +#else + return true; +#endif + } + + struct malloc_chunk* _fd; // double links -- used only if free. + struct malloc_chunk* _bk; +}; + +static const unsigned MCHUNK_SIZE = sizeof(malloc_chunk); + +/* The smallest size we can malloc is an aligned minimal chunk */ +static const unsigned MIN_CHUNK_SIZE = (MCHUNK_SIZE + spp_chunk_align_mask) & ~spp_chunk_align_mask; + +typedef malloc_chunk mchunk; +typedef malloc_chunk* mchunkptr; +typedef malloc_chunk_header *hchunkptr; +typedef malloc_chunk* sbinptr; // The type of bins of chunks +typedef unsigned int bindex_t; // Described below +typedef unsigned int binmap_t; // Described below +typedef unsigned int flag_t; // The type of various bit flag sets + +// conversion from malloc headers to user pointers, and back +static SPP_FORCEINLINE void *chunk2mem(const void *p) { return (void *)((char *)p + 2 * sizeof(size_t)); } +static SPP_FORCEINLINE mchunkptr mem2chunk(const void *mem) { return (mchunkptr)((char *)mem - 2 * sizeof(size_t)); } + +// chunk associated with aligned address A +static SPP_FORCEINLINE mchunkptr align_as_chunk(char *A) { return (mchunkptr)(A + align_offset(chunk2mem(A))); } + +// Bounds on request (not chunk) sizes. +static const unsigned MAX_REQUEST = (-MIN_CHUNK_SIZE) << 2; +static const unsigned MIN_REQUEST = MIN_CHUNK_SIZE - CHUNK_OVERHEAD - 1; + +// pad request bytes into a usable size +static SPP_FORCEINLINE size_t pad_request(size_t req) +{ + return (req + CHUNK_OVERHEAD + spp_chunk_align_mask) & ~spp_chunk_align_mask; +} + +// pad request, checking for minimum (but not maximum) +static SPP_FORCEINLINE size_t request2size(size_t req) +{ + return req < MIN_REQUEST ? MIN_CHUNK_SIZE : pad_request(req); +} + + +/* ------------------ Operations on head and foot fields ----------------- */ + +/* + The head field of a chunk is or'ed with PINUSE_BIT when previous + adjacent chunk in use, and or'ed with CINUSE_BIT if this chunk is in + use, unless mmapped, in which case both bits are cleared. + + FLAG4_BIT is not used by this malloc, but might be useful in extensions. +*/ + +// Head value for fenceposts +static const unsigned FENCEPOST_HEAD = INUSE_BITS | sizeof(size_t); + + +/* ---------------------- Overlaid data structures ----------------------- */ + +/* + When chunks are not in use, they are treated as nodes of either + lists or trees. + + "Small" chunks are stored in circular doubly-linked lists, and look + like this: + + chunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Size of previous chunk | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + `head:' | Size of chunk, in bytes |P| + mem-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Forward pointer to next chunk in list | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Back pointer to previous chunk in list | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Unused space (may be 0 bytes long) . + . . + . | +nextchunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + `foot:' | Size of chunk, in bytes | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Larger chunks are kept in a form of bitwise digital trees (aka + tries) keyed on chunksizes. Because malloc_tree_chunks are only for + free chunks greater than 256 bytes, their size doesn't impose any + constraints on user chunk sizes. Each node looks like: + + chunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Size of previous chunk | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + `head:' | Size of chunk, in bytes |P| + mem-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Forward pointer to next chunk of same size | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Back pointer to previous chunk of same size | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Pointer to left child (child[0]) | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Pointer to right child (child[1]) | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Pointer to parent | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | bin index of this chunk | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Unused space . + . | +nextchunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + `foot:' | Size of chunk, in bytes | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Each tree holding treenodes is a tree of unique chunk sizes. Chunks + of the same size are arranged in a circularly-linked list, with only + the oldest chunk (the next to be used, in our FIFO ordering) + actually in the tree. (Tree members are distinguished by a non-null + parent pointer.) If a chunk with the same size an an existing node + is inserted, it is linked off the existing node using pointers that + work in the same way as fd/bk pointers of small chunks. + + Each tree contains a power of 2 sized range of chunk sizes (the + smallest is 0x100 <= x < 0x180), which is is divided in half at each + tree level, with the chunks in the smaller half of the range (0x100 + <= x < 0x140 for the top nose) in the left subtree and the larger + half (0x140 <= x < 0x180) in the right subtree. This is, of course, + done by inspecting individual bits. + + Using these rules, each node's left subtree contains all smaller + sizes than its right subtree. However, the node at the root of each + subtree has no particular ordering relationship to either. (The + dividing line between the subtree sizes is based on trie relation.) + If we remove the last chunk of a given size from the interior of the + tree, we need to replace it with a leaf node. The tree ordering + rules permit a node to be replaced by any leaf below it. + + The smallest chunk in a tree (a common operation in a best-fit + allocator) can be found by walking a path to the leftmost leaf in + the tree. Unlike a usual binary tree, where we follow left child + pointers until we reach a null, here we follow the right child + pointer any time the left one is null, until we reach a leaf with + both child pointers null. The smallest chunk in the tree will be + somewhere along that path. + + The worst case number of steps to add, find, or remove a node is + bounded by the number of bits differentiating chunks within + bins. Under current bin calculations, this ranges from 6 up to 21 + (for 32 bit sizes) or up to 53 (for 64 bit sizes). The typical case + is of course much better. +*/ + +// =============================================================================== +struct malloc_tree_chunk : public malloc_chunk_header +{ + malloc_tree_chunk *leftmost_child() + { + return _child[0] ? _child[0] : _child[1]; + } + + + malloc_tree_chunk* _fd; + malloc_tree_chunk* _bk; + + malloc_tree_chunk* _child[2]; + malloc_tree_chunk* _parent; + bindex_t _index; +}; + +typedef malloc_tree_chunk tchunk; +typedef malloc_tree_chunk* tchunkptr; +typedef malloc_tree_chunk* tbinptr; // The type of bins of trees + +/* ----------------------------- Segments -------------------------------- */ + +/* + Each malloc space may include non-contiguous segments, held in a + list headed by an embedded malloc_segment record representing the + top-most space. Segments also include flags holding properties of + the space. Large chunks that are directly allocated by mmap are not + included in this list. They are instead independently created and + destroyed without otherwise keeping track of them. + + Segment management mainly comes into play for spaces allocated by + MMAP. Any call to MMAP might or might not return memory that is + adjacent to an existing segment. MORECORE normally contiguously + extends the current space, so this space is almost always adjacent, + which is simpler and faster to deal with. (This is why MORECORE is + used preferentially to MMAP when both are available -- see + sys_alloc.) When allocating using MMAP, we don't use any of the + hinting mechanisms (inconsistently) supported in various + implementations of unix mmap, or distinguish reserving from + committing memory. Instead, we just ask for space, and exploit + contiguity when we get it. It is probably possible to do + better than this on some systems, but no general scheme seems + to be significantly better. + + Management entails a simpler variant of the consolidation scheme + used for chunks to reduce fragmentation -- new adjacent memory is + normally prepended or appended to an existing segment. However, + there are limitations compared to chunk consolidation that mostly + reflect the fact that segment processing is relatively infrequent + (occurring only when getting memory from system) and that we + don't expect to have huge numbers of segments: + + * Segments are not indexed, so traversal requires linear scans. (It + would be possible to index these, but is not worth the extra + overhead and complexity for most programs on most platforms.) + * New segments are only appended to old ones when holding top-most + memory; if they cannot be prepended to others, they are held in + different segments. + + Except for the top-most segment of an mstate, each segment record + is kept at the tail of its segment. Segments are added by pushing + segment records onto the list headed by &mstate.seg for the + containing mstate. + + Segment flags control allocation/merge/deallocation policies: + * If EXTERN_BIT set, then we did not allocate this segment, + and so should not try to deallocate or merge with others. + (This currently holds only for the initial segment passed + into create_mspace_with_base.) + * If USE_MMAP_BIT set, the segment may be merged with + other surrounding mmapped segments and trimmed/de-allocated + using munmap. + * If neither bit is set, then the segment was obtained using + MORECORE so can be merged with surrounding MORECORE'd segments + and deallocated/trimmed using MORECORE with negative arguments. +*/ + +// =============================================================================== +struct malloc_segment +{ + bool is_mmapped_segment() { return !!(_sflags & USE_MMAP_BIT); } + bool is_extern_segment() { return !!(_sflags & EXTERN_BIT); } + + char* _base; // base address + size_t _size; // allocated size + malloc_segment* _next; // ptr to next segment + flag_t _sflags; // mmap and extern flag +}; + +typedef malloc_segment msegment; +typedef malloc_segment* msegmentptr; + +/* ------------- Malloc_params ------------------- */ + +/* + malloc_params holds global properties, including those that can be + dynamically set using mallopt. There is a single instance, mparams, + initialized in init_mparams. Note that the non-zeroness of "magic" + also serves as an initialization flag. +*/ + +// =============================================================================== +struct malloc_params +{ + malloc_params() : _magic(0) {} + + void ensure_initialization() + { + if (!_magic) + _init(); + } + + SPP_IMPL int change(int param_number, int value); + + size_t page_align(size_t sz) + { + return (sz + (_page_size - 1)) & ~(_page_size - 1); + } + + size_t granularity_align(size_t sz) + { + return (sz + (_granularity - 1)) & ~(_granularity - 1); + } + + bool is_page_aligned(char *S) + { + return ((size_t)S & (_page_size - 1)) == 0; + } + + SPP_IMPL int _init(); + + size_t _magic; + size_t _page_size; + size_t _granularity; + size_t _mmap_threshold; + size_t _trim_threshold; + flag_t _default_mflags; +}; + +static malloc_params mparams; + +/* ---------------------------- malloc_state ----------------------------- */ + +/* + A malloc_state holds all of the bookkeeping for a space. + The main fields are: + + Top + The topmost chunk of the currently active segment. Its size is + cached in topsize. The actual size of topmost space is + topsize+TOP_FOOT_SIZE, which includes space reserved for adding + fenceposts and segment records if necessary when getting more + space from the system. The size at which to autotrim top is + cached from mparams in trim_check, except that it is disabled if + an autotrim fails. + + Designated victim (dv) + This is the preferred chunk for servicing small requests that + don't have exact fits. It is normally the chunk split off most + recently to service another small request. Its size is cached in + dvsize. The link fields of this chunk are not maintained since it + is not kept in a bin. + + SmallBins + An array of bin headers for free chunks. These bins hold chunks + with sizes less than MIN_LARGE_SIZE bytes. Each bin contains + chunks of all the same size, spaced 8 bytes apart. To simplify + use in double-linked lists, each bin header acts as a malloc_chunk + pointing to the real first node, if it exists (else pointing to + itself). This avoids special-casing for headers. But to avoid + waste, we allocate only the fd/bk pointers of bins, and then use + repositioning tricks to treat these as the fields of a chunk. + + TreeBins + Treebins are pointers to the roots of trees holding a range of + sizes. There are 2 equally spaced treebins for each power of two + from TREE_SHIFT to TREE_SHIFT+16. The last bin holds anything + larger. + + Bin maps + There is one bit map for small bins ("smallmap") and one for + treebins ("treemap). Each bin sets its bit when non-empty, and + clears the bit when empty. Bit operations are then used to avoid + bin-by-bin searching -- nearly all "search" is done without ever + looking at bins that won't be selected. The bit maps + conservatively use 32 bits per map word, even if on 64bit system. + For a good description of some of the bit-based techniques used + here, see Henry S. Warren Jr's book "Hacker's Delight" (and + supplement at http://hackersdelight.org/). Many of these are + intended to reduce the branchiness of paths through malloc etc, as + well as to reduce the number of memory locations read or written. + + Segments + A list of segments headed by an embedded malloc_segment record + representing the initial space. + + Address check support + The least_addr field is the least address ever obtained from + MORECORE or MMAP. Attempted frees and reallocs of any address less + than this are trapped (unless SPP_INSECURE is defined). + + Magic tag + A cross-check field that should always hold same value as mparams._magic. + + Max allowed footprint + The maximum allowed bytes to allocate from system (zero means no limit) + + Flags + Bits recording whether to use MMAP, locks, or contiguous MORECORE + + Statistics + Each space keeps track of current and maximum system memory + obtained via MORECORE or MMAP. + + Trim support + Fields holding the amount of unused topmost memory that should trigger + trimming, and a counter to force periodic scanning to release unused + non-topmost segments. + + Extension support + A void* pointer and a size_t field that can be used to help implement + extensions to this malloc. +*/ + + +// ================================================================================ +class malloc_state +{ +public: + /* ----------------------- _malloc, _free, etc... --- */ + SPP_FORCEINLINE void* _malloc(size_t bytes); + SPP_FORCEINLINE void _free(mchunkptr p); + + + /* ------------------------ Relays to internal calls to malloc/free from realloc, memalign etc */ + void *internal_malloc(size_t b) { return mspace_malloc(this, b); } + void internal_free(void *mem) { mspace_free(this, mem); } + + /* ------------------------ ----------------------- */ + + SPP_IMPL void init_top(mchunkptr p, size_t psize); + SPP_IMPL void init_bins(); + SPP_IMPL void init(char* tbase, size_t tsize); + + /* ------------------------ System alloc/dealloc -------------------------- */ + SPP_IMPL void* sys_alloc(size_t nb); + SPP_IMPL size_t release_unused_segments(); + SPP_IMPL int sys_trim(size_t pad); + SPP_IMPL void dispose_chunk(mchunkptr p, size_t psize); + + /* ----------------------- Internal support for realloc, memalign, etc --- */ + SPP_IMPL mchunkptr try_realloc_chunk(mchunkptr p, size_t nb, int can_move); + SPP_IMPL void* internal_memalign(size_t alignment, size_t bytes); + SPP_IMPL void** ialloc(size_t n_elements, size_t* sizes, int opts, void* chunks[]); + SPP_IMPL size_t internal_bulk_free(void* array[], size_t nelem); + SPP_IMPL void internal_inspect_all(void(*handler)(void *start, void *end, + size_t used_bytes, void* callback_arg), + void* arg); + + /* -------------------------- system alloc setup (Operations on mflags) ----- */ + bool use_lock() const { return false; } + void enable_lock() {} + void set_lock(int) {} + void disable_lock() {} + + bool use_mmap() const { return !!(_mflags & USE_MMAP_BIT); } + void enable_mmap() { _mflags |= USE_MMAP_BIT; } + +#if SPP_HAVE_MMAP + void disable_mmap() { _mflags &= ~USE_MMAP_BIT; } +#else + void disable_mmap() {} +#endif + + /* ----------------------- Runtime Check Support ------------------------- */ + + /* + For security, the main invariant is that malloc/free/etc never + writes to a static address other than malloc_state, unless static + malloc_state itself has been corrupted, which cannot occur via + malloc (because of these checks). In essence this means that we + believe all pointers, sizes, maps etc held in malloc_state, but + check all of those linked or offsetted from other embedded data + structures. These checks are interspersed with main code in a way + that tends to minimize their run-time cost. + + When SPP_FOOTERS is defined, in addition to range checking, we also + verify footer fields of inuse chunks, which can be used guarantee + that the mstate controlling malloc/free is intact. This is a + streamlined version of the approach described by William Robertson + et al in "Run-time Detection of Heap-based Overflows" LISA'03 + http://www.usenix.org/events/lisa03/tech/robertson.html The footer + of an inuse chunk holds the xor of its mstate and a random seed, + that is checked upon calls to free() and realloc(). This is + (probabalistically) unguessable from outside the program, but can be + computed by any code successfully malloc'ing any chunk, so does not + itself provide protection against code that has already broken + security through some other means. Unlike Robertson et al, we + always dynamically check addresses of all offset chunks (previous, + next, etc). This turns out to be cheaper than relying on hashes. + */ + + +#if !SPP_INSECURE + // Check if address a is at least as high as any from MORECORE or MMAP + bool ok_address(void *a) const { return (char *)a >= _least_addr; } + + // Check if address of next chunk n is higher than base chunk p + static bool ok_next(void *p, void *n) { return p < n; } + + // Check if p has inuse status + static bool ok_inuse(mchunkptr p) { return p->is_inuse(); } + + // Check if p has its pinuse bit on + static bool ok_pinuse(mchunkptr p) { return p->pinuse(); } + + // Check if (alleged) mstate m has expected magic field + bool ok_magic() const { return _magic == mparams._magic; } + + // In gcc, use __builtin_expect to minimize impact of checks + #if defined(__GNUC__) && __GNUC__ >= 3 + static bool rtcheck(bool e) { return __builtin_expect(e, 1); } + #else + static bool rtcheck(bool e) { return e; } + #endif +#else + static bool ok_address(void *) { return true; } + static bool ok_next(void *, void *) { return true; } + static bool ok_inuse(mchunkptr) { return true; } + static bool ok_pinuse(mchunkptr) { return true; } + static bool ok_magic() { return true; } + static bool rtcheck(bool) { return true; } +#endif + + bool is_initialized() const { return _top != 0; } + + bool use_noncontiguous() const { return !!(_mflags & USE_NONCONTIGUOUS_BIT); } + void disable_contiguous() { _mflags |= USE_NONCONTIGUOUS_BIT; } + + // Return segment holding given address + msegmentptr segment_holding(char* addr) const + { + msegmentptr sp = (msegmentptr)&_seg; + for (;;) + { + if (addr >= sp->_base && addr < sp->_base + sp->_size) + return sp; + if ((sp = sp->_next) == 0) + return 0; + } + } + + // Return true if segment contains a segment link + int has_segment_link(msegmentptr ss) const + { + msegmentptr sp = (msegmentptr)&_seg; + for (;;) + { + if ((char*)sp >= ss->_base && (char*)sp < ss->_base + ss->_size) + return 1; + if ((sp = sp->_next) == 0) + return 0; + } + } + + bool should_trim(size_t s) const { return s > _trim_check; } + + /* -------------------------- Debugging setup ---------------------------- */ + +#if ! SPP_DEBUG + void check_free_chunk(mchunkptr) {} + void check_inuse_chunk(mchunkptr) {} + void check_malloced_chunk(void*, size_t) {} + void check_mmapped_chunk(mchunkptr) {} + void check_malloc_state() {} + void check_top_chunk(mchunkptr) {} +#else /* SPP_DEBUG */ + void check_free_chunk(mchunkptr p) { do_check_free_chunk(p); } + void check_inuse_chunk(mchunkptr p) { do_check_inuse_chunk(p); } + void check_malloced_chunk(void* p, size_t s) { do_check_malloced_chunk(p, s); } + void check_mmapped_chunk(mchunkptr p) { do_check_mmapped_chunk(p); } + void check_malloc_state() { do_check_malloc_state(); } + void check_top_chunk(mchunkptr p) { do_check_top_chunk(p); } + + void do_check_any_chunk(mchunkptr p) const; + void do_check_top_chunk(mchunkptr p) const; + void do_check_mmapped_chunk(mchunkptr p) const; + void do_check_inuse_chunk(mchunkptr p) const; + void do_check_free_chunk(mchunkptr p) const; + void do_check_malloced_chunk(void* mem, size_t s) const; + void do_check_tree(tchunkptr t); + void do_check_treebin(bindex_t i); + void do_check_smallbin(bindex_t i); + void do_check_malloc_state(); + int bin_find(mchunkptr x); + size_t traverse_and_check(); +#endif + +private: + + /* ---------------------------- Indexing Bins ---------------------------- */ + + static bool is_small(size_t s) { return (s >> SMALLBIN_SHIFT) < NSMALLBINS; } + static bindex_t small_index(size_t s) { return (bindex_t)(s >> SMALLBIN_SHIFT); } + static size_t small_index2size(size_t i) { return i << SMALLBIN_SHIFT; } + static bindex_t MIN_SMALL_INDEX() { return small_index(MIN_CHUNK_SIZE); } + + // assign tree index for size S to variable I. Use x86 asm if possible +#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) + SPP_FORCEINLINE static bindex_t compute_tree_index(size_t S) + { + unsigned int X = S >> TREEBIN_SHIFT; + if (X == 0) + return 0; + else if (X > 0xFFFF) + return NTREEBINS - 1; + + unsigned int K = (unsigned) sizeof(X) * __CHAR_BIT__ - 1 - (unsigned) __builtin_clz(X); + return (bindex_t)((K << 1) + ((S >> (K + (TREEBIN_SHIFT - 1)) & 1))); + } + +#elif defined (__INTEL_COMPILER) + SPP_FORCEINLINE static bindex_t compute_tree_index(size_t S) + { + size_t X = S >> TREEBIN_SHIFT; + if (X == 0) + return 0; + else if (X > 0xFFFF) + return NTREEBINS - 1; + + unsigned int K = _bit_scan_reverse(X); + return (bindex_t)((K << 1) + ((S >> (K + (TREEBIN_SHIFT - 1)) & 1))); + } + +#elif defined(_MSC_VER) && _MSC_VER>=1300 + SPP_FORCEINLINE static bindex_t compute_tree_index(size_t S) + { + size_t X = S >> TREEBIN_SHIFT; + if (X == 0) + return 0; + else if (X > 0xFFFF) + return NTREEBINS - 1; + + unsigned int K; + _BitScanReverse((DWORD *) &K, (DWORD) X); + return (bindex_t)((K << 1) + ((S >> (K + (TREEBIN_SHIFT - 1)) & 1))); + } + +#else // GNUC + SPP_FORCEINLINE static bindex_t compute_tree_index(size_t S) + { + size_t X = S >> TREEBIN_SHIFT; + if (X == 0) + return 0; + else if (X > 0xFFFF) + return NTREEBINS - 1; + + unsigned int Y = (unsigned int)X; + unsigned int N = ((Y - 0x100) >> 16) & 8; + unsigned int K = (((Y <<= N) - 0x1000) >> 16) & 4; + N += K; + N += K = (((Y <<= K) - 0x4000) >> 16) & 2; + K = 14 - N + ((Y <<= K) >> 15); + return (K << 1) + ((S >> (K + (TREEBIN_SHIFT - 1)) & 1)); + } +#endif + + // Shift placing maximum resolved bit in a treebin at i as sign bit + static bindex_t leftshift_for_tree_index(bindex_t i) + { + return (i == NTREEBINS - 1) ? 0 : + ((spp_size_t_bitsize - 1) - ((i >> 1) + TREEBIN_SHIFT - 2)); + } + + // The size of the smallest chunk held in bin with index i + static bindex_t minsize_for_tree_index(bindex_t i) + { + return ((size_t)1 << ((i >> 1) + TREEBIN_SHIFT)) | + (((size_t)(i & 1)) << ((i >> 1) + TREEBIN_SHIFT - 1)); + } + + + // ----------- isolate the least set bit of a bitmap + static binmap_t least_bit(binmap_t x) { return x & -x; } + + // ----------- mask with all bits to left of least bit of x on + static binmap_t left_bits(binmap_t x) { return (x << 1) | -(x << 1); } + + // index corresponding to given bit. Use x86 asm if possible +#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) + static bindex_t compute_bit2idx(binmap_t X) + { + unsigned int J; + J = __builtin_ctz(X); + return (bindex_t)J; + } + +#elif defined (__INTEL_COMPILER) + static bindex_t compute_bit2idx(binmap_t X) + { + unsigned int J; + J = _bit_scan_forward(X); + return (bindex_t)J; + } + +#elif defined(_MSC_VER) && _MSC_VER>=1300 + static bindex_t compute_bit2idx(binmap_t X) + { + unsigned int J; + _BitScanForward((DWORD *) &J, X); + return (bindex_t)J; + } + +#elif SPP_USE_BUILTIN_FFS + static bindex_t compute_bit2idx(binmap_t X) { return ffs(X) - 1; } + +#else + static bindex_t compute_bit2idx(binmap_t X) + { + unsigned int Y = X - 1; + unsigned int K = Y >> (16 - 4) & 16; + unsigned int N = K; Y >>= K; + N += K = Y >> (8 - 3) & 8; Y >>= K; + N += K = Y >> (4 - 2) & 4; Y >>= K; + N += K = Y >> (2 - 1) & 2; Y >>= K; + N += K = Y >> (1 - 0) & 1; Y >>= K; + return (bindex_t)(N + Y); + } +#endif + + /* ------------------------ Set up inuse chunks with or without footers ---*/ +#if !SPP_FOOTERS + void mark_inuse_foot(malloc_chunk_header *, size_t) {} +#else + //Set foot of inuse chunk to be xor of mstate and seed + void mark_inuse_foot(malloc_chunk_header *p, size_t s) + { + (((mchunkptr)((char*)p + s))->prev_foot = (size_t)this ^ mparams._magic); + } +#endif + + void set_inuse(malloc_chunk_header *p, size_t s) + { + p->_head = (p->_head & PINUSE_BIT) | s | CINUSE_BIT; + ((mchunkptr)(((char*)p) + s))->_head |= PINUSE_BIT; + mark_inuse_foot(p, s); + } + + void set_inuse_and_pinuse(malloc_chunk_header *p, size_t s) + { + p->_head = s | PINUSE_BIT | CINUSE_BIT; + ((mchunkptr)(((char*)p) + s))->_head |= PINUSE_BIT; + mark_inuse_foot(p, s); + } + + void set_size_and_pinuse_of_inuse_chunk(malloc_chunk_header *p, size_t s) + { + p->_head = s | PINUSE_BIT | CINUSE_BIT; + mark_inuse_foot(p, s); + } + + /* ------------------------ Addressing by index. See about smallbin repositioning --- */ + sbinptr smallbin_at(bindex_t i) const { return (sbinptr)((char*)&_smallbins[i << 1]); } + tbinptr* treebin_at(bindex_t i) { return &_treebins[i]; } + + /* ----------------------- bit corresponding to given index ---------*/ + static binmap_t idx2bit(bindex_t i) { return ((binmap_t)1 << i); } + + // --------------- Mark/Clear bits with given index + void mark_smallmap(bindex_t i) { _smallmap |= idx2bit(i); } + void clear_smallmap(bindex_t i) { _smallmap &= ~idx2bit(i); } + binmap_t smallmap_is_marked(bindex_t i) const { return _smallmap & idx2bit(i); } + + void mark_treemap(bindex_t i) { _treemap |= idx2bit(i); } + void clear_treemap(bindex_t i) { _treemap &= ~idx2bit(i); } + binmap_t treemap_is_marked(bindex_t i) const { return _treemap & idx2bit(i); } + + /* ------------------------ ----------------------- */ + SPP_FORCEINLINE void insert_small_chunk(mchunkptr P, size_t S); + SPP_FORCEINLINE void unlink_small_chunk(mchunkptr P, size_t S); + SPP_FORCEINLINE void unlink_first_small_chunk(mchunkptr B, mchunkptr P, bindex_t I); + SPP_FORCEINLINE void replace_dv(mchunkptr P, size_t S); + + /* ------------------------- Operations on trees ------------------------- */ + SPP_FORCEINLINE void insert_large_chunk(tchunkptr X, size_t S); + SPP_FORCEINLINE void unlink_large_chunk(tchunkptr X); + + /* ------------------------ Relays to large vs small bin operations */ + SPP_FORCEINLINE void insert_chunk(mchunkptr P, size_t S); + SPP_FORCEINLINE void unlink_chunk(mchunkptr P, size_t S); + + /* ----------------------- Direct-mmapping chunks ----------------------- */ + SPP_IMPL void* mmap_alloc(size_t nb); + SPP_IMPL mchunkptr mmap_resize(mchunkptr oldp, size_t nb, int flags); + + SPP_IMPL void reset_on_error(); + SPP_IMPL void* prepend_alloc(char* newbase, char* oldbase, size_t nb); + SPP_IMPL void add_segment(char* tbase, size_t tsize, flag_t mmapped); + + /* ------------------------ malloc --------------------------- */ + SPP_IMPL void* tmalloc_large(size_t nb); + SPP_IMPL void* tmalloc_small(size_t nb); + + /* ------------------------Bin types, widths and sizes -------- */ + static const size_t NSMALLBINS = 32; + static const size_t NTREEBINS = 32; + static const size_t SMALLBIN_SHIFT = 3; + static const size_t SMALLBIN_WIDTH = 1 << SMALLBIN_SHIFT; + static const size_t TREEBIN_SHIFT = 8; + static const size_t MIN_LARGE_SIZE = 1 << TREEBIN_SHIFT; + static const size_t MAX_SMALL_SIZE = (MIN_LARGE_SIZE - 1); + static const size_t MAX_SMALL_REQUEST = (MAX_SMALL_SIZE - spp_chunk_align_mask - CHUNK_OVERHEAD); + + /* ------------------------ data members --------------------------- */ + binmap_t _smallmap; + binmap_t _treemap; + size_t _dvsize; + size_t _topsize; + char* _least_addr; + mchunkptr _dv; + mchunkptr _top; + size_t _trim_check; + size_t _release_checks; + size_t _magic; + mchunkptr _smallbins[(NSMALLBINS + 1) * 2]; + tbinptr _treebins[NTREEBINS]; +public: + size_t _footprint; + size_t _max_footprint; + size_t _footprint_limit; // zero means no limit + flag_t _mflags; + + msegment _seg; + +private: + void* _extp; // Unused but available for extensions + size_t _exts; +}; + +typedef malloc_state* mstate; + +/* ------------- end malloc_state ------------------- */ + +#if SPP_FOOTERS +static malloc_state* get_mstate_for(malloc_chunk_header *p) +{ + return (malloc_state*)(((mchunkptr)((char*)(p) + + (p->chunksize())))->prev_foot ^ mparams._magic); +} +#endif + +/* -------------------------- system alloc setup ------------------------- */ + + + +// For mmap, use granularity alignment on windows, else page-align +#ifdef WIN32 + #define mmap_align(S) mparams.granularity_align(S) +#else + #define mmap_align(S) mparams.page_align(S) +#endif + +// True if segment S holds address A +static bool segment_holds(msegmentptr S, mchunkptr A) +{ + return (char*)A >= S->_base && (char*)A < S->_base + S->_size; +} + +/* + top_foot_size is padding at the end of a segment, including space + that may be needed to place segment records and fenceposts when new + noncontiguous segments are added. +*/ +static SPP_FORCEINLINE size_t top_foot_size() +{ + return align_offset(chunk2mem((void *)0)) + + pad_request(sizeof(struct malloc_segment)) + + MIN_CHUNK_SIZE; +} + + +// For sys_alloc, enough padding to ensure can malloc request on success +static SPP_FORCEINLINE size_t sys_alloc_padding() +{ + return top_foot_size() + SPP_MALLOC_ALIGNMENT; +} + + +#define SPP_USAGE_ERROR_ACTION(m,p) SPP_ABORT + +/* ---------------------------- setting mparams -------------------------- */ + +// Initialize mparams +int malloc_params::_init() +{ +#ifdef NEED_GLOBAL_LOCK_INIT + if (malloc_global_mutex_status <= 0) + init_malloc_global_mutex(); +#endif + + if (_magic == 0) + { + size_t magic; + size_t psize; + size_t gsize; + +#ifndef WIN32 + psize = malloc_getpagesize; + gsize = ((SPP_DEFAULT_GRANULARITY != 0) ? SPP_DEFAULT_GRANULARITY : psize); +#else + { + SYSTEM_INFO system_info; + GetSystemInfo(&system_info); + psize = system_info.dwPageSize; + gsize = ((SPP_DEFAULT_GRANULARITY != 0) ? + SPP_DEFAULT_GRANULARITY : system_info.dwAllocationGranularity); + } +#endif + + /* Sanity-check configuration: + size_t must be unsigned and as wide as pointer type. + ints must be at least 4 bytes. + alignment must be at least 8. + Alignment, min chunk size, and page size must all be powers of 2. + */ + if ((sizeof(size_t) != sizeof(char*)) || + (spp_max_size_t < MIN_CHUNK_SIZE) || + (sizeof(int) < 4) || + (SPP_MALLOC_ALIGNMENT < (size_t)8U) || + ((SPP_MALLOC_ALIGNMENT & (SPP_MALLOC_ALIGNMENT - 1)) != 0) || + ((MCHUNK_SIZE & (MCHUNK_SIZE - 1)) != 0) || + ((gsize & (gsize - 1)) != 0) || + ((psize & (psize - 1)) != 0)) + SPP_ABORT; + _granularity = gsize; + _page_size = psize; + _mmap_threshold = SPP_DEFAULT_MMAP_THRESHOLD; + _trim_threshold = SPP_DEFAULT_TRIM_THRESHOLD; + _default_mflags = USE_MMAP_BIT | USE_NONCONTIGUOUS_BIT; + + { +#if SPP_USE_DEV_RANDOM + int fd; + unsigned char buf[sizeof(size_t)]; + // Try to use /dev/urandom, else fall back on using time + if ((fd = open("/dev/urandom", O_RDONLY)) >= 0 && + read(fd, buf, sizeof(buf)) == sizeof(buf)) + { + magic = *((size_t *) buf); + close(fd); + } + else +#endif + { +#ifdef WIN32 + magic = (size_t)(GetTickCount() ^ (size_t)0x55555555U); +#elif defined(SPP_LACKS_TIME_H) + magic = (size_t)&magic ^ (size_t)0x55555555U; +#else + magic = (size_t)(time(0) ^ (size_t)0x55555555U); +#endif + } + magic |= (size_t)8U; // ensure nonzero + magic &= ~(size_t)7U; // improve chances of fault for bad values + // Until memory modes commonly available, use volatile-write + (*(volatile size_t *)(&(_magic))) = magic; + } + } + + return 1; +} + +/* + mallopt tuning options. SVID/XPG defines four standard parameter + numbers for mallopt, normally defined in malloc.h. None of these + are used in this malloc, so setting them has no effect. But this + malloc does support the following options. +*/ +static const int m_trim_threshold = -1; +static const int m_granularity = -2; +static const int m_mmap_threshold = -3; + +// support for mallopt +int malloc_params::change(int param_number, int value) +{ + size_t val; + ensure_initialization(); + val = (value == -1) ? spp_max_size_t : (size_t)value; + + switch (param_number) + { + case m_trim_threshold: + _trim_threshold = val; + return 1; + + case m_granularity: + if (val >= _page_size && ((val & (val - 1)) == 0)) + { + _granularity = val; + return 1; + } + else + return 0; + + case m_mmap_threshold: + _mmap_threshold = val; + return 1; + + default: + return 0; + } +} + +#if SPP_DEBUG +/* ------------------------- Debugging Support --------------------------- */ + +// Check properties of any chunk, whether free, inuse, mmapped etc +void malloc_state::do_check_any_chunk(mchunkptr p) const +{ + assert((spp_is_aligned(chunk2mem(p))) || (p->_head == FENCEPOST_HEAD)); + assert(ok_address(p)); +} + +// Check properties of top chunk +void malloc_state::do_check_top_chunk(mchunkptr p) const +{ + msegmentptr sp = segment_holding((char*)p); + size_t sz = p->_head & ~INUSE_BITS; // third-lowest bit can be set! + assert(sp != 0); + assert((spp_is_aligned(chunk2mem(p))) || (p->_head == FENCEPOST_HEAD)); + assert(ok_address(p)); + assert(sz == _topsize); + assert(sz > 0); + assert(sz == ((sp->_base + sp->_size) - (char*)p) - top_foot_size()); + assert(p->pinuse()); + assert(!p->chunk_plus_offset(sz)->pinuse()); +} + +// Check properties of (inuse) mmapped chunks +void malloc_state::do_check_mmapped_chunk(mchunkptr p) const +{ + size_t sz = p->chunksize(); + size_t len = (sz + (p->_prev_foot) + SPP_MMAP_FOOT_PAD); + assert(p->is_mmapped()); + assert(use_mmap()); + assert((spp_is_aligned(chunk2mem(p))) || (p->_head == FENCEPOST_HEAD)); + assert(ok_address(p)); + assert(!is_small(sz)); + assert((len & (mparams._page_size - 1)) == 0); + assert(p->chunk_plus_offset(sz)->_head == FENCEPOST_HEAD); + assert(p->chunk_plus_offset(sz + sizeof(size_t))->_head == 0); +} + +// Check properties of inuse chunks +void malloc_state::do_check_inuse_chunk(mchunkptr p) const +{ + do_check_any_chunk(p); + assert(p->is_inuse()); + assert(p->next_pinuse()); + // If not pinuse and not mmapped, previous chunk has OK offset + assert(p->is_mmapped() || p->pinuse() || (mchunkptr)p->prev_chunk()->next_chunk() == p); + if (p->is_mmapped()) + do_check_mmapped_chunk(p); +} + +// Check properties of free chunks +void malloc_state::do_check_free_chunk(mchunkptr p) const +{ + size_t sz = p->chunksize(); + mchunkptr next = (mchunkptr)p->chunk_plus_offset(sz); + do_check_any_chunk(p); + assert(!p->is_inuse()); + assert(!p->next_pinuse()); + assert(!p->is_mmapped()); + if (p != _dv && p != _top) + { + if (sz >= MIN_CHUNK_SIZE) + { + assert((sz & spp_chunk_align_mask) == 0); + assert(spp_is_aligned(chunk2mem(p))); + assert(next->_prev_foot == sz); + assert(p->pinuse()); + assert(next == _top || next->is_inuse()); + assert(p->_fd->_bk == p); + assert(p->_bk->_fd == p); + } + else // markers are always of size sizeof(size_t) + assert(sz == sizeof(size_t)); + } +} + +// Check properties of malloced chunks at the point they are malloced +void malloc_state::do_check_malloced_chunk(void* mem, size_t s) const +{ + if (mem != 0) + { + mchunkptr p = mem2chunk(mem); + size_t sz = p->_head & ~INUSE_BITS; + do_check_inuse_chunk(p); + assert((sz & spp_chunk_align_mask) == 0); + assert(sz >= MIN_CHUNK_SIZE); + assert(sz >= s); + // unless mmapped, size is less than MIN_CHUNK_SIZE more than request + assert(p->is_mmapped() || sz < (s + MIN_CHUNK_SIZE)); + } +} + +// Check a tree and its subtrees. +void malloc_state::do_check_tree(tchunkptr t) +{ + tchunkptr head = 0; + tchunkptr u = t; + bindex_t tindex = t->_index; + size_t tsize = t->chunksize(); + bindex_t idx = compute_tree_index(tsize); + assert(tindex == idx); + assert(tsize >= MIN_LARGE_SIZE); + assert(tsize >= minsize_for_tree_index(idx)); + assert((idx == NTREEBINS - 1) || (tsize < minsize_for_tree_index((idx + 1)))); + + do + { + // traverse through chain of same-sized nodes + do_check_any_chunk((mchunkptr)u); + assert(u->_index == tindex); + assert(u->chunksize() == tsize); + assert(!u->is_inuse()); + assert(!u->next_pinuse()); + assert(u->_fd->_bk == u); + assert(u->_bk->_fd == u); + if (u->_parent == 0) + { + assert(u->_child[0] == 0); + assert(u->_child[1] == 0); + } + else + { + assert(head == 0); // only one node on chain has parent + head = u; + assert(u->_parent != u); + assert(u->_parent->_child[0] == u || + u->_parent->_child[1] == u || + *((tbinptr*)(u->_parent)) == u); + if (u->_child[0] != 0) + { + assert(u->_child[0]->_parent == u); + assert(u->_child[0] != u); + do_check_tree(u->_child[0]); + } + if (u->_child[1] != 0) + { + assert(u->_child[1]->_parent == u); + assert(u->_child[1] != u); + do_check_tree(u->_child[1]); + } + if (u->_child[0] != 0 && u->_child[1] != 0) + assert(u->_child[0]->chunksize() < u->_child[1]->chunksize()); + } + u = u->_fd; + } + while (u != t); + assert(head != 0); +} + +// Check all the chunks in a treebin. +void malloc_state::do_check_treebin(bindex_t i) +{ + tbinptr* tb = (tbinptr*)treebin_at(i); + tchunkptr t = *tb; + int empty = (_treemap & (1U << i)) == 0; + if (t == 0) + assert(empty); + if (!empty) + do_check_tree(t); +} + +// Check all the chunks in a smallbin. +void malloc_state::do_check_smallbin(bindex_t i) +{ + sbinptr b = smallbin_at(i); + mchunkptr p = b->_bk; + unsigned int empty = (_smallmap & (1U << i)) == 0; + if (p == b) + assert(empty); + if (!empty) + { + for (; p != b; p = p->_bk) + { + size_t size = p->chunksize(); + mchunkptr q; + // each chunk claims to be free + do_check_free_chunk(p); + // chunk belongs in bin + assert(small_index(size) == i); + assert(p->_bk == b || p->_bk->chunksize() == p->chunksize()); + // chunk is followed by an inuse chunk + q = (mchunkptr)p->next_chunk(); + if (q->_head != FENCEPOST_HEAD) + do_check_inuse_chunk(q); + } + } +} + +// Find x in a bin. Used in other check functions. +int malloc_state::bin_find(mchunkptr x) +{ + size_t size = x->chunksize(); + if (is_small(size)) + { + bindex_t sidx = small_index(size); + sbinptr b = smallbin_at(sidx); + if (smallmap_is_marked(sidx)) + { + mchunkptr p = b; + do + { + if (p == x) + return 1; + } + while ((p = p->_fd) != b); + } + } + else + { + bindex_t tidx = compute_tree_index(size); + if (treemap_is_marked(tidx)) + { + tchunkptr t = *treebin_at(tidx); + size_t sizebits = size << leftshift_for_tree_index(tidx); + while (t != 0 && t->chunksize() != size) + { + t = t->_child[(sizebits >> (spp_size_t_bitsize - 1)) & 1]; + sizebits <<= 1; + } + if (t != 0) + { + tchunkptr u = t; + do + { + if (u == (tchunkptr)x) + return 1; + } + while ((u = u->_fd) != t); + } + } + } + return 0; +} + +// Traverse each chunk and check it; return total +size_t malloc_state::traverse_and_check() +{ + size_t sum = 0; + if (is_initialized()) + { + msegmentptr s = (msegmentptr)&_seg; + sum += _topsize + top_foot_size(); + while (s != 0) + { + mchunkptr q = align_as_chunk(s->_base); + mchunkptr lastq = 0; + assert(q->pinuse()); + while (segment_holds(s, q) && + q != _top && q->_head != FENCEPOST_HEAD) + { + sum += q->chunksize(); + if (q->is_inuse()) + { + assert(!bin_find(q)); + do_check_inuse_chunk(q); + } + else + { + assert(q == _dv || bin_find(q)); + assert(lastq == 0 || lastq->is_inuse()); // Not 2 consecutive free + do_check_free_chunk(q); + } + lastq = q; + q = (mchunkptr)q->next_chunk(); + } + s = s->_next; + } + } + return sum; +} + + +// Check all properties of malloc_state. +void malloc_state::do_check_malloc_state() +{ + bindex_t i; + size_t total; + // check bins + for (i = 0; i < NSMALLBINS; ++i) + do_check_smallbin(i); + for (i = 0; i < NTREEBINS; ++i) + do_check_treebin(i); + + if (_dvsize != 0) + { + // check dv chunk + do_check_any_chunk(_dv); + assert(_dvsize == _dv->chunksize()); + assert(_dvsize >= MIN_CHUNK_SIZE); + assert(bin_find(_dv) == 0); + } + + if (_top != 0) + { + // check top chunk + do_check_top_chunk(_top); + //assert(topsize == top->chunksize()); redundant + assert(_topsize > 0); + assert(bin_find(_top) == 0); + } + + total = traverse_and_check(); + assert(total <= _footprint); + assert(_footprint <= _max_footprint); +} +#endif // SPP_DEBUG + +/* ----------------------- Operations on smallbins ----------------------- */ + +/* + Various forms of linking and unlinking are defined as macros. Even + the ones for trees, which are very long but have very short typical + paths. This is ugly but reduces reliance on inlining support of + compilers. +*/ + +// Link a free chunk into a smallbin +void malloc_state::insert_small_chunk(mchunkptr p, size_t s) +{ + bindex_t I = small_index(s); + mchunkptr B = smallbin_at(I); + mchunkptr F = B; + assert(s >= MIN_CHUNK_SIZE); + if (!smallmap_is_marked(I)) + mark_smallmap(I); + else if (rtcheck(ok_address(B->_fd))) + F = B->_fd; + else + SPP_ABORT; + B->_fd = p; + F->_bk = p; + p->_fd = F; + p->_bk = B; +} + +// Unlink a chunk from a smallbin +void malloc_state::unlink_small_chunk(mchunkptr p, size_t s) +{ + mchunkptr F = p->_fd; + mchunkptr B = p->_bk; + bindex_t I = small_index(s); + assert(p != B); + assert(p != F); + assert(p->chunksize() == small_index2size(I)); + if (rtcheck(F == smallbin_at(I) || (ok_address(F) && F->_bk == p))) + { + if (B == F) + clear_smallmap(I); + else if (rtcheck(B == smallbin_at(I) || + (ok_address(B) && B->_fd == p))) + { + F->_bk = B; + B->_fd = F; + } + else + SPP_ABORT; + } + else + SPP_ABORT; +} + +// Unlink the first chunk from a smallbin +void malloc_state::unlink_first_small_chunk(mchunkptr B, mchunkptr p, bindex_t I) +{ + mchunkptr F = p->_fd; + assert(p != B); + assert(p != F); + assert(p->chunksize() == small_index2size(I)); + if (B == F) + clear_smallmap(I); + else if (rtcheck(ok_address(F) && F->_bk == p)) + { + F->_bk = B; + B->_fd = F; + } + else + SPP_ABORT; +} + +// Replace dv node, binning the old one +// Used only when dvsize known to be small +void malloc_state::replace_dv(mchunkptr p, size_t s) +{ + size_t DVS = _dvsize; + assert(is_small(DVS)); + if (DVS != 0) + { + mchunkptr DV = _dv; + insert_small_chunk(DV, DVS); + } + _dvsize = s; + _dv = p; +} + +/* ------------------------- Operations on trees ------------------------- */ + +// Insert chunk into tree +void malloc_state::insert_large_chunk(tchunkptr X, size_t s) +{ + tbinptr* H; + bindex_t I = compute_tree_index(s); + H = treebin_at(I); + X->_index = I; + X->_child[0] = X->_child[1] = 0; + if (!treemap_is_marked(I)) + { + mark_treemap(I); + *H = X; + X->_parent = (tchunkptr)H; + X->_fd = X->_bk = X; + } + else + { + tchunkptr T = *H; + size_t K = s << leftshift_for_tree_index(I); + for (;;) + { + if (T->chunksize() != s) + { + tchunkptr* C = &(T->_child[(K >> (spp_size_t_bitsize - 1)) & 1]); + K <<= 1; + if (*C != 0) + T = *C; + else if (rtcheck(ok_address(C))) + { + *C = X; + X->_parent = T; + X->_fd = X->_bk = X; + break; + } + else + { + SPP_ABORT; + break; + } + } + else + { + tchunkptr F = T->_fd; + if (rtcheck(ok_address(T) && ok_address(F))) + { + T->_fd = F->_bk = X; + X->_fd = F; + X->_bk = T; + X->_parent = 0; + break; + } + else + { + SPP_ABORT; + break; + } + } + } + } +} + +/* + Unlink steps: + + 1. If x is a chained node, unlink it from its same-sized fd/bk links + and choose its bk node as its replacement. + 2. If x was the last node of its size, but not a leaf node, it must + be replaced with a leaf node (not merely one with an open left or + right), to make sure that lefts and rights of descendents + correspond properly to bit masks. We use the rightmost descendent + of x. We could use any other leaf, but this is easy to locate and + tends to counteract removal of leftmosts elsewhere, and so keeps + paths shorter than minimally guaranteed. This doesn't loop much + because on average a node in a tree is near the bottom. + 3. If x is the base of a chain (i.e., has parent links) relink + x's parent and children to x's replacement (or null if none). +*/ + +void malloc_state::unlink_large_chunk(tchunkptr X) +{ + tchunkptr XP = X->_parent; + tchunkptr R; + if (X->_bk != X) + { + tchunkptr F = X->_fd; + R = X->_bk; + if (rtcheck(ok_address(F) && F->_bk == X && R->_fd == X)) + { + F->_bk = R; + R->_fd = F; + } + else + SPP_ABORT; + } + else + { + tchunkptr* RP; + if (((R = *(RP = &(X->_child[1]))) != 0) || + ((R = *(RP = &(X->_child[0]))) != 0)) + { + tchunkptr* CP; + while ((*(CP = &(R->_child[1])) != 0) || + (*(CP = &(R->_child[0])) != 0)) + R = *(RP = CP); + if (rtcheck(ok_address(RP))) + *RP = 0; + else + SPP_ABORT; + } + } + if (XP != 0) + { + tbinptr* H = treebin_at(X->_index); + if (X == *H) + { + if ((*H = R) == 0) + clear_treemap(X->_index); + } + else if (rtcheck(ok_address(XP))) + { + if (XP->_child[0] == X) + XP->_child[0] = R; + else + XP->_child[1] = R; + } + else + SPP_ABORT; + if (R != 0) + { + if (rtcheck(ok_address(R))) + { + tchunkptr C0, C1; + R->_parent = XP; + if ((C0 = X->_child[0]) != 0) + { + if (rtcheck(ok_address(C0))) + { + R->_child[0] = C0; + C0->_parent = R; + } + else + SPP_ABORT; + } + if ((C1 = X->_child[1]) != 0) + { + if (rtcheck(ok_address(C1))) + { + R->_child[1] = C1; + C1->_parent = R; + } + else + SPP_ABORT; + } + } + else + SPP_ABORT; + } + } +} + +// Relays to large vs small bin operations + +void malloc_state::insert_chunk(mchunkptr p, size_t s) +{ + if (is_small(s)) + insert_small_chunk(p, s); + else + { + tchunkptr tp = (tchunkptr)(p); + insert_large_chunk(tp, s); + } +} + +void malloc_state::unlink_chunk(mchunkptr p, size_t s) +{ + if (is_small(s)) + unlink_small_chunk(p, s); + else + { + tchunkptr tp = (tchunkptr)(p); + unlink_large_chunk(tp); + } +} + + +/* ----------------------- Direct-mmapping chunks ----------------------- */ + +/* + Directly mmapped chunks are set up with an offset to the start of + the mmapped region stored in the prev_foot field of the chunk. This + allows reconstruction of the required argument to MUNMAP when freed, + and also allows adjustment of the returned chunk to meet alignment + requirements (especially in memalign). +*/ + +// Malloc using mmap +void* malloc_state::mmap_alloc(size_t nb) +{ + size_t mmsize = mmap_align(nb + 6 * sizeof(size_t) + spp_chunk_align_mask); + if (_footprint_limit != 0) + { + size_t fp = _footprint + mmsize; + if (fp <= _footprint || fp > _footprint_limit) + return 0; + } + if (mmsize > nb) + { + // Check for wrap around 0 + char* mm = (char*)(SPP_CALL_DIRECT_MMAP(mmsize)); + if (mm != cmfail) + { + size_t offset = align_offset(chunk2mem(mm)); + size_t psize = mmsize - offset - SPP_MMAP_FOOT_PAD; + mchunkptr p = (mchunkptr)(mm + offset); + p->_prev_foot = offset; + p->_head = psize; + mark_inuse_foot(p, psize); + p->chunk_plus_offset(psize)->_head = FENCEPOST_HEAD; + p->chunk_plus_offset(psize + sizeof(size_t))->_head = 0; + + if (_least_addr == 0 || mm < _least_addr) + _least_addr = mm; + if ((_footprint += mmsize) > _max_footprint) + _max_footprint = _footprint; + assert(spp_is_aligned(chunk2mem(p))); + check_mmapped_chunk(p); + return chunk2mem(p); + } + } + return 0; +} + +// Realloc using mmap +mchunkptr malloc_state::mmap_resize(mchunkptr oldp, size_t nb, int flags) +{ + size_t oldsize = oldp->chunksize(); + (void)flags; // placate people compiling -Wunused + if (is_small(nb)) // Can't shrink mmap regions below small size + return 0; + + // Keep old chunk if big enough but not too big + if (oldsize >= nb + sizeof(size_t) && + (oldsize - nb) <= (mparams._granularity << 1)) + return oldp; + else + { + size_t offset = oldp->_prev_foot; + size_t oldmmsize = oldsize + offset + SPP_MMAP_FOOT_PAD; + size_t newmmsize = mmap_align(nb + 6 * sizeof(size_t) + spp_chunk_align_mask); + char* cp = (char*)SPP_CALL_MREMAP((char*)oldp - offset, + oldmmsize, newmmsize, flags); + if (cp != cmfail) + { + mchunkptr newp = (mchunkptr)(cp + offset); + size_t psize = newmmsize - offset - SPP_MMAP_FOOT_PAD; + newp->_head = psize; + mark_inuse_foot(newp, psize); + newp->chunk_plus_offset(psize)->_head = FENCEPOST_HEAD; + newp->chunk_plus_offset(psize + sizeof(size_t))->_head = 0; + + if (cp < _least_addr) + _least_addr = cp; + if ((_footprint += newmmsize - oldmmsize) > _max_footprint) + _max_footprint = _footprint; + check_mmapped_chunk(newp); + return newp; + } + } + return 0; +} + + +/* -------------------------- mspace management -------------------------- */ + +// Initialize top chunk and its size +void malloc_state::init_top(mchunkptr p, size_t psize) +{ + // Ensure alignment + size_t offset = align_offset(chunk2mem(p)); + p = (mchunkptr)((char*)p + offset); + psize -= offset; + + _top = p; + _topsize = psize; + p->_head = psize | PINUSE_BIT; + // set size of fake trailing chunk holding overhead space only once + p->chunk_plus_offset(psize)->_head = top_foot_size(); + _trim_check = mparams._trim_threshold; // reset on each update +} + +// Initialize bins for a new mstate that is otherwise zeroed out +void malloc_state::init_bins() +{ + // Establish circular links for smallbins + bindex_t i; + for (i = 0; i < NSMALLBINS; ++i) + { + sbinptr bin = smallbin_at(i); + bin->_fd = bin->_bk = bin; + } +} + +#if SPP_PROCEED_ON_ERROR + +// default corruption action +void malloc_state::reset_on_error() +{ + int i; + ++malloc_corruption_error_count; + // Reinitialize fields to forget about all memory + _smallmap = _treemap = 0; + _dvsize = _topsize = 0; + _seg._base = 0; + _seg._size = 0; + _seg._next = 0; + _top = _dv = 0; + for (i = 0; i < NTREEBINS; ++i) + *treebin_at(i) = 0; + init_bins(); +} +#endif + +/* Allocate chunk and prepend remainder with chunk in successor base. */ +void* malloc_state::prepend_alloc(char* newbase, char* oldbase, size_t nb) +{ + mchunkptr p = align_as_chunk(newbase); + mchunkptr oldfirst = align_as_chunk(oldbase); + size_t psize = (char*)oldfirst - (char*)p; + mchunkptr q = (mchunkptr)p->chunk_plus_offset(nb); + size_t qsize = psize - nb; + set_size_and_pinuse_of_inuse_chunk(p, nb); + + assert((char*)oldfirst > (char*)q); + assert(oldfirst->pinuse()); + assert(qsize >= MIN_CHUNK_SIZE); + + // consolidate remainder with first chunk of old base + if (oldfirst == _top) + { + size_t tsize = _topsize += qsize; + _top = q; + q->_head = tsize | PINUSE_BIT; + check_top_chunk(q); + } + else if (oldfirst == _dv) + { + size_t dsize = _dvsize += qsize; + _dv = q; + q->set_size_and_pinuse_of_free_chunk(dsize); + } + else + { + if (!oldfirst->is_inuse()) + { + size_t nsize = oldfirst->chunksize(); + unlink_chunk(oldfirst, nsize); + oldfirst = (mchunkptr)oldfirst->chunk_plus_offset(nsize); + qsize += nsize; + } + q->set_free_with_pinuse(qsize, oldfirst); + insert_chunk(q, qsize); + check_free_chunk(q); + } + + check_malloced_chunk(chunk2mem(p), nb); + return chunk2mem(p); +} + +// Add a segment to hold a new noncontiguous region +void malloc_state::add_segment(char* tbase, size_t tsize, flag_t mmapped) +{ + // Determine locations and sizes of segment, fenceposts, old top + char* old_top = (char*)_top; + msegmentptr oldsp = segment_holding(old_top); + char* old_end = oldsp->_base + oldsp->_size; + size_t ssize = pad_request(sizeof(struct malloc_segment)); + char* rawsp = old_end - (ssize + 4 * sizeof(size_t) + spp_chunk_align_mask); + size_t offset = align_offset(chunk2mem(rawsp)); + char* asp = rawsp + offset; + char* csp = (asp < (old_top + MIN_CHUNK_SIZE)) ? old_top : asp; + mchunkptr sp = (mchunkptr)csp; + msegmentptr ss = (msegmentptr)(chunk2mem(sp)); + mchunkptr tnext = (mchunkptr)sp->chunk_plus_offset(ssize); + mchunkptr p = tnext; + int nfences = 0; + + // reset top to new space + init_top((mchunkptr)tbase, tsize - top_foot_size()); + + // Set up segment record + assert(spp_is_aligned(ss)); + set_size_and_pinuse_of_inuse_chunk(sp, ssize); + *ss = _seg; // Push current record + _seg._base = tbase; + _seg._size = tsize; + _seg._sflags = mmapped; + _seg._next = ss; + + // Insert trailing fenceposts + for (;;) + { + mchunkptr nextp = (mchunkptr)p->chunk_plus_offset(sizeof(size_t)); + p->_head = FENCEPOST_HEAD; + ++nfences; + if ((char*)(&(nextp->_head)) < old_end) + p = nextp; + else + break; + } + assert(nfences >= 2); + + // Insert the rest of old top into a bin as an ordinary free chunk + if (csp != old_top) + { + mchunkptr q = (mchunkptr)old_top; + size_t psize = csp - old_top; + mchunkptr tn = (mchunkptr)q->chunk_plus_offset(psize); + q->set_free_with_pinuse(psize, tn); + insert_chunk(q, psize); + } + + check_top_chunk(_top); +} + +/* -------------------------- System allocation -------------------------- */ + +// Get memory from system using MMAP +void* malloc_state::sys_alloc(size_t nb) +{ + char* tbase = cmfail; + size_t tsize = 0; + flag_t mmap_flag = 0; + size_t asize; // allocation size + + mparams.ensure_initialization(); + + // Directly map large chunks, but only if already initialized + if (use_mmap() && nb >= mparams._mmap_threshold && _topsize != 0) + { + void* mem = mmap_alloc(nb); + if (mem != 0) + return mem; + } + + asize = mparams.granularity_align(nb + sys_alloc_padding()); + if (asize <= nb) + return 0; // wraparound + if (_footprint_limit != 0) + { + size_t fp = _footprint + asize; + if (fp <= _footprint || fp > _footprint_limit) + return 0; + } + + /* + Try getting memory with a call to MMAP new space (disabled if not SPP_HAVE_MMAP). + We need to request enough bytes from system to ensure + we can malloc nb bytes upon success, so pad with enough space for + top_foot, plus alignment-pad to make sure we don't lose bytes if + not on boundary, and round this up to a granularity unit. + */ + + if (SPP_HAVE_MMAP && tbase == cmfail) + { + // Try MMAP + char* mp = (char*)(SPP_CALL_MMAP(asize)); + if (mp != cmfail) + { + tbase = mp; + tsize = asize; + mmap_flag = USE_MMAP_BIT; + } + } + + if (tbase != cmfail) + { + + if ((_footprint += tsize) > _max_footprint) + _max_footprint = _footprint; + + if (!is_initialized()) + { + // first-time initialization + if (_least_addr == 0 || tbase < _least_addr) + _least_addr = tbase; + _seg._base = tbase; + _seg._size = tsize; + _seg._sflags = mmap_flag; + _magic = mparams._magic; + _release_checks = SPP_MAX_RELEASE_CHECK_RATE; + init_bins(); + + // Offset top by embedded malloc_state + mchunkptr mn = (mchunkptr)mem2chunk(this)->next_chunk(); + init_top(mn, (size_t)((tbase + tsize) - (char*)mn) - top_foot_size()); + } + + else + { + // Try to merge with an existing segment + msegmentptr sp = &_seg; + // Only consider most recent segment if traversal suppressed + while (sp != 0 && tbase != sp->_base + sp->_size) + sp = (SPP_NO_SEGMENT_TRAVERSAL) ? 0 : sp->_next; + if (sp != 0 && + !sp->is_extern_segment() && + (sp->_sflags & USE_MMAP_BIT) == mmap_flag && + segment_holds(sp, _top)) + { + // append + sp->_size += tsize; + init_top(_top, _topsize + tsize); + } + else + { + if (tbase < _least_addr) + _least_addr = tbase; + sp = &_seg; + while (sp != 0 && sp->_base != tbase + tsize) + sp = (SPP_NO_SEGMENT_TRAVERSAL) ? 0 : sp->_next; + if (sp != 0 && + !sp->is_extern_segment() && + (sp->_sflags & USE_MMAP_BIT) == mmap_flag) + { + char* oldbase = sp->_base; + sp->_base = tbase; + sp->_size += tsize; + return prepend_alloc(tbase, oldbase, nb); + } + else + add_segment(tbase, tsize, mmap_flag); + } + } + + if (nb < _topsize) + { + // Allocate from new or extended top space + size_t rsize = _topsize -= nb; + mchunkptr p = _top; + mchunkptr r = _top = (mchunkptr)p->chunk_plus_offset(nb); + r->_head = rsize | PINUSE_BIT; + set_size_and_pinuse_of_inuse_chunk(p, nb); + check_top_chunk(_top); + check_malloced_chunk(chunk2mem(p), nb); + return chunk2mem(p); + } + } + + SPP_MALLOC_FAILURE_ACTION; + return 0; +} + +/* ----------------------- system deallocation -------------------------- */ + +// Unmap and unlink any mmapped segments that don't contain used chunks +size_t malloc_state::release_unused_segments() +{ + size_t released = 0; + int nsegs = 0; + msegmentptr pred = &_seg; + msegmentptr sp = pred->_next; + while (sp != 0) + { + char* base = sp->_base; + size_t size = sp->_size; + msegmentptr next = sp->_next; + ++nsegs; + if (sp->is_mmapped_segment() && !sp->is_extern_segment()) + { + mchunkptr p = align_as_chunk(base); + size_t psize = p->chunksize(); + // Can unmap if first chunk holds entire segment and not pinned + if (!p->is_inuse() && (char*)p + psize >= base + size - top_foot_size()) + { + tchunkptr tp = (tchunkptr)p; + assert(segment_holds(sp, p)); + if (p == _dv) + { + _dv = 0; + _dvsize = 0; + } + else + unlink_large_chunk(tp); + if (SPP_CALL_MUNMAP(base, size) == 0) + { + released += size; + _footprint -= size; + // unlink obsoleted record + sp = pred; + sp->_next = next; + } + else + { + // back out if cannot unmap + insert_large_chunk(tp, psize); + } + } + } + if (SPP_NO_SEGMENT_TRAVERSAL) // scan only first segment + break; + pred = sp; + sp = next; + } + // Reset check counter + _release_checks = (((size_t) nsegs > (size_t) SPP_MAX_RELEASE_CHECK_RATE) ? + (size_t) nsegs : (size_t) SPP_MAX_RELEASE_CHECK_RATE); + return released; +} + +int malloc_state::sys_trim(size_t pad) +{ + size_t released = 0; + mparams.ensure_initialization(); + if (pad < MAX_REQUEST && is_initialized()) + { + pad += top_foot_size(); // ensure enough room for segment overhead + + if (_topsize > pad) + { + // Shrink top space in _granularity - size units, keeping at least one + size_t unit = mparams._granularity; + size_t extra = ((_topsize - pad + (unit - 1)) / unit - + 1) * unit; + msegmentptr sp = segment_holding((char*)_top); + + if (!sp->is_extern_segment()) + { + if (sp->is_mmapped_segment()) + { + if (SPP_HAVE_MMAP && + sp->_size >= extra && + !has_segment_link(sp)) + { + // can't shrink if pinned + size_t newsize = sp->_size - extra; + (void)newsize; // placate people compiling -Wunused-variable + // Prefer mremap, fall back to munmap + if ((SPP_CALL_MREMAP(sp->_base, sp->_size, newsize, 0) != mfail) || + (SPP_CALL_MUNMAP(sp->_base + newsize, extra) == 0)) + released = extra; + } + } + } + + if (released != 0) + { + sp->_size -= released; + _footprint -= released; + init_top(_top, _topsize - released); + check_top_chunk(_top); + } + } + + // Unmap any unused mmapped segments + if (SPP_HAVE_MMAP) + released += release_unused_segments(); + + // On failure, disable autotrim to avoid repeated failed future calls + if (released == 0 && _topsize > _trim_check) + _trim_check = spp_max_size_t; + } + + return (released != 0) ? 1 : 0; +} + +/* Consolidate and bin a chunk. Differs from exported versions + of free mainly in that the chunk need not be marked as inuse. +*/ +void malloc_state::dispose_chunk(mchunkptr p, size_t psize) +{ + mchunkptr next = (mchunkptr)p->chunk_plus_offset(psize); + if (!p->pinuse()) + { + mchunkptr prev; + size_t prevsize = p->_prev_foot; + if (p->is_mmapped()) + { + psize += prevsize + SPP_MMAP_FOOT_PAD; + if (SPP_CALL_MUNMAP((char*)p - prevsize, psize) == 0) + _footprint -= psize; + return; + } + prev = (mchunkptr)p->chunk_minus_offset(prevsize); + psize += prevsize; + p = prev; + if (rtcheck(ok_address(prev))) + { + // consolidate backward + if (p != _dv) + unlink_chunk(p, prevsize); + else if ((next->_head & INUSE_BITS) == INUSE_BITS) + { + _dvsize = psize; + p->set_free_with_pinuse(psize, next); + return; + } + } + else + { + SPP_ABORT; + return; + } + } + if (rtcheck(ok_address(next))) + { + if (!next->cinuse()) + { + // consolidate forward + if (next == _top) + { + size_t tsize = _topsize += psize; + _top = p; + p->_head = tsize | PINUSE_BIT; + if (p == _dv) + { + _dv = 0; + _dvsize = 0; + } + return; + } + else if (next == _dv) + { + size_t dsize = _dvsize += psize; + _dv = p; + p->set_size_and_pinuse_of_free_chunk(dsize); + return; + } + else + { + size_t nsize = next->chunksize(); + psize += nsize; + unlink_chunk(next, nsize); + p->set_size_and_pinuse_of_free_chunk(psize); + if (p == _dv) + { + _dvsize = psize; + return; + } + } + } + else + p->set_free_with_pinuse(psize, next); + insert_chunk(p, psize); + } + else + SPP_ABORT; +} + +/* ---------------------------- malloc --------------------------- */ + +// allocate a large request from the best fitting chunk in a treebin +void* malloc_state::tmalloc_large(size_t nb) +{ + tchunkptr v = 0; + size_t rsize = -nb; // Unsigned negation + tchunkptr t; + bindex_t idx = compute_tree_index(nb); + if ((t = *treebin_at(idx)) != 0) + { + // Traverse tree for this bin looking for node with size == nb + size_t sizebits = nb << leftshift_for_tree_index(idx); + tchunkptr rst = 0; // The deepest untaken right subtree + for (;;) + { + tchunkptr rt; + size_t trem = t->chunksize() - nb; + if (trem < rsize) + { + v = t; + if ((rsize = trem) == 0) + break; + } + rt = t->_child[1]; + t = t->_child[(sizebits >> (spp_size_t_bitsize - 1)) & 1]; + if (rt != 0 && rt != t) + rst = rt; + if (t == 0) + { + t = rst; // set t to least subtree holding sizes > nb + break; + } + sizebits <<= 1; + } + } + if (t == 0 && v == 0) + { + // set t to root of next non-empty treebin + binmap_t leftbits = left_bits(idx2bit(idx)) & _treemap; + if (leftbits != 0) + { + binmap_t leastbit = least_bit(leftbits); + bindex_t i = compute_bit2idx(leastbit); + t = *treebin_at(i); + } + } + + while (t != 0) + { + // find smallest of tree or subtree + size_t trem = t->chunksize() - nb; + if (trem < rsize) + { + rsize = trem; + v = t; + } + t = t->leftmost_child(); + } + + // If dv is a better fit, return 0 so malloc will use it + if (v != 0 && rsize < (size_t)(_dvsize - nb)) + { + if (rtcheck(ok_address(v))) + { + // split + mchunkptr r = (mchunkptr)v->chunk_plus_offset(nb); + assert(v->chunksize() == rsize + nb); + if (rtcheck(ok_next(v, r))) + { + unlink_large_chunk(v); + if (rsize < MIN_CHUNK_SIZE) + set_inuse_and_pinuse(v, (rsize + nb)); + else + { + set_size_and_pinuse_of_inuse_chunk(v, nb); + r->set_size_and_pinuse_of_free_chunk(rsize); + insert_chunk(r, rsize); + } + return chunk2mem(v); + } + } + SPP_ABORT; + } + return 0; +} + +// allocate a small request from the best fitting chunk in a treebin +void* malloc_state::tmalloc_small(size_t nb) +{ + tchunkptr t, v; + size_t rsize; + binmap_t leastbit = least_bit(_treemap); + bindex_t i = compute_bit2idx(leastbit); + v = t = *treebin_at(i); + rsize = t->chunksize() - nb; + + while ((t = t->leftmost_child()) != 0) + { + size_t trem = t->chunksize() - nb; + if (trem < rsize) + { + rsize = trem; + v = t; + } + } + + if (rtcheck(ok_address(v))) + { + mchunkptr r = (mchunkptr)v->chunk_plus_offset(nb); + assert(v->chunksize() == rsize + nb); + if (rtcheck(ok_next(v, r))) + { + unlink_large_chunk(v); + if (rsize < MIN_CHUNK_SIZE) + set_inuse_and_pinuse(v, (rsize + nb)); + else + { + set_size_and_pinuse_of_inuse_chunk(v, nb); + r->set_size_and_pinuse_of_free_chunk(rsize); + replace_dv(r, rsize); + } + return chunk2mem(v); + } + } + + SPP_ABORT; + return 0; +} + +/* ---------------------------- malloc --------------------------- */ + +void* malloc_state::_malloc(size_t bytes) +{ + if (1) + { + void* mem; + size_t nb; + if (bytes <= MAX_SMALL_REQUEST) + { + bindex_t idx; + binmap_t smallbits; + nb = (bytes < MIN_REQUEST) ? MIN_CHUNK_SIZE : pad_request(bytes); + idx = small_index(nb); + smallbits = _smallmap >> idx; + + if ((smallbits & 0x3U) != 0) + { + // Remainderless fit to a smallbin. + mchunkptr b, p; + idx += ~smallbits & 1; // Uses next bin if idx empty + b = smallbin_at(idx); + p = b->_fd; + assert(p->chunksize() == small_index2size(idx)); + unlink_first_small_chunk(b, p, idx); + set_inuse_and_pinuse(p, small_index2size(idx)); + mem = chunk2mem(p); + check_malloced_chunk(mem, nb); + goto postaction; + } + + else if (nb > _dvsize) + { + if (smallbits != 0) + { + // Use chunk in next nonempty smallbin + mchunkptr b, p, r; + size_t rsize; + binmap_t leftbits = (smallbits << idx) & left_bits(malloc_state::idx2bit(idx)); + binmap_t leastbit = least_bit(leftbits); + bindex_t i = compute_bit2idx(leastbit); + b = smallbin_at(i); + p = b->_fd; + assert(p->chunksize() == small_index2size(i)); + unlink_first_small_chunk(b, p, i); + rsize = small_index2size(i) - nb; + // Fit here cannot be remainderless if 4byte sizes + if (sizeof(size_t) != 4 && rsize < MIN_CHUNK_SIZE) + set_inuse_and_pinuse(p, small_index2size(i)); + else + { + set_size_and_pinuse_of_inuse_chunk(p, nb); + r = (mchunkptr)p->chunk_plus_offset(nb); + r->set_size_and_pinuse_of_free_chunk(rsize); + replace_dv(r, rsize); + } + mem = chunk2mem(p); + check_malloced_chunk(mem, nb); + goto postaction; + } + + else if (_treemap != 0 && (mem = tmalloc_small(nb)) != 0) + { + check_malloced_chunk(mem, nb); + goto postaction; + } + } + } + else if (bytes >= MAX_REQUEST) + nb = spp_max_size_t; // Too big to allocate. Force failure (in sys alloc) + else + { + nb = pad_request(bytes); + if (_treemap != 0 && (mem = tmalloc_large(nb)) != 0) + { + check_malloced_chunk(mem, nb); + goto postaction; + } + } + + if (nb <= _dvsize) + { + size_t rsize = _dvsize - nb; + mchunkptr p = _dv; + if (rsize >= MIN_CHUNK_SIZE) + { + // split dv + mchunkptr r = _dv = (mchunkptr)p->chunk_plus_offset(nb); + _dvsize = rsize; + r->set_size_and_pinuse_of_free_chunk(rsize); + set_size_and_pinuse_of_inuse_chunk(p, nb); + } + else // exhaust dv + { + size_t dvs = _dvsize; + _dvsize = 0; + _dv = 0; + set_inuse_and_pinuse(p, dvs); + } + mem = chunk2mem(p); + check_malloced_chunk(mem, nb); + goto postaction; + } + + else if (nb < _topsize) + { + // Split top + size_t rsize = _topsize -= nb; + mchunkptr p = _top; + mchunkptr r = _top = (mchunkptr)p->chunk_plus_offset(nb); + r->_head = rsize | PINUSE_BIT; + set_size_and_pinuse_of_inuse_chunk(p, nb); + mem = chunk2mem(p); + check_top_chunk(_top); + check_malloced_chunk(mem, nb); + goto postaction; + } + + mem = sys_alloc(nb); + +postaction: + return mem; + } + + return 0; +} + +/* ---------------------------- free --------------------------- */ + +void malloc_state::_free(mchunkptr p) +{ + if (1) + { + check_inuse_chunk(p); + if (rtcheck(ok_address(p) && ok_inuse(p))) + { + size_t psize = p->chunksize(); + mchunkptr next = (mchunkptr)p->chunk_plus_offset(psize); + if (!p->pinuse()) + { + size_t prevsize = p->_prev_foot; + if (p->is_mmapped()) + { + psize += prevsize + SPP_MMAP_FOOT_PAD; + if (SPP_CALL_MUNMAP((char*)p - prevsize, psize) == 0) + _footprint -= psize; + goto postaction; + } + else + { + mchunkptr prev = (mchunkptr)p->chunk_minus_offset(prevsize); + psize += prevsize; + p = prev; + if (rtcheck(ok_address(prev))) + { + // consolidate backward + if (p != _dv) + unlink_chunk(p, prevsize); + else if ((next->_head & INUSE_BITS) == INUSE_BITS) + { + _dvsize = psize; + p->set_free_with_pinuse(psize, next); + goto postaction; + } + } + else + goto erroraction; + } + } + + if (rtcheck(ok_next(p, next) && ok_pinuse(next))) + { + if (!next->cinuse()) + { + // consolidate forward + if (next == _top) + { + size_t tsize = _topsize += psize; + _top = p; + p->_head = tsize | PINUSE_BIT; + if (p == _dv) + { + _dv = 0; + _dvsize = 0; + } + if (should_trim(tsize)) + sys_trim(0); + goto postaction; + } + else if (next == _dv) + { + size_t dsize = _dvsize += psize; + _dv = p; + p->set_size_and_pinuse_of_free_chunk(dsize); + goto postaction; + } + else + { + size_t nsize = next->chunksize(); + psize += nsize; + unlink_chunk(next, nsize); + p->set_size_and_pinuse_of_free_chunk(psize); + if (p == _dv) + { + _dvsize = psize; + goto postaction; + } + } + } + else + p->set_free_with_pinuse(psize, next); + + if (is_small(psize)) + { + insert_small_chunk(p, psize); + check_free_chunk(p); + } + else + { + tchunkptr tp = (tchunkptr)p; + insert_large_chunk(tp, psize); + check_free_chunk(p); + if (--_release_checks == 0) + release_unused_segments(); + } + goto postaction; + } + } +erroraction: + SPP_USAGE_ERROR_ACTION(this, p); +postaction: + ; + } +} + +/* ------------ Internal support for realloc, memalign, etc -------------- */ + +// Try to realloc; only in-place unless can_move true +mchunkptr malloc_state::try_realloc_chunk(mchunkptr p, size_t nb, int can_move) +{ + mchunkptr newp = 0; + size_t oldsize = p->chunksize(); + mchunkptr next = (mchunkptr)p->chunk_plus_offset(oldsize); + if (rtcheck(ok_address(p) && ok_inuse(p) && + ok_next(p, next) && ok_pinuse(next))) + { + if (p->is_mmapped()) + newp = mmap_resize(p, nb, can_move); + else if (oldsize >= nb) + { + // already big enough + size_t rsize = oldsize - nb; + if (rsize >= MIN_CHUNK_SIZE) + { + // split off remainder + mchunkptr r = (mchunkptr)p->chunk_plus_offset(nb); + set_inuse(p, nb); + set_inuse(r, rsize); + dispose_chunk(r, rsize); + } + newp = p; + } + else if (next == _top) + { + // extend into top + if (oldsize + _topsize > nb) + { + size_t newsize = oldsize + _topsize; + size_t newtopsize = newsize - nb; + mchunkptr newtop = (mchunkptr)p->chunk_plus_offset(nb); + set_inuse(p, nb); + newtop->_head = newtopsize | PINUSE_BIT; + _top = newtop; + _topsize = newtopsize; + newp = p; + } + } + else if (next == _dv) + { + // extend into dv + size_t dvs = _dvsize; + if (oldsize + dvs >= nb) + { + size_t dsize = oldsize + dvs - nb; + if (dsize >= MIN_CHUNK_SIZE) + { + mchunkptr r = (mchunkptr)p->chunk_plus_offset(nb); + mchunkptr n = (mchunkptr)r->chunk_plus_offset(dsize); + set_inuse(p, nb); + r->set_size_and_pinuse_of_free_chunk(dsize); + n->clear_pinuse(); + _dvsize = dsize; + _dv = r; + } + else + { + // exhaust dv + size_t newsize = oldsize + dvs; + set_inuse(p, newsize); + _dvsize = 0; + _dv = 0; + } + newp = p; + } + } + else if (!next->cinuse()) + { + // extend into next free chunk + size_t nextsize = next->chunksize(); + if (oldsize + nextsize >= nb) + { + size_t rsize = oldsize + nextsize - nb; + unlink_chunk(next, nextsize); + if (rsize < MIN_CHUNK_SIZE) + { + size_t newsize = oldsize + nextsize; + set_inuse(p, newsize); + } + else + { + mchunkptr r = (mchunkptr)p->chunk_plus_offset(nb); + set_inuse(p, nb); + set_inuse(r, rsize); + dispose_chunk(r, rsize); + } + newp = p; + } + } + } + else + SPP_USAGE_ERROR_ACTION(m, chunk2mem(p)); + return newp; +} + +void* malloc_state::internal_memalign(size_t alignment, size_t bytes) +{ + void* mem = 0; + if (alignment < MIN_CHUNK_SIZE) // must be at least a minimum chunk size + alignment = MIN_CHUNK_SIZE; + if ((alignment & (alignment - 1)) != 0) + { + // Ensure a power of 2 + size_t a = SPP_MALLOC_ALIGNMENT << 1; + while (a < alignment) + a <<= 1; + alignment = a; + } + if (bytes >= MAX_REQUEST - alignment) + SPP_MALLOC_FAILURE_ACTION; + else + { + size_t nb = request2size(bytes); + size_t req = nb + alignment + MIN_CHUNK_SIZE - CHUNK_OVERHEAD; + mem = internal_malloc(req); + if (mem != 0) + { + mchunkptr p = mem2chunk(mem); + if ((((size_t)(mem)) & (alignment - 1)) != 0) + { + // misaligned + /* + Find an aligned spot inside chunk. Since we need to give + back leading space in a chunk of at least MIN_CHUNK_SIZE, if + the first calculation places us at a spot with less than + MIN_CHUNK_SIZE leader, we can move to the next aligned spot. + We've allocated enough total room so that this is always + possible. + */ + char* br = (char*)mem2chunk((void *)(((size_t)((char*)mem + alignment - 1)) & + -alignment)); + char* pos = ((size_t)(br - (char*)(p)) >= MIN_CHUNK_SIZE) ? + br : br + alignment; + mchunkptr newp = (mchunkptr)pos; + size_t leadsize = pos - (char*)(p); + size_t newsize = p->chunksize() - leadsize; + + if (p->is_mmapped()) + { + // For mmapped chunks, just adjust offset + newp->_prev_foot = p->_prev_foot + leadsize; + newp->_head = newsize; + } + else + { + // Otherwise, give back leader, use the rest + set_inuse(newp, newsize); + set_inuse(p, leadsize); + dispose_chunk(p, leadsize); + } + p = newp; + } + + // Give back spare room at the end + if (!p->is_mmapped()) + { + size_t size = p->chunksize(); + if (size > nb + MIN_CHUNK_SIZE) + { + size_t remainder_size = size - nb; + mchunkptr remainder = (mchunkptr)p->chunk_plus_offset(nb); + set_inuse(p, nb); + set_inuse(remainder, remainder_size); + dispose_chunk(remainder, remainder_size); + } + } + + mem = chunk2mem(p); + assert(p->chunksize() >= nb); + assert(((size_t)mem & (alignment - 1)) == 0); + check_inuse_chunk(p); + } + } + return mem; +} + +/* + Common support for independent_X routines, handling + all of the combinations that can result. + The opts arg has: + bit 0 set if all elements are same size (using sizes[0]) + bit 1 set if elements should be zeroed +*/ +void** malloc_state::ialloc(size_t n_elements, size_t* sizes, int opts, + void* chunks[]) +{ + + size_t element_size; // chunksize of each element, if all same + size_t contents_size; // total size of elements + size_t array_size; // request size of pointer array + void* mem; // malloced aggregate space + mchunkptr p; // corresponding chunk + size_t remainder_size; // remaining bytes while splitting + void** marray; // either "chunks" or malloced ptr array + mchunkptr array_chunk; // chunk for malloced ptr array + flag_t was_enabled; // to disable mmap + size_t size; + size_t i; + + mparams.ensure_initialization(); + // compute array length, if needed + if (chunks != 0) + { + if (n_elements == 0) + return chunks; // nothing to do + marray = chunks; + array_size = 0; + } + else + { + // if empty req, must still return chunk representing empty array + if (n_elements == 0) + return (void**)internal_malloc(0); + marray = 0; + array_size = request2size(n_elements * (sizeof(void*))); + } + + // compute total element size + if (opts & 0x1) + { + // all-same-size + element_size = request2size(*sizes); + contents_size = n_elements * element_size; + } + else + { + // add up all the sizes + element_size = 0; + contents_size = 0; + for (i = 0; i != n_elements; ++i) + contents_size += request2size(sizes[i]); + } + + size = contents_size + array_size; + + /* + Allocate the aggregate chunk. First disable direct-mmapping so + malloc won't use it, since we would not be able to later + free/realloc space internal to a segregated mmap region. + */ + was_enabled = use_mmap(); + disable_mmap(); + mem = internal_malloc(size - CHUNK_OVERHEAD); + if (was_enabled) + enable_mmap(); + if (mem == 0) + return 0; + + p = mem2chunk(mem); + remainder_size = p->chunksize(); + + assert(!p->is_mmapped()); + + if (opts & 0x2) + { + // optionally clear the elements + memset((size_t*)mem, 0, remainder_size - sizeof(size_t) - array_size); + } + + // If not provided, allocate the pointer array as final part of chunk + if (marray == 0) + { + size_t array_chunk_size; + array_chunk = (mchunkptr)p->chunk_plus_offset(contents_size); + array_chunk_size = remainder_size - contents_size; + marray = (void**)(chunk2mem(array_chunk)); + set_size_and_pinuse_of_inuse_chunk(array_chunk, array_chunk_size); + remainder_size = contents_size; + } + + // split out elements + for (i = 0; ; ++i) + { + marray[i] = chunk2mem(p); + if (i != n_elements - 1) + { + if (element_size != 0) + size = element_size; + else + size = request2size(sizes[i]); + remainder_size -= size; + set_size_and_pinuse_of_inuse_chunk(p, size); + p = (mchunkptr)p->chunk_plus_offset(size); + } + else + { + // the final element absorbs any overallocation slop + set_size_and_pinuse_of_inuse_chunk(p, remainder_size); + break; + } + } + +#if SPP_DEBUG + if (marray != chunks) + { + // final element must have exactly exhausted chunk + if (element_size != 0) + assert(remainder_size == element_size); + else + assert(remainder_size == request2size(sizes[i])); + check_inuse_chunk(mem2chunk(marray)); + } + for (i = 0; i != n_elements; ++i) + check_inuse_chunk(mem2chunk(marray[i])); + +#endif + + return marray; +} + +/* Try to free all pointers in the given array. + Note: this could be made faster, by delaying consolidation, + at the price of disabling some user integrity checks, We + still optimize some consolidations by combining adjacent + chunks before freeing, which will occur often if allocated + with ialloc or the array is sorted. +*/ +size_t malloc_state::internal_bulk_free(void* array[], size_t nelem) +{ + size_t unfreed = 0; + if (1) + { + void** a; + void** fence = &(array[nelem]); + for (a = array; a != fence; ++a) + { + void* mem = *a; + if (mem != 0) + { + mchunkptr p = mem2chunk(mem); + size_t psize = p->chunksize(); +#if SPP_FOOTERS + if (get_mstate_for(p) != m) + { + ++unfreed; + continue; + } +#endif + check_inuse_chunk(p); + *a = 0; + if (rtcheck(ok_address(p) && ok_inuse(p))) + { + void ** b = a + 1; // try to merge with next chunk + mchunkptr next = (mchunkptr)p->next_chunk(); + if (b != fence && *b == chunk2mem(next)) + { + size_t newsize = next->chunksize() + psize; + set_inuse(p, newsize); + *b = chunk2mem(p); + } + else + dispose_chunk(p, psize); + } + else + { + SPP_ABORT; + break; + } + } + } + if (should_trim(_topsize)) + sys_trim(0); + } + return unfreed; +} + +void malloc_state::init(char* tbase, size_t tsize) +{ + _seg._base = _least_addr = tbase; + _seg._size = _footprint = _max_footprint = tsize; + _magic = mparams._magic; + _release_checks = SPP_MAX_RELEASE_CHECK_RATE; + _mflags = mparams._default_mflags; + _extp = 0; + _exts = 0; + disable_contiguous(); + init_bins(); + mchunkptr mn = (mchunkptr)mem2chunk(this)->next_chunk(); + init_top(mn, (size_t)((tbase + tsize) - (char*)mn) - top_foot_size()); + check_top_chunk(_top); +} + +/* Traversal */ +#if SPP_MALLOC_INSPECT_ALL +void malloc_state::internal_inspect_all(void(*handler)(void *start, void *end, + size_t used_bytes, + void* callback_arg), + void* arg) +{ + if (is_initialized()) + { + mchunkptr top = top; + msegmentptr s; + for (s = &seg; s != 0; s = s->next) + { + mchunkptr q = align_as_chunk(s->base); + while (segment_holds(s, q) && q->head != FENCEPOST_HEAD) + { + mchunkptr next = (mchunkptr)q->next_chunk(); + size_t sz = q->chunksize(); + size_t used; + void* start; + if (q->is_inuse()) + { + used = sz - CHUNK_OVERHEAD; // must not be mmapped + start = chunk2mem(q); + } + else + { + used = 0; + if (is_small(sz)) + { + // offset by possible bookkeeping + start = (void*)((char*)q + sizeof(struct malloc_chunk)); + } + else + start = (void*)((char*)q + sizeof(struct malloc_tree_chunk)); + } + if (start < (void*)next) // skip if all space is bookkeeping + handler(start, next, used, arg); + if (q == top) + break; + q = next; + } + } + } +} +#endif // SPP_MALLOC_INSPECT_ALL + + + +/* ----------------------------- user mspaces ---------------------------- */ + +static mstate init_user_mstate(char* tbase, size_t tsize) +{ + size_t msize = pad_request(sizeof(malloc_state)); + mchunkptr msp = align_as_chunk(tbase); + mstate m = (mstate)(chunk2mem(msp)); + memset(m, 0, msize); + msp->_head = (msize | INUSE_BITS); + m->init(tbase, tsize); + return m; +} + +SPP_API mspace create_mspace(size_t capacity, int locked) +{ + mstate m = 0; + size_t msize; + mparams.ensure_initialization(); + msize = pad_request(sizeof(malloc_state)); + if (capacity < (size_t) - (msize + top_foot_size() + mparams._page_size)) + { + size_t rs = ((capacity == 0) ? mparams._granularity : + (capacity + top_foot_size() + msize)); + size_t tsize = mparams.granularity_align(rs); + char* tbase = (char*)(SPP_CALL_MMAP(tsize)); + if (tbase != cmfail) + { + m = init_user_mstate(tbase, tsize); + m->_seg._sflags = USE_MMAP_BIT; + m->set_lock(locked); + } + } + return (mspace)m; +} + +SPP_API size_t destroy_mspace(mspace msp) +{ + size_t freed = 0; + mstate ms = (mstate)msp; + if (ms->ok_magic()) + { + msegmentptr sp = &ms->_seg; + while (sp != 0) + { + char* base = sp->_base; + size_t size = sp->_size; + flag_t flag = sp->_sflags; + (void)base; // placate people compiling -Wunused-variable + sp = sp->_next; + if ((flag & USE_MMAP_BIT) && !(flag & EXTERN_BIT) && + SPP_CALL_MUNMAP(base, size) == 0) + freed += size; + } + } + else + SPP_USAGE_ERROR_ACTION(ms, ms); + return freed; +} + +/* ---------------------------- mspace versions of malloc/calloc/free routines -------------------- */ +SPP_API void* mspace_malloc(mspace msp, size_t bytes) +{ + mstate ms = (mstate)msp; + if (!ms->ok_magic()) + { + SPP_USAGE_ERROR_ACTION(ms, ms); + return 0; + } + return ms->_malloc(bytes); +} + +SPP_API void mspace_free(mspace msp, void* mem) +{ + if (mem != 0) + { + mchunkptr p = mem2chunk(mem); +#if SPP_FOOTERS + mstate fm = get_mstate_for(p); + (void)msp; // placate people compiling -Wunused +#else + mstate fm = (mstate)msp; +#endif + if (!fm->ok_magic()) + { + SPP_USAGE_ERROR_ACTION(fm, p); + return; + } + fm->_free(p); + } +} + +SPP_API void* mspace_calloc(mspace msp, size_t n_elements, size_t elem_size) +{ + void* mem; + size_t req = 0; + mstate ms = (mstate)msp; + if (!ms->ok_magic()) + { + SPP_USAGE_ERROR_ACTION(ms, ms); + return 0; + } + if (n_elements != 0) + { + req = n_elements * elem_size; + if (((n_elements | elem_size) & ~(size_t)0xffff) && + (req / n_elements != elem_size)) + req = spp_max_size_t; // force downstream failure on overflow + } + mem = ms->internal_malloc(req); + if (mem != 0 && mem2chunk(mem)->calloc_must_clear()) + memset(mem, 0, req); + return mem; +} + +SPP_API void* mspace_realloc(mspace msp, void* oldmem, size_t bytes) +{ + void* mem = 0; + if (oldmem == 0) + mem = mspace_malloc(msp, bytes); + else if (bytes >= MAX_REQUEST) + SPP_MALLOC_FAILURE_ACTION; +#ifdef REALLOC_ZERO_BYTES_FREES + else if (bytes == 0) + mspace_free(msp, oldmem); +#endif + else + { + size_t nb = request2size(bytes); + mchunkptr oldp = mem2chunk(oldmem); +#if ! SPP_FOOTERS + mstate m = (mstate)msp; +#else + mstate m = get_mstate_for(oldp); + if (!m->ok_magic()) + { + SPP_USAGE_ERROR_ACTION(m, oldmem); + return 0; + } +#endif + if (1) + { + mchunkptr newp = m->try_realloc_chunk(oldp, nb, 1); + if (newp != 0) + { + m->check_inuse_chunk(newp); + mem = chunk2mem(newp); + } + else + { + mem = mspace_malloc(m, bytes); + if (mem != 0) + { + size_t oc = oldp->chunksize() - oldp->overhead_for(); + memcpy(mem, oldmem, (oc < bytes) ? oc : bytes); + mspace_free(m, oldmem); + } + } + } + } + return mem; +} + +#if 0 + +SPP_API mspace create_mspace_with_base(void* base, size_t capacity, int locked) +{ + mstate m = 0; + size_t msize; + mparams.ensure_initialization(); + msize = pad_request(sizeof(malloc_state)); + if (capacity > msize + top_foot_size() && + capacity < (size_t) - (msize + top_foot_size() + mparams._page_size)) + { + m = init_user_mstate((char*)base, capacity); + m->_seg._sflags = EXTERN_BIT; + m->set_lock(locked); + } + return (mspace)m; +} + +SPP_API int mspace_track_large_chunks(mspace msp, int enable) +{ + int ret = 0; + mstate ms = (mstate)msp; + if (1) + { + if (!ms->use_mmap()) + ret = 1; + if (!enable) + ms->enable_mmap(); + else + ms->disable_mmap(); + } + return ret; +} + +SPP_API void* mspace_realloc_in_place(mspace msp, void* oldmem, size_t bytes) +{ + void* mem = 0; + if (oldmem != 0) + { + if (bytes >= MAX_REQUEST) + SPP_MALLOC_FAILURE_ACTION; + else + { + size_t nb = request2size(bytes); + mchunkptr oldp = mem2chunk(oldmem); +#if ! SPP_FOOTERS + mstate m = (mstate)msp; +#else + mstate m = get_mstate_for(oldp); + (void)msp; // placate people compiling -Wunused + if (!m->ok_magic()) + { + SPP_USAGE_ERROR_ACTION(m, oldmem); + return 0; + } +#endif + if (1) + { + mchunkptr newp = m->try_realloc_chunk(oldp, nb, 0); + if (newp == oldp) + { + m->check_inuse_chunk(newp); + mem = oldmem; + } + } + } + } + return mem; +} + +SPP_API void* mspace_memalign(mspace msp, size_t alignment, size_t bytes) +{ + mstate ms = (mstate)msp; + if (!ms->ok_magic()) + { + SPP_USAGE_ERROR_ACTION(ms, ms); + return 0; + } + if (alignment <= SPP_MALLOC_ALIGNMENT) + return mspace_malloc(msp, bytes); + return ms->internal_memalign(alignment, bytes); +} + +SPP_API void** mspace_independent_calloc(mspace msp, size_t n_elements, + size_t elem_size, void* chunks[]) +{ + size_t sz = elem_size; // serves as 1-element array + mstate ms = (mstate)msp; + if (!ms->ok_magic()) + { + SPP_USAGE_ERROR_ACTION(ms, ms); + return 0; + } + return ms->ialloc(n_elements, &sz, 3, chunks); +} + +SPP_API void** mspace_independent_comalloc(mspace msp, size_t n_elements, + size_t sizes[], void* chunks[]) +{ + mstate ms = (mstate)msp; + if (!ms->ok_magic()) + { + SPP_USAGE_ERROR_ACTION(ms, ms); + return 0; + } + return ms->ialloc(n_elements, sizes, 0, chunks); +} + +#endif + +SPP_API size_t mspace_bulk_free(mspace msp, void* array[], size_t nelem) +{ + return ((mstate)msp)->internal_bulk_free(array, nelem); +} + +#if SPP_MALLOC_INSPECT_ALL +SPP_API void mspace_inspect_all(mspace msp, + void(*handler)(void *start, + void *end, + size_t used_bytes, + void* callback_arg), + void* arg) +{ + mstate ms = (mstate)msp; + if (ms->ok_magic()) + internal_inspect_all(ms, handler, arg); + else + SPP_USAGE_ERROR_ACTION(ms, ms); +} +#endif + +SPP_API int mspace_trim(mspace msp, size_t pad) +{ + int result = 0; + mstate ms = (mstate)msp; + if (ms->ok_magic()) + result = ms->sys_trim(pad); + else + SPP_USAGE_ERROR_ACTION(ms, ms); + return result; +} + +SPP_API size_t mspace_footprint(mspace msp) +{ + size_t result = 0; + mstate ms = (mstate)msp; + if (ms->ok_magic()) + result = ms->_footprint; + else + SPP_USAGE_ERROR_ACTION(ms, ms); + return result; +} + +SPP_API size_t mspace_max_footprint(mspace msp) +{ + size_t result = 0; + mstate ms = (mstate)msp; + if (ms->ok_magic()) + result = ms->_max_footprint; + else + SPP_USAGE_ERROR_ACTION(ms, ms); + return result; +} + +SPP_API size_t mspace_footprint_limit(mspace msp) +{ + size_t result = 0; + mstate ms = (mstate)msp; + if (ms->ok_magic()) + { + size_t maf = ms->_footprint_limit; + result = (maf == 0) ? spp_max_size_t : maf; + } + else + SPP_USAGE_ERROR_ACTION(ms, ms); + return result; +} + +SPP_API size_t mspace_set_footprint_limit(mspace msp, size_t bytes) +{ + size_t result = 0; + mstate ms = (mstate)msp; + if (ms->ok_magic()) + { + if (bytes == 0) + result = mparams.granularity_align(1); // Use minimal size + if (bytes == spp_max_size_t) + result = 0; // disable + else + result = mparams.granularity_align(bytes); + ms->_footprint_limit = result; + } + else + SPP_USAGE_ERROR_ACTION(ms, ms); + return result; +} + +SPP_API size_t mspace_usable_size(const void* mem) +{ + if (mem != 0) + { + mchunkptr p = mem2chunk(mem); + if (p->is_inuse()) + return p->chunksize() - p->overhead_for(); + } + return 0; +} + +SPP_API int mspace_mallopt(int param_number, int value) +{ + return mparams.change(param_number, value); +} + +} // spp_ namespace + + +#endif // SPP_EXCLUDE_IMPLEMENTATION + +#endif // spp_dlalloc__h_ diff --git a/Sourcecode/mx/sparsepp/spp_memory.h b/Sourcecode/mx/sparsepp/spp_memory.h new file mode 100755 index 000000000..cfaa108de --- /dev/null +++ b/Sourcecode/mx/sparsepp/spp_memory.h @@ -0,0 +1,190 @@ +#if !defined(spp_memory_h_guard) +#define spp_memory_h_guard + +#include +#include +#include + +#if defined(_WIN32) || defined( __CYGWIN__) + #define SPP_WIN +#endif + +#ifdef SPP_WIN + #include + #include + #undef min + #undef max +#elif defined(__linux__) + #include + #include +#elif defined(__FreeBSD__) + #include + #include + #include + #include + #include + #include +#endif + +namespace spp +{ + uint64_t GetSystemMemory() + { +#ifdef SPP_WIN + MEMORYSTATUSEX memInfo; + memInfo.dwLength = sizeof(MEMORYSTATUSEX); + GlobalMemoryStatusEx(&memInfo); + return static_cast(memInfo.ullTotalPageFile); +#elif defined(__linux__) + struct sysinfo memInfo; + sysinfo (&memInfo); + auto totalVirtualMem = memInfo.totalram; + + totalVirtualMem += memInfo.totalswap; + totalVirtualMem *= memInfo.mem_unit; + return static_cast(totalVirtualMem); +#elif defined(__FreeBSD__) + kvm_t *kd; + u_int pageCnt; + size_t pageCntLen = sizeof(pageCnt); + u_int pageSize; + struct kvm_swap kswap; + uint64_t totalVirtualMem; + + pageSize = static_cast(getpagesize()); + + sysctlbyname("vm.stats.vm.v_page_count", &pageCnt, &pageCntLen, NULL, 0); + totalVirtualMem = pageCnt * pageSize; + + kd = kvm_open(NULL, _PATH_DEVNULL, NULL, O_RDONLY, "kvm_open"); + kvm_getswapinfo(kd, &kswap, 1, 0); + kvm_close(kd); + totalVirtualMem += kswap.ksw_total * pageSize; + + return totalVirtualMem; +#else + return 0; +#endif + } + + uint64_t GetTotalMemoryUsed() + { +#ifdef SPP_WIN + MEMORYSTATUSEX memInfo; + memInfo.dwLength = sizeof(MEMORYSTATUSEX); + GlobalMemoryStatusEx(&memInfo); + return static_cast(memInfo.ullTotalPageFile - memInfo.ullAvailPageFile); +#elif defined(__linux__) + struct sysinfo memInfo; + sysinfo(&memInfo); + auto virtualMemUsed = memInfo.totalram - memInfo.freeram; + + virtualMemUsed += memInfo.totalswap - memInfo.freeswap; + virtualMemUsed *= memInfo.mem_unit; + + return static_cast(virtualMemUsed); +#elif defined(__FreeBSD__) + kvm_t *kd; + u_int pageSize; + u_int pageCnt, freeCnt; + size_t pageCntLen = sizeof(pageCnt); + size_t freeCntLen = sizeof(freeCnt); + struct kvm_swap kswap; + uint64_t virtualMemUsed; + + pageSize = static_cast(getpagesize()); + + sysctlbyname("vm.stats.vm.v_page_count", &pageCnt, &pageCntLen, NULL, 0); + sysctlbyname("vm.stats.vm.v_free_count", &freeCnt, &freeCntLen, NULL, 0); + virtualMemUsed = (pageCnt - freeCnt) * pageSize; + + kd = kvm_open(NULL, _PATH_DEVNULL, NULL, O_RDONLY, "kvm_open"); + kvm_getswapinfo(kd, &kswap, 1, 0); + kvm_close(kd); + virtualMemUsed += kswap.ksw_used * pageSize; + + return virtualMemUsed; +#else + return 0; +#endif + } + + uint64_t GetProcessMemoryUsed() + { +#ifdef SPP_WIN + PROCESS_MEMORY_COUNTERS_EX pmc; + GetProcessMemoryInfo(GetCurrentProcess(), reinterpret_cast(&pmc), sizeof(pmc)); + return static_cast(pmc.PrivateUsage); +#elif defined(__linux__) + auto parseLine = + [](char* line)->int + { + auto i = strlen(line); + + while(*line < '0' || *line > '9') + { + line++; + } + + line[i-3] = '\0'; + i = atoi(line); + return i; + }; + + auto file = fopen("/proc/self/status", "r"); + auto result = -1; + char line[128]; + + while(fgets(line, 128, file) != nullptr) + { + if(strncmp(line, "VmSize:", 7) == 0) + { + result = parseLine(line); + break; + } + } + + fclose(file); + return static_cast(result) * 1024; +#elif defined(__FreeBSD__) + struct kinfo_proc info; + size_t infoLen = sizeof(info); + int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid() }; + + sysctl(mib, sizeof(mib) / sizeof(*mib), &info, &infoLen, NULL, 0); + return static_cast(info.ki_rssize * getpagesize()); +#else + return 0; +#endif + } + + uint64_t GetPhysicalMemory() + { +#ifdef SPP_WIN + MEMORYSTATUSEX memInfo; + memInfo.dwLength = sizeof(MEMORYSTATUSEX); + GlobalMemoryStatusEx(&memInfo); + return static_cast(memInfo.ullTotalPhys); +#elif defined(__linux__) + struct sysinfo memInfo; + sysinfo(&memInfo); + + auto totalPhysMem = memInfo.totalram; + + totalPhysMem *= memInfo.mem_unit; + return static_cast(totalPhysMem); +#elif defined(__FreeBSD__) + u_long physMem; + size_t physMemLen = sizeof(physMem); + int mib[] = { CTL_HW, HW_PHYSMEM }; + + sysctl(mib, sizeof(mib) / sizeof(*mib), &physMem, &physMemLen, NULL, 0); + return physMem; +#else + return 0; +#endif + } + +} + +#endif // spp_memory_h_guard diff --git a/Sourcecode/mx/sparsepp/spp_smartptr.h b/Sourcecode/mx/sparsepp/spp_smartptr.h new file mode 100755 index 000000000..38ab4ee98 --- /dev/null +++ b/Sourcecode/mx/sparsepp/spp_smartptr.h @@ -0,0 +1,76 @@ +#if !defined(spp_smartptr_h_guard) +#define spp_smartptr_h_guard + + +/* ----------------------------------------------------------------------------------------------- + * quick version of intrusive_ptr + * ----------------------------------------------------------------------------------------------- + */ + +#include +#include "spp_config.h" + +// ------------------------------------------------------------------------ +class spp_rc +{ +public: + spp_rc() : _cnt(0) {} + spp_rc(const spp_rc &) : _cnt(0) {} + void increment() const { ++_cnt; } + void decrement() const { assert(_cnt); if (--_cnt == 0) delete this; } + unsigned count() const { return _cnt; } + +protected: + virtual ~spp_rc() {} + +private: + mutable unsigned _cnt; +}; + +// ------------------------------------------------------------------------ +template +class spp_sptr +{ +public: + spp_sptr() : _p(0) {} + spp_sptr(T *p) : _p(p) { if (_p) _p->increment(); } + spp_sptr(const spp_sptr &o) : _p(o._p) { if (_p) _p->increment(); } +#ifndef SPP_NO_CXX11_RVALUE_REFERENCES + spp_sptr(spp_sptr &&o) : _p(o._p) { o._p = (T *)0; } + spp_sptr& operator=(spp_sptr &&o) + { + if (_p) _p->decrement(); + _p = o._p; + o._p = (T *)0; + } +#endif + ~spp_sptr() { if (_p) _p->decrement(); } + spp_sptr& operator=(const spp_sptr &o) { reset(o._p); return *this; } + T* get() const { return _p; } + void swap(spp_sptr &o) { T *tmp = _p; _p = o._p; o._p = tmp; } + void reset(const T *p = 0) + { + if (p == _p) + return; + if (_p) _p->decrement(); + _p = (T *)p; + if (_p) _p->increment(); + } + T* operator->() const { return const_cast(_p); } + bool operator!() const { return _p == 0; } + +private: + T *_p; +}; + +// ------------------------------------------------------------------------ +namespace std +{ + template + inline void swap(spp_sptr &a, spp_sptr &b) + { + a.swap(b); + } +} + +#endif // spp_smartptr_h_guard diff --git a/Sourcecode/mx/sparsepp/spp_stdint.h b/Sourcecode/mx/sparsepp/spp_stdint.h new file mode 100755 index 000000000..3adced9cf --- /dev/null +++ b/Sourcecode/mx/sparsepp/spp_stdint.h @@ -0,0 +1,16 @@ +#if !defined(spp_stdint_h_guard) +#define spp_stdint_h_guard + +#include "spp_config.h" + +#if defined(SPP_HAS_CSTDINT) && (__cplusplus >= 201103) + #include +#else + #if defined(__FreeBSD__) || defined(__IBMCPP__) || defined(_AIX) + #include + #else + #include + #endif +#endif + +#endif // spp_stdint_h_guard diff --git a/Sourcecode/mx/sparsepp/spp_timer.h b/Sourcecode/mx/sparsepp/spp_timer.h new file mode 100755 index 000000000..48180f4d0 --- /dev/null +++ b/Sourcecode/mx/sparsepp/spp_timer.h @@ -0,0 +1,58 @@ +/** + Copyright (c) 2016 Mariano Gonzalez + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + +#ifndef spp_timer_h_guard +#define spp_timer_h_guard + +#include + +namespace spp +{ + template + class Timer + { + public: + Timer() { reset(); } + void reset() { _start = _snap = clock::now(); } + void snap() { _snap = clock::now(); } + + float get_total() const { return get_diff(_start, clock::now()); } + float get_delta() const { return get_diff(_snap, clock::now()); } + + private: + using clock = std::chrono::high_resolution_clock; + using point = std::chrono::time_point; + + template + static T get_diff(const point& start, const point& end) + { + using duration_t = std::chrono::duration; + + return std::chrono::duration_cast(end - start).count(); + } + + point _start; + point _snap; + }; +} + +#endif // spp_timer_h_guard diff --git a/Sourcecode/mx/sparsepp/spp_traits.h b/Sourcecode/mx/sparsepp/spp_traits.h new file mode 100755 index 000000000..792f52f2f --- /dev/null +++ b/Sourcecode/mx/sparsepp/spp_traits.h @@ -0,0 +1,125 @@ +#if !defined(spp_traits_h_guard) +#define spp_traits_h_guard + +#include "spp_config.h" + +template class HashObject; // for Google's benchmark, not in spp namespace! + +namespace spp_ +{ + +// --------------------------------------------------------------------------- +// type_traits we need +// --------------------------------------------------------------------------- +template +struct integral_constant { static const T value = v; }; + +template const T integral_constant::value; + +typedef integral_constant true_type; +typedef integral_constant false_type; + +typedef integral_constant zero_type; +typedef integral_constant one_type; +typedef integral_constant two_type; +typedef integral_constant three_type; + +template struct is_same : public false_type { }; +template struct is_same : public true_type { }; + +template struct remove_const { typedef T type; }; +template struct remove_const { typedef T type; }; + +template struct remove_volatile { typedef T type; }; +template struct remove_volatile { typedef T type; }; + +template struct remove_cv +{ + typedef typename remove_const::type>::type type; +}; + +// ---------------- is_integral ---------------------------------------- +template struct is_integral; +template struct is_integral : false_type { }; +template<> struct is_integral : true_type { }; +template<> struct is_integral : true_type { }; +template<> struct is_integral : true_type { }; +template<> struct is_integral : true_type { }; +template<> struct is_integral : true_type { }; +template<> struct is_integral : true_type { }; +template<> struct is_integral : true_type { }; +template<> struct is_integral : true_type { }; +template<> struct is_integral : true_type { }; +template<> struct is_integral : true_type { }; +#ifdef SPP_HAS_LONG_LONG + template<> struct is_integral : true_type { }; + template<> struct is_integral : true_type { }; +#endif +template struct is_integral : is_integral { }; +template struct is_integral : is_integral { }; +template struct is_integral : is_integral { }; + +// ---------------- is_floating_point ---------------------------------------- +template struct is_floating_point; +template struct is_floating_point : false_type { }; +template<> struct is_floating_point : true_type { }; +template<> struct is_floating_point : true_type { }; +template<> struct is_floating_point : true_type { }; +template struct is_floating_point : is_floating_point { }; +template struct is_floating_point : is_floating_point { }; +template struct is_floating_point : is_floating_point { }; + +// ---------------- is_pointer ---------------------------------------- +template struct is_pointer; +template struct is_pointer : false_type { }; +template struct is_pointer : true_type { }; +template struct is_pointer : is_pointer { }; +template struct is_pointer : is_pointer { }; +template struct is_pointer : is_pointer { }; + +// ---------------- is_reference ---------------------------------------- +template struct is_reference; +template struct is_reference : false_type {}; +template struct is_reference : true_type {}; + +// ---------------- is_relocatable ---------------------------------------- +// relocatable values can be moved around in memory using memcpy and remain +// correct. Most types are relocatable, an example of a type who is not would +// be a struct which contains a pointer to a buffer inside itself - this is the +// case for std::string in gcc 5. +// ------------------------------------------------------------------------ +template struct is_relocatable; +template struct is_relocatable : + integral_constant::value || + is_floating_point::value || + is_pointer::value + )> +{ }; + +template struct is_relocatable > : true_type { }; + +template struct is_relocatable : is_relocatable { }; +template struct is_relocatable : is_relocatable { }; +template struct is_relocatable : is_relocatable { }; +template struct is_relocatable : is_relocatable { }; +template struct is_relocatable > : + integral_constant::value && is_relocatable::value)> +{ }; + +// A template helper used to select A or B based on a condition. +// ------------------------------------------------------------ +template +struct if_ +{ + typedef A type; +}; + +template +struct if_ +{ + typedef B type; +}; + +} // spp_ namespace + +#endif // spp_traits_h_guard diff --git a/Sourcecode/mx/sparsepp/spp_utils.h b/Sourcecode/mx/sparsepp/spp_utils.h new file mode 100755 index 000000000..d4cc7a38b --- /dev/null +++ b/Sourcecode/mx/sparsepp/spp_utils.h @@ -0,0 +1,471 @@ +// ---------------------------------------------------------------------- +// Copyright (c) 2016, Steven Gregory Popovitch - greg7mdp@gmail.com +// All rights reserved. +// +// Code derived derived from Boost libraries. +// Boost software licence reproduced below. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * The name of Steven Gregory Popovitch may not be used to +// endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// ---------------------------------------------------------------------- + +// --------------------------------------------------------------------------- +// Boost Software License - Version 1.0 - August 17th, 2003 +// +// Permission is hereby granted, free of charge, to any person or organization +// obtaining a copy of the software and accompanying documentation covered by +// this license (the "Software") to use, reproduce, display, distribute, +// execute, and transmit the Software, and to prepare derivative works of the +// Software, and to permit third-parties to whom the Software is furnished to +// do so, all subject to the following: +// +// The copyright notices in the Software and this entire statement, including +// the above license grant, this restriction and the following disclaimer, +// must be included in all copies of the Software, in whole or in part, and +// all derivative works of the Software, unless such copies or derivative +// works are solely in the form of machine-executable object code generated by +// a source language processor. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// --------------------------------------------------------------------------- + +// ---------------------------------------------------------------------- +// H A S H F U N C T I O N S +// ---------------------------- +// +// Implements spp::spp_hash() and spp::hash_combine() +// ---------------------------------------------------------------------- + +#if !defined(spp_utils_h_guard_) +#define spp_utils_h_guard_ + +#if defined(_MSC_VER) + #if (_MSC_VER >= 1600 ) // vs2010 (1900 is vs2015) + #include + #define SPP_HASH_CLASS std::hash + #else + #include + #define SPP_HASH_CLASS stdext::hash_compare + #endif + #if (_MSC_FULL_VER < 190021730) + #define SPP_NO_CXX11_NOEXCEPT + #endif +#elif defined __clang__ + #if __has_feature(cxx_noexcept) // what to use here? + #include + #define SPP_HASH_CLASS std::hash + #else + #include + #define SPP_HASH_CLASS std::tr1::hash + #endif + + #if !__has_feature(cxx_noexcept) + #define SPP_NO_CXX11_NOEXCEPT + #endif +#elif defined(__GNUC__) + #if defined(__GXX_EXPERIMENTAL_CXX0X__) || (__cplusplus >= 201103L) + #include + #define SPP_HASH_CLASS std::hash + + #if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100) < 40600 + #define SPP_NO_CXX11_NOEXCEPT + #endif + #else + #include + #define SPP_HASH_CLASS std::tr1::hash + #define SPP_NO_CXX11_NOEXCEPT + #endif +#else + #include + #define SPP_HASH_CLASS std::hash +#endif + +#ifdef SPP_NO_CXX11_NOEXCEPT + #define SPP_NOEXCEPT +#else + #define SPP_NOEXCEPT noexcept +#endif + +#ifdef SPP_NO_CXX11_CONSTEXPR + #define SPP_CONSTEXPR +#else + #define SPP_CONSTEXPR constexpr +#endif + +#ifdef SPP_NO_CXX14_CONSTEXPR + #define SPP_CXX14_CONSTEXPR +#else + #define SPP_CXX14_CONSTEXPR constexpr +#endif + +#define SPP_INLINE + +#ifndef spp_ + #define spp_ spp +#endif + +namespace spp_ +{ + +template T spp_min(T a, T b) { return a < b ? a : b; } +template T spp_max(T a, T b) { return a >= b ? a : b; } + +template +struct spp_hash +{ + SPP_INLINE size_t operator()(const T &__v) const SPP_NOEXCEPT + { + SPP_HASH_CLASS hasher; + return hasher(__v); + } +}; + +template +struct spp_hash +{ + static size_t spp_log2 (size_t val) SPP_NOEXCEPT + { + size_t res = 0; + while (val > 1) + { + val >>= 1; + res++; + } + return res; + } + + SPP_INLINE size_t operator()(const T *__v) const SPP_NOEXCEPT + { + static const size_t shift = 3; // spp_log2(1 + sizeof(T)); // T might be incomplete! + const uintptr_t i = (const uintptr_t)__v; + return static_cast(i >> shift); + } +}; + +// from http://burtleburtle.net/bob/hash/integer.html +// fast and efficient for power of two table sizes where we always +// consider the last bits. +// --------------------------------------------------------------- +inline size_t spp_mix_32(uint32_t a) +{ + a = a ^ (a >> 4); + a = (a ^ 0xdeadbeef) + (a << 5); + a = a ^ (a >> 11); + return static_cast(a); +} + +// More thorough scrambling as described in +// https://gist.github.com/badboy/6267743 +// ---------------------------------------- +inline size_t spp_mix_64(uint64_t a) +{ + a = (~a) + (a << 21); // a = (a << 21) - a - 1; + a = a ^ (a >> 24); + a = (a + (a << 3)) + (a << 8); // a * 265 + a = a ^ (a >> 14); + a = (a + (a << 2)) + (a << 4); // a * 21 + a = a ^ (a >> 28); + a = a + (a << 31); + return static_cast(a); +} + +template +struct spp_unary_function +{ + typedef ArgumentType argument_type; + typedef ResultType result_type; +}; + +template <> +struct spp_hash : public spp_unary_function +{ + SPP_INLINE size_t operator()(bool __v) const SPP_NOEXCEPT + { return static_cast(__v); } +}; + +template <> +struct spp_hash : public spp_unary_function +{ + SPP_INLINE size_t operator()(char __v) const SPP_NOEXCEPT + { return static_cast(__v); } +}; + +template <> +struct spp_hash : public spp_unary_function +{ + SPP_INLINE size_t operator()(signed char __v) const SPP_NOEXCEPT + { return static_cast(__v); } +}; + +template <> +struct spp_hash : public spp_unary_function +{ + SPP_INLINE size_t operator()(unsigned char __v) const SPP_NOEXCEPT + { return static_cast(__v); } +}; + +template <> +struct spp_hash : public spp_unary_function +{ + SPP_INLINE size_t operator()(wchar_t __v) const SPP_NOEXCEPT + { return static_cast(__v); } +}; + +template <> +struct spp_hash : public spp_unary_function +{ + SPP_INLINE size_t operator()(int16_t __v) const SPP_NOEXCEPT + { return spp_mix_32(static_cast(__v)); } +}; + +template <> +struct spp_hash : public spp_unary_function +{ + SPP_INLINE size_t operator()(uint16_t __v) const SPP_NOEXCEPT + { return spp_mix_32(static_cast(__v)); } +}; + +template <> +struct spp_hash : public spp_unary_function +{ + SPP_INLINE size_t operator()(int32_t __v) const SPP_NOEXCEPT + { return spp_mix_32(static_cast(__v)); } +}; + +template <> +struct spp_hash : public spp_unary_function +{ + SPP_INLINE size_t operator()(uint32_t __v) const SPP_NOEXCEPT + { return spp_mix_32(static_cast(__v)); } +}; + +template <> +struct spp_hash : public spp_unary_function +{ + SPP_INLINE size_t operator()(int64_t __v) const SPP_NOEXCEPT + { return spp_mix_64(static_cast(__v)); } +}; + +template <> +struct spp_hash : public spp_unary_function +{ + SPP_INLINE size_t operator()(uint64_t __v) const SPP_NOEXCEPT + { return spp_mix_64(static_cast(__v)); } +}; + +template <> +struct spp_hash : public spp_unary_function +{ + SPP_INLINE size_t operator()(float __v) const SPP_NOEXCEPT + { + // -0.0 and 0.0 should return same hash + uint32_t *as_int = reinterpret_cast(&__v); + return (__v == 0) ? static_cast(0) : spp_mix_32(*as_int); + } +}; + +template <> +struct spp_hash : public spp_unary_function +{ + SPP_INLINE size_t operator()(double __v) const SPP_NOEXCEPT + { + // -0.0 and 0.0 should return same hash + uint64_t *as_int = reinterpret_cast(&__v); + return (__v == 0) ? static_cast(0) : spp_mix_64(*as_int); + } +}; + +template struct Combiner +{ + inline void operator()(T& seed, T value); +}; + +template struct Combiner +{ + inline void operator()(T& seed, T value) + { + seed ^= value + 0x9e3779b9 + (seed << 6) + (seed >> 2); + } +}; + +template struct Combiner +{ + inline void operator()(T& seed, T value) + { + seed ^= value + T(0xc6a4a7935bd1e995) + (seed << 6) + (seed >> 2); + } +}; + +template +inline void hash_combine(std::size_t& seed, T const& v) +{ + spp_::spp_hash hasher; + Combiner combiner; + + combiner(seed, hasher(v)); +} + +static inline uint32_t s_spp_popcount_default(uint32_t i) SPP_NOEXCEPT +{ + i = i - ((i >> 1) & 0x55555555); + i = (i & 0x33333333) + ((i >> 2) & 0x33333333); + return (((i + (i >> 4)) & 0x0F0F0F0F) * 0x01010101) >> 24; +} + +static inline uint32_t s_spp_popcount_default(uint64_t x) SPP_NOEXCEPT +{ + const uint64_t m1 = uint64_t(0x5555555555555555); // binary: 0101... + const uint64_t m2 = uint64_t(0x3333333333333333); // binary: 00110011.. + const uint64_t m4 = uint64_t(0x0f0f0f0f0f0f0f0f); // binary: 4 zeros, 4 ones ... + const uint64_t h01 = uint64_t(0x0101010101010101); // the sum of 256 to the power of 0,1,2,3... + + x -= (x >> 1) & m1; // put count of each 2 bits into those 2 bits + x = (x & m2) + ((x >> 2) & m2); // put count of each 4 bits into those 4 bits + x = (x + (x >> 4)) & m4; // put count of each 8 bits into those 8 bits + return (x * h01)>>56; // returns left 8 bits of x + (x<<8) + (x<<16) + (x<<24)+... +} + +#ifdef __APPLE__ + static inline uint32_t count_trailing_zeroes(size_t v) SPP_NOEXCEPT + { + size_t x = (v & -v) - 1; + // sadly sizeof() required to build on macos + return sizeof(size_t) == 8 ? s_spp_popcount_default((uint64_t)x) : s_spp_popcount_default((uint32_t)x); + } + + static inline uint32_t s_popcount(size_t v) SPP_NOEXCEPT + { + // sadly sizeof() required to build on macos + return sizeof(size_t) == 8 ? s_spp_popcount_default((uint64_t)v) : s_spp_popcount_default((uint32_t)v); + } +#else + static inline uint32_t count_trailing_zeroes(size_t v) SPP_NOEXCEPT + { + return s_spp_popcount_default((v & -(intptr_t)v) - 1); + } + + static inline uint32_t s_popcount(size_t v) SPP_NOEXCEPT + { + return s_spp_popcount_default(v); + } +#endif + +// ----------------------------------------------------------- +// ----------------------------------------------------------- +template +class libc_allocator +{ +public: + typedef T value_type; + typedef T* pointer; + typedef ptrdiff_t difference_type; + typedef const T* const_pointer; + typedef size_t size_type; + + libc_allocator() {} + libc_allocator(const libc_allocator&) {} + + template + libc_allocator(const libc_allocator &) {} + + libc_allocator& operator=(const libc_allocator &) { return *this; } + + template + libc_allocator& operator=(const libc_allocator &) { return *this; } + +#ifndef SPP_NO_CXX11_RVALUE_REFERENCES + libc_allocator(libc_allocator &&) {} + libc_allocator& operator=(libc_allocator &&) { return *this; } +#endif + + pointer allocate(size_t n, const_pointer /* unused */= 0) + { + return static_cast(malloc(n * sizeof(T))); + } + + void deallocate(pointer p, size_t /* unused */) + { + free(p); + } + + pointer reallocate(pointer p, size_t new_size) + { + return static_cast(realloc(p, new_size * sizeof(T))); + } + + // extra API to match spp_allocator interface + pointer reallocate(pointer p, size_t /* old_size */, size_t new_size) + { + return static_cast(realloc(p, new_size * sizeof(T))); + } + + size_type max_size() const + { + return static_cast(-1) / sizeof(value_type); + } + + void construct(pointer p, const value_type& val) + { + new(p) value_type(val); + } + + void destroy(pointer p) { p->~value_type(); } + + template + struct rebind + { + typedef spp_::libc_allocator other; + }; + +}; + +// forward declaration +// ------------------- +template +class spp_allocator; + +} + +template +inline bool operator==(const spp_::libc_allocator &, const spp_::libc_allocator &) +{ + return true; +} + +template +inline bool operator!=(const spp_::libc_allocator &, const spp_::libc_allocator &) +{ + return false; +} + +#endif // spp_utils_h_guard_ + diff --git a/Xcode/Mx.xcodeproj/project.pbxproj b/Xcode/Mx.xcodeproj/project.pbxproj index c7595d9c7..807bc72be 100755 --- a/Xcode/Mx.xcodeproj/project.pbxproj +++ b/Xcode/Mx.xcodeproj/project.pbxproj @@ -3371,6 +3371,51 @@ 29EAD74D1F0EF8CE00BDE782 /* MiscData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29EAD7471F0EF8CE00BDE782 /* MiscData.h */; }; 29EAD74E1F0EF8CE00BDE782 /* MiscData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29EAD7471F0EF8CE00BDE782 /* MiscData.h */; }; 29EAD74F1F0EF8CE00BDE782 /* MiscData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29EAD7471F0EF8CE00BDE782 /* MiscData.h */; }; + 3D6A2D43214EC5DB005C82EF /* spp_memory.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D3A214EC5DB005C82EF /* spp_memory.h */; }; + 3D6A2D44214EC5DB005C82EF /* spp_memory.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D3A214EC5DB005C82EF /* spp_memory.h */; }; + 3D6A2D45214EC5DB005C82EF /* spp_memory.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D3A214EC5DB005C82EF /* spp_memory.h */; }; + 3D6A2D46214EC5DB005C82EF /* spp_memory.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D3A214EC5DB005C82EF /* spp_memory.h */; }; + 3D6A2D47214EC5DB005C82EF /* spp_memory.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D3A214EC5DB005C82EF /* spp_memory.h */; }; + 3D6A2D48214EC5DB005C82EF /* spp_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D3B214EC5DB005C82EF /* spp_utils.h */; }; + 3D6A2D49214EC5DB005C82EF /* spp_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D3B214EC5DB005C82EF /* spp_utils.h */; }; + 3D6A2D4A214EC5DB005C82EF /* spp_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D3B214EC5DB005C82EF /* spp_utils.h */; }; + 3D6A2D4B214EC5DB005C82EF /* spp_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D3B214EC5DB005C82EF /* spp_utils.h */; }; + 3D6A2D4C214EC5DB005C82EF /* spp_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D3B214EC5DB005C82EF /* spp_utils.h */; }; + 3D6A2D4D214EC5DB005C82EF /* spp_smartptr.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D3C214EC5DB005C82EF /* spp_smartptr.h */; }; + 3D6A2D4E214EC5DB005C82EF /* spp_smartptr.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D3C214EC5DB005C82EF /* spp_smartptr.h */; }; + 3D6A2D4F214EC5DB005C82EF /* spp_smartptr.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D3C214EC5DB005C82EF /* spp_smartptr.h */; }; + 3D6A2D50214EC5DB005C82EF /* spp_smartptr.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D3C214EC5DB005C82EF /* spp_smartptr.h */; }; + 3D6A2D51214EC5DB005C82EF /* spp_smartptr.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D3C214EC5DB005C82EF /* spp_smartptr.h */; }; + 3D6A2D52214EC5DB005C82EF /* spp.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D3D214EC5DB005C82EF /* spp.h */; }; + 3D6A2D53214EC5DB005C82EF /* spp.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D3D214EC5DB005C82EF /* spp.h */; }; + 3D6A2D54214EC5DB005C82EF /* spp.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D3D214EC5DB005C82EF /* spp.h */; }; + 3D6A2D55214EC5DB005C82EF /* spp.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D3D214EC5DB005C82EF /* spp.h */; }; + 3D6A2D56214EC5DB005C82EF /* spp.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D3D214EC5DB005C82EF /* spp.h */; }; + 3D6A2D57214EC5DB005C82EF /* spp_stdint.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D3E214EC5DB005C82EF /* spp_stdint.h */; }; + 3D6A2D58214EC5DB005C82EF /* spp_stdint.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D3E214EC5DB005C82EF /* spp_stdint.h */; }; + 3D6A2D59214EC5DB005C82EF /* spp_stdint.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D3E214EC5DB005C82EF /* spp_stdint.h */; }; + 3D6A2D5A214EC5DB005C82EF /* spp_stdint.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D3E214EC5DB005C82EF /* spp_stdint.h */; }; + 3D6A2D5B214EC5DB005C82EF /* spp_stdint.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D3E214EC5DB005C82EF /* spp_stdint.h */; }; + 3D6A2D5C214EC5DB005C82EF /* spp_timer.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D3F214EC5DB005C82EF /* spp_timer.h */; }; + 3D6A2D5D214EC5DB005C82EF /* spp_timer.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D3F214EC5DB005C82EF /* spp_timer.h */; }; + 3D6A2D5E214EC5DB005C82EF /* spp_timer.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D3F214EC5DB005C82EF /* spp_timer.h */; }; + 3D6A2D5F214EC5DB005C82EF /* spp_timer.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D3F214EC5DB005C82EF /* spp_timer.h */; }; + 3D6A2D60214EC5DB005C82EF /* spp_timer.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D3F214EC5DB005C82EF /* spp_timer.h */; }; + 3D6A2D61214EC5DB005C82EF /* spp_config.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D40214EC5DB005C82EF /* spp_config.h */; }; + 3D6A2D62214EC5DB005C82EF /* spp_config.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D40214EC5DB005C82EF /* spp_config.h */; }; + 3D6A2D63214EC5DB005C82EF /* spp_config.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D40214EC5DB005C82EF /* spp_config.h */; }; + 3D6A2D64214EC5DB005C82EF /* spp_config.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D40214EC5DB005C82EF /* spp_config.h */; }; + 3D6A2D65214EC5DB005C82EF /* spp_config.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D40214EC5DB005C82EF /* spp_config.h */; }; + 3D6A2D66214EC5DB005C82EF /* spp_traits.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D41214EC5DB005C82EF /* spp_traits.h */; }; + 3D6A2D67214EC5DB005C82EF /* spp_traits.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D41214EC5DB005C82EF /* spp_traits.h */; }; + 3D6A2D68214EC5DB005C82EF /* spp_traits.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D41214EC5DB005C82EF /* spp_traits.h */; }; + 3D6A2D69214EC5DB005C82EF /* spp_traits.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D41214EC5DB005C82EF /* spp_traits.h */; }; + 3D6A2D6A214EC5DB005C82EF /* spp_traits.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D41214EC5DB005C82EF /* spp_traits.h */; }; + 3D6A2D6B214EC5DB005C82EF /* spp_dlalloc.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D42214EC5DB005C82EF /* spp_dlalloc.h */; }; + 3D6A2D6C214EC5DB005C82EF /* spp_dlalloc.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D42214EC5DB005C82EF /* spp_dlalloc.h */; }; + 3D6A2D6D214EC5DB005C82EF /* spp_dlalloc.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D42214EC5DB005C82EF /* spp_dlalloc.h */; }; + 3D6A2D6E214EC5DB005C82EF /* spp_dlalloc.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D42214EC5DB005C82EF /* spp_dlalloc.h */; }; + 3D6A2D6F214EC5DB005C82EF /* spp_dlalloc.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6A2D42214EC5DB005C82EF /* spp_dlalloc.h */; }; E24C0143209D07E200CCCF7C /* ApiCommon.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD591EF0475D00AD2478 /* ApiCommon.h */; }; E24C0144209D07E200CCCF7C /* ApiEquality.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD5A1EF0475D00AD2478 /* ApiEquality.h */; }; E24C0145209D07E200CCCF7C /* BarlineData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD5B1EF0475D00AD2478 /* BarlineData.h */; }; @@ -4990,7 +5035,6 @@ 29A8E28D1EF0476300AD2478 /* ScoreReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScoreReader.h; sourceTree = ""; }; 29A8E28E1EF0476300AD2478 /* ScoreWriter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScoreWriter.cpp; sourceTree = ""; }; 29A8E28F1EF0476300AD2478 /* ScoreWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScoreWriter.h; sourceTree = ""; }; - 29A8E2901EF0476300AD2478 /* SmuflGlyphMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SmuflGlyphMap.h; sourceTree = ""; }; 29A8E2911EF0476300AD2478 /* SpannerFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpannerFunctions.h; sourceTree = ""; }; 29A8E2921EF0476300AD2478 /* StaffFunctions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StaffFunctions.cpp; sourceTree = ""; }; 29A8E2931EF0476300AD2478 /* StaffFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StaffFunctions.h; sourceTree = ""; }; @@ -5052,6 +5096,15 @@ 29EAD73A1F0EA96B00BDE782 /* ProcessingInstruction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProcessingInstruction.h; sourceTree = ""; }; 29EAD7461F0EF8CE00BDE782 /* MiscData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MiscData.cpp; sourceTree = ""; }; 29EAD7471F0EF8CE00BDE782 /* MiscData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MiscData.h; sourceTree = ""; }; + 3D6A2D3A214EC5DB005C82EF /* spp_memory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spp_memory.h; sourceTree = ""; }; + 3D6A2D3B214EC5DB005C82EF /* spp_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spp_utils.h; sourceTree = ""; }; + 3D6A2D3C214EC5DB005C82EF /* spp_smartptr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spp_smartptr.h; sourceTree = ""; }; + 3D6A2D3D214EC5DB005C82EF /* spp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spp.h; sourceTree = ""; }; + 3D6A2D3E214EC5DB005C82EF /* spp_stdint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spp_stdint.h; sourceTree = ""; }; + 3D6A2D3F214EC5DB005C82EF /* spp_timer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spp_timer.h; sourceTree = ""; }; + 3D6A2D40214EC5DB005C82EF /* spp_config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spp_config.h; sourceTree = ""; }; + 3D6A2D41214EC5DB005C82EF /* spp_traits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spp_traits.h; sourceTree = ""; }; + 3D6A2D42214EC5DB005C82EF /* spp_dlalloc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spp_dlalloc.h; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -5130,6 +5183,7 @@ 29A8DD881EF0475D00AD2478 /* core */, 29A8E2551EF0476200AD2478 /* impl */, 29A8E29A1EF0476300AD2478 /* pugixml */, + 3D6A2D39214EC5DB005C82EF /* sparsepp */, 29A8E29E1EF0476300AD2478 /* utility */, 29A8E2AB1EF0476300AD2478 /* xml */, ); @@ -6508,7 +6562,6 @@ 29A8E28D1EF0476300AD2478 /* ScoreReader.h */, 29A8E28E1EF0476300AD2478 /* ScoreWriter.cpp */, 29A8E28F1EF0476300AD2478 /* ScoreWriter.h */, - 29A8E2901EF0476300AD2478 /* SmuflGlyphMap.h */, 29A8E2911EF0476300AD2478 /* SpannerFunctions.h */, 29A8E2921EF0476300AD2478 /* StaffFunctions.cpp */, 29A8E2931EF0476300AD2478 /* StaffFunctions.h */, @@ -6601,6 +6654,22 @@ path = MxiOS; sourceTree = ""; }; + 3D6A2D39214EC5DB005C82EF /* sparsepp */ = { + isa = PBXGroup; + children = ( + 3D6A2D3A214EC5DB005C82EF /* spp_memory.h */, + 3D6A2D3B214EC5DB005C82EF /* spp_utils.h */, + 3D6A2D3C214EC5DB005C82EF /* spp_smartptr.h */, + 3D6A2D3D214EC5DB005C82EF /* spp.h */, + 3D6A2D3E214EC5DB005C82EF /* spp_stdint.h */, + 3D6A2D3F214EC5DB005C82EF /* spp_timer.h */, + 3D6A2D40214EC5DB005C82EF /* spp_config.h */, + 3D6A2D41214EC5DB005C82EF /* spp_traits.h */, + 3D6A2D42214EC5DB005C82EF /* spp_dlalloc.h */, + ); + path = sparsepp; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ @@ -6608,11 +6677,20 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( + 3D6A2D53214EC5DB005C82EF /* spp.h in Headers */, + 3D6A2D58214EC5DB005C82EF /* spp_stdint.h in Headers */, + 3D6A2D4E214EC5DB005C82EF /* spp_smartptr.h in Headers */, + 3D6A2D67214EC5DB005C82EF /* spp_traits.h in Headers */, + 3D6A2D62214EC5DB005C82EF /* spp_config.h in Headers */, 2948959C1FC4011400A06219 /* AppearanceData.h in Headers */, + 3D6A2D5D214EC5DB005C82EF /* spp_timer.h in Headers */, 29A8006A1EF0876500AD2478 /* SoundID.h in Headers */, 29A02E7A1FE0F71A00B74FDE /* Version.h in Headers */, + 3D6A2D44214EC5DB005C82EF /* spp_memory.h in Headers */, + 3D6A2D49214EC5DB005C82EF /* spp_utils.h in Headers */, 29EAD74E1F0EF8CE00BDE782 /* MiscData.h in Headers */, 29E76341205E2DEE00B754D5 /* LyricType.h in Headers */, + 3D6A2D6C214EC5DB005C82EF /* spp_dlalloc.h in Headers */, 297594551F044C7600DE2F30 /* ChordData.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; @@ -6621,11 +6699,20 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( + 3D6A2D52214EC5DB005C82EF /* spp.h in Headers */, + 3D6A2D57214EC5DB005C82EF /* spp_stdint.h in Headers */, + 3D6A2D4D214EC5DB005C82EF /* spp_smartptr.h in Headers */, + 3D6A2D66214EC5DB005C82EF /* spp_traits.h in Headers */, + 3D6A2D61214EC5DB005C82EF /* spp_config.h in Headers */, 2948959B1FC4011400A06219 /* AppearanceData.h in Headers */, + 3D6A2D5C214EC5DB005C82EF /* spp_timer.h in Headers */, 29A800691EF0876500AD2478 /* SoundID.h in Headers */, 29A02E791FE0F71A00B74FDE /* Version.h in Headers */, + 3D6A2D43214EC5DB005C82EF /* spp_memory.h in Headers */, + 3D6A2D48214EC5DB005C82EF /* spp_utils.h in Headers */, 29EAD74D1F0EF8CE00BDE782 /* MiscData.h in Headers */, 29E76340205E2DEE00B754D5 /* LyricType.h in Headers */, + 3D6A2D6B214EC5DB005C82EF /* spp_dlalloc.h in Headers */, 297594541F044C7600DE2F30 /* ChordData.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; @@ -6638,6 +6725,7 @@ E24C0174209D07E200CCCF7C /* DirectionData.h in Headers */, E24C017E209D07E300CCCF7C /* MeasureLocation.h in Headers */, E24C0195209D07E300CCCF7C /* WordsData.h in Headers */, + 3D6A2D60214EC5DB005C82EF /* spp_timer.h in Headers */, E24C018B209D07E300CCCF7C /* SoundID.h in Headers */, E24C017A209D07E200CCCF7C /* LayoutData.h in Headers */, E24C0192209D07E300CCCF7C /* Version.h in Headers */, @@ -6646,10 +6734,13 @@ E24C0187209D07E300CCCF7C /* PositionData.h in Headers */, E24C017C209D07E300CCCF7C /* MarkData.h in Headers */, E24C018D209D07E300CCCF7C /* StaffData.h in Headers */, + 3D6A2D5B214EC5DB005C82EF /* spp_stdint.h in Headers */, E24C0180209D07E300CCCF7C /* NoteAttachmentData.h in Headers */, E24C0191209D07E300CCCF7C /* TupletData.h in Headers */, + 3D6A2D56214EC5DB005C82EF /* spp.h in Headers */, E24C0179209D07E200CCCF7C /* KeyData.h in Headers */, E24C0173209D07E200CCCF7C /* CurveData.h in Headers */, + 3D6A2D6F214EC5DB005C82EF /* spp_dlalloc.h in Headers */, E24C016F209D07E200CCCF7C /* BarlineData.h in Headers */, E24C017D209D07E300CCCF7C /* MeasureData.h in Headers */, E24C0189209D07E300CCCF7C /* ScoreData.h in Headers */, @@ -6661,13 +6752,18 @@ E24C018E209D07E300CCCF7C /* SystemData.h in Headers */, E24C0170209D07E200CCCF7C /* ChordData.h in Headers */, E24C0178209D07E200CCCF7C /* FontData.h in Headers */, + 3D6A2D51214EC5DB005C82EF /* spp_smartptr.h in Headers */, E24C018C209D07E300CCCF7C /* SpannerData.h in Headers */, + 3D6A2D4C214EC5DB005C82EF /* spp_utils.h in Headers */, + 3D6A2D65214EC5DB005C82EF /* spp_config.h in Headers */, E24C0184209D07E300CCCF7C /* PartData.h in Headers */, + 3D6A2D6A214EC5DB005C82EF /* spp_traits.h in Headers */, E24C0185209D07E300CCCF7C /* PartGroupData.h in Headers */, E24C0186209D07E300CCCF7C /* PitchData.h in Headers */, E24C017F209D07E300CCCF7C /* MiscData.h in Headers */, E24C0181209D07E300CCCF7C /* NoteData.h in Headers */, E24C0194209D07E300CCCF7C /* WedgeData.h in Headers */, + 3D6A2D47214EC5DB005C82EF /* spp_memory.h in Headers */, E24C0190209D07E300CCCF7C /* TimeSignatureData.h in Headers */, E24C018F209D07E300CCCF7C /* TempoData.h in Headers */, E24C018A209D07E300CCCF7C /* Smufl.h in Headers */, @@ -6688,6 +6784,7 @@ E24C015C209D07E200CCCF7C /* PitchData.h in Headers */, E24C0149209D07E200CCCF7C /* CurveData.h in Headers */, E24C0167209D07E200CCCF7C /* TupletData.h in Headers */, + 3D6A2D55214EC5DB005C82EF /* spp.h in Headers */, E24C0168209D07E200CCCF7C /* Version.h in Headers */, E24C014D209D07E200CCCF7C /* EncodingData.h in Headers */, E24C0151209D07E200CCCF7C /* LineData.h in Headers */, @@ -6705,12 +6802,17 @@ E24C014C209D07E200CCCF7C /* DurationData.h in Headers */, E24C0143209D07E200CCCF7C /* ApiCommon.h in Headers */, E24C0154209D07E200CCCF7C /* MeasureLocation.h in Headers */, + 3D6A2D4B214EC5DB005C82EF /* spp_utils.h in Headers */, E24C015D209D07E200CCCF7C /* PositionData.h in Headers */, E24C0166209D07E200CCCF7C /* TimeSignatureData.h in Headers */, E24C0148209D07E200CCCF7C /* ColorData.h in Headers */, + 3D6A2D46214EC5DB005C82EF /* spp_memory.h in Headers */, + 3D6A2D50214EC5DB005C82EF /* spp_smartptr.h in Headers */, E24C015B209D07E200CCCF7C /* PartGroupData.h in Headers */, E24C0164209D07E200CCCF7C /* SystemData.h in Headers */, E24C0153209D07E200CCCF7C /* MeasureData.h in Headers */, + 3D6A2D6E214EC5DB005C82EF /* spp_dlalloc.h in Headers */, + 3D6A2D64214EC5DB005C82EF /* spp_config.h in Headers */, E24C0163209D07E200CCCF7C /* StaffData.h in Headers */, E24C016C209D07E200CCCF7C /* AppearanceData.h in Headers */, E24C0161209D07E200CCCF7C /* SoundID.h in Headers */, @@ -6721,10 +6823,13 @@ E24C0160209D07E200CCCF7C /* Smufl.h in Headers */, E24C0144209D07E200CCCF7C /* ApiEquality.h in Headers */, E24C016B209D07E200CCCF7C /* WordsData.h in Headers */, + 3D6A2D5A214EC5DB005C82EF /* spp_stdint.h in Headers */, E24C0162209D07E200CCCF7C /* SpannerData.h in Headers */, E24C014A209D07E200CCCF7C /* DirectionData.h in Headers */, + 3D6A2D69214EC5DB005C82EF /* spp_traits.h in Headers */, E24C0155209D07E200CCCF7C /* MiscData.h in Headers */, E24C015A209D07E200CCCF7C /* PartData.h in Headers */, + 3D6A2D5F214EC5DB005C82EF /* spp_timer.h in Headers */, E24C014E209D07E200CCCF7C /* FontData.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; @@ -6733,11 +6838,20 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( + 3D6A2D54214EC5DB005C82EF /* spp.h in Headers */, + 3D6A2D59214EC5DB005C82EF /* spp_stdint.h in Headers */, + 3D6A2D4F214EC5DB005C82EF /* spp_smartptr.h in Headers */, + 3D6A2D68214EC5DB005C82EF /* spp_traits.h in Headers */, + 3D6A2D63214EC5DB005C82EF /* spp_config.h in Headers */, 2948959D1FC4011400A06219 /* AppearanceData.h in Headers */, + 3D6A2D5E214EC5DB005C82EF /* spp_timer.h in Headers */, 29A8006B1EF0876500AD2478 /* SoundID.h in Headers */, 29A02E7B1FE0F71A00B74FDE /* Version.h in Headers */, + 3D6A2D45214EC5DB005C82EF /* spp_memory.h in Headers */, + 3D6A2D4A214EC5DB005C82EF /* spp_utils.h in Headers */, 29EAD74F1F0EF8CE00BDE782 /* MiscData.h in Headers */, 29E76342205E2DEE00B754D5 /* LyricType.h in Headers */, + 3D6A2D6D214EC5DB005C82EF /* spp_dlalloc.h in Headers */, 297594561F044C7600DE2F30 /* ChordData.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; @@ -6838,7 +6952,7 @@ 299F7FDE1CA8D2200084CAE5 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0930; + LastUpgradeCheck = 0940; ORGANIZATIONNAME = "Matthew James Briggs"; TargetAttributes = { 293FFED11DD25C74001477E8 = { @@ -10593,10 +10707,12 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + HEADER_SEARCH_PATHS = /usr/local/include; INFOPLIST_FILE = MxiOS/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 10.2; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LIBRARY_SEARCH_PATHS = ""; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = NO; PRODUCT_BUNDLE_IDENTIFIER = mjb.MxiOS; @@ -10606,7 +10722,7 @@ "SDKROOT[arch=x86_64]" = "$(CORRESPONDING_SIMULATOR_SDK_NAME)"; SKIP_INSTALL = NO; TARGETED_DEVICE_FAMILY = "1,2"; - VALID_ARCHS = "arm64 armv7 armv7s x86_64 i386"; + VALID_ARCHS = "arm64 armv7 armv7s i386 x86_64"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; @@ -10636,10 +10752,12 @@ DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; GCC_OPTIMIZATION_LEVEL = 3; + HEADER_SEARCH_PATHS = /usr/local/include; INFOPLIST_FILE = MxiOS/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 10.2; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LIBRARY_SEARCH_PATHS = ""; MTL_ENABLE_DEBUG_INFO = NO; ONLY_ACTIVE_ARCH = NO; PRODUCT_BUNDLE_IDENTIFIER = mjb.MxiOS; @@ -10650,7 +10768,7 @@ SKIP_INSTALL = NO; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; - VALID_ARCHS = "arm64 armv7 armv7s x86_64 i386"; + VALID_ARCHS = "arm64 armv7 armv7s i386 x86_64"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; diff --git a/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/Mx.xcscheme b/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/Mx.xcscheme index 9f00f866b..9bcf464cb 100644 --- a/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/Mx.xcscheme +++ b/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/Mx.xcscheme @@ -1,6 +1,6 @@ Date: Sun, 4 Nov 2018 18:22:12 -0800 Subject: [PATCH 092/108] smufl map carnage --- DevScripts/mxdeploy.rb | 2 +- DevScripts/smuflHeader.rb | 6 +- Sourcecode/mx/api/MarkData.cpp | 213 +- Sourcecode/mx/api/MarkData.h | 44 +- Sourcecode/mx/api/Smufl.cpp | 2694 ---------- Sourcecode/mx/api/Smufl.h | 49 - .../mx/impl/AccidentalMarkFunctions.cpp | 2 - Sourcecode/mx/impl/ArticulationsFunctions.cpp | 17 +- Sourcecode/mx/impl/Converter.cpp | 2 +- Sourcecode/mx/impl/DirectionReader.cpp | 15 +- Sourcecode/mx/impl/DynamicsReader.cpp | 17 - Sourcecode/mx/impl/DynamicsWriter.cpp | 11 +- Sourcecode/mx/impl/MeasureReader.cpp | 1 - Sourcecode/mx/impl/NotationsWriter.cpp | 25 +- Sourcecode/mx/impl/OrnamentsFunctions.cpp | 15 +- Sourcecode/mx/impl/TechnicalFunctions.cpp | 12 - Sourcecode/mx/sparsepp/spp.h | 4336 ----------------- Sourcecode/mx/sparsepp/spp_config.h | 781 --- Sourcecode/mx/sparsepp/spp_dlalloc.h | 4039 --------------- Sourcecode/mx/sparsepp/spp_memory.h | 190 - Sourcecode/mx/sparsepp/spp_smartptr.h | 76 - Sourcecode/mx/sparsepp/spp_stdint.h | 16 - Sourcecode/mx/sparsepp/spp_timer.h | 58 - Sourcecode/mx/sparsepp/spp_traits.h | 125 - Sourcecode/mx/sparsepp/spp_utils.h | 471 -- .../mxtest/api/ApiChordSimpleScoreData.h | 1 - Sourcecode/mxtest/api/ApiK007aScoreData.h | 5 - Sourcecode/mxtest/api/ApiK007cScoreData.h | 5 - Sourcecode/mxtest/api/ApiK009bSlurScoreData.h | 1 - .../mxtest/api/ApiK014aFermatasScoreData.h | 1 - .../mxtest/api/ApiK015aLayoutScoreData.h | 1 - Sourcecode/mxtest/api/ApiK016aMiscScoreData.h | 1 - Sourcecode/mxtest/api/ApiLy43eScoreData.h | 6 - .../mxtest/api/ApiMuAccidentals1ScoreData.h | 1 - Sourcecode/mxtest/api/NoteDataTest.cpp | 76 +- Sublime/mx.sublime-project | 2 +- Xcode/Mx.xcodeproj/project.pbxproj | 22 - 37 files changed, 144 insertions(+), 13195 deletions(-) delete mode 100644 Sourcecode/mx/api/Smufl.cpp delete mode 100644 Sourcecode/mx/api/Smufl.h delete mode 100755 Sourcecode/mx/sparsepp/spp.h delete mode 100755 Sourcecode/mx/sparsepp/spp_config.h delete mode 100755 Sourcecode/mx/sparsepp/spp_dlalloc.h delete mode 100755 Sourcecode/mx/sparsepp/spp_memory.h delete mode 100755 Sourcecode/mx/sparsepp/spp_smartptr.h delete mode 100755 Sourcecode/mx/sparsepp/spp_stdint.h delete mode 100755 Sourcecode/mx/sparsepp/spp_timer.h delete mode 100755 Sourcecode/mx/sparsepp/spp_traits.h delete mode 100755 Sourcecode/mx/sparsepp/spp_utils.h diff --git a/DevScripts/mxdeploy.rb b/DevScripts/mxdeploy.rb index 2b34e2f46..2ccc21a03 100644 --- a/DevScripts/mxdeploy.rb +++ b/DevScripts/mxdeploy.rb @@ -26,7 +26,7 @@ file_mx_xcode_workspace = "#{dir_mx_root}/Xcode/mx.xcworkspace" file_mx_version_defines_h = "#{dir_mx_root}/Sourcecode/mx/impl/MxVersionDefines.h" -dir_komp_root = "/Users/mjb/komp" +dir_komp_root = "/Users/mjb/repos/komp" dir_komp_mx = "#{dir_komp_root}/Frameworks/mx" dir_komp_mx_bin = "#{dir_komp_mx}/bin" dir_komp_mx_src = "#{dir_komp_mx}/src" diff --git a/DevScripts/smuflHeader.rb b/DevScripts/smuflHeader.rb index b141eb335..6f34dc4fd 100644 --- a/DevScripts/smuflHeader.rb +++ b/DevScripts/smuflHeader.rb @@ -1,7 +1,7 @@ require 'json' require 'stringio' -j = JSON.parse( IO.read("../Resources/smufl/glyphnames.json")) +j = JSON.parse( IO.read("../Resources/S-M-U-F-L/glyphnames.json")) content = StringIO.new @@ -17,7 +17,7 @@ content << "{\n" content << " namespace impl\n" content << " {\n" -content << " inline std::map createSmuflMap()\n" +content << " inline std::map createS-M-U-F-LMap()\n" content << " {\n" content << " std::map outMap;\n" @@ -43,7 +43,7 @@ content << "}\n" begin - file = File.open("../Sourcecode/mx/impl/SmuflGlyphMap.h", "w") + file = File.open("../Sourcecode/mx/impl/S-M-U-F-LGlyphMap.h", "w") file.write(content.string) rescue IOError => e #some error occur, dir not writable etc. diff --git a/Sourcecode/mx/api/MarkData.cpp b/Sourcecode/mx/api/MarkData.cpp index a5d2499ce..d1e9e7eaa 100644 --- a/Sourcecode/mx/api/MarkData.cpp +++ b/Sourcecode/mx/api/MarkData.cpp @@ -10,177 +10,6 @@ namespace mx { namespace api { - MarkSmufl::MarkSmufl() - : myMap{} - { - // articulations - myMap.emplace( std::make_pair( MarkType::accent, SmuflGlyphname{ "articAccentAbove", "articAccentBelow", "articAccentAbove" } ) ); - myMap.emplace( std::make_pair( MarkType::strongAccent, SmuflGlyphname{ "articMarcatoAbove", "articMarcatoBelow", "articMarcatoAbove" } ) ); - myMap.emplace( std::make_pair( MarkType::staccato, SmuflGlyphname{ "articStaccatoAbove", "articStaccatoBelow", "articStaccatoAbove" } ) ); - myMap.emplace( std::make_pair( MarkType::tenuto, SmuflGlyphname{ "articTenutoAbove", "articTenutoBelow", "articTenutoAbove" } ) ); - myMap.emplace( std::make_pair( MarkType::detachedLegato, SmuflGlyphname{ "articTenutoStaccatoAbove", "articTenutoStaccatoBelow", "articTenutoStaccatoAbove" } ) ); - myMap.emplace( std::make_pair( MarkType::staccatissimo, SmuflGlyphname{ "articStaccatissimoAbove", "articStaccatissimoBelow", "articStaccatissimoAbove" } ) ); - myMap.emplace( std::make_pair( MarkType::spiccato, SmuflGlyphname{ "articStaccatissimoWedgeAbove", "articStaccatissimoWedgeBelow", "articStaccatissimoWedgeAbove" } ) ); - myMap.emplace( std::make_pair( MarkType::scoop, SmuflGlyphname{ "brassScoop", "brassScoop", "brassScoop" } ) ); - myMap.emplace( std::make_pair( MarkType::plop, SmuflGlyphname{ "brassPlop", "brassPlop", "brassPlop" } ) ); - myMap.emplace( std::make_pair( MarkType::doit, SmuflGlyphname{ "brassDoitMedium", "brassDoitMedium", "brassDoitMedium" } ) ); - myMap.emplace( std::make_pair( MarkType::falloff, SmuflGlyphname{ "brassFallLipMedium", "brassFallLipMedium", "brassFallLipMedium" } ) ); - myMap.emplace( std::make_pair( MarkType::breathMark, SmuflGlyphname{ "breathMarkComma", "breathMarkComma", "breathMarkComma" } ) ); - myMap.emplace( std::make_pair( MarkType::caesura, SmuflGlyphname{ "caesura", "caesura", "caesura" } ) ); - myMap.emplace( std::make_pair( MarkType::stress, SmuflGlyphname{ "articStressAbove", "articStressBelow", "articStressAbove" } ) ); - myMap.emplace( std::make_pair( MarkType::unstress, SmuflGlyphname{ "articUnstressAbove", "articUnstressBelow", "articUnstressAbove" } ) ); - myMap.emplace( std::make_pair( MarkType::otherArticulation, SmuflGlyphname{ "", "", "" } ) ); - - // dynamics - myMap.emplace( std::make_pair( MarkType::p, SmuflGlyphname{ "dynamicPiano", "dynamicPiano", "dynamicPiano" } ) ); - myMap.emplace( std::make_pair( MarkType::pp, SmuflGlyphname{ "dynamicPP", "dynamicPP", "dynamicPP" } ) ); - myMap.emplace( std::make_pair( MarkType::ppp, SmuflGlyphname{ "dynamicPPP", "dynamicPPP", "dynamicPPP" } ) ); - myMap.emplace( std::make_pair( MarkType::pppp, SmuflGlyphname{ "dynamicPPPP", "dynamicPPPP", "dynamicPPPP" } ) ); - myMap.emplace( std::make_pair( MarkType::ppppp, SmuflGlyphname{ "dynamicPPPPP", "dynamicPPPPP", "dynamicPPPPP" } ) ); - myMap.emplace( std::make_pair( MarkType::pppppp, SmuflGlyphname{ "dynamicPPPPPP", "dynamicPPPPPP", "dynamicPPPPPP" } ) ); - myMap.emplace( std::make_pair( MarkType::f, SmuflGlyphname{ "dynamicForte", "dynamicForte", "dynamicForte" } ) ); - myMap.emplace( std::make_pair( MarkType::ff, SmuflGlyphname{ "dynamicFF", "dynamicFF", "dynamicFF" } ) ); - myMap.emplace( std::make_pair( MarkType::fff, SmuflGlyphname{ "dynamicFFF", "dynamicFFF", "dynamicFFF" } ) ); - myMap.emplace( std::make_pair( MarkType::ffff, SmuflGlyphname{ "dynamicFFFF", "dynamicFFFF", "dynamicFFFF" } ) ); - myMap.emplace( std::make_pair( MarkType::fffff, SmuflGlyphname{ "dynamicFFFFF", "dynamicFFFFF", "dynamicFFFFF" } ) ); - myMap.emplace( std::make_pair( MarkType::ffffff, SmuflGlyphname{ "dynamicFFFFFF", "dynamicFFFFFF", "dynamicFFFFFF" } ) ); - myMap.emplace( std::make_pair( MarkType::mp, SmuflGlyphname{ "dynamicMP", "dynamicMP", "dynamicMP" } ) ); - myMap.emplace( std::make_pair( MarkType::mf, SmuflGlyphname{ "dynamicMF", "dynamicMF", "dynamicMF" } ) ); - myMap.emplace( std::make_pair( MarkType::sf, SmuflGlyphname{ "dynamicSforzando1", "dynamicSforzando1", "dynamicSforzando1" } ) ); - myMap.emplace( std::make_pair( MarkType::sfp, SmuflGlyphname{ "dynamicSforzandoPiano", "dynamicSforzandoPiano", "dynamicSforzandoPiano" } ) ); - myMap.emplace( std::make_pair( MarkType::sfpp, SmuflGlyphname{ "dynamicSforzandoPianissimo", "dynamicSforzandoPianissimo", "dynamicSforzandoPianissimo" } ) ); - myMap.emplace( std::make_pair( MarkType::fp, SmuflGlyphname{ "dynamicFortePiano", "dynamicFortePiano", "dynamicFortePiano" } ) ); - myMap.emplace( std::make_pair( MarkType::rf, SmuflGlyphname{ "dynamicRinforzando1", "dynamicRinforzando1", "dynamicRinforzando1" } ) ); - myMap.emplace( std::make_pair( MarkType::rfz, SmuflGlyphname{ "dynamicRinforzando2", "dynamicRinforzando2", "dynamicRinforzando2" } ) ); - myMap.emplace( std::make_pair( MarkType::sfz, SmuflGlyphname{ "dynamicSforzato", "dynamicSforzato", "dynamicSforzato" } ) ); - myMap.emplace( std::make_pair( MarkType::sffz, SmuflGlyphname{ "dynamicSforzatoFF", "dynamicSforzatoFF", "dynamicSforzatoFF" } ) ); - myMap.emplace( std::make_pair( MarkType::fz, SmuflGlyphname{ "dynamicForzando", "dynamicForzando", "dynamicForzando" } ) ); - myMap.emplace( std::make_pair( MarkType::otherDynamics, SmuflGlyphname{ "", "", "" } ) ); - - // ornaments - myMap.emplace( std::make_pair( MarkType::trillMark, SmuflGlyphname{ "ornamentTrill", "ornamentTrill", "ornamentTrill" } ) ); - myMap.emplace( std::make_pair( MarkType::turn, SmuflGlyphname{ "ornamentTurn", "ornamentTurn", "ornamentTurn" } ) ); - myMap.emplace( std::make_pair( MarkType::delayedTurn, SmuflGlyphname{ "ornamentTurn", "ornamentTurn", "ornamentTurn" } ) ); - myMap.emplace( std::make_pair( MarkType::invertedTurn, SmuflGlyphname{ "ornamentTurnInverted", "ornamentTurnInverted", "ornamentTurnInverted" } ) ); - myMap.emplace( std::make_pair( MarkType::delayedInvertedTurn, SmuflGlyphname{ "ornamentTurnInverted", "ornamentTurnInverted", "ornamentTurnInverted" } ) ); - myMap.emplace( std::make_pair( MarkType::verticalTurn, SmuflGlyphname{ "ornamentTurnUp", "ornamentTurnUp", "ornamentTurnUp" } ) ); - myMap.emplace( std::make_pair( MarkType::shake, SmuflGlyphname{ "wiggleVIbratoMediumSlower", "wiggleVIbratoMediumSlower", "wiggleVIbratoMediumSlower" } ) ); - myMap.emplace( std::make_pair( MarkType::wavyLine, SmuflGlyphname{ "ornamentTremblement", "ornamentTremblement", "ornamentTremblement" } ) ); - myMap.emplace( std::make_pair( MarkType::mordent, SmuflGlyphname{ "ornamentMordent", "ornamentMordent", "ornamentMordent" } ) ); - myMap.emplace( std::make_pair( MarkType::invertedMordent, SmuflGlyphname{ "ornamentMordentInverted", "ornamentMordentInverted", "ornamentMordentInverted" } ) ); - myMap.emplace( std::make_pair( MarkType::schleifer, SmuflGlyphname{ "ornamentSchleifer", "ornamentSchleifer", "ornamentSchleifer" } ) ); - myMap.emplace( std::make_pair( MarkType::tremoloSingleOne, SmuflGlyphname{ "tremolo1", "tremolo3", "tremolo3" } ) ); - myMap.emplace( std::make_pair( MarkType::tremoloSingleTwo, SmuflGlyphname{ "tremolo2", "tremolo2", "tremolo2" } ) ); - myMap.emplace( std::make_pair( MarkType::tremoloSingleThree, SmuflGlyphname{ "tremolo3", "tremolo3", "tremolo3" } ) ); - myMap.emplace( std::make_pair( MarkType::tremoloSingleFour, SmuflGlyphname{ "tremolo4", "tremolo4", "tremolo4" } ) ); - myMap.emplace( std::make_pair( MarkType::tremoloSingleFive, SmuflGlyphname{ "tremolo5", "tremolo5", "tremolo5" } ) ); - myMap.emplace( std::make_pair( MarkType::otherOrnament, SmuflGlyphname{ "", "", "" } ) ); - - myMap.emplace( std::make_pair( MarkType::upBow, SmuflGlyphname{ "stringsUpBow", "stringsUpBow", "stringsUpBow" } ) ); - myMap.emplace( std::make_pair( MarkType::downBow, SmuflGlyphname{ "stringsDownBow", "stringsDownBow", "stringsDownBow" } ) ); - myMap.emplace( std::make_pair( MarkType::harmonic, SmuflGlyphname{ "stringsHarmonic", "stringsHarmonic", "stringsHarmonic" } ) ); - // TODO - find the right glyph for openString - myMap.emplace( std::make_pair( MarkType::openString, SmuflGlyphname{ "stringsHarmonic", "stringsHarmonic", "stringsHarmonic" } ) ); - myMap.emplace( std::make_pair( MarkType::thumbPosition, SmuflGlyphname{ "stringsThumbPosition", "stringsThumbPosition", "stringsThumbPosition" } ) ); - // myMap.emplace( std::make_pair( MarkType::fingering, SmuflGlyphname{ "", "", "" } ) ); - // myMap.emplace( std::make_pair( MarkType::pluck, SmuflGlyphname{ "", "", "" } ) ); - myMap.emplace( std::make_pair( MarkType::doubleTongue, SmuflGlyphname{ "doubleTongueAbove", "doubleTongueBelow", "doubleTongueAbove" } ) ); - myMap.emplace( std::make_pair( MarkType::tripleTongue, SmuflGlyphname{ "tripleTongueAbove", "tripleTongueBelow", "tripleTongueAbove" } ) ); - myMap.emplace( std::make_pair( MarkType::stopped, SmuflGlyphname{ "brassMuteClosed", "brassMuteClosed", "brassMuteClosed" } ) ); - myMap.emplace( std::make_pair( MarkType::snapPizzicato, SmuflGlyphname{ "pluckedSnapPizzicatoAbove", "pluckedSnapPizzicatoBelow", "pluckedSnapPizzicatoAbove" } ) ); - // myMap.emplace( std::make_pair( MarkType::fret, SmuflGlyphname{ "", "", "" } ) ); - // myMap.emplace( std::make_pair( MarkType::string_, SmuflGlyphname{ "", "", "" } ) ); - // myMap.emplace( std::make_pair( MarkType::hammerOn, SmuflGlyphname{ "", "", "" } ) ); - // myMap.emplace( std::make_pair( MarkType::pullOff, SmuflGlyphname{ "", "", "" } ) ); - // myMap.emplace( std::make_pair( MarkType::bend, SmuflGlyphname{ "", "", "" } ) ); - // myMap.emplace( std::make_pair( MarkType::tap, SmuflGlyphname{ "", "", "" } ) ); - myMap.emplace( std::make_pair( MarkType::heel, SmuflGlyphname{ "keyboardPedalHeel1", "keyboardPedalHeel1", "keyboardPedalHeel1" } ) ); - myMap.emplace( std::make_pair( MarkType::toe, SmuflGlyphname{ "keyboardPedalToe1", "keyboardPedalToe1", "keyboardPedalToe1" } ) ); - myMap.emplace( std::make_pair( MarkType::fingernails, SmuflGlyphname{ "pluckedWithFingernails", "pluckedWithFingernails", "pluckedWithFingernails" } ) ); - // myMap.emplace( std::make_pair( MarkType::hole, SmuflGlyphname{ "", "", "" } ) ); - // myMap.emplace( std::make_pair( MarkType::arrow, SmuflGlyphname{ "", "", "" } ) ); - // myMap.emplace( std::make_pair( MarkType::handbell, SmuflGlyphname{ "", "", "" } ) ); - myMap.emplace( std::make_pair( MarkType::otherTechnical, SmuflGlyphname{ "", "", "" } ) ); - - myMap.emplace( std::make_pair( MarkType::fermata, SmuflGlyphname{ "fermataAbove", "fermataBelow", "fermataAbove" } ) ); - myMap.emplace( std::make_pair( MarkType::fermataNormal, SmuflGlyphname{ "fermataAbove", "fermataBelow", "fermataAbove" } ) ); - myMap.emplace( std::make_pair( MarkType::fermataAngled, SmuflGlyphname{ "fermataShortAbove", "fermataShortBelow", "fermataShortAbove" } ) ); - myMap.emplace( std::make_pair( MarkType::fermataSquare, SmuflGlyphname{ "fermataLongAbove", "fermataLongBelow", "fermataLongAbove" } ) ); - myMap.emplace( std::make_pair( MarkType::fermataUpright, SmuflGlyphname{ "fermataAbove", "fermataBelow", "fermataAbove" } ) ); - myMap.emplace( std::make_pair( MarkType::fermataNormalUpright, SmuflGlyphname{ "fermataAbove", "fermataBelow", "fermataAbove" } ) ); - myMap.emplace( std::make_pair( MarkType::fermataAngledUpright, SmuflGlyphname{ "fermataShortAbove", "fermataShortBelow", "fermataShortAbove" } ) ); - myMap.emplace( std::make_pair( MarkType::fermataSquareUpright, SmuflGlyphname{ "fermataLongAbove", "fermataLongBelow", "fermataLongAbove" } ) ); - myMap.emplace( std::make_pair( MarkType::fermataInverted, SmuflGlyphname{ "fermataAbove", "fermataBelow", "fermataAbove" } ) ); - myMap.emplace( std::make_pair( MarkType::fermataNormalInverted, SmuflGlyphname{ "fermataAbove", "fermataBelow", "fermataAbove" } ) ); - myMap.emplace( std::make_pair( MarkType::fermataAngledInverted, SmuflGlyphname{ "fermataShortAbove", "fermataShortBelow", "fermataShortAbove" } ) ); - myMap.emplace( std::make_pair( MarkType::fermataSquareInverted, SmuflGlyphname{ "fermataLongAbove", "fermataLongBelow", "fermataLongAbove" } ) ); - - myMap.emplace( std::make_pair( MarkType::pedal, SmuflGlyphname{ "keyboardPedalPed", "keyboardPedalPed", "keyboardPedalPed" } ) ); - myMap.emplace( std::make_pair( MarkType::damp, SmuflGlyphname{ "keyboardPedalUp", "keyboardPedalUp", "keyboardPedalUp" } ) ); - - } - - - const std::string& MarkSmufl::getName( MarkType mark ) - { - return getName( mark, Placement::unspecified ); - } - - - const std::string& MarkSmufl::getName( MarkType mark, Placement placement ) - { - const auto& glyphNames = getSmuflGlyphname( mark ); - - switch ( placement ) - { - case Placement::unspecified: return glyphNames.unspecified; - case Placement::above: return glyphNames.above; - case Placement::below: return glyphNames.below; - default: break; - } - return glyphNames.unspecified; - } - - - char16_t MarkSmufl::getCodepoint( MarkType mark ) - { - return Smufl::findCodepoint( getName( mark ) ); - } - - - char16_t MarkSmufl::getCodepoint( MarkType mark, Placement placement ) - { - return Smufl::findCodepoint( getName( mark, placement ) ); - } - - - const SmuflGlyphname& MarkSmufl::getSmuflGlyphname( MarkType mark ) - { - const auto& theMap = getMap(); - const auto iter = theMap.find( mark ); - - if( iter == theMap.cend() ) - { - static const SmuflGlyphname emptySmuflGlyphname{ "", "", "" }; - return emptySmuflGlyphname; - } - - return iter->second; - } - - - const MarkSmuflMap& MarkSmufl::getMap() - { - return getInstance().myMap; - } - - - const MarkSmufl& MarkSmufl::getInstance() - { - static const MarkSmufl theInstance; - return theInstance; - } - bool isMarkDynamic( MarkType markType ) { return ( markType == MarkType::p ) || @@ -305,6 +134,36 @@ namespace mx ( markType == MarkType::tremoloSingleFive ); } + + bool isMarkCustom( MarkType markType ) + { + return ( markType == MarkType::customAccentTenuto ); + } + + + std::string getCustomMarkName( MarkType markType ) + { + switch ( markType ) + { + case MarkType::customAccentTenuto: + return markStringCustomAccentTenuto; + default: + break; + } + + return ""; + } + + + MarkType getMarkTypeFromCustomString( const std::string& inString ) + { + if( inString == markStringCustomAccentTenuto ) { + return api::MarkType::customAccentTenuto; + } + + return api::MarkType::customErrorUnknown; + } + int numTremoloSlashes( MarkType markType ) { @@ -340,8 +199,6 @@ namespace mx MarkData::MarkData() : markType( MarkType::unspecified ) , name{} - , smuflName{} - , smuflCodepoint{ 0 } , tickTimePosition{ 0 } , printData{} , positionData{} @@ -353,8 +210,6 @@ namespace mx MarkData::MarkData( MarkType inMarkType ) : markType( inMarkType ) , name{} - , smuflName{} - , smuflCodepoint{ 0 } , tickTimePosition{ 0 } , printData{} , positionData{} @@ -372,17 +227,12 @@ namespace mx { name = mx::core::toString( converter.convertFermata( markType ) ); } - - smuflName = MarkSmufl::getName( markType ); - smuflCodepoint = MarkSmufl::getCodepoint( markType ); } MarkData::MarkData( Placement inPlacement, MarkType inMarkType ) : markType( inMarkType ) , name{} - , smuflName{} - , smuflCodepoint{ 0 } , tickTimePosition{ 0 } , printData{} , positionData{} @@ -401,9 +251,6 @@ namespace mx { name = mx::core::toString( converter.convertFermata( markType ) ); } - - smuflName = MarkSmufl::getName( markType, positionData.placement ); - smuflCodepoint = MarkSmufl::getCodepoint( markType, positionData.placement ); } } } diff --git a/Sourcecode/mx/api/MarkData.h b/Sourcecode/mx/api/MarkData.h index 73be67476..7bdd34030 100644 --- a/Sourcecode/mx/api/MarkData.h +++ b/Sourcecode/mx/api/MarkData.h @@ -6,7 +6,6 @@ #include "mx/api/PositionData.h" #include "mx/api/PrintData.h" -#include "mx/api/Smufl.h" #include @@ -176,7 +175,15 @@ namespace mx pedal, // the typical piano pedal mark damp, // the typical piano end-pedal mark + + // these are cust additions that will be written to, and read from, the + // other-articulations (or other-*) elements. + customErrorUnknown, // used to represent an error when parsing from a string + customAccentTenuto, }; + + static constexpr const char* const markStringCustomErrorUnknown = ""; + static constexpr const char* const markStringCustomAccentTenuto = "gjhsldjhglskdjhfg"; bool isMarkDynamic( MarkType ); bool isMarkArticulation( MarkType ); @@ -185,54 +192,27 @@ namespace mx bool isMarkPedal( MarkType ); bool isMarkTechnical( MarkType ); bool isMarkTremolo( MarkType ); + bool isMarkCustom( MarkType ); + std::string getCustomMarkName( MarkType ); + MarkType getMarkTypeFromCustomString( const std::string& ); int numTremoloSlashes( MarkType ); - - using MarkSmuflEntry = std::pair; - using MarkSmuflMap = std::map; - - class MarkSmufl - { - public: - static const std::string& getName( MarkType mark ); - static const std::string& getName( MarkType mark, Placement placement ); - static char16_t getCodepoint( MarkType mark ); - static char16_t getCodepoint( MarkType mark, Placement placement ); - static const SmuflGlyphname& getSmuflGlyphname( MarkType mark ); - static const MarkSmuflMap& getMap(); - - private: - MarkSmufl(); - static const MarkSmufl& getInstance(); - MarkSmuflMap myMap; - }; - - + struct MarkData { MarkType markType; std::string name; - std::string smuflName; - char16_t smuflCodepoint; int tickTimePosition; PrintData printData; PositionData positionData; MarkData(); - - // smulf and name fields will be filled in if possible - // placement 'unspecified' will be assumed for smufl MarkData( MarkType inMarkType ); - - // smulf and name fields will be filled in if possible - // positionData.placement field will also be filled in MarkData( Placement inPlacement, MarkType inMarkType ); }; MXAPI_EQUALS_BEGIN( MarkData ) MXAPI_EQUALS_MEMBER( markType ) MXAPI_EQUALS_MEMBER( name ) - MXAPI_EQUALS_MEMBER( smuflName ) - MXAPI_EQUALS_MEMBER( smuflCodepoint ) MXAPI_EQUALS_MEMBER( tickTimePosition ) MXAPI_EQUALS_MEMBER( printData ) MXAPI_EQUALS_MEMBER( positionData ) diff --git a/Sourcecode/mx/api/Smufl.cpp b/Sourcecode/mx/api/Smufl.cpp deleted file mode 100644 index a605e764a..000000000 --- a/Sourcecode/mx/api/Smufl.cpp +++ /dev/null @@ -1,2694 +0,0 @@ -// MusicXML Class Library -// Copyright (c) by Matthew James Briggs -// Distributed under the MIT License - -#include "mx/api/Smufl.h" -#include "mx/sparsepp/spp.h" - -#include -#include - - -using SmuflPair = std::pair; -using SmuflMap = spp::sparse_hash_map; -using SmuflIter = SmuflMap::const_iterator; - -namespace mx -{ - namespace api - { - static const SmuflMap sMap = - { - { "4stringTabClef", 0xE06E }, // glyphnumber: 0, 4-string tab clef - { "6stringTabClef", 0xE06D }, // glyphnumber: 1, 6-string tab clef - { "accSagittal11LargeDiesisDown", 0xE30D }, // glyphnumber: 2, 11 large diesis down, 3° down [46 EDO] - { "accSagittal11LargeDiesisUp", 0xE30C }, // glyphnumber: 3, 11 large diesis up, (11L}, (sharp less 11M}, 3° up [46 EDO] - { "accSagittal11MediumDiesisDown", 0xE30B }, // glyphnumber: 4, 11 medium diesis down, 1°[17 31] 2°46 down, 1/4-tone down - { "accSagittal11MediumDiesisUp", 0xE30A }, // glyphnumber: 5, 11 medium diesis up, (11M}, 1°[17 31] 2°46 up, 1/4-tone up - { "accSagittal11v19LargeDiesisDown", 0xE3AB }, // glyphnumber: 6, 11:19 large diesis down - { "accSagittal11v19LargeDiesisUp", 0xE3AA }, // glyphnumber: 7, 11:19 large diesis up, (11:19L, apotome less 11:19M) - { "accSagittal11v19MediumDiesisDown", 0xE3A3 }, // glyphnumber: 8, 11:19 medium diesis down - { "accSagittal11v19MediumDiesisUp", 0xE3A2 }, // glyphnumber: 9, 11:19 medium diesis up, (11:19M, 11M plus 19s) - { "accSagittal11v49CommaDown", 0xE397 }, // glyphnumber: 10, 11:49 comma down - { "accSagittal11v49CommaUp", 0xE396 }, // glyphnumber: 11, 11:49 comma up, (11:49C, 11M less 49C) - { "accSagittal143CommaDown", 0xE395 }, // glyphnumber: 12, 143 comma down - { "accSagittal143CommaUp", 0xE394 }, // glyphnumber: 13, 143 comma up, (143C, 13L less 11M) - { "accSagittal17CommaDown", 0xE343 }, // glyphnumber: 14, 17 comma down - { "accSagittal17CommaUp", 0xE342 }, // glyphnumber: 15, 17 comma up, (17C) - { "accSagittal17KleismaDown", 0xE393 }, // glyphnumber: 16, 17 kleisma down - { "accSagittal17KleismaUp", 0xE392 }, // glyphnumber: 17, 17 kleisma up, (17k) - { "accSagittal19CommaDown", 0xE399 }, // glyphnumber: 18, 19 comma down - { "accSagittal19CommaUp", 0xE398 }, // glyphnumber: 19, 19 comma up, (19C) - { "accSagittal19SchismaDown", 0xE391 }, // glyphnumber: 20, 19 schisma down - { "accSagittal19SchismaUp", 0xE390 }, // glyphnumber: 21, 19 schisma up, (19s) - { "accSagittal23CommaDown", 0xE371 }, // glyphnumber: 22, 23 comma down, 2° down [96 EDO], 1/8-tone down - { "accSagittal23CommaUp", 0xE370 }, // glyphnumber: 23, 23 comma up, (23C}, 2° up [96 EDO], 1/8-tone up - { "accSagittal23SmallDiesisDown", 0xE39F }, // glyphnumber: 24, 23 small diesis down - { "accSagittal23SmallDiesisUp", 0xE39E }, // glyphnumber: 25, 23 small diesis up, (23S) - { "accSagittal25SmallDiesisDown", 0xE307 }, // glyphnumber: 26, 25 small diesis down, 2° down [53 EDO] - { "accSagittal25SmallDiesisUp", 0xE306 }, // glyphnumber: 27, 25 small diesis up, (25S, ~5:13S, ~37S, 5C plus 5C}, 2° up [53 EDO] - { "accSagittal35LargeDiesisDown", 0xE30F }, // glyphnumber: 28, 35 large diesis down, 2° down [50 EDO], 5/18-tone down - { "accSagittal35LargeDiesisUp", 0xE30E }, // glyphnumber: 29, 35 large diesis up, (35L, ~13L, ~125L, sharp less 35M}, 2°50 up - { "accSagittal35MediumDiesisDown", 0xE309 }, // glyphnumber: 30, 35 medium diesis down, 1°[50] 2°[27] down, 2/9-tone down - { "accSagittal35MediumDiesisUp", 0xE308 }, // glyphnumber: 31, 35 medium diesis up, (35M, ~13M, ~125M, 5C plus 7C}, 2/9-tone up - { "accSagittal49LargeDiesisDown", 0xE3A9 }, // glyphnumber: 32, 49 large diesis down - { "accSagittal49LargeDiesisUp", 0xE3A8 }, // glyphnumber: 33, 49 large diesis up, (49L, ~31L, apotome less 49M) - { "accSagittal49MediumDiesisDown", 0xE3A5 }, // glyphnumber: 34, 49 medium diesis down - { "accSagittal49MediumDiesisUp", 0xE3A4 }, // glyphnumber: 35, 49 medium diesis up, (49M, ~31M, 7C plus 7C) - { "accSagittal49SmallDiesisDown", 0xE39D }, // glyphnumber: 36, 49 small diesis down - { "accSagittal49SmallDiesisUp", 0xE39C }, // glyphnumber: 37, 49 small diesis up, (49S, ~31S) - { "accSagittal55CommaDown", 0xE345 }, // glyphnumber: 38, 55 comma down, 3° down [96 EDO], 3/16-tone down - { "accSagittal55CommaUp", 0xE344 }, // glyphnumber: 39, 55 comma up, (55C, 11M less 5C}, 3°up [96 EDO], 3/16-tone up - { "accSagittal5CommaDown", 0xE303 }, // glyphnumber: 40, 5 comma down, 1° down [22 27 29 34 41 46 53 96 EDOs], 1/12-tone down - { "accSagittal5CommaUp", 0xE302 }, // glyphnumber: 41, 5 comma up, (5C}, 1° up [22 27 29 34 41 46 53 96 EDOs], 1/12-tone up - { "accSagittal5v11SmallDiesisDown", 0xE349 }, // glyphnumber: 42, 5:11 small diesis down - { "accSagittal5v11SmallDiesisUp", 0xE348 }, // glyphnumber: 43, 5:11 small diesis up, (5:11S, ~7:13S, ~11:17S, 5:7k plus 7:11C) - { "accSagittal5v13LargeDiesisDown", 0xE3AD }, // glyphnumber: 44, 5:13 large diesis down - { "accSagittal5v13LargeDiesisUp", 0xE3AC }, // glyphnumber: 45, 5:13 large diesis up, (5:13L, ~37L, apotome less 5:13M) - { "accSagittal5v13MediumDiesisDown", 0xE3A1 }, // glyphnumber: 46, 5:13 medium diesis down - { "accSagittal5v13MediumDiesisUp", 0xE3A0 }, // glyphnumber: 47, 5:13 medium diesis up, (5:13M, ~37M, 5C plus 13C) - { "accSagittal5v19CommaDown", 0xE373 }, // glyphnumber: 48, 5:19 comma down, 1/20-tone down - { "accSagittal5v19CommaUp", 0xE372 }, // glyphnumber: 49, 5:19 comma up, (5:19C, 5C plus 19s}, 1/20-tone up - { "accSagittal5v23SmallDiesisDown", 0xE375 }, // glyphnumber: 50, 5:23 small diesis down, 2° down [60 EDO], 1/5-tone down - { "accSagittal5v23SmallDiesisUp", 0xE374 }, // glyphnumber: 51, 5:23 small diesis up, (5:23S, 5C plus 23C}, 2° up [60 EDO], 1/5-tone up - { "accSagittal5v49MediumDiesisDown", 0xE3A7 }, // glyphnumber: 52, 5:49 medium diesis down - { "accSagittal5v49MediumDiesisUp", 0xE3A6 }, // glyphnumber: 53, 5:49 medium diesis up, (5:49M, half apotome) - { "accSagittal5v7KleismaDown", 0xE301 }, // glyphnumber: 54, 5:7 kleisma down - { "accSagittal5v7KleismaUp", 0xE300 }, // glyphnumber: 55, 5:7 kleisma up, (5:7k, ~11:13k, 7C less 5C) - { "accSagittal7CommaDown", 0xE305 }, // glyphnumber: 56, 7 comma down, 1° down [43 EDO], 2° down [72 EDO], 1/6-tone down - { "accSagittal7CommaUp", 0xE304 }, // glyphnumber: 57, 7 comma up, (7C}, 1° up [43 EDO], 2° up [72 EDO], 1/6-tone up - { "accSagittal7v11CommaDown", 0xE347 }, // glyphnumber: 58, 7:11 comma down, 1° down [60 EDO], 1/10-tone down - { "accSagittal7v11CommaUp", 0xE346 }, // glyphnumber: 59, 7:11 comma up, (7:11C, ~13:17S, ~29S, 11L less 7C}, 1° up [60 EDO] - { "accSagittal7v11KleismaDown", 0xE341 }, // glyphnumber: 60, 7:11 kleisma down - { "accSagittal7v11KleismaUp", 0xE340 }, // glyphnumber: 61, 7:11 kleisma up, (7:11k, ~29k) - { "accSagittal7v19CommaDown", 0xE39B }, // glyphnumber: 62, 7:19 comma down - { "accSagittal7v19CommaUp", 0xE39A }, // glyphnumber: 63, 7:19 comma up, (7:19C, 7C less 19s) - { "accSagittalAcute", 0xE3F2 }, // glyphnumber: 64, Acute, 5 schisma up (5s}, 2 cents up - { "accSagittalDoubleFlat", 0xE335 }, // glyphnumber: 65, Double flat, (2 apotomes down)[almost all EDOs], whole-tone down - { "accSagittalDoubleFlat11v49CUp", 0xE3E9 }, // glyphnumber: 66, Double flat 11:49C-up - { "accSagittalDoubleFlat143CUp", 0xE3EB }, // glyphnumber: 67, Double flat 143C-up - { "accSagittalDoubleFlat17CUp", 0xE365 }, // glyphnumber: 68, Double flat 17C-up - { "accSagittalDoubleFlat17kUp", 0xE3ED }, // glyphnumber: 69, Double flat 17k-up - { "accSagittalDoubleFlat19CUp", 0xE3E7 }, // glyphnumber: 70, Double flat 19C-up - { "accSagittalDoubleFlat19sUp", 0xE3EF }, // glyphnumber: 71, Double flat 19s-up - { "accSagittalDoubleFlat23CUp", 0xE387 }, // glyphnumber: 72, Double flat 23C-up, 14° down [96 EDO], 7/8-tone down - { "accSagittalDoubleFlat23SUp", 0xE3E1 }, // glyphnumber: 73, Double flat 23S-up - { "accSagittalDoubleFlat25SUp", 0xE32D }, // glyphnumber: 74, Double flat 25S-up, 8°down [53 EDO] - { "accSagittalDoubleFlat49SUp", 0xE3E3 }, // glyphnumber: 75, Double flat 49S-up - { "accSagittalDoubleFlat55CUp", 0xE363 }, // glyphnumber: 76, Double flat 55C-up, 13° down [96 EDO], 13/16-tone down - { "accSagittalDoubleFlat5CUp", 0xE331 }, // glyphnumber: 77, Double flat 5C-up, 5°[22 29] 7°[34 41] 9°53 down, 11/12 tone down - { "accSagittalDoubleFlat5v11SUp", 0xE35F }, // glyphnumber: 78, Double flat 5:11S-up - { "accSagittalDoubleFlat5v19CUp", 0xE385 }, // glyphnumber: 79, Double flat 5:19C-up, 19/20-tone down - { "accSagittalDoubleFlat5v23SUp", 0xE383 }, // glyphnumber: 80, Double flat 5:23S-up, 8° down [60 EDO], 4/5-tone down - { "accSagittalDoubleFlat5v7kUp", 0xE333 }, // glyphnumber: 81, Double flat 5:7k-up - { "accSagittalDoubleFlat7CUp", 0xE32F }, // glyphnumber: 82, Double flat 7C-up, 5° down [43 EDO], 10° down [72 EDO], 5/6-tone down - { "accSagittalDoubleFlat7v11CUp", 0xE361 }, // glyphnumber: 83, Double flat 7:11C-up, 9° down [60 EDO], 9/10-tone down - { "accSagittalDoubleFlat7v11kUp", 0xE367 }, // glyphnumber: 84, Double flat 7:11k-up - { "accSagittalDoubleFlat7v19CUp", 0xE3E5 }, // glyphnumber: 85, Double flat 7:19C-up - { "accSagittalDoubleSharp", 0xE334 }, // glyphnumber: 86, Double sharp, (2 apotomes up)[almost all EDOs], whole-tone up - { "accSagittalDoubleSharp11v49CDown", 0xE3E8 }, // glyphnumber: 87, Double sharp 11:49C-down - { "accSagittalDoubleSharp143CDown", 0xE3EA }, // glyphnumber: 88, Double sharp 143C-down - { "accSagittalDoubleSharp17CDown", 0xE364 }, // glyphnumber: 89, Double sharp 17C-down - { "accSagittalDoubleSharp17kDown", 0xE3EC }, // glyphnumber: 90, Double sharp 17k-down - { "accSagittalDoubleSharp19CDown", 0xE3E6 }, // glyphnumber: 91, Double sharp 19C-down - { "accSagittalDoubleSharp19sDown", 0xE3EE }, // glyphnumber: 92, Double sharp 19s-down - { "accSagittalDoubleSharp23CDown", 0xE386 }, // glyphnumber: 93, Double sharp 23C-down, 14°up [96 EDO], 7/8-tone up - { "accSagittalDoubleSharp23SDown", 0xE3E0 }, // glyphnumber: 94, Double sharp 23S-down - { "accSagittalDoubleSharp25SDown", 0xE32C }, // glyphnumber: 95, Double sharp 25S-down, 8°up [53 EDO] - { "accSagittalDoubleSharp49SDown", 0xE3E2 }, // glyphnumber: 96, Double sharp 49S-down - { "accSagittalDoubleSharp55CDown", 0xE362 }, // glyphnumber: 97, Double sharp 55C-down, 13° up [96 EDO], 13/16-tone up - { "accSagittalDoubleSharp5CDown", 0xE330 }, // glyphnumber: 98, Double sharp 5C-down, 5°[22 29] 7°[34 41] 9°53 up, 11/12 tone up - { "accSagittalDoubleSharp5v11SDown", 0xE35E }, // glyphnumber: 99, Double sharp 5:11S-down - { "accSagittalDoubleSharp5v19CDown", 0xE384 }, // glyphnumber: 100, Double sharp 5:19C-down, 19/20-tone up - { "accSagittalDoubleSharp5v23SDown", 0xE382 }, // glyphnumber: 101, Double sharp 5:23S-down, 8° up [60 EDO], 4/5-tone up - { "accSagittalDoubleSharp5v7kDown", 0xE332 }, // glyphnumber: 102, Double sharp 5:7k-down - { "accSagittalDoubleSharp7CDown", 0xE32E }, // glyphnumber: 103, Double sharp 7C-down, 5°[43] 10°[72] up, 5/6-tone up - { "accSagittalDoubleSharp7v11CDown", 0xE360 }, // glyphnumber: 104, Double sharp 7:11C-down, 9° up [60 EDO], 9/10-tone up - { "accSagittalDoubleSharp7v11kDown", 0xE366 }, // glyphnumber: 105, Double sharp 7:11k-down - { "accSagittalDoubleSharp7v19CDown", 0xE3E4 }, // glyphnumber: 106, Double sharp 7:19C-down - { "accSagittalFlat", 0xE319 }, // glyphnumber: 107, Flat, (apotome down)[almost all EDOs], 1/2-tone down - { "accSagittalFlat11LDown", 0xE329 }, // glyphnumber: 108, Flat 11L-down, 8° up [46 EDO] - { "accSagittalFlat11MDown", 0xE327 }, // glyphnumber: 109, Flat 11M-down, 3° down [17 31 EDOs], 7° down [46 EDO], 3/4-tone down - { "accSagittalFlat11v19LDown", 0xE3DB }, // glyphnumber: 110, Flat 11:19L-down - { "accSagittalFlat11v19MDown", 0xE3D3 }, // glyphnumber: 111, Flat 11:19M-down - { "accSagittalFlat11v49CDown", 0xE3C7 }, // glyphnumber: 112, Flat 11:49C-down - { "accSagittalFlat11v49CUp", 0xE3B9 }, // glyphnumber: 113, Flat 11:49C-up - { "accSagittalFlat143CDown", 0xE3C5 }, // glyphnumber: 114, Flat 143C-down - { "accSagittalFlat143CUp", 0xE3BB }, // glyphnumber: 115, Flat 143C-up - { "accSagittalFlat17CDown", 0xE357 }, // glyphnumber: 116, Flat 17C-down - { "accSagittalFlat17CUp", 0xE351 }, // glyphnumber: 117, Flat 17C-up - { "accSagittalFlat17kDown", 0xE3C3 }, // glyphnumber: 118, Flat 17k-down - { "accSagittalFlat17kUp", 0xE3BD }, // glyphnumber: 119, Flat 17k-up - { "accSagittalFlat19CDown", 0xE3C9 }, // glyphnumber: 120, Flat 19C-down - { "accSagittalFlat19CUp", 0xE3B7 }, // glyphnumber: 121, Flat 19C-up - { "accSagittalFlat19sDown", 0xE3C1 }, // glyphnumber: 122, Flat 19s-down - { "accSagittalFlat19sUp", 0xE3BF }, // glyphnumber: 123, Flat 19s-up - { "accSagittalFlat23CDown", 0xE37D }, // glyphnumber: 124, Flat 23C-down, 10° down [96 EDO], 5/8-tone down - { "accSagittalFlat23CUp", 0xE37B }, // glyphnumber: 125, Flat 23C-up, 6° down [96 EDO], 3/8-tone down - { "accSagittalFlat23SDown", 0xE3CF }, // glyphnumber: 126, Flat 23S-down - { "accSagittalFlat23SUp", 0xE3B1 }, // glyphnumber: 127, Flat 23S-up - { "accSagittalFlat25SDown", 0xE323 }, // glyphnumber: 128, Flat 25S-down, 7° down [53 EDO] - { "accSagittalFlat25SUp", 0xE311 }, // glyphnumber: 129, Flat 25S-up, 3° down [53 EDO] - { "accSagittalFlat35LDown", 0xE32B }, // glyphnumber: 130, Flat 35L-down, 5° down [50 EDO] - { "accSagittalFlat35MDown", 0xE325 }, // glyphnumber: 131, Flat 35M-down, 4° down [50 EDO], 6° down [27 EDO], 13/18-tone down - { "accSagittalFlat49LDown", 0xE3D9 }, // glyphnumber: 132, Flat 49L-down - { "accSagittalFlat49MDown", 0xE3D5 }, // glyphnumber: 133, Flat 49M-down - { "accSagittalFlat49SDown", 0xE3CD }, // glyphnumber: 134, Flat 49S-down - { "accSagittalFlat49SUp", 0xE3B3 }, // glyphnumber: 135, Flat 49S-up - { "accSagittalFlat55CDown", 0xE359 }, // glyphnumber: 136, Flat 55C-down, 11° down [96 EDO], 11/16-tone down - { "accSagittalFlat55CUp", 0xE34F }, // glyphnumber: 137, Flat 55C-up, 5° down [96 EDO], 5/16-tone down - { "accSagittalFlat5CDown", 0xE31F }, // glyphnumber: 138, Flat 5C-down, 4°[22 29] 5°[27 34 41] 6°[39 46 53] down, 7/12-tone down - { "accSagittalFlat5CUp", 0xE315 }, // glyphnumber: 139, Flat 5C-up, 2°[22,29] 3°[34 41] 4°[46 53 60] down, 5/12-tone down - { "accSagittalFlat5v11SDown", 0xE35D }, // glyphnumber: 140, Flat 5:11S-down - { "accSagittalFlat5v11SUp", 0xE34B }, // glyphnumber: 141, Flat 5:11S-up - { "accSagittalFlat5v13LDown", 0xE3DD }, // glyphnumber: 142, Flat 5:13L-down - { "accSagittalFlat5v13MDown", 0xE3D1 }, // glyphnumber: 143, Flat 5:13M-down - { "accSagittalFlat5v19CDown", 0xE37F }, // glyphnumber: 144, Flat 5:19C-down, 11/20-tone down - { "accSagittalFlat5v19CUp", 0xE379 }, // glyphnumber: 145, Flat 5:19C-up, 9/20-tone down - { "accSagittalFlat5v23SDown", 0xE381 }, // glyphnumber: 146, Flat 5:23S-down, 7° down [60 EDO], 7/10-tone down - { "accSagittalFlat5v23SUp", 0xE377 }, // glyphnumber: 147, Flat 5:23S-up, 3° down [60 EDO], 3/10-tone down - { "accSagittalFlat5v49MDown", 0xE3D7 }, // glyphnumber: 148, Flat 5:49M-down - { "accSagittalFlat5v7kDown", 0xE31D }, // glyphnumber: 149, Flat 5:7k-down - { "accSagittalFlat5v7kUp", 0xE317 }, // glyphnumber: 150, Flat 5:7k-up - { "accSagittalFlat7CDown", 0xE321 }, // glyphnumber: 151, Flat 7C-down, 4° down [43 EDO], 8° down [72 EDO], 2/3-tone down - { "accSagittalFlat7CUp", 0xE313 }, // glyphnumber: 152, Flat 7C-up, 2° down [43 EDO], 4° down [72 EDO], 1/3-tone down - { "accSagittalFlat7v11CDown", 0xE35B }, // glyphnumber: 153, Flat 7:11C-down, 6° down [60 EDO], 3/5- tone down - { "accSagittalFlat7v11CUp", 0xE34D }, // glyphnumber: 154, Flat 7:11C-up, 4° down [60 EDO], 2/5-tone down - { "accSagittalFlat7v11kDown", 0xE355 }, // glyphnumber: 155, Flat 7:11k-down - { "accSagittalFlat7v11kUp", 0xE353 }, // glyphnumber: 156, Flat 7:11k-up - { "accSagittalFlat7v19CDown", 0xE3CB }, // glyphnumber: 157, Flat 7:19C-down - { "accSagittalFlat7v19CUp", 0xE3B5 }, // glyphnumber: 158, Flat 7:19C-up - { "accSagittalGrave", 0xE3F3 }, // glyphnumber: 159, Grave, 5 schisma down, 2 cents down - { "accSagittalShaftDown", 0xE3F1 }, // glyphnumber: 160, Shaft down, (natural for use with only diacritics down) - { "accSagittalShaftUp", 0xE3F0 }, // glyphnumber: 161, Shaft up, (natural for use with only diacritics up) - { "accSagittalSharp", 0xE318 }, // glyphnumber: 162, Sharp, (apotome up)[almost all EDOs], 1/2-tone up - { "accSagittalSharp11LUp", 0xE328 }, // glyphnumber: 163, Sharp 11L-up, 8° up [46 EDO] - { "accSagittalSharp11MUp", 0xE326 }, // glyphnumber: 164, Sharp 11M-up, 3° up [17 31 EDOs], 7° up [46 EDO], 3/4-tone up - { "accSagittalSharp11v19LUp", 0xE3DA }, // glyphnumber: 165, Sharp 11:19L-up - { "accSagittalSharp11v19MUp", 0xE3D2 }, // glyphnumber: 166, Sharp 11:19M-up - { "accSagittalSharp11v49CDown", 0xE3B8 }, // glyphnumber: 167, Sharp 11:49C-down - { "accSagittalSharp11v49CUp", 0xE3C6 }, // glyphnumber: 168, Sharp 11:49C-up - { "accSagittalSharp143CDown", 0xE3BA }, // glyphnumber: 169, Sharp 143C-down - { "accSagittalSharp143CUp", 0xE3C4 }, // glyphnumber: 170, Sharp 143C-up - { "accSagittalSharp17CDown", 0xE350 }, // glyphnumber: 171, Sharp 17C-down - { "accSagittalSharp17CUp", 0xE356 }, // glyphnumber: 172, Sharp 17C-up - { "accSagittalSharp17kDown", 0xE3BC }, // glyphnumber: 173, Sharp 17k-down - { "accSagittalSharp17kUp", 0xE3C2 }, // glyphnumber: 174, Sharp 17k-up - { "accSagittalSharp19CDown", 0xE3B6 }, // glyphnumber: 175, Sharp 19C-down - { "accSagittalSharp19CUp", 0xE3C8 }, // glyphnumber: 176, Sharp 19C-up - { "accSagittalSharp19sDown", 0xE3BE }, // glyphnumber: 177, Sharp 19s-down - { "accSagittalSharp19sUp", 0xE3C0 }, // glyphnumber: 178, Sharp 19s-up - { "accSagittalSharp23CDown", 0xE37A }, // glyphnumber: 179, Sharp 23C-down, 6° up [96 EDO], 3/8-tone up - { "accSagittalSharp23CUp", 0xE37C }, // glyphnumber: 180, Sharp 23C-up, 10° up [96 EDO], 5/8-tone up - { "accSagittalSharp23SDown", 0xE3B0 }, // glyphnumber: 181, Sharp 23S-down - { "accSagittalSharp23SUp", 0xE3CE }, // glyphnumber: 182, Sharp 23S-up - { "accSagittalSharp25SDown", 0xE310 }, // glyphnumber: 183, Sharp 25S-down, 3° up [53 EDO] - { "accSagittalSharp25SUp", 0xE322 }, // glyphnumber: 184, Sharp 25S-up, 7° up [53 EDO] - { "accSagittalSharp35LUp", 0xE32A }, // glyphnumber: 185, Sharp 35L-up, 5° up [50 EDO] - { "accSagittalSharp35MUp", 0xE324 }, // glyphnumber: 186, Sharp 35M-up, 4° up [50 EDO], 6° up [27 EDO], 13/18-tone up - { "accSagittalSharp49LUp", 0xE3D8 }, // glyphnumber: 187, Sharp 49L-up - { "accSagittalSharp49MUp", 0xE3D4 }, // glyphnumber: 188, Sharp 49M-up - { "accSagittalSharp49SDown", 0xE3B2 }, // glyphnumber: 189, Sharp 49S-down - { "accSagittalSharp49SUp", 0xE3CC }, // glyphnumber: 190, Sharp 49S-up - { "accSagittalSharp55CDown", 0xE34E }, // glyphnumber: 191, Sharp 55C-down, 5° up [96 EDO], 5/16-tone up - { "accSagittalSharp55CUp", 0xE358 }, // glyphnumber: 192, Sharp 55C-up, 11° up [96 EDO], 11/16-tone up - { "accSagittalSharp5CDown", 0xE314 }, // glyphnumber: 193, Sharp 5C-down, 2°[22 29] 3°[34 41] 4°[46 53 60] up, 5/12-tone up - { "accSagittalSharp5CUp", 0xE31E }, // glyphnumber: 194, Sharp 5C-up, 4°[22 29] 5°[27 34 41] 6°[39 46 53] up, 7/12-tone up - { "accSagittalSharp5v11SDown", 0xE34A }, // glyphnumber: 195, Sharp 5:11S-down - { "accSagittalSharp5v11SUp", 0xE35C }, // glyphnumber: 196, Sharp 5:11S-up - { "accSagittalSharp5v13LUp", 0xE3DC }, // glyphnumber: 197, Sharp 5:13L-up - { "accSagittalSharp5v13MUp", 0xE3D0 }, // glyphnumber: 198, Sharp 5:13M-up - { "accSagittalSharp5v19CDown", 0xE378 }, // glyphnumber: 199, Sharp 5:19C-down, 9/20-tone up - { "accSagittalSharp5v19CUp", 0xE37E }, // glyphnumber: 200, Sharp 5:19C-up, 11/20-tone up - { "accSagittalSharp5v23SDown", 0xE376 }, // glyphnumber: 201, Sharp 5:23S-down, 3° up [60 EDO], 3/10-tone up - { "accSagittalSharp5v23SUp", 0xE380 }, // glyphnumber: 202, Sharp 5:23S-up, 7° up [60 EDO], 7/10-tone up - { "accSagittalSharp5v49MUp", 0xE3D6 }, // glyphnumber: 203, Sharp 5:49M-up, (one and a half apotomes) - { "accSagittalSharp5v7kDown", 0xE316 }, // glyphnumber: 204, Sharp 5:7k-down - { "accSagittalSharp5v7kUp", 0xE31C }, // glyphnumber: 205, Sharp 5:7k-up - { "accSagittalSharp7CDown", 0xE312 }, // glyphnumber: 206, Sharp 7C-down, 2° up [43 EDO], 4° up [72 EDO], 1/3-tone up - { "accSagittalSharp7CUp", 0xE320 }, // glyphnumber: 207, Sharp 7C-up, 4° up [43 EDO], 8° up [72 EDO], 2/3-tone up - { "accSagittalSharp7v11CDown", 0xE34C }, // glyphnumber: 208, Sharp 7:11C-down, 4° up [60 EDO], 2/5-tone up - { "accSagittalSharp7v11CUp", 0xE35A }, // glyphnumber: 209, Sharp 7:11C-up, 6° up [60 EDO], 3/5- tone up - { "accSagittalSharp7v11kDown", 0xE352 }, // glyphnumber: 210, Sharp 7:11k-down - { "accSagittalSharp7v11kUp", 0xE354 }, // glyphnumber: 211, Sharp 7:11k-up - { "accSagittalSharp7v19CDown", 0xE3B4 }, // glyphnumber: 212, Sharp 7:19C-down - { "accSagittalSharp7v19CUp", 0xE3CA }, // glyphnumber: 213, Sharp 7:19C-up - { "accSagittalUnused1", 0xE31A }, // glyphnumber: 214, Unused - { "accSagittalUnused2", 0xE31B }, // glyphnumber: 215, Unused - { "accSagittalUnused3", 0xE3DE }, // glyphnumber: 216, Unused - { "accSagittalUnused4", 0xE3DF }, // glyphnumber: 217, Unused - { "accdnCombDot", 0xE8CA }, // glyphnumber: 218, Combining accordion coupler dot - { "accdnCombLH2RanksEmpty", 0xE8C8 }, // glyphnumber: 219, Combining left hand, 2 ranks, empty - { "accdnCombLH3RanksEmptySquare", 0xE8C9 }, // glyphnumber: 220, Combining left hand, 3 ranks, empty (square) - { "accdnCombRH3RanksEmpty", 0xE8C6 }, // glyphnumber: 221, Combining right hand, 3 ranks, empty - { "accdnCombRH4RanksEmpty", 0xE8C7 }, // glyphnumber: 222, Combining right hand, 4 ranks, empty - { "accdnDiatonicClef", 0xE079 }, // glyphnumber: 223, Diatonic accordion clef - { "accdnLH2Ranks16Round", 0xE8BC }, // glyphnumber: 224, Left hand, 2 ranks, 16' stop (round) - { "accdnLH2Ranks8Plus16Round", 0xE8BD }, // glyphnumber: 225, Left hand, 2 ranks, 8' stop + 16' stop (round) - { "accdnLH2Ranks8Round", 0xE8BB }, // glyphnumber: 226, Left hand, 2 ranks, 8' stop (round) - { "accdnLH2RanksFullMasterRound", 0xE8C0 }, // glyphnumber: 227, Left hand, 2 ranks, full master (round) - { "accdnLH2RanksMasterPlus16Round", 0xE8BF }, // glyphnumber: 228, Left hand, 2 ranks, master + 16' stop (round) - { "accdnLH2RanksMasterRound", 0xE8BE }, // glyphnumber: 229, Left hand, 2 ranks, master (round) - { "accdnLH3Ranks2Plus8Square", 0xE8C4 }, // glyphnumber: 230, Left hand, 3 ranks, 2' stop + 8' stop (square) - { "accdnLH3Ranks2Square", 0xE8C2 }, // glyphnumber: 231, Left hand, 3 ranks, 2' stop (square) - { "accdnLH3Ranks8Square", 0xE8C1 }, // glyphnumber: 232, Left hand, 3 ranks, 8' stop (square) - { "accdnLH3RanksDouble8Square", 0xE8C3 }, // glyphnumber: 233, Left hand, 3 ranks, double 8' stop (square) - { "accdnLH3RanksTuttiSquare", 0xE8C5 }, // glyphnumber: 234, Left hand, 3 ranks, 2' stop + double 8' stop (tutti) (square) - { "accdnPull", 0xE8CC }, // glyphnumber: 235, Pull - { "accdnPush", 0xE8CB }, // glyphnumber: 236, Push - { "accdnRH3RanksAccordion", 0xE8AC }, // glyphnumber: 237, Right hand, 3 ranks, 8' stop + upper tremolo 8' stop + 16' stop (accordion) - { "accdnRH3RanksAuthenticMusette", 0xE8A8 }, // glyphnumber: 238, Right hand, 3 ranks, lower tremolo 8' stop + 8' stop + upper tremolo 8' stop (authentic musette) - { "accdnRH3RanksBandoneon", 0xE8AB }, // glyphnumber: 239, Right hand, 3 ranks, 8' stop + 16' stop (bandoneón) - { "accdnRH3RanksBassoon", 0xE8A4 }, // glyphnumber: 240, Right hand, 3 ranks, 16' stop (bassoon) - { "accdnRH3RanksClarinet", 0xE8A1 }, // glyphnumber: 241, Right hand, 3 ranks, 8' stop (clarinet) - { "accdnRH3RanksDoubleTremoloLower8ve", 0xE8B1 }, // glyphnumber: 242, Right hand, 3 ranks, lower tremolo 8' stop + 8' stop + upper tremolo 8' stop + 16' stop - { "accdnRH3RanksDoubleTremoloUpper8ve", 0xE8B2 }, // glyphnumber: 243, Right hand, 3 ranks, 4' stop + lower tremolo 8' stop + 8' stop + upper tremolo 8' stop - { "accdnRH3RanksFullFactory", 0xE8B3 }, // glyphnumber: 244, Right hand, 3 ranks, 4' stop + lower tremolo 8' stop + 8' stop + upper tremolo 8' stop + 16' stop - { "accdnRH3RanksHarmonium", 0xE8AA }, // glyphnumber: 245, Right hand, 3 ranks, 4' stop + 8' stop + 16' stop (harmonium) - { "accdnRH3RanksImitationMusette", 0xE8A7 }, // glyphnumber: 246, Right hand, 3 ranks, 4' stop + 8' stop + upper tremolo 8' stop (imitation musette) - { "accdnRH3RanksLowerTremolo8", 0xE8A3 }, // glyphnumber: 247, Right hand, 3 ranks, lower tremolo 8' stop - { "accdnRH3RanksMaster", 0xE8AD }, // glyphnumber: 248, Right hand, 3 ranks, 4' stop + lower tremolo 8' stop + upper tremolo 8' stop + 16' stop (master) - { "accdnRH3RanksOboe", 0xE8A5 }, // glyphnumber: 249, Right hand, 3 ranks, 4' stop + 8' stop (oboe) - { "accdnRH3RanksOrgan", 0xE8A9 }, // glyphnumber: 250, Right hand, 3 ranks, 4' stop + 16' stop (organ) - { "accdnRH3RanksPiccolo", 0xE8A0 }, // glyphnumber: 251, Right hand, 3 ranks, 4' stop (piccolo) - { "accdnRH3RanksTremoloLower8ve", 0xE8AF }, // glyphnumber: 252, Right hand, 3 ranks, lower tremolo 8' stop + upper tremolo 8' stop + 16' stop - { "accdnRH3RanksTremoloUpper8ve", 0xE8B0 }, // glyphnumber: 253, Right hand, 3 ranks, 4' stop + lower tremolo 8' stop + upper tremolo 8' stop - { "accdnRH3RanksTwoChoirs", 0xE8AE }, // glyphnumber: 254, Right hand, 3 ranks, lower tremolo 8' stop + upper tremolo 8' stop - { "accdnRH3RanksUpperTremolo8", 0xE8A2 }, // glyphnumber: 255, Right hand, 3 ranks, upper tremolo 8' stop - { "accdnRH3RanksViolin", 0xE8A6 }, // glyphnumber: 256, Right hand, 3 ranks, 8' stop + upper tremolo 8' stop (violin) - { "accdnRH4RanksAlto", 0xE8B5 }, // glyphnumber: 257, Right hand, 4 ranks, alto - { "accdnRH4RanksBassAlto", 0xE8BA }, // glyphnumber: 258, Right hand, 4 ranks, bass/alto - { "accdnRH4RanksMaster", 0xE8B7 }, // glyphnumber: 259, Right hand, 4 ranks, master - { "accdnRH4RanksSoftBass", 0xE8B8 }, // glyphnumber: 260, Right hand, 4 ranks, soft bass - { "accdnRH4RanksSoftTenor", 0xE8B9 }, // glyphnumber: 261, Right hand, 4 ranks, soft tenor - { "accdnRH4RanksSoprano", 0xE8B4 }, // glyphnumber: 262, Right hand, 4 ranks, soprano - { "accdnRH4RanksTenor", 0xE8B6 }, // glyphnumber: 263, Right hand, 4 ranks, tenor - { "accdnRicochet2", 0xE8CD }, // glyphnumber: 264, Ricochet (2 tones) - { "accdnRicochet3", 0xE8CE }, // glyphnumber: 265, Ricochet (3 tones) - { "accdnRicochet4", 0xE8CF }, // glyphnumber: 266, Ricochet (4 tones) - { "accdnRicochet5", 0xE8D0 }, // glyphnumber: 267, Ricochet (5 tones) - { "accdnRicochet6", 0xE8D1 }, // glyphnumber: 268, Ricochet (6 tones) - { "accdnRicochetStem2", 0xE8D2 }, // glyphnumber: 269, Combining ricochet for stem (2 tones) - { "accdnRicochetStem3", 0xE8D3 }, // glyphnumber: 270, Combining ricochet for stem (3 tones) - { "accdnRicochetStem4", 0xE8D4 }, // glyphnumber: 271, Combining ricochet for stem (4 tones) - { "accdnRicochetStem5", 0xE8D5 }, // glyphnumber: 272, Combining ricochet for stem (5 tones) - { "accdnRicochetStem6", 0xE8D6 }, // glyphnumber: 273, Combining ricochet for stem (6 tones) - { "accidental1CommaFlat", 0xE454 }, // glyphnumber: 274, 1-comma flat - { "accidental1CommaSharp", 0xE450 }, // glyphnumber: 275, 1-comma sharp - { "accidental2CommaFlat", 0xE455 }, // glyphnumber: 276, 2-comma flat - { "accidental2CommaSharp", 0xE451 }, // glyphnumber: 277, 2-comma sharp - { "accidental3CommaFlat", 0xE456 }, // glyphnumber: 278, 3-comma flat - { "accidental3CommaSharp", 0xE452 }, // glyphnumber: 279, 3-comma sharp - { "accidental4CommaFlat", 0xE457 }, // glyphnumber: 280, 4-comma flat - { "accidental5CommaSharp", 0xE453 }, // glyphnumber: 281, 5-comma sharp - { "accidentalArrowDown", 0xE27B }, // glyphnumber: 282, Arrow down (lower by one quarter-tone) - { "accidentalArrowUp", 0xE27A }, // glyphnumber: 283, Arrow up (raise by one quarter-tone) - { "accidentalBakiyeFlat", 0xE442 }, // glyphnumber: 284, Bakiye (flat) - { "accidentalBakiyeSharp", 0xE445 }, // glyphnumber: 285, Bakiye (sharp) - { "accidentalBracketLeft", 0xE26C }, // glyphnumber: 286, Accidental bracket, left - { "accidentalBracketRight", 0xE26D }, // glyphnumber: 287, Accidental bracket, right - { "accidentalBuyukMucennebFlat", 0xE440 }, // glyphnumber: 288, Büyük mücenneb (flat) - { "accidentalBuyukMucennebSharp", 0xE447 }, // glyphnumber: 289, Büyük mücenneb (sharp) - { "accidentalCombiningCloseCurlyBrace", 0xE2EF }, // glyphnumber: 290, Combining close curly brace - { "accidentalCombiningLower17Schisma", 0xE2E6 }, // glyphnumber: 291, Combining lower by one 17-limit schisma - { "accidentalCombiningLower19Schisma", 0xE2E8 }, // glyphnumber: 292, Combining lower by one 19-limit schisma - { "accidentalCombiningLower23Limit29LimitComma", 0xE2EA }, // glyphnumber: 293, Combining lower by one 23-limit comma or 29-limit comma - { "accidentalCombiningLower31Schisma", 0xE2EC }, // glyphnumber: 294, Combining lower by one 31-limit schisma - { "accidentalCombiningLower53LimitComma", 0xE2F7 }, // glyphnumber: 295, Combining lower by one 53-limit comma - { "accidentalCombiningOpenCurlyBrace", 0xE2EE }, // glyphnumber: 296, Combining open curly brace - { "accidentalCombiningRaise17Schisma", 0xE2E7 }, // glyphnumber: 297, Combining raise by one 17-limit schisma - { "accidentalCombiningRaise19Schisma", 0xE2E9 }, // glyphnumber: 298, Combining raise by one 19-limit schisma - { "accidentalCombiningRaise23Limit29LimitComma", 0xE2EB }, // glyphnumber: 299, Combining raise by one 23-limit comma or 29-limit comma - { "accidentalCombiningRaise31Schisma", 0xE2ED }, // glyphnumber: 300, Combining raise by one 31-limit schisma - { "accidentalCombiningRaise53LimitComma", 0xE2F8 }, // glyphnumber: 301, Combining raise by one 53-limit comma - { "accidentalCommaSlashDown", 0xE47A }, // glyphnumber: 302, Syntonic/Didymus comma (80:81) down (Bosanquet) - { "accidentalCommaSlashUp", 0xE479 }, // glyphnumber: 303, Syntonic/Didymus comma (80:81) up (Bosanquet) - { "accidentalDoubleFlat", 0xE264 }, // glyphnumber: 304, Double flat - { "accidentalDoubleFlatArabic", 0xED30 }, // glyphnumber: 305, Arabic double flat - { "accidentalDoubleFlatEqualTempered", 0xE2F0 }, // glyphnumber: 306, Double flat equal tempered semitone - { "accidentalDoubleFlatOneArrowDown", 0xE2C0 }, // glyphnumber: 307, Double flat lowered by one syntonic comma - { "accidentalDoubleFlatOneArrowUp", 0xE2C5 }, // glyphnumber: 308, Double flat raised by one syntonic comma - { "accidentalDoubleFlatReversed", 0xE483 }, // glyphnumber: 309, Reversed double flat - { "accidentalDoubleFlatThreeArrowsDown", 0xE2D4 }, // glyphnumber: 310, Double flat lowered by three syntonic commas - { "accidentalDoubleFlatThreeArrowsUp", 0xE2D9 }, // glyphnumber: 311, Double flat raised by three syntonic commas - { "accidentalDoubleFlatTurned", 0xE485 }, // glyphnumber: 312, Turned double flat - { "accidentalDoubleFlatTwoArrowsDown", 0xE2CA }, // glyphnumber: 313, Double flat lowered by two syntonic commas - { "accidentalDoubleFlatTwoArrowsUp", 0xE2CF }, // glyphnumber: 314, Double flat raised by two syntonic commas - { "accidentalDoubleSharp", 0xE263 }, // glyphnumber: 315, Double sharp - { "accidentalDoubleSharpArabic", 0xED38 }, // glyphnumber: 316, Arabic double sharp - { "accidentalDoubleSharpEqualTempered", 0xE2F4 }, // glyphnumber: 317, Double sharp equal tempered semitone - { "accidentalDoubleSharpOneArrowDown", 0xE2C4 }, // glyphnumber: 318, Double sharp lowered by one syntonic comma - { "accidentalDoubleSharpOneArrowUp", 0xE2C9 }, // glyphnumber: 319, Double sharp raised by one syntonic comma - { "accidentalDoubleSharpThreeArrowsDown", 0xE2D8 }, // glyphnumber: 320, Double sharp lowered by three syntonic commas - { "accidentalDoubleSharpThreeArrowsUp", 0xE2DD }, // glyphnumber: 321, Double sharp raised by three syntonic commas - { "accidentalDoubleSharpTwoArrowsDown", 0xE2CE }, // glyphnumber: 322, Double sharp lowered by two syntonic commas - { "accidentalDoubleSharpTwoArrowsUp", 0xE2D3 }, // glyphnumber: 323, Double sharp raised by two syntonic commas - { "accidentalEnharmonicAlmostEqualTo", 0xE2FA }, // glyphnumber: 324, Enharmonically reinterpret accidental almost equal to - { "accidentalEnharmonicEquals", 0xE2FB }, // glyphnumber: 325, Enharmonically reinterpret accidental equals - { "accidentalEnharmonicTilde", 0xE2F9 }, // glyphnumber: 326, Enharmonically reinterpret accidental tilde - { "accidentalFilledReversedFlatAndFlat", 0xE296 }, // glyphnumber: 327, Filled reversed flat and flat - { "accidentalFilledReversedFlatAndFlatArrowDown", 0xE298 }, // glyphnumber: 328, Filled reversed flat and flat with arrow down - { "accidentalFilledReversedFlatAndFlatArrowUp", 0xE297 }, // glyphnumber: 329, Filled reversed flat and flat with arrow up - { "accidentalFilledReversedFlatArrowDown", 0xE293 }, // glyphnumber: 330, Filled reversed flat with arrow down - { "accidentalFilledReversedFlatArrowUp", 0xE292 }, // glyphnumber: 331, Filled reversed flat with arrow up - { "accidentalFiveQuarterTonesFlatArrowDown", 0xE279 }, // glyphnumber: 332, Five-quarter-tones flat - { "accidentalFiveQuarterTonesSharpArrowUp", 0xE276 }, // glyphnumber: 333, Five-quarter-tones sharp - { "accidentalFlat", 0xE260 }, // glyphnumber: 334, Flat - { "accidentalFlatArabic", 0xED32 }, // glyphnumber: 335, Arabic half-tone flat - { "accidentalFlatEqualTempered", 0xE2F1 }, // glyphnumber: 336, Flat equal tempered semitone - { "accidentalFlatLoweredStockhausen", 0xED53 }, // glyphnumber: 337, Lowered flat (Stockhausen) - { "accidentalFlatOneArrowDown", 0xE2C1 }, // glyphnumber: 338, Flat lowered by one syntonic comma - { "accidentalFlatOneArrowUp", 0xE2C6 }, // glyphnumber: 339, Flat raised by one syntonic comma - { "accidentalFlatRaisedStockhausen", 0xED52 }, // glyphnumber: 340, Raised flat (Stockhausen) - { "accidentalFlatRepeatedLineStockhausen", 0xED5C }, // glyphnumber: 341, Repeated flat, note on line (Stockhausen) - { "accidentalFlatRepeatedSpaceStockhausen", 0xED5B }, // glyphnumber: 342, Repeated flat, note in space (Stockhausen) - { "accidentalFlatThreeArrowsDown", 0xE2D5 }, // glyphnumber: 343, Flat lowered by three syntonic commas - { "accidentalFlatThreeArrowsUp", 0xE2DA }, // glyphnumber: 344, Flat raised by three syntonic commas - { "accidentalFlatTurned", 0xE484 }, // glyphnumber: 345, Turned flat - { "accidentalFlatTwoArrowsDown", 0xE2CB }, // glyphnumber: 346, Flat lowered by two syntonic commas - { "accidentalFlatTwoArrowsUp", 0xE2D0 }, // glyphnumber: 347, Flat raised by two syntonic commas - { "accidentalHalfSharpArrowDown", 0xE29A }, // glyphnumber: 348, Half sharp with arrow down - { "accidentalHalfSharpArrowUp", 0xE299 }, // glyphnumber: 349, Half sharp with arrow up - { "accidentalJohnston13", 0xE2B6 }, // glyphnumber: 350, Thirteen (raise by 65:64) - { "accidentalJohnston31", 0xE2B7 }, // glyphnumber: 351, Inverted 13 (lower by 65:64) - { "accidentalJohnstonDown", 0xE2B5 }, // glyphnumber: 352, Down arrow (lower by 33:32) - { "accidentalJohnstonEl", 0xE2B2 }, // glyphnumber: 353, Inverted seven (raise by 36:35) - { "accidentalJohnstonMinus", 0xE2B1 }, // glyphnumber: 354, Minus (lower by 81:80) - { "accidentalJohnstonPlus", 0xE2B0 }, // glyphnumber: 355, Plus (raise by 81:80) - { "accidentalJohnstonSeven", 0xE2B3 }, // glyphnumber: 356, Seven (lower by 36:35) - { "accidentalJohnstonUp", 0xE2B4 }, // glyphnumber: 357, Up arrow (raise by 33:32) - { "accidentalKomaFlat", 0xE443 }, // glyphnumber: 358, Koma (flat) - { "accidentalKomaSharp", 0xE444 }, // glyphnumber: 359, Koma (sharp) - { "accidentalKoron", 0xE460 }, // glyphnumber: 360, Koron (quarter tone flat) - { "accidentalKucukMucennebFlat", 0xE441 }, // glyphnumber: 361, Küçük mücenneb (flat) - { "accidentalKucukMucennebSharp", 0xE446 }, // glyphnumber: 362, Küçük mücenneb (sharp) - { "accidentalLargeDoubleSharp", 0xE47D }, // glyphnumber: 363, Large double sharp - { "accidentalLowerOneSeptimalComma", 0xE2DE }, // glyphnumber: 364, Lower by one septimal comma - { "accidentalLowerOneTridecimalQuartertone", 0xE2E4 }, // glyphnumber: 365, Lower by one tridecimal quartertone - { "accidentalLowerOneUndecimalQuartertone", 0xE2E2 }, // glyphnumber: 366, Lower by one undecimal quartertone - { "accidentalLowerTwoSeptimalCommas", 0xE2E0 }, // glyphnumber: 367, Lower by two septimal commas - { "accidentalLoweredStockhausen", 0xED51 }, // glyphnumber: 368, Lowered (Stockhausen) - { "accidentalNarrowReversedFlat", 0xE284 }, // glyphnumber: 369, Narrow reversed flat(quarter-tone flat) - { "accidentalNarrowReversedFlatAndFlat", 0xE285 }, // glyphnumber: 370, Narrow reversed flat and flat(three-quarter-tones flat) - { "accidentalNatural", 0xE261 }, // glyphnumber: 371, Natural - { "accidentalNaturalArabic", 0xED34 }, // glyphnumber: 372, Arabic natural - { "accidentalNaturalEqualTempered", 0xE2F2 }, // glyphnumber: 373, Natural equal tempered semitone - { "accidentalNaturalFlat", 0xE267 }, // glyphnumber: 374, Natural flat - { "accidentalNaturalLoweredStockhausen", 0xED55 }, // glyphnumber: 375, Lowered natural (Stockhausen) - { "accidentalNaturalOneArrowDown", 0xE2C2 }, // glyphnumber: 376, Natural lowered by one syntonic comma - { "accidentalNaturalOneArrowUp", 0xE2C7 }, // glyphnumber: 377, Natural raised by one syntonic comma - { "accidentalNaturalRaisedStockhausen", 0xED54 }, // glyphnumber: 378, Raised natural (Stockhausen) - { "accidentalNaturalReversed", 0xE482 }, // glyphnumber: 379, Reversed natural - { "accidentalNaturalSharp", 0xE268 }, // glyphnumber: 380, Natural sharp - { "accidentalNaturalThreeArrowsDown", 0xE2D6 }, // glyphnumber: 381, Natural lowered by three syntonic commas - { "accidentalNaturalThreeArrowsUp", 0xE2DB }, // glyphnumber: 382, Natural raised by three syntonic commas - { "accidentalNaturalTwoArrowsDown", 0xE2CC }, // glyphnumber: 383, Natural lowered by two syntonic commas - { "accidentalNaturalTwoArrowsUp", 0xE2D1 }, // glyphnumber: 384, Natural raised by two syntonic commas - { "accidentalOneAndAHalfSharpsArrowDown", 0xE29C }, // glyphnumber: 385, One and a half sharps with arrow down - { "accidentalOneAndAHalfSharpsArrowUp", 0xE29B }, // glyphnumber: 386, One and a half sharps with arrow up - { "accidentalOneQuarterToneFlatFerneyhough", 0xE48F }, // glyphnumber: 387, One-quarter-tone flat (Ferneyhough) - { "accidentalOneQuarterToneFlatStockhausen", 0xED59 }, // glyphnumber: 388, One-quarter-tone flat (Stockhausen) - { "accidentalOneQuarterToneSharpFerneyhough", 0xE48E }, // glyphnumber: 389, One-quarter-tone sharp (Ferneyhough) - { "accidentalOneQuarterToneSharpStockhausen", 0xED58 }, // glyphnumber: 390, One-quarter-tone sharp (Stockhausen) - { "accidentalOneThirdToneFlatFerneyhough", 0xE48B }, // glyphnumber: 391, One-third-tone flat (Ferneyhough) - { "accidentalOneThirdToneSharpFerneyhough", 0xE48A }, // glyphnumber: 392, One-third-tone sharp (Ferneyhough) - { "accidentalParensLeft", 0xE26A }, // glyphnumber: 393, Accidental parenthesis, left - { "accidentalParensRight", 0xE26B }, // glyphnumber: 394, Accidental parenthesis, right - { "accidentalQuarterFlatEqualTempered", 0xE2F5 }, // glyphnumber: 395, Lower by one equal tempered quarter-tone - { "accidentalQuarterSharpEqualTempered", 0xE2F6 }, // glyphnumber: 396, Raise by one equal tempered quarter tone - { "accidentalQuarterToneFlat4", 0xE47F }, // glyphnumber: 397, Quarter-tone flat - { "accidentalQuarterToneFlatArabic", 0xED33 }, // glyphnumber: 398, Arabic quarter-tone flat - { "accidentalQuarterToneFlatArrowUp", 0xE270 }, // glyphnumber: 399, Quarter-tone flat - { "accidentalQuarterToneFlatFilledReversed", 0xE480 }, // glyphnumber: 400, Filled reversed flat (quarter-tone flat) - { "accidentalQuarterToneFlatNaturalArrowDown", 0xE273 }, // glyphnumber: 401, Quarter-tone flat - { "accidentalQuarterToneFlatPenderecki", 0xE478 }, // glyphnumber: 402, Quarter tone flat (Penderecki) - { "accidentalQuarterToneFlatStein", 0xE280 }, // glyphnumber: 403, Reversed flat (quarter-tone flat) (Stein) - { "accidentalQuarterToneFlatVanBlankenburg", 0xE488 }, // glyphnumber: 404, Quarter-tone flat (van Blankenburg) - { "accidentalQuarterToneSharp4", 0xE47E }, // glyphnumber: 405, Quarter-tone sharp - { "accidentalQuarterToneSharpArabic", 0xED35 }, // glyphnumber: 406, Arabic quarter-tone sharp - { "accidentalQuarterToneSharpArrowDown", 0xE275 }, // glyphnumber: 407, Quarter-tone sharp - { "accidentalQuarterToneSharpBusotti", 0xE472 }, // glyphnumber: 408, Quarter tone sharp (Bussotti) - { "accidentalQuarterToneSharpNaturalArrowUp", 0xE272 }, // glyphnumber: 409, Quarter-tone sharp - { "accidentalQuarterToneSharpStein", 0xE282 }, // glyphnumber: 410, Half sharp (quarter-tone sharp) (Stein) - { "accidentalQuarterToneSharpWiggle", 0xE475 }, // glyphnumber: 411, Quarter tone sharp with wiggly tail - { "accidentalRaiseOneSeptimalComma", 0xE2DF }, // glyphnumber: 412, Raise by one septimal comma - { "accidentalRaiseOneTridecimalQuartertone", 0xE2E5 }, // glyphnumber: 413, Raise by one tridecimal quartertone - { "accidentalRaiseOneUndecimalQuartertone", 0xE2E3 }, // glyphnumber: 414, Raise by one undecimal quartertone - { "accidentalRaiseTwoSeptimalCommas", 0xE2E1 }, // glyphnumber: 415, Raise by two septimal commas - { "accidentalRaisedStockhausen", 0xED50 }, // glyphnumber: 416, Raised (Stockhausen) - { "accidentalReversedFlatAndFlatArrowDown", 0xE295 }, // glyphnumber: 417, Reversed flat and flat with arrow down - { "accidentalReversedFlatAndFlatArrowUp", 0xE294 }, // glyphnumber: 418, Reversed flat and flat with arrow up - { "accidentalReversedFlatArrowDown", 0xE291 }, // glyphnumber: 419, Reversed flat with arrow down - { "accidentalReversedFlatArrowUp", 0xE290 }, // glyphnumber: 420, Reversed flat with arrow up - { "accidentalSharp", 0xE262 }, // glyphnumber: 421, Sharp - { "accidentalSharpArabic", 0xED36 }, // glyphnumber: 422, Arabic half-tone sharp - { "accidentalSharpEqualTempered", 0xE2F3 }, // glyphnumber: 423, Sharp equal tempered semitone - { "accidentalSharpLoweredStockhausen", 0xED57 }, // glyphnumber: 424, Lowered sharp (Stockhausen) - { "accidentalSharpOneArrowDown", 0xE2C3 }, // glyphnumber: 425, Sharp lowered by one syntonic comma - { "accidentalSharpOneArrowUp", 0xE2C8 }, // glyphnumber: 426, Sharp raised by one syntonic comma - { "accidentalSharpOneHorizontalStroke", 0xE473 }, // glyphnumber: 427, One or three quarter tones sharp - { "accidentalSharpRaisedStockhausen", 0xED56 }, // glyphnumber: 428, Raised sharp (Stockhausen) - { "accidentalSharpRepeatedLineStockhausen", 0xED5E }, // glyphnumber: 429, Repeated sharp, note on line (Stockhausen) - { "accidentalSharpRepeatedSpaceStockhausen", 0xED5D }, // glyphnumber: 430, Repeated sharp, note in space (Stockhausen) - { "accidentalSharpReversed", 0xE481 }, // glyphnumber: 431, Reversed sharp - { "accidentalSharpSharp", 0xE269 }, // glyphnumber: 432, Sharp sharp - { "accidentalSharpThreeArrowsDown", 0xE2D7 }, // glyphnumber: 433, Sharp lowered by three syntonic commas - { "accidentalSharpThreeArrowsUp", 0xE2DC }, // glyphnumber: 434, Sharp raised by three syntonic commas - { "accidentalSharpTwoArrowsDown", 0xE2CD }, // glyphnumber: 435, Sharp lowered by two syntonic commas - { "accidentalSharpTwoArrowsUp", 0xE2D2 }, // glyphnumber: 436, Sharp raised by two syntonic commas - { "accidentalSims12Down", 0xE2A0 }, // glyphnumber: 437, 1/12 tone low - { "accidentalSims12Up", 0xE2A3 }, // glyphnumber: 438, 1/12 tone high - { "accidentalSims4Down", 0xE2A2 }, // glyphnumber: 439, 1/4 tone low - { "accidentalSims4Up", 0xE2A5 }, // glyphnumber: 440, 1/4 tone high - { "accidentalSims6Down", 0xE2A1 }, // glyphnumber: 441, 1/6 tone low - { "accidentalSims6Up", 0xE2A4 }, // glyphnumber: 442, 1/6 tone high - { "accidentalSori", 0xE461 }, // glyphnumber: 443, Sori (quarter tone sharp) - { "accidentalTavenerFlat", 0xE477 }, // glyphnumber: 444, Byzantine-style Bakiye flat (Tavener) - { "accidentalTavenerSharp", 0xE476 }, // glyphnumber: 445, Byzantine-style Büyük mücenneb sharp (Tavener) - { "accidentalThreeQuarterTonesFlatArabic", 0xED31 }, // glyphnumber: 446, Arabic three-quarter-tones flat - { "accidentalThreeQuarterTonesFlatArrowDown", 0xE271 }, // glyphnumber: 447, Three-quarter-tones flat - { "accidentalThreeQuarterTonesFlatArrowUp", 0xE278 }, // glyphnumber: 448, Three-quarter-tones flat - { "accidentalThreeQuarterTonesFlatCouper", 0xE489 }, // glyphnumber: 449, Three-quarter-tones flat (Couper) - { "accidentalThreeQuarterTonesFlatGrisey", 0xE486 }, // glyphnumber: 450, Three-quarter-tones flat (Grisey) - { "accidentalThreeQuarterTonesFlatTartini", 0xE487 }, // glyphnumber: 451, Three-quarter-tones flat (Tartini) - { "accidentalThreeQuarterTonesFlatZimmermann", 0xE281 }, // glyphnumber: 452, Reversed flat and flat (three-quarter-tones flat)(Zimmermann) - { "accidentalThreeQuarterTonesSharpArabic", 0xED37 }, // glyphnumber: 453, Arabic three-quarter-tones sharp - { "accidentalThreeQuarterTonesSharpArrowDown", 0xE277 }, // glyphnumber: 454, Three-quarter-tones sharp - { "accidentalThreeQuarterTonesSharpArrowUp", 0xE274 }, // glyphnumber: 455, Three-quarter-tones sharp - { "accidentalThreeQuarterTonesSharpBusotti", 0xE474 }, // glyphnumber: 456, Three quarter tones sharp (Bussotti) - { "accidentalThreeQuarterTonesSharpStein", 0xE283 }, // glyphnumber: 457, One and a half sharps (three-quarter-tones sharp) (Stein) - { "accidentalThreeQuarterTonesSharpStockhausen", 0xED5A }, // glyphnumber: 458, Three-quarter-tones sharp (Stockhausen) - { "accidentalTripleFlat", 0xE266 }, // glyphnumber: 459, Triple flat - { "accidentalTripleSharp", 0xE265 }, // glyphnumber: 460, Triple sharp - { "accidentalTwoThirdTonesFlatFerneyhough", 0xE48D }, // glyphnumber: 461, Two-third-tones flat (Ferneyhough) - { "accidentalTwoThirdTonesSharpFerneyhough", 0xE48C }, // glyphnumber: 462, Two-third-tones sharp (Ferneyhough) - { "accidentalWilsonMinus", 0xE47C }, // glyphnumber: 463, Wilson minus (5 comma down) - { "accidentalWilsonPlus", 0xE47B }, // glyphnumber: 464, Wilson plus (5 comma up) - { "accidentalWyschnegradsky10TwelfthsFlat", 0xE434 }, // glyphnumber: 465, 5/6 tone flat - { "accidentalWyschnegradsky10TwelfthsSharp", 0xE429 }, // glyphnumber: 466, 5/6 tone sharp - { "accidentalWyschnegradsky11TwelfthsFlat", 0xE435 }, // glyphnumber: 467, 11/12 tone flat - { "accidentalWyschnegradsky11TwelfthsSharp", 0xE42A }, // glyphnumber: 468, 11/12 tone sharp - { "accidentalWyschnegradsky1TwelfthsFlat", 0xE42B }, // glyphnumber: 469, 1/12 tone flat - { "accidentalWyschnegradsky1TwelfthsSharp", 0xE420 }, // glyphnumber: 470, 1/12 tone sharp - { "accidentalWyschnegradsky2TwelfthsFlat", 0xE42C }, // glyphnumber: 471, 1/6 tone flat - { "accidentalWyschnegradsky2TwelfthsSharp", 0xE421 }, // glyphnumber: 472, 1/6 tone sharp - { "accidentalWyschnegradsky3TwelfthsFlat", 0xE42D }, // glyphnumber: 473, 1/4 tone flat - { "accidentalWyschnegradsky3TwelfthsSharp", 0xE422 }, // glyphnumber: 474, 1/4 tone sharp - { "accidentalWyschnegradsky4TwelfthsFlat", 0xE42E }, // glyphnumber: 475, 1/3 tone flat - { "accidentalWyschnegradsky4TwelfthsSharp", 0xE423 }, // glyphnumber: 476, 1/3 tone sharp - { "accidentalWyschnegradsky5TwelfthsFlat", 0xE42F }, // glyphnumber: 477, 5/12 tone flat - { "accidentalWyschnegradsky5TwelfthsSharp", 0xE424 }, // glyphnumber: 478, 5/12 tone sharp - { "accidentalWyschnegradsky6TwelfthsFlat", 0xE430 }, // glyphnumber: 479, 1/2 tone flat - { "accidentalWyschnegradsky6TwelfthsSharp", 0xE425 }, // glyphnumber: 480, 1/2 tone sharp - { "accidentalWyschnegradsky7TwelfthsFlat", 0xE431 }, // glyphnumber: 481, 7/12 tone flat - { "accidentalWyschnegradsky7TwelfthsSharp", 0xE426 }, // glyphnumber: 482, 7/12 tone sharp - { "accidentalWyschnegradsky8TwelfthsFlat", 0xE432 }, // glyphnumber: 483, 2/3 tone flat - { "accidentalWyschnegradsky8TwelfthsSharp", 0xE427 }, // glyphnumber: 484, 2/3 tone sharp - { "accidentalWyschnegradsky9TwelfthsFlat", 0xE433 }, // glyphnumber: 485, 3/4 tone flat - { "accidentalWyschnegradsky9TwelfthsSharp", 0xE428 }, // glyphnumber: 486, 3/4 tone sharp - { "accidentalXenakisOneThirdToneSharp", 0xE470 }, // glyphnumber: 487, One-third-tone sharp (Xenakis) - { "accidentalXenakisTwoThirdTonesSharp", 0xE471 }, // glyphnumber: 488, Two-third-tones sharp (Xenakis) - { "analyticsChoralmelodie", 0xE86A }, // glyphnumber: 489, Choralmelodie (Berg) - { "analyticsEndStimme", 0xE863 }, // glyphnumber: 490, End of stimme - { "analyticsHauptrhythmus", 0xE86B }, // glyphnumber: 491, Hauptrhythmus (Berg) - { "analyticsHauptstimme", 0xE860 }, // glyphnumber: 492, Hauptstimme - { "analyticsInversion1", 0xE869 }, // glyphnumber: 493, Inversion 1 - { "analyticsNebenstimme", 0xE861 }, // glyphnumber: 494, Nebenstimme - { "analyticsStartStimme", 0xE862 }, // glyphnumber: 495, Start of stimme - { "analyticsTheme", 0xE864 }, // glyphnumber: 496, Theme - { "analyticsTheme1", 0xE868 }, // glyphnumber: 497, Theme 1 - { "analyticsThemeInversion", 0xE867 }, // glyphnumber: 498, Inversion of theme - { "analyticsThemeRetrograde", 0xE865 }, // glyphnumber: 499, Retrograde of theme - { "analyticsThemeRetrogradeInversion", 0xE866 }, // glyphnumber: 500, Retrograde inversion of theme - { "arpeggiatoDown", 0xE635 }, // glyphnumber: 501, Arpeggiato down - { "arpeggiatoUp", 0xE634 }, // glyphnumber: 502, Arpeggiato up - { "arrowBlackDown", 0xEB64 }, // glyphnumber: 503, Black arrow down (S) - { "arrowBlackDownLeft", 0xEB65 }, // glyphnumber: 504, Black arrow down-left (SW) - { "arrowBlackDownRight", 0xEB63 }, // glyphnumber: 505, Black arrow down-right (SE) - { "arrowBlackLeft", 0xEB66 }, // glyphnumber: 506, Black arrow left (W) - { "arrowBlackRight", 0xEB62 }, // glyphnumber: 507, Black arrow right (E) - { "arrowBlackUp", 0xEB60 }, // glyphnumber: 508, Black arrow up (N) - { "arrowBlackUpLeft", 0xEB67 }, // glyphnumber: 509, Black arrow up-left (NW) - { "arrowBlackUpRight", 0xEB61 }, // glyphnumber: 510, Black arrow up-right (NE) - { "arrowOpenDown", 0xEB74 }, // glyphnumber: 511, Open arrow down (S) - { "arrowOpenDownLeft", 0xEB75 }, // glyphnumber: 512, Open arrow down-left (SW) - { "arrowOpenDownRight", 0xEB73 }, // glyphnumber: 513, Open arrow down-right (SE) - { "arrowOpenLeft", 0xEB76 }, // glyphnumber: 514, Open arrow left (W) - { "arrowOpenRight", 0xEB72 }, // glyphnumber: 515, Open arrow right (E) - { "arrowOpenUp", 0xEB70 }, // glyphnumber: 516, Open arrow up (N) - { "arrowOpenUpLeft", 0xEB77 }, // glyphnumber: 517, Open arrow up-left (NW) - { "arrowOpenUpRight", 0xEB71 }, // glyphnumber: 518, Open arrow up-right (NE) - { "arrowWhiteDown", 0xEB6C }, // glyphnumber: 519, White arrow down (S) - { "arrowWhiteDownLeft", 0xEB6D }, // glyphnumber: 520, White arrow down-left (SW) - { "arrowWhiteDownRight", 0xEB6B }, // glyphnumber: 521, White arrow down-right (SE) - { "arrowWhiteLeft", 0xEB6E }, // glyphnumber: 522, White arrow left (W) - { "arrowWhiteRight", 0xEB6A }, // glyphnumber: 523, White arrow right (E) - { "arrowWhiteUp", 0xEB68 }, // glyphnumber: 524, White arrow up (N) - { "arrowWhiteUpLeft", 0xEB6F }, // glyphnumber: 525, White arrow up-left (NW) - { "arrowWhiteUpRight", 0xEB69 }, // glyphnumber: 526, White arrow up-right (NE) - { "arrowheadBlackDown", 0xEB7C }, // glyphnumber: 527, Black arrowhead down (S) - { "arrowheadBlackDownLeft", 0xEB7D }, // glyphnumber: 528, Black arrowhead down-left (SW) - { "arrowheadBlackDownRight", 0xEB7B }, // glyphnumber: 529, Black arrowhead down-right (SE) - { "arrowheadBlackLeft", 0xEB7E }, // glyphnumber: 530, Black arrowhead left (W) - { "arrowheadBlackRight", 0xEB7A }, // glyphnumber: 531, Black arrowhead right (E) - { "arrowheadBlackUp", 0xEB78 }, // glyphnumber: 532, Black arrowhead up (N) - { "arrowheadBlackUpLeft", 0xEB7F }, // glyphnumber: 533, Black arrowhead up-left (NW) - { "arrowheadBlackUpRight", 0xEB79 }, // glyphnumber: 534, Black arrowhead up-right (NE) - { "arrowheadOpenDown", 0xEB8C }, // glyphnumber: 535, Open arrowhead down (S) - { "arrowheadOpenDownLeft", 0xEB8D }, // glyphnumber: 536, Open arrowhead down-left (SW) - { "arrowheadOpenDownRight", 0xEB8B }, // glyphnumber: 537, Open arrowhead down-right (SE) - { "arrowheadOpenLeft", 0xEB8E }, // glyphnumber: 538, Open arrowhead left (W) - { "arrowheadOpenRight", 0xEB8A }, // glyphnumber: 539, Open arrowhead right (E) - { "arrowheadOpenUp", 0xEB88 }, // glyphnumber: 540, Open arrowhead up (N) - { "arrowheadOpenUpLeft", 0xEB8F }, // glyphnumber: 541, Open arrowhead up-left (NW) - { "arrowheadOpenUpRight", 0xEB89 }, // glyphnumber: 542, Open arrowhead up-right (NE) - { "arrowheadWhiteDown", 0xEB84 }, // glyphnumber: 543, White arrowhead down (S) - { "arrowheadWhiteDownLeft", 0xEB85 }, // glyphnumber: 544, White arrowhead down-left (SW) - { "arrowheadWhiteDownRight", 0xEB83 }, // glyphnumber: 545, White arrowhead down-right (SE) - { "arrowheadWhiteLeft", 0xEB86 }, // glyphnumber: 546, White arrowhead left (W) - { "arrowheadWhiteRight", 0xEB82 }, // glyphnumber: 547, White arrowhead right (E) - { "arrowheadWhiteUp", 0xEB80 }, // glyphnumber: 548, White arrowhead up (N) - { "arrowheadWhiteUpLeft", 0xEB87 }, // glyphnumber: 549, White arrowhead up-left (NW) - { "arrowheadWhiteUpRight", 0xEB81 }, // glyphnumber: 550, White arrowhead up-right (NE) - { "articAccentAbove", 0xE4A0 }, // glyphnumber: 551, Accent above - { "articAccentBelow", 0xE4A1 }, // glyphnumber: 552, Accent below - { "articAccentStaccatoAbove", 0xE4B0 }, // glyphnumber: 553, Accent-staccato above - { "articAccentStaccatoBelow", 0xE4B1 }, // glyphnumber: 554, Accent-staccato below - { "articLaissezVibrerAbove", 0xE4BA }, // glyphnumber: 555, Laissez vibrer (l.v.) above - { "articLaissezVibrerBelow", 0xE4BB }, // glyphnumber: 556, Laissez vibrer (l.v.) below - { "articMarcatoAbove", 0xE4AC }, // glyphnumber: 557, Marcato above - { "articMarcatoBelow", 0xE4AD }, // glyphnumber: 558, Marcato below - { "articMarcatoStaccatoAbove", 0xE4AE }, // glyphnumber: 559, Marcato-staccato above - { "articMarcatoStaccatoBelow", 0xE4AF }, // glyphnumber: 560, Marcato-staccato below - { "articMarcatoTenutoAbove", 0xE4BC }, // glyphnumber: 561, Marcato-tenuto above - { "articMarcatoTenutoBelow", 0xE4BD }, // glyphnumber: 562, Marcato-tenuto below - { "articSoftAccentAbove", 0xED40 }, // glyphnumber: 563, Soft accent above - { "articSoftAccentBelow", 0xED41 }, // glyphnumber: 564, Soft accent below - { "articSoftAccentStaccatoAbove", 0xED42 }, // glyphnumber: 565, Soft accent-staccato above - { "articSoftAccentStaccatoBelow", 0xED43 }, // glyphnumber: 566, Soft accent-staccato below - { "articSoftAccentTenutoAbove", 0xED44 }, // glyphnumber: 567, Soft accent-tenuto above - { "articSoftAccentTenutoBelow", 0xED45 }, // glyphnumber: 568, Soft accent-tenuto below - { "articSoftAccentTenutoStaccatoAbove", 0xED46 }, // glyphnumber: 569, Soft accent-tenuto-staccato above - { "articSoftAccentTenutoStaccatoBelow", 0xED47 }, // glyphnumber: 570, Soft accent-tenuto-staccato below - { "articStaccatissimoAbove", 0xE4A6 }, // glyphnumber: 571, Staccatissimo above - { "articStaccatissimoBelow", 0xE4A7 }, // glyphnumber: 572, Staccatissimo below - { "articStaccatissimoStrokeAbove", 0xE4AA }, // glyphnumber: 573, Staccatissimo stroke above - { "articStaccatissimoStrokeBelow", 0xE4AB }, // glyphnumber: 574, Staccatissimo stroke below - { "articStaccatissimoWedgeAbove", 0xE4A8 }, // glyphnumber: 575, Staccatissimo wedge above - { "articStaccatissimoWedgeBelow", 0xE4A9 }, // glyphnumber: 576, Staccatissimo wedge below - { "articStaccatoAbove", 0xE4A2 }, // glyphnumber: 577, Staccato above - { "articStaccatoBelow", 0xE4A3 }, // glyphnumber: 578, Staccato below - { "articStressAbove", 0xE4B6 }, // glyphnumber: 579, Stress above - { "articStressBelow", 0xE4B7 }, // glyphnumber: 580, Stress below - { "articTenutoAbove", 0xE4A4 }, // glyphnumber: 581, Tenuto above - { "articTenutoAccentAbove", 0xE4B4 }, // glyphnumber: 582, Tenuto-accent above - { "articTenutoAccentBelow", 0xE4B5 }, // glyphnumber: 583, Tenuto-accent below - { "articTenutoBelow", 0xE4A5 }, // glyphnumber: 584, Tenuto below - { "articTenutoStaccatoAbove", 0xE4B2 }, // glyphnumber: 585, Louré (tenuto-staccato) above - { "articTenutoStaccatoBelow", 0xE4B3 }, // glyphnumber: 586, Louré (tenuto-staccato) below - { "articUnstressAbove", 0xE4B8 }, // glyphnumber: 587, Unstress above - { "articUnstressBelow", 0xE4B9 }, // glyphnumber: 588, Unstress below - { "augmentationDot", 0xE1E7 }, // glyphnumber: 589, Augmentation dot - { "barlineDashed", 0xE036 }, // glyphnumber: 590, Dashed barline - { "barlineDotted", 0xE037 }, // glyphnumber: 591, Dotted barline - { "barlineDouble", 0xE031 }, // glyphnumber: 592, Double barline - { "barlineFinal", 0xE032 }, // glyphnumber: 593, Final barline - { "barlineHeavy", 0xE034 }, // glyphnumber: 594, Heavy barline - { "barlineHeavyHeavy", 0xE035 }, // glyphnumber: 595, Heavy double barline - { "barlineReverseFinal", 0xE033 }, // glyphnumber: 596, Reverse final barline - { "barlineShort", 0xE038 }, // glyphnumber: 597, Short barline - { "barlineSingle", 0xE030 }, // glyphnumber: 598, Single barline - { "barlineTick", 0xE039 }, // glyphnumber: 599, Tick barline - { "beamAccelRit1", 0xEAF4 }, // glyphnumber: 600, Accel./rit. beam 1 (widest) - { "beamAccelRit10", 0xEAFD }, // glyphnumber: 601, Accel./rit. beam 10 - { "beamAccelRit11", 0xEAFE }, // glyphnumber: 602, Accel./rit. beam 11 - { "beamAccelRit12", 0xEAFF }, // glyphnumber: 603, Accel./rit. beam 12 - { "beamAccelRit13", 0xEB00 }, // glyphnumber: 604, Accel./rit. beam 13 - { "beamAccelRit14", 0xEB01 }, // glyphnumber: 605, Accel./rit. beam 14 - { "beamAccelRit15", 0xEB02 }, // glyphnumber: 606, Accel./rit. beam 15 (narrowest) - { "beamAccelRit2", 0xEAF5 }, // glyphnumber: 607, Accel./rit. beam 2 - { "beamAccelRit3", 0xEAF6 }, // glyphnumber: 608, Accel./rit. beam 3 - { "beamAccelRit4", 0xEAF7 }, // glyphnumber: 609, Accel./rit. beam 4 - { "beamAccelRit5", 0xEAF8 }, // glyphnumber: 610, Accel./rit. beam 5 - { "beamAccelRit6", 0xEAF9 }, // glyphnumber: 611, Accel./rit. beam 6 - { "beamAccelRit7", 0xEAFA }, // glyphnumber: 612, Accel./rit. beam 7 - { "beamAccelRit8", 0xEAFB }, // glyphnumber: 613, Accel./rit. beam 8 - { "beamAccelRit9", 0xEAFC }, // glyphnumber: 614, Accel./rit. beam 9 - { "beamAccelRitFinal", 0xEB03 }, // glyphnumber: 615, Accel./rit. beam terminating line - { "brace", 0xE000 }, // glyphnumber: 616, Brace - { "bracket", 0xE002 }, // glyphnumber: 617, Bracket - { "bracketBottom", 0xE004 }, // glyphnumber: 618, Bracket bottom - { "bracketTop", 0xE003 }, // glyphnumber: 619, Bracket top - { "brassBend", 0xE5E3 }, // glyphnumber: 620, Bend - { "brassDoitLong", 0xE5D6 }, // glyphnumber: 621, Doit, long - { "brassDoitMedium", 0xE5D5 }, // glyphnumber: 622, Doit, medium - { "brassDoitShort", 0xE5D4 }, // glyphnumber: 623, Doit, short - { "brassFallLipLong", 0xE5D9 }, // glyphnumber: 624, Lip fall, long - { "brassFallLipMedium", 0xE5D8 }, // glyphnumber: 625, Lip fall, medium - { "brassFallLipShort", 0xE5D7 }, // glyphnumber: 626, Lip fall, short - { "brassFallRoughLong", 0xE5DF }, // glyphnumber: 627, Rough fall, long - { "brassFallRoughMedium", 0xE5DE }, // glyphnumber: 628, Rough fall, medium - { "brassFallRoughShort", 0xE5DD }, // glyphnumber: 629, Rough fall, short - { "brassFallSmoothLong", 0xE5DC }, // glyphnumber: 630, Smooth fall, long - { "brassFallSmoothMedium", 0xE5DB }, // glyphnumber: 631, Smooth fall, medium - { "brassFallSmoothShort", 0xE5DA }, // glyphnumber: 632, Smooth fall, short - { "brassFlip", 0xE5E1 }, // glyphnumber: 633, Flip - { "brassHarmonMuteClosed", 0xE5E8 }, // glyphnumber: 634, Harmon mute, stem in - { "brassHarmonMuteStemHalfLeft", 0xE5E9 }, // glyphnumber: 635, Harmon mute, stem extended, left - { "brassHarmonMuteStemHalfRight", 0xE5EA }, // glyphnumber: 636, Harmon mute, stem extended, right - { "brassHarmonMuteStemOpen", 0xE5EB }, // glyphnumber: 637, Harmon mute, stem out - { "brassJazzTurn", 0xE5E4 }, // glyphnumber: 638, Jazz turn - { "brassLiftLong", 0xE5D3 }, // glyphnumber: 639, Lift, long - { "brassLiftMedium", 0xE5D2 }, // glyphnumber: 640, Lift, medium - { "brassLiftShort", 0xE5D1 }, // glyphnumber: 641, Lift, short - { "brassLiftSmoothLong", 0xE5EE }, // glyphnumber: 642, Smooth lift, long - { "brassLiftSmoothMedium", 0xE5ED }, // glyphnumber: 643, Smooth lift, medium - { "brassLiftSmoothShort", 0xE5EC }, // glyphnumber: 644, Smooth lift, short - { "brassMuteClosed", 0xE5E5 }, // glyphnumber: 645, Muted (closed) - { "brassMuteHalfClosed", 0xE5E6 }, // glyphnumber: 646, Half-muted (half-closed) - { "brassMuteOpen", 0xE5E7 }, // glyphnumber: 647, Open - { "brassPlop", 0xE5E0 }, // glyphnumber: 648, Plop - { "brassScoop", 0xE5D0 }, // glyphnumber: 649, Scoop - { "brassSmear", 0xE5E2 }, // glyphnumber: 650, Smear - { "brassValveTrill", 0xE5EF }, // glyphnumber: 651, Valve trill - { "breathMarkComma", 0xE4CE }, // glyphnumber: 652, Breath mark (comma) - { "breathMarkSalzedo", 0xE4D5 }, // glyphnumber: 653, Breath mark (Salzedo) - { "breathMarkTick", 0xE4CF }, // glyphnumber: 654, Breath mark (tick-like) - { "breathMarkUpbow", 0xE4D0 }, // glyphnumber: 655, Breath mark (upbow-like) - { "bridgeClef", 0xE078 }, // glyphnumber: 656, Bridge clef - { "buzzRoll", 0xE22A }, // glyphnumber: 657, Buzz roll - { "cClef", 0xE05C }, // glyphnumber: 658, C clef - { "cClef8vb", 0xE05D }, // glyphnumber: 659, C clef ottava bassa - { "cClefArrowDown", 0xE05F }, // glyphnumber: 660, C clef, arrow down - { "cClefArrowUp", 0xE05E }, // glyphnumber: 661, C clef, arrow up - { "cClefChange", 0xE07B }, // glyphnumber: 662, C clef change - { "cClefCombining", 0xE061 }, // glyphnumber: 663, Combining C clef - { "cClefReversed", 0xE075 }, // glyphnumber: 664, Reversed C clef - { "cClefSquare", 0xE060 }, // glyphnumber: 665, C clef (19th century) - { "caesura", 0xE4D1 }, // glyphnumber: 666, Caesura - { "caesuraCurved", 0xE4D4 }, // glyphnumber: 667, Curved caesura - { "caesuraShort", 0xE4D3 }, // glyphnumber: 668, Short caesura - { "caesuraThick", 0xE4D2 }, // glyphnumber: 669, Thick caesura - { "chantAccentusAbove", 0xE9D6 }, // glyphnumber: 670, Accentus above - { "chantAccentusBelow", 0xE9D7 }, // glyphnumber: 671, Accentus below - { "chantAuctumAsc", 0xE994 }, // glyphnumber: 672, Punctum auctum, ascending - { "chantAuctumDesc", 0xE995 }, // glyphnumber: 673, Punctum auctum, descending - { "chantAugmentum", 0xE9D9 }, // glyphnumber: 674, Augmentum (mora) - { "chantCaesura", 0xE8F8 }, // glyphnumber: 675, Caesura - { "chantCclef", 0xE906 }, // glyphnumber: 676, Plainchant C clef - { "chantCirculusAbove", 0xE9D2 }, // glyphnumber: 677, Circulus above - { "chantCirculusBelow", 0xE9D3 }, // glyphnumber: 678, Circulus below - { "chantConnectingLineAsc2nd", 0xE9BD }, // glyphnumber: 679, Connecting line, ascending 2nd - { "chantConnectingLineAsc3rd", 0xE9BE }, // glyphnumber: 680, Connecting line, ascending 3rd - { "chantConnectingLineAsc4th", 0xE9BF }, // glyphnumber: 681, Connecting line, ascending 4th - { "chantConnectingLineAsc5th", 0xE9C0 }, // glyphnumber: 682, Connecting line, ascending 5th - { "chantConnectingLineAsc6th", 0xE9C1 }, // glyphnumber: 683, Connecting line, ascending 6th - { "chantCustosStemDownPosHigh", 0xEA08 }, // glyphnumber: 684, Plainchant custos, stem down, high position - { "chantCustosStemDownPosHighest", 0xEA09 }, // glyphnumber: 685, Plainchant custos, stem down, highest position - { "chantCustosStemDownPosMiddle", 0xEA07 }, // glyphnumber: 686, Plainchant custos, stem down, middle position - { "chantCustosStemUpPosLow", 0xEA05 }, // glyphnumber: 687, Plainchant custos, stem up, low position - { "chantCustosStemUpPosLowest", 0xEA04 }, // glyphnumber: 688, Plainchant custos, stem up, lowest position - { "chantCustosStemUpPosMiddle", 0xEA06 }, // glyphnumber: 689, Plainchant custos, stem up, middle position - { "chantDeminutumLower", 0xE9B3 }, // glyphnumber: 690, Punctum deminutum, lower - { "chantDeminutumUpper", 0xE9B2 }, // glyphnumber: 691, Punctum deminutum, upper - { "chantDivisioFinalis", 0xE8F6 }, // glyphnumber: 692, Divisio finalis - { "chantDivisioMaior", 0xE8F4 }, // glyphnumber: 693, Divisio maior - { "chantDivisioMaxima", 0xE8F5 }, // glyphnumber: 694, Divisio maxima - { "chantDivisioMinima", 0xE8F3 }, // glyphnumber: 695, Divisio minima - { "chantEntryLineAsc2nd", 0xE9B4 }, // glyphnumber: 696, Entry line, ascending 2nd - { "chantEntryLineAsc3rd", 0xE9B5 }, // glyphnumber: 697, Entry line, ascending 3rd - { "chantEntryLineAsc4th", 0xE9B6 }, // glyphnumber: 698, Entry line, ascending 4th - { "chantEntryLineAsc5th", 0xE9B7 }, // glyphnumber: 699, Entry line, ascending 5th - { "chantEntryLineAsc6th", 0xE9B8 }, // glyphnumber: 700, Entry line, ascending 6th - { "chantEpisema", 0xE9D8 }, // glyphnumber: 701, Episema - { "chantFclef", 0xE902 }, // glyphnumber: 702, Plainchant F clef - { "chantIctusAbove", 0xE9D0 }, // glyphnumber: 703, Ictus above - { "chantIctusBelow", 0xE9D1 }, // glyphnumber: 704, Ictus below - { "chantLigaturaDesc2nd", 0xE9B9 }, // glyphnumber: 705, Ligated stroke, descending 2nd - { "chantLigaturaDesc3rd", 0xE9BA }, // glyphnumber: 706, Ligated stroke, descending 3rd - { "chantLigaturaDesc4th", 0xE9BB }, // glyphnumber: 707, Ligated stroke, descending 4th - { "chantLigaturaDesc5th", 0xE9BC }, // glyphnumber: 708, Ligated stroke, descending 5th - { "chantOriscusAscending", 0xE99C }, // glyphnumber: 709, Oriscus ascending - { "chantOriscusDescending", 0xE99D }, // glyphnumber: 710, Oriscus descending - { "chantOriscusLiquescens", 0xE99E }, // glyphnumber: 711, Oriscus liquescens - { "chantPodatusLower", 0xE9B0 }, // glyphnumber: 712, Podatus, lower - { "chantPodatusUpper", 0xE9B1 }, // glyphnumber: 713, Podatus, upper - { "chantPunctum", 0xE990 }, // glyphnumber: 714, Punctum - { "chantPunctumCavum", 0xE998 }, // glyphnumber: 715, Punctum cavum - { "chantPunctumDeminutum", 0xE9A1 }, // glyphnumber: 716, Punctum deminutum - { "chantPunctumInclinatum", 0xE991 }, // glyphnumber: 717, Punctum inclinatum - { "chantPunctumInclinatumAuctum", 0xE992 }, // glyphnumber: 718, Punctum inclinatum auctum - { "chantPunctumInclinatumDeminutum", 0xE993 }, // glyphnumber: 719, Punctum inclinatum deminutum - { "chantPunctumLinea", 0xE999 }, // glyphnumber: 720, Punctum linea - { "chantPunctumLineaCavum", 0xE99A }, // glyphnumber: 721, Punctum linea cavum - { "chantPunctumVirga", 0xE996 }, // glyphnumber: 722, Punctum virga - { "chantPunctumVirgaReversed", 0xE997 }, // glyphnumber: 723, Punctum virga, reversed - { "chantQuilisma", 0xE99B }, // glyphnumber: 724, Quilisma - { "chantSemicirculusAbove", 0xE9D4 }, // glyphnumber: 725, Semicirculus above - { "chantSemicirculusBelow", 0xE9D5 }, // glyphnumber: 726, Semicirculus below - { "chantStaff", 0xE8F0 }, // glyphnumber: 727, Plainchant staff - { "chantStaffNarrow", 0xE8F2 }, // glyphnumber: 728, Plainchant staff (narrow) - { "chantStaffWide", 0xE8F1 }, // glyphnumber: 729, Plainchant staff (wide) - { "chantStrophicus", 0xE99F }, // glyphnumber: 730, Strophicus - { "chantStrophicusAuctus", 0xE9A0 }, // glyphnumber: 731, Strophicus auctus - { "chantStrophicusLiquescens2nd", 0xE9C2 }, // glyphnumber: 732, Strophicus liquescens, 2nd - { "chantStrophicusLiquescens3rd", 0xE9C3 }, // glyphnumber: 733, Strophicus liquescens, 3rd - { "chantStrophicusLiquescens4th", 0xE9C4 }, // glyphnumber: 734, Strophicus liquescens, 4th - { "chantStrophicusLiquescens5th", 0xE9C5 }, // glyphnumber: 735, Strophicus liquescens, 5th - { "chantVirgula", 0xE8F7 }, // glyphnumber: 736, Virgula - { "clef15", 0xE07E }, // glyphnumber: 737, 15 for clefs - { "clef8", 0xE07D }, // glyphnumber: 738, 8 for clefs - { "clefChangeCombining", 0xE07F }, // glyphnumber: 739, Combining clef change - { "coda", 0xE048 }, // glyphnumber: 740, Coda - { "codaSquare", 0xE049 }, // glyphnumber: 741, Square coda - { "conductorBeat2Compound", 0xE897 }, // glyphnumber: 742, Beat 2, compound time - { "conductorBeat2Simple", 0xE894 }, // glyphnumber: 743, Beat 2, simple time - { "conductorBeat3Compound", 0xE898 }, // glyphnumber: 744, Beat 3, compound time - { "conductorBeat3Simple", 0xE895 }, // glyphnumber: 745, Beat 3, simple time - { "conductorBeat4Compound", 0xE899 }, // glyphnumber: 746, Beat 4, compound time - { "conductorBeat4Simple", 0xE896 }, // glyphnumber: 747, Beat 4, simple time - { "conductorLeftBeat", 0xE891 }, // glyphnumber: 748, Left-hand beat or cue - { "conductorRightBeat", 0xE892 }, // glyphnumber: 749, Right-hand beat or cue - { "conductorStrongBeat", 0xE890 }, // glyphnumber: 750, Strong beat or cue - { "conductorUnconducted", 0xE89A }, // glyphnumber: 751, Unconducted/free passages - { "conductorWeakBeat", 0xE893 }, // glyphnumber: 752, Weak beat or cue - { "controlBeginBeam", 0xE8E0 }, // glyphnumber: 753, Begin beam - { "controlBeginPhrase", 0xE8E6 }, // glyphnumber: 754, Begin phrase - { "controlBeginSlur", 0xE8E4 }, // glyphnumber: 755, Begin slur - { "controlBeginTie", 0xE8E2 }, // glyphnumber: 756, Begin tie - { "controlEndBeam", 0xE8E1 }, // glyphnumber: 757, End beam - { "controlEndPhrase", 0xE8E7 }, // glyphnumber: 758, End phrase - { "controlEndSlur", 0xE8E5 }, // glyphnumber: 759, End slur - { "controlEndTie", 0xE8E3 }, // glyphnumber: 760, End tie - { "csymAugmented", 0xE872 }, // glyphnumber: 761, Augmented - { "csymBracketLeftTall", 0xE877 }, // glyphnumber: 762, Double-height left bracket - { "csymBracketRightTall", 0xE878 }, // glyphnumber: 763, Double-height right bracket - { "csymDiminished", 0xE870 }, // glyphnumber: 764, Diminished - { "csymHalfDiminished", 0xE871 }, // glyphnumber: 765, Half-diminished - { "csymMajorSeventh", 0xE873 }, // glyphnumber: 766, Major seventh - { "csymMinor", 0xE874 }, // glyphnumber: 767, Minor - { "csymParensLeftTall", 0xE875 }, // glyphnumber: 768, Double-height left parenthesis - { "csymParensRightTall", 0xE876 }, // glyphnumber: 769, Double-height right parenthesis - { "curlewSign", 0xE4D6 }, // glyphnumber: 770, Curlew (Britten) - { "daCapo", 0xE046 }, // glyphnumber: 771, Da capo - { "dalSegno", 0xE045 }, // glyphnumber: 772, Dal segno - { "daseianExcellentes1", 0xEA3C }, // glyphnumber: 773, Daseian excellentes 1 - { "daseianExcellentes2", 0xEA3D }, // glyphnumber: 774, Daseian excellentes 2 - { "daseianExcellentes3", 0xEA3E }, // glyphnumber: 775, Daseian excellentes 3 - { "daseianExcellentes4", 0xEA3F }, // glyphnumber: 776, Daseian excellentes 4 - { "daseianFinales1", 0xEA34 }, // glyphnumber: 777, Daseian finales 1 - { "daseianFinales2", 0xEA35 }, // glyphnumber: 778, Daseian finales 2 - { "daseianFinales3", 0xEA36 }, // glyphnumber: 779, Daseian finales 3 - { "daseianFinales4", 0xEA37 }, // glyphnumber: 780, Daseian finales 4 - { "daseianGraves1", 0xEA30 }, // glyphnumber: 781, Daseian graves 1 - { "daseianGraves2", 0xEA31 }, // glyphnumber: 782, Daseian graves 2 - { "daseianGraves3", 0xEA32 }, // glyphnumber: 783, Daseian graves 3 - { "daseianGraves4", 0xEA33 }, // glyphnumber: 784, Daseian graves 4 - { "daseianResidua1", 0xEA40 }, // glyphnumber: 785, Daseian residua 1 - { "daseianResidua2", 0xEA41 }, // glyphnumber: 786, Daseian residua 2 - { "daseianSuperiores1", 0xEA38 }, // glyphnumber: 787, Daseian superiores 1 - { "daseianSuperiores2", 0xEA39 }, // glyphnumber: 788, Daseian superiores 2 - { "daseianSuperiores3", 0xEA3A }, // glyphnumber: 789, Daseian superiores 3 - { "daseianSuperiores4", 0xEA3B }, // glyphnumber: 790, Daseian superiores 4 - { "doubleTongueAbove", 0xE5F0 }, // glyphnumber: 791, Double-tongue above - { "doubleTongueBelow", 0xE5F1 }, // glyphnumber: 792, Double-tongue below - { "dynamicCombinedSeparatorColon", 0xE546 }, // glyphnumber: 793, Colon separator for combined dynamics - { "dynamicCombinedSeparatorHyphen", 0xE547 }, // glyphnumber: 794, Hyphen separator for combined dynamics - { "dynamicCombinedSeparatorSpace", 0xE548 }, // glyphnumber: 795, Space separator for combined dynamics - { "dynamicCrescendoHairpin", 0xE53E }, // glyphnumber: 796, Crescendo - { "dynamicDiminuendoHairpin", 0xE53F }, // glyphnumber: 797, Diminuendo - { "dynamicFF", 0xE52F }, // glyphnumber: 798, ff - { "dynamicFFF", 0xE530 }, // glyphnumber: 799, fff - { "dynamicFFFF", 0xE531 }, // glyphnumber: 800, ffff - { "dynamicFFFFF", 0xE532 }, // glyphnumber: 801, fffff - { "dynamicFFFFFF", 0xE533 }, // glyphnumber: 802, ffffff - { "dynamicForte", 0xE522 }, // glyphnumber: 803, Forte - { "dynamicFortePiano", 0xE534 }, // glyphnumber: 804, Forte-piano - { "dynamicForzando", 0xE535 }, // glyphnumber: 805, Forzando - { "dynamicHairpinBracketLeft", 0xE544 }, // glyphnumber: 806, Left bracket (for hairpins) - { "dynamicHairpinBracketRight", 0xE545 }, // glyphnumber: 807, Right bracket (for hairpins) - { "dynamicHairpinParenthesisLeft", 0xE542 }, // glyphnumber: 808, Left parenthesis (for hairpins) - { "dynamicHairpinParenthesisRight", 0xE543 }, // glyphnumber: 809, Right parenthesis (for hairpins) - { "dynamicMF", 0xE52D }, // glyphnumber: 810, mf - { "dynamicMP", 0xE52C }, // glyphnumber: 811, mp - { "dynamicMessaDiVoce", 0xE540 }, // glyphnumber: 812, Messa di voce - { "dynamicMezzo", 0xE521 }, // glyphnumber: 813, Mezzo - { "dynamicNiente", 0xE526 }, // glyphnumber: 814, Niente - { "dynamicNienteForHairpin", 0xE541 }, // glyphnumber: 815, Niente (for hairpins) - { "dynamicPF", 0xE52E }, // glyphnumber: 816, pf - { "dynamicPP", 0xE52B }, // glyphnumber: 817, pp - { "dynamicPPP", 0xE52A }, // glyphnumber: 818, ppp - { "dynamicPPPP", 0xE529 }, // glyphnumber: 819, pppp - { "dynamicPPPPP", 0xE528 }, // glyphnumber: 820, ppppp - { "dynamicPPPPPP", 0xE527 }, // glyphnumber: 821, pppppp - { "dynamicPiano", 0xE520 }, // glyphnumber: 822, Piano - { "dynamicRinforzando", 0xE523 }, // glyphnumber: 823, Rinforzando - { "dynamicRinforzando1", 0xE53C }, // glyphnumber: 824, Rinforzando 1 - { "dynamicRinforzando2", 0xE53D }, // glyphnumber: 825, Rinforzando 2 - { "dynamicSforzando", 0xE524 }, // glyphnumber: 826, Sforzando - { "dynamicSforzando1", 0xE536 }, // glyphnumber: 827, Sforzando 1 - { "dynamicSforzandoPianissimo", 0xE538 }, // glyphnumber: 828, Sforzando-pianissimo - { "dynamicSforzandoPiano", 0xE537 }, // glyphnumber: 829, Sforzando-piano - { "dynamicSforzato", 0xE539 }, // glyphnumber: 830, Sforzato - { "dynamicSforzatoFF", 0xE53B }, // glyphnumber: 831, Sforzatissimo - { "dynamicSforzatoPiano", 0xE53A }, // glyphnumber: 832, Sforzato-piano - { "dynamicZ", 0xE525 }, // glyphnumber: 833, Z - { "elecAudioChannelsEight", 0xEB46 }, // glyphnumber: 834, Eight channels (7.1 surround) - { "elecAudioChannelsFive", 0xEB43 }, // glyphnumber: 835, Five channels - { "elecAudioChannelsFour", 0xEB42 }, // glyphnumber: 836, Four channels - { "elecAudioChannelsOne", 0xEB3E }, // glyphnumber: 837, One channel (mono) - { "elecAudioChannelsSeven", 0xEB45 }, // glyphnumber: 838, Seven channels - { "elecAudioChannelsSix", 0xEB44 }, // glyphnumber: 839, Six channels (5.1 surround) - { "elecAudioChannelsThreeFrontal", 0xEB40 }, // glyphnumber: 840, Three channels (frontal) - { "elecAudioChannelsThreeSurround", 0xEB41 }, // glyphnumber: 841, Three channels (surround) - { "elecAudioChannelsTwo", 0xEB3F }, // glyphnumber: 842, Two channels (stereo) - { "elecAudioIn", 0xEB49 }, // glyphnumber: 843, Audio in - { "elecAudioMono", 0xEB3C }, // glyphnumber: 844, Mono audio setup - { "elecAudioOut", 0xEB4A }, // glyphnumber: 845, Audio out - { "elecAudioStereo", 0xEB3D }, // glyphnumber: 846, Stereo audio setup - { "elecCamera", 0xEB1B }, // glyphnumber: 847, Camera - { "elecDataIn", 0xEB4D }, // glyphnumber: 848, Data in - { "elecDataOut", 0xEB4E }, // glyphnumber: 849, Data out - { "elecDisc", 0xEB13 }, // glyphnumber: 850, Disc - { "elecDownload", 0xEB4F }, // glyphnumber: 851, Download - { "elecEject", 0xEB2B }, // glyphnumber: 852, Eject - { "elecFastForward", 0xEB1F }, // glyphnumber: 853, Fast-forward - { "elecHeadphones", 0xEB11 }, // glyphnumber: 854, Headphones - { "elecHeadset", 0xEB12 }, // glyphnumber: 855, Headset - { "elecLineIn", 0xEB47 }, // glyphnumber: 856, Line in - { "elecLineOut", 0xEB48 }, // glyphnumber: 857, Line out - { "elecLoop", 0xEB23 }, // glyphnumber: 858, Loop - { "elecLoudspeaker", 0xEB1A }, // glyphnumber: 859, Loudspeaker - { "elecMIDIController0", 0xEB36 }, // glyphnumber: 860, MIDI controller 0% - { "elecMIDIController100", 0xEB3B }, // glyphnumber: 861, MIDI controller 100% - { "elecMIDIController20", 0xEB37 }, // glyphnumber: 862, MIDI controller 20% - { "elecMIDIController40", 0xEB38 }, // glyphnumber: 863, MIDI controller 40% - { "elecMIDIController60", 0xEB39 }, // glyphnumber: 864, MIDI controller 60% - { "elecMIDIController80", 0xEB3A }, // glyphnumber: 865, MIDI controller 80% - { "elecMIDIIn", 0xEB34 }, // glyphnumber: 866, MIDI in - { "elecMIDIOut", 0xEB35 }, // glyphnumber: 867, MIDI out - { "elecMicrophone", 0xEB10 }, // glyphnumber: 868, Microphone - { "elecMicrophoneMute", 0xEB28 }, // glyphnumber: 869, Mute microphone - { "elecMicrophoneUnmute", 0xEB29 }, // glyphnumber: 870, Unmute microphone - { "elecMixingConsole", 0xEB15 }, // glyphnumber: 871, Mixing console - { "elecMonitor", 0xEB18 }, // glyphnumber: 872, Monitor - { "elecMute", 0xEB26 }, // glyphnumber: 873, Mute - { "elecPause", 0xEB1E }, // glyphnumber: 874, Pause - { "elecPlay", 0xEB1C }, // glyphnumber: 875, Play - { "elecPowerOnOff", 0xEB2A }, // glyphnumber: 876, Power on/off - { "elecProjector", 0xEB19 }, // glyphnumber: 877, Projector - { "elecReplay", 0xEB24 }, // glyphnumber: 878, Replay - { "elecRewind", 0xEB20 }, // glyphnumber: 879, Rewind - { "elecShuffle", 0xEB25 }, // glyphnumber: 880, Shuffle - { "elecSkipBackwards", 0xEB22 }, // glyphnumber: 881, Skip backwards - { "elecSkipForwards", 0xEB21 }, // glyphnumber: 882, Skip forwards - { "elecStop", 0xEB1D }, // glyphnumber: 883, Stop - { "elecTape", 0xEB14 }, // glyphnumber: 884, Tape - { "elecUSB", 0xEB16 }, // glyphnumber: 885, USB connection - { "elecUnmute", 0xEB27 }, // glyphnumber: 886, Unmute - { "elecUpload", 0xEB50 }, // glyphnumber: 887, Upload - { "elecVideoCamera", 0xEB17 }, // glyphnumber: 888, Video camera - { "elecVideoIn", 0xEB4B }, // glyphnumber: 889, Video in - { "elecVideoOut", 0xEB4C }, // glyphnumber: 890, Video out - { "elecVolumeFader", 0xEB2C }, // glyphnumber: 891, Combining volume fader - { "elecVolumeFaderThumb", 0xEB2D }, // glyphnumber: 892, Combining volume fader thumb - { "elecVolumeLevel0", 0xEB2E }, // glyphnumber: 893, Volume level 0% - { "elecVolumeLevel100", 0xEB33 }, // glyphnumber: 894, Volume level 100% - { "elecVolumeLevel20", 0xEB2F }, // glyphnumber: 895, Volume level 20% - { "elecVolumeLevel40", 0xEB30 }, // glyphnumber: 896, Volume level 40% - { "elecVolumeLevel60", 0xEB31 }, // glyphnumber: 897, Volume level 60% - { "elecVolumeLevel80", 0xEB32 }, // glyphnumber: 898, Volume level 80% - { "fClef", 0xE062 }, // glyphnumber: 899, F clef - { "fClef15ma", 0xE066 }, // glyphnumber: 900, F clef quindicesima alta - { "fClef15mb", 0xE063 }, // glyphnumber: 901, F clef quindicesima bassa - { "fClef8va", 0xE065 }, // glyphnumber: 902, F clef ottava alta - { "fClef8vb", 0xE064 }, // glyphnumber: 903, F clef ottava bassa - { "fClefArrowDown", 0xE068 }, // glyphnumber: 904, F clef, arrow down - { "fClefArrowUp", 0xE067 }, // glyphnumber: 905, F clef, arrow up - { "fClefChange", 0xE07C }, // glyphnumber: 906, F clef change - { "fClefReversed", 0xE076 }, // glyphnumber: 907, Reversed F clef - { "fClefTurned", 0xE077 }, // glyphnumber: 908, Turned F clef - { "fermataAbove", 0xE4C0 }, // glyphnumber: 909, Fermata above - { "fermataBelow", 0xE4C1 }, // glyphnumber: 910, Fermata below - { "fermataLongAbove", 0xE4C6 }, // glyphnumber: 911, Long fermata above - { "fermataLongBelow", 0xE4C7 }, // glyphnumber: 912, Long fermata below - { "fermataLongHenzeAbove", 0xE4CA }, // glyphnumber: 913, Long fermata (Henze) above - { "fermataLongHenzeBelow", 0xE4CB }, // glyphnumber: 914, Long fermata (Henze) below - { "fermataShortAbove", 0xE4C4 }, // glyphnumber: 915, Short fermata above - { "fermataShortBelow", 0xE4C5 }, // glyphnumber: 916, Short fermata below - { "fermataShortHenzeAbove", 0xE4CC }, // glyphnumber: 917, Short fermata (Henze) above - { "fermataShortHenzeBelow", 0xE4CD }, // glyphnumber: 918, Short fermata (Henze) below - { "fermataVeryLongAbove", 0xE4C8 }, // glyphnumber: 919, Very long fermata above - { "fermataVeryLongBelow", 0xE4C9 }, // glyphnumber: 920, Very long fermata below - { "fermataVeryShortAbove", 0xE4C2 }, // glyphnumber: 921, Very short fermata above - { "fermataVeryShortBelow", 0xE4C3 }, // glyphnumber: 922, Very short fermata below - { "figbass0", 0xEA50 }, // glyphnumber: 923, Figured bass 0 - { "figbass1", 0xEA51 }, // glyphnumber: 924, Figured bass 1 - { "figbass2", 0xEA52 }, // glyphnumber: 925, Figured bass 2 - { "figbass2Raised", 0xEA53 }, // glyphnumber: 926, Figured bass 2 raised by half-step - { "figbass3", 0xEA54 }, // glyphnumber: 927, Figured bass 3 - { "figbass4", 0xEA55 }, // glyphnumber: 928, Figured bass 4 - { "figbass4Raised", 0xEA56 }, // glyphnumber: 929, Figured bass 4 raised by half-step - { "figbass5", 0xEA57 }, // glyphnumber: 930, Figured bass 5 - { "figbass5Raised1", 0xEA58 }, // glyphnumber: 931, Figured bass 5 raised by half-step - { "figbass5Raised2", 0xEA59 }, // glyphnumber: 932, Figured bass 5 raised by half-step 2 - { "figbass5Raised3", 0xEA5A }, // glyphnumber: 933, Figured bass diminished 5 - { "figbass6", 0xEA5B }, // glyphnumber: 934, Figured bass 6 - { "figbass6Raised", 0xEA5C }, // glyphnumber: 935, Figured bass 6 raised by half-step - { "figbass6Raised2", 0xEA6F }, // glyphnumber: 936, Figured bass 6 raised by half-step 2 - { "figbass7", 0xEA5D }, // glyphnumber: 937, Figured bass 7 - { "figbass7Diminished", 0xECC0 }, // glyphnumber: 938, Figured bass 7 diminished - { "figbass7Raised1", 0xEA5E }, // glyphnumber: 939, Figured bass 7 raised by half-step - { "figbass7Raised2", 0xEA5F }, // glyphnumber: 940, Figured bass 7 raised by a half-step 2 - { "figbass8", 0xEA60 }, // glyphnumber: 941, Figured bass 8 - { "figbass9", 0xEA61 }, // glyphnumber: 942, Figured bass 9 - { "figbass9Raised", 0xEA62 }, // glyphnumber: 943, Figured bass 9 raised by half-step - { "figbassBracketLeft", 0xEA68 }, // glyphnumber: 944, Figured bass [ - { "figbassBracketRight", 0xEA69 }, // glyphnumber: 945, Figured bass ] - { "figbassCombiningLowering", 0xEA6E }, // glyphnumber: 946, Combining lower - { "figbassCombiningRaising", 0xEA6D }, // glyphnumber: 947, Combining raise - { "figbassDoubleFlat", 0xEA63 }, // glyphnumber: 948, Figured bass double flat - { "figbassDoubleSharp", 0xEA67 }, // glyphnumber: 949, Figured bass double sharp - { "figbassFlat", 0xEA64 }, // glyphnumber: 950, Figured bass flat - { "figbassNatural", 0xEA65 }, // glyphnumber: 951, Figured bass natural - { "figbassParensLeft", 0xEA6A }, // glyphnumber: 952, Figured bass ( - { "figbassParensRight", 0xEA6B }, // glyphnumber: 953, Figured bass ) - { "figbassPlus", 0xEA6C }, // glyphnumber: 954, Figured bass + - { "figbassSharp", 0xEA66 }, // glyphnumber: 955, Figured bass sharp - { "fingering0", 0xED10 }, // glyphnumber: 956, Fingering 0 (open string) - { "fingering1", 0xED11 }, // glyphnumber: 957, Fingering 1 (thumb) - { "fingering2", 0xED12 }, // glyphnumber: 958, Fingering 2 (index finger) - { "fingering3", 0xED13 }, // glyphnumber: 959, Fingering 3 (middle finger) - { "fingering4", 0xED14 }, // glyphnumber: 960, Fingering 4 (ring finger) - { "fingering5", 0xED15 }, // glyphnumber: 961, Fingering 5 (little finger) - { "fingeringALower", 0xED1B }, // glyphnumber: 962, Fingering a (anular; right-hand ring finger for guitar) - { "fingeringCLower", 0xED1C }, // glyphnumber: 963, Fingering c (right-hand little finger for guitar) - { "fingeringELower", 0xED1E }, // glyphnumber: 964, Fingering e (right-hand little finger for guitar) - { "fingeringILower", 0xED19 }, // glyphnumber: 965, Fingering i (indicio; right-hand index finger for guitar) - { "fingeringMLower", 0xED1A }, // glyphnumber: 966, Fingering m (medio; right-hand middle finger for guitar) - { "fingeringMultipleNotes", 0xED23 }, // glyphnumber: 967, Multiple notes played by thumb or single finger - { "fingeringOLower", 0xED1F }, // glyphnumber: 968, Fingering o (right-hand little finger for guitar) - { "fingeringPLower", 0xED17 }, // glyphnumber: 969, Fingering p (pulgar; right-hand thumb for guitar) - { "fingeringSubstitutionAbove", 0xED20 }, // glyphnumber: 970, Finger substitution above - { "fingeringSubstitutionBelow", 0xED21 }, // glyphnumber: 971, Finger substitution below - { "fingeringSubstitutionDash", 0xED22 }, // glyphnumber: 972, Finger substitution dash - { "fingeringTLower", 0xED18 }, // glyphnumber: 973, Fingering t (right-hand thumb for guitar) - { "fingeringTUpper", 0xED16 }, // glyphnumber: 974, Fingering T (left-hand thumb for guitar) - { "fingeringXLower", 0xED1D }, // glyphnumber: 975, Fingering x (right-hand little finger for guitar) - { "flag1024thDown", 0xE24F }, // glyphnumber: 976, Combining flag 8 (1024th) below - { "flag1024thUp", 0xE24E }, // glyphnumber: 977, Combining flag 8 (1024th) above - { "flag128thDown", 0xE249 }, // glyphnumber: 978, Combining flag 5 (128th) below - { "flag128thUp", 0xE248 }, // glyphnumber: 979, Combining flag 5 (128th) above - { "flag16thDown", 0xE243 }, // glyphnumber: 980, Combining flag 2 (16th) below - { "flag16thUp", 0xE242 }, // glyphnumber: 981, Combining flag 2 (16th) above - { "flag256thDown", 0xE24B }, // glyphnumber: 982, Combining flag 6 (256th) below - { "flag256thUp", 0xE24A }, // glyphnumber: 983, Combining flag 6 (256th) above - { "flag32ndDown", 0xE245 }, // glyphnumber: 984, Combining flag 3 (32nd) below - { "flag32ndUp", 0xE244 }, // glyphnumber: 985, Combining flag 3 (32nd) above - { "flag512thDown", 0xE24D }, // glyphnumber: 986, Combining flag 7 (512th) below - { "flag512thUp", 0xE24C }, // glyphnumber: 987, Combining flag 7 (512th) above - { "flag64thDown", 0xE247 }, // glyphnumber: 988, Combining flag 4 (64th) below - { "flag64thUp", 0xE246 }, // glyphnumber: 989, Combining flag 4 (64th) above - { "flag8thDown", 0xE241 }, // glyphnumber: 990, Combining flag 1 (8th) below - { "flag8thUp", 0xE240 }, // glyphnumber: 991, Combining flag 1 (8th) above - { "flagInternalDown", 0xE251 }, // glyphnumber: 992, Internal combining flag below - { "flagInternalUp", 0xE250 }, // glyphnumber: 993, Internal combining flag above - { "fretboard3String", 0xE850 }, // glyphnumber: 994, 3-string fretboard - { "fretboard3StringNut", 0xE851 }, // glyphnumber: 995, 3-string fretboard at nut - { "fretboard4String", 0xE852 }, // glyphnumber: 996, 4-string fretboard - { "fretboard4StringNut", 0xE853 }, // glyphnumber: 997, 4-string fretboard at nut - { "fretboard5String", 0xE854 }, // glyphnumber: 998, 5-string fretboard - { "fretboard5StringNut", 0xE855 }, // glyphnumber: 999, 5-string fretboard at nut - { "fretboard6String", 0xE856 }, // glyphnumber: 1000, 6-string fretboard - { "fretboard6StringNut", 0xE857 }, // glyphnumber: 1001, 6-string fretboard at nut - { "fretboardFilledCircle", 0xE858 }, // glyphnumber: 1002, Fingered fret (filled circle) - { "fretboardO", 0xE85A }, // glyphnumber: 1003, Open string (O) - { "fretboardX", 0xE859 }, // glyphnumber: 1004, String not played (X) - { "functionAngleLeft", 0xEA93 }, // glyphnumber: 1005, Function theory angle bracket left - { "functionAngleRight", 0xEA94 }, // glyphnumber: 1006, Function theory angle bracket right - { "functionBracketLeft", 0xEA8F }, // glyphnumber: 1007, Function theory bracket left - { "functionBracketRight", 0xEA90 }, // glyphnumber: 1008, Function theory bracket right - { "functionDD", 0xEA81 }, // glyphnumber: 1009, Function theory dominant of dominant - { "functionDLower", 0xEA80 }, // glyphnumber: 1010, Function theory minor dominant - { "functionDUpper", 0xEA7F }, // glyphnumber: 1011, Function theory major dominant - { "functionEight", 0xEA78 }, // glyphnumber: 1012, Function theory 8 - { "functionFUpper", 0xEA99 }, // glyphnumber: 1013, Function theory F - { "functionFive", 0xEA75 }, // glyphnumber: 1014, Function theory 5 - { "functionFour", 0xEA74 }, // glyphnumber: 1015, Function theory 4 - { "functionGLower", 0xEA84 }, // glyphnumber: 1016, Function theory g - { "functionGUpper", 0xEA83 }, // glyphnumber: 1017, Function theory G - { "functionGreaterThan", 0xEA7C }, // glyphnumber: 1018, Function theory greater than - { "functionILower", 0xEA9B }, // glyphnumber: 1019, Function theory i - { "functionIUpper", 0xEA9A }, // glyphnumber: 1020, Function theory I - { "functionKLower", 0xEA9D }, // glyphnumber: 1021, Function theory k - { "functionKUpper", 0xEA9C }, // glyphnumber: 1022, Function theory K - { "functionLLower", 0xEA9F }, // glyphnumber: 1023, Function theory l - { "functionLUpper", 0xEA9E }, // glyphnumber: 1024, Function theory L - { "functionLessThan", 0xEA7A }, // glyphnumber: 1025, Function theory less than - { "functionMLower", 0xED01 }, // glyphnumber: 1026, Function theory m - { "functionMUpper", 0xED00 }, // glyphnumber: 1027, Function theory M - { "functionMinus", 0xEA7B }, // glyphnumber: 1028, Function theory minus - { "functionNLower", 0xEA86 }, // glyphnumber: 1029, Function theory n - { "functionNUpper", 0xEA85 }, // glyphnumber: 1030, Function theory N - { "functionNUpperSuperscript", 0xED02 }, // glyphnumber: 1031, Function theory superscript N - { "functionNine", 0xEA79 }, // glyphnumber: 1032, Function theory 9 - { "functionOne", 0xEA71 }, // glyphnumber: 1033, Function theory 1 - { "functionPLower", 0xEA88 }, // glyphnumber: 1034, Function theory p - { "functionPUpper", 0xEA87 }, // glyphnumber: 1035, Function theory P - { "functionParensLeft", 0xEA91 }, // glyphnumber: 1036, Function theory parenthesis left - { "functionParensRight", 0xEA92 }, // glyphnumber: 1037, Function theory parenthesis right - { "functionPlus", 0xEA98 }, // glyphnumber: 1038, Function theory prefix plus - { "functionRLower", 0xED03 }, // glyphnumber: 1039, Function theory r - { "functionRepetition1", 0xEA95 }, // glyphnumber: 1040, Function theory repetition 1 - { "functionRepetition2", 0xEA96 }, // glyphnumber: 1041, Function theory repetition 2 - { "functionRing", 0xEA97 }, // glyphnumber: 1042, Function theory prefix ring - { "functionSLower", 0xEA8A }, // glyphnumber: 1043, Function theory minor subdominant - { "functionSSLower", 0xEA7E }, // glyphnumber: 1044, Function theory minor subdominant of subdominant - { "functionSSUpper", 0xEA7D }, // glyphnumber: 1045, Function theory major subdominant of subdominant - { "functionSUpper", 0xEA89 }, // glyphnumber: 1046, Function theory major subdominant - { "functionSeven", 0xEA77 }, // glyphnumber: 1047, Function theory 7 - { "functionSix", 0xEA76 }, // glyphnumber: 1048, Function theory 6 - { "functionSlashedDD", 0xEA82 }, // glyphnumber: 1049, Function theory double dominant seventh - { "functionTLower", 0xEA8C }, // glyphnumber: 1050, Function theory minor tonic - { "functionTUpper", 0xEA8B }, // glyphnumber: 1051, Function theory tonic - { "functionThree", 0xEA73 }, // glyphnumber: 1052, Function theory 3 - { "functionTwo", 0xEA72 }, // glyphnumber: 1053, Function theory 2 - { "functionVLower", 0xEA8E }, // glyphnumber: 1054, Function theory v - { "functionVUpper", 0xEA8D }, // glyphnumber: 1055, Function theory V - { "functionZero", 0xEA70 }, // glyphnumber: 1056, Function theory 0 - { "gClef", 0xE050 }, // glyphnumber: 1057, G clef - { "gClef15ma", 0xE054 }, // glyphnumber: 1058, G clef quindicesima alta - { "gClef15mb", 0xE051 }, // glyphnumber: 1059, G clef quindicesima bassa - { "gClef8va", 0xE053 }, // glyphnumber: 1060, G clef ottava alta - { "gClef8vb", 0xE052 }, // glyphnumber: 1061, G clef ottava bassa - { "gClef8vbCClef", 0xE056 }, // glyphnumber: 1062, G clef ottava bassa with C clef - { "gClef8vbOld", 0xE055 }, // glyphnumber: 1063, G clef ottava bassa (old style) - { "gClef8vbParens", 0xE057 }, // glyphnumber: 1064, G clef, optionally ottava bassa - { "gClefArrowDown", 0xE05B }, // glyphnumber: 1065, G clef, arrow down - { "gClefArrowUp", 0xE05A }, // glyphnumber: 1066, G clef, arrow up - { "gClefChange", 0xE07A }, // glyphnumber: 1067, G clef change - { "gClefLigatedNumberAbove", 0xE059 }, // glyphnumber: 1068, Combining G clef, number above - { "gClefLigatedNumberBelow", 0xE058 }, // glyphnumber: 1069, Combining G clef, number below - { "gClefReversed", 0xE073 }, // glyphnumber: 1070, Reversed G clef - { "gClefTurned", 0xE074 }, // glyphnumber: 1071, Turned G clef - { "glissandoDown", 0xE586 }, // glyphnumber: 1072, Glissando down - { "glissandoUp", 0xE585 }, // glyphnumber: 1073, Glissando up - { "graceNoteAcciaccaturaStemDown", 0xE561 }, // glyphnumber: 1074, Slashed grace note stem down - { "graceNoteAcciaccaturaStemUp", 0xE560 }, // glyphnumber: 1075, Slashed grace note stem up - { "graceNoteAppoggiaturaStemDown", 0xE563 }, // glyphnumber: 1076, Grace note stem down - { "graceNoteAppoggiaturaStemUp", 0xE562 }, // glyphnumber: 1077, Grace note stem up - { "graceNoteSlashStemDown", 0xE565 }, // glyphnumber: 1078, Slash for stem down grace note - { "graceNoteSlashStemUp", 0xE564 }, // glyphnumber: 1079, Slash for stem up grace note - { "guitarBarreFull", 0xE848 }, // glyphnumber: 1080, Full barré - { "guitarBarreHalf", 0xE849 }, // glyphnumber: 1081, Half barré - { "guitarClosePedal", 0xE83F }, // glyphnumber: 1082, Closed wah/volume pedal - { "guitarFadeIn", 0xE843 }, // glyphnumber: 1083, Fade in - { "guitarFadeOut", 0xE844 }, // glyphnumber: 1084, Fade out - { "guitarGolpe", 0xE842 }, // glyphnumber: 1085, Golpe (tapping the pick guard) - { "guitarHalfOpenPedal", 0xE83E }, // glyphnumber: 1086, Half-open wah/volume pedal - { "guitarLeftHandTapping", 0xE840 }, // glyphnumber: 1087, Left-hand tapping - { "guitarOpenPedal", 0xE83D }, // glyphnumber: 1088, Open wah/volume pedal - { "guitarRightHandTapping", 0xE841 }, // glyphnumber: 1089, Right-hand tapping - { "guitarShake", 0xE832 }, // glyphnumber: 1090, Guitar shake - { "guitarString0", 0xE833 }, // glyphnumber: 1091, String number 0 - { "guitarString1", 0xE834 }, // glyphnumber: 1092, String number 1 - { "guitarString2", 0xE835 }, // glyphnumber: 1093, String number 2 - { "guitarString3", 0xE836 }, // glyphnumber: 1094, String number 3 - { "guitarString4", 0xE837 }, // glyphnumber: 1095, String number 4 - { "guitarString5", 0xE838 }, // glyphnumber: 1096, String number 5 - { "guitarString6", 0xE839 }, // glyphnumber: 1097, String number 6 - { "guitarString7", 0xE83A }, // glyphnumber: 1098, String number 7 - { "guitarString8", 0xE83B }, // glyphnumber: 1099, String number 8 - { "guitarString9", 0xE83C }, // glyphnumber: 1100, String number 9 - { "guitarStrumDown", 0xE847 }, // glyphnumber: 1101, Strum direction down - { "guitarStrumUp", 0xE846 }, // glyphnumber: 1102, Strum direction up - { "guitarVibratoBarDip", 0xE831 }, // glyphnumber: 1103, Guitar vibrato bar dip - { "guitarVibratoBarScoop", 0xE830 }, // glyphnumber: 1104, Guitar vibrato bar scoop - { "guitarVibratoStroke", 0xEAB2 }, // glyphnumber: 1105, Vibrato wiggle segment - { "guitarVolumeSwell", 0xE845 }, // glyphnumber: 1106, Volume swell - { "guitarWideVibratoStroke", 0xEAB3 }, // glyphnumber: 1107, Wide vibrato wiggle segment - { "handbellsBelltree", 0xE81F }, // glyphnumber: 1108, Belltree - { "handbellsDamp3", 0xE81E }, // glyphnumber: 1109, Damp 3 - { "handbellsEcho1", 0xE81B }, // glyphnumber: 1110, Echo - { "handbellsEcho2", 0xE81C }, // glyphnumber: 1111, Echo 2 - { "handbellsGyro", 0xE81D }, // glyphnumber: 1112, Gyro - { "handbellsHandMartellato", 0xE812 }, // glyphnumber: 1113, Hand martellato - { "handbellsMalletBellOnTable", 0xE815 }, // glyphnumber: 1114, Mallet, bell on table - { "handbellsMalletBellSuspended", 0xE814 }, // glyphnumber: 1115, Mallet, bell suspended - { "handbellsMalletLft", 0xE816 }, // glyphnumber: 1116, Mallet lift - { "handbellsMartellato", 0xE810 }, // glyphnumber: 1117, Martellato - { "handbellsMartellatoLift", 0xE811 }, // glyphnumber: 1118, Martellato lift - { "handbellsMutedMartellato", 0xE813 }, // glyphnumber: 1119, Muted martellato - { "handbellsPluckLift", 0xE817 }, // glyphnumber: 1120, Pluck lift - { "handbellsSwing", 0xE81A }, // glyphnumber: 1121, Swing - { "handbellsSwingDown", 0xE819 }, // glyphnumber: 1122, Swing down - { "handbellsSwingUp", 0xE818 }, // glyphnumber: 1123, Swing up - { "handbellsTablePairBells", 0xE821 }, // glyphnumber: 1124, Table pair of handbells - { "handbellsTableSingleBell", 0xE820 }, // glyphnumber: 1125, Table single handbell - { "harpMetalRod", 0xE68F }, // glyphnumber: 1126, Metal rod pictogram - { "harpPedalCentered", 0xE681 }, // glyphnumber: 1127, Harp pedal centered (natural) - { "harpPedalDivider", 0xE683 }, // glyphnumber: 1128, Harp pedal divider - { "harpPedalLowered", 0xE682 }, // glyphnumber: 1129, Harp pedal lowered (sharp) - { "harpPedalRaised", 0xE680 }, // glyphnumber: 1130, Harp pedal raised (flat) - { "harpSalzedoAeolianAscending", 0xE695 }, // glyphnumber: 1131, Ascending aeolian chords (Salzedo) - { "harpSalzedoAeolianDescending", 0xE696 }, // glyphnumber: 1132, Descending aeolian chords (Salzedo) - { "harpSalzedoDampAbove", 0xE69A }, // glyphnumber: 1133, Damp above (Salzedo) - { "harpSalzedoDampBelow", 0xE699 }, // glyphnumber: 1134, Damp below (Salzedo) - { "harpSalzedoDampBothHands", 0xE698 }, // glyphnumber: 1135, Damp with both hands (Salzedo) - { "harpSalzedoDampLowStrings", 0xE697 }, // glyphnumber: 1136, Damp only low strings (Salzedo) - { "harpSalzedoFluidicSoundsLeft", 0xE68D }, // glyphnumber: 1137, Fluidic sounds, left hand (Salzedo) - { "harpSalzedoFluidicSoundsRight", 0xE68E }, // glyphnumber: 1138, Fluidic sounds, right hand (Salzedo) - { "harpSalzedoIsolatedSounds", 0xE69C }, // glyphnumber: 1139, Isolated sounds (Salzedo) - { "harpSalzedoMetallicSounds", 0xE688 }, // glyphnumber: 1140, Metallic sounds (Salzedo) - { "harpSalzedoMetallicSoundsOneString", 0xE69B }, // glyphnumber: 1141, Metallic sounds, one string (Salzedo) - { "harpSalzedoMuffleTotally", 0xE68C }, // glyphnumber: 1142, Muffle totally (Salzedo) - { "harpSalzedoOboicFlux", 0xE685 }, // glyphnumber: 1143, Oboic flux (Salzedo) - { "harpSalzedoPlayUpperEnd", 0xE68A }, // glyphnumber: 1144, Play at upper end of strings (Salzedo) - { "harpSalzedoSlideWithSuppleness", 0xE684 }, // glyphnumber: 1145, Slide with suppleness (Salzedo) - { "harpSalzedoSnareDrum", 0xE69D }, // glyphnumber: 1146, Snare drum effect (Salzedo) - { "harpSalzedoTamTamSounds", 0xE689 }, // glyphnumber: 1147, Tam-tam sounds (Salzedo) - { "harpSalzedoThunderEffect", 0xE686 }, // glyphnumber: 1148, Thunder effect (Salzedo) - { "harpSalzedoTimpanicSounds", 0xE68B }, // glyphnumber: 1149, Timpanic sounds (Salzedo) - { "harpSalzedoWhistlingSounds", 0xE687 }, // glyphnumber: 1150, Whistling sounds (Salzedo) - { "harpStringNoiseStem", 0xE694 }, // glyphnumber: 1151, Combining string noise for stem - { "harpTuningKey", 0xE690 }, // glyphnumber: 1152, Tuning key pictogram - { "harpTuningKeyGlissando", 0xE693 }, // glyphnumber: 1153, Retune strings for glissando - { "harpTuningKeyHandle", 0xE691 }, // glyphnumber: 1154, Use handle of tuning key pictogram - { "harpTuningKeyShank", 0xE692 }, // glyphnumber: 1155, Use shank of tuning key pictogram - { "keyboardBebung2DotsAbove", 0xE668 }, // glyphnumber: 1156, Clavichord bebung, 2 finger movements (above) - { "keyboardBebung2DotsBelow", 0xE669 }, // glyphnumber: 1157, Clavichord bebung, 2 finger movements (below) - { "keyboardBebung3DotsAbove", 0xE66A }, // glyphnumber: 1158, Clavichord bebung, 3 finger movements (above) - { "keyboardBebung3DotsBelow", 0xE66B }, // glyphnumber: 1159, Clavichord bebung, 3 finger movements (below) - { "keyboardBebung4DotsAbove", 0xE66C }, // glyphnumber: 1160, Clavichord bebung, 4 finger movements (above) - { "keyboardBebung4DotsBelow", 0xE66D }, // glyphnumber: 1161, Clavichord bebung, 4 finger movements (below) - { "keyboardLeftPedalPictogram", 0xE65E }, // glyphnumber: 1162, Left pedal pictogram - { "keyboardMiddlePedalPictogram", 0xE65F }, // glyphnumber: 1163, Middle pedal pictogram - { "keyboardPedalD", 0xE653 }, // glyphnumber: 1164, Pedal d - { "keyboardPedalDot", 0xE654 }, // glyphnumber: 1165, Pedal dot - { "keyboardPedalE", 0xE652 }, // glyphnumber: 1166, Pedal e - { "keyboardPedalHalf", 0xE656 }, // glyphnumber: 1167, Half-pedal mark - { "keyboardPedalHalf2", 0xE65B }, // glyphnumber: 1168, Half pedal mark 1 - { "keyboardPedalHalf3", 0xE65C }, // glyphnumber: 1169, Half pedal mark 2 - { "keyboardPedalHeel1", 0xE661 }, // glyphnumber: 1170, Pedal heel 1 - { "keyboardPedalHeel2", 0xE662 }, // glyphnumber: 1171, Pedal heel 2 - { "keyboardPedalHeel3", 0xE663 }, // glyphnumber: 1172, Pedal heel 3 (Davis) - { "keyboardPedalHeelToToe", 0xE674 }, // glyphnumber: 1173, Pedal heel to toe - { "keyboardPedalHeelToe", 0xE666 }, // glyphnumber: 1174, Pedal heel or toe - { "keyboardPedalHookEnd", 0xE673 }, // glyphnumber: 1175, Pedal hook end - { "keyboardPedalHookStart", 0xE672 }, // glyphnumber: 1176, Pedal hook start - { "keyboardPedalHyphen", 0xE658 }, // glyphnumber: 1177, Pedal hyphen - { "keyboardPedalP", 0xE651 }, // glyphnumber: 1178, Pedal P - { "keyboardPedalPed", 0xE650 }, // glyphnumber: 1179, Pedal mark - { "keyboardPedalS", 0xE65A }, // glyphnumber: 1180, Pedal S - { "keyboardPedalSost", 0xE659 }, // glyphnumber: 1181, Sostenuto pedal mark - { "keyboardPedalToe1", 0xE664 }, // glyphnumber: 1182, Pedal toe 1 - { "keyboardPedalToe2", 0xE665 }, // glyphnumber: 1183, Pedal toe 2 - { "keyboardPedalToeToHeel", 0xE675 }, // glyphnumber: 1184, Pedal toe to heel - { "keyboardPedalUp", 0xE655 }, // glyphnumber: 1185, Pedal up mark - { "keyboardPedalUpNotch", 0xE657 }, // glyphnumber: 1186, Pedal up notch - { "keyboardPedalUpSpecial", 0xE65D }, // glyphnumber: 1187, Pedal up special - { "keyboardPlayWithLH", 0xE670 }, // glyphnumber: 1188, Play with left hand - { "keyboardPlayWithLHEnd", 0xE671 }, // glyphnumber: 1189, Play with left hand (end) - { "keyboardPlayWithRH", 0xE66E }, // glyphnumber: 1190, Play with right hand - { "keyboardPlayWithRHEnd", 0xE66F }, // glyphnumber: 1191, Play with right hand (end) - { "keyboardPluckInside", 0xE667 }, // glyphnumber: 1192, Pluck strings inside piano (Maderna) - { "keyboardRightPedalPictogram", 0xE660 }, // glyphnumber: 1193, Right pedal pictogram - { "kievanAccidentalFlat", 0xEC3E }, // glyphnumber: 1194, Kievan flat - { "kievanAccidentalSharp", 0xEC3D }, // glyphnumber: 1195, Kievan sharp - { "kievanAugmentationDot", 0xEC3C }, // glyphnumber: 1196, Kievan augmentation dot - { "kievanCClef", 0xEC30 }, // glyphnumber: 1197, Kievan C clef (tse-fa-ut) - { "kievanEndingSymbol", 0xEC31 }, // glyphnumber: 1198, Kievan ending symbol - { "kievanNote8thStemDown", 0xEC3A }, // glyphnumber: 1199, Kievan eighth note, stem down - { "kievanNote8thStemUp", 0xEC39 }, // glyphnumber: 1200, Kievan eighth note, stem up - { "kievanNoteBeam", 0xEC3B }, // glyphnumber: 1201, Kievan beam - { "kievanNoteHalfStaffLine", 0xEC35 }, // glyphnumber: 1202, Kievan half note (on staff line) - { "kievanNoteHalfStaffSpace", 0xEC36 }, // glyphnumber: 1203, Kievan half note (in staff space) - { "kievanNoteQuarterStemDown", 0xEC38 }, // glyphnumber: 1204, Kievan quarter note, stem down - { "kievanNoteQuarterStemUp", 0xEC37 }, // glyphnumber: 1205, Kievan quarter note, stem up - { "kievanNoteReciting", 0xEC32 }, // glyphnumber: 1206, Kievan reciting note - { "kievanNoteWhole", 0xEC33 }, // glyphnumber: 1207, Kievan whole note - { "kievanNoteWholeFinal", 0xEC34 }, // glyphnumber: 1208, Kievan final whole note - { "kodalyHandDo", 0xEC40 }, // glyphnumber: 1209, Do hand sign - { "kodalyHandFa", 0xEC43 }, // glyphnumber: 1210, Fa hand sign - { "kodalyHandLa", 0xEC45 }, // glyphnumber: 1211, La hand sign - { "kodalyHandMi", 0xEC42 }, // glyphnumber: 1212, Mi hand sign - { "kodalyHandRe", 0xEC41 }, // glyphnumber: 1213, Re hand sign - { "kodalyHandSo", 0xEC44 }, // glyphnumber: 1214, So hand sign - { "kodalyHandTi", 0xEC46 }, // glyphnumber: 1215, Ti hand sign - { "leftRepeatSmall", 0xE04C }, // glyphnumber: 1216, Left repeat sign within bar - { "legerLine", 0xE022 }, // glyphnumber: 1217, Leger line - { "legerLineNarrow", 0xE024 }, // glyphnumber: 1218, Leger line (narrow) - { "legerLineWide", 0xE023 }, // glyphnumber: 1219, Leger line (wide) - { "luteBarlineEndRepeat", 0xEBA4 }, // glyphnumber: 1220, Lute tablature end repeat barline - { "luteBarlineFinal", 0xEBA5 }, // glyphnumber: 1221, Lute tablature final barline - { "luteBarlineStartRepeat", 0xEBA3 }, // glyphnumber: 1222, Lute tablature start repeat barline - { "luteDuration16th", 0xEBAB }, // glyphnumber: 1223, 16th note (semiquaver) duration sign - { "luteDuration32nd", 0xEBAC }, // glyphnumber: 1224, 32nd note (demisemiquaver) duration sign - { "luteDuration8th", 0xEBAA }, // glyphnumber: 1225, Eighth note (quaver) duration sign - { "luteDurationDoubleWhole", 0xEBA6 }, // glyphnumber: 1226, Double whole note (breve) duration sign - { "luteDurationHalf", 0xEBA8 }, // glyphnumber: 1227, Half note (minim) duration sign - { "luteDurationQuarter", 0xEBA9 }, // glyphnumber: 1228, Quarter note (crotchet) duration sign - { "luteDurationWhole", 0xEBA7 }, // glyphnumber: 1229, Whole note (semibreve) duration sign - { "luteFingeringRHFirst", 0xEBAE }, // glyphnumber: 1230, Right-hand fingering, first finger - { "luteFingeringRHSecond", 0xEBAF }, // glyphnumber: 1231, Right-hand fingering, second finger - { "luteFingeringRHThird", 0xEBB0 }, // glyphnumber: 1232, Right-hand fingering, third finger - { "luteFingeringRHThumb", 0xEBAD }, // glyphnumber: 1233, Right-hand fingering, thumb - { "luteFrench10thCourse", 0xEBD0 }, // glyphnumber: 1234, 10th course (diapason) - { "luteFrench7thCourse", 0xEBCD }, // glyphnumber: 1235, Seventh course (diapason) - { "luteFrench8thCourse", 0xEBCE }, // glyphnumber: 1236, Eighth course (diapason) - { "luteFrench9thCourse", 0xEBCF }, // glyphnumber: 1237, Ninth course (diapason) - { "luteFrenchAppoggiaturaAbove", 0xEBD5 }, // glyphnumber: 1238, Appoggiatura from above - { "luteFrenchAppoggiaturaBelow", 0xEBD4 }, // glyphnumber: 1239, Appoggiatura from below - { "luteFrenchFretA", 0xEBC0 }, // glyphnumber: 1240, Open string (a) - { "luteFrenchFretB", 0xEBC1 }, // glyphnumber: 1241, First fret (b) - { "luteFrenchFretC", 0xEBC2 }, // glyphnumber: 1242, Second fret (c) - { "luteFrenchFretD", 0xEBC3 }, // glyphnumber: 1243, Third fret (d) - { "luteFrenchFretE", 0xEBC4 }, // glyphnumber: 1244, Fourth fret (e) - { "luteFrenchFretF", 0xEBC5 }, // glyphnumber: 1245, Fifth fret (f) - { "luteFrenchFretG", 0xEBC6 }, // glyphnumber: 1246, Sixth fret (g) - { "luteFrenchFretH", 0xEBC7 }, // glyphnumber: 1247, Seventh fret (h) - { "luteFrenchFretI", 0xEBC8 }, // glyphnumber: 1248, Eighth fret (i) - { "luteFrenchFretK", 0xEBC9 }, // glyphnumber: 1249, Ninth fret (k) - { "luteFrenchFretL", 0xEBCA }, // glyphnumber: 1250, 10th fret (l) - { "luteFrenchFretM", 0xEBCB }, // glyphnumber: 1251, 11th fret (m) - { "luteFrenchFretN", 0xEBCC }, // glyphnumber: 1252, 12th fret (n) - { "luteFrenchMordentInverted", 0xEBD3 }, // glyphnumber: 1253, Inverted mordent - { "luteFrenchMordentLower", 0xEBD2 }, // glyphnumber: 1254, Mordent with lower auxiliary - { "luteFrenchMordentUpper", 0xEBD1 }, // glyphnumber: 1255, Mordent with upper auxiliary - { "luteGermanALower", 0xEC00 }, // glyphnumber: 1256, 5th course, 1st fret (a) - { "luteGermanAUpper", 0xEC17 }, // glyphnumber: 1257, 6th course, 1st fret (A) - { "luteGermanBLower", 0xEC01 }, // glyphnumber: 1258, 4th course, 1st fret (b) - { "luteGermanBUpper", 0xEC18 }, // glyphnumber: 1259, 6th course, 2nd fret (B) - { "luteGermanCLower", 0xEC02 }, // glyphnumber: 1260, 3rd course, 1st fret (c) - { "luteGermanCUpper", 0xEC19 }, // glyphnumber: 1261, 6th course, 3rd fret (C) - { "luteGermanDLower", 0xEC03 }, // glyphnumber: 1262, 2nd course, 1st fret (d) - { "luteGermanDUpper", 0xEC1A }, // glyphnumber: 1263, 6th course, 4th fret (D) - { "luteGermanELower", 0xEC04 }, // glyphnumber: 1264, 1st course, 1st fret (e) - { "luteGermanEUpper", 0xEC1B }, // glyphnumber: 1265, 6th course, 5th fret (E) - { "luteGermanFLower", 0xEC05 }, // glyphnumber: 1266, 5th course, 2nd fret (f) - { "luteGermanFUpper", 0xEC1C }, // glyphnumber: 1267, 6th course, 6th fret (F) - { "luteGermanGLower", 0xEC06 }, // glyphnumber: 1268, 4th course, 2nd fret (g) - { "luteGermanGUpper", 0xEC1D }, // glyphnumber: 1269, 6th course, 7th fret (G) - { "luteGermanHLower", 0xEC07 }, // glyphnumber: 1270, 3rd course, 2nd fret (h) - { "luteGermanHUpper", 0xEC1E }, // glyphnumber: 1271, 6th course, 8th fret (H) - { "luteGermanILower", 0xEC08 }, // glyphnumber: 1272, 2nd course, 2nd fret (i) - { "luteGermanIUpper", 0xEC1F }, // glyphnumber: 1273, 6th course, 9th fret (I) - { "luteGermanKLower", 0xEC09 }, // glyphnumber: 1274, 1st course, 2nd fret (k) - { "luteGermanKUpper", 0xEC20 }, // glyphnumber: 1275, 6th course, 10th fret (K) - { "luteGermanLLower", 0xEC0A }, // glyphnumber: 1276, 5th course, 3rd fret (l) - { "luteGermanLUpper", 0xEC21 }, // glyphnumber: 1277, 6th course, 11th fret (L) - { "luteGermanMLower", 0xEC0B }, // glyphnumber: 1278, 4th course, 3rd fret (m) - { "luteGermanMUpper", 0xEC22 }, // glyphnumber: 1279, 6th course, 12th fret (M) - { "luteGermanNLower", 0xEC0C }, // glyphnumber: 1280, 3rd course, 3rd fret (n) - { "luteGermanNUpper", 0xEC23 }, // glyphnumber: 1281, 6th course, 13th fret (N) - { "luteGermanOLower", 0xEC0D }, // glyphnumber: 1282, 2nd course, 3rd fret (o) - { "luteGermanPLower", 0xEC0E }, // glyphnumber: 1283, 1st course, 3rd fret (p) - { "luteGermanQLower", 0xEC0F }, // glyphnumber: 1284, 5th course, 4th fret (q) - { "luteGermanRLower", 0xEC10 }, // glyphnumber: 1285, 4th course, 4th fret (r) - { "luteGermanSLower", 0xEC11 }, // glyphnumber: 1286, 3rd course, 4th fret (s) - { "luteGermanTLower", 0xEC12 }, // glyphnumber: 1287, 2nd course, 4th fret (t) - { "luteGermanVLower", 0xEC13 }, // glyphnumber: 1288, 1st course, 4th fret (v) - { "luteGermanXLower", 0xEC14 }, // glyphnumber: 1289, 5th course, 5th fret (x) - { "luteGermanYLower", 0xEC15 }, // glyphnumber: 1290, 4th course, 5th fret (y) - { "luteGermanZLower", 0xEC16 }, // glyphnumber: 1291, 3rd course, 5th fret (z) - { "luteItalianClefCSolFaUt", 0xEBF1 }, // glyphnumber: 1292, C sol fa ut clef - { "luteItalianClefFFaUt", 0xEBF0 }, // glyphnumber: 1293, F fa ut clef - { "luteItalianFret0", 0xEBE0 }, // glyphnumber: 1294, Open string (0) - { "luteItalianFret1", 0xEBE1 }, // glyphnumber: 1295, First fret (1) - { "luteItalianFret2", 0xEBE2 }, // glyphnumber: 1296, Second fret (2) - { "luteItalianFret3", 0xEBE3 }, // glyphnumber: 1297, Third fret (3) - { "luteItalianFret4", 0xEBE4 }, // glyphnumber: 1298, Fourth fret (4) - { "luteItalianFret5", 0xEBE5 }, // glyphnumber: 1299, Fifth fret (5) - { "luteItalianFret6", 0xEBE6 }, // glyphnumber: 1300, Sixth fret (6) - { "luteItalianFret7", 0xEBE7 }, // glyphnumber: 1301, Seventh fret (7) - { "luteItalianFret8", 0xEBE8 }, // glyphnumber: 1302, Eighth fret (8) - { "luteItalianFret9", 0xEBE9 }, // glyphnumber: 1303, Ninth fret (9) - { "luteItalianHoldFinger", 0xEBF4 }, // glyphnumber: 1304, Hold finger in place - { "luteItalianHoldNote", 0xEBF3 }, // glyphnumber: 1305, Hold note - { "luteItalianReleaseFinger", 0xEBF5 }, // glyphnumber: 1306, Release finger - { "luteItalianTempoFast", 0xEBEA }, // glyphnumber: 1307, Fast tempo indication (de Mudarra) - { "luteItalianTempoNeitherFastNorSlow", 0xEBEC }, // glyphnumber: 1308, Neither fast nor slow tempo indication (de Mudarra) - { "luteItalianTempoSlow", 0xEBED }, // glyphnumber: 1309, Slow tempo indication (de Mudarra) - { "luteItalianTempoSomewhatFast", 0xEBEB }, // glyphnumber: 1310, Somewhat fast tempo indication (de Narvaez) - { "luteItalianTempoVerySlow", 0xEBEE }, // glyphnumber: 1311, Very slow indication (de Narvaez) - { "luteItalianTimeTriple", 0xEBEF }, // glyphnumber: 1312, Triple time indication - { "luteItalianTremolo", 0xEBF2 }, // glyphnumber: 1313, Single-finger tremolo or mordent - { "luteItalianVibrato", 0xEBF6 }, // glyphnumber: 1314, Vibrato (verre cassé) - { "luteStaff6Lines", 0xEBA0 }, // glyphnumber: 1315, Lute tablature staff, 6 courses - { "luteStaff6LinesNarrow", 0xEBA2 }, // glyphnumber: 1316, Lute tablature staff, 6 courses (narrow) - { "luteStaff6LinesWide", 0xEBA1 }, // glyphnumber: 1317, Lute tablature staff, 6 courses (wide) - { "lyricsElision", 0xE551 }, // glyphnumber: 1318, Elision - { "lyricsElisionNarrow", 0xE550 }, // glyphnumber: 1319, Narrow elision - { "lyricsElisionWide", 0xE552 }, // glyphnumber: 1320, Wide elision - { "lyricsHyphenBaseline", 0xE553 }, // glyphnumber: 1321, Baseline hyphen - { "lyricsHyphenBaselineNonBreaking", 0xE554 }, // glyphnumber: 1322, Non-breaking baseline hyphen - { "medRenFlatHardB", 0xE9E1 }, // glyphnumber: 1323, Flat, hard b (mi) - { "medRenFlatSoftB", 0xE9E0 }, // glyphnumber: 1324, Flat, soft b (fa) - { "medRenFlatWithDot", 0xE9E4 }, // glyphnumber: 1325, Flat with dot - { "medRenGClefCMN", 0xEA24 }, // glyphnumber: 1326, G clef (Corpus Monodicum) - { "medRenLiquescenceCMN", 0xEA22 }, // glyphnumber: 1327, Liquescence - { "medRenLiquescentAscCMN", 0xEA26 }, // glyphnumber: 1328, Liquescent ascending (Corpus Monodicum) - { "medRenLiquescentDescCMN", 0xEA27 }, // glyphnumber: 1329, Liquescent descending (Corpus Monodicum) - { "medRenNatural", 0xE9E2 }, // glyphnumber: 1330, Natural - { "medRenNaturalWithCross", 0xE9E5 }, // glyphnumber: 1331, Natural with interrupted cross - { "medRenOriscusCMN", 0xEA2A }, // glyphnumber: 1332, Oriscus (Corpus Monodicum) - { "medRenPlicaCMN", 0xEA23 }, // glyphnumber: 1333, Plica - { "medRenPunctumCMN", 0xEA25 }, // glyphnumber: 1334, Punctum (Corpus Monodicum) - { "medRenQuilismaCMN", 0xEA28 }, // glyphnumber: 1335, Quilisma (Corpus Monodicum) - { "medRenSharpCroix", 0xE9E3 }, // glyphnumber: 1336, Croix - { "medRenStrophicusCMN", 0xEA29 }, // glyphnumber: 1337, Strophicus (Corpus Monodicum) - { "mensuralAlterationSign", 0xEA10 }, // glyphnumber: 1338, Alteration sign - { "mensuralBlackBrevis", 0xE952 }, // glyphnumber: 1339, Black mensural brevis - { "mensuralBlackBrevisVoid", 0xE956 }, // glyphnumber: 1340, Black mensural void brevis - { "mensuralBlackDragma", 0xE95A }, // glyphnumber: 1341, Black mensural dragma - { "mensuralBlackLonga", 0xE951 }, // glyphnumber: 1342, Black mensural longa - { "mensuralBlackMaxima", 0xE950 }, // glyphnumber: 1343, Black mensural maxima - { "mensuralBlackMinima", 0xE954 }, // glyphnumber: 1344, Black mensural minima - { "mensuralBlackMinimaVoid", 0xE958 }, // glyphnumber: 1345, Black mensural void minima - { "mensuralBlackSemibrevis", 0xE953 }, // glyphnumber: 1346, Black mensural semibrevis - { "mensuralBlackSemibrevisCaudata", 0xE959 }, // glyphnumber: 1347, Black mensural semibrevis caudata - { "mensuralBlackSemibrevisOblique", 0xE95B }, // glyphnumber: 1348, Black mensural oblique semibrevis - { "mensuralBlackSemibrevisVoid", 0xE957 }, // glyphnumber: 1349, Black mensural void semibrevis - { "mensuralBlackSemiminima", 0xE955 }, // glyphnumber: 1350, Black mensural semiminima - { "mensuralCclef", 0xE905 }, // glyphnumber: 1351, Mensural C clef - { "mensuralCclefPetrucciPosHigh", 0xE90A }, // glyphnumber: 1352, Petrucci C clef, high position - { "mensuralCclefPetrucciPosHighest", 0xE90B }, // glyphnumber: 1353, Petrucci C clef, highest position - { "mensuralCclefPetrucciPosLow", 0xE908 }, // glyphnumber: 1354, Petrucci C clef, low position - { "mensuralCclefPetrucciPosLowest", 0xE907 }, // glyphnumber: 1355, Petrucci C clef, lowest position - { "mensuralCclefPetrucciPosMiddle", 0xE909 }, // glyphnumber: 1356, Petrucci C clef, middle position - { "mensuralColorationEndRound", 0xEA0F }, // glyphnumber: 1357, Coloration end, round - { "mensuralColorationEndSquare", 0xEA0D }, // glyphnumber: 1358, Coloration end, square - { "mensuralColorationStartRound", 0xEA0E }, // glyphnumber: 1359, Coloration start, round - { "mensuralColorationStartSquare", 0xEA0C }, // glyphnumber: 1360, Coloration start, square - { "mensuralCombStemDiagonal", 0xE940 }, // glyphnumber: 1361, Combining stem diagonal - { "mensuralCombStemDown", 0xE93F }, // glyphnumber: 1362, Combining stem down - { "mensuralCombStemDownFlagExtended", 0xE948 }, // glyphnumber: 1363, Combining stem with extended flag down - { "mensuralCombStemDownFlagFlared", 0xE946 }, // glyphnumber: 1364, Combining stem with flared flag down - { "mensuralCombStemDownFlagFusa", 0xE94C }, // glyphnumber: 1365, Combining stem with fusa flag down - { "mensuralCombStemDownFlagLeft", 0xE944 }, // glyphnumber: 1366, Combining stem with flag left down - { "mensuralCombStemDownFlagRight", 0xE942 }, // glyphnumber: 1367, Combining stem with flag right down - { "mensuralCombStemDownFlagSemiminima", 0xE94A }, // glyphnumber: 1368, Combining stem with semiminima flag down - { "mensuralCombStemUp", 0xE93E }, // glyphnumber: 1369, Combining stem up - { "mensuralCombStemUpFlagExtended", 0xE947 }, // glyphnumber: 1370, Combining stem with extended flag up - { "mensuralCombStemUpFlagFlared", 0xE945 }, // glyphnumber: 1371, Combining stem with flared flag up - { "mensuralCombStemUpFlagFusa", 0xE94B }, // glyphnumber: 1372, Combining stem with fusa flag up - { "mensuralCombStemUpFlagLeft", 0xE943 }, // glyphnumber: 1373, Combining stem with flag left up - { "mensuralCombStemUpFlagRight", 0xE941 }, // glyphnumber: 1374, Combining stem with flag right up - { "mensuralCombStemUpFlagSemiminima", 0xE949 }, // glyphnumber: 1375, Combining stem with semiminima flag up - { "mensuralCustosCheckmark", 0xEA0A }, // glyphnumber: 1376, Checkmark custos - { "mensuralCustosDown", 0xEA03 }, // glyphnumber: 1377, Mensural custos down - { "mensuralCustosTurn", 0xEA0B }, // glyphnumber: 1378, Turn-like custos - { "mensuralCustosUp", 0xEA02 }, // glyphnumber: 1379, Mensural custos up - { "mensuralFclef", 0xE903 }, // glyphnumber: 1380, Mensural F clef - { "mensuralFclefPetrucci", 0xE904 }, // glyphnumber: 1381, Petrucci F clef - { "mensuralGclef", 0xE900 }, // glyphnumber: 1382, Mensural G clef - { "mensuralGclefPetrucci", 0xE901 }, // glyphnumber: 1383, Petrucci G clef - { "mensuralModusImperfectumVert", 0xE92D }, // glyphnumber: 1384, Modus imperfectum, vertical - { "mensuralModusPerfectumVert", 0xE92C }, // glyphnumber: 1385, Modus perfectum, vertical - { "mensuralNoteheadLongaBlack", 0xE934 }, // glyphnumber: 1386, Longa/brevis notehead, black - { "mensuralNoteheadLongaBlackVoid", 0xE936 }, // glyphnumber: 1387, Longa/brevis notehead, black and void - { "mensuralNoteheadLongaVoid", 0xE935 }, // glyphnumber: 1388, Longa/brevis notehead, void - { "mensuralNoteheadLongaWhite", 0xE937 }, // glyphnumber: 1389, Longa/brevis notehead, white - { "mensuralNoteheadMaximaBlack", 0xE930 }, // glyphnumber: 1390, Maxima notehead, black - { "mensuralNoteheadMaximaBlackVoid", 0xE932 }, // glyphnumber: 1391, Maxima notehead, black and void - { "mensuralNoteheadMaximaVoid", 0xE931 }, // glyphnumber: 1392, Maxima notehead, void - { "mensuralNoteheadMaximaWhite", 0xE933 }, // glyphnumber: 1393, Maxima notehead, white - { "mensuralNoteheadMinimaWhite", 0xE93C }, // glyphnumber: 1394, Minima notehead, white - { "mensuralNoteheadSemibrevisBlack", 0xE938 }, // glyphnumber: 1395, Semibrevis notehead, black - { "mensuralNoteheadSemibrevisBlackVoid", 0xE93A }, // glyphnumber: 1396, Semibrevis notehead, black and void - { "mensuralNoteheadSemibrevisBlackVoidTurned", 0xE93B }, // glyphnumber: 1397, Semibrevis notehead, black and void (turned) - { "mensuralNoteheadSemibrevisVoid", 0xE939 }, // glyphnumber: 1398, Semibrevis notehead, void - { "mensuralNoteheadSemiminimaWhite", 0xE93D }, // glyphnumber: 1399, Semiminima/fusa notehead, white - { "mensuralObliqueAsc2ndBlack", 0xE970 }, // glyphnumber: 1400, Oblique form, ascending 2nd, black - { "mensuralObliqueAsc2ndBlackVoid", 0xE972 }, // glyphnumber: 1401, Oblique form, ascending 2nd, black and void - { "mensuralObliqueAsc2ndVoid", 0xE971 }, // glyphnumber: 1402, Oblique form, ascending 2nd, void - { "mensuralObliqueAsc2ndWhite", 0xE973 }, // glyphnumber: 1403, Oblique form, ascending 2nd, white - { "mensuralObliqueAsc3rdBlack", 0xE974 }, // glyphnumber: 1404, Oblique form, ascending 3rd, black - { "mensuralObliqueAsc3rdBlackVoid", 0xE976 }, // glyphnumber: 1405, Oblique form, ascending 3rd, black and void - { "mensuralObliqueAsc3rdVoid", 0xE975 }, // glyphnumber: 1406, Oblique form, ascending 3rd, void - { "mensuralObliqueAsc3rdWhite", 0xE977 }, // glyphnumber: 1407, Oblique form, ascending 3rd, white - { "mensuralObliqueAsc4thBlack", 0xE978 }, // glyphnumber: 1408, Oblique form, ascending 4th, black - { "mensuralObliqueAsc4thBlackVoid", 0xE97A }, // glyphnumber: 1409, Oblique form, ascending 4th, black and void - { "mensuralObliqueAsc4thVoid", 0xE979 }, // glyphnumber: 1410, Oblique form, ascending 4th, void - { "mensuralObliqueAsc4thWhite", 0xE97B }, // glyphnumber: 1411, Oblique form, ascending 4th, white - { "mensuralObliqueAsc5thBlack", 0xE97C }, // glyphnumber: 1412, Oblique form, ascending 5th, black - { "mensuralObliqueAsc5thBlackVoid", 0xE97E }, // glyphnumber: 1413, Oblique form, ascending 5th, black and void - { "mensuralObliqueAsc5thVoid", 0xE97D }, // glyphnumber: 1414, Oblique form, ascending 5th, void - { "mensuralObliqueAsc5thWhite", 0xE97F }, // glyphnumber: 1415, Oblique form, ascending 5th, white - { "mensuralObliqueDesc2ndBlack", 0xE980 }, // glyphnumber: 1416, Oblique form, descending 2nd, black - { "mensuralObliqueDesc2ndBlackVoid", 0xE982 }, // glyphnumber: 1417, Oblique form, descending 2nd, black and void - { "mensuralObliqueDesc2ndVoid", 0xE981 }, // glyphnumber: 1418, Oblique form, descending 2nd, void - { "mensuralObliqueDesc2ndWhite", 0xE983 }, // glyphnumber: 1419, Oblique form, descending 2nd, white - { "mensuralObliqueDesc3rdBlack", 0xE984 }, // glyphnumber: 1420, Oblique form, descending 3rd, black - { "mensuralObliqueDesc3rdBlackVoid", 0xE986 }, // glyphnumber: 1421, Oblique form, descending 3rd, black and void - { "mensuralObliqueDesc3rdVoid", 0xE985 }, // glyphnumber: 1422, Oblique form, descending 3rd, void - { "mensuralObliqueDesc3rdWhite", 0xE987 }, // glyphnumber: 1423, Oblique form, descending 3rd, white - { "mensuralObliqueDesc4thBlack", 0xE988 }, // glyphnumber: 1424, Oblique form, descending 4th, black - { "mensuralObliqueDesc4thBlackVoid", 0xE98A }, // glyphnumber: 1425, Oblique form, descending 4th, black and void - { "mensuralObliqueDesc4thVoid", 0xE989 }, // glyphnumber: 1426, Oblique form, descending 4th, void - { "mensuralObliqueDesc4thWhite", 0xE98B }, // glyphnumber: 1427, Oblique form, descending 4th, white - { "mensuralObliqueDesc5thBlack", 0xE98C }, // glyphnumber: 1428, Oblique form, descending 5th, black - { "mensuralObliqueDesc5thBlackVoid", 0xE98E }, // glyphnumber: 1429, Oblique form, descending 5th, black and void - { "mensuralObliqueDesc5thVoid", 0xE98D }, // glyphnumber: 1430, Oblique form, descending 5th, void - { "mensuralObliqueDesc5thWhite", 0xE98F }, // glyphnumber: 1431, Oblique form, descending 5th, white - { "mensuralProlation1", 0xE910 }, // glyphnumber: 1432, Tempus perfectum cum prolatione perfecta (9/8) - { "mensuralProlation10", 0xE919 }, // glyphnumber: 1433, Tempus imperfectum cum prolatione imperfecta diminution 4 - { "mensuralProlation11", 0xE91A }, // glyphnumber: 1434, Tempus imperfectum cum prolatione imperfecta diminution 5 - { "mensuralProlation2", 0xE911 }, // glyphnumber: 1435, Tempus perfectum cum prolatione imperfecta (3/4) - { "mensuralProlation3", 0xE912 }, // glyphnumber: 1436, Tempus perfectum cum prolatione imperfecta diminution 1 (3/8) - { "mensuralProlation4", 0xE913 }, // glyphnumber: 1437, Tempus perfectum cum prolatione perfecta diminution 2 (9/16) - { "mensuralProlation5", 0xE914 }, // glyphnumber: 1438, Tempus imperfectum cum prolatione perfecta (6/8) - { "mensuralProlation6", 0xE915 }, // glyphnumber: 1439, Tempus imperfectum cum prolatione imperfecta (2/4) - { "mensuralProlation7", 0xE916 }, // glyphnumber: 1440, Tempus imperfectum cum prolatione imperfecta diminution 1 (2/2) - { "mensuralProlation8", 0xE917 }, // glyphnumber: 1441, Tempus imperfectum cum prolatione imperfecta diminution 2 (6/16) - { "mensuralProlation9", 0xE918 }, // glyphnumber: 1442, Tempus imperfectum cum prolatione imperfecta diminution 3 (2/2) - { "mensuralProlationCombiningDot", 0xE920 }, // glyphnumber: 1443, Combining dot - { "mensuralProlationCombiningDotVoid", 0xE924 }, // glyphnumber: 1444, Combining void dot - { "mensuralProlationCombiningStroke", 0xE925 }, // glyphnumber: 1445, Combining vertical stroke - { "mensuralProlationCombiningThreeDots", 0xE922 }, // glyphnumber: 1446, Combining three dots horizontal - { "mensuralProlationCombiningThreeDotsTri", 0xE923 }, // glyphnumber: 1447, Combining three dots triangular - { "mensuralProlationCombiningTwoDots", 0xE921 }, // glyphnumber: 1448, Combining two dots - { "mensuralProportion1", 0xE926 }, // glyphnumber: 1449, Mensural proportion 1 - { "mensuralProportion2", 0xE927 }, // glyphnumber: 1450, Mensural proportion 2 - { "mensuralProportion3", 0xE928 }, // glyphnumber: 1451, Mensural proportion 3 - { "mensuralProportion4", 0xE929 }, // glyphnumber: 1452, Mensural proportion 4 - { "mensuralProportionMajor", 0xE92B }, // glyphnumber: 1453, Mensural proportion major - { "mensuralProportionMinor", 0xE92A }, // glyphnumber: 1454, Mensural proportion minor - { "mensuralProportionProportioDupla1", 0xE91C }, // glyphnumber: 1455, Proportio dupla 1 - { "mensuralProportionProportioDupla2", 0xE91D }, // glyphnumber: 1456, Proportio dupla 2 - { "mensuralProportionProportioQuadrupla", 0xE91F }, // glyphnumber: 1457, Proportio quadrupla - { "mensuralProportionProportioTripla", 0xE91E }, // glyphnumber: 1458, Proportio tripla - { "mensuralProportionTempusPerfectum", 0xE91B }, // glyphnumber: 1459, Tempus perfectum - { "mensuralRestBrevis", 0xE9F3 }, // glyphnumber: 1460, Brevis rest - { "mensuralRestFusa", 0xE9F7 }, // glyphnumber: 1461, Fusa rest - { "mensuralRestLongaImperfecta", 0xE9F2 }, // glyphnumber: 1462, Longa imperfecta rest - { "mensuralRestLongaPerfecta", 0xE9F1 }, // glyphnumber: 1463, Longa perfecta rest - { "mensuralRestMaxima", 0xE9F0 }, // glyphnumber: 1464, Maxima rest - { "mensuralRestMinima", 0xE9F5 }, // glyphnumber: 1465, Minima rest - { "mensuralRestSemibrevis", 0xE9F4 }, // glyphnumber: 1466, Semibrevis rest - { "mensuralRestSemifusa", 0xE9F8 }, // glyphnumber: 1467, Semifusa rest - { "mensuralRestSemiminima", 0xE9F6 }, // glyphnumber: 1468, Semiminima rest - { "mensuralSignumDown", 0xEA01 }, // glyphnumber: 1469, Signum congruentiae down - { "mensuralSignumUp", 0xEA00 }, // glyphnumber: 1470, Signum congruentiae up - { "mensuralTempusImperfectumHoriz", 0xE92F }, // glyphnumber: 1471, Tempus imperfectum, horizontal - { "mensuralTempusPerfectumHoriz", 0xE92E }, // glyphnumber: 1472, Tempus perfectum, horizontal - { "mensuralWhiteBrevis", 0xE95E }, // glyphnumber: 1473, White mensural brevis - { "mensuralWhiteFusa", 0xE961 }, // glyphnumber: 1474, White mensural fusa - { "mensuralWhiteLonga", 0xE95D }, // glyphnumber: 1475, White mensural longa - { "mensuralWhiteMaxima", 0xE95C }, // glyphnumber: 1476, White mensural maxima - { "mensuralWhiteMinima", 0xE95F }, // glyphnumber: 1477, White mensural minima - { "mensuralWhiteSemiminima", 0xE960 }, // glyphnumber: 1478, White mensural semiminima - { "metAugmentationDot", 0xECB7 }, // glyphnumber: 1479, Augmentation dot - { "metNote1024thDown", 0xECB6 }, // glyphnumber: 1480, 1024th note (semihemidemisemihemidemisemiquaver) stem down - { "metNote1024thUp", 0xECB5 }, // glyphnumber: 1481, 1024th note (semihemidemisemihemidemisemiquaver) stem up - { "metNote128thDown", 0xECB0 }, // glyphnumber: 1482, 128th note (semihemidemisemiquaver) stem down - { "metNote128thUp", 0xECAF }, // glyphnumber: 1483, 128th note (semihemidemisemiquaver) stem up - { "metNote16thDown", 0xECAA }, // glyphnumber: 1484, 16th note (semiquaver) stem down - { "metNote16thUp", 0xECA9 }, // glyphnumber: 1485, 16th note (semiquaver) stem up - { "metNote256thDown", 0xECB2 }, // glyphnumber: 1486, 256th note (demisemihemidemisemiquaver) stem down - { "metNote256thUp", 0xECB1 }, // glyphnumber: 1487, 256th note (demisemihemidemisemiquaver) stem up - { "metNote32ndDown", 0xECAC }, // glyphnumber: 1488, 32nd note (demisemiquaver) stem down - { "metNote32ndUp", 0xECAB }, // glyphnumber: 1489, 32nd note (demisemiquaver) stem up - { "metNote512thDown", 0xECB4 }, // glyphnumber: 1490, 512th note (hemidemisemihemidemisemiquaver) stem down - { "metNote512thUp", 0xECB3 }, // glyphnumber: 1491, 512th note (hemidemisemihemidemisemiquaver) stem up - { "metNote64thDown", 0xECAE }, // glyphnumber: 1492, 64th note (hemidemisemiquaver) stem down - { "metNote64thUp", 0xECAD }, // glyphnumber: 1493, 64th note (hemidemisemiquaver) stem up - { "metNote8thDown", 0xECA8 }, // glyphnumber: 1494, Eighth note (quaver) stem down - { "metNote8thUp", 0xECA7 }, // glyphnumber: 1495, Eighth note (quaver) stem up - { "metNoteDoubleWhole", 0xECA0 }, // glyphnumber: 1496, Double whole note (breve) - { "metNoteDoubleWholeSquare", 0xECA1 }, // glyphnumber: 1497, Double whole note (square) - { "metNoteHalfDown", 0xECA4 }, // glyphnumber: 1498, Half note (minim) stem down - { "metNoteHalfUp", 0xECA3 }, // glyphnumber: 1499, Half note (minim) stem up - { "metNoteQuarterDown", 0xECA6 }, // glyphnumber: 1500, Quarter note (crotchet) stem down - { "metNoteQuarterUp", 0xECA5 }, // glyphnumber: 1501, Quarter note (crotchet) stem up - { "metNoteWhole", 0xECA2 }, // glyphnumber: 1502, Whole note (semibreve) - { "metricModulationArrowLeft", 0xEC63 }, // glyphnumber: 1503, Left-pointing arrow for metric modulation - { "metricModulationArrowRight", 0xEC64 }, // glyphnumber: 1504, Right-pointing arrow for metric modulation - { "miscDoNotCopy", 0xEC61 }, // glyphnumber: 1505, Do not copy - { "miscDoNotPhotocopy", 0xEC60 }, // glyphnumber: 1506, Do not photocopy - { "miscEyeglasses", 0xEC62 }, // glyphnumber: 1507, Eyeglasses - { "note1024thDown", 0xE1E6 }, // glyphnumber: 1508, 1024th note (semihemidemisemihemidemisemiquaver) stem down - { "note1024thUp", 0xE1E5 }, // glyphnumber: 1509, 1024th note (semihemidemisemihemidemisemiquaver) stem up - { "note128thDown", 0xE1E0 }, // glyphnumber: 1510, 128th note (semihemidemisemiquaver) stem down - { "note128thUp", 0xE1DF }, // glyphnumber: 1511, 128th note (semihemidemisemiquaver) stem up - { "note16thDown", 0xE1DA }, // glyphnumber: 1512, 16th note (semiquaver) stem down - { "note16thUp", 0xE1D9 }, // glyphnumber: 1513, 16th note (semiquaver) stem up - { "note256thDown", 0xE1E2 }, // glyphnumber: 1514, 256th note (demisemihemidemisemiquaver) stem down - { "note256thUp", 0xE1E1 }, // glyphnumber: 1515, 256th note (demisemihemidemisemiquaver) stem up - { "note32ndDown", 0xE1DC }, // glyphnumber: 1516, 32nd note (demisemiquaver) stem down - { "note32ndUp", 0xE1DB }, // glyphnumber: 1517, 32nd note (demisemiquaver) stem up - { "note512thDown", 0xE1E4 }, // glyphnumber: 1518, 512th note (hemidemisemihemidemisemiquaver) stem down - { "note512thUp", 0xE1E3 }, // glyphnumber: 1519, 512th note (hemidemisemihemidemisemiquaver) stem up - { "note64thDown", 0xE1DE }, // glyphnumber: 1520, 64th note (hemidemisemiquaver) stem down - { "note64thUp", 0xE1DD }, // glyphnumber: 1521, 64th note (hemidemisemiquaver) stem up - { "note8thDown", 0xE1D8 }, // glyphnumber: 1522, Eighth note (quaver) stem down - { "note8thUp", 0xE1D7 }, // glyphnumber: 1523, Eighth note (quaver) stem up - { "noteABlack", 0xE197 }, // glyphnumber: 1524, A (black note) - { "noteAFlatBlack", 0xE196 }, // glyphnumber: 1525, A flat (black note) - { "noteAFlatHalf", 0xE17F }, // glyphnumber: 1526, A flat (half note) - { "noteAFlatWhole", 0xE168 }, // glyphnumber: 1527, A flat (whole note) - { "noteAHalf", 0xE180 }, // glyphnumber: 1528, A (half note) - { "noteASharpBlack", 0xE198 }, // glyphnumber: 1529, A sharp (black note) - { "noteASharpHalf", 0xE181 }, // glyphnumber: 1530, A sharp (half note) - { "noteASharpWhole", 0xE16A }, // glyphnumber: 1531, A sharp (whole note) - { "noteAWhole", 0xE169 }, // glyphnumber: 1532, A (whole note) - { "noteBBlack", 0xE19A }, // glyphnumber: 1533, B (black note) - { "noteBFlatBlack", 0xE199 }, // glyphnumber: 1534, B flat (black note) - { "noteBFlatHalf", 0xE182 }, // glyphnumber: 1535, B flat (half note) - { "noteBFlatWhole", 0xE16B }, // glyphnumber: 1536, B flat (whole note) - { "noteBHalf", 0xE183 }, // glyphnumber: 1537, B (half note) - { "noteBSharpBlack", 0xE19B }, // glyphnumber: 1538, B sharp (black note) - { "noteBSharpHalf", 0xE184 }, // glyphnumber: 1539, B sharp (half note) - { "noteBSharpWhole", 0xE16D }, // glyphnumber: 1540, B sharp (whole note) - { "noteBWhole", 0xE16C }, // glyphnumber: 1541, B (whole note) - { "noteCBlack", 0xE19D }, // glyphnumber: 1542, C (black note) - { "noteCFlatBlack", 0xE19C }, // glyphnumber: 1543, C flat (black note) - { "noteCFlatHalf", 0xE185 }, // glyphnumber: 1544, C flat (half note) - { "noteCFlatWhole", 0xE16E }, // glyphnumber: 1545, C flat (whole note) - { "noteCHalf", 0xE186 }, // glyphnumber: 1546, C (half note) - { "noteCSharpBlack", 0xE19E }, // glyphnumber: 1547, C sharp (black note) - { "noteCSharpHalf", 0xE187 }, // glyphnumber: 1548, C sharp (half note) - { "noteCSharpWhole", 0xE170 }, // glyphnumber: 1549, C sharp (whole note) - { "noteCWhole", 0xE16F }, // glyphnumber: 1550, C (whole note) - { "noteDBlack", 0xE1A0 }, // glyphnumber: 1551, D (black note) - { "noteDFlatBlack", 0xE19F }, // glyphnumber: 1552, D flat (black note) - { "noteDFlatHalf", 0xE188 }, // glyphnumber: 1553, D flat (half note) - { "noteDFlatWhole", 0xE171 }, // glyphnumber: 1554, D flat (whole note) - { "noteDHalf", 0xE189 }, // glyphnumber: 1555, D (half note) - { "noteDSharpBlack", 0xE1A1 }, // glyphnumber: 1556, D sharp (black note) - { "noteDSharpHalf", 0xE18A }, // glyphnumber: 1557, D sharp (half note) - { "noteDSharpWhole", 0xE173 }, // glyphnumber: 1558, D sharp (whole note) - { "noteDWhole", 0xE172 }, // glyphnumber: 1559, D (whole note) - { "noteDoBlack", 0xE160 }, // glyphnumber: 1560, Do (black note) - { "noteDoHalf", 0xE158 }, // glyphnumber: 1561, Do (half note) - { "noteDoWhole", 0xE150 }, // glyphnumber: 1562, Do (whole note) - { "noteDoubleWhole", 0xE1D0 }, // glyphnumber: 1563, Double whole note (breve) - { "noteDoubleWholeSquare", 0xE1D1 }, // glyphnumber: 1564, Double whole note (square) - { "noteEBlack", 0xE1A3 }, // glyphnumber: 1565, E (black note) - { "noteEFlatBlack", 0xE1A2 }, // glyphnumber: 1566, E flat (black note) - { "noteEFlatHalf", 0xE18B }, // glyphnumber: 1567, E flat (half note) - { "noteEFlatWhole", 0xE174 }, // glyphnumber: 1568, E flat (whole note) - { "noteEHalf", 0xE18C }, // glyphnumber: 1569, E (half note) - { "noteESharpBlack", 0xE1A4 }, // glyphnumber: 1570, E sharp (black note) - { "noteESharpHalf", 0xE18D }, // glyphnumber: 1571, E sharp (half note) - { "noteESharpWhole", 0xE176 }, // glyphnumber: 1572, E sharp (whole note) - { "noteEWhole", 0xE175 }, // glyphnumber: 1573, E (whole note) - { "noteEmptyBlack", 0xE1AF }, // glyphnumber: 1574, Empty black note - { "noteEmptyHalf", 0xE1AE }, // glyphnumber: 1575, Empty half note - { "noteEmptyWhole", 0xE1AD }, // glyphnumber: 1576, Empty whole note - { "noteFBlack", 0xE1A6 }, // glyphnumber: 1577, F (black note) - { "noteFFlatBlack", 0xE1A5 }, // glyphnumber: 1578, F flat (black note) - { "noteFFlatHalf", 0xE18E }, // glyphnumber: 1579, F flat (half note) - { "noteFFlatWhole", 0xE177 }, // glyphnumber: 1580, F flat (whole note) - { "noteFHalf", 0xE18F }, // glyphnumber: 1581, F (half note) - { "noteFSharpBlack", 0xE1A7 }, // glyphnumber: 1582, F sharp (black note) - { "noteFSharpHalf", 0xE190 }, // glyphnumber: 1583, F sharp (half note) - { "noteFSharpWhole", 0xE179 }, // glyphnumber: 1584, F sharp (whole note) - { "noteFWhole", 0xE178 }, // glyphnumber: 1585, F (whole note) - { "noteFaBlack", 0xE163 }, // glyphnumber: 1586, Fa (black note) - { "noteFaHalf", 0xE15B }, // glyphnumber: 1587, Fa (half note) - { "noteFaWhole", 0xE153 }, // glyphnumber: 1588, Fa (whole note) - { "noteGBlack", 0xE1A9 }, // glyphnumber: 1589, G (black note) - { "noteGFlatBlack", 0xE1A8 }, // glyphnumber: 1590, G flat (black note) - { "noteGFlatHalf", 0xE191 }, // glyphnumber: 1591, G flat (half note) - { "noteGFlatWhole", 0xE17A }, // glyphnumber: 1592, G flat (whole note) - { "noteGHalf", 0xE192 }, // glyphnumber: 1593, G (half note) - { "noteGSharpBlack", 0xE1AA }, // glyphnumber: 1594, G sharp (black note) - { "noteGSharpHalf", 0xE193 }, // glyphnumber: 1595, G sharp (half note) - { "noteGSharpWhole", 0xE17C }, // glyphnumber: 1596, G sharp (whole note) - { "noteGWhole", 0xE17B }, // glyphnumber: 1597, G (whole note) - { "noteHBlack", 0xE1AB }, // glyphnumber: 1598, H (black note) - { "noteHHalf", 0xE194 }, // glyphnumber: 1599, H (half note) - { "noteHSharpBlack", 0xE1AC }, // glyphnumber: 1600, H sharp (black note) - { "noteHSharpHalf", 0xE195 }, // glyphnumber: 1601, H sharp (half note) - { "noteHSharpWhole", 0xE17E }, // glyphnumber: 1602, H sharp (whole note) - { "noteHWhole", 0xE17D }, // glyphnumber: 1603, H (whole note) - { "noteHalfDown", 0xE1D4 }, // glyphnumber: 1604, Half note (minim) stem down - { "noteHalfUp", 0xE1D3 }, // glyphnumber: 1605, Half note (minim) stem up - { "noteLaBlack", 0xE165 }, // glyphnumber: 1606, La (black note) - { "noteLaHalf", 0xE15D }, // glyphnumber: 1607, La (half note) - { "noteLaWhole", 0xE155 }, // glyphnumber: 1608, La (whole note) - { "noteMiBlack", 0xE162 }, // glyphnumber: 1609, Mi (black note) - { "noteMiHalf", 0xE15A }, // glyphnumber: 1610, Mi (half note) - { "noteMiWhole", 0xE152 }, // glyphnumber: 1611, Mi (whole note) - { "noteQuarterDown", 0xE1D6 }, // glyphnumber: 1612, Quarter note (crotchet) stem down - { "noteQuarterUp", 0xE1D5 }, // glyphnumber: 1613, Quarter note (crotchet) stem up - { "noteReBlack", 0xE161 }, // glyphnumber: 1614, Re (black note) - { "noteReHalf", 0xE159 }, // glyphnumber: 1615, Re (half note) - { "noteReWhole", 0xE151 }, // glyphnumber: 1616, Re (whole note) - { "noteShapeArrowheadLeftBlack", 0xE1C9 }, // glyphnumber: 1617, Arrowhead left black (Funk 7-shape re) - { "noteShapeArrowheadLeftDoubleWhole", 0xECDC }, // glyphnumber: 1618, Arrowhead left double whole (Funk 7-shape re) - { "noteShapeArrowheadLeftWhite", 0xE1C8 }, // glyphnumber: 1619, Arrowhead left white (Funk 7-shape re) - { "noteShapeDiamondBlack", 0xE1B9 }, // glyphnumber: 1620, Diamond black (4-shape mi; 7-shape mi) - { "noteShapeDiamondDoubleWhole", 0xECD4 }, // glyphnumber: 1621, Diamond double whole (4-shape mi; 7-shape mi) - { "noteShapeDiamondWhite", 0xE1B8 }, // glyphnumber: 1622, Diamond white (4-shape mi; 7-shape mi) - { "noteShapeIsoscelesTriangleBlack", 0xE1C5 }, // glyphnumber: 1623, Isosceles triangle black (Walker 7-shape ti) - { "noteShapeIsoscelesTriangleDoubleWhole", 0xECDA }, // glyphnumber: 1624, Isosceles triangle double whole (Walker 7-shape ti) - { "noteShapeIsoscelesTriangleWhite", 0xE1C4 }, // glyphnumber: 1625, Isosceles triangle white (Walker 7-shape ti) - { "noteShapeKeystoneBlack", 0xE1C1 }, // glyphnumber: 1626, Inverted keystone black (Walker 7-shape do) - { "noteShapeKeystoneDoubleWhole", 0xECD8 }, // glyphnumber: 1627, Inverted keystone double whole (Walker 7-shape do) - { "noteShapeKeystoneWhite", 0xE1C0 }, // glyphnumber: 1628, Inverted keystone white (Walker 7-shape do) - { "noteShapeMoonBlack", 0xE1BD }, // glyphnumber: 1629, Moon black (Aikin 7-shape re) - { "noteShapeMoonDoubleWhole", 0xECD6 }, // glyphnumber: 1630, Moon double whole (Aikin 7-shape re) - { "noteShapeMoonLeftBlack", 0xE1C7 }, // glyphnumber: 1631, Moon left black (Funk 7-shape do) - { "noteShapeMoonLeftDoubleWhole", 0xECDB }, // glyphnumber: 1632, Moon left double whole (Funk 7-shape do) - { "noteShapeMoonLeftWhite", 0xE1C6 }, // glyphnumber: 1633, Moon left white (Funk 7-shape do) - { "noteShapeMoonWhite", 0xE1BC }, // glyphnumber: 1634, Moon white (Aikin 7-shape re) - { "noteShapeQuarterMoonBlack", 0xE1C3 }, // glyphnumber: 1635, Quarter moon black (Walker 7-shape re) - { "noteShapeQuarterMoonDoubleWhole", 0xECD9 }, // glyphnumber: 1636, Quarter moon double whole (Walker 7-shape re) - { "noteShapeQuarterMoonWhite", 0xE1C2 }, // glyphnumber: 1637, Quarter moon white (Walker 7-shape re) - { "noteShapeRoundBlack", 0xE1B1 }, // glyphnumber: 1638, Round black (4-shape sol; 7-shape so) - { "noteShapeRoundDoubleWhole", 0xECD0 }, // glyphnumber: 1639, Round double whole (4-shape sol; 7-shape so) - { "noteShapeRoundWhite", 0xE1B0 }, // glyphnumber: 1640, Round white (4-shape sol; 7-shape so) - { "noteShapeSquareBlack", 0xE1B3 }, // glyphnumber: 1641, Square black (4-shape la; Aikin 7-shape la) - { "noteShapeSquareDoubleWhole", 0xECD1 }, // glyphnumber: 1642, Square double whole (4-shape la; Aikin 7-shape la) - { "noteShapeSquareWhite", 0xE1B2 }, // glyphnumber: 1643, Square white (4-shape la; Aikin 7-shape la) - { "noteShapeTriangleLeftBlack", 0xE1B7 }, // glyphnumber: 1644, Triangle left black (stem up; 4-shape fa; 7-shape fa) - { "noteShapeTriangleLeftDoubleWhole", 0xECD3 }, // glyphnumber: 1645, Triangle left double whole (stem up; 4-shape fa; 7-shape fa) - { "noteShapeTriangleLeftWhite", 0xE1B6 }, // glyphnumber: 1646, Triangle left white (stem up; 4-shape fa; 7-shape fa) - { "noteShapeTriangleRightBlack", 0xE1B5 }, // glyphnumber: 1647, Triangle right black (stem down; 4-shape fa; 7-shape fa) - { "noteShapeTriangleRightDoubleWhole", 0xECD2 }, // glyphnumber: 1648, Triangle right double whole (stem down; 4-shape fa; 7-shape fa) - { "noteShapeTriangleRightWhite", 0xE1B4 }, // glyphnumber: 1649, Triangle right white (stem down; 4-shape fa; 7-shape fa) - { "noteShapeTriangleRoundBlack", 0xE1BF }, // glyphnumber: 1650, Triangle-round black (Aikin 7-shape ti) - { "noteShapeTriangleRoundDoubleWhole", 0xECD7 }, // glyphnumber: 1651, Triangle-round white (Aikin 7-shape ti) - { "noteShapeTriangleRoundLeftBlack", 0xE1CB }, // glyphnumber: 1652, Triangle-round left black (Funk 7-shape ti) - { "noteShapeTriangleRoundLeftDoubleWhole", 0xECDD }, // glyphnumber: 1653, Triangle-round left double whole (Funk 7-shape ti) - { "noteShapeTriangleRoundLeftWhite", 0xE1CA }, // glyphnumber: 1654, Triangle-round left white (Funk 7-shape ti) - { "noteShapeTriangleRoundWhite", 0xE1BE }, // glyphnumber: 1655, Triangle-round white (Aikin 7-shape ti) - { "noteShapeTriangleUpBlack", 0xE1BB }, // glyphnumber: 1656, Triangle up black (Aikin 7-shape do) - { "noteShapeTriangleUpDoubleWhole", 0xECD5 }, // glyphnumber: 1657, Triangle up double whole (Aikin 7-shape do) - { "noteShapeTriangleUpWhite", 0xE1BA }, // glyphnumber: 1658, Triangle up white (Aikin 7-shape do) - { "noteSiBlack", 0xE167 }, // glyphnumber: 1659, Si (black note) - { "noteSiHalf", 0xE15F }, // glyphnumber: 1660, Si (half note) - { "noteSiWhole", 0xE157 }, // glyphnumber: 1661, Si (whole note) - { "noteSoBlack", 0xE164 }, // glyphnumber: 1662, So (black note) - { "noteSoHalf", 0xE15C }, // glyphnumber: 1663, So (half note) - - { "noteSoWhole", 0xE154 }, // glyphnumber: 1664, So (whole note) - - { "noteSoWhole", 0xE154 }, // glyphnumber: 1664, So (whole note) - { "noteTiBlack", 0xE166 }, // glyphnumber: 1665, Ti (black note) - { "noteTiHalf", 0xE15E }, // glyphnumber: 1666, Ti (half note) - { "noteTiWhole", 0xE156 }, // glyphnumber: 1667, Ti (whole note) - { "noteWhole", 0xE1D2 }, // glyphnumber: 1668, Whole note (semibreve) - { "noteheadBlack", 0xE0A4 }, // glyphnumber: 1669, Black notehead - { "noteheadCircleSlash", 0xE0F7 }, // glyphnumber: 1670, Circle slash notehead - { "noteheadCircleX", 0xE0B3 }, // glyphnumber: 1671, Circle X notehead - { "noteheadCircleXDoubleWhole", 0xE0B0 }, // glyphnumber: 1672, Circle X double whole - { "noteheadCircleXHalf", 0xE0B2 }, // glyphnumber: 1673, Circle X half - { "noteheadCircleXWhole", 0xE0B1 }, // glyphnumber: 1674, Circle X whole - { "noteheadCircledBlack", 0xE0E4 }, // glyphnumber: 1675, Circled black notehead - { "noteheadCircledBlackLarge", 0xE0E8 }, // glyphnumber: 1676, Black notehead in large circle - { "noteheadCircledDoubleWhole", 0xE0E7 }, // glyphnumber: 1677, Circled double whole notehead - { "noteheadCircledDoubleWholeLarge", 0xE0EB }, // glyphnumber: 1678, Double whole notehead in large circle - { "noteheadCircledHalf", 0xE0E5 }, // glyphnumber: 1679, Circled half notehead - { "noteheadCircledHalfLarge", 0xE0E9 }, // glyphnumber: 1680, Half notehead in large circle - { "noteheadCircledWhole", 0xE0E6 }, // glyphnumber: 1681, Circled whole notehead - { "noteheadCircledWholeLarge", 0xE0EA }, // glyphnumber: 1682, Whole notehead in large circle - { "noteheadCircledXLarge", 0xE0EC }, // glyphnumber: 1683, Cross notehead in large circle - { "noteheadClusterDoubleWhole2nd", 0xE124 }, // glyphnumber: 1684, Double whole note cluster, 2nd - { "noteheadClusterDoubleWhole3rd", 0xE128 }, // glyphnumber: 1685, Double whole note cluster, 3rd - { "noteheadClusterDoubleWholeBottom", 0xE12E }, // glyphnumber: 1686, Combining double whole note cluster, bottom - { "noteheadClusterDoubleWholeMiddle", 0xE12D }, // glyphnumber: 1687, Combining double whole note cluster, middle - { "noteheadClusterDoubleWholeTop", 0xE12C }, // glyphnumber: 1688, Combining double whole note cluster, top - { "noteheadClusterHalf2nd", 0xE126 }, // glyphnumber: 1689, Half note cluster, 2nd - { "noteheadClusterHalf3rd", 0xE12A }, // glyphnumber: 1690, Half note cluster, 3rd - { "noteheadClusterHalfBottom", 0xE134 }, // glyphnumber: 1691, Combining half note cluster, bottom - { "noteheadClusterHalfMiddle", 0xE133 }, // glyphnumber: 1692, Combining half note cluster, middle - { "noteheadClusterHalfTop", 0xE132 }, // glyphnumber: 1693, Combining half note cluster, top - { "noteheadClusterQuarter2nd", 0xE127 }, // glyphnumber: 1694, Quarter note cluster, 2nd - { "noteheadClusterQuarter3rd", 0xE12B }, // glyphnumber: 1695, Quarter note cluster, 3rd - { "noteheadClusterQuarterBottom", 0xE137 }, // glyphnumber: 1696, Combining quarter note cluster, bottom - { "noteheadClusterQuarterMiddle", 0xE136 }, // glyphnumber: 1697, Combining quarter note cluster, middle - { "noteheadClusterQuarterTop", 0xE135 }, // glyphnumber: 1698, Combining quarter note cluster, top - { "noteheadClusterRoundBlack", 0xE123 }, // glyphnumber: 1699, Cluster notehead black (round) - { "noteheadClusterRoundWhite", 0xE122 }, // glyphnumber: 1700, Cluster notehead white (round) - { "noteheadClusterSquareBlack", 0xE121 }, // glyphnumber: 1701, Cluster notehead black (square) - { "noteheadClusterSquareWhite", 0xE120 }, // glyphnumber: 1702, Cluster notehead white (square) - { "noteheadClusterWhole2nd", 0xE125 }, // glyphnumber: 1703, Whole note cluster, 2nd - { "noteheadClusterWhole3rd", 0xE129 }, // glyphnumber: 1704, Whole note cluster, 3rd - { "noteheadClusterWholeBottom", 0xE131 }, // glyphnumber: 1705, Combining whole note cluster, bottom - { "noteheadClusterWholeMiddle", 0xE130 }, // glyphnumber: 1706, Combining whole note cluster, middle - { "noteheadClusterWholeTop", 0xE12F }, // glyphnumber: 1707, Combining whole note cluster, top - { "noteheadDiamondBlack", 0xE0DB }, // glyphnumber: 1708, Diamond black notehead - { "noteheadDiamondBlackOld", 0xE0E2 }, // glyphnumber: 1709, Diamond black notehead (old) - { "noteheadDiamondBlackWide", 0xE0DC }, // glyphnumber: 1710, Diamond black notehead (wide) - { "noteheadDiamondClusterBlack2nd", 0xE139 }, // glyphnumber: 1711, Black diamond cluster, 2nd - { "noteheadDiamondClusterBlack3rd", 0xE13B }, // glyphnumber: 1712, Black diamond cluster, 3rd - { "noteheadDiamondClusterBlackBottom", 0xE141 }, // glyphnumber: 1713, Combining black diamond cluster, bottom - { "noteheadDiamondClusterBlackMiddle", 0xE140 }, // glyphnumber: 1714, Combining black diamond cluster, middle - { "noteheadDiamondClusterBlackTop", 0xE13F }, // glyphnumber: 1715, Combining black diamond cluster, top - { "noteheadDiamondClusterWhite2nd", 0xE138 }, // glyphnumber: 1716, White diamond cluster, 2nd - { "noteheadDiamondClusterWhite3rd", 0xE13A }, // glyphnumber: 1717, White diamond cluster, 3rd - { "noteheadDiamondClusterWhiteBottom", 0xE13E }, // glyphnumber: 1718, Combining white diamond cluster, bottom - { "noteheadDiamondClusterWhiteMiddle", 0xE13D }, // glyphnumber: 1719, Combining white diamond cluster, middle - { "noteheadDiamondClusterWhiteTop", 0xE13C }, // glyphnumber: 1720, Combining white diamond cluster, top - { "noteheadDiamondDoubleWhole", 0xE0D7 }, // glyphnumber: 1721, Diamond double whole notehead - { "noteheadDiamondDoubleWholeOld", 0xE0DF }, // glyphnumber: 1722, Diamond double whole notehead (old) - { "noteheadDiamondHalf", 0xE0D9 }, // glyphnumber: 1723, Diamond half notehead - { "noteheadDiamondHalfFilled", 0xE0E3 }, // glyphnumber: 1724, Half-filled diamond notehead - { "noteheadDiamondHalfOld", 0xE0E1 }, // glyphnumber: 1725, Diamond half notehead (old) - { "noteheadDiamondHalfWide", 0xE0DA }, // glyphnumber: 1726, Diamond half notehead (wide) - { "noteheadDiamondOpen", 0xE0FC }, // glyphnumber: 1727, Open diamond notehead - { "noteheadDiamondWhite", 0xE0DD }, // glyphnumber: 1728, Diamond white notehead - { "noteheadDiamondWhiteWide", 0xE0DE }, // glyphnumber: 1729, Diamond white notehead (wide) - { "noteheadDiamondWhole", 0xE0D8 }, // glyphnumber: 1730, Diamond whole notehead - { "noteheadDiamondWholeOld", 0xE0E0 }, // glyphnumber: 1731, Diamond whole notehead (old) - { "noteheadDoubleWhole", 0xE0A0 }, // glyphnumber: 1732, Double whole (breve) notehead - { "noteheadDoubleWholeSquare", 0xE0A1 }, // glyphnumber: 1733, Double whole (breve) notehead (square) - { "noteheadDoubleWholeWithX", 0xE0B4 }, // glyphnumber: 1734, Double whole notehead with X - { "noteheadHalf", 0xE0A3 }, // glyphnumber: 1735, Half (minim) notehead - { "noteheadHalfFilled", 0xE0FB }, // glyphnumber: 1736, Filled half (minim) notehead - { "noteheadHalfWithX", 0xE0B6 }, // glyphnumber: 1737, Half notehead with X - { "noteheadHeavyX", 0xE0F8 }, // glyphnumber: 1738, Heavy X notehead - { "noteheadHeavyXHat", 0xE0F9 }, // glyphnumber: 1739, Heavy X with hat notehead - { "noteheadLargeArrowDownBlack", 0xE0F4 }, // glyphnumber: 1740, Large arrow down (lowest pitch) black notehead - { "noteheadLargeArrowDownDoubleWhole", 0xE0F1 }, // glyphnumber: 1741, Large arrow down (lowest pitch) double whole notehead - - { "noteheadLargeArrowDownHalf", 0xE0F3 }, // glyphnumber: 1742, Large arrow down (lowest pitch) half notehead - { "noteheadLargeArrowDownWhole", 0xE0F2 }, // glyphnumber: 1743, Large arrow down (lowest pitch) whole notehead - { "noteheadLargeArrowUpBlack", 0xE0F0 }, // glyphnumber: 1744, Large arrow up (highest pitch) black notehead - { "noteheadLargeArrowUpDoubleWhole", 0xE0ED }, // glyphnumber: 1745, Large arrow up (highest pitch) double whole notehead - { "noteheadLargeArrowUpHalf", 0xE0EF }, // glyphnumber: 1746, Large arrow up (highest pitch) half notehead - { "noteheadLargeArrowUpWhole", 0xE0EE }, // glyphnumber: 1747, Large arrow up (highest pitch) whole notehead - { "noteheadMoonBlack", 0xE0CB }, // glyphnumber: 1748, Moon notehead black - { "noteheadMoonWhite", 0xE0CA }, // glyphnumber: 1749, Moon notehead white - { "noteheadNull", 0xE0A5 }, // glyphnumber: 1750, Null notehead - { "noteheadParenthesis", 0xE0CE }, // glyphnumber: 1751, Parenthesis notehead - { "noteheadParenthesisLeft", 0xE0F5 }, // glyphnumber: 1752, Opening parenthesis - { "noteheadParenthesisRight", 0xE0F6 }, // glyphnumber: 1753, Closing parenthesis - { "noteheadPlusBlack", 0xE0AF }, // glyphnumber: 1754, Plus notehead black - { "noteheadPlusDoubleWhole", 0xE0AC }, // glyphnumber: 1755, Plus notehead double whole - { "noteheadPlusHalf", 0xE0AE }, // glyphnumber: 1756, Plus notehead half - { "noteheadPlusWhole", 0xE0AD }, // glyphnumber: 1757, Plus notehead whole - { "noteheadRectangularClusterBlackBottom", 0xE144 }, // glyphnumber: 1758, Combining black rectangular cluster, bottom - { "noteheadRectangularClusterBlackMiddle", 0xE143 }, // glyphnumber: 1759, Combining black rectangular cluster, middle - { "noteheadRectangularClusterBlackTop", 0xE142 }, // glyphnumber: 1760, Combining black rectangular cluster, top - { "noteheadRectangularClusterWhiteBottom", 0xE147 }, // glyphnumber: 1761, Combining white rectangular cluster, bottom - { "noteheadRectangularClusterWhiteMiddle", 0xE146 }, // glyphnumber: 1762, Combining white rectangular cluster, middle - { "noteheadRectangularClusterWhiteTop", 0xE145 }, // glyphnumber: 1763, Combining white rectangular cluster, top - { "noteheadRoundBlack", 0xE113 }, // glyphnumber: 1764, Round black notehead - { "noteheadRoundBlackDoubleSlashed", 0xE11C }, // glyphnumber: 1765, Round black notehead, double slashed - { "noteheadRoundBlackLarge", 0xE110 }, // glyphnumber: 1766, Large round black notehead - { "noteheadRoundBlackSlashed", 0xE118 }, // glyphnumber: 1767, Round black notehead, slashed - { "noteheadRoundBlackSlashedLarge", 0xE116 }, // glyphnumber: 1768, Large round black notehead, slashed - { "noteheadRoundWhite", 0xE114 }, // glyphnumber: 1769, Round white notehead - { "noteheadRoundWhiteDoubleSlashed", 0xE11D }, // glyphnumber: 1770, Round white notehead, double slashed - { "noteheadRoundWhiteLarge", 0xE111 }, // glyphnumber: 1771, Large round white notehead - { "noteheadRoundWhiteSlashed", 0xE119 }, // glyphnumber: 1772, Round white notehead, slashed - { "noteheadRoundWhiteSlashedLarge", 0xE117 }, // glyphnumber: 1773, Large round white notehead, slashed - { "noteheadRoundWhiteWithDot", 0xE115 }, // glyphnumber: 1774, Round white notehead with dot - { "noteheadRoundWhiteWithDotLarge", 0xE112 }, // glyphnumber: 1775, Large round white notehead with dot - { "noteheadSlashDiamondWhite", 0xE104 }, // glyphnumber: 1776, Large white diamond - { "noteheadSlashHorizontalEnds", 0xE101 }, // glyphnumber: 1777, Slash with horizontal ends - { "noteheadSlashHorizontalEndsMuted", 0xE108 }, // glyphnumber: 1778, Muted slash with horizontal ends - { "noteheadSlashVerticalEnds", 0xE100 }, // glyphnumber: 1779, Slash with vertical ends - { "noteheadSlashVerticalEndsMuted", 0xE107 }, // glyphnumber: 1780, Muted slash with vertical ends - { "noteheadSlashVerticalEndsSmall", 0xE105 }, // glyphnumber: 1781, Small slash with vertical ends - { "noteheadSlashWhiteDoubleWhole", 0xE10A }, // glyphnumber: 1782, White slash double whole - { "noteheadSlashWhiteHalf", 0xE103 }, // glyphnumber: 1783, White slash half - { "noteheadSlashWhiteMuted", 0xE109 }, // glyphnumber: 1784, Muted white slash - { "noteheadSlashWhiteWhole", 0xE102 }, // glyphnumber: 1785, White slash whole - { "noteheadSlashX", 0xE106 }, // glyphnumber: 1786, Large X notehead - { "noteheadSlashedBlack1", 0xE0CF }, // glyphnumber: 1787, Slashed black notehead (bottom left to top right) - { "noteheadSlashedBlack2", 0xE0D0 }, // glyphnumber: 1788, Slashed black notehead (top left to bottom right) - { "noteheadSlashedDoubleWhole1", 0xE0D5 }, // glyphnumber: 1789, Slashed double whole notehead (bottom left to top right) - { "noteheadSlashedDoubleWhole2", 0xE0D6 }, // glyphnumber: 1790, Slashed double whole notehead (top left to bottom right) - { "noteheadSlashedHalf1", 0xE0D1 }, // glyphnumber: 1791, Slashed half notehead (bottom left to top right) - { "noteheadSlashedHalf2", 0xE0D2 }, // glyphnumber: 1792, Slashed half notehead (top left to bottom right) - { "noteheadSlashedWhole1", 0xE0D3 }, // glyphnumber: 1793, Slashed whole notehead (bottom left to top right) - { "noteheadSlashedWhole2", 0xE0D4 }, // glyphnumber: 1794, Slashed whole notehead (top left to bottom right) - { "noteheadSquareBlack", 0xE0B9 }, // glyphnumber: 1795, Square notehead black - { "noteheadSquareBlackLarge", 0xE11A }, // glyphnumber: 1796, Large square black notehead - { "noteheadSquareBlackWhite", 0xE11B }, // glyphnumber: 1797, Large square white notehead - { "noteheadSquareWhite", 0xE0B8 }, // glyphnumber: 1798, Square notehead white - { "noteheadTriangleDownBlack", 0xE0C7 }, // glyphnumber: 1799, Triangle notehead down black - { "noteheadTriangleDownDoubleWhole", 0xE0C3 }, // glyphnumber: 1800, Triangle notehead down double whole - { "noteheadTriangleDownHalf", 0xE0C5 }, // glyphnumber: 1801, Triangle notehead down half - { "noteheadTriangleDownWhite", 0xE0C6 }, // glyphnumber: 1802, Triangle notehead down white - { "noteheadTriangleDownWhole", 0xE0C4 }, // glyphnumber: 1803, Triangle notehead down whole - { "noteheadTriangleLeftBlack", 0xE0C0 }, // glyphnumber: 1804, Triangle notehead left black - { "noteheadTriangleLeftWhite", 0xE0BF }, // glyphnumber: 1805, Triangle notehead left white - { "noteheadTriangleRightBlack", 0xE0C2 }, // glyphnumber: 1806, Triangle notehead right black - { "noteheadTriangleRightWhite", 0xE0C1 }, // glyphnumber: 1807, Triangle notehead right white - { "noteheadTriangleRoundDownBlack", 0xE0CD }, // glyphnumber: 1808, Triangle-round notehead down black - { "noteheadTriangleRoundDownWhite", 0xE0CC }, // glyphnumber: 1809, Triangle-round notehead down white - { "noteheadTriangleUpBlack", 0xE0BE }, // glyphnumber: 1810, Triangle notehead up black - { "noteheadTriangleUpDoubleWhole", 0xE0BA }, // glyphnumber: 1811, Triangle notehead up double whole - { "noteheadTriangleUpHalf", 0xE0BC }, // glyphnumber: 1812, Triangle notehead up half - { "noteheadTriangleUpRightBlack", 0xE0C9 }, // glyphnumber: 1813, Triangle notehead up right black - { "noteheadTriangleUpRightWhite", 0xE0C8 }, // glyphnumber: 1814, Triangle notehead up right white - { "noteheadTriangleUpWhite", 0xE0BD }, // glyphnumber: 1815, Triangle notehead up white - { "noteheadTriangleUpWhole", 0xE0BB }, // glyphnumber: 1816, Triangle notehead up whole - { "noteheadVoidWithX", 0xE0B7 }, // glyphnumber: 1817, Void notehead with X - { "noteheadWhole", 0xE0A2 }, // glyphnumber: 1818, Whole (semibreve) notehead - { "noteheadWholeFilled", 0xE0FA }, // glyphnumber: 1819, Filled whole (semibreve) notehead - { "noteheadWholeWithX", 0xE0B5 }, // glyphnumber: 1820, Whole notehead with X - { "noteheadXBlack", 0xE0A9 }, // glyphnumber: 1821, X notehead black - { "noteheadXDoubleWhole", 0xE0A6 }, // glyphnumber: 1822, X notehead double whole - { "noteheadXHalf", 0xE0A8 }, // glyphnumber: 1823, X notehead half - { "noteheadXOrnate", 0xE0AA }, // glyphnumber: 1824, Ornate X notehead - { "noteheadXOrnateEllipse", 0xE0AB }, // glyphnumber: 1825, Ornate X notehead in ellipse - { "noteheadXWhole", 0xE0A7 }, // glyphnumber: 1826, X notehead whole - { "octaveBaselineA", 0xEC91 }, // glyphnumber: 1827, a (baseline) - { "octaveBaselineB", 0xEC93 }, // glyphnumber: 1828, b (baseline) - { "octaveBaselineM", 0xEC95 }, // glyphnumber: 1829, m (baseline) - { "octaveBaselineV", 0xEC97 }, // glyphnumber: 1830, v (baseline) - { "octaveBassa", 0xE51F }, // glyphnumber: 1831, Bassa - { "octaveLoco", 0xEC90 }, // glyphnumber: 1832, Loco - { "octaveParensLeft", 0xE51A }, // glyphnumber: 1833, Left parenthesis for octave signs - { "octaveParensRight", 0xE51B }, // glyphnumber: 1834, Right parenthesis for octave signs - { "octaveSuperscriptA", 0xEC92 }, // glyphnumber: 1835, a (superscript) - { "octaveSuperscriptB", 0xEC94 }, // glyphnumber: 1836, b (superscript) - { "octaveSuperscriptM", 0xEC96 }, // glyphnumber: 1837, m (superscript) - { "octaveSuperscriptV", 0xEC98 }, // glyphnumber: 1838, v (superscript) - { "ornamentBottomLeftConcaveStroke", 0xE59A }, // glyphnumber: 1839, Ornament bottom left concave stroke - { "ornamentBottomLeftConcaveStrokeLarge", 0xE59B }, // glyphnumber: 1840, Ornament bottom left concave stroke, large - { "ornamentBottomLeftConvexStroke", 0xE59C }, // glyphnumber: 1841, Ornament bottom left convex stroke - { "ornamentBottomRightConcaveStroke", 0xE5A7 }, // glyphnumber: 1842, Ornament bottom right concave stroke - { "ornamentBottomRightConvexStroke", 0xE5A8 }, // glyphnumber: 1843, Ornament bottom right convex stroke - { "ornamentComma", 0xE581 }, // glyphnumber: 1844, Comma - { "ornamentDoubleObliqueLinesAfterNote", 0xE57E }, // glyphnumber: 1845, Double oblique straight lines NW-SE - { "ornamentDoubleObliqueLinesBeforeNote", 0xE57D }, // glyphnumber: 1846, Double oblique straight lines SW-NE - { "ornamentDownCurve", 0xE578 }, // glyphnumber: 1847, Curve below - { "ornamentHaydn", 0xE56F }, // glyphnumber: 1848, Haydn ornament - { "ornamentHighLeftConcaveStroke", 0xE592 }, // glyphnumber: 1849, Ornament high left concave stroke - { "ornamentHighLeftConvexStroke", 0xE593 }, // glyphnumber: 1850, Ornament high left convex stroke - { "ornamentHighRightConcaveStroke", 0xE5A2 }, // glyphnumber: 1851, Ornament high right concave stroke - { "ornamentHighRightConvexStroke", 0xE5A3 }, // glyphnumber: 1852, Ornament high right convex stroke - { "ornamentHookAfterNote", 0xE576 }, // glyphnumber: 1853, Hook after note - { "ornamentHookBeforeNote", 0xE575 }, // glyphnumber: 1854, Hook before note - { "ornamentLeftFacingHalfCircle", 0xE572 }, // glyphnumber: 1855, Left-facing half circle - { "ornamentLeftFacingHook", 0xE574 }, // glyphnumber: 1856, Left-facing hook - { "ornamentLeftPlus", 0xE597 }, // glyphnumber: 1857, Ornament left + - { "ornamentLeftShakeT", 0xE596 }, // glyphnumber: 1858, Ornament left shake t - { "ornamentLeftVerticalStroke", 0xE594 }, // glyphnumber: 1859, Ornament left vertical stroke - { "ornamentLeftVerticalStrokeWithCross", 0xE595 }, // glyphnumber: 1860, Ornament left vertical stroke with cross (+) - { "ornamentLowLeftConcaveStroke", 0xE598 }, // glyphnumber: 1861, Ornament low left concave stroke - { "ornamentLowLeftConvexStroke", 0xE599 }, // glyphnumber: 1862, Ornament low left convex stroke - { "ornamentLowRightConcaveStroke", 0xE5A5 }, // glyphnumber: 1863, Ornament low right concave stroke - { "ornamentLowRightConvexStroke", 0xE5A6 }, // glyphnumber: 1864, Ornament low right convex stroke - { "ornamentMiddleVerticalStroke", 0xE59F }, // glyphnumber: 1865, Ornament middle vertical stroke - { "ornamentMordent", 0xE56C }, // glyphnumber: 1866, Mordent - { "ornamentMordentInverted", 0xE56D }, // glyphnumber: 1867, Inverted mordent - { "ornamentObliqueLineAfterNote", 0xE57C }, // glyphnumber: 1868, Oblique straight line NW-SE - { "ornamentObliqueLineBeforeNote", 0xE57B }, // glyphnumber: 1869, Oblique straight line SW-NE - { "ornamentObliqueLineHorizAfterNote", 0xE580 }, // glyphnumber: 1870, Oblique straight line tilted NW-SE - { "ornamentObliqueLineHorizBeforeNote", 0xE57F }, // glyphnumber: 1871, Oblique straight line tilted SW-NE - { "ornamentOriscus", 0xEA21 }, // glyphnumber: 1872, Oriscus - { "ornamentPinceCouperin", 0xE588 }, // glyphnumber: 1873, Pincé (Couperin) - { "ornamentPortDeVoixV", 0xE570 }, // glyphnumber: 1874, Port de voix - { "ornamentPrecompAppoggTrill", 0xE5B2 }, // glyphnumber: 1875, Supported appoggiatura trill - { "ornamentPrecompAppoggTrillSuffix", 0xE5B3 }, // glyphnumber: 1876, Supported appoggiatura trill with two-note suffix - { "ornamentPrecompCadence", 0xE5BE }, // glyphnumber: 1877, Cadence - { "ornamentPrecompCadenceUpperPrefix", 0xE5C1 }, // glyphnumber: 1878, Cadence with upper prefix - { "ornamentPrecompCadenceUpperPrefixTurn", 0xE5C2 }, // glyphnumber: 1879, Cadence with upper prefix and turn - { "ornamentPrecompCadenceWithTurn", 0xE5BF }, // glyphnumber: 1880, Cadence with turn - { "ornamentPrecompDescendingSlide", 0xE5B1 }, // glyphnumber: 1881, Descending slide - { "ornamentPrecompDoubleCadenceLowerPrefix", 0xE5C0 }, // glyphnumber: 1882, Double cadence with lower prefix - { "ornamentPrecompDoubleCadenceUpperPrefix", 0xE5C3 }, // glyphnumber: 1883, Double cadence with upper prefix - { "ornamentPrecompDoubleCadenceUpperPrefixTurn", 0xE5C4 }, // glyphnumber: 1884, Double cadence with upper prefix and turn - { "ornamentPrecompInvertedMordentUpperPrefix", 0xE5C7 }, // glyphnumber: 1885, Inverted mordent with upper prefix - { "ornamentPrecompMordentRelease", 0xE5C5 }, // glyphnumber: 1886, Mordent with release - { "ornamentPrecompMordentUpperPrefix", 0xE5C6 }, // glyphnumber: 1887, Mordent with upper prefix - { "ornamentPrecompPortDeVoixMordent", 0xE5BC }, // glyphnumber: 1888, Pre-beat port de voix follwed by multiple mordent (Dandrieu) - { "ornamentPrecompSlide", 0xE5B0 }, // glyphnumber: 1889, Slide - { "ornamentPrecompSlideTrillBach", 0xE5B8 }, // glyphnumber: 1890, Slide-trill with two-note suffix (J.S. Bach) - { "ornamentPrecompSlideTrillDAnglebert", 0xE5B5 }, // glyphnumber: 1891, Slide-trill (D'Anglebert) - { "ornamentPrecompSlideTrillMarpurg", 0xE5B6 }, // glyphnumber: 1892, Slide-trill with one-note suffix (Marpurg) - { "ornamentPrecompSlideTrillMuffat", 0xE5B9 }, // glyphnumber: 1893, Slide-trill (Muffat) - { "ornamentPrecompSlideTrillSuffixMuffat", 0xE5BA }, // glyphnumber: 1894, Slide-trill with two-note suffix (Muffat) - { "ornamentPrecompTrillLowerSuffix", 0xE5C8 }, // glyphnumber: 1895, Trill with lower suffix - { "ornamentPrecompTrillSuffixDandrieu", 0xE5BB }, // glyphnumber: 1896, Trill with two-note suffix (Dandrieu) - { "ornamentPrecompTrillWithMordent", 0xE5BD }, // glyphnumber: 1897, Trill with mordent - { "ornamentPrecompTurnTrillBach", 0xE5B7 }, // glyphnumber: 1898, Turn-trill with two-note suffix (J.S. Bach) - { "ornamentPrecompTurnTrillDAnglebert", 0xE5B4 }, // glyphnumber: 1899, Turn-trill (D'Anglebert) - { "ornamentQuilisma", 0xEA20 }, // glyphnumber: 1900, Quilisma - { "ornamentRightFacingHalfCircle", 0xE571 }, // glyphnumber: 1901, Right-facing half circle - { "ornamentRightFacingHook", 0xE573 }, // glyphnumber: 1902, Right-facing hook - { "ornamentRightVerticalStroke", 0xE5A4 }, // glyphnumber: 1903, Ornament right vertical stroke - { "ornamentSchleifer", 0xE587 }, // glyphnumber: 1904, Schleifer (long mordent) - { "ornamentShake3", 0xE582 }, // glyphnumber: 1905, Shake - { "ornamentShakeMuffat1", 0xE584 }, // glyphnumber: 1906, Shake (Muffat) - { "ornamentShortObliqueLineAfterNote", 0xE57A }, // glyphnumber: 1907, Short oblique straight line NW-SE - { "ornamentShortObliqueLineBeforeNote", 0xE579 }, // glyphnumber: 1908, Short oblique straight line SW-NE - { "ornamentTopLeftConcaveStroke", 0xE590 }, // glyphnumber: 1909, Ornament top left concave stroke - { "ornamentTopLeftConvexStroke", 0xE591 }, // glyphnumber: 1910, Ornament top left convex stroke - { "ornamentTopRightConcaveStroke", 0xE5A0 }, // glyphnumber: 1911, Ornament top right concave stroke - { "ornamentTopRightConvexStroke", 0xE5A1 }, // glyphnumber: 1912, Ornament top right convex stroke - { "ornamentTremblement", 0xE56E }, // glyphnumber: 1913, Tremblement - { "ornamentTremblementCouperin", 0xE589 }, // glyphnumber: 1914, Tremblement appuyé (Couperin) - { "ornamentTrill", 0xE566 }, // glyphnumber: 1915, Trill - { "ornamentTurn", 0xE567 }, // glyphnumber: 1916, Turn - { "ornamentTurnInverted", 0xE568 }, // glyphnumber: 1917, Inverted turn - { "ornamentTurnSlash", 0xE569 }, // glyphnumber: 1918, Turn with slash - { "ornamentTurnUp", 0xE56A }, // glyphnumber: 1919, Turn up - { "ornamentTurnUpS", 0xE56B }, // glyphnumber: 1920, Inverted turn up - { "ornamentUpCurve", 0xE577 }, // glyphnumber: 1921, Curve above - { "ornamentVerticalLine", 0xE583 }, // glyphnumber: 1922, Vertical line - { "ornamentZigZagLineNoRightEnd", 0xE59D }, // glyphnumber: 1923, Ornament zig-zag line without right-hand end - { "ornamentZigZagLineWithRightEnd", 0xE59E }, // glyphnumber: 1924, Ornament zig-zag line with right-hand end - { "ottava", 0xE510 }, // glyphnumber: 1925, Ottava - { "ottavaAlta", 0xE511 }, // glyphnumber: 1926, Ottava alta - { "ottavaBassa", 0xE512 }, // glyphnumber: 1927, Ottava bassa - { "ottavaBassaBa", 0xE513 }, // glyphnumber: 1928, Ottava bassa (ba) - { "ottavaBassaVb", 0xE51C }, // glyphnumber: 1929, Ottava bassa (8vb) - { "pendereckiTremolo", 0xE22B }, // glyphnumber: 1930, Penderecki unmeasured tremolo - { "pictAgogo", 0xE717 }, // glyphnumber: 1931, Agogo - { "pictAlmglocken", 0xE712 }, // glyphnumber: 1932, Almglocken - { "pictAnvil", 0xE701 }, // glyphnumber: 1933, Anvil - { "pictBambooChimes", 0xE6C3 }, // glyphnumber: 1934, Bamboo tube chimes - { "pictBambooScraper", 0xE6FB }, // glyphnumber: 1935, Bamboo scraper - { "pictBassDrum", 0xE6D4 }, // glyphnumber: 1936, Bass drum - { "pictBassDrumOnSide", 0xE6D5 }, // glyphnumber: 1937, Bass drum on side - { "pictBeaterBow", 0xE7DE }, // glyphnumber: 1938, Bow - { "pictBeaterBox", 0xE7EB }, // glyphnumber: 1939, Box for percussion beater - { "pictBeaterBrassMalletsDown", 0xE7DA }, // glyphnumber: 1940, Brass mallets down - { "pictBeaterBrassMalletsUp", 0xE7D9 }, // glyphnumber: 1941, Brass mallets up - { "pictBeaterCombiningDashedCircle", 0xE7EA }, // glyphnumber: 1942, Combining dashed circle for round beaters (plated) - { "pictBeaterCombiningParentheses", 0xE7E9 }, // glyphnumber: 1943, Combining parentheses for round beaters (padded) - { "pictBeaterDoubleBassDrumDown", 0xE7A1 }, // glyphnumber: 1944, Double bass drum stick down - { "pictBeaterDoubleBassDrumUp", 0xE7A0 }, // glyphnumber: 1945, Double bass drum stick up - { "pictBeaterFinger", 0xE7E4 }, // glyphnumber: 1946, Finger - { "pictBeaterFingernails", 0xE7E6 }, // glyphnumber: 1947, Fingernails - { "pictBeaterFist", 0xE7E5 }, // glyphnumber: 1948, Fist - { "pictBeaterGuiroScraper", 0xE7DD }, // glyphnumber: 1949, Guiro scraper - { "pictBeaterHammer", 0xE7E1 }, // glyphnumber: 1950, Hammer - { "pictBeaterHammerMetalDown", 0xE7D0 }, // glyphnumber: 1951, Metal hammer, down - { "pictBeaterHammerMetalUp", 0xE7CF }, // glyphnumber: 1952, Metal hammer, up - { "pictBeaterHammerPlasticDown", 0xE7CE }, // glyphnumber: 1953, Plastic hammer, down - { "pictBeaterHammerPlasticUp", 0xE7CD }, // glyphnumber: 1954, Plastic hammer, up - { "pictBeaterHammerWoodDown", 0xE7CC }, // glyphnumber: 1955, Wooden hammer, down - { "pictBeaterHammerWoodUp", 0xE7CB }, // glyphnumber: 1956, Wooden hammer, up - { "pictBeaterHand", 0xE7E3 }, // glyphnumber: 1957, Hand - { "pictBeaterHardBassDrumDown", 0xE79D }, // glyphnumber: 1958, Hard bass drum stick down - { "pictBeaterHardBassDrumUp", 0xE79C }, // glyphnumber: 1959, Hard bass drum stick up - { "pictBeaterHardGlockenspielDown", 0xE785 }, // glyphnumber: 1960, Hard glockenspiel stick down - { "pictBeaterHardGlockenspielLeft", 0xE787 }, // glyphnumber: 1961, Hard glockenspiel stick left - { "pictBeaterHardGlockenspielRight", 0xE786 }, // glyphnumber: 1962, Hard glockenspiel stick right - { "pictBeaterHardGlockenspielUp", 0xE784 }, // glyphnumber: 1963, Hard glockenspiel stick up - { "pictBeaterHardTimpaniDown", 0xE791 }, // glyphnumber: 1964, Hard timpani stick down - { "pictBeaterHardTimpaniLeft", 0xE793 }, // glyphnumber: 1965, Hard timpani stick left - { "pictBeaterHardTimpaniRight", 0xE792 }, // glyphnumber: 1966, Hard timpani stick right - { "pictBeaterHardTimpaniUp", 0xE790 }, // glyphnumber: 1967, Hard timpani stick up - { "pictBeaterHardXylophoneDown", 0xE779 }, // glyphnumber: 1968, Hard xylophone stick down - { "pictBeaterHardXylophoneLeft", 0xE77B }, // glyphnumber: 1969, Hard xylophone stick left - { "pictBeaterHardXylophoneRight", 0xE77A }, // glyphnumber: 1970, Hard xylophone stick right - { "pictBeaterHardXylophoneUp", 0xE778 }, // glyphnumber: 1971, Hard xylophone stick up - { "pictBeaterHardYarnDown", 0xE7AB }, // glyphnumber: 1972, Hard yarn beater down - { "pictBeaterHardYarnLeft", 0xE7AD }, // glyphnumber: 1973, Hard yarn beater left - { "pictBeaterHardYarnRight", 0xE7AC }, // glyphnumber: 1974, Hard yarn beater right - { "pictBeaterHardYarnUp", 0xE7AA }, // glyphnumber: 1975, Hard yarn beater up - { "pictBeaterJazzSticksDown", 0xE7D4 }, // glyphnumber: 1976, Jazz sticks down - { "pictBeaterJazzSticksUp", 0xE7D3 }, // glyphnumber: 1977, Jazz sticks up - { "pictBeaterKnittingNeedle", 0xE7E2 }, // glyphnumber: 1978, Knitting needle - { "pictBeaterMallet", 0xE7DF }, // glyphnumber: 1979, Chime hammer - { "pictBeaterMediumBassDrumDown", 0xE79B }, // glyphnumber: 1980, Medium bass drum stick down - { "pictBeaterMediumBassDrumUp", 0xE79A }, // glyphnumber: 1981, Medium bass drum stick up - { "pictBeaterMediumTimpaniDown", 0xE78D }, // glyphnumber: 1982, Medium timpani stick down - { "pictBeaterMediumTimpaniLeft", 0xE78F }, // glyphnumber: 1983, Medium timpani stick left - { "pictBeaterMediumTimpaniRight", 0xE78E }, // glyphnumber: 1984, Medium timpani stick right - { "pictBeaterMediumTimpaniUp", 0xE78C }, // glyphnumber: 1985, Medium timpani stick up - { "pictBeaterMediumXylophoneDown", 0xE775 }, // glyphnumber: 1986, Medium xylophone stick down - { "pictBeaterMediumXylophoneLeft", 0xE777 }, // glyphnumber: 1987, Medium xylophone stick left - { "pictBeaterMediumXylophoneRight", 0xE776 }, // glyphnumber: 1988, Medium xylophone stick right - { "pictBeaterMediumXylophoneUp", 0xE774 }, // glyphnumber: 1989, Medium xylophone stick up - { "pictBeaterMediumYarnDown", 0xE7A7 }, // glyphnumber: 1990, Medium yarn beater down - { "pictBeaterMediumYarnLeft", 0xE7A9 }, // glyphnumber: 1991, Medium yarn beater left - { "pictBeaterMediumYarnRight", 0xE7A8 }, // glyphnumber: 1992, Medium yarn beater right - { "pictBeaterMediumYarnUp", 0xE7A6 }, // glyphnumber: 1993, Medium yarn beater up - { "pictBeaterMetalBassDrumDown", 0xE79F }, // glyphnumber: 1994, Metal bass drum stick down - { "pictBeaterMetalBassDrumUp", 0xE79E }, // glyphnumber: 1995, Metal bass drum stick up - { "pictBeaterMetalDown", 0xE7C8 }, // glyphnumber: 1996, Metal beater down - { "pictBeaterMetalHammer", 0xE7E0 }, // glyphnumber: 1997, Metal hammer - { "pictBeaterMetalLeft", 0xE7CA }, // glyphnumber: 1998, Metal beater, left - { "pictBeaterMetalRight", 0xE7C9 }, // glyphnumber: 1999, Metal beater, right - { "pictBeaterMetalUp", 0xE7C7 }, // glyphnumber: 2000, Metal beater, up - { "pictBeaterSnareSticksDown", 0xE7D2 }, // glyphnumber: 2001, Snare sticks down - { "pictBeaterSnareSticksUp", 0xE7D1 }, // glyphnumber: 2002, Snare sticks up - { "pictBeaterSoftBassDrumDown", 0xE799 }, // glyphnumber: 2003, Soft bass drum stick down - { "pictBeaterSoftBassDrumUp", 0xE798 }, // glyphnumber: 2004, Soft bass drum stick up - { "pictBeaterSoftGlockenspielDown", 0xE781 }, // glyphnumber: 2005, Soft glockenspiel stick down - { "pictBeaterSoftGlockenspielLeft", 0xE783 }, // glyphnumber: 2006, Soft glockenspiel stick left - { "pictBeaterSoftGlockenspielRight", 0xE782 }, // glyphnumber: 2007, Soft glockenspiel stick right - { "pictBeaterSoftGlockenspielUp", 0xE780 }, // glyphnumber: 2008, Soft glockenspiel stick up - { "pictBeaterSoftTimpaniDown", 0xE789 }, // glyphnumber: 2009, Soft timpani stick down - { "pictBeaterSoftTimpaniLeft", 0xE78B }, // glyphnumber: 2010, Soft timpani stick left - { "pictBeaterSoftTimpaniRight", 0xE78A }, // glyphnumber: 2011, Soft timpani stick right - { "pictBeaterSoftTimpaniUp", 0xE788 }, // glyphnumber: 2012, Soft timpani stick up - { "pictBeaterSoftXylophone", 0xE7DB }, // glyphnumber: 2013, Soft xylophone beaters - { "pictBeaterSoftXylophoneDown", 0xE771 }, // glyphnumber: 2014, Soft xylophone stick down - { "pictBeaterSoftXylophoneLeft", 0xE773 }, // glyphnumber: 2015, Soft xylophone stick left - { "pictBeaterSoftXylophoneRight", 0xE772 }, // glyphnumber: 2016, Soft xylophone stick right - { "pictBeaterSoftXylophoneUp", 0xE770 }, // glyphnumber: 2017, Soft xylophone stick up - { "pictBeaterSoftYarnDown", 0xE7A3 }, // glyphnumber: 2018, Soft yarn beater down - { "pictBeaterSoftYarnLeft", 0xE7A5 }, // glyphnumber: 2019, Soft yarn beater left - { "pictBeaterSoftYarnRight", 0xE7A4 }, // glyphnumber: 2020, Soft yarn beater right - { "pictBeaterSoftYarnUp", 0xE7A2 }, // glyphnumber: 2021, Soft yarn beater up - { "pictBeaterSpoonWoodenMallet", 0xE7DC }, // glyphnumber: 2022, Spoon-shaped wooden mallet - { "pictBeaterSuperballDown", 0xE7AF }, // glyphnumber: 2023, Superball beater down - { "pictBeaterSuperballLeft", 0xE7B1 }, // glyphnumber: 2024, Superball beater left - { "pictBeaterSuperballRight", 0xE7B0 }, // glyphnumber: 2025, Superball beater right - { "pictBeaterSuperballUp", 0xE7AE }, // glyphnumber: 2026, Superball beater up - { "pictBeaterTriangleDown", 0xE7D6 }, // glyphnumber: 2027, Triangle beater down - { "pictBeaterTriangleUp", 0xE7D5 }, // glyphnumber: 2028, Triangle beater up - { "pictBeaterWireBrushesDown", 0xE7D8 }, // glyphnumber: 2029, Wire brushes down - { "pictBeaterWireBrushesUp", 0xE7D7 }, // glyphnumber: 2030, Wire brushes up - { "pictBeaterWoodTimpaniDown", 0xE795 }, // glyphnumber: 2031, Wood timpani stick down - { "pictBeaterWoodTimpaniLeft", 0xE797 }, // glyphnumber: 2032, Wood timpani stick left - { "pictBeaterWoodTimpaniRight", 0xE796 }, // glyphnumber: 2033, Wood timpani stick right - { "pictBeaterWoodTimpaniUp", 0xE794 }, // glyphnumber: 2034, Wood timpani stick up - { "pictBeaterWoodXylophoneDown", 0xE77D }, // glyphnumber: 2035, Wood xylophone stick down - { "pictBeaterWoodXylophoneLeft", 0xE77F }, // glyphnumber: 2036, Wood xylophone stick left - { "pictBeaterWoodXylophoneRight", 0xE77E }, // glyphnumber: 2037, Wood xylophone stick right - { "pictBeaterWoodXylophoneUp", 0xE77C }, // glyphnumber: 2038, Wood xylophone stick up - { "pictBell", 0xE714 }, // glyphnumber: 2039, Bell - { "pictBellOfCymbal", 0xE72A }, // glyphnumber: 2040, Bell of cymbal - { "pictBellPlate", 0xE713 }, // glyphnumber: 2041, Bell plate - { "pictBellTree", 0xE71A }, // glyphnumber: 2042, Bell tree - { "pictBirdWhistle", 0xE751 }, // glyphnumber: 2043, Bird whistle - { "pictBoardClapper", 0xE6F7 }, // glyphnumber: 2044, Board clapper - { "pictBongos", 0xE6DD }, // glyphnumber: 2045, Bongos - { "pictBrakeDrum", 0xE6E1 }, // glyphnumber: 2046, Brake drum - { "pictCabasa", 0xE743 }, // glyphnumber: 2047, Cabasa - { "pictCannon", 0xE761 }, // glyphnumber: 2048, Cannon - { "pictCarHorn", 0xE755 }, // glyphnumber: 2049, Car horn - { "pictCastanets", 0xE6F8 }, // glyphnumber: 2050, Castanets - { "pictCastanetsWithHandle", 0xE6F9 }, // glyphnumber: 2051, Castanets with handle - { "pictCelesta", 0xE6B0 }, // glyphnumber: 2052, Celesta - { "pictCencerro", 0xE716 }, // glyphnumber: 2053, Cencerro - { "pictCenter1", 0xE7FE }, // glyphnumber: 2054, Center (Weinberg) - { "pictCenter2", 0xE7FF }, // glyphnumber: 2055, Center (Ghent) - { "pictCenter3", 0xE800 }, // glyphnumber: 2056, Center (Caltabiano) - { "pictChainRattle", 0xE748 }, // glyphnumber: 2057, Chain rattle - { "pictChimes", 0xE6C2 }, // glyphnumber: 2058, Chimes - { "pictChineseCymbal", 0xE726 }, // glyphnumber: 2059, Chinese cymbal - { "pictChokeCymbal", 0xE805 }, // glyphnumber: 2060, Choke (Weinberg) - { "pictClaves", 0xE6F2 }, // glyphnumber: 2061, Claves - { "pictCoins", 0xE7E7 }, // glyphnumber: 2062, Coins - { "pictConga", 0xE6DE }, // glyphnumber: 2063, Conga - { "pictCowBell", 0xE711 }, // glyphnumber: 2064, Cow bell - { "pictCrashCymbals", 0xE720 }, // glyphnumber: 2065, Crash cymbals - { "pictCrotales", 0xE6AE }, // glyphnumber: 2066, Crotales - { "pictCrushStem", 0xE80C }, // glyphnumber: 2067, Combining crush for stem - { "pictCuica", 0xE6E4 }, // glyphnumber: 2068, Cuica - { "pictCymbalTongs", 0xE728 }, // glyphnumber: 2069, Cymbal tongs - { "pictDamp1", 0xE7F9 }, // glyphnumber: 2070, Damp - { "pictDamp2", 0xE7FA }, // glyphnumber: 2071, Damp 2 - { "pictDamp3", 0xE7FB }, // glyphnumber: 2072, Damp 3 - { "pictDamp4", 0xE7FC }, // glyphnumber: 2073, Damp 4 - { "pictDeadNoteStem", 0xE80D }, // glyphnumber: 2074, Combining X for stem (dead note) - { "pictDrumStick", 0xE7E8 }, // glyphnumber: 2075, Drum stick - { "pictDuckCall", 0xE757 }, // glyphnumber: 2076, Duck call - { "pictEdgeOfCymbal", 0xE729 }, // glyphnumber: 2077, Edge of cymbal - { "pictEmptyTrap", 0xE6A9 }, // glyphnumber: 2078, Empty trapezoid - { "pictFingerCymbals", 0xE727 }, // glyphnumber: 2079, Finger cymbals - { "pictFlexatone", 0xE740 }, // glyphnumber: 2080, Flexatone - { "pictFootballRatchet", 0xE6F5 }, // glyphnumber: 2081, Football rattle - { "pictGlassHarmonica", 0xE765 }, // glyphnumber: 2082, Glass harmonica - { "pictGlassHarp", 0xE764 }, // glyphnumber: 2083, Glass harp - { "pictGlassPlateChimes", 0xE6C6 }, // glyphnumber: 2084, Glass plate chimes - { "pictGlassTubeChimes", 0xE6C5 }, // glyphnumber: 2085, Glass tube chimes - { "pictGlsp", 0xE6A0 }, // glyphnumber: 2086, Glockenspiel - { "pictGlspSmithBrindle", 0xE6AA }, // glyphnumber: 2087, Glockenspiel (Smith Brindle) - { "pictGobletDrum", 0xE6E2 }, // glyphnumber: 2088, Goblet drum (djembe, dumbek) - { "pictGong", 0xE732 }, // glyphnumber: 2089, Gong - { "pictGongWithButton", 0xE733 }, // glyphnumber: 2090, Gong with button (nipple) - { "pictGuiro", 0xE6F3 }, // glyphnumber: 2091, Guiro - { "pictGumHardDown", 0xE7C4 }, // glyphnumber: 2092, Hard gum beater, down - { "pictGumHardLeft", 0xE7C6 }, // glyphnumber: 2093, Hard gum beater, left - { "pictGumHardRight", 0xE7C5 }, // glyphnumber: 2094, Hard gum beater, right - { "pictGumHardUp", 0xE7C3 }, // glyphnumber: 2095, Hard gum beater, up - { "pictGumMediumDown", 0xE7C0 }, // glyphnumber: 2096, Medium gum beater, down - { "pictGumMediumLeft", 0xE7C2 }, // glyphnumber: 2097, Medium gum beater, left - { "pictGumMediumRight", 0xE7C1 }, // glyphnumber: 2098, Medium gum beater, right - { "pictGumMediumUp", 0xE7BF }, // glyphnumber: 2099, Medium gum beater, up - { "pictGumSoftDown", 0xE7BC }, // glyphnumber: 2100, Soft gum beater, down - { "pictGumSoftLeft", 0xE7BE }, // glyphnumber: 2101, Soft gum beater, left - { "pictGumSoftRight", 0xE7BD }, // glyphnumber: 2102, Soft gum beater, right - { "pictGumSoftUp", 0xE7BB }, // glyphnumber: 2103, Soft gum beater, up - { "pictHalfOpen1", 0xE7F6 }, // glyphnumber: 2104, Half-open - { "pictHalfOpen2", 0xE7F7 }, // glyphnumber: 2105, Half-open 2 (Weinberg) - { "pictHandbell", 0xE715 }, // glyphnumber: 2106, Handbell - { "pictHiHat", 0xE722 }, // glyphnumber: 2107, Hi-hat - { "pictHiHatOnStand", 0xE723 }, // glyphnumber: 2108, Hi-hat cymbals on stand - { "pictJawHarp", 0xE767 }, // glyphnumber: 2109, Jaw harp - { "pictJingleBells", 0xE719 }, // glyphnumber: 2110, Jingle bells - { "pictKlaxonHorn", 0xE756 }, // glyphnumber: 2111, Klaxon horn - { "pictLeftHandCircle", 0xE807 }, // glyphnumber: 2112, Right hand (Agostini) - { "pictLionsRoar", 0xE763 }, // glyphnumber: 2113, Lion's roar - { "pictLithophone", 0xE6B1 }, // glyphnumber: 2114, Lithophone - { "pictLogDrum", 0xE6DF }, // glyphnumber: 2115, Log drum - { "pictLotusFlute", 0xE75A }, // glyphnumber: 2116, Lotus flute - { "pictMar", 0xE6A6 }, // glyphnumber: 2117, Marimba - { "pictMarSmithBrindle", 0xE6AC }, // glyphnumber: 2118, Marimba (Smith Brindle) - { "pictMaraca", 0xE741 }, // glyphnumber: 2119, Maraca - { "pictMaracas", 0xE742 }, // glyphnumber: 2120, Maracas - { "pictMegaphone", 0xE759 }, // glyphnumber: 2121, Megaphone - { "pictMetalPlateChimes", 0xE6C8 }, // glyphnumber: 2122, Metal plate chimes - { "pictMetalTubeChimes", 0xE6C7 }, // glyphnumber: 2123, Metal tube chimes - { "pictMusicalSaw", 0xE766 }, // glyphnumber: 2124, Musical saw - { "pictNormalPosition", 0xE804 }, // glyphnumber: 2125, Normal position (Caltabiano) - { "pictOnRim", 0xE7F4 }, // glyphnumber: 2126, On rim - { "pictOpen", 0xE7F8 }, // glyphnumber: 2127, Open - { "pictOpenRimShot", 0xE7F5 }, // glyphnumber: 2128, Closed / rim shot - { "pictPistolShot", 0xE760 }, // glyphnumber: 2129, Pistol shot - { "pictPoliceWhistle", 0xE752 }, // glyphnumber: 2130, Police whistle - { "pictQuijada", 0xE6FA }, // glyphnumber: 2131, Quijada (jawbone) - { "pictRainstick", 0xE747 }, // glyphnumber: 2132, Rainstick - { "pictRatchet", 0xE6F4 }, // glyphnumber: 2133, Ratchet - { "pictRecoReco", 0xE6FC }, // glyphnumber: 2134, Reco-reco - { "pictRightHandSquare", 0xE806 }, // glyphnumber: 2135, Left hand (Agostini) - { "pictRim1", 0xE801 }, // glyphnumber: 2136, Rim or edge (Weinberg) - { "pictRim2", 0xE802 }, // glyphnumber: 2137, Rim (Ghent) - { "pictRim3", 0xE803 }, // glyphnumber: 2138, Rim (Caltabiano) - { "pictRimShotOnStem", 0xE7FD }, // glyphnumber: 2139, Rim shot for stem - { "pictSandpaperBlocks", 0xE762 }, // glyphnumber: 2140, Sandpaper blocks - { "pictScrapeAroundRim", 0xE7F3 }, // glyphnumber: 2141, Scrape around rim (counter-clockwise) - { "pictScrapeAroundRimClockwise", 0xE80E }, // glyphnumber: 2142, Scrape around rim (clockwise) - { "pictScrapeCenterToEdge", 0xE7F1 }, // glyphnumber: 2143, Scrape from center to edge - { "pictScrapeEdgeToCenter", 0xE7F2 }, // glyphnumber: 2144, Scrape from edge to center - { "pictShellBells", 0xE718 }, // glyphnumber: 2145, Shell bells - { "pictShellChimes", 0xE6C4 }, // glyphnumber: 2146, Shell chimes - { "pictSiren", 0xE753 }, // glyphnumber: 2147, Siren - { "pictSistrum", 0xE746 }, // glyphnumber: 2148, Sistrum - { "pictSizzleCymbal", 0xE724 }, // glyphnumber: 2149, Sizzle cymbal - { "pictSleighBell", 0xE710 }, // glyphnumber: 2150, Sleigh bell - { "pictSlideBrushOnGong", 0xE734 }, // glyphnumber: 2151, Slide brush on gong - { "pictSlideWhistle", 0xE750 }, // glyphnumber: 2152, Slide whistle - { "pictSlitDrum", 0xE6E0 }, // glyphnumber: 2153, Slit drum - { "pictSnareDrum", 0xE6D1 }, // glyphnumber: 2154, Snare drum - { "pictSnareDrumMilitary", 0xE6D3 }, // glyphnumber: 2155, Military snare drum - { "pictSnareDrumSnaresOff", 0xE6D2 }, // glyphnumber: 2156, Snare drum, snares off - { "pictSteelDrums", 0xE6AF }, // glyphnumber: 2157, Steel drums - { "pictStickShot", 0xE7F0 }, // glyphnumber: 2158, Stick shot - { "pictSuperball", 0xE7B2 }, // glyphnumber: 2159, Superball - { "pictSuspendedCymbal", 0xE721 }, // glyphnumber: 2160, Suspended cymbal - { "pictSwishStem", 0xE808 }, // glyphnumber: 2161, Combining swish for stem - { "pictTabla", 0xE6E3 }, // glyphnumber: 2162, Indian tabla - { "pictTamTam", 0xE730 }, // glyphnumber: 2163, Tam-tam - { "pictTamTamWithBeater", 0xE731 }, // glyphnumber: 2164, Tam-tam with beater (Smith Brindle) - { "pictTambourine", 0xE6DB }, // glyphnumber: 2165, Tambourine - { "pictTempleBlocks", 0xE6F1 }, // glyphnumber: 2166, Temple blocks - { "pictTenorDrum", 0xE6D6 }, // glyphnumber: 2167, Tenor drum - { "pictThundersheet", 0xE744 }, // glyphnumber: 2168, Thundersheet - { "pictTimbales", 0xE6DC }, // glyphnumber: 2169, Timbales - { "pictTimpani", 0xE6D0 }, // glyphnumber: 2170, Timpani - { "pictTomTom", 0xE6D7 }, // glyphnumber: 2171, Tom-tom - { "pictTomTomChinese", 0xE6D8 }, // glyphnumber: 2172, Chinese tom-tom - { "pictTomTomIndoAmerican", 0xE6DA }, // glyphnumber: 2173, Indo-American tom tom - { "pictTomTomJapanese", 0xE6D9 }, // glyphnumber: 2174, Japanese tom-tom - { "pictTriangle", 0xE700 }, // glyphnumber: 2175, Triangle - { "pictTubaphone", 0xE6B2 }, // glyphnumber: 2176, Tubaphone - { "pictTubularBells", 0xE6C0 }, // glyphnumber: 2177, Tubular bells - { "pictTurnLeftStem", 0xE80A }, // glyphnumber: 2178, Combining turn left for stem - { "pictTurnRightLeftStem", 0xE80B }, // glyphnumber: 2179, Combining turn left or right for stem - { "pictTurnRightStem", 0xE809 }, // glyphnumber: 2180, Combining turn right for stem - { "pictVib", 0xE6A7 }, // glyphnumber: 2181, Vibraphone - { "pictVibMotorOff", 0xE6A8 }, // glyphnumber: 2182, Metallophone (vibraphone motor off) - { "pictVibSmithBrindle", 0xE6AD }, // glyphnumber: 2183, Vibraphone (Smith Brindle) - { "pictVibraslap", 0xE745 }, // glyphnumber: 2184, Vibraslap - { "pictVietnameseHat", 0xE725 }, // glyphnumber: 2185, Vietnamese hat cymbal - { "pictWhip", 0xE6F6 }, // glyphnumber: 2186, Whip - { "pictWindChimesGlass", 0xE6C1 }, // glyphnumber: 2187, Wind chimes (glass) - { "pictWindMachine", 0xE754 }, // glyphnumber: 2188, Wind machine - { "pictWindWhistle", 0xE758 }, // glyphnumber: 2189, Wind whistle (or mouth siren) - { "pictWoodBlock", 0xE6F0 }, // glyphnumber: 2190, Wood block - { "pictWoundHardDown", 0xE7B4 }, // glyphnumber: 2191, Wound beater, hard core down - { "pictWoundHardLeft", 0xE7B6 }, // glyphnumber: 2192, Wound beater, hard core left - { "pictWoundHardRight", 0xE7B5 }, // glyphnumber: 2193, Wound beater, hard core right - { "pictWoundHardUp", 0xE7B3 }, // glyphnumber: 2194, Wound beater, hard core up - { "pictWoundSoftDown", 0xE7B8 }, // glyphnumber: 2195, Wound beater, soft core down - { "pictWoundSoftLeft", 0xE7BA }, // glyphnumber: 2196, Wound beater, soft core left - { "pictWoundSoftRight", 0xE7B9 }, // glyphnumber: 2197, Wound beater, soft core right - { "pictWoundSoftUp", 0xE7B7 }, // glyphnumber: 2198, Wound beater, soft core up - { "pictXyl", 0xE6A1 }, // glyphnumber: 2199, Xylophone - { "pictXylBass", 0xE6A3 }, // glyphnumber: 2200, Bass xylophone - { "pictXylSmithBrindle", 0xE6AB }, // glyphnumber: 2201, Xylophone (Smith Brindle) - { "pictXylTenor", 0xE6A2 }, // glyphnumber: 2202, Tenor xylophone - { "pictXylTenorTrough", 0xE6A5 }, // glyphnumber: 2203, Trough tenor xylophone - { "pictXylTrough", 0xE6A4 }, // glyphnumber: 2204, Trough xylophone - { "pluckedBuzzPizzicato", 0xE632 }, // glyphnumber: 2205, Buzz pizzicato - { "pluckedDamp", 0xE638 }, // glyphnumber: 2206, Damp - { "pluckedDampAll", 0xE639 }, // glyphnumber: 2207, Damp all - { "pluckedDampOnStem", 0xE63B }, // glyphnumber: 2208, Damp for stem - { "pluckedFingernailFlick", 0xE637 }, // glyphnumber: 2209, Fingernail flick - { "pluckedLeftHandPizzicato", 0xE633 }, // glyphnumber: 2210, Left-hand pizzicato - { "pluckedPlectrum", 0xE63A }, // glyphnumber: 2211, Plectrum - { "pluckedSnapPizzicatoAbove", 0xE631 }, // glyphnumber: 2212, Snap pizzicato above - { "pluckedSnapPizzicatoBelow", 0xE630 }, // glyphnumber: 2213, Snap pizzicato below - { "pluckedWithFingernails", 0xE636 }, // glyphnumber: 2214, With fingernails - { "quindicesima", 0xE514 }, // glyphnumber: 2215, Quindicesima - { "quindicesimaAlta", 0xE515 }, // glyphnumber: 2216, Quindicesima alta - { "quindicesimaBassa", 0xE516 }, // glyphnumber: 2217, Quindicesima bassa - { "quindicesimaBassaMb", 0xE51D }, // glyphnumber: 2218, Quindicesima bassa (mb) - { "repeat1Bar", 0xE500 }, // glyphnumber: 2219, Repeat last bar - { "repeat2Bars", 0xE501 }, // glyphnumber: 2220, Repeat last two bars - { "repeat4Bars", 0xE502 }, // glyphnumber: 2221, Repeat last four bars - { "repeatDot", 0xE044 }, // glyphnumber: 2222, Single repeat dot - { "repeatDots", 0xE043 }, // glyphnumber: 2223, Repeat dots - { "repeatLeft", 0xE040 }, // glyphnumber: 2224, Left (start) repeat sign - { "repeatRight", 0xE041 }, // glyphnumber: 2225, Right (end) repeat sign - { "repeatRightLeft", 0xE042 }, // glyphnumber: 2226, Right and left repeat sign - { "rest1024th", 0xE4ED }, // glyphnumber: 2227, 1024th rest - { "rest128th", 0xE4EA }, // glyphnumber: 2228, 128th (semihemidemisemiquaver) rest - { "rest16th", 0xE4E7 }, // glyphnumber: 2229, 16th (semiquaver) rest - { "rest256th", 0xE4EB }, // glyphnumber: 2230, 256th rest - { "rest32nd", 0xE4E8 }, // glyphnumber: 2231, 32nd (demisemiquaver) rest - { "rest512th", 0xE4EC }, // glyphnumber: 2232, 512th rest - { "rest64th", 0xE4E9 }, // glyphnumber: 2233, 64th (hemidemisemiquaver) rest - { "rest8th", 0xE4E6 }, // glyphnumber: 2234, Eighth (quaver) rest - { "restDoubleWhole", 0xE4E2 }, // glyphnumber: 2235, Double whole (breve) rest - { "restDoubleWholeLegerLine", 0xE4F3 }, // glyphnumber: 2236, Double whole rest on leger lines - { "restHBar", 0xE4EE }, // glyphnumber: 2237, Multiple measure rest - { "restHBarLeft", 0xE4EF }, // glyphnumber: 2238, H-bar, left half - { "restHBarMiddle", 0xE4F0 }, // glyphnumber: 2239, H-bar, middle - { "restHBarRight", 0xE4F1 }, // glyphnumber: 2240, H-bar, right half - { "restHalf", 0xE4E4 }, // glyphnumber: 2241, Half (minim) rest - { "restHalfLegerLine", 0xE4F5 }, // glyphnumber: 2242, Half rest on leger line - { "restLonga", 0xE4E1 }, // glyphnumber: 2243, Longa rest - { "restMaxima", 0xE4E0 }, // glyphnumber: 2244, Maxima rest - { "restQuarter", 0xE4E5 }, // glyphnumber: 2245, Quarter (crotchet) rest - { "restQuarterOld", 0xE4F2 }, // glyphnumber: 2246, Old-style quarter (crotchet) rest - { "restQuarterZ", 0xE4F6 }, // glyphnumber: 2247, Z-style quarter (crotchet) rest - { "restWhole", 0xE4E3 }, // glyphnumber: 2248, Whole (semibreve) rest - { "restWholeLegerLine", 0xE4F4 }, // glyphnumber: 2249, Whole rest on leger line - { "reversedBrace", 0xE001 }, // glyphnumber: 2250, Reversed brace - { "reversedBracketBottom", 0xE006 }, // glyphnumber: 2251, Reversed bracket bottom - { "reversedBracketTop", 0xE005 }, // glyphnumber: 2252, Reversed bracket top - { "rightRepeatSmall", 0xE04D }, // glyphnumber: 2253, Right repeat sign within bar - { "schaefferClef", 0xE06F }, // glyphnumber: 2254, Schäffer clef - { "schaefferFClefToGClef", 0xE072 }, // glyphnumber: 2255, Schäffer F clef to G clef change - { "schaefferGClefToFClef", 0xE071 }, // glyphnumber: 2256, Schäffer G clef to F clef change - { "schaefferPreviousClef", 0xE070 }, // glyphnumber: 2257, Schäffer previous clef - { "segno", 0xE047 }, // glyphnumber: 2258, Segno - { "segnoSerpent1", 0xE04A }, // glyphnumber: 2259, Segno (serpent) - { "segnoSerpent2", 0xE04B }, // glyphnumber: 2260, Segno (serpent with vertical lines) - { "semipitchedPercussionClef1", 0xE06B }, // glyphnumber: 2261, Semi-pitched percussion clef 1 - { "semipitchedPercussionClef2", 0xE06C }, // glyphnumber: 2262, Semi-pitched percussion clef 2 - { "smnFlat", 0xEC52 }, // glyphnumber: 2263, Flat - { "smnFlatWhite", 0xEC53 }, // glyphnumber: 2264, Flat (white) - { "smnHistoryDoubleFlat", 0xEC57 }, // glyphnumber: 2265, Double flat history sign - { "smnHistoryDoubleSharp", 0xEC55 }, // glyphnumber: 2266, Double sharp history sign - { "smnHistoryFlat", 0xEC56 }, // glyphnumber: 2267, Flat history sign - { "smnHistorySharp", 0xEC54 }, // glyphnumber: 2268, Sharp history sign - { "smnNatural", 0xEC58 }, // glyphnumber: 2269, Natural (N) - { "smnSharp", 0xEC50 }, // glyphnumber: 2270, Sharp stem up - { "smnSharpDown", 0xEC59 }, // glyphnumber: 2271, Sharp stem down - { "smnSharpWhite", 0xEC51 }, // glyphnumber: 2272, Sharp (white) stem up - { "smnSharpWhiteDown", 0xEC5A }, // glyphnumber: 2273, Sharp (white) stem down - { "splitBarDivider", 0xE00A }, // glyphnumber: 2274, Split bar divider (bar spans a system break) - { "staff1Line", 0xE010 }, // glyphnumber: 2275, 1-line staff - { "staff1LineNarrow", 0xE01C }, // glyphnumber: 2276, 1-line staff (narrow) - { "staff1LineWide", 0xE016 }, // glyphnumber: 2277, 1-line staff (wide) - { "staff2Lines", 0xE011 }, // glyphnumber: 2278, 2-line staff - { "staff2LinesNarrow", 0xE01D }, // glyphnumber: 2279, 2-line staff (narrow) - { "staff2LinesWide", 0xE017 }, // glyphnumber: 2280, 2-line staff (wide) - { "staff3Lines", 0xE012 }, // glyphnumber: 2281, 3-line staff - { "staff3LinesNarrow", 0xE01E }, // glyphnumber: 2282, 3-line staff (narrow) - { "staff3LinesWide", 0xE018 }, // glyphnumber: 2283, 3-line staff (wide) - { "staff4Lines", 0xE013 }, // glyphnumber: 2284, 4-line staff - { "staff4LinesNarrow", 0xE01F }, // glyphnumber: 2285, 4-line staff (narrow) - { "staff4LinesWide", 0xE019 }, // glyphnumber: 2286, 4-line staff (wide) - { "staff5Lines", 0xE014 }, // glyphnumber: 2287, 5-line staff - { "staff5LinesNarrow", 0xE020 }, // glyphnumber: 2288, 5-line staff (narrow) - { "staff5LinesWide", 0xE01A }, // glyphnumber: 2289, 5-line staff (wide) - { "staff6Lines", 0xE015 }, // glyphnumber: 2290, 6-line staff - { "staff6LinesNarrow", 0xE021 }, // glyphnumber: 2291, 6-line staff (narrow) - { "staff6LinesWide", 0xE01B }, // glyphnumber: 2292, 6-line staff (wide) - { "staffDivideArrowDown", 0xE00B }, // glyphnumber: 2293, Staff divide arrow down - { "staffDivideArrowUp", 0xE00C }, // glyphnumber: 2294, Staff divide arrow up - { "staffDivideArrowUpDown", 0xE00D }, // glyphnumber: 2295, Staff divide arrows - { "staffPosLower1", 0xEB98 }, // glyphnumber: 2296, Lower 1 staff position - { "staffPosLower2", 0xEB99 }, // glyphnumber: 2297, Lower 2 staff positions - { "staffPosLower3", 0xEB9A }, // glyphnumber: 2298, Lower 3 staff positions - { "staffPosLower4", 0xEB9B }, // glyphnumber: 2299, Lower 4 staff positions - { "staffPosLower5", 0xEB9C }, // glyphnumber: 2300, Lower 5 staff positions - { "staffPosLower6", 0xEB9D }, // glyphnumber: 2301, Lower 6 staff positions - { "staffPosLower7", 0xEB9E }, // glyphnumber: 2302, Lower 7 staff positions - { "staffPosLower8", 0xEB9F }, // glyphnumber: 2303, Lower 8 staff positions - { "staffPosRaise1", 0xEB90 }, // glyphnumber: 2304, Raise 1 staff position - { "staffPosRaise2", 0xEB91 }, // glyphnumber: 2305, Raise 2 staff positions - { "staffPosRaise3", 0xEB92 }, // glyphnumber: 2306, Raise 3 staff positions - { "staffPosRaise4", 0xEB93 }, // glyphnumber: 2307, Raise 4 staff positions - { "staffPosRaise5", 0xEB94 }, // glyphnumber: 2308, Raise 5 staff positions - { "staffPosRaise6", 0xEB95 }, // glyphnumber: 2309, Raise 6 staff positions - { "staffPosRaise7", 0xEB96 }, // glyphnumber: 2310, Raise 7 staff positions - { "staffPosRaise8", 0xEB97 }, // glyphnumber: 2311, Raise 8 staff positions - { "stem", 0xE210 }, // glyphnumber: 2312, Combining stem - { "stemBowOnBridge", 0xE215 }, // glyphnumber: 2313, Combining bow on bridge stem - { "stemBowOnTailpiece", 0xE216 }, // glyphnumber: 2314, Combining bow on tailpiece stem - { "stemBuzzRoll", 0xE217 }, // glyphnumber: 2315, Combining buzz roll stem - { "stemDamp", 0xE218 }, // glyphnumber: 2316, Combining damp stem - { "stemHarpStringNoise", 0xE21F }, // glyphnumber: 2317, Combining harp string noise stem - { "stemMultiphonicsBlack", 0xE21A }, // glyphnumber: 2318, Combining multiphonics (black) stem - { "stemMultiphonicsBlackWhite", 0xE21C }, // glyphnumber: 2319, Combining multiphonics (black and white) stem - { "stemMultiphonicsWhite", 0xE21B }, // glyphnumber: 2320, Combining multiphonics (white) stem - { "stemPendereckiTremolo", 0xE213 }, // glyphnumber: 2321, Combining Penderecki unmeasured tremolo stem - { "stemRimShot", 0xE21E }, // glyphnumber: 2322, Combining rim shot stem - { "stemSprechgesang", 0xE211 }, // glyphnumber: 2323, Combining sprechgesang stem - { "stemSulPonticello", 0xE214 }, // glyphnumber: 2324, Combining sul ponticello (bow behind bridge) stem - { "stemSussurando", 0xE21D }, // glyphnumber: 2325, Combining sussurando stem - { "stemSwished", 0xE212 }, // glyphnumber: 2326, Combining swished stem - { "stemVibratoPulse", 0xE219 }, // glyphnumber: 2327, Combining vibrato pulse accent (Saunders) stem - { "stockhausenTremolo", 0xE232 }, // glyphnumber: 2328, Stockhausen irregular tremolo ("Morsen", like Morse code) - { "stringsBowBehindBridge", 0xE618 }, // glyphnumber: 2329, Bow behind bridge (sul ponticello) - { "stringsBowBehindBridgeFourStrings", 0xE62A }, // glyphnumber: 2330, Bow behind bridge on four strings - { "stringsBowBehindBridgeOneString", 0xE627 }, // glyphnumber: 2331, Bow behind bridge on one string - { "stringsBowBehindBridgeThreeStrings", 0xE629 }, // glyphnumber: 2332, Bow behind bridge on three strings - { "stringsBowBehindBridgeTwoStrings", 0xE628 }, // glyphnumber: 2333, Bow behind bridge on two strings - { "stringsBowOnBridge", 0xE619 }, // glyphnumber: 2334, Bow on top of bridge - { "stringsBowOnTailpiece", 0xE61A }, // glyphnumber: 2335, Bow on tailpiece - { "stringsChangeBowDirection", 0xE626 }, // glyphnumber: 2336, Change bow direction, indeterminate - { "stringsDownBow", 0xE610 }, // glyphnumber: 2337, Down bow - { "stringsDownBowTurned", 0xE611 }, // glyphnumber: 2338, Turned down bow - { "stringsFouette", 0xE622 }, // glyphnumber: 2339, Fouetté - { "stringsHalfHarmonic", 0xE615 }, // glyphnumber: 2340, Half-harmonic - { "stringsHarmonic", 0xE614 }, // glyphnumber: 2341, Harmonic - { "stringsJeteAbove", 0xE620 }, // glyphnumber: 2342, Jeté (gettato) above - { "stringsJeteBelow", 0xE621 }, // glyphnumber: 2343, Jeté (gettato) below - { "stringsMuteOff", 0xE617 }, // glyphnumber: 2344, Mute off - { "stringsMuteOn", 0xE616 }, // glyphnumber: 2345, Mute on - { "stringsOverpressureDownBow", 0xE61B }, // glyphnumber: 2346, Overpressure, down bow - { "stringsOverpressureNoDirection", 0xE61F }, // glyphnumber: 2347, Overpressure, no bow direction - { "stringsOverpressurePossibileDownBow", 0xE61D }, // glyphnumber: 2348, Overpressure possibile, down bow - { "stringsOverpressurePossibileUpBow", 0xE61E }, // glyphnumber: 2349, Overpressure possibile, up bow - { "stringsOverpressureUpBow", 0xE61C }, // glyphnumber: 2350, Overpressure, up bow - { "stringsThumbPosition", 0xE624 }, // glyphnumber: 2351, Thumb position - { "stringsThumbPositionTurned", 0xE625 }, // glyphnumber: 2352, Turned thumb position - { "stringsUpBow", 0xE612 }, // glyphnumber: 2353, Up bow - { "stringsUpBowTurned", 0xE613 }, // glyphnumber: 2354, Turned up bow - { "stringsVibratoPulse", 0xE623 }, // glyphnumber: 2355, Vibrato pulse accent (Saunders) for stem - { "systemDivider", 0xE007 }, // glyphnumber: 2356, System divider - { "systemDividerExtraLong", 0xE009 }, // glyphnumber: 2357, Extra long system divider - { "systemDividerLong", 0xE008 }, // glyphnumber: 2358, Long system divider - { "textAugmentationDot", 0xE1FC }, // glyphnumber: 2359, Augmentation dot - { "textBlackNoteFrac16thLongStem", 0xE1F5 }, // glyphnumber: 2360, Black note, fractional 16th beam, long stem - { "textBlackNoteFrac16thShortStem", 0xE1F4 }, // glyphnumber: 2361, Black note, fractional 16th beam, short stem - { "textBlackNoteFrac32ndLongStem", 0xE1F6 }, // glyphnumber: 2362, Black note, fractional 32nd beam, long stem - { "textBlackNoteFrac8thLongStem", 0xE1F3 }, // glyphnumber: 2363, Black note, fractional 8th beam, long stem - { "textBlackNoteFrac8thShortStem", 0xE1F2 }, // glyphnumber: 2364, Black note, fractional 8th beam, short stem - { "textBlackNoteLongStem", 0xE1F1 }, // glyphnumber: 2365, Black note, long stem - { "textBlackNoteShortStem", 0xE1F0 }, // glyphnumber: 2366, Black note, short stem - { "textCont16thBeamLongStem", 0xE1FA }, // glyphnumber: 2367, Continuing 16th beam for long stem - { "textCont16thBeamShortStem", 0xE1F9 }, // glyphnumber: 2368, Continuing 16th beam for short stem - { "textCont32ndBeamLongStem", 0xE1FB }, // glyphnumber: 2369, Continuing 32nd beam for long stem - { "textCont8thBeamLongStem", 0xE1F8 }, // glyphnumber: 2370, Continuing 8th beam for long stem - { "textCont8thBeamShortStem", 0xE1F7 }, // glyphnumber: 2371, Continuing 8th beam for short stem - { "textTie", 0xE1FD }, // glyphnumber: 2372, Tie - { "textTuplet3LongStem", 0xE202 }, // glyphnumber: 2373, Tuplet number 3 for long stem - { "textTuplet3ShortStem", 0xE1FF }, // glyphnumber: 2374, Tuplet number 3 for short stem - { "textTupletBracketEndLongStem", 0xE203 }, // glyphnumber: 2375, Tuplet bracket end for long stem - { "textTupletBracketEndShortStem", 0xE200 }, // glyphnumber: 2376, Tuplet bracket end for short stem - { "textTupletBracketStartLongStem", 0xE201 }, // glyphnumber: 2377, Tuplet bracket start for long stem - { "textTupletBracketStartShortStem", 0xE1FE }, // glyphnumber: 2378, Tuplet bracket start for short stem - { "timeSig0", 0xE080 }, // glyphnumber: 2379, Time signature 0 - { "timeSig0Reversed", 0xECF0 }, // glyphnumber: 2380, Reversed time signature 0 - { "timeSig0Turned", 0xECE0 }, // glyphnumber: 2381, Turned time signature 0 - { "timeSig1", 0xE081 }, // glyphnumber: 2382, Time signature 1 - { "timeSig1Reversed", 0xECF1 }, // glyphnumber: 2383, Reversed time signature 1 - { "timeSig1Turned", 0xECE1 }, // glyphnumber: 2384, Turned time signature 1 - { "timeSig2", 0xE082 }, // glyphnumber: 2385, Time signature 2 - { "timeSig2Reversed", 0xECF2 }, // glyphnumber: 2386, Reversed time signature 2 - { "timeSig2Turned", 0xECE2 }, // glyphnumber: 2387, Turned time signature 2 - { "timeSig3", 0xE083 }, // glyphnumber: 2388, Time signature 3 - { "timeSig3Reversed", 0xECF3 }, // glyphnumber: 2389, Reversed time signature 3 - { "timeSig3Turned", 0xECE3 }, // glyphnumber: 2390, Turned time signature 3 - { "timeSig4", 0xE084 }, // glyphnumber: 2391, Time signature 4 - { "timeSig4Reversed", 0xECF4 }, // glyphnumber: 2392, Reversed time signature 4 - { "timeSig4Turned", 0xECE4 }, // glyphnumber: 2393, Turned time signature 4 - { "timeSig5", 0xE085 }, // glyphnumber: 2394, Time signature 5 - { "timeSig5Reversed", 0xECF5 }, // glyphnumber: 2395, Reversed time signature 5 - { "timeSig5Turned", 0xECE5 }, // glyphnumber: 2396, Turned time signature 5 - { "timeSig6", 0xE086 }, // glyphnumber: 2397, Time signature 6 - { "timeSig6Reversed", 0xECF6 }, // glyphnumber: 2398, Reversed time signature 6 - { "timeSig6Turned", 0xECE6 }, // glyphnumber: 2399, Turned time signature 6 - { "timeSig7", 0xE087 }, // glyphnumber: 2400, Time signature 7 - { "timeSig7Reversed", 0xECF7 }, // glyphnumber: 2401, Reversed time signature 7 - { "timeSig7Turned", 0xECE7 }, // glyphnumber: 2402, Turned time signature 7 - { "timeSig8", 0xE088 }, // glyphnumber: 2403, Time signature 8 - { "timeSig8Reversed", 0xECF8 }, // glyphnumber: 2404, Reversed time signature 8 - { "timeSig8Turned", 0xECE8 }, // glyphnumber: 2405, Turned time signature 8 - { "timeSig9", 0xE089 }, // glyphnumber: 2406, Time signature 9 - { "timeSig9Reversed", 0xECF9 }, // glyphnumber: 2407, Reversed time signature 9 - { "timeSig9Turned", 0xECE9 }, // glyphnumber: 2408, Turned time signature 9 - { "timeSigBracketLeft", 0xEC80 }, // glyphnumber: 2409, Left bracket for whole time signature - { "timeSigBracketLeftSmall", 0xEC82 }, // glyphnumber: 2410, Left bracket for numerator only - { "timeSigBracketRight", 0xEC81 }, // glyphnumber: 2411, Right bracket for whole time signature - { "timeSigBracketRightSmall", 0xEC83 }, // glyphnumber: 2412, Right bracket for numerator only - { "timeSigCombDenominator", 0xE09F }, // glyphnumber: 2413, Control character for denominator digit - { "timeSigCombNumerator", 0xE09E }, // glyphnumber: 2414, Control character for numerator digit - { "timeSigComma", 0xE096 }, // glyphnumber: 2415, Time signature comma - { "timeSigCommon", 0xE08A }, // glyphnumber: 2416, Common time - { "timeSigCommonReversed", 0xECFA }, // glyphnumber: 2417, Reversed common time - { "timeSigCommonTurned", 0xECEA }, // glyphnumber: 2418, Turned common time - { "timeSigCut2", 0xEC85 }, // glyphnumber: 2419, Cut time (Bach) - { "timeSigCut3", 0xEC86 }, // glyphnumber: 2420, Cut triple time (9/8) - { "timeSigCutCommon", 0xE08B }, // glyphnumber: 2421, Cut time - { "timeSigCutCommonReversed", 0xECFB }, // glyphnumber: 2422, Reversed cut time - { "timeSigCutCommonTurned", 0xECEB }, // glyphnumber: 2423, Turned cut time - { "timeSigEquals", 0xE08F }, // glyphnumber: 2424, Time signature equals - { "timeSigFractionHalf", 0xE098 }, // glyphnumber: 2425, Time signature fraction ½ - { "timeSigFractionOneThird", 0xE09A }, // glyphnumber: 2426, Time signature fraction ⅓ - { "timeSigFractionQuarter", 0xE097 }, // glyphnumber: 2427, Time signature fraction ¼ - { "timeSigFractionThreeQuarters", 0xE099 }, // glyphnumber: 2428, Time signature fraction ¾ - { "timeSigFractionTwoThirds", 0xE09B }, // glyphnumber: 2429, Time signature fraction ⅔ - { "timeSigFractionalSlash", 0xE08E }, // glyphnumber: 2430, Time signature fraction slash - { "timeSigMinus", 0xE090 }, // glyphnumber: 2431, Time signature minus - { "timeSigMultiply", 0xE091 }, // glyphnumber: 2432, Time signature multiply - { "timeSigOpenPenderecki", 0xE09D }, // glyphnumber: 2433, Open time signature (Penderecki) - { "timeSigParensLeft", 0xE094 }, // glyphnumber: 2434, Left parenthesis for whole time signature - { "timeSigParensLeftSmall", 0xE092 }, // glyphnumber: 2435, Left parenthesis for numerator only - { "timeSigParensRight", 0xE095 }, // glyphnumber: 2436, Right parenthesis for whole time signature - { "timeSigParensRightSmall", 0xE093 }, // glyphnumber: 2437, Right parenthesis for numerator only - { "timeSigPlus", 0xE08C }, // glyphnumber: 2438, Time signature + - { "timeSigPlusSmall", 0xE08D }, // glyphnumber: 2439, Time signature + (for numerators) - { "timeSigSlash", 0xEC84 }, // glyphnumber: 2440, Time signature slash separator - { "timeSigX", 0xE09C }, // glyphnumber: 2441, Open time signature - { "tremolo1", 0xE220 }, // glyphnumber: 2442, Combining tremolo 1 - { "tremolo2", 0xE221 }, // glyphnumber: 2443, Combining tremolo 2 - { "tremolo3", 0xE222 }, // glyphnumber: 2444, Combining tremolo 3 - { "tremolo4", 0xE223 }, // glyphnumber: 2445, Combining tremolo 4 - { "tremolo5", 0xE224 }, // glyphnumber: 2446, Combining tremolo 5 - { "tremoloDivisiDots2", 0xE22E }, // glyphnumber: 2447, Divide measured tremolo by 2 - { "tremoloDivisiDots3", 0xE22F }, // glyphnumber: 2448, Divide measured tremolo by 3 - { "tremoloDivisiDots4", 0xE230 }, // glyphnumber: 2449, Divide measured tremolo by 4 - { "tremoloDivisiDots6", 0xE231 }, // glyphnumber: 2450, Divide measured tremolo by 6 - { "tremoloFingered1", 0xE225 }, // glyphnumber: 2451, Fingered tremolo 1 - { "tremoloFingered2", 0xE226 }, // glyphnumber: 2452, Fingered tremolo 2 - { "tremoloFingered3", 0xE227 }, // glyphnumber: 2453, Fingered tremolo 3 - { "tremoloFingered4", 0xE228 }, // glyphnumber: 2454, Fingered tremolo 4 - { "tremoloFingered5", 0xE229 }, // glyphnumber: 2455, Fingered tremolo 5 - { "tripleTongueAbove", 0xE5F2 }, // glyphnumber: 2456, Triple-tongue above - { "tripleTongueBelow", 0xE5F3 }, // glyphnumber: 2457, Triple-tongue below - { "tuplet0", 0xE880 }, // glyphnumber: 2458, Tuplet 0 - { "tuplet1", 0xE881 }, // glyphnumber: 2459, Tuplet 1 - { "tuplet2", 0xE882 }, // glyphnumber: 2460, Tuplet 2 - { "tuplet3", 0xE883 }, // glyphnumber: 2461, Tuplet 3 - { "tuplet4", 0xE884 }, // glyphnumber: 2462, Tuplet 4 - { "tuplet5", 0xE885 }, // glyphnumber: 2463, Tuplet 5 - { "tuplet6", 0xE886 }, // glyphnumber: 2464, Tuplet 6 - { "tuplet7", 0xE887 }, // glyphnumber: 2465, Tuplet 7 - { "tuplet8", 0xE888 }, // glyphnumber: 2466, Tuplet 8 - { "tuplet9", 0xE889 }, // glyphnumber: 2467, Tuplet 9 - { "tupletColon", 0xE88A }, // glyphnumber: 2468, Tuplet colon - { "unmeasuredTremolo", 0xE22C }, // glyphnumber: 2469, Wieniawski unmeasured tremolo - { "unmeasuredTremoloSimple", 0xE22D }, // glyphnumber: 2470, Wieniawski unmeasured tremolo (simpler) - { "unpitchedPercussionClef1", 0xE069 }, // glyphnumber: 2471, Unpitched percussion clef 1 - { "unpitchedPercussionClef2", 0xE06A }, // glyphnumber: 2472, Unpitched percussion clef 2 - { "ventiduesima", 0xE517 }, // glyphnumber: 2473, Ventiduesima - { "ventiduesimaAlta", 0xE518 }, // glyphnumber: 2474, Ventiduesima alta - { "ventiduesimaBassa", 0xE519 }, // glyphnumber: 2475, Ventiduesima bassa - { "ventiduesimaBassaMb", 0xE51E }, // glyphnumber: 2476, Ventiduesima bassa (mb) - { "vocalFingerClickStockhausen", 0xE649 }, // glyphnumber: 2477, Finger click (Stockhausen) - { "vocalMouthClosed", 0xE640 }, // glyphnumber: 2478, Mouth closed - { "vocalMouthOpen", 0xE642 }, // glyphnumber: 2479, Mouth open - { "vocalMouthPursed", 0xE644 }, // glyphnumber: 2480, Mouth pursed - { "vocalMouthSlightlyOpen", 0xE641 }, // glyphnumber: 2481, Mouth slightly open - { "vocalMouthWideOpen", 0xE643 }, // glyphnumber: 2482, Mouth wide open - { "vocalNasalVoice", 0xE647 }, // glyphnumber: 2483, Nasal voice - { "vocalSprechgesang", 0xE645 }, // glyphnumber: 2484, Sprechgesang - { "vocalTongueClickStockhausen", 0xE648 }, // glyphnumber: 2485, Tongue click (Stockhausen) - { "vocalTongueFingerClickStockhausen", 0xE64A }, // glyphnumber: 2486, Tongue and finger click (Stockhausen) - { "vocalsSussurando", 0xE646 }, // glyphnumber: 2487, Combining sussurando for stem - { "wiggleArpeggiatoDown", 0xEAAA }, // glyphnumber: 2488, Arpeggiato wiggle segment, downwards - { "wiggleArpeggiatoDownArrow", 0xEAAE }, // glyphnumber: 2489, Arpeggiato arrowhead down - { "wiggleArpeggiatoDownSwash", 0xEAAC }, // glyphnumber: 2490, Arpeggiato downward swash - { "wiggleArpeggiatoUp", 0xEAA9 }, // glyphnumber: 2491, Arpeggiato wiggle segment, upwards - { "wiggleArpeggiatoUpArrow", 0xEAAD }, // glyphnumber: 2492, Arpeggiato arrowhead up - { "wiggleArpeggiatoUpSwash", 0xEAAB }, // glyphnumber: 2493, Arpeggiato upward swash - { "wiggleCircular", 0xEAC9 }, // glyphnumber: 2494, Circular motion segment - { "wiggleCircularConstant", 0xEAC0 }, // glyphnumber: 2495, Constant circular motion segment - { "wiggleCircularConstantFlipped", 0xEAC1 }, // glyphnumber: 2496, Constant circular motion segment (flipped) - { "wiggleCircularConstantFlippedLarge", 0xEAC3 }, // glyphnumber: 2497, Constant circular motion segment (flipped, large) - { "wiggleCircularConstantLarge", 0xEAC2 }, // glyphnumber: 2498, Constant circular motion segment (large) - { "wiggleCircularEnd", 0xEACB }, // glyphnumber: 2499, Circular motion end - { "wiggleCircularLarge", 0xEAC8 }, // glyphnumber: 2500, Circular motion segment, large - { "wiggleCircularLarger", 0xEAC7 }, // glyphnumber: 2501, Circular motion segment, larger - { "wiggleCircularLargerStill", 0xEAC6 }, // glyphnumber: 2502, Circular motion segment, larger still - { "wiggleCircularLargest", 0xEAC5 }, // glyphnumber: 2503, Circular motion segment, largest - { "wiggleCircularSmall", 0xEACA }, // glyphnumber: 2504, Circular motion segment, small - { "wiggleCircularStart", 0xEAC4 }, // glyphnumber: 2505, Circular motion start - { "wiggleGlissando", 0xEAAF }, // glyphnumber: 2506, Glissando wiggle segment - { "wiggleGlissandoGroup1", 0xEABD }, // glyphnumber: 2507, Group glissando 1 - { "wiggleGlissandoGroup2", 0xEABE }, // glyphnumber: 2508, Group glissando 2 - { "wiggleGlissandoGroup3", 0xEABF }, // glyphnumber: 2509, Group glissando 3 - { "wiggleRandom1", 0xEAF0 }, // glyphnumber: 2510, Quasi-random squiggle 1 - { "wiggleRandom2", 0xEAF1 }, // glyphnumber: 2511, Quasi-random squiggle 2 - { "wiggleRandom3", 0xEAF2 }, // glyphnumber: 2512, Quasi-random squiggle 3 - { "wiggleRandom4", 0xEAF3 }, // glyphnumber: 2513, Quasi-random squiggle 4 - { "wiggleSawtooth", 0xEABB }, // glyphnumber: 2514, Sawtooth line segment - { "wiggleSawtoothNarrow", 0xEABA }, // glyphnumber: 2515, Narrow sawtooth line segment - { "wiggleSawtoothWide", 0xEABC }, // glyphnumber: 2516, Wide sawtooth line segment - { "wiggleSquareWave", 0xEAB8 }, // glyphnumber: 2517, Square wave line segment - { "wiggleSquareWaveNarrow", 0xEAB7 }, // glyphnumber: 2518, Narrow square wave line segment - { "wiggleSquareWaveWide", 0xEAB9 }, // glyphnumber: 2519, Wide square wave line segment - { "wiggleTrill", 0xEAA4 }, // glyphnumber: 2520, Trill wiggle segment - { "wiggleTrillFast", 0xEAA3 }, // glyphnumber: 2521, Trill wiggle segment, fast - { "wiggleTrillFaster", 0xEAA2 }, // glyphnumber: 2522, Trill wiggle segment, faster - { "wiggleTrillFasterStill", 0xEAA1 }, // glyphnumber: 2523, Trill wiggle segment, faster still - { "wiggleTrillFastest", 0xEAA0 }, // glyphnumber: 2524, Trill wiggle segment, fastest - { "wiggleTrillSlow", 0xEAA5 }, // glyphnumber: 2525, Trill wiggle segment, slow - { "wiggleTrillSlower", 0xEAA6 }, // glyphnumber: 2526, Trill wiggle segment, slower - { "wiggleTrillSlowerStill", 0xEAA7 }, // glyphnumber: 2527, Trill wiggle segment, slower still - { "wiggleTrillSlowest", 0xEAA8 }, // glyphnumber: 2528, Trill wiggle segment, slowest - { "wiggleVIbratoLargestSlower", 0xEAEE }, // glyphnumber: 2529, Vibrato largest, slower - { "wiggleVIbratoMediumSlower", 0xEAE0 }, // glyphnumber: 2530, Vibrato medium, slower - { "wiggleVibrato", 0xEAB0 }, // glyphnumber: 2531, Vibrato / shake wiggle segment - { "wiggleVibratoLargeFast", 0xEAE5 }, // glyphnumber: 2532, Vibrato large, fast - { "wiggleVibratoLargeFaster", 0xEAE4 }, // glyphnumber: 2533, Vibrato large, faster - { "wiggleVibratoLargeFasterStill", 0xEAE3 }, // glyphnumber: 2534, Vibrato large, faster still - { "wiggleVibratoLargeFastest", 0xEAE2 }, // glyphnumber: 2535, Vibrato large, fastest - { "wiggleVibratoLargeSlow", 0xEAE6 }, // glyphnumber: 2536, Vibrato large, slow - { "wiggleVibratoLargeSlower", 0xEAE7 }, // glyphnumber: 2537, Vibrato large, slower - { "wiggleVibratoLargeSlowest", 0xEAE8 }, // glyphnumber: 2538, Vibrato large, slowest - { "wiggleVibratoLargestFast", 0xEAEC }, // glyphnumber: 2539, Vibrato largest, fast - { "wiggleVibratoLargestFaster", 0xEAEB }, // glyphnumber: 2540, Vibrato largest, faster - { "wiggleVibratoLargestFasterStill", 0xEAEA }, // glyphnumber: 2541, Vibrato largest, faster still - { "wiggleVibratoLargestFastest", 0xEAE9 }, // glyphnumber: 2542, Vibrato largest, fastest - { "wiggleVibratoLargestSlow", 0xEAED }, // glyphnumber: 2543, Vibrato largest, slow - { "wiggleVibratoLargestSlowest", 0xEAEF }, // glyphnumber: 2544, Vibrato largest, slowest - { "wiggleVibratoMediumFast", 0xEADE }, // glyphnumber: 2545, Vibrato medium, fast - { "wiggleVibratoMediumFaster", 0xEADD }, // glyphnumber: 2546, Vibrato medium, faster - { "wiggleVibratoMediumFasterStill", 0xEADC }, // glyphnumber: 2547, Vibrato medium, faster still - { "wiggleVibratoMediumFastest", 0xEADB }, // glyphnumber: 2548, Vibrato medium, fastest - { "wiggleVibratoMediumSlow", 0xEADF }, // glyphnumber: 2549, Vibrato medium, slow - { "wiggleVibratoMediumSlowest", 0xEAE1 }, // glyphnumber: 2550, Vibrato medium, slowest - { "wiggleVibratoSmallFast", 0xEAD7 }, // glyphnumber: 2551, Vibrato small, fast - { "wiggleVibratoSmallFaster", 0xEAD6 }, // glyphnumber: 2552, Vibrato small, faster - { "wiggleVibratoSmallFasterStill", 0xEAD5 }, // glyphnumber: 2553, Vibrato small, faster still - { "wiggleVibratoSmallFastest", 0xEAD4 }, // glyphnumber: 2554, Vibrato small, fastest - { "wiggleVibratoSmallSlow", 0xEAD8 }, // glyphnumber: 2555, Vibrato small, slow - { "wiggleVibratoSmallSlower", 0xEAD9 }, // glyphnumber: 2556, Vibrato small, slower - { "wiggleVibratoSmallSlowest", 0xEADA }, // glyphnumber: 2557, Vibrato small, slowest - { "wiggleVibratoSmallestFast", 0xEAD0 }, // glyphnumber: 2558, Vibrato smallest, fast - { "wiggleVibratoSmallestFaster", 0xEACF }, // glyphnumber: 2559, Vibrato smallest, faster - { "wiggleVibratoSmallestFasterStill", 0xEACE }, // glyphnumber: 2560, Vibrato smallest, faster still - { "wiggleVibratoSmallestFastest", 0xEACD }, // glyphnumber: 2561, Vibrato smallest, fastest - { "wiggleVibratoSmallestSlow", 0xEAD1 }, // glyphnumber: 2562, Vibrato smallest, slow - { "wiggleVibratoSmallestSlower", 0xEAD2 }, // glyphnumber: 2563, Vibrato smallest, slower - { "wiggleVibratoSmallestSlowest", 0xEAD3 }, // glyphnumber: 2564, Vibrato smallest, slowest - { "wiggleVibratoStart", 0xEACC }, // glyphnumber: 2565, Vibrato start - { "wiggleVibratoWide", 0xEAB1 }, // glyphnumber: 2566, Wide vibrato / shake wiggle segment - { "wiggleWavy", 0xEAB5 }, // glyphnumber: 2567, Wavy line segment - { "wiggleWavyNarrow", 0xEAB4 }, // glyphnumber: 2568, Narrow wavy line segment - { "wiggleWavyWide", 0xEAB6 }, // glyphnumber: 2569, Wide wavy line segment - { "windClosedHole", 0xE5F4 }, // glyphnumber: 2570, Closed hole - { "windFlatEmbouchure", 0xE5FB }, // glyphnumber: 2571, Flatter embouchure - { "windHalfClosedHole1", 0xE5F6 }, // glyphnumber: 2572, Half-closed hole - { "windHalfClosedHole2", 0xE5F7 }, // glyphnumber: 2573, Half-closed hole 2 - { "windHalfClosedHole3", 0xE5F8 }, // glyphnumber: 2574, Half-open hole - { "windLessRelaxedEmbouchure", 0xE5FE }, // glyphnumber: 2575, Somewhat relaxed embouchure - { "windLessTightEmbouchure", 0xE600 }, // glyphnumber: 2576, Somewhat tight embouchure - { "windMouthpiecePop", 0xE60A }, // glyphnumber: 2577, Mouthpiece or hand pop - { "windMultiphonicsBlackStem", 0xE607 }, // glyphnumber: 2578, Combining multiphonics (black) for stem - { "windMultiphonicsBlackWhiteStem", 0xE609 }, // glyphnumber: 2579, Combining multiphonics (black and white) for stem - { "windMultiphonicsWhiteStem", 0xE608 }, // glyphnumber: 2580, Combining multiphonics (white) for stem - { "windOpenHole", 0xE5F9 }, // glyphnumber: 2581, Open hole - { "windReedPositionIn", 0xE606 }, // glyphnumber: 2582, Much more reed (push inwards) - { "windReedPositionNormal", 0xE604 }, // glyphnumber: 2583, Normal reed position - { "windReedPositionOut", 0xE605 }, // glyphnumber: 2584, Very little reed (pull outwards) - { "windRelaxedEmbouchure", 0xE5FD }, // glyphnumber: 2585, Relaxed embouchure - { "windRimOnly", 0xE60B }, // glyphnumber: 2586, Rim only - { "windSharpEmbouchure", 0xE5FC }, // glyphnumber: 2587, Sharper embouchure - { "windStrongAirPressure", 0xE603 }, // glyphnumber: 2588, Very tight embouchure / strong air pressure - { "windThreeQuartersClosedHole", 0xE5F5 }, // glyphnumber: 2589, Three-quarters closed hole - { "windTightEmbouchure", 0xE5FF }, // glyphnumber: 2590, Tight embouchure - { "windTrillKey", 0xE5FA }, // glyphnumber: 2591, Trill key - { "windVeryTightEmbouchure", 0xE601 }, // glyphnumber: 2592, Very tight embouchure - { "windWeakAirPressure", 0xE602 }, // glyphnumber: 2593, Very relaxed embouchure / weak air-pressure - }; - - SmuflGlyphname::SmuflGlyphname( std::string inNameAbove, - std::string inNameBelow, - std::string inNameUnspecified ) - : above{ inNameAbove } - , below{ inNameBelow } - , unspecified{ inNameUnspecified } - { - - } - - - const std::string& SmuflGlyphname::getName() const - { - return unspecified; - } - - - const std::string& SmuflGlyphname::getName( Placement placement ) const - { - switch ( placement ) - { - case Placement::above: return above; - case Placement::below: return below; - case Placement::unspecified: return unspecified; - default: break; - } - return unspecified; - } - - Smufl& Smufl::getInstance() - { - static Smufl instance; - return instance; - - } - - Smufl::Smufl() - { - } - - char16_t Smufl::findCodepoint(const std::string& inName) - { - const SmuflIter iter = sMap.find( inName ); - if( iter == sMap.cend() ) - { - std::cout << "WARN: findCodepoint missing: " << inName << std::endl; - return 0; - } - return iter->second; - } - - - const std::string& Smufl::findName( char16_t codepoint ) - { - static std::string empty = ""; - - auto lambda = [&codepoint](const SmuflPair item) - { - return item.second == codepoint; - }; - - const SmuflIter iter = std::find_if( sMap.cbegin(), sMap.cend(), lambda ); - - if( iter == sMap.cend() ) - { - std::cout << "WARN: findName missing: " << codepoint << std::endl; - return empty; - } - - return iter->first; - } - } -} diff --git a/Sourcecode/mx/api/Smufl.h b/Sourcecode/mx/api/Smufl.h deleted file mode 100644 index 40cce97a2..000000000 --- a/Sourcecode/mx/api/Smufl.h +++ /dev/null @@ -1,49 +0,0 @@ -// MusicXML Class Library -// Copyright (c) by Matthew James Briggs -// Distributed under the MIT License - -#pragma once - -#include "mx/api/ApiCommon.h" - -#include - -namespace mx -{ - namespace api - { - struct SmuflGlyphname - { - SmuflGlyphname( std::string inNameAbove, - std::string inNameBelow, - std::string inNameUnspecified ); - - const std::string above; - const std::string below; - const std::string unspecified; - - const std::string& getName() const; - const std::string& getName( api::Placement placement ) const; - }; - - - class Smufl - { - - public: - - static Smufl& getInstance(); - - // returns the SMuFL codepoint value for the given name - // returns 0 (i.e. '\0';) if not found - static char16_t findCodepoint(const std::string& inName); - - // finds the SMuFL glyphname for the given codepoint - // returns empty string if codepoint is not found - static const std::string& findName( char16_t codepoint ); - - private: - Smufl(); - }; - } -} diff --git a/Sourcecode/mx/impl/AccidentalMarkFunctions.cpp b/Sourcecode/mx/impl/AccidentalMarkFunctions.cpp index 85237ce65..ef3d82f9c 100644 --- a/Sourcecode/mx/impl/AccidentalMarkFunctions.cpp +++ b/Sourcecode/mx/impl/AccidentalMarkFunctions.cpp @@ -30,8 +30,6 @@ namespace mx markData.name = core::toString( accidentalValue ); markData.positionData = impl::getPositionData( *myAccidentalMark.getAttributes() ); - markData.smuflName = api::MarkSmufl::getName( markType, markData.positionData.placement ); - markData.smuflCodepoint = api::MarkSmufl::getCodepoint( markType, markData.positionData.placement ); return markData; } } diff --git a/Sourcecode/mx/impl/ArticulationsFunctions.cpp b/Sourcecode/mx/impl/ArticulationsFunctions.cpp index 28ce157ab..56836a28a 100644 --- a/Sourcecode/mx/impl/ArticulationsFunctions.cpp +++ b/Sourcecode/mx/impl/ArticulationsFunctions.cpp @@ -52,13 +52,6 @@ namespace mx markData.tickTimePosition = myCursor.tickTimePosition; parseArticulation( *articulation, markData ); - - if( markType != api::MarkType::otherArticulation ) - { - markData.smuflName = api::MarkSmufl::getName( markType, markData.positionData.placement ); - markData.smuflCodepoint = api::MarkSmufl::getCodepoint( markType, markData.positionData.placement ); - } - outMarks.emplace_back( std::move( markData ) ); } } @@ -162,8 +155,14 @@ namespace mx { parseMarkDataAttributes( *inArticulation.getOtherArticulation()->getAttributes(), outMark ); outMark.name = inArticulation.getOtherArticulation()->getValue().getValue(); - outMark.smuflName = outMark.name; - outMark.smuflCodepoint = api::Smufl::findCodepoint( outMark.smuflName ); + + const auto possibleCustomMarkType = mx::api::getMarkTypeFromCustomString( outMark.name ); + + if( possibleCustomMarkType != mx::api::MarkType::customErrorUnknown ) + { + outMark.markType = possibleCustomMarkType; + } + break; } default: diff --git a/Sourcecode/mx/impl/Converter.cpp b/Sourcecode/mx/impl/Converter.cpp index e255848bd..49d481cd3 100644 --- a/Sourcecode/mx/impl/Converter.cpp +++ b/Sourcecode/mx/impl/Converter.cpp @@ -171,7 +171,7 @@ namespace mx std::pair{ core::CssFontSize::xxLarge, api::CssSize::xxLarge }, }; - + // TODO - SMUFLKILL const std::map Converter::articulationsMap = { std::pair{ core::ArticulationsChoice::Choice::accent, api::MarkType::accent }, diff --git a/Sourcecode/mx/impl/DirectionReader.cpp b/Sourcecode/mx/impl/DirectionReader.cpp index 475496a1d..9341e9792 100644 --- a/Sourcecode/mx/impl/DirectionReader.cpp +++ b/Sourcecode/mx/impl/DirectionReader.cpp @@ -425,20 +425,7 @@ namespace mx placement = myOutDirectionData.placement; } - if( valueObject.getValue() == core::DynamicsEnum::otherDynamics ) - { - auto codePoint = api::Smufl::findCodepoint( mark.name ); - if( codePoint > 0 ) - { - mark.smuflCodepoint = codePoint; - mark.smuflName = mark.name; - } - } - else - { - mark.smuflName = api::MarkSmufl::getName( mark.markType, placement ); - mark.smuflCodepoint = api::MarkSmufl::getCodepoint( mark.markType, placement ); - } + mark.name = valueObject.getValueString(); myOutDirectionData.marks.emplace_back( std::move( mark ) ); } diff --git a/Sourcecode/mx/impl/DynamicsReader.cpp b/Sourcecode/mx/impl/DynamicsReader.cpp index 40bdcc0d4..6cfb3c174 100644 --- a/Sourcecode/mx/impl/DynamicsReader.cpp +++ b/Sourcecode/mx/impl/DynamicsReader.cpp @@ -3,7 +3,6 @@ // Distributed under the MIT License #include "mx/impl/DynamicsReader.h" -#include "mx/api/Smufl.h" #include "mx/core/elements/Dynamics.h" #include "mx/core/Enums.h" #include "mx/impl/Converter.h" @@ -33,22 +32,6 @@ namespace mx markData.tickTimePosition = myCursor.tickTimePosition; markData.name = myDynamic.getValue().getValueString(); markData.positionData = impl::getPositionData( *myDynamic.getAttributes() ); - - if( dynamicType == core::DynamicsEnum::otherDynamics ) - { - const auto value = myDynamic.getValue().getValueString(); - const auto tempChar = api::Smufl::findCodepoint( value ); - if( tempChar != 0 ) - { - markData.smuflName = value; - markData.smuflCodepoint = tempChar; - } - } - else - { - markData.smuflName = api::MarkSmufl::getName( markType, markData.positionData.placement ); - markData.smuflCodepoint = api::MarkSmufl::getCodepoint( markType, markData.positionData.placement ); - } outMarks.emplace_back( std::move( markData ) ); } } diff --git a/Sourcecode/mx/impl/DynamicsWriter.cpp b/Sourcecode/mx/impl/DynamicsWriter.cpp index 0be982948..a35564169 100644 --- a/Sourcecode/mx/impl/DynamicsWriter.cpp +++ b/Sourcecode/mx/impl/DynamicsWriter.cpp @@ -33,21 +33,12 @@ namespace mx { auto dyn = core::makeDynamics(); - // if( myMarkData.positionData.placement != api::Placement::unspecified ) - // { - // dyn->getAttributes()->hasPlacement = true; - // dyn->getAttributes()->placement = myConverter.convert( myMarkData.positionData.placement ); - // } const auto value = myConverter.convertDynamic( myMarkData.markType ); core::DynamicsValue dynamicsValue; dynamicsValue.setValue( value ); const bool isOther = value == core::DynamicsEnum::otherDynamics; - if( isOther && !myMarkData.smuflName.empty() ) - { - dynamicsValue.setValue( myMarkData.smuflName ); - } - else if ( isOther && !myMarkData.name.empty() ) + if ( isOther && !myMarkData.name.empty() ) { dynamicsValue.setValue( myMarkData.name ); } diff --git a/Sourcecode/mx/impl/MeasureReader.cpp b/Sourcecode/mx/impl/MeasureReader.cpp index 8e7ef3481..dc9e3fab3 100644 --- a/Sourcecode/mx/impl/MeasureReader.cpp +++ b/Sourcecode/mx/impl/MeasureReader.cpp @@ -6,7 +6,6 @@ #include "mx/api/ClefData.h" #include "mx/api/KeyData.h" #include "mx/api/NoteData.h" -#include "mx/api/Smufl.h" #include "mx/core/elements/Alter.h" #include "mx/core/elements/Backup.h" #include "mx/core/elements/Barline.h" diff --git a/Sourcecode/mx/impl/NotationsWriter.cpp b/Sourcecode/mx/impl/NotationsWriter.cpp index 54fd24238..6289e328d 100644 --- a/Sourcecode/mx/impl/NotationsWriter.cpp +++ b/Sourcecode/mx/impl/NotationsWriter.cpp @@ -252,7 +252,7 @@ namespace mx for( const auto& mark : myNoteData.noteAttachmentData.marks ) { - if( isMarkArticulation( mark.markType ) ) + if( isMarkArticulation( mark.markType ) || isMarkCustom( mark.markType ) ) { this->addArticulation( mark, articulations ); } @@ -397,7 +397,7 @@ namespace mx void NotationsWriter::addArticulation( const api::MarkData& mark, const core::ArticulationsPtr& outArticulationsPtr ) const { - if( !myConverter.isArticulation( mark.markType ) ) + if( !myConverter.isArticulation( mark.markType ) && !api::isMarkCustom( mark.markType ) ) { return; } @@ -497,6 +497,14 @@ namespace mx auto attributes = element->getAttributes(); setAttributesFromPositionData( mark.positionData, *attributes); } + else if( api::isMarkCustom( mark.markType ) ) + { + const auto customName = api::getCustomMarkName( mark.markType ); + auto element = articulationsChoice->getOtherArticulation(); + element->setValue( core::XsString{ customName } ); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); + } else if( mark.markType == api::MarkType::otherArticulation ) { auto element = articulationsChoice->getOtherArticulation(); @@ -594,9 +602,14 @@ namespace mx attributes->type = mx::core::StartStopSingle::single; setAttributesFromPositionData( mark.positionData, *attributes); element->setValue( mx::core::TremoloMarks{ api::numTremoloSlashes( mark.markType ) } ); + } + else if( api::isMarkCustom( mark.markType ) ) + { + } else if( ( mark.markType == api::MarkType::unknownOrnament ) || ( mark.markType == api::MarkType::otherOrnament ) ) + // TODO - SMUFLKILL - handle custom enum values? { auto element = ornamentsChoice->getOtherOrnament(); auto attributes = element->getAttributes(); @@ -606,10 +619,6 @@ namespace mx { element->setValue( core::XsString{ mark.name } ); } - else if ( !mark.smuflName.empty() ) - { - element->setValue( core::XsString{ mark.smuflName } ); - } } } @@ -708,10 +717,6 @@ namespace mx { element->setValue( core::XsString{ mark.name } ); } - else if ( !mark.smuflName.empty() ) - { - element->setValue( core::XsString{ mark.smuflName } ); - } } } } diff --git a/Sourcecode/mx/impl/OrnamentsFunctions.cpp b/Sourcecode/mx/impl/OrnamentsFunctions.cpp index d9a84772e..e82d12c82 100644 --- a/Sourcecode/mx/impl/OrnamentsFunctions.cpp +++ b/Sourcecode/mx/impl/OrnamentsFunctions.cpp @@ -51,11 +51,10 @@ namespace mx parseOrnament( *ornament, markData ); markData.tickTimePosition = myCursor.tickTimePosition; - if( ( markData.markType != api::MarkType::otherOrnament ) && - ( markData.markType != api::MarkType::unknownOrnament ) ) + if( ( markData.markType == api::MarkType::otherOrnament ) || + ( markData.markType == api::MarkType::unknownOrnament ) ) { - markData.smuflName = api::MarkSmufl::getName( markType, markData.positionData.placement ); - markData.smuflCodepoint = api::MarkSmufl::getCodepoint( markType, markData.positionData.placement ); + // TODO - SMUFLKILL - use the name to see if we have a custom enum value } if( markData.markType != api::MarkType::unknownOrnament ) @@ -203,14 +202,6 @@ namespace mx outMark.name = value; } - const auto tempChar = api::Smufl::findCodepoint( value ); - - if( tempChar != 0 ) - { - outMark.smuflName = value; - outMark.smuflCodepoint = tempChar; - } - break; } default: diff --git a/Sourcecode/mx/impl/TechnicalFunctions.cpp b/Sourcecode/mx/impl/TechnicalFunctions.cpp index 294acfaae..7c01e73c2 100644 --- a/Sourcecode/mx/impl/TechnicalFunctions.cpp +++ b/Sourcecode/mx/impl/TechnicalFunctions.cpp @@ -65,11 +65,6 @@ namespace mx if( isSuccess ) { - if( markData.smuflName.empty() && markData.smuflCodepoint == 0 ) - { - markData.smuflName = api::MarkSmufl::getName( markType, markData.positionData.placement ); - markData.smuflCodepoint = api::MarkSmufl::getCodepoint( markType, markData.positionData.placement ); - } outMarks.emplace_back( std::move( markData ) ); } } @@ -175,14 +170,7 @@ namespace mx parseMarkDataAttributes( attr, outMarkData ); const auto value = other.getValue().getValue(); - const auto charVal = api::Smufl::findCodepoint( value ); outMarkData.name = value; - - if( charVal != 0 ) - { - outMarkData.smuflName = value; - outMarkData.smuflCodepoint = charVal; - } return true; } diff --git a/Sourcecode/mx/sparsepp/spp.h b/Sourcecode/mx/sparsepp/spp.h deleted file mode 100755 index bcfb29d26..000000000 --- a/Sourcecode/mx/sparsepp/spp.h +++ /dev/null @@ -1,4336 +0,0 @@ -#if !defined(sparsepp_h_guard_) -#define sparsepp_h_guard_ - - -// ---------------------------------------------------------------------- -// Copyright (c) 2016, Gregory Popovitch - greg7mdp@gmail.com -// All rights reserved. -// -// This work is derived from Google's sparsehash library -// -// Copyright (c) 2005, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// ---------------------------------------------------------------------- - - -// some macros for portability -// --------------------------- -// includes -// -------- -#include -#include -#include -#include // for numeric_limits -#include // For swap(), eg -#include // for iterator tags -#include // for equal_to<>, select1st<>, std::unary_function, etc -#include // for alloc, uninitialized_copy, uninitialized_fill -#include // for malloc/realloc/free -#include // for ptrdiff_t -#include // for placement new -#include // For length_error -#include // for pair<> -#include -#include -#include - -#include "spp_stdint.h" // includes spp_config.h -#include "spp_traits.h" -#include "spp_utils.h" - -#ifdef SPP_INCLUDE_SPP_ALLOC - #include "spp_dlalloc.h" -#endif - -#if !defined(SPP_NO_CXX11_HDR_INITIALIZER_LIST) - #include -#endif - -#if (SPP_GROUP_SIZE == 32) - #define SPP_SHIFT_ 5 - #define SPP_MASK_ 0x1F - typedef uint32_t group_bm_type; -#elif (SPP_GROUP_SIZE == 64) - #define SPP_SHIFT_ 6 - #define SPP_MASK_ 0x3F - typedef uint64_t group_bm_type; -#else - #error "SPP_GROUP_SIZE must be either 32 or 64" -#endif - -namespace spp_ { - -// ---------------------------------------------------------------------- -// U T I L F U N C T I O N S -// ---------------------------------------------------------------------- -template -inline void throw_exception(const E& exception) -{ -#if !defined(SPP_NO_EXCEPTIONS) - throw exception; -#else - assert(0); - abort(); -#endif -} - -// ---------------------------------------------------------------------- -// M U T A B L E P A I R H A C K -// turn std::pair into mutable std::pair -// ---------------------------------------------------------------------- -template -struct cvt -{ - typedef T type; -}; - -template -struct cvt > -{ - typedef std::pair type; -}; - -template -struct cvt > -{ - typedef const std::pair type; -}; - -// ---------------------------------------------------------------------- -// M O V E I T E R A T O R -// ---------------------------------------------------------------------- -#ifdef SPP_NO_CXX11_RVALUE_REFERENCES - #define MK_MOVE_IT(p) (p) -#else - #define MK_MOVE_IT(p) std::make_move_iterator(p) -#endif - - -// ---------------------------------------------------------------------- -// I N T E R N A L S T U F F -// ---------------------------------------------------------------------- -#ifdef SPP_NO_CXX11_STATIC_ASSERT - template struct SppCompileAssert { }; - #define SPP_COMPILE_ASSERT(expr, msg) \ - SPP_ATTRIBUTE_UNUSED typedef SppCompileAssert<(bool(expr))> spp_bogus_[bool(expr) ? 1 : -1] -#else - #define SPP_COMPILE_ASSERT static_assert -#endif - -namespace sparsehash_internal -{ - -// Adaptor methods for reading/writing data from an INPUT or OUPTUT -// variable passed to serialize() or unserialize(). For now we -// have implemented INPUT/OUTPUT for FILE*, istream*/ostream* (note -// they are pointers, unlike typical use), or else a pointer to -// something that supports a Read()/Write() method. -// -// For technical reasons, we implement read_data/write_data in two -// stages. The actual work is done in *_data_internal, which takes -// the stream argument twice: once as a template type, and once with -// normal type information. (We only use the second version.) We do -// this because of how C++ picks what function overload to use. If we -// implemented this the naive way: -// bool read_data(istream* is, const void* data, size_t length); -// template read_data(T* fp, const void* data, size_t length); -// C++ would prefer the second version for every stream type except -// istream. However, we want C++ to prefer the first version for -// streams that are *subclasses* of istream, such as istringstream. -// This is not possible given the way template types are resolved. So -// we split the stream argument in two, one of which is templated and -// one of which is not. The specialized functions (like the istream -// version above) ignore the template arg and use the second, 'type' -// arg, getting subclass matching as normal. The 'catch-all' -// functions (the second version above) use the template arg to deduce -// the type, and use a second, void* arg to achieve the desired -// 'catch-all' semantics. - - // ----- low-level I/O for FILE* ---- - - template - inline bool read_data_internal(Ignored* /*unused*/, FILE* fp, - void* data, size_t length) - { - return fread(data, length, 1, fp) == 1; - } - - template - inline bool write_data_internal(Ignored* /*unused*/, FILE* fp, - const void* data, size_t length) - { - return fwrite(data, length, 1, fp) == 1; - } - - // ----- low-level I/O for iostream ---- - - // We want the caller to be responsible for #including , not - // us, because iostream is a big header! According to the standard, - // it's only legal to delay the instantiation the way we want to if - // the istream/ostream is a template type. So we jump through hoops. - template - inline bool read_data_internal_for_istream(ISTREAM* fp, - void* data, size_t length) - { - return fp->read(reinterpret_cast(data), - static_cast(length)).good(); - } - template - inline bool read_data_internal(Ignored* /*unused*/, std::istream* fp, - void* data, size_t length) - { - return read_data_internal_for_istream(fp, data, length); - } - - template - inline bool write_data_internal_for_ostream(OSTREAM* fp, - const void* data, size_t length) - { - return fp->write(reinterpret_cast(data), - static_cast(length)).good(); - } - template - inline bool write_data_internal(Ignored* /*unused*/, std::ostream* fp, - const void* data, size_t length) - { - return write_data_internal_for_ostream(fp, data, length); - } - - // ----- low-level I/O for custom streams ---- - - // The INPUT type needs to support a Read() method that takes a - // buffer and a length and returns the number of bytes read. - template - inline bool read_data_internal(INPUT* fp, void* /*unused*/, - void* data, size_t length) - { - return static_cast(fp->Read(data, length)) == length; - } - - // The OUTPUT type needs to support a Write() operation that takes - // a buffer and a length and returns the number of bytes written. - template - inline bool write_data_internal(OUTPUT* fp, void* /*unused*/, - const void* data, size_t length) - { - return static_cast(fp->Write(data, length)) == length; - } - - // ----- low-level I/O: the public API ---- - - template - inline bool read_data(INPUT* fp, void* data, size_t length) - { - return read_data_internal(fp, fp, data, length); - } - - template - inline bool write_data(OUTPUT* fp, const void* data, size_t length) - { - return write_data_internal(fp, fp, data, length); - } - - // Uses read_data() and write_data() to read/write an integer. - // length is the number of bytes to read/write (which may differ - // from sizeof(IntType), allowing us to save on a 32-bit system - // and load on a 64-bit system). Excess bytes are taken to be 0. - // INPUT and OUTPUT must match legal inputs to read/write_data (above). - // -------------------------------------------------------------------- - template - bool read_bigendian_number(INPUT* fp, IntType* value, size_t length) - { - *value = 0; - unsigned char byte; - // We require IntType to be unsigned or else the shifting gets all screwy. - SPP_COMPILE_ASSERT(static_cast(-1) > static_cast(0), "serializing_int_requires_an_unsigned_type"); - for (size_t i = 0; i < length; ++i) - { - if (!read_data(fp, &byte, sizeof(byte))) - return false; - *value |= static_cast(byte) << ((length - 1 - i) * 8); - } - return true; - } - - template - bool write_bigendian_number(OUTPUT* fp, IntType value, size_t length) - { - unsigned char byte; - // We require IntType to be unsigned or else the shifting gets all screwy. - SPP_COMPILE_ASSERT(static_cast(-1) > static_cast(0), "serializing_int_requires_an_unsigned_type"); - for (size_t i = 0; i < length; ++i) - { - byte = (sizeof(value) <= length-1 - i) - ? static_cast(0) : static_cast((value >> ((length-1 - i) * 8)) & 255); - if (!write_data(fp, &byte, sizeof(byte))) return false; - } - return true; - } - - // If your keys and values are simple enough, you can pass this - // serializer to serialize()/unserialize(). "Simple enough" means - // value_type is a POD type that contains no pointers. Note, - // however, we don't try to normalize endianness. - // This is the type used for NopointerSerializer. - // --------------------------------------------------------------- - template struct pod_serializer - { - template - bool operator()(INPUT* fp, value_type* value) const - { - return read_data(fp, value, sizeof(*value)); - } - - template - bool operator()(OUTPUT* fp, const value_type& value) const - { - return write_data(fp, &value, sizeof(value)); - } - }; - - - // Settings contains parameters for growing and shrinking the table. - // It also packages zero-size functor (ie. hasher). - // - // It does some munging of the hash value for the cases where - // the original hash function is not be very good. - // --------------------------------------------------------------- - template - class sh_hashtable_settings : public HashFunc - { - private: -#ifndef SPP_MIX_HASH - template struct Mixer - { - inline T operator()(T h) const { return h; } - }; -#else - template struct Mixer - { - inline T operator()(T h) const; - }; - - template struct Mixer - { - inline T operator()(T h) const - { - // from Thomas Wang - https://gist.github.com/badboy/6267743 - // --------------------------------------------------------- - h = (h ^ 61) ^ (h >> 16); - h = h + (h << 3); - h = h ^ (h >> 4); - h = h * 0x27d4eb2d; - h = h ^ (h >> 15); - return h; - } - }; - - template struct Mixer - { - inline T operator()(T h) const - { - // from Thomas Wang - https://gist.github.com/badboy/6267743 - // --------------------------------------------------------- - h = (~h) + (h << 21); // h = (h << 21) - h - 1; - h = h ^ (h >> 24); - h = (h + (h << 3)) + (h << 8); // h * 265 - h = h ^ (h >> 14); - h = (h + (h << 2)) + (h << 4); // h * 21 - h = h ^ (h >> 28); - h = h + (h << 31); - return h; - } - }; -#endif - - public: - typedef Key key_type; - typedef HashFunc hasher; - typedef SizeType size_type; - - public: - sh_hashtable_settings(const hasher& hf, - const float ht_occupancy_flt, - const float ht_empty_flt) - : hasher(hf), - enlarge_threshold_(0), - shrink_threshold_(0), - consider_shrink_(false), - num_ht_copies_(0) - { - set_enlarge_factor(ht_occupancy_flt); - set_shrink_factor(ht_empty_flt); - } - - size_t hash(const key_type& v) const - { - size_t h = hasher::operator()(v); - Mixer mixer; - - return mixer(h); - } - - float enlarge_factor() const { return enlarge_factor_; } - void set_enlarge_factor(float f) { enlarge_factor_ = f; } - float shrink_factor() const { return shrink_factor_; } - void set_shrink_factor(float f) { shrink_factor_ = f; } - - size_type enlarge_threshold() const { return enlarge_threshold_; } - void set_enlarge_threshold(size_type t) { enlarge_threshold_ = t; } - size_type shrink_threshold() const { return shrink_threshold_; } - void set_shrink_threshold(size_type t) { shrink_threshold_ = t; } - - size_type enlarge_size(size_type x) const { return static_cast(x * enlarge_factor_); } - size_type shrink_size(size_type x) const { return static_cast(x * shrink_factor_); } - - bool consider_shrink() const { return consider_shrink_; } - void set_consider_shrink(bool t) { consider_shrink_ = t; } - - unsigned int num_ht_copies() const { return num_ht_copies_; } - void inc_num_ht_copies() { ++num_ht_copies_; } - - // Reset the enlarge and shrink thresholds - void reset_thresholds(size_type num_buckets) - { - set_enlarge_threshold(enlarge_size(num_buckets)); - set_shrink_threshold(shrink_size(num_buckets)); - // whatever caused us to reset already considered - set_consider_shrink(false); - } - - // Caller is resposible for calling reset_threshold right after - // set_resizing_parameters. - // ------------------------------------------------------------ - void set_resizing_parameters(float shrink, float grow) - { - assert(shrink >= 0); - assert(grow <= 1); - if (shrink > grow/2.0f) - shrink = grow / 2.0f; // otherwise we thrash hashtable size - set_shrink_factor(shrink); - set_enlarge_factor(grow); - } - - // This is the smallest size a hashtable can be without being too crowded - // If you like, you can give a min #buckets as well as a min #elts - // ---------------------------------------------------------------------- - size_type min_buckets(size_type num_elts, size_type min_buckets_wanted) - { - float enlarge = enlarge_factor(); - size_type sz = HT_MIN_BUCKETS; // min buckets allowed - while (sz < min_buckets_wanted || - num_elts >= static_cast(sz * enlarge)) - { - // This just prevents overflowing size_type, since sz can exceed - // max_size() here. - // ------------------------------------------------------------- - if (static_cast(sz * 2) < sz) - throw_exception(std::length_error("resize overflow")); // protect against overflow - sz *= 2; - } - return sz; - } - - private: - size_type enlarge_threshold_; // table.size() * enlarge_factor - size_type shrink_threshold_; // table.size() * shrink_factor - float enlarge_factor_; // how full before resize - float shrink_factor_; // how empty before resize - bool consider_shrink_; // if we should try to shrink before next insert - - unsigned int num_ht_copies_; // num_ht_copies is a counter incremented every Copy/Move - }; - -} // namespace sparsehash_internal - -#undef SPP_COMPILE_ASSERT - -// ---------------------------------------------------------------------- -// S P A R S E T A B L E -// ---------------------------------------------------------------------- -// -// A sparsetable is a random container that implements a sparse array, -// that is, an array that uses very little memory to store unassigned -// indices (in this case, between 1-2 bits per unassigned index). For -// instance, if you allocate an array of size 5 and assign a[2] = , then a[2] will take up a lot of memory but a[0], a[1], -// a[3], and a[4] will not. Array elements that have a value are -// called "assigned". Array elements that have no value yet, or have -// had their value cleared using erase() or clear(), are called -// "unassigned". -// -// Unassigned values seem to have the default value of T (see below). -// Nevertheless, there is a difference between an unassigned index and -// one explicitly assigned the value of T(). The latter is considered -// assigned. -// -// Access to an array element is constant time, as is insertion and -// deletion. Insertion and deletion may be fairly slow, however: -// because of this container's memory economy, each insert and delete -// causes a memory reallocation. -// -// NOTE: You should not test(), get(), or set() any index that is -// greater than sparsetable.size(). If you need to do that, call -// resize() first. -// -// --- Template parameters -// PARAMETER DESCRIPTION DEFAULT -// T The value of the array: the type of -- -// object that is stored in the array. -// -// Alloc: Allocator to use to allocate memory. -// -// --- Model of -// Random Access Container -// -// --- Type requirements -// T must be Copy Constructible. It need not be Assignable. -// -// --- Public base classes -// None. -// -// --- Members -// -// [*] All iterators are const in a sparsetable (though nonempty_iterators -// may not be). Use get() and set() to assign values, not iterators. -// -// [+] iterators are random-access iterators. nonempty_iterators are -// bidirectional iterators. - -// [*] If you shrink a sparsetable using resize(), assigned elements -// past the end of the table are removed using erase(). If you grow -// a sparsetable, new unassigned indices are created. -// -// [+] Note that operator[] returns a const reference. You must use -// set() to change the value of a table element. -// -// [!] Unassignment also calls the destructor. -// -// Iterators are invalidated whenever an item is inserted or -// deleted (ie set() or erase() is used) or when the size of -// the table changes (ie resize() or clear() is used). - - - -// --------------------------------------------------------------------------- -// Our iterator as simple as iterators can be: basically it's just -// the index into our table. Dereference, the only complicated -// thing, we punt to the table class. This just goes to show how -// much machinery STL requires to do even the most trivial tasks. -// -// A NOTE ON ASSIGNING: -// A sparse table does not actually allocate memory for entries -// that are not filled. Because of this, it becomes complicated -// to have a non-const iterator: we don't know, if the iterator points -// to a not-filled bucket, whether you plan to fill it with something -// or whether you plan to read its value (in which case you'll get -// the default bucket value). Therefore, while we can define const -// operations in a pretty 'normal' way, for non-const operations, we -// define something that returns a helper object with operator= and -// operator& that allocate a bucket lazily. We use this for table[] -// and also for regular table iterators. - -// --------------------------------------------------------------------------- -// --------------------------------------------------------------------------- -// Our iterator as simple as iterators can be: basically it's just -// the index into our table. Dereference, the only complicated -// thing, we punt to the table class. This just goes to show how -// much machinery STL requires to do even the most trivial tasks. -// -// By templatizing over tabletype, we have one iterator type which -// we can use for both sparsetables and sparsebins. In fact it -// works on any class that allows size() and operator[] (eg vector), -// as long as it does the standard STL typedefs too (eg value_type). - -// --------------------------------------------------------------------------- -// --------------------------------------------------------------------------- -template -class table_iterator -{ -public: - typedef table_iterator iterator; - - typedef std::random_access_iterator_tag iterator_category; - typedef typename tabletype::value_type value_type; - typedef typename tabletype::difference_type difference_type; - typedef typename tabletype::size_type size_type; - - explicit table_iterator(tabletype *tbl = 0, size_type p = 0) : - table(tbl), pos(p) - { } - - // Helper function to assert things are ok; eg pos is still in range - void check() const - { - assert(table); - assert(pos <= table->size()); - } - - // Arithmetic: we just do arithmetic on pos. We don't even need to - // do bounds checking, since STL doesn't consider that its job. :-) - iterator& operator+=(size_type t) { pos += t; check(); return *this; } - iterator& operator-=(size_type t) { pos -= t; check(); return *this; } - iterator& operator++() { ++pos; check(); return *this; } - iterator& operator--() { --pos; check(); return *this; } - iterator operator++(int) - { - iterator tmp(*this); // for x++ - ++pos; check(); return tmp; - } - - iterator operator--(int) - { - iterator tmp(*this); // for x-- - --pos; check(); return tmp; - } - - iterator operator+(difference_type i) const - { - iterator tmp(*this); - tmp += i; return tmp; - } - - iterator operator-(difference_type i) const - { - iterator tmp(*this); - tmp -= i; return tmp; - } - - difference_type operator-(iterator it) const - { - // for "x = it2 - it" - assert(table == it.table); - return pos - it.pos; - } - - // Comparisons. - bool operator==(const iterator& it) const - { - return table == it.table && pos == it.pos; - } - - bool operator<(const iterator& it) const - { - assert(table == it.table); // life is bad bad bad otherwise - return pos < it.pos; - } - - bool operator!=(const iterator& it) const { return !(*this == it); } - bool operator<=(const iterator& it) const { return !(it < *this); } - bool operator>(const iterator& it) const { return it < *this; } - bool operator>=(const iterator& it) const { return !(*this < it); } - - // Here's the info we actually need to be an iterator - tabletype *table; // so we can dereference and bounds-check - size_type pos; // index into the table -}; - -// --------------------------------------------------------------------------- -// --------------------------------------------------------------------------- -template -class const_table_iterator -{ -public: - typedef table_iterator iterator; - typedef const_table_iterator const_iterator; - - typedef std::random_access_iterator_tag iterator_category; - typedef typename tabletype::value_type value_type; - typedef typename tabletype::difference_type difference_type; - typedef typename tabletype::size_type size_type; - typedef typename tabletype::const_reference reference; // we're const-only - typedef typename tabletype::const_pointer pointer; - - // The "real" constructor - const_table_iterator(const tabletype *tbl, size_type p) - : table(tbl), pos(p) { } - - // The default constructor, used when I define vars of type table::iterator - const_table_iterator() : table(NULL), pos(0) { } - - // The copy constructor, for when I say table::iterator foo = tbl.begin() - // Also converts normal iterators to const iterators // not explicit on purpose - const_table_iterator(const iterator &from) - : table(from.table), pos(from.pos) { } - - // The default destructor is fine; we don't define one - // The default operator= is fine; we don't define one - - // The main thing our iterator does is dereference. If the table entry - // we point to is empty, we return the default value type. - reference operator*() const { return (*table)[pos]; } - pointer operator->() const { return &(operator*()); } - - // Helper function to assert things are ok; eg pos is still in range - void check() const - { - assert(table); - assert(pos <= table->size()); - } - - // Arithmetic: we just do arithmetic on pos. We don't even need to - // do bounds checking, since STL doesn't consider that its job. :-) - const_iterator& operator+=(size_type t) { pos += t; check(); return *this; } - const_iterator& operator-=(size_type t) { pos -= t; check(); return *this; } - const_iterator& operator++() { ++pos; check(); return *this; } - const_iterator& operator--() { --pos; check(); return *this; } - const_iterator operator++(int) - { - const_iterator tmp(*this); // for x++ - ++pos; check(); - return tmp; - } - const_iterator operator--(int) - { - const_iterator tmp(*this); // for x-- - --pos; check(); - return tmp; - } - const_iterator operator+(difference_type i) const - { - const_iterator tmp(*this); - tmp += i; - return tmp; - } - const_iterator operator-(difference_type i) const - { - const_iterator tmp(*this); - tmp -= i; - return tmp; - } - difference_type operator-(const_iterator it) const - { - // for "x = it2 - it" - assert(table == it.table); - return pos - it.pos; - } - reference operator[](difference_type n) const - { - return *(*this + n); // simple though not totally efficient - } - - // Comparisons. - bool operator==(const const_iterator& it) const - { - return table == it.table && pos == it.pos; - } - - bool operator<(const const_iterator& it) const - { - assert(table == it.table); // life is bad bad bad otherwise - return pos < it.pos; - } - bool operator!=(const const_iterator& it) const { return !(*this == it); } - bool operator<=(const const_iterator& it) const { return !(it < *this); } - bool operator>(const const_iterator& it) const { return it < *this; } - bool operator>=(const const_iterator& it) const { return !(*this < it); } - - // Here's the info we actually need to be an iterator - const tabletype *table; // so we can dereference and bounds-check - size_type pos; // index into the table -}; - -// --------------------------------------------------------------------------- -// This is a 2-D iterator. You specify a begin and end over a list -// of *containers*. We iterate over each container by iterating over -// it. It's actually simple: -// VECTOR.begin() VECTOR[0].begin() --------> VECTOR[0].end() ---, -// | ________________________________________________/ -// | \_> VECTOR[1].begin() --------> VECTOR[1].end() -, -// | ___________________________________________________/ -// v \_> ...... -// VECTOR.end() -// -// It's impossible to do random access on one of these things in constant -// time, so it's just a bidirectional iterator. -// -// Unfortunately, because we need to use this for a non-empty iterator, -// we use ne_begin() and ne_end() instead of begin() and end() -// (though only going across, not down). -// --------------------------------------------------------------------------- - -// --------------------------------------------------------------------------- -// --------------------------------------------------------------------------- -template -class Two_d_iterator : public std::iterator -{ -public: - typedef Two_d_iterator iterator; - typedef T value_type; - - explicit Two_d_iterator(row_it curr) : row_current(curr), col_current(0) - { - if (row_current && !row_current->is_marked()) - { - col_current = row_current->ne_begin(); - advance_past_end(); // in case cur->begin() == cur->end() - } - } - - explicit Two_d_iterator(row_it curr, col_it col) : row_current(curr), col_current(col) - { - assert(col); - } - - // The default constructor - Two_d_iterator() : row_current(0), col_current(0) { } - - // Need this explicitly so we can convert normal iterators <=> const iterators - // not explicit on purpose - // --------------------------------------------------------------------------- - template - Two_d_iterator(const Two_d_iterator& it) : - row_current (*(row_it *)&it.row_current), - col_current (*(col_it *)&it.col_current) - { } - - // The default destructor is fine; we don't define one - // The default operator= is fine; we don't define one - - value_type& operator*() const { return *(col_current); } - value_type* operator->() const { return &(operator*()); } - - // Arithmetic: we just do arithmetic on pos. We don't even need to - // do bounds checking, since STL doesn't consider that its job. :-) - // NOTE: this is not amortized constant time! What do we do about it? - // ------------------------------------------------------------------ - void advance_past_end() - { - // used when col_current points to end() - while (col_current == row_current->ne_end()) - { - // end of current row - // ------------------ - ++row_current; // go to beginning of next - if (!row_current->is_marked()) // col is irrelevant at end - col_current = row_current->ne_begin(); - else - break; // don't go past row_end - } - } - - friend size_t operator-(iterator l, iterator f) - { - if (f.row_current->is_marked()) - return 0; - - size_t diff(0); - while (f != l) - { - ++diff; - ++f; - } - return diff; - } - - iterator& operator++() - { - // assert(!row_current->is_marked()); // how to ++ from there? - ++col_current; - advance_past_end(); // in case col_current is at end() - return *this; - } - - iterator& operator--() - { - while (row_current->is_marked() || - col_current == row_current->ne_begin()) - { - --row_current; - col_current = row_current->ne_end(); // this is 1 too far - } - --col_current; - return *this; - } - iterator operator++(int) { iterator tmp(*this); ++*this; return tmp; } - iterator operator--(int) { iterator tmp(*this); --*this; return tmp; } - - - // Comparisons. - bool operator==(const iterator& it) const - { - return (row_current == it.row_current && - (!row_current || row_current->is_marked() || col_current == it.col_current)); - } - - bool operator!=(const iterator& it) const { return !(*this == it); } - - // Here's the info we actually need to be an iterator - // These need to be public so we convert from iterator to const_iterator - // --------------------------------------------------------------------- - row_it row_current; - col_it col_current; -}; - - -// --------------------------------------------------------------------------- -// --------------------------------------------------------------------------- -template -class Two_d_destructive_iterator : public Two_d_iterator -{ -public: - typedef Two_d_destructive_iterator iterator; - - Two_d_destructive_iterator(Alloc &alloc, row_it curr) : - _alloc(alloc) - { - this->row_current = curr; - this->col_current = 0; - if (this->row_current && !this->row_current->is_marked()) - { - this->col_current = this->row_current->ne_begin(); - advance_past_end(); // in case cur->begin() == cur->end() - } - } - - // Arithmetic: we just do arithmetic on pos. We don't even need to - // do bounds checking, since STL doesn't consider that its job. :-) - // NOTE: this is not amortized constant time! What do we do about it? - // ------------------------------------------------------------------ - void advance_past_end() - { - // used when col_current points to end() - while (this->col_current == this->row_current->ne_end()) - { - this->row_current->clear(_alloc, true); // This is what differs from non-destructive iterators above - - // end of current row - // ------------------ - ++this->row_current; // go to beginning of next - if (!this->row_current->is_marked()) // col is irrelevant at end - this->col_current = this->row_current->ne_begin(); - else - break; // don't go past row_end - } - } - - iterator& operator++() - { - // assert(!this->row_current->is_marked()); // how to ++ from there? - ++this->col_current; - advance_past_end(); // in case col_current is at end() - return *this; - } - -private: - Two_d_destructive_iterator& operator=(const Two_d_destructive_iterator &o); - - Alloc &_alloc; -}; - - -// --------------------------------------------------------------------------- -// --------------------------------------------------------------------------- -#if defined(SPP_POPCNT_CHECK) -static inline bool spp_popcount_check() -{ - int cpuInfo[4] = { -1 }; - spp_cpuid(cpuInfo, 1); - if (cpuInfo[2] & (1 << 23)) - return true; // means SPP_POPCNT supported - return false; -} -#endif - -#if defined(SPP_POPCNT_CHECK) && defined(SPP_POPCNT) - -static inline uint32_t spp_popcount(uint32_t i) -{ - static const bool s_ok = spp_popcount_check(); - return s_ok ? SPP_POPCNT(i) : s_spp_popcount_default(i); -} - -#else - -static inline uint32_t spp_popcount(uint32_t i) -{ -#if defined(SPP_POPCNT) - return static_cast(SPP_POPCNT(i)); -#else - return s_spp_popcount_default(i); -#endif -} - -#endif - -#if defined(SPP_POPCNT_CHECK) && defined(SPP_POPCNT64) - -static inline uint32_t spp_popcount(uint64_t i) -{ - static const bool s_ok = spp_popcount_check(); - return s_ok ? (uint32_t)SPP_POPCNT64(i) : s_spp_popcount_default(i); -} - -#else - -static inline uint32_t spp_popcount(uint64_t i) -{ -#if defined(SPP_POPCNT64) - return static_cast(SPP_POPCNT64(i)); -#elif 1 - return s_spp_popcount_default(i); -#endif -} - -#endif - -// --------------------------------------------------------------------------- -// SPARSE-TABLE -// ------------ -// The idea is that a table with (logically) t buckets is divided -// into t/M *groups* of M buckets each. (M is a constant, typically -// 32) Each group is stored sparsely. -// Thus, inserting into the table causes some array to grow, which is -// slow but still constant time. Lookup involves doing a -// logical-position-to-sparse-position lookup, which is also slow but -// constant time. The larger M is, the slower these operations are -// but the less overhead (slightly). -// -// To store the sparse array, we store a bitmap B, where B[i] = 1 iff -// bucket i is non-empty. Then to look up bucket i we really look up -// array[# of 1s before i in B]. This is constant time for fixed M. -// -// Terminology: the position of an item in the overall table (from -// 1 .. t) is called its "location." The logical position in a group -// (from 1 .. M) is called its "position." The actual location in -// the array (from 1 .. # of non-empty buckets in the group) is -// called its "offset." -// --------------------------------------------------------------------------- - -template -class sparsegroup -{ -public: - // Basic types - typedef T value_type; - typedef Alloc allocator_type; - typedef value_type& reference; - typedef const value_type& const_reference; - typedef value_type* pointer; - typedef const value_type* const_pointer; - - typedef uint8_t size_type; // max # of buckets - - // These are our special iterators, that go over non-empty buckets in a - // group. These aren't const-only because you can change non-empty bcks. - // --------------------------------------------------------------------- - typedef pointer ne_iterator; - typedef const_pointer const_ne_iterator; - typedef std::reverse_iterator reverse_ne_iterator; - typedef std::reverse_iterator const_reverse_ne_iterator; - - // We'll have versions for our special non-empty iterator too - // ---------------------------------------------------------- - ne_iterator ne_begin() { return reinterpret_cast(_group); } - const_ne_iterator ne_begin() const { return reinterpret_cast(_group); } - const_ne_iterator ne_cbegin() const { return reinterpret_cast(_group); } - ne_iterator ne_end() { return reinterpret_cast(_group + _num_items()); } - const_ne_iterator ne_end() const { return reinterpret_cast(_group + _num_items()); } - const_ne_iterator ne_cend() const { return reinterpret_cast(_group + _num_items()); } - reverse_ne_iterator ne_rbegin() { return reverse_ne_iterator(ne_end()); } - const_reverse_ne_iterator ne_rbegin() const { return const_reverse_ne_iterator(ne_cend()); } - const_reverse_ne_iterator ne_crbegin() const { return const_reverse_ne_iterator(ne_cend()); } - reverse_ne_iterator ne_rend() { return reverse_ne_iterator(ne_begin()); } - const_reverse_ne_iterator ne_rend() const { return const_reverse_ne_iterator(ne_cbegin()); } - const_reverse_ne_iterator ne_crend() const { return const_reverse_ne_iterator(ne_cbegin()); } - -private: - // T can be std::pair, but sometime we need to cast to a mutable type - // ------------------------------------------------------------------------------ - typedef typename spp_::cvt::type mutable_value_type; - typedef mutable_value_type & mutable_reference; - typedef mutable_value_type * mutable_pointer; - typedef const mutable_value_type * const_mutable_pointer; - - bool _bmtest(size_type i) const { return !!(_bitmap & (static_cast(1) << i)); } - void _bmset(size_type i) { _bitmap |= static_cast(1) << i; } - void _bmclear(size_type i) { _bitmap &= ~(static_cast(1) << i); } - - bool _bme_test(size_type i) const { return !!(_bm_erased & (static_cast(1) << i)); } - void _bme_set(size_type i) { _bm_erased |= static_cast(1) << i; } - void _bme_clear(size_type i) { _bm_erased &= ~(static_cast(1) << i); } - - bool _bmtest_strict(size_type i) const - { return !!((_bitmap | _bm_erased) & (static_cast(1) << i)); } - - - static uint32_t _sizing(uint32_t n) - { -#if !defined(SPP_ALLOC_SZ) || (SPP_ALLOC_SZ == 0) - // aggressive allocation first, then decreasing as sparsegroups fill up - // -------------------------------------------------------------------- - struct alloc_batch_size - { - // 32 bit bitmap - // ........ .... .... .. .. .. .. . . . . . . . . - // 8 12 16 18 20 22 24 25 26 ... 32 - // ------------------------------------------------------ - SPP_CXX14_CONSTEXPR alloc_batch_size() - : data() - { - uint8_t group_sz = SPP_GROUP_SIZE / 4; - uint8_t group_start_alloc = SPP_GROUP_SIZE / 8; //4; - uint8_t alloc_sz = group_start_alloc; - for (int i=0; i<4; ++i) - { - for (int j=0; j 2) - group_start_alloc /= 2; - alloc_sz += group_start_alloc; - } - } - uint8_t data[SPP_GROUP_SIZE]; - }; - - static alloc_batch_size s_alloc_batch_sz; - return n ? static_cast(s_alloc_batch_sz.data[n-1]) : 0; // more aggressive alloc at the beginning - -#elif (SPP_ALLOC_SZ == 1) - // use as little memory as possible - slowest insert/delete in table - // ----------------------------------------------------------------- - return n; -#else - // decent compromise when SPP_ALLOC_SZ == 2 - // ---------------------------------------- - static size_type sz_minus_1 = SPP_ALLOC_SZ - 1; - return (n + sz_minus_1) & ~sz_minus_1; -#endif - } - - pointer _allocate_group(allocator_type &alloc, uint32_t n /* , bool tight = false */) - { - // ignore tight since we don't store num_alloc - // num_alloc = (uint8_t)(tight ? n : _sizing(n)); - - uint32_t num_alloc = (uint8_t)_sizing(n); - _set_num_alloc(num_alloc); - pointer retval = alloc.allocate(static_cast(num_alloc)); - if (retval == NULL) - { - // the allocator is supposed to throw an exception if the allocation fails. - fprintf(stderr, "sparsehash FATAL ERROR: failed to allocate %d groups\n", num_alloc); - exit(1); - } - return retval; - } - - void _free_group(allocator_type &alloc, uint32_t num_alloc) - { - if (_group) - { - uint32_t num_buckets = _num_items(); - if (num_buckets) - { - mutable_pointer end_it = (mutable_pointer)(_group + num_buckets); - for (mutable_pointer p = (mutable_pointer)_group; p != end_it; ++p) - p->~mutable_value_type(); - } - alloc.deallocate(_group, (typename allocator_type::size_type)num_alloc); - _group = NULL; - } - } - - // private because should not be called - no allocator! - sparsegroup &operator=(const sparsegroup& x); - - static size_type _pos_to_offset(group_bm_type bm, size_type pos) - { - //return (size_type)((uint32_t)~((int32_t(-1) + pos) >> 31) & spp_popcount(bm << (SPP_GROUP_SIZE - pos))); - //return (size_type)(pos ? spp_popcount(bm << (SPP_GROUP_SIZE - pos)) : 0); - return static_cast(spp_popcount(bm & ((static_cast(1) << pos) - 1))); - } - -public: - - // get_iter() in sparsetable needs it - size_type pos_to_offset(size_type pos) const - { - return _pos_to_offset(_bitmap, pos); - } - -#ifdef _MSC_VER -#pragma warning(push) -#pragma warning(disable : 4146) -#endif - - // Returns the (logical) position in the bm[] array, i, such that - // bm[i] is the offset-th set bit in the array. It is the inverse - // of pos_to_offset. get_pos() uses this function to find the index - // of an ne_iterator in the table. Bit-twiddling from - // http://hackersdelight.org/basics.pdf - // ----------------------------------------------------------------- - static size_type offset_to_pos(group_bm_type bm, size_type offset) - { - for (; offset > 0; offset--) - bm &= (bm-1); // remove right-most set bit - - // Clear all bits to the left of the rightmost bit (the &), - // and then clear the rightmost bit but set all bits to the - // right of it (the -1). - // -------------------------------------------------------- - bm = (bm & -bm) - 1; - return static_cast(spp_popcount(bm)); - } - -#ifdef _MSC_VER -#pragma warning(pop) -#endif - - size_type offset_to_pos(size_type offset) const - { - return offset_to_pos(_bitmap, offset); - } - -public: - // Constructors -- default and copy -- and destructor - explicit sparsegroup() : - _group(0), _bitmap(0), _bm_erased(0) - { - _set_num_items(0); - _set_num_alloc(0); - } - - sparsegroup(const sparsegroup& x) : - _group(0), _bitmap(x._bitmap), _bm_erased(x._bm_erased) - { - _set_num_items(0); - _set_num_alloc(0); - assert(_group == 0); if (_group) exit(1); - } - - sparsegroup(const sparsegroup& x, allocator_type& a) : - _group(0), _bitmap(x._bitmap), _bm_erased(x._bm_erased) - { - _set_num_items(0); - _set_num_alloc(0); - - uint32_t num_items = x._num_items(); - if (num_items) - { - _group = _allocate_group(a, num_items /* , true */); - _set_num_items(num_items); - std::uninitialized_copy(x._group, x._group + num_items, _group); - } - } - - ~sparsegroup() { assert(_group == 0); if (_group) exit(1); } - - void destruct(allocator_type& a) { _free_group(a, _num_alloc()); } - - // Many STL algorithms use swap instead of copy constructors - void swap(sparsegroup& x) - { - using std::swap; - - swap(_group, x._group); - swap(_bitmap, x._bitmap); - swap(_bm_erased, x._bm_erased); -#ifdef SPP_STORE_NUM_ITEMS - swap(_num_buckets, x._num_buckets); - swap(_num_allocated, x._num_allocated); -#endif - } - - // It's always nice to be able to clear a table without deallocating it - void clear(allocator_type &alloc, bool erased) - { - _free_group(alloc, _num_alloc()); - _bitmap = 0; - if (erased) - _bm_erased = 0; - _set_num_items(0); - _set_num_alloc(0); - } - - // Functions that tell you about size. Alas, these aren't so useful - // because our table is always fixed size. - size_type size() const { return static_cast(SPP_GROUP_SIZE); } - size_type max_size() const { return static_cast(SPP_GROUP_SIZE); } - - bool empty() const { return false; } - - // We also may want to know how many *used* buckets there are - size_type num_nonempty() const { return (size_type)_num_items(); } - - // TODO(csilvers): make protected + friend - // This is used by sparse_hashtable to get an element from the table - // when we know it exists. - reference unsafe_get(size_type i) const - { - // assert(_bmtest(i)); - return (reference)_group[pos_to_offset(i)]; - } - - typedef std::pair SetResult; - -private: - //typedef spp_::integral_constant::value> check_relocatable; - typedef spp_::true_type realloc_ok_type; - typedef spp_::false_type realloc_not_ok_type; - - //typedef spp_::zero_type libc_reloc_type; - //typedef spp_::one_type spp_reloc_type; - //typedef spp_::two_type spp_not_reloc_type; - //typedef spp_::three_type generic_alloc_type; - -#if 1 - typedef typename if_<((spp_::is_same >::value || - spp_::is_same >::value) && - spp_::is_relocatable::value), realloc_ok_type, realloc_not_ok_type>::type - check_alloc_type; -#else - typedef typename if_ >::value, - typename if_::value, spp_reloc_type, spp_not_reloc_type>::type, - typename if_<(spp_::is_same >::value && - spp_::is_relocatable::value), libc_reloc_type, generic_alloc_type>::type >::type - check_alloc_type; -#endif - - - //typedef if_ >::value, - // libc_alloc_type, - // if_ >::value, - // spp_alloc_type, user_alloc_type> > check_alloc_type; - - //typedef spp_::integral_constant::value && - // (spp_::is_same >::value || - // spp_::is_same >::value)) > - // realloc_and_memmove_ok; - - // ------------------------- memory at *p is uninitialized => need to construct - void _init_val(mutable_value_type *p, reference val) - { -#if !defined(SPP_NO_CXX11_RVALUE_REFERENCES) - ::new (p) value_type(std::move((mutable_reference)val)); -#else - ::new (p) value_type((mutable_reference)val); -#endif - } - - // ------------------------- memory at *p is uninitialized => need to construct - void _init_val(mutable_value_type *p, const_reference val) - { - ::new (p) value_type(val); - } - - // ------------------------------------------------ memory at *p is initialized - void _set_val(value_type *p, reference val) - { -#if !defined(SPP_NO_CXX11_RVALUE_REFERENCES) - *(mutable_pointer)p = std::move((mutable_reference)val); -#else - using std::swap; - swap(*(mutable_pointer)p, *(mutable_pointer)&val); -#endif - } - - // ------------------------------------------------ memory at *p is initialized - void _set_val(value_type *p, const_reference val) - { - *(mutable_pointer)p = *(const_mutable_pointer)&val; - } - - // Create space at _group[offset], assuming value_type is relocatable, and the - // allocator_type is the spp allocator. - // return true if the slot was constructed (i.e. contains a valid value_type - // --------------------------------------------------------------------------------- - template - void _set_aux(allocator_type &alloc, size_type offset, Val &val, realloc_ok_type) - { - //static int x=0; if (++x < 10) printf("x\n"); // check we are getting here - - uint32_t num_items = _num_items(); - uint32_t num_alloc = _sizing(num_items); - - if (num_items == num_alloc) - { - num_alloc = _sizing(num_items + 1); - _group = alloc.reallocate(_group, num_alloc); - _set_num_alloc(num_alloc); - } - - for (uint32_t i = num_items; i > offset; --i) - memcpy(static_cast(_group + i), _group + i-1, sizeof(*_group)); - - _init_val((mutable_pointer)(_group + offset), val); - } - - // Create space at _group[offset], assuming value_type is *not* relocatable, and the - // allocator_type is the spp allocator. - // return true if the slot was constructed (i.e. contains a valid value_type - // --------------------------------------------------------------------------------- - template - void _set_aux(allocator_type &alloc, size_type offset, Val &val, realloc_not_ok_type) - { - uint32_t num_items = _num_items(); - uint32_t num_alloc = _sizing(num_items); - - //assert(num_alloc == (uint32_t)_num_allocated); - if (num_items < num_alloc) - { - // create new object at end and rotate it to position - _init_val((mutable_pointer)&_group[num_items], val); - std::rotate((mutable_pointer)(_group + offset), - (mutable_pointer)(_group + num_items), - (mutable_pointer)(_group + num_items + 1)); - return; - } - - // This is valid because 0 <= offset <= num_items - pointer p = _allocate_group(alloc, _sizing(num_items + 1)); - if (offset) - std::uninitialized_copy(MK_MOVE_IT((mutable_pointer)_group), - MK_MOVE_IT((mutable_pointer)(_group + offset)), - (mutable_pointer)p); - if (num_items > offset) - std::uninitialized_copy(MK_MOVE_IT((mutable_pointer)(_group + offset)), - MK_MOVE_IT((mutable_pointer)(_group + num_items)), - (mutable_pointer)(p + offset + 1)); - _init_val((mutable_pointer)(p + offset), val); - _free_group(alloc, num_alloc); - _group = p; - } - - // ---------------------------------------------------------------------------------- - template - void _set(allocator_type &alloc, size_type i, size_type offset, Val &val) - { - if (!_bmtest(i)) - { - _set_aux(alloc, offset, val, check_alloc_type()); - _incr_num_items(); - _bmset(i); - } - else - _set_val(&_group[offset], val); - } - -public: - - // This returns the pointer to the inserted item - // --------------------------------------------- - template - pointer set(allocator_type &alloc, size_type i, Val &val) - { - _bme_clear(i); // in case this was an "erased" location - - size_type offset = pos_to_offset(i); - _set(alloc, i, offset, val); // may change _group pointer - return (pointer)(_group + offset); - } - - // We let you see if a bucket is non-empty without retrieving it - // ------------------------------------------------------------- - bool test(size_type i) const - { - return _bmtest(i); - } - - // also tests for erased values - // ---------------------------- - bool test_strict(size_type i) const - { - return _bmtest_strict(i); - } - -private: - // Shrink the array, assuming value_type is relocatable, and the - // allocator_type is the libc allocator (supporting reallocate). - // ------------------------------------------------------------- - void _group_erase_aux(allocator_type &alloc, size_type offset, realloc_ok_type) - { - // static int x=0; if (++x < 10) printf("Y\n"); // check we are getting here - uint32_t num_items = _num_items(); - uint32_t num_alloc = _sizing(num_items); - - if (num_items == 1) - { - assert(offset == 0); - _free_group(alloc, num_alloc); - _set_num_alloc(0); - return; - } - - _group[offset].~value_type(); - - for (size_type i = offset; i < num_items - 1; ++i) - memcpy(static_cast(_group + i), _group + i + 1, sizeof(*_group)); - - if (_sizing(num_items - 1) != num_alloc) - { - num_alloc = _sizing(num_items - 1); - assert(num_alloc); // because we have at least 1 item left - _set_num_alloc(num_alloc); - _group = alloc.reallocate(_group, num_alloc); - } - } - - // Shrink the array, without any special assumptions about value_type and - // allocator_type. - // -------------------------------------------------------------------------- - void _group_erase_aux(allocator_type &alloc, size_type offset, realloc_not_ok_type) - { - uint32_t num_items = _num_items(); - uint32_t num_alloc = _sizing(num_items); - - if (_sizing(num_items - 1) != num_alloc) - { - pointer p = 0; - if (num_items > 1) - { - p = _allocate_group(alloc, num_items - 1); - if (offset) - std::uninitialized_copy(MK_MOVE_IT((mutable_pointer)(_group)), - MK_MOVE_IT((mutable_pointer)(_group + offset)), - (mutable_pointer)(p)); - if (static_cast(offset + 1) < num_items) - std::uninitialized_copy(MK_MOVE_IT((mutable_pointer)(_group + offset + 1)), - MK_MOVE_IT((mutable_pointer)(_group + num_items)), - (mutable_pointer)(p + offset)); - } - else - { - assert(offset == 0); - _set_num_alloc(0); - } - _free_group(alloc, num_alloc); - _group = p; - } - else - { - std::rotate((mutable_pointer)(_group + offset), - (mutable_pointer)(_group + offset + 1), - (mutable_pointer)(_group + num_items)); - ((mutable_pointer)(_group + num_items - 1))->~mutable_value_type(); - } - } - - void _group_erase(allocator_type &alloc, size_type offset) - { - _group_erase_aux(alloc, offset, check_alloc_type()); - } - -public: - template - bool erase_ne(allocator_type &alloc, twod_iter &it) - { - assert(_group && it.col_current != ne_end()); - size_type offset = (size_type)(it.col_current - ne_begin()); - size_type pos = offset_to_pos(offset); - - if (_num_items() <= 1) - { - clear(alloc, false); - it.col_current = 0; - } - else - { - _group_erase(alloc, offset); - _decr_num_items(); - _bmclear(pos); - - // in case _group_erase reallocated the buffer - it.col_current = reinterpret_cast(_group) + offset; - } - _bme_set(pos); // remember that this position has been erased - it.advance_past_end(); - return true; - } - - - // This takes the specified elements out of the group. This is - // "undefining", rather than "clearing". - // TODO(austern): Make this exception safe: handle exceptions from - // value_type's copy constructor. - // --------------------------------------------------------------- - void erase(allocator_type &alloc, size_type i) - { - if (_bmtest(i)) - { - // trivial to erase empty bucket - if (_num_items() == 1) - clear(alloc, false); - else - { - _group_erase(alloc, pos_to_offset(i)); - _decr_num_items(); - _bmclear(i); - } - _bme_set(i); // remember that this position has been erased - } - } - - // I/O - // We support reading and writing groups to disk. We don't store - // the actual array contents (which we don't know how to store), - // just the bitmap and size. Meant to be used with table I/O. - // -------------------------------------------------------------- - template bool write_metadata(OUTPUT *fp) const - { - // warning: we write 4 or 8 bytes for the bitmap, instead of 6 in the - // original google sparsehash - // ------------------------------------------------------------------ - if (!sparsehash_internal::write_data(fp, &_bitmap, sizeof(_bitmap))) - return false; - - return true; - } - - // Reading destroys the old group contents! Returns true if all was ok. - template bool read_metadata(allocator_type &alloc, INPUT *fp) - { - clear(alloc, true); - - if (!sparsehash_internal::read_data(fp, &_bitmap, sizeof(_bitmap))) - return false; - - // We'll allocate the space, but we won't fill it: it will be - // left as uninitialized raw memory. - uint32_t num_items = spp_popcount(_bitmap); // yes, _num_buckets not set - _set_num_items(num_items); - _group = num_items ? _allocate_group(alloc, num_items/* , true */) : 0; - return true; - } - - // Again, only meaningful if value_type is a POD. - template bool read_nopointer_data(INPUT *fp) - { - for (ne_iterator it = ne_begin(); it != ne_end(); ++it) - if (!sparsehash_internal::read_data(fp, &(*it), sizeof(*it))) - return false; - return true; - } - - // If your keys and values are simple enough, we can write them - // to disk for you. "simple enough" means POD and no pointers. - // However, we don't try to normalize endianness. - // ------------------------------------------------------------ - template bool write_nopointer_data(OUTPUT *fp) const - { - for (const_ne_iterator it = ne_begin(); it != ne_end(); ++it) - if (!sparsehash_internal::write_data(fp, &(*it), sizeof(*it))) - return false; - return true; - } - - - // Comparisons. We only need to define == and < -- we get - // != > <= >= via relops.h (which we happily included above). - // Note the comparisons are pretty arbitrary: we compare - // values of the first index that isn't equal (using default - // value for empty buckets). - // --------------------------------------------------------- - bool operator==(const sparsegroup& x) const - { - return (_bitmap == x._bitmap && - _bm_erased == x._bm_erased && - std::equal(_group, _group + _num_items(), x._group)); - } - - bool operator<(const sparsegroup& x) const - { - // also from - return std::lexicographical_compare(_group, _group + _num_items(), - x._group, x._group + x._num_items()); - } - - bool operator!=(const sparsegroup& x) const { return !(*this == x); } - bool operator<=(const sparsegroup& x) const { return !(x < *this); } - bool operator> (const sparsegroup& x) const { return x < *this; } - bool operator>=(const sparsegroup& x) const { return !(*this < x); } - - void mark() { _group = (value_type *)static_cast(-1); } - bool is_marked() const { return _group == (value_type *)static_cast(-1); } - -private: - // --------------------------------------------------------------------------- - template - class alloc_impl : public A - { - public: - typedef typename A::pointer pointer; - typedef typename A::size_type size_type; - - // Convert a normal allocator to one that has realloc_or_die() - explicit alloc_impl(const A& a) : A(a) { } - - // realloc_or_die should only be used when using the default - // allocator (spp::spp_allocator). - pointer realloc_or_die(pointer /*ptr*/, size_type /*n*/) - { - fprintf(stderr, "realloc_or_die is only supported for " - "spp::spp_allocator\n"); - exit(1); - return NULL; - } - }; - - // A template specialization of alloc_impl for - // spp::libc_allocator that can handle realloc_or_die. - // ----------------------------------------------------------- - template - class alloc_impl > : public spp_::libc_allocator - { - public: - typedef typename spp_::libc_allocator::pointer pointer; - typedef typename spp_::libc_allocator::size_type size_type; - - explicit alloc_impl(const spp_::libc_allocator& a) - : spp_::libc_allocator(a) - { } - - pointer realloc_or_die(pointer ptr, size_type n) - { - pointer retval = this->reallocate(ptr, n); - if (retval == NULL) - { - fprintf(stderr, "sparsehash: FATAL ERROR: failed to reallocate " - "%lu elements for ptr %p", static_cast(n), ptr); - exit(1); - } - return retval; - } - }; - - // A template specialization of alloc_impl for - // spp::spp_allocator that can handle realloc_or_die. - // ----------------------------------------------------------- - template - class alloc_impl > : public spp_::spp_allocator - { - public: - typedef typename spp_::spp_allocator::pointer pointer; - typedef typename spp_::spp_allocator::size_type size_type; - - explicit alloc_impl(const spp_::spp_allocator& a) - : spp_::spp_allocator(a) - { } - - pointer realloc_or_die(pointer ptr, size_type n) - { - pointer retval = this->reallocate(ptr, n); - if (retval == NULL) - { - fprintf(stderr, "sparsehash: FATAL ERROR: failed to reallocate " - "%lu elements for ptr %p", static_cast(n), ptr); - exit(1); - } - return retval; - } - }; - - -#ifdef SPP_STORE_NUM_ITEMS - uint32_t _num_items() const { return (uint32_t)_num_buckets; } - void _set_num_items(uint32_t val) { _num_buckets = static_cast(val); } - void _incr_num_items() { ++_num_buckets; } - void _decr_num_items() { --_num_buckets; } - uint32_t _num_alloc() const { return (uint32_t)_num_allocated; } - void _set_num_alloc(uint32_t val) { _num_allocated = static_cast(val); } -#else - uint32_t _num_items() const { return spp_popcount(_bitmap); } - void _set_num_items(uint32_t ) { } - void _incr_num_items() { } - void _decr_num_items() { } - uint32_t _num_alloc() const { return _sizing(_num_items()); } - void _set_num_alloc(uint32_t val) { } -#endif - - // The actual data - // --------------- - value_type * _group; // (small) array of T's - group_bm_type _bitmap; - group_bm_type _bm_erased; // ones where items have been erased - -#ifdef SPP_STORE_NUM_ITEMS - size_type _num_buckets; - size_type _num_allocated; -#endif -}; - -// --------------------------------------------------------------------------- -// --------------------------------------------------------------------------- -template -class sparsetable -{ -public: - typedef T value_type; - typedef Alloc allocator_type; - typedef sparsegroup group_type; - -private: - typedef typename Alloc::template rebind::other group_alloc_type; - typedef typename group_alloc_type::size_type group_size_type; - -public: - // Basic types - // ----------- - typedef typename allocator_type::size_type size_type; - typedef typename allocator_type::difference_type difference_type; - typedef value_type& reference; - typedef const value_type& const_reference; - typedef value_type* pointer; - typedef const value_type* const_pointer; - - typedef group_type& GroupsReference; - typedef const group_type& GroupsConstReference; - - typedef typename group_type::ne_iterator ColIterator; - typedef typename group_type::const_ne_iterator ColConstIterator; - - typedef table_iterator > iterator; // defined with index - typedef const_table_iterator > const_iterator; // defined with index - typedef std::reverse_iterator const_reverse_iterator; - typedef std::reverse_iterator reverse_iterator; - - // These are our special iterators, that go over non-empty buckets in a - // table. These aren't const only because you can change non-empty bcks. - // ---------------------------------------------------------------------- - typedef Two_d_iterator ne_iterator; - - typedef Two_d_iterator const_ne_iterator; - - // Another special iterator: it frees memory as it iterates (used to resize). - // Obviously, you can only iterate over it once, which is why it's an input iterator - // --------------------------------------------------------------------------------- - typedef Two_d_destructive_iterator destructive_iterator; - - typedef std::reverse_iterator reverse_ne_iterator; - typedef std::reverse_iterator const_reverse_ne_iterator; - - - // Iterator functions - // ------------------ - iterator begin() { return iterator(this, 0); } - const_iterator begin() const { return const_iterator(this, 0); } - const_iterator cbegin() const { return const_iterator(this, 0); } - iterator end() { return iterator(this, size()); } - const_iterator end() const { return const_iterator(this, size()); } - const_iterator cend() const { return const_iterator(this, size()); } - reverse_iterator rbegin() { return reverse_iterator(end()); } - const_reverse_iterator rbegin() const { return const_reverse_iterator(cend()); } - const_reverse_iterator crbegin() const { return const_reverse_iterator(cend()); } - reverse_iterator rend() { return reverse_iterator(begin()); } - const_reverse_iterator rend() const { return const_reverse_iterator(cbegin()); } - const_reverse_iterator crend() const { return const_reverse_iterator(cbegin()); } - - // Versions for our special non-empty iterator - // ------------------------------------------ - ne_iterator ne_begin() { return ne_iterator (_first_group); } - const_ne_iterator ne_begin() const { return const_ne_iterator(_first_group); } - const_ne_iterator ne_cbegin() const { return const_ne_iterator(_first_group); } - ne_iterator ne_end() { return ne_iterator (_last_group); } - const_ne_iterator ne_end() const { return const_ne_iterator(_last_group); } - const_ne_iterator ne_cend() const { return const_ne_iterator(_last_group); } - - reverse_ne_iterator ne_rbegin() { return reverse_ne_iterator(ne_end()); } - const_reverse_ne_iterator ne_rbegin() const { return const_reverse_ne_iterator(ne_end()); } - const_reverse_ne_iterator ne_crbegin() const { return const_reverse_ne_iterator(ne_end()); } - reverse_ne_iterator ne_rend() { return reverse_ne_iterator(ne_begin()); } - const_reverse_ne_iterator ne_rend() const { return const_reverse_ne_iterator(ne_begin()); } - const_reverse_ne_iterator ne_crend() const { return const_reverse_ne_iterator(ne_begin()); } - - destructive_iterator destructive_begin() - { - return destructive_iterator(_alloc, _first_group); - } - - destructive_iterator destructive_end() - { - return destructive_iterator(_alloc, _last_group); - } - - // How to deal with the proper group - static group_size_type num_groups(size_type num) - { - // how many to hold num buckets - return num == 0 ? (group_size_type)0 : - (group_size_type)(((num-1) / SPP_GROUP_SIZE) + 1); - } - - typename group_type::size_type pos_in_group(size_type i) const - { - return static_cast(i & SPP_MASK_); - } - - size_type group_num(size_type i) const - { - return (size_type)(i >> SPP_SHIFT_); - } - - GroupsReference which_group(size_type i) - { - return _first_group[group_num(i)]; - } - - GroupsConstReference which_group(size_type i) const - { - return _first_group[group_num(i)]; - } - - void _alloc_group_array(group_size_type sz, group_type *&first, group_type *&last) - { - if (sz) - { - first = _group_alloc.allocate((size_type)(sz + 1)); // + 1 for end marker - first[sz].mark(); // for the ne_iterator - last = first + sz; - } - } - - void _free_group_array(group_type *&first, group_type *&last) - { - if (first) - { - _group_alloc.deallocate(first, (group_size_type)(last - first + 1)); // + 1 for end marker - first = last = 0; - } - } - - void _allocate_groups(size_type sz) - { - if (sz) - { - _alloc_group_array(sz, _first_group, _last_group); - std::uninitialized_fill(_first_group, _last_group, group_type()); - } - } - - void _free_groups() - { - if (_first_group) - { - for (group_type *g = _first_group; g != _last_group; ++g) - g->destruct(_alloc); - _free_group_array(_first_group, _last_group); - } - } - - void _cleanup() - { - _free_groups(); // sets _first_group = _last_group = 0 - _table_size = 0; - _num_buckets = 0; - } - - void _init() - { - _first_group = 0; - _last_group = 0; - _table_size = 0; - _num_buckets = 0; - } - - void _copy(const sparsetable &o) - { - _table_size = o._table_size; - _num_buckets = o._num_buckets; - _alloc = o._alloc; // todo - copy or move allocator according to... - _group_alloc = o._group_alloc; // http://en.cppreference.com/w/cpp/container/unordered_map/unordered_map - - group_size_type sz = (group_size_type)(o._last_group - o._first_group); - if (sz) - { - _alloc_group_array(sz, _first_group, _last_group); - for (group_size_type i=0; iswap(o); - } - - sparsetable(sparsetable&& o, const allocator_type &alloc) - { - _init(); - this->swap(o); - _alloc = alloc; // [gp todo] is this correct? - } - - sparsetable& operator=(sparsetable&& o) - { - _cleanup(); - this->swap(o); - return *this; - } -#endif - - // Many STL algorithms use swap instead of copy constructors - void swap(sparsetable& o) - { - using std::swap; - - swap(_first_group, o._first_group); - swap(_last_group, o._last_group); - swap(_table_size, o._table_size); - swap(_num_buckets, o._num_buckets); - if (_alloc != o._alloc) - swap(_alloc, o._alloc); - if (_group_alloc != o._group_alloc) - swap(_group_alloc, o._group_alloc); - } - - // It's always nice to be able to clear a table without deallocating it - void clear() - { - _free_groups(); - _num_buckets = 0; - _table_size = 0; - } - - inline allocator_type get_allocator() const - { - return _alloc; - } - - - // Functions that tell you about size. - // NOTE: empty() is non-intuitive! It does not tell you the number - // of not-empty buckets (use num_nonempty() for that). Instead - // it says whether you've allocated any buckets or not. - // ---------------------------------------------------------------- - size_type size() const { return _table_size; } - size_type max_size() const { return _alloc.max_size(); } - bool empty() const { return _table_size == 0; } - size_type num_nonempty() const { return _num_buckets; } - - // OK, we'll let you resize one of these puppies - void resize(size_type new_size) - { - group_size_type sz = num_groups(new_size); - group_size_type old_sz = (group_size_type)(_last_group - _first_group); - - if (sz != old_sz) - { - // resize group array - // ------------------ - group_type *first = 0, *last = 0; - if (sz) - { - _alloc_group_array(sz, first, last); - memcpy(static_cast(first), _first_group, sizeof(*first) * (std::min)(sz, old_sz)); - } - - if (sz < old_sz) - { - for (group_type *g = _first_group + sz; g != _last_group; ++g) - g->destruct(_alloc); - } - else - std::uninitialized_fill(first + old_sz, last, group_type()); - - _free_group_array(_first_group, _last_group); - _first_group = first; - _last_group = last; - } -#if 0 - // used only in test program - // todo: fix if sparsetable to be used directly - // -------------------------------------------- - if (new_size < _table_size) - { - // lower num_buckets, clear last group - if (pos_in_group(new_size) > 0) // need to clear inside last group - groups.back().erase(_alloc, groups.back().begin() + pos_in_group(new_size), - groups.back().end()); - _num_buckets = 0; // refigure # of used buckets - for (const group_type *group = _first_group; group != _last_group; ++group) - _num_buckets += group->num_nonempty(); - } -#endif - _table_size = new_size; - } - - // We let you see if a bucket is non-empty without retrieving it - // ------------------------------------------------------------- - bool test(size_type i) const - { - // assert(i < _table_size); - return which_group(i).test(pos_in_group(i)); - } - - // also tests for erased values - // ---------------------------- - bool test_strict(size_type i) const - { - // assert(i < _table_size); - return which_group(i).test_strict(pos_in_group(i)); - } - - friend struct GrpPos; - - struct GrpPos - { - typedef typename sparsetable::ne_iterator ne_iter; - GrpPos(const sparsetable &table, size_type i) : - grp(table.which_group(i)), pos(table.pos_in_group(i)) {} - - bool test_strict() const { return grp.test_strict(pos); } - bool test() const { return grp.test(pos); } - typename sparsetable::reference unsafe_get() const { return grp.unsafe_get(pos); } - ne_iter get_iter(typename sparsetable::reference ref) - { - return ne_iter((group_type *)&grp, &ref); - } - - void erase(sparsetable &table) // item *must* be present - { - assert(table._num_buckets); - ((group_type &)grp).erase(table._alloc, pos); - --table._num_buckets; - } - - private: - GrpPos* operator=(const GrpPos&); - - const group_type &grp; - typename group_type::size_type pos; - }; - - bool test(iterator pos) const - { - return which_group(pos.pos).test(pos_in_group(pos.pos)); - } - - bool test(const_iterator pos) const - { - return which_group(pos.pos).test(pos_in_group(pos.pos)); - } - - // TODO(csilvers): make protected + friend - // This is used by sparse_hashtable to get an element from the table - // when we know it exists (because the caller has called test(i)). - // ----------------------------------------------------------------- - reference unsafe_get(size_type i) const - { - assert(i < _table_size); - // assert(test(i)); - return which_group(i).unsafe_get(pos_in_group(i)); - } - - // Needed for hashtables, gets as a ne_iterator. Crashes for empty bcks - const_ne_iterator get_iter(size_type i) const - { - //assert(test(i)); // how can a ne_iterator point to an empty bucket? - - size_type grp_idx = group_num(i); - - return const_ne_iterator(_first_group + grp_idx, - (_first_group[grp_idx].ne_begin() + - _first_group[grp_idx].pos_to_offset(pos_in_group(i)))); - } - - const_ne_iterator get_iter(size_type i, ColIterator col_it) const - { - return const_ne_iterator(_first_group + group_num(i), col_it); - } - - // For nonempty we can return a non-const version - ne_iterator get_iter(size_type i) - { - //assert(test(i)); // how can a nonempty_iterator point to an empty bucket? - - size_type grp_idx = group_num(i); - - return ne_iterator(_first_group + grp_idx, - (_first_group[grp_idx].ne_begin() + - _first_group[grp_idx].pos_to_offset(pos_in_group(i)))); - } - - ne_iterator get_iter(size_type i, ColIterator col_it) - { - return ne_iterator(_first_group + group_num(i), col_it); - } - - // And the reverse transformation. - size_type get_pos(const const_ne_iterator& it) const - { - difference_type current_row = it.row_current - _first_group; - difference_type current_col = (it.col_current - _first_group[current_row].ne_begin()); - return ((current_row * SPP_GROUP_SIZE) + - _first_group[current_row].offset_to_pos(current_col)); - } - - // Val can be reference or const_reference - // --------------------------------------- - template - reference set(size_type i, Val &val) - { - assert(i < _table_size); - group_type &group = which_group(i); - typename group_type::size_type old_numbuckets = group.num_nonempty(); - pointer p(group.set(_alloc, pos_in_group(i), val)); - _num_buckets += group.num_nonempty() - old_numbuckets; - return *p; - } - - // used in _move_from (where we can move the old value instead of copying it - void move(size_type i, reference val) - { - assert(i < _table_size); - which_group(i).set(_alloc, pos_in_group(i), val); - ++_num_buckets; - } - - // This takes the specified elements out of the table. - // -------------------------------------------------- - void erase(size_type i) - { - assert(i < _table_size); - - GroupsReference grp(which_group(i)); - typename group_type::size_type old_numbuckets = grp.num_nonempty(); - grp.erase(_alloc, pos_in_group(i)); - _num_buckets += grp.num_nonempty() - old_numbuckets; - } - - void erase(iterator pos) - { - erase(pos.pos); - } - - void erase(iterator start_it, iterator end_it) - { - // This could be more efficient, but then we'd need to figure - // out if we spanned groups or not. Doesn't seem worth it. - for (; start_it != end_it; ++start_it) - erase(start_it); - } - - const_ne_iterator erase(const_ne_iterator it) - { - ne_iterator res(it); - if (res.row_current->erase_ne(_alloc, res)) - _num_buckets--; - return res; - } - - const_ne_iterator erase(const_ne_iterator f, const_ne_iterator l) - { - size_t diff = l - f; - while (diff--) - f = erase(f); - return f; - } - - // We support reading and writing tables to disk. We don't store - // the actual array contents (which we don't know how to store), - // just the groups and sizes. Returns true if all went ok. - -private: - // Every time the disk format changes, this should probably change too - typedef unsigned long MagicNumberType; - static const MagicNumberType MAGIC_NUMBER = 0x24687531; - - // Old versions of this code write all data in 32 bits. We need to - // support these files as well as having support for 64-bit systems. - // So we use the following encoding scheme: for values < 2^32-1, we - // store in 4 bytes in big-endian order. For values > 2^32, we - // store 0xFFFFFFF followed by 8 bytes in big-endian order. This - // causes us to mis-read old-version code that stores exactly - // 0xFFFFFFF, but I don't think that is likely to have happened for - // these particular values. - template - static bool write_32_or_64(OUTPUT* fp, IntType value) - { - if (value < 0xFFFFFFFFULL) // fits in 4 bytes - { - if (!sparsehash_internal::write_bigendian_number(fp, value, 4)) - return false; - } - else - { - if (!sparsehash_internal::write_bigendian_number(fp, 0xFFFFFFFFUL, 4)) - return false; - if (!sparsehash_internal::write_bigendian_number(fp, value, 8)) - return false; - } - return true; - } - - template - static bool read_32_or_64(INPUT* fp, IntType *value) - { - // reads into value - MagicNumberType first4 = 0; // a convenient 32-bit unsigned type - if (!sparsehash_internal::read_bigendian_number(fp, &first4, 4)) - return false; - - if (first4 < 0xFFFFFFFFULL) - { - *value = first4; - } - else - { - if (!sparsehash_internal::read_bigendian_number(fp, value, 8)) - return false; - } - return true; - } - -public: - // read/write_metadata() and read_write/nopointer_data() are DEPRECATED. - // Use serialize() and unserialize(), below, for new code. - - template - bool write_metadata(OUTPUT *fp) const - { - if (!write_32_or_64(fp, MAGIC_NUMBER)) return false; - if (!write_32_or_64(fp, _table_size)) return false; - if (!write_32_or_64(fp, _num_buckets)) return false; - - for (const group_type *group = _first_group; group != _last_group; ++group) - if (group->write_metadata(fp) == false) - return false; - return true; - } - - // Reading destroys the old table contents! Returns true if read ok. - template - bool read_metadata(INPUT *fp) - { - size_type magic_read = 0; - if (!read_32_or_64(fp, &magic_read)) return false; - if (magic_read != MAGIC_NUMBER) - { - clear(); // just to be consistent - return false; - } - - if (!read_32_or_64(fp, &_table_size)) return false; - if (!read_32_or_64(fp, &_num_buckets)) return false; - - resize(_table_size); // so the vector's sized ok - for (group_type *group = _first_group; group != _last_group; ++group) - if (group->read_metadata(_alloc, fp) == false) - return false; - return true; - } - - // This code is identical to that for SparseGroup - // If your keys and values are simple enough, we can write them - // to disk for you. "simple enough" means no pointers. - // However, we don't try to normalize endianness - bool write_nopointer_data(FILE *fp) const - { - for (const_ne_iterator it = ne_begin(); it != ne_end(); ++it) - if (!fwrite(&*it, sizeof(*it), 1, fp)) - return false; - return true; - } - - // When reading, we have to override the potential const-ness of *it - bool read_nopointer_data(FILE *fp) - { - for (ne_iterator it = ne_begin(); it != ne_end(); ++it) - if (!fread(reinterpret_cast(&(*it)), sizeof(*it), 1, fp)) - return false; - return true; - } - - // INPUT and OUTPUT must be either a FILE, *or* a C++ stream - // (istream, ostream, etc) *or* a class providing - // Read(void*, size_t) and Write(const void*, size_t) - // (respectively), which writes a buffer into a stream - // (which the INPUT/OUTPUT instance presumably owns). - - typedef sparsehash_internal::pod_serializer NopointerSerializer; - - // ValueSerializer: a functor. operator()(OUTPUT*, const value_type&) - template - bool serialize(ValueSerializer serializer, OUTPUT *fp) - { - if (!write_metadata(fp)) - return false; - for (const_ne_iterator it = ne_begin(); it != ne_end(); ++it) - if (!serializer(fp, *it)) - return false; - return true; - } - - // ValueSerializer: a functor. operator()(INPUT*, value_type*) - template - bool unserialize(ValueSerializer serializer, INPUT *fp) - { - clear(); - if (!read_metadata(fp)) - return false; - for (ne_iterator it = ne_begin(); it != ne_end(); ++it) - if (!serializer(fp, &*it)) - return false; - return true; - } - - // Comparisons. Note the comparisons are pretty arbitrary: we - // compare values of the first index that isn't equal (using default - // value for empty buckets). - bool operator==(const sparsetable& x) const - { - return (_table_size == x._table_size && - _num_buckets == x._num_buckets && - _first_group == x._first_group); - } - - bool operator<(const sparsetable& x) const - { - return std::lexicographical_compare(begin(), end(), x.begin(), x.end()); - } - bool operator!=(const sparsetable& x) const { return !(*this == x); } - bool operator<=(const sparsetable& x) const { return !(x < *this); } - bool operator>(const sparsetable& x) const { return x < *this; } - bool operator>=(const sparsetable& x) const { return !(*this < x); } - - -private: - // The actual data - // --------------- - group_type * _first_group; - group_type * _last_group; - size_type _table_size; // how many buckets they want - size_type _num_buckets; // number of non-empty buckets - group_alloc_type _group_alloc; - allocator_type _alloc; -}; - -// ---------------------------------------------------------------------- -// S P A R S E _ H A S H T A B L E -// ---------------------------------------------------------------------- -// Hashtable class, used to implement the hashed associative containers -// hash_set and hash_map. -// -// Value: what is stored in the table (each bucket is a Value). -// Key: something in a 1-to-1 correspondence to a Value, that can be used -// to search for a Value in the table (find() takes a Key). -// HashFcn: Takes a Key and returns an integer, the more unique the better. -// ExtractKey: given a Value, returns the unique Key associated with it. -// Must inherit from unary_function, or at least have a -// result_type enum indicating the return type of operator(). -// EqualKey: Given two Keys, says whether they are the same (that is, -// if they are both associated with the same Value). -// Alloc: STL allocator to use to allocate memory. -// -// ---------------------------------------------------------------------- - -// The probing method -// ------------------ -// Linear probing -// #define JUMP_(key, num_probes) ( 1 ) -// Quadratic probing -#define JUMP_(key, num_probes) ( num_probes ) - - -// ------------------------------------------------------------------- -// ------------------------------------------------------------------- -template -class sparse_hashtable -{ -public: - typedef Key key_type; - typedef Value value_type; - typedef HashFcn hasher; // user provided or spp_hash - typedef EqualKey key_equal; - typedef Alloc allocator_type; - - typedef typename allocator_type::size_type size_type; - typedef typename allocator_type::difference_type difference_type; - typedef value_type& reference; - typedef const value_type& const_reference; - typedef value_type* pointer; - typedef const value_type* const_pointer; - - // Table is the main storage class. - typedef sparsetable Table; - typedef typename Table::ne_iterator ne_it; - typedef typename Table::const_ne_iterator cne_it; - typedef typename Table::destructive_iterator dest_it; - typedef typename Table::ColIterator ColIterator; - - typedef ne_it iterator; - typedef cne_it const_iterator; - typedef dest_it destructive_iterator; - - // These come from tr1. For us they're the same as regular iterators. - // ------------------------------------------------------------------- - typedef iterator local_iterator; - typedef const_iterator const_local_iterator; - - // How full we let the table get before we resize - // ---------------------------------------------- - static const int HT_OCCUPANCY_PCT; // = 80 (out of 100); - - // How empty we let the table get before we resize lower, by default. - // (0.0 means never resize lower.) - // It should be less than OCCUPANCY_PCT / 2 or we thrash resizing - // ------------------------------------------------------------------ - static const int HT_EMPTY_PCT; // = 0.4 * HT_OCCUPANCY_PCT; - - // Minimum size we're willing to let hashtables be. - // Must be a power of two, and at least 4. - // Note, however, that for a given hashtable, the initial size is a - // function of the first constructor arg, and may be >HT_MIN_BUCKETS. - // ------------------------------------------------------------------ - static const size_type HT_MIN_BUCKETS = 4; - - // By default, if you don't specify a hashtable size at - // construction-time, we use this size. Must be a power of two, and - // at least HT_MIN_BUCKETS. - // ----------------------------------------------------------------- - static const size_type HT_DEFAULT_STARTING_BUCKETS = 32; - - // iterators - // --------- - iterator begin() { return _mk_iterator(table.ne_begin()); } - iterator end() { return _mk_iterator(table.ne_end()); } - const_iterator begin() const { return _mk_const_iterator(table.ne_cbegin()); } - const_iterator end() const { return _mk_const_iterator(table.ne_cend()); } - const_iterator cbegin() const { return _mk_const_iterator(table.ne_cbegin()); } - const_iterator cend() const { return _mk_const_iterator(table.ne_cend()); } - - // These come from tr1 unordered_map. They iterate over 'bucket' n. - // For sparsehashtable, we could consider each 'group' to be a bucket, - // I guess, but I don't really see the point. We'll just consider - // bucket n to be the n-th element of the sparsetable, if it's occupied, - // or some empty element, otherwise. - // --------------------------------------------------------------------- - local_iterator begin(size_type i) - { - return _mk_iterator(table.test(i) ? table.get_iter(i) : table.ne_end()); - } - - local_iterator end(size_type i) - { - local_iterator it = begin(i); - if (table.test(i)) - ++it; - return _mk_iterator(it); - } - - const_local_iterator begin(size_type i) const - { - return _mk_const_iterator(table.test(i) ? table.get_iter(i) : table.ne_cend()); - } - - const_local_iterator end(size_type i) const - { - const_local_iterator it = begin(i); - if (table.test(i)) - ++it; - return _mk_const_iterator(it); - } - - const_local_iterator cbegin(size_type i) const { return begin(i); } - const_local_iterator cend(size_type i) const { return end(i); } - - // This is used when resizing - // -------------------------- - destructive_iterator destructive_begin() { return _mk_destructive_iterator(table.destructive_begin()); } - destructive_iterator destructive_end() { return _mk_destructive_iterator(table.destructive_end()); } - - - // accessor functions for the things we templatize on, basically - // ------------------------------------------------------------- - hasher hash_funct() const { return settings; } - key_equal key_eq() const { return key_info; } - allocator_type get_allocator() const { return table.get_allocator(); } - - // Accessor function for statistics gathering. - unsigned int num_table_copies() const { return settings.num_ht_copies(); } - -private: - // This is used as a tag for the copy constructor, saying to destroy its - // arg We have two ways of destructively copying: with potentially growing - // the hashtable as we copy, and without. To make sure the outside world - // can't do a destructive copy, we make the typename private. - // ----------------------------------------------------------------------- - enum MoveDontCopyT {MoveDontCopy, MoveDontGrow}; - - // creating iterators from sparsetable::ne_iterators - // ------------------------------------------------- - iterator _mk_iterator(ne_it it) const { return it; } - const_iterator _mk_const_iterator(cne_it it) const { return it; } - destructive_iterator _mk_destructive_iterator(dest_it it) const { return it; } - -public: - size_type size() const { return table.num_nonempty(); } - size_type max_size() const { return table.max_size(); } - bool empty() const { return size() == 0; } - size_type bucket_count() const { return table.size(); } - size_type max_bucket_count() const { return max_size(); } - // These are tr1 methods. Their idea of 'bucket' doesn't map well to - // what we do. We just say every bucket has 0 or 1 items in it. - size_type bucket_size(size_type i) const - { - return (size_type)(begin(i) == end(i) ? 0 : 1); - } - -private: - // Because of the above, size_type(-1) is never legal; use it for errors - // --------------------------------------------------------------------- - static const size_type ILLEGAL_BUCKET = size_type(-1); - - // Used after a string of deletes. Returns true if we actually shrunk. - // TODO(csilvers): take a delta so we can take into account inserts - // done after shrinking. Maybe make part of the Settings class? - // -------------------------------------------------------------------- - bool _maybe_shrink() - { - assert((bucket_count() & (bucket_count()-1)) == 0); // is a power of two - assert(bucket_count() >= HT_MIN_BUCKETS); - bool retval = false; - - // If you construct a hashtable with < HT_DEFAULT_STARTING_BUCKETS, - // we'll never shrink until you get relatively big, and we'll never - // shrink below HT_DEFAULT_STARTING_BUCKETS. Otherwise, something - // like "dense_hash_set x; x.insert(4); x.erase(4);" will - // shrink us down to HT_MIN_BUCKETS buckets, which is too small. - // --------------------------------------------------------------- - const size_type num_remain = table.num_nonempty(); - const size_type shrink_threshold = settings.shrink_threshold(); - if (shrink_threshold > 0 && num_remain < shrink_threshold && - bucket_count() > HT_DEFAULT_STARTING_BUCKETS) - { - const float shrink_factor = settings.shrink_factor(); - size_type sz = (size_type)(bucket_count() / 2); // find how much we should shrink - while (sz > HT_DEFAULT_STARTING_BUCKETS && - num_remain < static_cast(sz * shrink_factor)) - { - sz /= 2; // stay a power of 2 - } - sparse_hashtable tmp(MoveDontCopy, *this, sz); - swap(tmp); // now we are tmp - retval = true; - } - settings.set_consider_shrink(false); // because we just considered it - return retval; - } - - // We'll let you resize a hashtable -- though this makes us copy all! - // When you resize, you say, "make it big enough for this many more elements" - // Returns true if we actually resized, false if size was already ok. - // -------------------------------------------------------------------------- - bool _resize_delta(size_type delta) - { - bool did_resize = false; - if (settings.consider_shrink()) - { - // see if lots of deletes happened - if (_maybe_shrink()) - did_resize = true; - } - if (table.num_nonempty() >= - (std::numeric_limits::max)() - delta) - { - throw_exception(std::length_error("resize overflow")); - } - - size_type num_occupied = (size_type)(table.num_nonempty() + num_deleted); - - if (bucket_count() >= HT_MIN_BUCKETS && - (num_occupied + delta) <= settings.enlarge_threshold()) - return did_resize; // we're ok as we are - - // Sometimes, we need to resize just to get rid of all the - // "deleted" buckets that are clogging up the hashtable. So when - // deciding whether to resize, count the deleted buckets (which - // are currently taking up room). - // ------------------------------------------------------------- - const size_type needed_size = - settings.min_buckets((size_type)(num_occupied + delta), (size_type)0); - - if (needed_size <= bucket_count()) // we have enough buckets - return did_resize; - - size_type resize_to = settings.min_buckets((size_type)(num_occupied + delta), bucket_count()); - - if (resize_to < needed_size && // may double resize_to - resize_to < (std::numeric_limits::max)() / 2) - { - // This situation means that we have enough deleted elements, - // that once we purge them, we won't actually have needed to - // grow. But we may want to grow anyway: if we just purge one - // element, say, we'll have to grow anyway next time we - // insert. Might as well grow now, since we're already going - // through the trouble of copying (in order to purge the - // deleted elements). - const size_type target = - static_cast(settings.shrink_size((size_type)(resize_to*2))); - if (table.num_nonempty() + delta >= target) - { - // Good, we won't be below the shrink threshhold even if we double. - resize_to *= 2; - } - } - - sparse_hashtable tmp(MoveDontCopy, *this, resize_to); - swap(tmp); // now we are tmp - return true; - } - - // Used to actually do the rehashing when we grow/shrink a hashtable - // ----------------------------------------------------------------- - void _copy_from(const sparse_hashtable &ht, size_type min_buckets_wanted) - { - clear(); // clear table, set num_deleted to 0 - - // If we need to change the size of our table, do it now - const size_type resize_to = settings.min_buckets(ht.size(), min_buckets_wanted); - - if (resize_to > bucket_count()) - { - // we don't have enough buckets - table.resize(resize_to); // sets the number of buckets - settings.reset_thresholds(bucket_count()); - } - - // We use a normal iterator to get bcks from ht - // We could use insert() here, but since we know there are - // no duplicates, we can be more efficient - assert((bucket_count() & (bucket_count()-1)) == 0); // a power of two - for (const_iterator it = ht.begin(); it != ht.end(); ++it) - { - size_type num_probes = 0; // how many times we've probed - size_type bucknum; - const size_type bucket_count_minus_one = bucket_count() - 1; - for (bucknum = hash(get_key(*it)) & bucket_count_minus_one; - table.test(bucknum); // table.test() OK since no erase() - bucknum = (bucknum + JUMP_(key, num_probes)) & bucket_count_minus_one) - { - ++num_probes; - assert(num_probes < bucket_count() - && "Hashtable is full: an error in key_equal<> or hash<>"); - } - table.set(bucknum, *it); // copies the value to here - } - settings.inc_num_ht_copies(); - } - - // Implementation is like _copy_from, but it destroys the table of the - // "from" guy by freeing sparsetable memory as we iterate. This is - // useful in resizing, since we're throwing away the "from" guy anyway. - // -------------------------------------------------------------------- - void _move_from(MoveDontCopyT mover, sparse_hashtable &ht, - size_type min_buckets_wanted) - { - clear(); - - // If we need to change the size of our table, do it now - size_type resize_to; - if (mover == MoveDontGrow) - resize_to = ht.bucket_count(); // keep same size as old ht - else // MoveDontCopy - resize_to = settings.min_buckets(ht.size(), min_buckets_wanted); - if (resize_to > bucket_count()) - { - // we don't have enough buckets - table.resize(resize_to); // sets the number of buckets - settings.reset_thresholds(bucket_count()); - } - - // We use a normal iterator to get bcks from ht - // We could use insert() here, but since we know there are - // no duplicates, we can be more efficient - assert((bucket_count() & (bucket_count()-1)) == 0); // a power of two - const size_type bucket_count_minus_one = (const size_type)(bucket_count() - 1); - - // THIS IS THE MAJOR LINE THAT DIFFERS FROM COPY_FROM(): - for (destructive_iterator it = ht.destructive_begin(); - it != ht.destructive_end(); ++it) - { - size_type num_probes = 0; - size_type bucknum; - for (bucknum = hash(get_key(*it)) & bucket_count_minus_one; - table.test(bucknum); // table.test() OK since no erase() - bucknum = (size_type)((bucknum + JUMP_(key, num_probes)) & (bucket_count()-1))) - { - ++num_probes; - assert(num_probes < bucket_count() - && "Hashtable is full: an error in key_equal<> or hash<>"); - } - table.move(bucknum, *it); // moves the value to here - } - settings.inc_num_ht_copies(); - } - - - // Required by the spec for hashed associative container -public: - // Though the docs say this should be num_buckets, I think it's much - // more useful as num_elements. As a special feature, calling with - // req_elements==0 will cause us to shrink if we can, saving space. - // ----------------------------------------------------------------- - void resize(size_type req_elements) - { - // resize to this or larger - if (settings.consider_shrink() || req_elements == 0) - _maybe_shrink(); - if (req_elements > table.num_nonempty()) // we only grow - _resize_delta((size_type)(req_elements - table.num_nonempty())); - } - - // Get and change the value of shrink_factor and enlarge_factor. The - // description at the beginning of this file explains how to choose - // the values. Setting the shrink parameter to 0.0 ensures that the - // table never shrinks. - // ------------------------------------------------------------------ - void get_resizing_parameters(float* shrink, float* grow) const - { - *shrink = settings.shrink_factor(); - *grow = settings.enlarge_factor(); - } - - float get_shrink_factor() const { return settings.shrink_factor(); } - float get_enlarge_factor() const { return settings.enlarge_factor(); } - - void set_resizing_parameters(float shrink, float grow) - { - settings.set_resizing_parameters(shrink, grow); - settings.reset_thresholds(bucket_count()); - } - - void set_shrink_factor(float shrink) - { - set_resizing_parameters(shrink, get_enlarge_factor()); - } - - void set_enlarge_factor(float grow) - { - set_resizing_parameters(get_shrink_factor(), grow); - } - - // CONSTRUCTORS -- as required by the specs, we take a size, - // but also let you specify a hashfunction, key comparator, - // and key extractor. We also define a copy constructor and =. - // DESTRUCTOR -- the default is fine, surprisingly. - // ------------------------------------------------------------ - explicit sparse_hashtable(size_type expected_max_items_in_table = 0, - const HashFcn& hf = HashFcn(), - const EqualKey& eql = EqualKey(), - const ExtractKey& ext = ExtractKey(), - const SetKey& set = SetKey(), - const allocator_type& alloc = allocator_type()) - : settings(hf), - key_info(ext, set, eql), - num_deleted(0), - table((expected_max_items_in_table == 0 - ? HT_DEFAULT_STARTING_BUCKETS - : settings.min_buckets(expected_max_items_in_table, 0)), - alloc) - { - settings.reset_thresholds(bucket_count()); - } - - // As a convenience for resize(), we allow an optional second argument - // which lets you make this new hashtable a different size than ht. - // We also provide a mechanism of saying you want to "move" the ht argument - // into us instead of copying. - // ------------------------------------------------------------------------ - sparse_hashtable(const sparse_hashtable& ht, - size_type min_buckets_wanted = HT_DEFAULT_STARTING_BUCKETS) - : settings(ht.settings), - key_info(ht.key_info), - num_deleted(0), - table(0) - { - settings.reset_thresholds(bucket_count()); - _copy_from(ht, min_buckets_wanted); - } - -#if !defined(SPP_NO_CXX11_RVALUE_REFERENCES) - - sparse_hashtable(sparse_hashtable&& o) : - settings(std::move(o.settings)), - key_info(std::move(o.key_info)), - num_deleted(o.num_deleted), - table(std::move(o.table)) - { - } - - sparse_hashtable(sparse_hashtable&& o, const allocator_type& alloc) : - settings(std::move(o.settings)), - key_info(std::move(o.key_info)), - num_deleted(o.num_deleted), - table(std::move(o.table), alloc) - { - } - - sparse_hashtable& operator=(sparse_hashtable&& o) = default; -#endif - - sparse_hashtable(MoveDontCopyT mover, - sparse_hashtable& ht, - size_type min_buckets_wanted = HT_DEFAULT_STARTING_BUCKETS) - : settings(ht.settings), - key_info(ht.key_info), - num_deleted(0), - table(min_buckets_wanted, ht.table.get_allocator()) - //table(min_buckets_wanted) - { - settings.reset_thresholds(bucket_count()); - _move_from(mover, ht, min_buckets_wanted); - } - - sparse_hashtable& operator=(const sparse_hashtable& ht) - { - if (&ht == this) - return *this; // don't copy onto ourselves - settings = ht.settings; - key_info = ht.key_info; - num_deleted = ht.num_deleted; - - // _copy_from() calls clear and sets num_deleted to 0 too - _copy_from(ht, HT_MIN_BUCKETS); - - // we purposefully don't copy the allocator, which may not be copyable - return *this; - } - - // Many STL algorithms use swap instead of copy constructors - void swap(sparse_hashtable& ht) - { - using std::swap; - - swap(settings, ht.settings); - swap(key_info, ht.key_info); - swap(num_deleted, ht.num_deleted); - table.swap(ht.table); - settings.reset_thresholds(bucket_count()); // also resets consider_shrink - ht.settings.reset_thresholds(ht.bucket_count()); - // we purposefully don't swap the allocator, which may not be swap-able - } - - // It's always nice to be able to clear a table without deallocating it - void clear() - { - if (!empty() || num_deleted != 0) - { - table.clear(); - table = Table(HT_DEFAULT_STARTING_BUCKETS, table.get_allocator()); - } - settings.reset_thresholds(bucket_count()); - num_deleted = 0; - } - - // LOOKUP ROUTINES -private: - - enum pos_type { pt_empty = 0, pt_erased, pt_full }; - // ------------------------------------------------------------------- - class Position - { - public: - - Position() : _t(pt_empty) {} - Position(pos_type t, size_type idx) : _t(t), _idx(idx) {} - - pos_type _t; - size_type _idx; - }; - - // Returns a pair: - // - 'first' is a code, 2 if key already present, 0 or 1 otherwise. - // - 'second' is a position, where the key should go - // Note: because of deletions where-to-insert is not trivial: it's the - // first deleted bucket we see, as long as we don't find the key later - // ------------------------------------------------------------------- - Position _find_position(const key_type &key) const - { - size_type num_probes = 0; // how many times we've probed - const size_type bucket_count_minus_one = (const size_type)(bucket_count() - 1); - size_type bucknum = hash(key) & bucket_count_minus_one; - Position pos; - - while (1) - { - // probe until something happens - // ----------------------------- - typename Table::GrpPos grp_pos(table, bucknum); - - if (!grp_pos.test_strict()) - { - // bucket is empty => key not present - return pos._t ? pos : Position(pt_empty, bucknum); - } - else if (grp_pos.test()) - { - reference ref(grp_pos.unsafe_get()); - - if (equals(key, get_key(ref))) - return Position(pt_full, bucknum); - } - else if (pos._t == pt_empty) - { - // first erased position - pos._t = pt_erased; - pos._idx = bucknum; - } - - ++num_probes; // we're doing another probe - bucknum = (size_type)((bucknum + JUMP_(key, num_probes)) & bucket_count_minus_one); - assert(num_probes < bucket_count() - && "Hashtable is full: an error in key_equal<> or hash<>"); - } - } - -public: - // I hate to duplicate find() like that, but it is - // significantly faster to not have the intermediate pair - // ------------------------------------------------------------------ - iterator find(const key_type& key) - { - size_type num_probes = 0; // how many times we've probed - const size_type bucket_count_minus_one = bucket_count() - 1; - size_type bucknum = hash(key) & bucket_count_minus_one; - - while (1) // probe until something happens - { - typename Table::GrpPos grp_pos(table, bucknum); - - if (!grp_pos.test_strict()) - return end(); // bucket is empty - if (grp_pos.test()) - { - reference ref(grp_pos.unsafe_get()); - - if (equals(key, get_key(ref))) - return grp_pos.get_iter(ref); - } - ++num_probes; // we're doing another probe - bucknum = (bucknum + JUMP_(key, num_probes)) & bucket_count_minus_one; - assert(num_probes < bucket_count() - && "Hashtable is full: an error in key_equal<> or hash<>"); - } - } - - // Wish I could avoid the duplicate find() const and non-const. - // ------------------------------------------------------------ - const_iterator find(const key_type& key) const - { - size_type num_probes = 0; // how many times we've probed - const size_type bucket_count_minus_one = bucket_count() - 1; - size_type bucknum = hash(key) & bucket_count_minus_one; - - while (1) // probe until something happens - { - typename Table::GrpPos grp_pos(table, bucknum); - - if (!grp_pos.test_strict()) - return end(); // bucket is empty - else if (grp_pos.test()) - { - reference ref(grp_pos.unsafe_get()); - - if (equals(key, get_key(ref))) - return _mk_const_iterator(table.get_iter(bucknum, &ref)); - } - ++num_probes; // we're doing another probe - bucknum = (bucknum + JUMP_(key, num_probes)) & bucket_count_minus_one; - assert(num_probes < bucket_count() - && "Hashtable is full: an error in key_equal<> or hash<>"); - } - } - - // This is a tr1 method: the bucket a given key is in, or what bucket - // it would be put in, if it were to be inserted. Shrug. - // ------------------------------------------------------------------ - size_type bucket(const key_type& key) const - { - Position pos = _find_position(key); - return pos._idx; - } - - // Counts how many elements have key key. For maps, it's either 0 or 1. - // --------------------------------------------------------------------- - size_type count(const key_type &key) const - { - Position pos = _find_position(key); - return (size_type)(pos._t == pt_full ? 1 : 0); - } - - // Likewise, equal_range doesn't really make sense for us. Oh well. - // ----------------------------------------------------------------- - std::pair equal_range(const key_type& key) - { - iterator pos = find(key); // either an iterator or end - if (pos == end()) - return std::pair(pos, pos); - else - { - const iterator startpos = pos++; - return std::pair(startpos, pos); - } - } - - std::pair equal_range(const key_type& key) const - { - const_iterator pos = find(key); // either an iterator or end - if (pos == end()) - return std::pair(pos, pos); - else - { - const const_iterator startpos = pos++; - return std::pair(startpos, pos); - } - } - - - // INSERTION ROUTINES -private: - // Private method used by insert_noresize and find_or_insert. - template - reference _insert_at(T& obj, size_type pos, bool erased) - { - if (size() >= max_size()) - { - throw_exception(std::length_error("insert overflow")); - } - if (erased) - { - assert(num_deleted); - --num_deleted; - } - return table.set(pos, obj); - } - - // If you know *this is big enough to hold obj, use this routine - template - std::pair _insert_noresize(T& obj) - { - Position pos = _find_position(get_key(obj)); - bool already_there = (pos._t == pt_full); - - if (!already_there) - { - reference ref(_insert_at(obj, pos._idx, pos._t == pt_erased)); - return std::pair(_mk_iterator(table.get_iter(pos._idx, &ref)), true); - } - return std::pair(_mk_iterator(table.get_iter(pos._idx)), false); - } - - // Specializations of insert(it, it) depending on the power of the iterator: - // (1) Iterator supports operator-, resize before inserting - template - void _insert(ForwardIterator f, ForwardIterator l, std::forward_iterator_tag /*unused*/) - { - int64_t dist = std::distance(f, l); - if (dist < 0 || static_cast(dist) >= (std::numeric_limits::max)()) - throw_exception(std::length_error("insert-range overflow")); - - _resize_delta(static_cast(dist)); - - for (; dist > 0; --dist, ++f) - _insert_noresize(*f); - } - - // (2) Arbitrary iterator, can't tell how much to resize - template - void _insert(InputIterator f, InputIterator l, std::input_iterator_tag /*unused*/) - { - for (; f != l; ++f) - _insert(*f); - } - -public: - -#if !defined(SPP_NO_CXX11_VARIADIC_TEMPLATES) - template - std::pair emplace(Args&&... args) - { - _resize_delta(1); - value_type obj(std::forward(args)...); - return _insert_noresize(obj); - } -#endif - - // This is the normal insert routine, used by the outside world - std::pair insert(const_reference obj) - { - _resize_delta(1); // adding an object, grow if need be - return _insert_noresize(obj); - } - -#if !defined(SPP_NO_CXX11_RVALUE_REFERENCES) - template< class P > - std::pair insert(P &&obj) - { - _resize_delta(1); // adding an object, grow if need be - value_type val(std::forward

(obj)); - return _insert_noresize(val); - } -#endif - - // When inserting a lot at a time, we specialize on the type of iterator - template - void insert(InputIterator f, InputIterator l) - { - // specializes on iterator type - _insert(f, l, - typename std::iterator_traits::iterator_category()); - } - - // DefaultValue is a functor that takes a key and returns a value_type - // representing the default value to be inserted if none is found. - template - value_type& find_or_insert(const key_type& key) - { - size_type num_probes = 0; // how many times we've probed - const size_type bucket_count_minus_one = bucket_count() - 1; - size_type bucknum = hash(key) & bucket_count_minus_one; - DefaultValue default_value; - size_type erased_pos = 0; - bool erased = false; - - while (1) // probe until something happens - { - typename Table::GrpPos grp_pos(table, bucknum); - - if (!grp_pos.test_strict()) - { - // not found - if (_resize_delta(1)) - { - // needed to rehash to make room - // Since we resized, we can't use pos, so recalculate where to insert. - value_type def(default_value(key)); - return *(_insert_noresize(def).first); - } - else - { - // no need to rehash, insert right here - value_type def(default_value(key)); - return _insert_at(def, erased ? erased_pos : bucknum, erased); - } - } - if (grp_pos.test()) - { - reference ref(grp_pos.unsafe_get()); - - if (equals(key, get_key(ref))) - return ref; - } - else if (!erased) - { - // first erased position - erased_pos = bucknum; - erased = true; - } - - ++num_probes; // we're doing another probe - bucknum = (bucknum + JUMP_(key, num_probes)) & bucket_count_minus_one; - assert(num_probes < bucket_count() - && "Hashtable is full: an error in key_equal<> or hash<>"); - } - } - - size_type erase(const key_type& key) - { - size_type num_probes = 0; // how many times we've probed - const size_type bucket_count_minus_one = bucket_count() - 1; - size_type bucknum = hash(key) & bucket_count_minus_one; - - while (1) // probe until something happens - { - typename Table::GrpPos grp_pos(table, bucknum); - - if (!grp_pos.test_strict()) - return 0; // bucket is empty, we deleted nothing - if (grp_pos.test()) - { - reference ref(grp_pos.unsafe_get()); - - if (equals(key, get_key(ref))) - { - grp_pos.erase(table); - ++num_deleted; - settings.set_consider_shrink(true); // will think about shrink after next insert - return 1; // because we deleted one thing - } - } - ++num_probes; // we're doing another probe - bucknum = (bucknum + JUMP_(key, num_probes)) & bucket_count_minus_one; - assert(num_probes < bucket_count() - && "Hashtable is full: an error in key_equal<> or hash<>"); - } - } - - const_iterator erase(const_iterator pos) - { - if (pos == cend()) - return cend(); // sanity check - - const_iterator nextpos = table.erase(pos); - ++num_deleted; - settings.set_consider_shrink(true); - return nextpos; - } - - const_iterator erase(const_iterator f, const_iterator l) - { - if (f == cend()) - return cend(); // sanity check - - size_type num_before = table.num_nonempty(); - const_iterator nextpos = table.erase(f, l); - num_deleted += num_before - table.num_nonempty(); - settings.set_consider_shrink(true); - return nextpos; - } - - // Deleted key routines - just to keep google test framework happy - // we don't actually use the deleted key - // --------------------------------------------------------------- - void set_deleted_key(const key_type&) - { - } - - void clear_deleted_key() - { - } - - bool operator==(const sparse_hashtable& ht) const - { - if (this == &ht) - return true; - - if (size() != ht.size()) - return false; - - for (const_iterator it = begin(); it != end(); ++it) - { - const_iterator it2 = ht.find(get_key(*it)); - if ((it2 == ht.end()) || (*it != *it2)) - return false; - } - - return true; - } - - bool operator!=(const sparse_hashtable& ht) const - { - return !(*this == ht); - } - - - // I/O - // We support reading and writing hashtables to disk. NOTE that - // this only stores the hashtable metadata, not the stuff you've - // actually put in the hashtable! Alas, since I don't know how to - // write a hasher or key_equal, you have to make sure everything - // but the table is the same. We compact before writing. - // - // The OUTPUT type needs to support a Write() operation. File and - // OutputBuffer are appropriate types to pass in. - // - // The INPUT type needs to support a Read() operation. File and - // InputBuffer are appropriate types to pass in. - // ------------------------------------------------------------- - template - bool write_metadata(OUTPUT *fp) - { - return table.write_metadata(fp); - } - - template - bool read_metadata(INPUT *fp) - { - num_deleted = 0; // since we got rid before writing - const bool result = table.read_metadata(fp); - settings.reset_thresholds(bucket_count()); - return result; - } - - // Only meaningful if value_type is a POD. - template - bool write_nopointer_data(OUTPUT *fp) - { - return table.write_nopointer_data(fp); - } - - // Only meaningful if value_type is a POD. - template - bool read_nopointer_data(INPUT *fp) - { - return table.read_nopointer_data(fp); - } - - // INPUT and OUTPUT must be either a FILE, *or* a C++ stream - // (istream, ostream, etc) *or* a class providing - // Read(void*, size_t) and Write(const void*, size_t) - // (respectively), which writes a buffer into a stream - // (which the INPUT/OUTPUT instance presumably owns). - - typedef sparsehash_internal::pod_serializer NopointerSerializer; - - // ValueSerializer: a functor. operator()(OUTPUT*, const value_type&) - template - bool serialize(ValueSerializer serializer, OUTPUT *fp) - { - return table.serialize(serializer, fp); - } - - // ValueSerializer: a functor. operator()(INPUT*, value_type*) - template - bool unserialize(ValueSerializer serializer, INPUT *fp) - { - num_deleted = 0; // since we got rid before writing - const bool result = table.unserialize(serializer, fp); - settings.reset_thresholds(bucket_count()); - return result; - } - -private: - - // Package templated functors with the other types to eliminate memory - // needed for storing these zero-size operators. Since ExtractKey and - // hasher's operator() might have the same function signature, they - // must be packaged in different classes. - // ------------------------------------------------------------------------- - struct Settings : - sparsehash_internal::sh_hashtable_settings - { - explicit Settings(const hasher& hf) - : sparsehash_internal::sh_hashtable_settings - (hf, HT_OCCUPANCY_PCT / 100.0f, HT_EMPTY_PCT / 100.0f) {} - }; - - // KeyInfo stores delete key and packages zero-size functors: - // ExtractKey and SetKey. - // --------------------------------------------------------- - class KeyInfo : public ExtractKey, public SetKey, public EqualKey - { - public: - KeyInfo(const ExtractKey& ek, const SetKey& sk, const EqualKey& eq) - : ExtractKey(ek), SetKey(sk), EqualKey(eq) - { - } - - // We want to return the exact same type as ExtractKey: Key or const Key& - typename ExtractKey::result_type get_key(const_reference v) const - { - return ExtractKey::operator()(v); - } - - bool equals(const key_type& a, const key_type& b) const - { - return EqualKey::operator()(a, b); - } - }; - - // Utility functions to access the templated operators - size_t hash(const key_type& v) const - { - return settings.hash(v); - } - - bool equals(const key_type& a, const key_type& b) const - { - return key_info.equals(a, b); - } - - typename ExtractKey::result_type get_key(const_reference v) const - { - return key_info.get_key(v); - } - -private: - // Actual data - // ----------- - Settings settings; - KeyInfo key_info; - size_type num_deleted; - Table table; // holds num_buckets and num_elements too -}; - -#undef JUMP_ - -// ----------------------------------------------------------------------------- -template -const typename sparse_hashtable::size_type -sparse_hashtable::ILLEGAL_BUCKET; - -// How full we let the table get before we resize. Knuth says .8 is -// good -- higher causes us to probe too much, though saves memory -// ----------------------------------------------------------------------------- -template -const int sparse_hashtable::HT_OCCUPANCY_PCT = 50; - -// How empty we let the table get before we resize lower. -// It should be less than OCCUPANCY_PCT / 2 or we thrash resizing -// ----------------------------------------------------------------------------- -template -const int sparse_hashtable::HT_EMPTY_PCT -= static_cast(0.4 * - sparse_hashtable::HT_OCCUPANCY_PCT); - - -// ---------------------------------------------------------------------- -// S P A R S E _ H A S H _ M A P -// ---------------------------------------------------------------------- -template , - class EqualKey = std::equal_to, - class Alloc = SPP_DEFAULT_ALLOCATOR > > -class sparse_hash_map -{ -public: - typedef typename std::pair value_type; - -private: - // Apparently select1st is not stl-standard, so we define our own - struct SelectKey - { - typedef const Key& result_type; - - inline const Key& operator()(const value_type& p) const - { - return p.first; - } - }; - - struct SetKey - { - inline void operator()(value_type* value, const Key& new_key) const - { - *const_cast(&value->first) = new_key; - } - }; - - // For operator[]. - struct DefaultValue - { - inline value_type operator()(const Key& key) const - { - return std::make_pair(key, T()); - } - }; - - // The actual data - typedef sparse_hashtable ht; - -public: - typedef typename ht::key_type key_type; - typedef T data_type; - typedef T mapped_type; - typedef typename ht::hasher hasher; - typedef typename ht::key_equal key_equal; - typedef Alloc allocator_type; - - typedef typename ht::size_type size_type; - typedef typename ht::difference_type difference_type; - typedef typename ht::pointer pointer; - typedef typename ht::const_pointer const_pointer; - typedef typename ht::reference reference; - typedef typename ht::const_reference const_reference; - - typedef typename ht::iterator iterator; - typedef typename ht::const_iterator const_iterator; - typedef typename ht::local_iterator local_iterator; - typedef typename ht::const_local_iterator const_local_iterator; - - // Iterator functions - iterator begin() { return rep.begin(); } - iterator end() { return rep.end(); } - const_iterator begin() const { return rep.cbegin(); } - const_iterator end() const { return rep.cend(); } - const_iterator cbegin() const { return rep.cbegin(); } - const_iterator cend() const { return rep.cend(); } - - // These come from tr1's unordered_map. For us, a bucket has 0 or 1 elements. - local_iterator begin(size_type i) { return rep.begin(i); } - local_iterator end(size_type i) { return rep.end(i); } - const_local_iterator begin(size_type i) const { return rep.begin(i); } - const_local_iterator end(size_type i) const { return rep.end(i); } - const_local_iterator cbegin(size_type i) const { return rep.cbegin(i); } - const_local_iterator cend(size_type i) const { return rep.cend(i); } - - // Accessor functions - // ------------------ - allocator_type get_allocator() const { return rep.get_allocator(); } - hasher hash_funct() const { return rep.hash_funct(); } - hasher hash_function() const { return hash_funct(); } - key_equal key_eq() const { return rep.key_eq(); } - - - // Constructors - // ------------ - explicit sparse_hash_map(size_type n = 0, - const hasher& hf = hasher(), - const key_equal& eql = key_equal(), - const allocator_type& alloc = allocator_type()) - : rep(n, hf, eql, SelectKey(), SetKey(), alloc) - { - } - - explicit sparse_hash_map(const allocator_type& alloc) : - rep(0, hasher(), key_equal(), SelectKey(), SetKey(), alloc) - { - } - - sparse_hash_map(size_type n, const allocator_type& alloc) : - rep(n, hasher(), key_equal(), SelectKey(), SetKey(), alloc) - { - } - - sparse_hash_map(size_type n, const hasher& hf, const allocator_type& alloc) : - rep(n, hf, key_equal(), SelectKey(), SetKey(), alloc) - { - } - - template - sparse_hash_map(InputIterator f, InputIterator l, - size_type n = 0, - const hasher& hf = hasher(), - const key_equal& eql = key_equal(), - const allocator_type& alloc = allocator_type()) - : rep(n, hf, eql, SelectKey(), SetKey(), alloc) - { - rep.insert(f, l); - } - - template - sparse_hash_map(InputIterator f, InputIterator l, - size_type n, const allocator_type& alloc) - : rep(n, hasher(), key_equal(), SelectKey(), SetKey(), alloc) - { - rep.insert(f, l); - } - - template - sparse_hash_map(InputIterator f, InputIterator l, - size_type n, const hasher& hf, const allocator_type& alloc) - : rep(n, hf, key_equal(), SelectKey(), SetKey(), alloc) - { - rep.insert(f, l); - } - - sparse_hash_map(const sparse_hash_map &o) : - rep(o.rep) - {} - - sparse_hash_map(const sparse_hash_map &o, - const allocator_type& alloc) : - rep(o.rep, alloc) - {} - -#if !defined(SPP_NO_CXX11_RVALUE_REFERENCES) - sparse_hash_map(sparse_hash_map &&o) : - rep(std::move(o.rep)) - {} - - sparse_hash_map(sparse_hash_map &&o, - const allocator_type& alloc) : - rep(std::move(o.rep), alloc) - {} - - sparse_hash_map& operator=(sparse_hash_map &&o) = default; -#endif - -#if !defined(SPP_NO_CXX11_HDR_INITIALIZER_LIST) - sparse_hash_map(std::initializer_list init, - size_type n = 0, - const hasher& hf = hasher(), - const key_equal& eql = key_equal(), - const allocator_type& alloc = allocator_type()) - : rep(n, hf, eql, SelectKey(), SetKey(), alloc) - { - rep.insert(init.begin(), init.end()); - } - - sparse_hash_map(std::initializer_list init, - size_type n, const allocator_type& alloc) : - rep(n, hasher(), key_equal(), SelectKey(), SetKey(), alloc) - { - rep.insert(init.begin(), init.end()); - } - - sparse_hash_map(std::initializer_list init, - size_type n, const hasher& hf, const allocator_type& alloc) : - rep(n, hf, key_equal(), SelectKey(), SetKey(), alloc) - { - rep.insert(init.begin(), init.end()); - } - - sparse_hash_map& operator=(std::initializer_list init) - { - rep.clear(); - rep.insert(init.begin(), init.end()); - return *this; - } - - void insert(std::initializer_list init) - { - rep.insert(init.begin(), init.end()); - } -#endif - - sparse_hash_map& operator=(const sparse_hash_map &o) - { - rep = o.rep; - return *this; - } - - void clear() { rep.clear(); } - void swap(sparse_hash_map& hs) { rep.swap(hs.rep); } - - // Functions concerning size - // ------------------------- - size_type size() const { return rep.size(); } - size_type max_size() const { return rep.max_size(); } - bool empty() const { return rep.empty(); } - size_type bucket_count() const { return rep.bucket_count(); } - size_type max_bucket_count() const { return rep.max_bucket_count(); } - - size_type bucket_size(size_type i) const { return rep.bucket_size(i); } - size_type bucket(const key_type& key) const { return rep.bucket(key); } - float load_factor() const { return size() * 1.0f / bucket_count(); } - - float max_load_factor() const { return rep.get_enlarge_factor(); } - void max_load_factor(float grow) { rep.set_enlarge_factor(grow); } - - float min_load_factor() const { return rep.get_shrink_factor(); } - void min_load_factor(float shrink){ rep.set_shrink_factor(shrink); } - - void set_resizing_parameters(float shrink, float grow) - { - rep.set_resizing_parameters(shrink, grow); - } - - void resize(size_type cnt) { rep.resize(cnt); } - void rehash(size_type cnt) { resize(cnt); } // c++11 name - void reserve(size_type cnt) { resize(cnt); } // c++11 - - // Lookup - // ------ - iterator find(const key_type& key) { return rep.find(key); } - const_iterator find(const key_type& key) const { return rep.find(key); } - bool contains(const key_type& key) const { return rep.find(key) != rep.end(); } - - mapped_type& operator[](const key_type& key) - { - return rep.template find_or_insert(key).second; - } - - size_type count(const key_type& key) const { return rep.count(key); } - - std::pair - equal_range(const key_type& key) { return rep.equal_range(key); } - - std::pair - equal_range(const key_type& key) const { return rep.equal_range(key); } - - mapped_type& at(const key_type& key) - { - iterator it = rep.find(key); - if (it == rep.end()) - throw_exception(std::out_of_range("at: key not present")); - return it->second; - } - - const mapped_type& at(const key_type& key) const - { - const_iterator it = rep.find(key); - if (it == rep.cend()) - throw_exception(std::out_of_range("at: key not present")); - return it->second; - } - -#if !defined(SPP_NO_CXX11_VARIADIC_TEMPLATES) - template - std::pair emplace(Args&&... args) - { - return rep.emplace(std::forward(args)...); - } - - template - iterator emplace_hint(const_iterator , Args&&... args) - { - return rep.emplace(std::forward(args)...).first; - } -#endif - - // Insert - // ------ - std::pair - insert(const value_type& obj) { return rep.insert(obj); } - -#if !defined(SPP_NO_CXX11_RVALUE_REFERENCES) - template< class P > - std::pair insert(P&& obj) { return rep.insert(std::forward

(obj)); } -#endif - - template - void insert(InputIterator f, InputIterator l) { rep.insert(f, l); } - - void insert(const_iterator f, const_iterator l) { rep.insert(f, l); } - - iterator insert(iterator /*unused*/, const value_type& obj) { return insert(obj).first; } - iterator insert(const_iterator /*unused*/, const value_type& obj) { return insert(obj).first; } - - // Deleted key routines - just to keep google test framework happy - // we don't actually use the deleted key - // --------------------------------------------------------------- - void set_deleted_key(const key_type& key) { rep.set_deleted_key(key); } - void clear_deleted_key() { rep.clear_deleted_key(); } - key_type deleted_key() const { return rep.deleted_key(); } - - // Erase - // ----- - size_type erase(const key_type& key) { return rep.erase(key); } - iterator erase(iterator it) { return rep.erase(it); } - iterator erase(iterator f, iterator l) { return rep.erase(f, l); } - iterator erase(const_iterator it) { return rep.erase(it); } - iterator erase(const_iterator f, const_iterator l){ return rep.erase(f, l); } - - // Comparison - // ---------- - bool operator==(const sparse_hash_map& hs) const { return rep == hs.rep; } - bool operator!=(const sparse_hash_map& hs) const { return rep != hs.rep; } - - - // I/O -- this is an add-on for writing metainformation to disk - // - // For maximum flexibility, this does not assume a particular - // file type (though it will probably be a FILE *). We just pass - // the fp through to rep. - - // If your keys and values are simple enough, you can pass this - // serializer to serialize()/unserialize(). "Simple enough" means - // value_type is a POD type that contains no pointers. Note, - // however, we don't try to normalize endianness. - // --------------------------------------------------------------- - typedef typename ht::NopointerSerializer NopointerSerializer; - - // serializer: a class providing operator()(OUTPUT*, const value_type&) - // (writing value_type to OUTPUT). You can specify a - // NopointerSerializer object if appropriate (see above). - // fp: either a FILE*, OR an ostream*/subclass_of_ostream*, OR a - // pointer to a class providing size_t Write(const void*, size_t), - // which writes a buffer into a stream (which fp presumably - // owns) and returns the number of bytes successfully written. - // Note basic_ostream is not currently supported. - // --------------------------------------------------------------- - template - bool serialize(ValueSerializer serializer, OUTPUT* fp) - { - return rep.serialize(serializer, fp); - } - - // serializer: a functor providing operator()(INPUT*, value_type*) - // (reading from INPUT and into value_type). You can specify a - // NopointerSerializer object if appropriate (see above). - // fp: either a FILE*, OR an istream*/subclass_of_istream*, OR a - // pointer to a class providing size_t Read(void*, size_t), - // which reads into a buffer from a stream (which fp presumably - // owns) and returns the number of bytes successfully read. - // Note basic_istream is not currently supported. - // NOTE: Since value_type is std::pair, ValueSerializer - // may need to do a const cast in order to fill in the key. - // NOTE: if Key or T are not POD types, the serializer MUST use - // placement-new to initialize their values, rather than a normal - // equals-assignment or similar. (The value_type* passed into the - // serializer points to garbage memory.) - // --------------------------------------------------------------- - template - bool unserialize(ValueSerializer serializer, INPUT* fp) - { - return rep.unserialize(serializer, fp); - } - - // The four methods below are DEPRECATED. - // Use serialize() and unserialize() for new code. - // ----------------------------------------------- - template - bool write_metadata(OUTPUT *fp) { return rep.write_metadata(fp); } - - template - bool read_metadata(INPUT *fp) { return rep.read_metadata(fp); } - - template - bool write_nopointer_data(OUTPUT *fp) { return rep.write_nopointer_data(fp); } - - template - bool read_nopointer_data(INPUT *fp) { return rep.read_nopointer_data(fp); } - - -private: - // The actual data - // --------------- - ht rep; -}; - -// ---------------------------------------------------------------------- -// S P A R S E _ H A S H _ S E T -// ---------------------------------------------------------------------- - -template , - class EqualKey = std::equal_to, - class Alloc = SPP_DEFAULT_ALLOCATOR > -class sparse_hash_set -{ -private: - // Apparently identity is not stl-standard, so we define our own - struct Identity - { - typedef const Value& result_type; - inline const Value& operator()(const Value& v) const { return v; } - }; - - struct SetKey - { - inline void operator()(Value* value, const Value& new_key) const - { - *value = new_key; - } - }; - - typedef sparse_hashtable ht; - -public: - typedef typename ht::key_type key_type; - typedef typename ht::value_type value_type; - typedef typename ht::hasher hasher; - typedef typename ht::key_equal key_equal; - typedef Alloc allocator_type; - - typedef typename ht::size_type size_type; - typedef typename ht::difference_type difference_type; - typedef typename ht::const_pointer pointer; - typedef typename ht::const_pointer const_pointer; - typedef typename ht::const_reference reference; - typedef typename ht::const_reference const_reference; - - typedef typename ht::const_iterator iterator; - typedef typename ht::const_iterator const_iterator; - typedef typename ht::const_local_iterator local_iterator; - typedef typename ht::const_local_iterator const_local_iterator; - - - // Iterator functions -- recall all iterators are const - iterator begin() const { return rep.begin(); } - iterator end() const { return rep.end(); } - const_iterator cbegin() const { return rep.cbegin(); } - const_iterator cend() const { return rep.cend(); } - - // These come from tr1's unordered_set. For us, a bucket has 0 or 1 elements. - local_iterator begin(size_type i) const { return rep.begin(i); } - local_iterator end(size_type i) const { return rep.end(i); } - local_iterator cbegin(size_type i) const { return rep.cbegin(i); } - local_iterator cend(size_type i) const { return rep.cend(i); } - - - // Accessor functions - // ------------------ - allocator_type get_allocator() const { return rep.get_allocator(); } - hasher hash_funct() const { return rep.hash_funct(); } - hasher hash_function() const { return hash_funct(); } // tr1 name - key_equal key_eq() const { return rep.key_eq(); } - - - // Constructors - // ------------ - explicit sparse_hash_set(size_type n = 0, - const hasher& hf = hasher(), - const key_equal& eql = key_equal(), - const allocator_type& alloc = allocator_type()) : - rep(n, hf, eql, Identity(), SetKey(), alloc) - { - } - - explicit sparse_hash_set(const allocator_type& alloc) : - rep(0, hasher(), key_equal(), Identity(), SetKey(), alloc) - { - } - - sparse_hash_set(size_type n, const allocator_type& alloc) : - rep(n, hasher(), key_equal(), Identity(), SetKey(), alloc) - { - } - - sparse_hash_set(size_type n, const hasher& hf, - const allocator_type& alloc) : - rep(n, hf, key_equal(), Identity(), SetKey(), alloc) - { - } - - template - sparse_hash_set(InputIterator f, InputIterator l, - size_type n = 0, - const hasher& hf = hasher(), - const key_equal& eql = key_equal(), - const allocator_type& alloc = allocator_type()) - : rep(n, hf, eql, Identity(), SetKey(), alloc) - { - rep.insert(f, l); - } - - template - sparse_hash_set(InputIterator f, InputIterator l, - size_type n, const allocator_type& alloc) - : rep(n, hasher(), key_equal(), Identity(), SetKey(), alloc) - { - rep.insert(f, l); - } - - template - sparse_hash_set(InputIterator f, InputIterator l, - size_type n, const hasher& hf, const allocator_type& alloc) - : rep(n, hf, key_equal(), Identity(), SetKey(), alloc) - { - rep.insert(f, l); - } - - sparse_hash_set(const sparse_hash_set &o) : - rep(o.rep) - {} - - sparse_hash_set(const sparse_hash_set &o, - const allocator_type& alloc) : - rep(o.rep, alloc) - {} - -#if !defined(SPP_NO_CXX11_RVALUE_REFERENCES) - sparse_hash_set(sparse_hash_set &&o) : - rep(std::move(o.rep)) - {} - - sparse_hash_set(sparse_hash_set &&o, - const allocator_type& alloc) : - rep(std::move(o.rep), alloc) - {} -#endif - -#if !defined(SPP_NO_CXX11_HDR_INITIALIZER_LIST) - sparse_hash_set(std::initializer_list init, - size_type n = 0, - const hasher& hf = hasher(), - const key_equal& eql = key_equal(), - const allocator_type& alloc = allocator_type()) : - rep(n, hf, eql, Identity(), SetKey(), alloc) - { - rep.insert(init.begin(), init.end()); - } - - sparse_hash_set(std::initializer_list init, - size_type n, const allocator_type& alloc) : - rep(n, hasher(), key_equal(), Identity(), SetKey(), alloc) - { - rep.insert(init.begin(), init.end()); - } - - sparse_hash_set(std::initializer_list init, - size_type n, const hasher& hf, - const allocator_type& alloc) : - rep(n, hf, key_equal(), Identity(), SetKey(), alloc) - { - rep.insert(init.begin(), init.end()); - } - - sparse_hash_set& operator=(std::initializer_list init) - { - rep.clear(); - rep.insert(init.begin(), init.end()); - return *this; - } - - void insert(std::initializer_list init) - { - rep.insert(init.begin(), init.end()); - } - -#endif - - sparse_hash_set& operator=(const sparse_hash_set &o) - { - rep = o.rep; - return *this; - } - - void clear() { rep.clear(); } - void swap(sparse_hash_set& hs) { rep.swap(hs.rep); } - - - // Functions concerning size - // ------------------------- - size_type size() const { return rep.size(); } - size_type max_size() const { return rep.max_size(); } - bool empty() const { return rep.empty(); } - size_type bucket_count() const { return rep.bucket_count(); } - size_type max_bucket_count() const { return rep.max_bucket_count(); } - - size_type bucket_size(size_type i) const { return rep.bucket_size(i); } - size_type bucket(const key_type& key) const { return rep.bucket(key); } - - float load_factor() const { return size() * 1.0f / bucket_count(); } - - float max_load_factor() const { return rep.get_enlarge_factor(); } - void max_load_factor(float grow) { rep.set_enlarge_factor(grow); } - - float min_load_factor() const { return rep.get_shrink_factor(); } - void min_load_factor(float shrink){ rep.set_shrink_factor(shrink); } - - void set_resizing_parameters(float shrink, float grow) - { - rep.set_resizing_parameters(shrink, grow); - } - - void resize(size_type cnt) { rep.resize(cnt); } - void rehash(size_type cnt) { resize(cnt); } // c++11 name - void reserve(size_type cnt) { resize(cnt); } // c++11 - - // Lookup - // ------ - iterator find(const key_type& key) const { return rep.find(key); } - bool contains(const key_type& key) const { return rep.find(key) != rep.end(); } - - size_type count(const key_type& key) const { return rep.count(key); } - - std::pair - equal_range(const key_type& key) const { return rep.equal_range(key); } - -#if !defined(SPP_NO_CXX11_VARIADIC_TEMPLATES) - template - std::pair emplace(Args&&... args) - { - return rep.emplace(std::forward(args)...); - } - - template - iterator emplace_hint(const_iterator , Args&&... args) - { - return rep.emplace(std::forward(args)...).first; - } -#endif - - // Insert - // ------ - std::pair insert(const value_type& obj) - { - std::pair p = rep.insert(obj); - return std::pair(p.first, p.second); // const to non-const - } - -#if !defined(SPP_NO_CXX11_RVALUE_REFERENCES) - template - std::pair insert(P&& obj) { return rep.insert(std::forward

(obj)); } -#endif - - template - void insert(InputIterator f, InputIterator l) { rep.insert(f, l); } - - void insert(const_iterator f, const_iterator l) { rep.insert(f, l); } - - iterator insert(iterator /*unused*/, const value_type& obj) { return insert(obj).first; } - - // Deleted key - do nothing - just to keep google test framework happy - // ------------------------------------------------------------------- - void set_deleted_key(const key_type& key) { rep.set_deleted_key(key); } - void clear_deleted_key() { rep.clear_deleted_key(); } - key_type deleted_key() const { return rep.deleted_key(); } - - // Erase - // ----- - size_type erase(const key_type& key) { return rep.erase(key); } - iterator erase(iterator it) { return rep.erase(it); } - iterator erase(iterator f, iterator l) { return rep.erase(f, l); } - - // Comparison - // ---------- - bool operator==(const sparse_hash_set& hs) const { return rep == hs.rep; } - bool operator!=(const sparse_hash_set& hs) const { return rep != hs.rep; } - - - // I/O -- this is an add-on for writing metainformation to disk - // - // For maximum flexibility, this does not assume a particular - // file type (though it will probably be a FILE *). We just pass - // the fp through to rep. - - // If your keys and values are simple enough, you can pass this - // serializer to serialize()/unserialize(). "Simple enough" means - // value_type is a POD type that contains no pointers. Note, - // however, we don't try to normalize endianness. - // --------------------------------------------------------------- - typedef typename ht::NopointerSerializer NopointerSerializer; - - // serializer: a class providing operator()(OUTPUT*, const value_type&) - // (writing value_type to OUTPUT). You can specify a - // NopointerSerializer object if appropriate (see above). - // fp: either a FILE*, OR an ostream*/subclass_of_ostream*, OR a - // pointer to a class providing size_t Write(const void*, size_t), - // which writes a buffer into a stream (which fp presumably - // owns) and returns the number of bytes successfully written. - // Note basic_ostream is not currently supported. - // --------------------------------------------------------------- - template - bool serialize(ValueSerializer serializer, OUTPUT* fp) - { - return rep.serialize(serializer, fp); - } - - // serializer: a functor providing operator()(INPUT*, value_type*) - // (reading from INPUT and into value_type). You can specify a - // NopointerSerializer object if appropriate (see above). - // fp: either a FILE*, OR an istream*/subclass_of_istream*, OR a - // pointer to a class providing size_t Read(void*, size_t), - // which reads into a buffer from a stream (which fp presumably - // owns) and returns the number of bytes successfully read. - // Note basic_istream is not currently supported. - // NOTE: Since value_type is const Key, ValueSerializer - // may need to do a const cast in order to fill in the key. - // NOTE: if Key is not a POD type, the serializer MUST use - // placement-new to initialize its value, rather than a normal - // equals-assignment or similar. (The value_type* passed into - // the serializer points to garbage memory.) - // --------------------------------------------------------------- - template - bool unserialize(ValueSerializer serializer, INPUT* fp) - { - return rep.unserialize(serializer, fp); - } - - // The four methods below are DEPRECATED. - // Use serialize() and unserialize() for new code. - // ----------------------------------------------- - template - bool write_metadata(OUTPUT *fp) { return rep.write_metadata(fp); } - - template - bool read_metadata(INPUT *fp) { return rep.read_metadata(fp); } - - template - bool write_nopointer_data(OUTPUT *fp) { return rep.write_nopointer_data(fp); } - - template - bool read_nopointer_data(INPUT *fp) { return rep.read_nopointer_data(fp); } - -private: - // The actual data - // --------------- - ht rep; -}; - -} // spp_ namespace - - -// We need a global swap for all our classes as well -// ------------------------------------------------- - -template -inline void swap(spp_::sparsegroup &x, spp_::sparsegroup &y) -{ - x.swap(y); -} - -template -inline void swap(spp_::sparsetable &x, spp_::sparsetable &y) -{ - x.swap(y); -} - -template -inline void swap(spp_::sparse_hashtable &x, - spp_::sparse_hashtable &y) -{ - x.swap(y); -} - -template -inline void swap(spp_::sparse_hash_map& hm1, - spp_::sparse_hash_map& hm2) -{ - hm1.swap(hm2); -} - -template -inline void swap(spp_::sparse_hash_set& hs1, - spp_::sparse_hash_set& hs2) -{ - hs1.swap(hs2); -} - -#endif // sparsepp_h_guard_ diff --git a/Sourcecode/mx/sparsepp/spp_config.h b/Sourcecode/mx/sparsepp/spp_config.h deleted file mode 100755 index 46eeee5c2..000000000 --- a/Sourcecode/mx/sparsepp/spp_config.h +++ /dev/null @@ -1,781 +0,0 @@ -#if !defined(spp_config_h_guard) -#define spp_config_h_guard - -// -------------------------------------------------- -// Sparsepp config macros -// some can be overriden on the command line -// -------------------------------------------------- -#ifndef SPP_NAMESPACE - #define SPP_NAMESPACE spp -#endif - -#ifndef spp_ - #define spp_ SPP_NAMESPACE -#endif - -#ifndef SPP_DEFAULT_ALLOCATOR - #if (defined(SPP_USE_SPP_ALLOC) && SPP_USE_SPP_ALLOC) && defined(_MSC_VER) - // ----------------------------------------------------------------------------- - // When building with the Microsoft compiler, we use a custom allocator because - // the default one fragments memory when reallocating. This is desirable only - // when creating large sparsepp hash maps. If you create lots of small hash_maps, - // define the following before including spp.h: - // #define SPP_DEFAULT_ALLOCATOR spp::libc_allocator - // ----------------------------------------------------------------------------- - #define SPP_DEFAULT_ALLOCATOR spp_::spp_allocator - #define SPP_INCLUDE_SPP_ALLOC - #else - #define SPP_DEFAULT_ALLOCATOR spp_::libc_allocator - #endif -#endif - -#ifndef SPP_GROUP_SIZE - // must be 32 or 64 - #define SPP_GROUP_SIZE 32 -#endif - -#ifndef SPP_ALLOC_SZ - // must be power of 2 (0 = agressive alloc, 1 = smallest memory usage, 2 = good compromise) - #define SPP_ALLOC_SZ 0 -#endif - -#ifndef SPP_STORE_NUM_ITEMS - // 1 uses a little bit more memory, but faster!! - #define SPP_STORE_NUM_ITEMS 1 -#endif - - -// --------------------------------------------------------------------------- -// Compiler detection code (SPP_ proprocessor macros) derived from Boost -// libraries. Therefore Boost software licence reproduced below. -// --------------------------------------------------------------------------- -// Boost Software License - Version 1.0 - August 17th, 2003 -// -// Permission is hereby granted, free of charge, to any person or organization -// obtaining a copy of the software and accompanying documentation covered by -// this license (the "Software") to use, reproduce, display, distribute, -// execute, and transmit the Software, and to prepare derivative works of the -// Software, and to permit third-parties to whom the Software is furnished to -// do so, all subject to the following: -// -// The copyright notices in the Software and this entire statement, including -// the above license grant, this restriction and the following disclaimer, -// must be included in all copies of the Software, in whole or in part, and -// all derivative works of the Software, unless such copies or derivative -// works are solely in the form of machine-executable object code generated by -// a source language processor. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. -// --------------------------------------------------------------------------- - -// Boost like configuration -// ------------------------ -#if defined __clang__ - - #if defined(i386) - #include - inline void spp_cpuid(int info[4], int InfoType) { - __cpuid_count(InfoType, 0, info[0], info[1], info[2], info[3]); - } - #endif - - #define SPP_POPCNT __builtin_popcount - #define SPP_POPCNT64 __builtin_popcountll - - #define SPP_HAS_CSTDINT - - #ifndef __has_extension - #define __has_extension __has_feature - #endif - - #if !__has_feature(cxx_exceptions) && !defined(SPP_NO_EXCEPTIONS) - #define SPP_NO_EXCEPTIONS - #endif - - #if !__has_feature(cxx_rtti) && !defined(SPP_NO_RTTI) - #define SPP_NO_RTTI - #endif - - #if !__has_feature(cxx_rtti) && !defined(SPP_NO_TYPEID) - #define SPP_NO_TYPEID - #endif - - #if defined(__int64) && !defined(__GNUC__) - #define SPP_HAS_MS_INT64 - #endif - - #define SPP_HAS_NRVO - - // Branch prediction hints - #if defined(__has_builtin) - #if __has_builtin(__builtin_expect) - #define SPP_LIKELY(x) __builtin_expect(x, 1) - #define SPP_UNLIKELY(x) __builtin_expect(x, 0) - #endif - #endif - - // Clang supports "long long" in all compilation modes. - #define SPP_HAS_LONG_LONG - - #if !__has_feature(cxx_constexpr) - #define SPP_NO_CXX11_CONSTEXPR - #endif - - #if !__has_feature(cxx_decltype) - #define SPP_NO_CXX11_DECLTYPE - #endif - - #if !__has_feature(cxx_decltype_incomplete_return_types) - #define SPP_NO_CXX11_DECLTYPE_N3276 - #endif - - #if !__has_feature(cxx_defaulted_functions) - #define SPP_NO_CXX11_DEFAULTED_FUNCTIONS - #endif - - #if !__has_feature(cxx_deleted_functions) - #define SPP_NO_CXX11_DELETED_FUNCTIONS - #endif - - #if !__has_feature(cxx_explicit_conversions) - #define SPP_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS - #endif - - #if !__has_feature(cxx_default_function_template_args) - #define SPP_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS - #endif - - #if !__has_feature(cxx_generalized_initializers) - #define SPP_NO_CXX11_HDR_INITIALIZER_LIST - #endif - - #if !__has_feature(cxx_lambdas) - #define SPP_NO_CXX11_LAMBDAS - #endif - - #if !__has_feature(cxx_local_type_template_args) - #define SPP_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS - #endif - - #if !__has_feature(cxx_raw_string_literals) - #define SPP_NO_CXX11_RAW_LITERALS - #endif - - #if !__has_feature(cxx_reference_qualified_functions) - #define SPP_NO_CXX11_REF_QUALIFIERS - #endif - - #if !__has_feature(cxx_generalized_initializers) - #define SPP_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX - #endif - - #if !__has_feature(cxx_rvalue_references) - #define SPP_NO_CXX11_RVALUE_REFERENCES - #endif - - #if !__has_feature(cxx_static_assert) - #define SPP_NO_CXX11_STATIC_ASSERT - #endif - - #if !__has_feature(cxx_alias_templates) - #define SPP_NO_CXX11_TEMPLATE_ALIASES - #endif - - #if !__has_feature(cxx_variadic_templates) - #define SPP_NO_CXX11_VARIADIC_TEMPLATES - #endif - - #if !__has_feature(cxx_user_literals) - #define SPP_NO_CXX11_USER_DEFINED_LITERALS - #endif - - #if !__has_feature(cxx_alignas) - #define SPP_NO_CXX11_ALIGNAS - #endif - - #if !__has_feature(cxx_trailing_return) - #define SPP_NO_CXX11_TRAILING_RESULT_TYPES - #endif - - #if !__has_feature(cxx_inline_namespaces) - #define SPP_NO_CXX11_INLINE_NAMESPACES - #endif - - #if !__has_feature(cxx_override_control) - #define SPP_NO_CXX11_FINAL - #endif - - #if !(__has_feature(__cxx_binary_literals__) || __has_extension(__cxx_binary_literals__)) - #define SPP_NO_CXX14_BINARY_LITERALS - #endif - - #if !__has_feature(__cxx_decltype_auto__) - #define SPP_NO_CXX14_DECLTYPE_AUTO - #endif - - #if !__has_feature(__cxx_init_captures__) - #define SPP_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES - #endif - - #if !__has_feature(__cxx_generic_lambdas__) - #define SPP_NO_CXX14_GENERIC_LAMBDAS - #endif - - - #if !__has_feature(__cxx_generic_lambdas__) || !__has_feature(__cxx_relaxed_constexpr__) - #define SPP_NO_CXX14_CONSTEXPR - #endif - - #if !__has_feature(__cxx_return_type_deduction__) - #define SPP_NO_CXX14_RETURN_TYPE_DEDUCTION - #endif - - #if !__has_feature(__cxx_variable_templates__) - #define SPP_NO_CXX14_VARIABLE_TEMPLATES - #endif - - #if __cplusplus < 201400 - #define SPP_NO_CXX14_DIGIT_SEPARATORS - #endif - - #if defined(__has_builtin) && __has_builtin(__builtin_unreachable) - #define SPP_UNREACHABLE_RETURN(x) __builtin_unreachable(); - #endif - - #define SPP_ATTRIBUTE_UNUSED __attribute__((__unused__)) - - #ifndef SPP_COMPILER - #define SPP_COMPILER "Clang version " __clang_version__ - #endif - - #define SPP_CLANG 1 - - -#elif defined __GNUC__ - - #define SPP_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) - - // definition to expand macro then apply to pragma message - // #define VALUE_TO_STRING(x) #x - // #define VALUE(x) VALUE_TO_STRING(x) - // #define VAR_NAME_VALUE(var) #var "=" VALUE(var) - // #pragma message(VAR_NAME_VALUE(SPP_GCC_VERSION)) - - #if defined(i386) - #include - inline void spp_cpuid(int info[4], int InfoType) { - __cpuid_count(InfoType, 0, info[0], info[1], info[2], info[3]); - } - #endif - - // __POPCNT__ defined when the compiled with popcount support - // (-mpopcnt compiler option is given for example) - #ifdef __POPCNT__ - // slower unless compiled iwith -mpopcnt - #define SPP_POPCNT __builtin_popcount - #define SPP_POPCNT64 __builtin_popcountll - #endif - - #if defined(__GXX_EXPERIMENTAL_CXX0X__) || (__cplusplus >= 201103L) - #define SPP_GCC_CXX11 - #endif - - #if __GNUC__ == 3 - #if defined (__PATHSCALE__) - #define SPP_NO_TWO_PHASE_NAME_LOOKUP - #define SPP_NO_IS_ABSTRACT - #endif - - #if __GNUC_MINOR__ < 4 - #define SPP_NO_IS_ABSTRACT - #endif - - #define SPP_NO_CXX11_EXTERN_TEMPLATE - #endif - - #if __GNUC__ < 4 - // - // All problems to gcc-3.x and earlier here: - // - #define SPP_NO_TWO_PHASE_NAME_LOOKUP - #ifdef __OPEN64__ - #define SPP_NO_IS_ABSTRACT - #endif - #endif - - // GCC prior to 3.4 had #pragma once too but it didn't work well with filesystem links - #if SPP_GCC_VERSION >= 30400 - #define SPP_HAS_PRAGMA_ONCE - #endif - - #if SPP_GCC_VERSION < 40400 - // Previous versions of GCC did not completely implement value-initialization: - // GCC Bug 30111, "Value-initialization of POD base class doesn't initialize - // members", reported by Jonathan Wakely in 2006, - // http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30111 (fixed for GCC 4.4) - // GCC Bug 33916, "Default constructor fails to initialize array members", - // reported by Michael Elizabeth Chastain in 2007, - // http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33916 (fixed for GCC 4.2.4) - // See also: http://www.boost.org/libs/utility/value_init.htm #compiler_issues - #define SPP_NO_COMPLETE_VALUE_INITIALIZATION - #endif - - #if !defined(__EXCEPTIONS) && !defined(SPP_NO_EXCEPTIONS) - #define SPP_NO_EXCEPTIONS - #endif - - // - // Threading support: Turn this on unconditionally here (except for - // those platforms where we can know for sure). It will get turned off again - // later if no threading API is detected. - // - #if !defined(__MINGW32__) && !defined(linux) && !defined(__linux) && !defined(__linux__) - #define SPP_HAS_THREADS - #endif - - // - // gcc has "long long" - // Except on Darwin with standard compliance enabled (-pedantic) - // Apple gcc helpfully defines this macro we can query - // - #if !defined(__DARWIN_NO_LONG_LONG) - #define SPP_HAS_LONG_LONG - #endif - - // - // gcc implements the named return value optimization since version 3.1 - // - #define SPP_HAS_NRVO - - // Branch prediction hints - #define SPP_LIKELY(x) __builtin_expect(x, 1) - #define SPP_UNLIKELY(x) __builtin_expect(x, 0) - - // - // Dynamic shared object (DSO) and dynamic-link library (DLL) support - // - #if __GNUC__ >= 4 - #if (defined(_WIN32) || defined(__WIN32__) || defined(WIN32)) && !defined(__CYGWIN__) - // All Win32 development environments, including 64-bit Windows and MinGW, define - // _WIN32 or one of its variant spellings. Note that Cygwin is a POSIX environment, - // so does not define _WIN32 or its variants. - #define SPP_HAS_DECLSPEC - #define SPP_SYMBOL_EXPORT __attribute__((__dllexport__)) - #define SPP_SYMBOL_IMPORT __attribute__((__dllimport__)) - #else - #define SPP_SYMBOL_EXPORT __attribute__((__visibility__("default"))) - #define SPP_SYMBOL_IMPORT - #endif - - #define SPP_SYMBOL_VISIBLE __attribute__((__visibility__("default"))) - #else - // config/platform/win32.hpp will define SPP_SYMBOL_EXPORT, etc., unless already defined - #define SPP_SYMBOL_EXPORT - #endif - - // - // RTTI and typeinfo detection is possible post gcc-4.3: - // - #if SPP_GCC_VERSION > 40300 - #ifndef __GXX_RTTI - #ifndef SPP_NO_TYPEID - #define SPP_NO_TYPEID - #endif - #ifndef SPP_NO_RTTI - #define SPP_NO_RTTI - #endif - #endif - #endif - - // - // Recent GCC versions have __int128 when in 64-bit mode. - // - // We disable this if the compiler is really nvcc with C++03 as it - // doesn't actually support __int128 as of CUDA_VERSION=7500 - // even though it defines __SIZEOF_INT128__. - // See https://svn.boost.org/trac/boost/ticket/8048 - // https://svn.boost.org/trac/boost/ticket/11852 - // Only re-enable this for nvcc if you're absolutely sure - // of the circumstances under which it's supported: - // - #if defined(__CUDACC__) - #if defined(SPP_GCC_CXX11) - #define SPP_NVCC_CXX11 - #else - #define SPP_NVCC_CXX03 - #endif - #endif - - #if defined(__SIZEOF_INT128__) && !defined(SPP_NVCC_CXX03) - #define SPP_HAS_INT128 - #endif - // - // Recent GCC versions have a __float128 native type, we need to - // include a std lib header to detect this - not ideal, but we'll - // be including later anyway when we select the std lib. - // - // Nevertheless, as of CUDA 7.5, using __float128 with the host - // compiler in pre-C++11 mode is still not supported. - // See https://svn.boost.org/trac/boost/ticket/11852 - // - #ifdef __cplusplus - #include - #else - #include - #endif - - #if defined(_GLIBCXX_USE_FLOAT128) && !defined(__STRICT_ANSI__) && !defined(SPP_NVCC_CXX03) - #define SPP_HAS_FLOAT128 - #endif - - // C++0x features in 4.3.n and later - // - #if (SPP_GCC_VERSION >= 40300) && defined(SPP_GCC_CXX11) - // C++0x features are only enabled when -std=c++0x or -std=gnu++0x are - // passed on the command line, which in turn defines - // __GXX_EXPERIMENTAL_CXX0X__. - #define SPP_HAS_DECLTYPE - #define SPP_HAS_RVALUE_REFS - #define SPP_HAS_STATIC_ASSERT - #define SPP_HAS_VARIADIC_TMPL - #define SPP_HAS_CSTDINT - #else - #define SPP_NO_CXX11_DECLTYPE - #define SPP_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS - #define SPP_NO_CXX11_RVALUE_REFERENCES - #define SPP_NO_CXX11_STATIC_ASSERT - #endif - - // C++0x features in 4.4.n and later - // - #if (SPP_GCC_VERSION < 40400) || !defined(SPP_GCC_CXX11) - #define SPP_NO_CXX11_AUTO_DECLARATIONS - #define SPP_NO_CXX11_AUTO_MULTIDECLARATIONS - #define SPP_NO_CXX11_CHAR16_T - #define SPP_NO_CXX11_CHAR32_T - #define SPP_NO_CXX11_HDR_INITIALIZER_LIST - #define SPP_NO_CXX11_DEFAULTED_FUNCTIONS - #define SPP_NO_CXX11_DELETED_FUNCTIONS - #define SPP_NO_CXX11_TRAILING_RESULT_TYPES - #define SPP_NO_CXX11_INLINE_NAMESPACES - #define SPP_NO_CXX11_VARIADIC_TEMPLATES - #endif - - #if SPP_GCC_VERSION < 40500 - #define SPP_NO_SFINAE_EXPR - #endif - - // GCC 4.5 forbids declaration of defaulted functions in private or protected sections - #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ == 5) || !defined(SPP_GCC_CXX11) - #define SPP_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS - #endif - - // C++0x features in 4.5.0 and later - // - #if (SPP_GCC_VERSION < 40500) || !defined(SPP_GCC_CXX11) - #define SPP_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS - #define SPP_NO_CXX11_LAMBDAS - #define SPP_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS - #define SPP_NO_CXX11_RAW_LITERALS - #endif - - // C++0x features in 4.6.n and later - // - #if (SPP_GCC_VERSION < 40600) || !defined(SPP_GCC_CXX11) - #define SPP_NO_CXX11_CONSTEXPR - #define SPP_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX - #endif - - // C++0x features in 4.7.n and later - // - #if (SPP_GCC_VERSION < 40700) || !defined(SPP_GCC_CXX11) - #define SPP_NO_CXX11_FINAL - #define SPP_NO_CXX11_TEMPLATE_ALIASES - #define SPP_NO_CXX11_USER_DEFINED_LITERALS - #define SPP_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS - #endif - - // C++0x features in 4.8.n and later - // - #if (SPP_GCC_VERSION < 40800) || !defined(SPP_GCC_CXX11) - #define SPP_NO_CXX11_ALIGNAS - #endif - - // C++0x features in 4.8.1 and later - // - #if (SPP_GCC_VERSION < 40801) || !defined(SPP_GCC_CXX11) - #define SPP_NO_CXX11_DECLTYPE_N3276 - #define SPP_NO_CXX11_REF_QUALIFIERS - #define SPP_NO_CXX14_BINARY_LITERALS - #endif - - // C++14 features in 4.9.0 and later - // - #if (SPP_GCC_VERSION < 40900) || (__cplusplus < 201300) - #define SPP_NO_CXX14_RETURN_TYPE_DEDUCTION - #define SPP_NO_CXX14_GENERIC_LAMBDAS - #define SPP_NO_CXX14_DIGIT_SEPARATORS - #define SPP_NO_CXX14_DECLTYPE_AUTO - #if !((SPP_GCC_VERSION >= 40801) && (SPP_GCC_VERSION < 40900) && defined(SPP_GCC_CXX11)) - #define SPP_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES - #endif - #endif - - - // C++ 14: - #if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) - #define SPP_NO_CXX14_CONSTEXPR - #endif - #if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) - #define SPP_NO_CXX14_VARIABLE_TEMPLATES - #endif - - // - // Unused attribute: - #if __GNUC__ >= 4 - #define SPP_ATTRIBUTE_UNUSED __attribute__((__unused__)) - #endif - // - // __builtin_unreachable: - #if SPP_GCC_VERSION >= 40800 - #define SPP_UNREACHABLE_RETURN(x) __builtin_unreachable(); - #endif - - #ifndef SPP_COMPILER - #define SPP_COMPILER "GNU C++ version " __VERSION__ - #endif - - // ConceptGCC compiler: - // http://www.generic-programming.org/software/ConceptGCC/ - #ifdef __GXX_CONCEPTS__ - #define SPP_HAS_CONCEPTS - #define SPP_COMPILER "ConceptGCC version " __VERSION__ - #endif - -#elif defined _MSC_VER - - #include // for __popcnt() - - #define SPP_POPCNT_CHECK // slower when defined, but we have to check! - #define spp_cpuid(info, x) __cpuid(info, x) - - #define SPP_POPCNT __popcnt - #if (SPP_GROUP_SIZE == 64 && INTPTR_MAX == INT64_MAX) - #define SPP_POPCNT64 __popcnt64 - #endif - - // Attempt to suppress VC6 warnings about the length of decorated names (obsolete): - #pragma warning( disable : 4503 ) // warning: decorated name length exceeded - - #define SPP_HAS_PRAGMA_ONCE - #define SPP_HAS_CSTDINT - - // - // versions check: - // we don't support Visual C++ prior to version 7.1: - #if _MSC_VER < 1310 - #error "Antique compiler not supported" - #endif - - #if _MSC_FULL_VER < 180020827 - #define SPP_NO_FENV_H - #endif - - #if _MSC_VER < 1400 - // although a conforming signature for swprint exists in VC7.1 - // it appears not to actually work: - #define SPP_NO_SWPRINTF - - // Our extern template tests also fail for this compiler: - #define SPP_NO_CXX11_EXTERN_TEMPLATE - - // Variadic macros do not exist for VC7.1 and lower - #define SPP_NO_CXX11_VARIADIC_MACROS - #endif - - #if _MSC_VER < 1500 // 140X == VC++ 8.0 - #undef SPP_HAS_CSTDINT - #define SPP_NO_MEMBER_TEMPLATE_FRIENDS - #endif - - #if _MSC_VER < 1600 // 150X == VC++ 9.0 - // A bug in VC9: - #define SPP_NO_ADL_BARRIER - #endif - - - // MSVC (including the latest checked version) has not yet completely - // implemented value-initialization, as is reported: - // "VC++ does not value-initialize members of derived classes without - // user-declared constructor", reported in 2009 by Sylvester Hesp: - // https: //connect.microsoft.com/VisualStudio/feedback/details/484295 - // "Presence of copy constructor breaks member class initialization", - // reported in 2009 by Alex Vakulenko: - // https: //connect.microsoft.com/VisualStudio/feedback/details/499606 - // "Value-initialization in new-expression", reported in 2005 by - // Pavel Kuznetsov (MetaCommunications Engineering): - // https: //connect.microsoft.com/VisualStudio/feedback/details/100744 - // See also: http: //www.boost.org/libs/utility/value_init.htm #compiler_issues - // (Niels Dekker, LKEB, May 2010) - #define SPP_NO_COMPLETE_VALUE_INITIALIZATION - - #ifndef _NATIVE_WCHAR_T_DEFINED - #define SPP_NO_INTRINSIC_WCHAR_T - #endif - - // - // check for exception handling support: - #if !defined(_CPPUNWIND) && !defined(SPP_NO_EXCEPTIONS) - #define SPP_NO_EXCEPTIONS - #endif - - // - // __int64 support: - // - #define SPP_HAS_MS_INT64 - #if defined(_MSC_EXTENSIONS) || (_MSC_VER >= 1400) - #define SPP_HAS_LONG_LONG - #else - #define SPP_NO_LONG_LONG - #endif - - #if (_MSC_VER >= 1400) && !defined(_DEBUG) - #define SPP_HAS_NRVO - #endif - - #if _MSC_VER >= 1500 // 150X == VC++ 9.0 - #define SPP_HAS_PRAGMA_DETECT_MISMATCH - #endif - - // - // disable Win32 API's if compiler extensions are - // turned off: - // - #if !defined(_MSC_EXTENSIONS) && !defined(SPP_DISABLE_WIN32) - #define SPP_DISABLE_WIN32 - #endif - - #if !defined(_CPPRTTI) && !defined(SPP_NO_RTTI) - #define SPP_NO_RTTI - #endif - - // - // TR1 features: - // - #if _MSC_VER >= 1700 - // #define SPP_HAS_TR1_HASH // don't know if this is true yet. - // #define SPP_HAS_TR1_TYPE_TRAITS // don't know if this is true yet. - #define SPP_HAS_TR1_UNORDERED_MAP - #define SPP_HAS_TR1_UNORDERED_SET - #endif - - // - // C++0x features - // - // See above for SPP_NO_LONG_LONG - - // C++ features supported by VC++ 10 (aka 2010) - // - #if _MSC_VER < 1600 - #define SPP_NO_CXX11_AUTO_DECLARATIONS - #define SPP_NO_CXX11_AUTO_MULTIDECLARATIONS - #define SPP_NO_CXX11_LAMBDAS - #define SPP_NO_CXX11_RVALUE_REFERENCES - #define SPP_NO_CXX11_STATIC_ASSERT - #define SPP_NO_CXX11_DECLTYPE - #endif // _MSC_VER < 1600 - - #if _MSC_VER >= 1600 - #define SPP_HAS_STDINT_H - #endif - - // C++11 features supported by VC++ 11 (aka 2012) - // - #if _MSC_VER < 1700 - #define SPP_NO_CXX11_FINAL - #endif // _MSC_VER < 1700 - - // C++11 features supported by VC++ 12 (aka 2013). - // - #if _MSC_FULL_VER < 180020827 - #define SPP_NO_CXX11_DEFAULTED_FUNCTIONS - #define SPP_NO_CXX11_DELETED_FUNCTIONS - #define SPP_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS - #define SPP_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS - #define SPP_NO_CXX11_RAW_LITERALS - #define SPP_NO_CXX11_TEMPLATE_ALIASES - #define SPP_NO_CXX11_TRAILING_RESULT_TYPES - #define SPP_NO_CXX11_VARIADIC_TEMPLATES - #define SPP_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX - #define SPP_NO_CXX11_DECLTYPE_N3276 - #endif - - // C++11 features supported by VC++ 14 (aka 2014) CTP1 - #if (_MSC_FULL_VER < 190021730) - #define SPP_NO_CXX11_REF_QUALIFIERS - #define SPP_NO_CXX11_USER_DEFINED_LITERALS - #define SPP_NO_CXX11_ALIGNAS - #define SPP_NO_CXX11_INLINE_NAMESPACES - #define SPP_NO_CXX14_DECLTYPE_AUTO - #define SPP_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES - #define SPP_NO_CXX14_RETURN_TYPE_DEDUCTION - #define SPP_NO_CXX11_HDR_INITIALIZER_LIST - #endif - - // C++11 features not supported by any versions - #define SPP_NO_CXX11_CHAR16_T - #define SPP_NO_CXX11_CHAR32_T - #define SPP_NO_CXX11_CONSTEXPR - #define SPP_NO_SFINAE_EXPR - #define SPP_NO_TWO_PHASE_NAME_LOOKUP - - // C++ 14: - #if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) - #define SPP_NO_CXX14_BINARY_LITERALS - #endif - - #if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) - #define SPP_NO_CXX14_CONSTEXPR - #endif - - #if (__cplusplus < 201304) // There's no SD6 check for this.... - #define SPP_NO_CXX14_DIGIT_SEPARATORS - #endif - - #if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) - #define SPP_NO_CXX14_GENERIC_LAMBDAS - #endif - - #if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) - #define SPP_NO_CXX14_VARIABLE_TEMPLATES - #endif - -#endif - -// from boost/config/suffix.hpp -// ---------------------------- -#ifndef SPP_ATTRIBUTE_UNUSED - #define SPP_ATTRIBUTE_UNUSED -#endif - -/* - Try to persuade compilers to inline. -*/ -#ifndef SPP_FORCEINLINE - #if defined(__GNUC__) - #define SPP_FORCEINLINE __inline __attribute__ ((always_inline)) - #elif defined(_MSC_VER) - #define SPP_FORCEINLINE __forceinline - #else - #define SPP_FORCEINLINE inline - #endif -#endif - - -#endif // spp_config_h_guard diff --git a/Sourcecode/mx/sparsepp/spp_dlalloc.h b/Sourcecode/mx/sparsepp/spp_dlalloc.h deleted file mode 100755 index 865a867fe..000000000 --- a/Sourcecode/mx/sparsepp/spp_dlalloc.h +++ /dev/null @@ -1,4039 +0,0 @@ -#ifndef spp_dlalloc__h_ -#define spp_dlalloc__h_ - -/* This is a C++ allocator created from Doug Lea's dlmalloc - (Version 2.8.6 Wed Aug 29 06:57:58 2012) - see: http://g.oswego.edu/dl/html/malloc.html -*/ - -#include "spp_utils.h" -#include "spp_smartptr.h" - - -#ifndef SPP_FORCEINLINE - #if defined(__GNUC__) - #define SPP_FORCEINLINE __inline __attribute__ ((always_inline)) - #elif defined(_MSC_VER) - #define SPP_FORCEINLINE __forceinline - #else - #define SPP_FORCEINLINE inline - #endif -#endif - - -#ifndef SPP_IMPL - #define SPP_IMPL SPP_FORCEINLINE -#endif - -#ifndef SPP_API - #define SPP_API static -#endif - - -namespace spp -{ - // ---------------------- allocator internal API ----------------------- - typedef void* mspace; - - /* - create_mspace creates and returns a new independent space with the - given initial capacity, or, if 0, the default granularity size. It - returns null if there is no system memory available to create the - space. If argument locked is non-zero, the space uses a separate - lock to control access. The capacity of the space will grow - dynamically as needed to service mspace_malloc requests. You can - control the sizes of incremental increases of this space by - compiling with a different SPP_DEFAULT_GRANULARITY or dynamically - setting with mallopt(M_GRANULARITY, value). - */ - SPP_API mspace create_mspace(size_t capacity, int locked); - SPP_API size_t destroy_mspace(mspace msp); - SPP_API void* mspace_malloc(mspace msp, size_t bytes); - SPP_API void mspace_free(mspace msp, void* mem); - SPP_API void* mspace_realloc(mspace msp, void* mem, size_t newsize); - -#if 0 - SPP_API mspace create_mspace_with_base(void* base, size_t capacity, int locked); - SPP_API int mspace_track_large_chunks(mspace msp, int enable); - SPP_API void* mspace_calloc(mspace msp, size_t n_elements, size_t elem_size); - SPP_API void* mspace_memalign(mspace msp, size_t alignment, size_t bytes); - SPP_API void** mspace_independent_calloc(mspace msp, size_t n_elements, - size_t elem_size, void* chunks[]); - SPP_API void** mspace_independent_comalloc(mspace msp, size_t n_elements, - size_t sizes[], void* chunks[]); - SPP_API size_t mspace_footprint(mspace msp); - SPP_API size_t mspace_max_footprint(mspace msp); - SPP_API size_t mspace_usable_size(const void* mem); - SPP_API int mspace_trim(mspace msp, size_t pad); - SPP_API int mspace_mallopt(int, int); -#endif - - // ----------------------------------------------------------- - // ----------------------------------------------------------- - struct MSpace : public spp_rc - { - MSpace() : - _sp(create_mspace(0, 0)) - {} - - ~MSpace() - { - destroy_mspace(_sp); - } - - mspace _sp; - }; - - // ----------------------------------------------------------- - // ----------------------------------------------------------- - template - class spp_allocator - { - public: - typedef T value_type; - typedef T* pointer; - typedef ptrdiff_t difference_type; - typedef const T* const_pointer; - typedef size_t size_type; - - MSpace *getSpace() const { return _space.get(); } - - spp_allocator() : _space(new MSpace) {} - - template - spp_allocator(const spp_allocator &o) : _space(o.getSpace()) {} - - template - spp_allocator& operator=(const spp_allocator &o) - { - if (&o != this) - _space = o.getSpace(); - return *this; - } - - void swap(spp_allocator &o) - { - std::swap(_space, o._space); - } - - pointer allocate(size_t n, const_pointer /* unused */ = 0) - { - pointer res = static_cast(mspace_malloc(_space->_sp, n * sizeof(T))); - if (!res) - throw std::bad_alloc(); - return res; - } - - void deallocate(pointer p, size_t /* unused */) - { - mspace_free(_space->_sp, p); - } - - pointer reallocate(pointer p, size_t new_size) - { - pointer res = static_cast(mspace_realloc(_space->_sp, p, new_size * sizeof(T))); - if (!res) - throw std::bad_alloc(); - return res; - } - - size_type max_size() const - { - return static_cast(-1) / sizeof(value_type); - } - - void construct(pointer p, const value_type& val) - { - new (p) value_type(val); - } - - void destroy(pointer p) { p->~value_type(); } - - template - struct rebind - { - // rebind to libc_allocator because we want to use malloc_inspect_all in destructive_iterator - // to reduce peak memory usage (we don't want mixed with value_type when - // we traverse the allocated memory). - typedef spp::spp_allocator other; - }; - - mspace space() const { return _space->_sp; } - - // check if we can clear the whole allocator memory at once => works only if the allocator - // is not be shared. If can_clear() returns true, we expect that the next allocator call - // will be clear() - not allocate() or deallocate() - bool can_clear() - { - assert(!_space_to_clear); - _space_to_clear.reset(); - _space_to_clear.swap(_space); - if (_space_to_clear->count() == 1) - return true; - else - _space_to_clear.swap(_space); - return false; - } - - void clear() - { - assert(!_space && _space_to_clear); - _space_to_clear.reset(); - _space = new MSpace; - } - - private: - spp_sptr _space; - spp_sptr _space_to_clear; - }; -} - - -// allocators are "equal" whenever memory allocated with one can be deallocated with the other -template -inline bool operator==(const spp_::spp_allocator &a, const spp_::spp_allocator &b) -{ - return a.space() == b.space(); -} - -template -inline bool operator!=(const spp_::spp_allocator &a, const spp_::spp_allocator &b) -{ - return !(a == b); -} - -namespace std -{ - template - inline void swap(spp_::spp_allocator &a, spp_::spp_allocator &b) - { - a.swap(b); - } -} - -#if !defined(SPP_EXCLUDE_IMPLEMENTATION) - -#ifndef WIN32 - #ifdef _WIN32 - #define WIN32 1 - #endif - #ifdef _WIN32_WCE - #define SPP_LACKS_FCNTL_H - #define WIN32 1 - #endif -#endif - -#ifdef WIN32 - #define WIN32_LEAN_AND_MEAN - #include - #include - #define SPP_HAVE_MMAP 1 - #define SPP_LACKS_UNISTD_H - #define SPP_LACKS_SYS_PARAM_H - #define SPP_LACKS_SYS_MMAN_H - #define SPP_LACKS_STRING_H - #define SPP_LACKS_STRINGS_H - #define SPP_LACKS_SYS_TYPES_H - #define SPP_LACKS_ERRNO_H - #define SPP_LACKS_SCHED_H - #ifndef SPP_MALLOC_FAILURE_ACTION - #define SPP_MALLOC_FAILURE_ACTION - #endif - #ifndef SPP_MMAP_CLEARS - #ifdef _WIN32_WCE /* WINCE reportedly does not clear */ - #define SPP_MMAP_CLEARS 0 - #else - #define SPP_MMAP_CLEARS 1 - #endif - #endif -#endif - -#if defined(DARWIN) || defined(_DARWIN) - #define SPP_HAVE_MMAP 1 - /* OSX allocators provide 16 byte alignment */ - #ifndef SPP_MALLOC_ALIGNMENT - #define SPP_MALLOC_ALIGNMENT ((size_t)16U) - #endif -#endif - -#ifndef SPP_LACKS_SYS_TYPES_H - #include /* For size_t */ -#endif - -#ifndef SPP_MALLOC_ALIGNMENT - #define SPP_MALLOC_ALIGNMENT ((size_t)(2 * sizeof(void *))) -#endif - -/* ------------------- size_t and alignment properties -------------------- */ -static const size_t spp_max_size_t = ~(size_t)0; -static const size_t spp_size_t_bitsize = sizeof(size_t) << 3; -static const size_t spp_half_max_size_t = spp_max_size_t / 2U; -static const size_t spp_chunk_align_mask = SPP_MALLOC_ALIGNMENT - 1; - -#if defined(SPP_DEBUG) || !defined(NDEBUG) -static bool spp_is_aligned(void *p) { return ((size_t)p & spp_chunk_align_mask) == 0; } -#endif - -// the number of bytes to offset an address to align it -static size_t align_offset(void *p) -{ - return (((size_t)p & spp_chunk_align_mask) == 0) ? 0 : - ((SPP_MALLOC_ALIGNMENT - ((size_t)p & spp_chunk_align_mask)) & spp_chunk_align_mask); -} - - -#ifndef SPP_FOOTERS - #define SPP_FOOTERS 0 -#endif - -#ifndef SPP_ABORT - #define SPP_ABORT abort() -#endif - -#ifndef SPP_ABORT_ON_ASSERT_FAILURE - #define SPP_ABORT_ON_ASSERT_FAILURE 1 -#endif - -#ifndef SPP_PROCEED_ON_ERROR - #define SPP_PROCEED_ON_ERROR 0 -#endif - -#ifndef SPP_INSECURE - #define SPP_INSECURE 0 -#endif - -#ifndef SPP_MALLOC_INSPECT_ALL - #define SPP_MALLOC_INSPECT_ALL 0 -#endif - -#ifndef SPP_HAVE_MMAP - #define SPP_HAVE_MMAP 1 -#endif - -#ifndef SPP_MMAP_CLEARS - #define SPP_MMAP_CLEARS 1 -#endif - -#ifndef SPP_HAVE_MREMAP - #ifdef linux - #define SPP_HAVE_MREMAP 1 - #ifndef _GNU_SOURCE - #define _GNU_SOURCE /* Turns on mremap() definition */ - #endif - #else - #define SPP_HAVE_MREMAP 0 - #endif -#endif - -#ifndef SPP_MALLOC_FAILURE_ACTION - // ENOMEM = 12 - #define SPP_MALLOC_FAILURE_ACTION errno = 12 -#endif - - -#ifndef SPP_DEFAULT_GRANULARITY - #if defined(WIN32) - #define SPP_DEFAULT_GRANULARITY (0) /* 0 means to compute in init_mparams */ - #else - #define SPP_DEFAULT_GRANULARITY ((size_t)64U * (size_t)1024U) - #endif -#endif - -#ifndef SPP_DEFAULT_TRIM_THRESHOLD - #define SPP_DEFAULT_TRIM_THRESHOLD ((size_t)2U * (size_t)1024U * (size_t)1024U) -#endif - -#ifndef SPP_DEFAULT_MMAP_THRESHOLD - #if SPP_HAVE_MMAP - #define SPP_DEFAULT_MMAP_THRESHOLD ((size_t)256U * (size_t)1024U) - #else - #define SPP_DEFAULT_MMAP_THRESHOLD spp_max_size_t - #endif -#endif - -#ifndef SPP_MAX_RELEASE_CHECK_RATE - #if SPP_HAVE_MMAP - #define SPP_MAX_RELEASE_CHECK_RATE 4095 - #else - #define SPP_MAX_RELEASE_CHECK_RATE spp_max_size_t - #endif -#endif - -#ifndef SPP_USE_BUILTIN_FFS - #define SPP_USE_BUILTIN_FFS 0 -#endif - -#ifndef SPP_USE_DEV_RANDOM - #define SPP_USE_DEV_RANDOM 0 -#endif - -#ifndef SPP_NO_SEGMENT_TRAVERSAL - #define SPP_NO_SEGMENT_TRAVERSAL 0 -#endif - - - -/*------------------------------ internal #includes ---------------------- */ - -#ifdef _MSC_VER - #pragma warning( disable : 4146 ) /* no "unsigned" warnings */ -#endif -#ifndef SPP_LACKS_ERRNO_H - #include /* for SPP_MALLOC_FAILURE_ACTION */ -#endif - -#ifdef SPP_DEBUG - #if SPP_ABORT_ON_ASSERT_FAILURE - #undef assert - #define assert(x) if(!(x)) SPP_ABORT - #else - #include - #endif -#else - #ifndef assert - #define assert(x) - #endif - #define SPP_DEBUG 0 -#endif - -#if !defined(WIN32) && !defined(SPP_LACKS_TIME_H) - #include /* for magic initialization */ -#endif - -#ifndef SPP_LACKS_STDLIB_H - #include /* for abort() */ -#endif - -#ifndef SPP_LACKS_STRING_H - #include /* for memset etc */ -#endif - -#if SPP_USE_BUILTIN_FFS - #ifndef SPP_LACKS_STRINGS_H - #include /* for ffs */ - #endif -#endif - -#if SPP_HAVE_MMAP - #ifndef SPP_LACKS_SYS_MMAN_H - /* On some versions of linux, mremap decl in mman.h needs __USE_GNU set */ - #if (defined(linux) && !defined(__USE_GNU)) - #define __USE_GNU 1 - #include /* for mmap */ - #undef __USE_GNU - #else - #include /* for mmap */ - #endif - #endif - #ifndef SPP_LACKS_FCNTL_H - #include - #endif -#endif - -#ifndef SPP_LACKS_UNISTD_H - #include /* for sbrk, sysconf */ -#else - #if !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__NetBSD__) - extern void* sbrk(ptrdiff_t); - #endif -#endif - -#include - -namespace spp -{ - -/* Declarations for bit scanning on win32 */ -#if defined(_MSC_VER) && _MSC_VER>=1300 - #ifndef BitScanForward /* Try to avoid pulling in WinNT.h */ - extern "C" { - unsigned char _BitScanForward(unsigned long *index, unsigned long mask); - unsigned char _BitScanReverse(unsigned long *index, unsigned long mask); - } - - #define BitScanForward _BitScanForward - #define BitScanReverse _BitScanReverse - #pragma intrinsic(_BitScanForward) - #pragma intrinsic(_BitScanReverse) - #endif /* BitScanForward */ -#endif /* defined(_MSC_VER) && _MSC_VER>=1300 */ - -#ifndef WIN32 - #ifndef malloc_getpagesize - #ifdef _SC_PAGESIZE /* some SVR4 systems omit an underscore */ - #ifndef _SC_PAGE_SIZE - #define _SC_PAGE_SIZE _SC_PAGESIZE - #endif - #endif - #ifdef _SC_PAGE_SIZE - #define malloc_getpagesize sysconf(_SC_PAGE_SIZE) - #else - #if defined(BSD) || defined(DGUX) || defined(HAVE_GETPAGESIZE) - extern size_t getpagesize(); - #define malloc_getpagesize getpagesize() - #else - #ifdef WIN32 /* use supplied emulation of getpagesize */ - #define malloc_getpagesize getpagesize() - #else - #ifndef SPP_LACKS_SYS_PARAM_H - #include - #endif - #ifdef EXEC_PAGESIZE - #define malloc_getpagesize EXEC_PAGESIZE - #else - #ifdef NBPG - #ifndef CLSIZE - #define malloc_getpagesize NBPG - #else - #define malloc_getpagesize (NBPG * CLSIZE) - #endif - #else - #ifdef NBPC - #define malloc_getpagesize NBPC - #else - #ifdef PAGESIZE - #define malloc_getpagesize PAGESIZE - #else /* just guess */ - #define malloc_getpagesize ((size_t)4096U) - #endif - #endif - #endif - #endif - #endif - #endif - #endif - #endif -#endif - -/* -------------------------- MMAP preliminaries ------------------------- */ - -/* - If SPP_HAVE_MORECORE or SPP_HAVE_MMAP are false, we just define calls and - checks to fail so compiler optimizer can delete code rather than - using so many "#if"s. -*/ - - -/* MMAP must return mfail on failure */ -static void *mfail = (void*)spp_max_size_t; -static char *cmfail = (char*)mfail; - -#if SPP_HAVE_MMAP - -#ifndef WIN32 - #define SPP_MUNMAP_DEFAULT(a, s) munmap((a), (s)) - #define SPP_MMAP_PROT (PROT_READ | PROT_WRITE) - #if !defined(MAP_ANONYMOUS) && defined(MAP_ANON) - #define MAP_ANONYMOUS MAP_ANON - #endif - - #ifdef MAP_ANONYMOUS - #define SPP_MMAP_FLAGS (MAP_PRIVATE | MAP_ANONYMOUS) - #define SPP_MMAP_DEFAULT(s) mmap(0, (s), SPP_MMAP_PROT, SPP_MMAP_FLAGS, -1, 0) - #else /* MAP_ANONYMOUS */ - /* - Nearly all versions of mmap support MAP_ANONYMOUS, so the following - is unlikely to be needed, but is supplied just in case. - */ - #define SPP_MMAP_FLAGS (MAP_PRIVATE) - static int dev_zero_fd = -1; /* Cached file descriptor for /dev/zero. */ - void SPP_MMAP_DEFAULT(size_t s) - { - if (dev_zero_fd < 0) - dev_zero_fd = open("/dev/zero", O_RDWR); - mmap(0, s, SPP_MMAP_PROT, SPP_MMAP_FLAGS, dev_zero_fd, 0); - } - #endif /* MAP_ANONYMOUS */ - - #define SPP_DIRECT_MMAP_DEFAULT(s) SPP_MMAP_DEFAULT(s) - -#else /* WIN32 */ - - /* Win32 MMAP via VirtualAlloc */ - static SPP_FORCEINLINE void* win32mmap(size_t size) - { - void* ptr = VirtualAlloc(0, size, MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE); - return (ptr != 0) ? ptr : mfail; - } - - /* For direct MMAP, use MEM_TOP_DOWN to minimize interference */ - static SPP_FORCEINLINE void* win32direct_mmap(size_t size) - { - void* ptr = VirtualAlloc(0, size, MEM_RESERVE | MEM_COMMIT | MEM_TOP_DOWN, - PAGE_READWRITE); - return (ptr != 0) ? ptr : mfail; - } - - /* This function supports releasing coalesed segments */ - static SPP_FORCEINLINE int win32munmap(void* ptr, size_t size) - { - MEMORY_BASIC_INFORMATION minfo; - char* cptr = (char*)ptr; - while (size) - { - if (VirtualQuery(cptr, &minfo, sizeof(minfo)) == 0) - return -1; - if (minfo.BaseAddress != cptr || minfo.AllocationBase != cptr || - minfo.State != MEM_COMMIT || minfo.RegionSize > size) - return -1; - if (VirtualFree(cptr, 0, MEM_RELEASE) == 0) - return -1; - cptr += minfo.RegionSize; - size -= minfo.RegionSize; - } - return 0; - } - - #define SPP_MMAP_DEFAULT(s) win32mmap(s) - #define SPP_MUNMAP_DEFAULT(a, s) win32munmap((a), (s)) - #define SPP_DIRECT_MMAP_DEFAULT(s) win32direct_mmap(s) -#endif /* WIN32 */ -#endif /* SPP_HAVE_MMAP */ - -#if SPP_HAVE_MREMAP - #ifndef WIN32 - #define SPP_MREMAP_DEFAULT(addr, osz, nsz, mv) mremap((addr), (osz), (nsz), (mv)) - #endif -#endif - -/** - * Define SPP_CALL_MMAP/SPP_CALL_MUNMAP/SPP_CALL_DIRECT_MMAP - */ -#if SPP_HAVE_MMAP - #define USE_MMAP_BIT 1 - - #ifdef SPP_MMAP - #define SPP_CALL_MMAP(s) SPP_MMAP(s) - #else - #define SPP_CALL_MMAP(s) SPP_MMAP_DEFAULT(s) - #endif - - #ifdef SPP_MUNMAP - #define SPP_CALL_MUNMAP(a, s) SPP_MUNMAP((a), (s)) - #else - #define SPP_CALL_MUNMAP(a, s) SPP_MUNMAP_DEFAULT((a), (s)) - #endif - - #ifdef SPP_DIRECT_MMAP - #define SPP_CALL_DIRECT_MMAP(s) SPP_DIRECT_MMAP(s) - #else - #define SPP_CALL_DIRECT_MMAP(s) SPP_DIRECT_MMAP_DEFAULT(s) - #endif - -#else /* SPP_HAVE_MMAP */ - #define USE_MMAP_BIT 0 - - #define SPP_MMAP(s) mfail - #define SPP_MUNMAP(a, s) (-1) - #define SPP_DIRECT_MMAP(s) mfail - #define SPP_CALL_DIRECT_MMAP(s) SPP_DIRECT_MMAP(s) - #define SPP_CALL_MMAP(s) SPP_MMAP(s) - #define SPP_CALL_MUNMAP(a, s) SPP_MUNMAP((a), (s)) -#endif - -/** - * Define SPP_CALL_MREMAP - */ -#if SPP_HAVE_MMAP && SPP_HAVE_MREMAP - #ifdef MREMAP - #define SPP_CALL_MREMAP(addr, osz, nsz, mv) MREMAP((addr), (osz), (nsz), (mv)) - #else - #define SPP_CALL_MREMAP(addr, osz, nsz, mv) SPP_MREMAP_DEFAULT((addr), (osz), (nsz), (mv)) - #endif -#else - #define SPP_CALL_MREMAP(addr, osz, nsz, mv) mfail -#endif - -/* mstate bit set if continguous morecore disabled or failed */ -static const unsigned USE_NONCONTIGUOUS_BIT = 4U; - -/* segment bit set in create_mspace_with_base */ -static const unsigned EXTERN_BIT = 8U; - - -/* --------------------------- flags ------------------------ */ - -static const unsigned PINUSE_BIT = 1; -static const unsigned CINUSE_BIT = 2; -static const unsigned FLAG4_BIT = 4; -static const unsigned INUSE_BITS = (PINUSE_BIT | CINUSE_BIT); -static const unsigned FLAG_BITS = (PINUSE_BIT | CINUSE_BIT | FLAG4_BIT); - -/* ------------------- Chunks sizes and alignments ----------------------- */ - -#if SPP_FOOTERS - static const unsigned CHUNK_OVERHEAD = 2 * sizeof(size_t); -#else - static const unsigned CHUNK_OVERHEAD = sizeof(size_t); -#endif - -/* MMapped chunks need a second word of overhead ... */ -static const unsigned SPP_MMAP_CHUNK_OVERHEAD = 2 * sizeof(size_t); - -/* ... and additional padding for fake next-chunk at foot */ -static const unsigned SPP_MMAP_FOOT_PAD = 4 * sizeof(size_t); - -// =============================================================================== -struct malloc_chunk_header -{ - void set_size_and_pinuse_of_free_chunk(size_t s) - { - _head = s | PINUSE_BIT; - set_foot(s); - } - - void set_foot(size_t s) - { - ((malloc_chunk_header *)((char*)this + s))->_prev_foot = s; - } - - // extraction of fields from head words - bool cinuse() const { return !!(_head & CINUSE_BIT); } - bool pinuse() const { return !!(_head & PINUSE_BIT); } - bool flag4inuse() const { return !!(_head & FLAG4_BIT); } - bool is_inuse() const { return (_head & INUSE_BITS) != PINUSE_BIT; } - bool is_mmapped() const { return (_head & INUSE_BITS) == 0; } - - size_t chunksize() const { return _head & ~(FLAG_BITS); } - - void clear_pinuse() { _head &= ~PINUSE_BIT; } - void set_flag4() { _head |= FLAG4_BIT; } - void clear_flag4() { _head &= ~FLAG4_BIT; } - - // Treat space at ptr +/- offset as a chunk - malloc_chunk_header * chunk_plus_offset(size_t s) - { - return (malloc_chunk_header *)((char*)this + s); - } - malloc_chunk_header * chunk_minus_offset(size_t s) - { - return (malloc_chunk_header *)((char*)this - s); - } - - // Ptr to next or previous physical malloc_chunk. - malloc_chunk_header * next_chunk() - { - return (malloc_chunk_header *)((char*)this + (_head & ~FLAG_BITS)); - } - malloc_chunk_header * prev_chunk() - { - return (malloc_chunk_header *)((char*)this - (_prev_foot)); - } - - // extract next chunk's pinuse bit - size_t next_pinuse() { return next_chunk()->_head & PINUSE_BIT; } - - size_t _prev_foot; // Size of previous chunk (if free). - size_t _head; // Size and inuse bits. -}; - -// =============================================================================== -struct malloc_chunk : public malloc_chunk_header -{ - // Set size, pinuse bit, foot, and clear next pinuse - void set_free_with_pinuse(size_t s, malloc_chunk* n) - { - n->clear_pinuse(); - set_size_and_pinuse_of_free_chunk(s); - } - - // Get the internal overhead associated with chunk p - size_t overhead_for() { return is_mmapped() ? SPP_MMAP_CHUNK_OVERHEAD : CHUNK_OVERHEAD; } - - // Return true if malloced space is not necessarily cleared - bool calloc_must_clear() - { -#if SPP_MMAP_CLEARS - return !is_mmapped(); -#else - return true; -#endif - } - - struct malloc_chunk* _fd; // double links -- used only if free. - struct malloc_chunk* _bk; -}; - -static const unsigned MCHUNK_SIZE = sizeof(malloc_chunk); - -/* The smallest size we can malloc is an aligned minimal chunk */ -static const unsigned MIN_CHUNK_SIZE = (MCHUNK_SIZE + spp_chunk_align_mask) & ~spp_chunk_align_mask; - -typedef malloc_chunk mchunk; -typedef malloc_chunk* mchunkptr; -typedef malloc_chunk_header *hchunkptr; -typedef malloc_chunk* sbinptr; // The type of bins of chunks -typedef unsigned int bindex_t; // Described below -typedef unsigned int binmap_t; // Described below -typedef unsigned int flag_t; // The type of various bit flag sets - -// conversion from malloc headers to user pointers, and back -static SPP_FORCEINLINE void *chunk2mem(const void *p) { return (void *)((char *)p + 2 * sizeof(size_t)); } -static SPP_FORCEINLINE mchunkptr mem2chunk(const void *mem) { return (mchunkptr)((char *)mem - 2 * sizeof(size_t)); } - -// chunk associated with aligned address A -static SPP_FORCEINLINE mchunkptr align_as_chunk(char *A) { return (mchunkptr)(A + align_offset(chunk2mem(A))); } - -// Bounds on request (not chunk) sizes. -static const unsigned MAX_REQUEST = (-MIN_CHUNK_SIZE) << 2; -static const unsigned MIN_REQUEST = MIN_CHUNK_SIZE - CHUNK_OVERHEAD - 1; - -// pad request bytes into a usable size -static SPP_FORCEINLINE size_t pad_request(size_t req) -{ - return (req + CHUNK_OVERHEAD + spp_chunk_align_mask) & ~spp_chunk_align_mask; -} - -// pad request, checking for minimum (but not maximum) -static SPP_FORCEINLINE size_t request2size(size_t req) -{ - return req < MIN_REQUEST ? MIN_CHUNK_SIZE : pad_request(req); -} - - -/* ------------------ Operations on head and foot fields ----------------- */ - -/* - The head field of a chunk is or'ed with PINUSE_BIT when previous - adjacent chunk in use, and or'ed with CINUSE_BIT if this chunk is in - use, unless mmapped, in which case both bits are cleared. - - FLAG4_BIT is not used by this malloc, but might be useful in extensions. -*/ - -// Head value for fenceposts -static const unsigned FENCEPOST_HEAD = INUSE_BITS | sizeof(size_t); - - -/* ---------------------- Overlaid data structures ----------------------- */ - -/* - When chunks are not in use, they are treated as nodes of either - lists or trees. - - "Small" chunks are stored in circular doubly-linked lists, and look - like this: - - chunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Size of previous chunk | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - `head:' | Size of chunk, in bytes |P| - mem-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Forward pointer to next chunk in list | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Back pointer to previous chunk in list | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Unused space (may be 0 bytes long) . - . . - . | -nextchunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - `foot:' | Size of chunk, in bytes | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - - Larger chunks are kept in a form of bitwise digital trees (aka - tries) keyed on chunksizes. Because malloc_tree_chunks are only for - free chunks greater than 256 bytes, their size doesn't impose any - constraints on user chunk sizes. Each node looks like: - - chunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Size of previous chunk | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - `head:' | Size of chunk, in bytes |P| - mem-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Forward pointer to next chunk of same size | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Back pointer to previous chunk of same size | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Pointer to left child (child[0]) | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Pointer to right child (child[1]) | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Pointer to parent | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | bin index of this chunk | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Unused space . - . | -nextchunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - `foot:' | Size of chunk, in bytes | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - - Each tree holding treenodes is a tree of unique chunk sizes. Chunks - of the same size are arranged in a circularly-linked list, with only - the oldest chunk (the next to be used, in our FIFO ordering) - actually in the tree. (Tree members are distinguished by a non-null - parent pointer.) If a chunk with the same size an an existing node - is inserted, it is linked off the existing node using pointers that - work in the same way as fd/bk pointers of small chunks. - - Each tree contains a power of 2 sized range of chunk sizes (the - smallest is 0x100 <= x < 0x180), which is is divided in half at each - tree level, with the chunks in the smaller half of the range (0x100 - <= x < 0x140 for the top nose) in the left subtree and the larger - half (0x140 <= x < 0x180) in the right subtree. This is, of course, - done by inspecting individual bits. - - Using these rules, each node's left subtree contains all smaller - sizes than its right subtree. However, the node at the root of each - subtree has no particular ordering relationship to either. (The - dividing line between the subtree sizes is based on trie relation.) - If we remove the last chunk of a given size from the interior of the - tree, we need to replace it with a leaf node. The tree ordering - rules permit a node to be replaced by any leaf below it. - - The smallest chunk in a tree (a common operation in a best-fit - allocator) can be found by walking a path to the leftmost leaf in - the tree. Unlike a usual binary tree, where we follow left child - pointers until we reach a null, here we follow the right child - pointer any time the left one is null, until we reach a leaf with - both child pointers null. The smallest chunk in the tree will be - somewhere along that path. - - The worst case number of steps to add, find, or remove a node is - bounded by the number of bits differentiating chunks within - bins. Under current bin calculations, this ranges from 6 up to 21 - (for 32 bit sizes) or up to 53 (for 64 bit sizes). The typical case - is of course much better. -*/ - -// =============================================================================== -struct malloc_tree_chunk : public malloc_chunk_header -{ - malloc_tree_chunk *leftmost_child() - { - return _child[0] ? _child[0] : _child[1]; - } - - - malloc_tree_chunk* _fd; - malloc_tree_chunk* _bk; - - malloc_tree_chunk* _child[2]; - malloc_tree_chunk* _parent; - bindex_t _index; -}; - -typedef malloc_tree_chunk tchunk; -typedef malloc_tree_chunk* tchunkptr; -typedef malloc_tree_chunk* tbinptr; // The type of bins of trees - -/* ----------------------------- Segments -------------------------------- */ - -/* - Each malloc space may include non-contiguous segments, held in a - list headed by an embedded malloc_segment record representing the - top-most space. Segments also include flags holding properties of - the space. Large chunks that are directly allocated by mmap are not - included in this list. They are instead independently created and - destroyed without otherwise keeping track of them. - - Segment management mainly comes into play for spaces allocated by - MMAP. Any call to MMAP might or might not return memory that is - adjacent to an existing segment. MORECORE normally contiguously - extends the current space, so this space is almost always adjacent, - which is simpler and faster to deal with. (This is why MORECORE is - used preferentially to MMAP when both are available -- see - sys_alloc.) When allocating using MMAP, we don't use any of the - hinting mechanisms (inconsistently) supported in various - implementations of unix mmap, or distinguish reserving from - committing memory. Instead, we just ask for space, and exploit - contiguity when we get it. It is probably possible to do - better than this on some systems, but no general scheme seems - to be significantly better. - - Management entails a simpler variant of the consolidation scheme - used for chunks to reduce fragmentation -- new adjacent memory is - normally prepended or appended to an existing segment. However, - there are limitations compared to chunk consolidation that mostly - reflect the fact that segment processing is relatively infrequent - (occurring only when getting memory from system) and that we - don't expect to have huge numbers of segments: - - * Segments are not indexed, so traversal requires linear scans. (It - would be possible to index these, but is not worth the extra - overhead and complexity for most programs on most platforms.) - * New segments are only appended to old ones when holding top-most - memory; if they cannot be prepended to others, they are held in - different segments. - - Except for the top-most segment of an mstate, each segment record - is kept at the tail of its segment. Segments are added by pushing - segment records onto the list headed by &mstate.seg for the - containing mstate. - - Segment flags control allocation/merge/deallocation policies: - * If EXTERN_BIT set, then we did not allocate this segment, - and so should not try to deallocate or merge with others. - (This currently holds only for the initial segment passed - into create_mspace_with_base.) - * If USE_MMAP_BIT set, the segment may be merged with - other surrounding mmapped segments and trimmed/de-allocated - using munmap. - * If neither bit is set, then the segment was obtained using - MORECORE so can be merged with surrounding MORECORE'd segments - and deallocated/trimmed using MORECORE with negative arguments. -*/ - -// =============================================================================== -struct malloc_segment -{ - bool is_mmapped_segment() { return !!(_sflags & USE_MMAP_BIT); } - bool is_extern_segment() { return !!(_sflags & EXTERN_BIT); } - - char* _base; // base address - size_t _size; // allocated size - malloc_segment* _next; // ptr to next segment - flag_t _sflags; // mmap and extern flag -}; - -typedef malloc_segment msegment; -typedef malloc_segment* msegmentptr; - -/* ------------- Malloc_params ------------------- */ - -/* - malloc_params holds global properties, including those that can be - dynamically set using mallopt. There is a single instance, mparams, - initialized in init_mparams. Note that the non-zeroness of "magic" - also serves as an initialization flag. -*/ - -// =============================================================================== -struct malloc_params -{ - malloc_params() : _magic(0) {} - - void ensure_initialization() - { - if (!_magic) - _init(); - } - - SPP_IMPL int change(int param_number, int value); - - size_t page_align(size_t sz) - { - return (sz + (_page_size - 1)) & ~(_page_size - 1); - } - - size_t granularity_align(size_t sz) - { - return (sz + (_granularity - 1)) & ~(_granularity - 1); - } - - bool is_page_aligned(char *S) - { - return ((size_t)S & (_page_size - 1)) == 0; - } - - SPP_IMPL int _init(); - - size_t _magic; - size_t _page_size; - size_t _granularity; - size_t _mmap_threshold; - size_t _trim_threshold; - flag_t _default_mflags; -}; - -static malloc_params mparams; - -/* ---------------------------- malloc_state ----------------------------- */ - -/* - A malloc_state holds all of the bookkeeping for a space. - The main fields are: - - Top - The topmost chunk of the currently active segment. Its size is - cached in topsize. The actual size of topmost space is - topsize+TOP_FOOT_SIZE, which includes space reserved for adding - fenceposts and segment records if necessary when getting more - space from the system. The size at which to autotrim top is - cached from mparams in trim_check, except that it is disabled if - an autotrim fails. - - Designated victim (dv) - This is the preferred chunk for servicing small requests that - don't have exact fits. It is normally the chunk split off most - recently to service another small request. Its size is cached in - dvsize. The link fields of this chunk are not maintained since it - is not kept in a bin. - - SmallBins - An array of bin headers for free chunks. These bins hold chunks - with sizes less than MIN_LARGE_SIZE bytes. Each bin contains - chunks of all the same size, spaced 8 bytes apart. To simplify - use in double-linked lists, each bin header acts as a malloc_chunk - pointing to the real first node, if it exists (else pointing to - itself). This avoids special-casing for headers. But to avoid - waste, we allocate only the fd/bk pointers of bins, and then use - repositioning tricks to treat these as the fields of a chunk. - - TreeBins - Treebins are pointers to the roots of trees holding a range of - sizes. There are 2 equally spaced treebins for each power of two - from TREE_SHIFT to TREE_SHIFT+16. The last bin holds anything - larger. - - Bin maps - There is one bit map for small bins ("smallmap") and one for - treebins ("treemap). Each bin sets its bit when non-empty, and - clears the bit when empty. Bit operations are then used to avoid - bin-by-bin searching -- nearly all "search" is done without ever - looking at bins that won't be selected. The bit maps - conservatively use 32 bits per map word, even if on 64bit system. - For a good description of some of the bit-based techniques used - here, see Henry S. Warren Jr's book "Hacker's Delight" (and - supplement at http://hackersdelight.org/). Many of these are - intended to reduce the branchiness of paths through malloc etc, as - well as to reduce the number of memory locations read or written. - - Segments - A list of segments headed by an embedded malloc_segment record - representing the initial space. - - Address check support - The least_addr field is the least address ever obtained from - MORECORE or MMAP. Attempted frees and reallocs of any address less - than this are trapped (unless SPP_INSECURE is defined). - - Magic tag - A cross-check field that should always hold same value as mparams._magic. - - Max allowed footprint - The maximum allowed bytes to allocate from system (zero means no limit) - - Flags - Bits recording whether to use MMAP, locks, or contiguous MORECORE - - Statistics - Each space keeps track of current and maximum system memory - obtained via MORECORE or MMAP. - - Trim support - Fields holding the amount of unused topmost memory that should trigger - trimming, and a counter to force periodic scanning to release unused - non-topmost segments. - - Extension support - A void* pointer and a size_t field that can be used to help implement - extensions to this malloc. -*/ - - -// ================================================================================ -class malloc_state -{ -public: - /* ----------------------- _malloc, _free, etc... --- */ - SPP_FORCEINLINE void* _malloc(size_t bytes); - SPP_FORCEINLINE void _free(mchunkptr p); - - - /* ------------------------ Relays to internal calls to malloc/free from realloc, memalign etc */ - void *internal_malloc(size_t b) { return mspace_malloc(this, b); } - void internal_free(void *mem) { mspace_free(this, mem); } - - /* ------------------------ ----------------------- */ - - SPP_IMPL void init_top(mchunkptr p, size_t psize); - SPP_IMPL void init_bins(); - SPP_IMPL void init(char* tbase, size_t tsize); - - /* ------------------------ System alloc/dealloc -------------------------- */ - SPP_IMPL void* sys_alloc(size_t nb); - SPP_IMPL size_t release_unused_segments(); - SPP_IMPL int sys_trim(size_t pad); - SPP_IMPL void dispose_chunk(mchunkptr p, size_t psize); - - /* ----------------------- Internal support for realloc, memalign, etc --- */ - SPP_IMPL mchunkptr try_realloc_chunk(mchunkptr p, size_t nb, int can_move); - SPP_IMPL void* internal_memalign(size_t alignment, size_t bytes); - SPP_IMPL void** ialloc(size_t n_elements, size_t* sizes, int opts, void* chunks[]); - SPP_IMPL size_t internal_bulk_free(void* array[], size_t nelem); - SPP_IMPL void internal_inspect_all(void(*handler)(void *start, void *end, - size_t used_bytes, void* callback_arg), - void* arg); - - /* -------------------------- system alloc setup (Operations on mflags) ----- */ - bool use_lock() const { return false; } - void enable_lock() {} - void set_lock(int) {} - void disable_lock() {} - - bool use_mmap() const { return !!(_mflags & USE_MMAP_BIT); } - void enable_mmap() { _mflags |= USE_MMAP_BIT; } - -#if SPP_HAVE_MMAP - void disable_mmap() { _mflags &= ~USE_MMAP_BIT; } -#else - void disable_mmap() {} -#endif - - /* ----------------------- Runtime Check Support ------------------------- */ - - /* - For security, the main invariant is that malloc/free/etc never - writes to a static address other than malloc_state, unless static - malloc_state itself has been corrupted, which cannot occur via - malloc (because of these checks). In essence this means that we - believe all pointers, sizes, maps etc held in malloc_state, but - check all of those linked or offsetted from other embedded data - structures. These checks are interspersed with main code in a way - that tends to minimize their run-time cost. - - When SPP_FOOTERS is defined, in addition to range checking, we also - verify footer fields of inuse chunks, which can be used guarantee - that the mstate controlling malloc/free is intact. This is a - streamlined version of the approach described by William Robertson - et al in "Run-time Detection of Heap-based Overflows" LISA'03 - http://www.usenix.org/events/lisa03/tech/robertson.html The footer - of an inuse chunk holds the xor of its mstate and a random seed, - that is checked upon calls to free() and realloc(). This is - (probabalistically) unguessable from outside the program, but can be - computed by any code successfully malloc'ing any chunk, so does not - itself provide protection against code that has already broken - security through some other means. Unlike Robertson et al, we - always dynamically check addresses of all offset chunks (previous, - next, etc). This turns out to be cheaper than relying on hashes. - */ - - -#if !SPP_INSECURE - // Check if address a is at least as high as any from MORECORE or MMAP - bool ok_address(void *a) const { return (char *)a >= _least_addr; } - - // Check if address of next chunk n is higher than base chunk p - static bool ok_next(void *p, void *n) { return p < n; } - - // Check if p has inuse status - static bool ok_inuse(mchunkptr p) { return p->is_inuse(); } - - // Check if p has its pinuse bit on - static bool ok_pinuse(mchunkptr p) { return p->pinuse(); } - - // Check if (alleged) mstate m has expected magic field - bool ok_magic() const { return _magic == mparams._magic; } - - // In gcc, use __builtin_expect to minimize impact of checks - #if defined(__GNUC__) && __GNUC__ >= 3 - static bool rtcheck(bool e) { return __builtin_expect(e, 1); } - #else - static bool rtcheck(bool e) { return e; } - #endif -#else - static bool ok_address(void *) { return true; } - static bool ok_next(void *, void *) { return true; } - static bool ok_inuse(mchunkptr) { return true; } - static bool ok_pinuse(mchunkptr) { return true; } - static bool ok_magic() { return true; } - static bool rtcheck(bool) { return true; } -#endif - - bool is_initialized() const { return _top != 0; } - - bool use_noncontiguous() const { return !!(_mflags & USE_NONCONTIGUOUS_BIT); } - void disable_contiguous() { _mflags |= USE_NONCONTIGUOUS_BIT; } - - // Return segment holding given address - msegmentptr segment_holding(char* addr) const - { - msegmentptr sp = (msegmentptr)&_seg; - for (;;) - { - if (addr >= sp->_base && addr < sp->_base + sp->_size) - return sp; - if ((sp = sp->_next) == 0) - return 0; - } - } - - // Return true if segment contains a segment link - int has_segment_link(msegmentptr ss) const - { - msegmentptr sp = (msegmentptr)&_seg; - for (;;) - { - if ((char*)sp >= ss->_base && (char*)sp < ss->_base + ss->_size) - return 1; - if ((sp = sp->_next) == 0) - return 0; - } - } - - bool should_trim(size_t s) const { return s > _trim_check; } - - /* -------------------------- Debugging setup ---------------------------- */ - -#if ! SPP_DEBUG - void check_free_chunk(mchunkptr) {} - void check_inuse_chunk(mchunkptr) {} - void check_malloced_chunk(void*, size_t) {} - void check_mmapped_chunk(mchunkptr) {} - void check_malloc_state() {} - void check_top_chunk(mchunkptr) {} -#else /* SPP_DEBUG */ - void check_free_chunk(mchunkptr p) { do_check_free_chunk(p); } - void check_inuse_chunk(mchunkptr p) { do_check_inuse_chunk(p); } - void check_malloced_chunk(void* p, size_t s) { do_check_malloced_chunk(p, s); } - void check_mmapped_chunk(mchunkptr p) { do_check_mmapped_chunk(p); } - void check_malloc_state() { do_check_malloc_state(); } - void check_top_chunk(mchunkptr p) { do_check_top_chunk(p); } - - void do_check_any_chunk(mchunkptr p) const; - void do_check_top_chunk(mchunkptr p) const; - void do_check_mmapped_chunk(mchunkptr p) const; - void do_check_inuse_chunk(mchunkptr p) const; - void do_check_free_chunk(mchunkptr p) const; - void do_check_malloced_chunk(void* mem, size_t s) const; - void do_check_tree(tchunkptr t); - void do_check_treebin(bindex_t i); - void do_check_smallbin(bindex_t i); - void do_check_malloc_state(); - int bin_find(mchunkptr x); - size_t traverse_and_check(); -#endif - -private: - - /* ---------------------------- Indexing Bins ---------------------------- */ - - static bool is_small(size_t s) { return (s >> SMALLBIN_SHIFT) < NSMALLBINS; } - static bindex_t small_index(size_t s) { return (bindex_t)(s >> SMALLBIN_SHIFT); } - static size_t small_index2size(size_t i) { return i << SMALLBIN_SHIFT; } - static bindex_t MIN_SMALL_INDEX() { return small_index(MIN_CHUNK_SIZE); } - - // assign tree index for size S to variable I. Use x86 asm if possible -#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) - SPP_FORCEINLINE static bindex_t compute_tree_index(size_t S) - { - unsigned int X = S >> TREEBIN_SHIFT; - if (X == 0) - return 0; - else if (X > 0xFFFF) - return NTREEBINS - 1; - - unsigned int K = (unsigned) sizeof(X) * __CHAR_BIT__ - 1 - (unsigned) __builtin_clz(X); - return (bindex_t)((K << 1) + ((S >> (K + (TREEBIN_SHIFT - 1)) & 1))); - } - -#elif defined (__INTEL_COMPILER) - SPP_FORCEINLINE static bindex_t compute_tree_index(size_t S) - { - size_t X = S >> TREEBIN_SHIFT; - if (X == 0) - return 0; - else if (X > 0xFFFF) - return NTREEBINS - 1; - - unsigned int K = _bit_scan_reverse(X); - return (bindex_t)((K << 1) + ((S >> (K + (TREEBIN_SHIFT - 1)) & 1))); - } - -#elif defined(_MSC_VER) && _MSC_VER>=1300 - SPP_FORCEINLINE static bindex_t compute_tree_index(size_t S) - { - size_t X = S >> TREEBIN_SHIFT; - if (X == 0) - return 0; - else if (X > 0xFFFF) - return NTREEBINS - 1; - - unsigned int K; - _BitScanReverse((DWORD *) &K, (DWORD) X); - return (bindex_t)((K << 1) + ((S >> (K + (TREEBIN_SHIFT - 1)) & 1))); - } - -#else // GNUC - SPP_FORCEINLINE static bindex_t compute_tree_index(size_t S) - { - size_t X = S >> TREEBIN_SHIFT; - if (X == 0) - return 0; - else if (X > 0xFFFF) - return NTREEBINS - 1; - - unsigned int Y = (unsigned int)X; - unsigned int N = ((Y - 0x100) >> 16) & 8; - unsigned int K = (((Y <<= N) - 0x1000) >> 16) & 4; - N += K; - N += K = (((Y <<= K) - 0x4000) >> 16) & 2; - K = 14 - N + ((Y <<= K) >> 15); - return (K << 1) + ((S >> (K + (TREEBIN_SHIFT - 1)) & 1)); - } -#endif - - // Shift placing maximum resolved bit in a treebin at i as sign bit - static bindex_t leftshift_for_tree_index(bindex_t i) - { - return (i == NTREEBINS - 1) ? 0 : - ((spp_size_t_bitsize - 1) - ((i >> 1) + TREEBIN_SHIFT - 2)); - } - - // The size of the smallest chunk held in bin with index i - static bindex_t minsize_for_tree_index(bindex_t i) - { - return ((size_t)1 << ((i >> 1) + TREEBIN_SHIFT)) | - (((size_t)(i & 1)) << ((i >> 1) + TREEBIN_SHIFT - 1)); - } - - - // ----------- isolate the least set bit of a bitmap - static binmap_t least_bit(binmap_t x) { return x & -x; } - - // ----------- mask with all bits to left of least bit of x on - static binmap_t left_bits(binmap_t x) { return (x << 1) | -(x << 1); } - - // index corresponding to given bit. Use x86 asm if possible -#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) - static bindex_t compute_bit2idx(binmap_t X) - { - unsigned int J; - J = __builtin_ctz(X); - return (bindex_t)J; - } - -#elif defined (__INTEL_COMPILER) - static bindex_t compute_bit2idx(binmap_t X) - { - unsigned int J; - J = _bit_scan_forward(X); - return (bindex_t)J; - } - -#elif defined(_MSC_VER) && _MSC_VER>=1300 - static bindex_t compute_bit2idx(binmap_t X) - { - unsigned int J; - _BitScanForward((DWORD *) &J, X); - return (bindex_t)J; - } - -#elif SPP_USE_BUILTIN_FFS - static bindex_t compute_bit2idx(binmap_t X) { return ffs(X) - 1; } - -#else - static bindex_t compute_bit2idx(binmap_t X) - { - unsigned int Y = X - 1; - unsigned int K = Y >> (16 - 4) & 16; - unsigned int N = K; Y >>= K; - N += K = Y >> (8 - 3) & 8; Y >>= K; - N += K = Y >> (4 - 2) & 4; Y >>= K; - N += K = Y >> (2 - 1) & 2; Y >>= K; - N += K = Y >> (1 - 0) & 1; Y >>= K; - return (bindex_t)(N + Y); - } -#endif - - /* ------------------------ Set up inuse chunks with or without footers ---*/ -#if !SPP_FOOTERS - void mark_inuse_foot(malloc_chunk_header *, size_t) {} -#else - //Set foot of inuse chunk to be xor of mstate and seed - void mark_inuse_foot(malloc_chunk_header *p, size_t s) - { - (((mchunkptr)((char*)p + s))->prev_foot = (size_t)this ^ mparams._magic); - } -#endif - - void set_inuse(malloc_chunk_header *p, size_t s) - { - p->_head = (p->_head & PINUSE_BIT) | s | CINUSE_BIT; - ((mchunkptr)(((char*)p) + s))->_head |= PINUSE_BIT; - mark_inuse_foot(p, s); - } - - void set_inuse_and_pinuse(malloc_chunk_header *p, size_t s) - { - p->_head = s | PINUSE_BIT | CINUSE_BIT; - ((mchunkptr)(((char*)p) + s))->_head |= PINUSE_BIT; - mark_inuse_foot(p, s); - } - - void set_size_and_pinuse_of_inuse_chunk(malloc_chunk_header *p, size_t s) - { - p->_head = s | PINUSE_BIT | CINUSE_BIT; - mark_inuse_foot(p, s); - } - - /* ------------------------ Addressing by index. See about smallbin repositioning --- */ - sbinptr smallbin_at(bindex_t i) const { return (sbinptr)((char*)&_smallbins[i << 1]); } - tbinptr* treebin_at(bindex_t i) { return &_treebins[i]; } - - /* ----------------------- bit corresponding to given index ---------*/ - static binmap_t idx2bit(bindex_t i) { return ((binmap_t)1 << i); } - - // --------------- Mark/Clear bits with given index - void mark_smallmap(bindex_t i) { _smallmap |= idx2bit(i); } - void clear_smallmap(bindex_t i) { _smallmap &= ~idx2bit(i); } - binmap_t smallmap_is_marked(bindex_t i) const { return _smallmap & idx2bit(i); } - - void mark_treemap(bindex_t i) { _treemap |= idx2bit(i); } - void clear_treemap(bindex_t i) { _treemap &= ~idx2bit(i); } - binmap_t treemap_is_marked(bindex_t i) const { return _treemap & idx2bit(i); } - - /* ------------------------ ----------------------- */ - SPP_FORCEINLINE void insert_small_chunk(mchunkptr P, size_t S); - SPP_FORCEINLINE void unlink_small_chunk(mchunkptr P, size_t S); - SPP_FORCEINLINE void unlink_first_small_chunk(mchunkptr B, mchunkptr P, bindex_t I); - SPP_FORCEINLINE void replace_dv(mchunkptr P, size_t S); - - /* ------------------------- Operations on trees ------------------------- */ - SPP_FORCEINLINE void insert_large_chunk(tchunkptr X, size_t S); - SPP_FORCEINLINE void unlink_large_chunk(tchunkptr X); - - /* ------------------------ Relays to large vs small bin operations */ - SPP_FORCEINLINE void insert_chunk(mchunkptr P, size_t S); - SPP_FORCEINLINE void unlink_chunk(mchunkptr P, size_t S); - - /* ----------------------- Direct-mmapping chunks ----------------------- */ - SPP_IMPL void* mmap_alloc(size_t nb); - SPP_IMPL mchunkptr mmap_resize(mchunkptr oldp, size_t nb, int flags); - - SPP_IMPL void reset_on_error(); - SPP_IMPL void* prepend_alloc(char* newbase, char* oldbase, size_t nb); - SPP_IMPL void add_segment(char* tbase, size_t tsize, flag_t mmapped); - - /* ------------------------ malloc --------------------------- */ - SPP_IMPL void* tmalloc_large(size_t nb); - SPP_IMPL void* tmalloc_small(size_t nb); - - /* ------------------------Bin types, widths and sizes -------- */ - static const size_t NSMALLBINS = 32; - static const size_t NTREEBINS = 32; - static const size_t SMALLBIN_SHIFT = 3; - static const size_t SMALLBIN_WIDTH = 1 << SMALLBIN_SHIFT; - static const size_t TREEBIN_SHIFT = 8; - static const size_t MIN_LARGE_SIZE = 1 << TREEBIN_SHIFT; - static const size_t MAX_SMALL_SIZE = (MIN_LARGE_SIZE - 1); - static const size_t MAX_SMALL_REQUEST = (MAX_SMALL_SIZE - spp_chunk_align_mask - CHUNK_OVERHEAD); - - /* ------------------------ data members --------------------------- */ - binmap_t _smallmap; - binmap_t _treemap; - size_t _dvsize; - size_t _topsize; - char* _least_addr; - mchunkptr _dv; - mchunkptr _top; - size_t _trim_check; - size_t _release_checks; - size_t _magic; - mchunkptr _smallbins[(NSMALLBINS + 1) * 2]; - tbinptr _treebins[NTREEBINS]; -public: - size_t _footprint; - size_t _max_footprint; - size_t _footprint_limit; // zero means no limit - flag_t _mflags; - - msegment _seg; - -private: - void* _extp; // Unused but available for extensions - size_t _exts; -}; - -typedef malloc_state* mstate; - -/* ------------- end malloc_state ------------------- */ - -#if SPP_FOOTERS -static malloc_state* get_mstate_for(malloc_chunk_header *p) -{ - return (malloc_state*)(((mchunkptr)((char*)(p) + - (p->chunksize())))->prev_foot ^ mparams._magic); -} -#endif - -/* -------------------------- system alloc setup ------------------------- */ - - - -// For mmap, use granularity alignment on windows, else page-align -#ifdef WIN32 - #define mmap_align(S) mparams.granularity_align(S) -#else - #define mmap_align(S) mparams.page_align(S) -#endif - -// True if segment S holds address A -static bool segment_holds(msegmentptr S, mchunkptr A) -{ - return (char*)A >= S->_base && (char*)A < S->_base + S->_size; -} - -/* - top_foot_size is padding at the end of a segment, including space - that may be needed to place segment records and fenceposts when new - noncontiguous segments are added. -*/ -static SPP_FORCEINLINE size_t top_foot_size() -{ - return align_offset(chunk2mem((void *)0)) + - pad_request(sizeof(struct malloc_segment)) + - MIN_CHUNK_SIZE; -} - - -// For sys_alloc, enough padding to ensure can malloc request on success -static SPP_FORCEINLINE size_t sys_alloc_padding() -{ - return top_foot_size() + SPP_MALLOC_ALIGNMENT; -} - - -#define SPP_USAGE_ERROR_ACTION(m,p) SPP_ABORT - -/* ---------------------------- setting mparams -------------------------- */ - -// Initialize mparams -int malloc_params::_init() -{ -#ifdef NEED_GLOBAL_LOCK_INIT - if (malloc_global_mutex_status <= 0) - init_malloc_global_mutex(); -#endif - - if (_magic == 0) - { - size_t magic; - size_t psize; - size_t gsize; - -#ifndef WIN32 - psize = malloc_getpagesize; - gsize = ((SPP_DEFAULT_GRANULARITY != 0) ? SPP_DEFAULT_GRANULARITY : psize); -#else - { - SYSTEM_INFO system_info; - GetSystemInfo(&system_info); - psize = system_info.dwPageSize; - gsize = ((SPP_DEFAULT_GRANULARITY != 0) ? - SPP_DEFAULT_GRANULARITY : system_info.dwAllocationGranularity); - } -#endif - - /* Sanity-check configuration: - size_t must be unsigned and as wide as pointer type. - ints must be at least 4 bytes. - alignment must be at least 8. - Alignment, min chunk size, and page size must all be powers of 2. - */ - if ((sizeof(size_t) != sizeof(char*)) || - (spp_max_size_t < MIN_CHUNK_SIZE) || - (sizeof(int) < 4) || - (SPP_MALLOC_ALIGNMENT < (size_t)8U) || - ((SPP_MALLOC_ALIGNMENT & (SPP_MALLOC_ALIGNMENT - 1)) != 0) || - ((MCHUNK_SIZE & (MCHUNK_SIZE - 1)) != 0) || - ((gsize & (gsize - 1)) != 0) || - ((psize & (psize - 1)) != 0)) - SPP_ABORT; - _granularity = gsize; - _page_size = psize; - _mmap_threshold = SPP_DEFAULT_MMAP_THRESHOLD; - _trim_threshold = SPP_DEFAULT_TRIM_THRESHOLD; - _default_mflags = USE_MMAP_BIT | USE_NONCONTIGUOUS_BIT; - - { -#if SPP_USE_DEV_RANDOM - int fd; - unsigned char buf[sizeof(size_t)]; - // Try to use /dev/urandom, else fall back on using time - if ((fd = open("/dev/urandom", O_RDONLY)) >= 0 && - read(fd, buf, sizeof(buf)) == sizeof(buf)) - { - magic = *((size_t *) buf); - close(fd); - } - else -#endif - { -#ifdef WIN32 - magic = (size_t)(GetTickCount() ^ (size_t)0x55555555U); -#elif defined(SPP_LACKS_TIME_H) - magic = (size_t)&magic ^ (size_t)0x55555555U; -#else - magic = (size_t)(time(0) ^ (size_t)0x55555555U); -#endif - } - magic |= (size_t)8U; // ensure nonzero - magic &= ~(size_t)7U; // improve chances of fault for bad values - // Until memory modes commonly available, use volatile-write - (*(volatile size_t *)(&(_magic))) = magic; - } - } - - return 1; -} - -/* - mallopt tuning options. SVID/XPG defines four standard parameter - numbers for mallopt, normally defined in malloc.h. None of these - are used in this malloc, so setting them has no effect. But this - malloc does support the following options. -*/ -static const int m_trim_threshold = -1; -static const int m_granularity = -2; -static const int m_mmap_threshold = -3; - -// support for mallopt -int malloc_params::change(int param_number, int value) -{ - size_t val; - ensure_initialization(); - val = (value == -1) ? spp_max_size_t : (size_t)value; - - switch (param_number) - { - case m_trim_threshold: - _trim_threshold = val; - return 1; - - case m_granularity: - if (val >= _page_size && ((val & (val - 1)) == 0)) - { - _granularity = val; - return 1; - } - else - return 0; - - case m_mmap_threshold: - _mmap_threshold = val; - return 1; - - default: - return 0; - } -} - -#if SPP_DEBUG -/* ------------------------- Debugging Support --------------------------- */ - -// Check properties of any chunk, whether free, inuse, mmapped etc -void malloc_state::do_check_any_chunk(mchunkptr p) const -{ - assert((spp_is_aligned(chunk2mem(p))) || (p->_head == FENCEPOST_HEAD)); - assert(ok_address(p)); -} - -// Check properties of top chunk -void malloc_state::do_check_top_chunk(mchunkptr p) const -{ - msegmentptr sp = segment_holding((char*)p); - size_t sz = p->_head & ~INUSE_BITS; // third-lowest bit can be set! - assert(sp != 0); - assert((spp_is_aligned(chunk2mem(p))) || (p->_head == FENCEPOST_HEAD)); - assert(ok_address(p)); - assert(sz == _topsize); - assert(sz > 0); - assert(sz == ((sp->_base + sp->_size) - (char*)p) - top_foot_size()); - assert(p->pinuse()); - assert(!p->chunk_plus_offset(sz)->pinuse()); -} - -// Check properties of (inuse) mmapped chunks -void malloc_state::do_check_mmapped_chunk(mchunkptr p) const -{ - size_t sz = p->chunksize(); - size_t len = (sz + (p->_prev_foot) + SPP_MMAP_FOOT_PAD); - assert(p->is_mmapped()); - assert(use_mmap()); - assert((spp_is_aligned(chunk2mem(p))) || (p->_head == FENCEPOST_HEAD)); - assert(ok_address(p)); - assert(!is_small(sz)); - assert((len & (mparams._page_size - 1)) == 0); - assert(p->chunk_plus_offset(sz)->_head == FENCEPOST_HEAD); - assert(p->chunk_plus_offset(sz + sizeof(size_t))->_head == 0); -} - -// Check properties of inuse chunks -void malloc_state::do_check_inuse_chunk(mchunkptr p) const -{ - do_check_any_chunk(p); - assert(p->is_inuse()); - assert(p->next_pinuse()); - // If not pinuse and not mmapped, previous chunk has OK offset - assert(p->is_mmapped() || p->pinuse() || (mchunkptr)p->prev_chunk()->next_chunk() == p); - if (p->is_mmapped()) - do_check_mmapped_chunk(p); -} - -// Check properties of free chunks -void malloc_state::do_check_free_chunk(mchunkptr p) const -{ - size_t sz = p->chunksize(); - mchunkptr next = (mchunkptr)p->chunk_plus_offset(sz); - do_check_any_chunk(p); - assert(!p->is_inuse()); - assert(!p->next_pinuse()); - assert(!p->is_mmapped()); - if (p != _dv && p != _top) - { - if (sz >= MIN_CHUNK_SIZE) - { - assert((sz & spp_chunk_align_mask) == 0); - assert(spp_is_aligned(chunk2mem(p))); - assert(next->_prev_foot == sz); - assert(p->pinuse()); - assert(next == _top || next->is_inuse()); - assert(p->_fd->_bk == p); - assert(p->_bk->_fd == p); - } - else // markers are always of size sizeof(size_t) - assert(sz == sizeof(size_t)); - } -} - -// Check properties of malloced chunks at the point they are malloced -void malloc_state::do_check_malloced_chunk(void* mem, size_t s) const -{ - if (mem != 0) - { - mchunkptr p = mem2chunk(mem); - size_t sz = p->_head & ~INUSE_BITS; - do_check_inuse_chunk(p); - assert((sz & spp_chunk_align_mask) == 0); - assert(sz >= MIN_CHUNK_SIZE); - assert(sz >= s); - // unless mmapped, size is less than MIN_CHUNK_SIZE more than request - assert(p->is_mmapped() || sz < (s + MIN_CHUNK_SIZE)); - } -} - -// Check a tree and its subtrees. -void malloc_state::do_check_tree(tchunkptr t) -{ - tchunkptr head = 0; - tchunkptr u = t; - bindex_t tindex = t->_index; - size_t tsize = t->chunksize(); - bindex_t idx = compute_tree_index(tsize); - assert(tindex == idx); - assert(tsize >= MIN_LARGE_SIZE); - assert(tsize >= minsize_for_tree_index(idx)); - assert((idx == NTREEBINS - 1) || (tsize < minsize_for_tree_index((idx + 1)))); - - do - { - // traverse through chain of same-sized nodes - do_check_any_chunk((mchunkptr)u); - assert(u->_index == tindex); - assert(u->chunksize() == tsize); - assert(!u->is_inuse()); - assert(!u->next_pinuse()); - assert(u->_fd->_bk == u); - assert(u->_bk->_fd == u); - if (u->_parent == 0) - { - assert(u->_child[0] == 0); - assert(u->_child[1] == 0); - } - else - { - assert(head == 0); // only one node on chain has parent - head = u; - assert(u->_parent != u); - assert(u->_parent->_child[0] == u || - u->_parent->_child[1] == u || - *((tbinptr*)(u->_parent)) == u); - if (u->_child[0] != 0) - { - assert(u->_child[0]->_parent == u); - assert(u->_child[0] != u); - do_check_tree(u->_child[0]); - } - if (u->_child[1] != 0) - { - assert(u->_child[1]->_parent == u); - assert(u->_child[1] != u); - do_check_tree(u->_child[1]); - } - if (u->_child[0] != 0 && u->_child[1] != 0) - assert(u->_child[0]->chunksize() < u->_child[1]->chunksize()); - } - u = u->_fd; - } - while (u != t); - assert(head != 0); -} - -// Check all the chunks in a treebin. -void malloc_state::do_check_treebin(bindex_t i) -{ - tbinptr* tb = (tbinptr*)treebin_at(i); - tchunkptr t = *tb; - int empty = (_treemap & (1U << i)) == 0; - if (t == 0) - assert(empty); - if (!empty) - do_check_tree(t); -} - -// Check all the chunks in a smallbin. -void malloc_state::do_check_smallbin(bindex_t i) -{ - sbinptr b = smallbin_at(i); - mchunkptr p = b->_bk; - unsigned int empty = (_smallmap & (1U << i)) == 0; - if (p == b) - assert(empty); - if (!empty) - { - for (; p != b; p = p->_bk) - { - size_t size = p->chunksize(); - mchunkptr q; - // each chunk claims to be free - do_check_free_chunk(p); - // chunk belongs in bin - assert(small_index(size) == i); - assert(p->_bk == b || p->_bk->chunksize() == p->chunksize()); - // chunk is followed by an inuse chunk - q = (mchunkptr)p->next_chunk(); - if (q->_head != FENCEPOST_HEAD) - do_check_inuse_chunk(q); - } - } -} - -// Find x in a bin. Used in other check functions. -int malloc_state::bin_find(mchunkptr x) -{ - size_t size = x->chunksize(); - if (is_small(size)) - { - bindex_t sidx = small_index(size); - sbinptr b = smallbin_at(sidx); - if (smallmap_is_marked(sidx)) - { - mchunkptr p = b; - do - { - if (p == x) - return 1; - } - while ((p = p->_fd) != b); - } - } - else - { - bindex_t tidx = compute_tree_index(size); - if (treemap_is_marked(tidx)) - { - tchunkptr t = *treebin_at(tidx); - size_t sizebits = size << leftshift_for_tree_index(tidx); - while (t != 0 && t->chunksize() != size) - { - t = t->_child[(sizebits >> (spp_size_t_bitsize - 1)) & 1]; - sizebits <<= 1; - } - if (t != 0) - { - tchunkptr u = t; - do - { - if (u == (tchunkptr)x) - return 1; - } - while ((u = u->_fd) != t); - } - } - } - return 0; -} - -// Traverse each chunk and check it; return total -size_t malloc_state::traverse_and_check() -{ - size_t sum = 0; - if (is_initialized()) - { - msegmentptr s = (msegmentptr)&_seg; - sum += _topsize + top_foot_size(); - while (s != 0) - { - mchunkptr q = align_as_chunk(s->_base); - mchunkptr lastq = 0; - assert(q->pinuse()); - while (segment_holds(s, q) && - q != _top && q->_head != FENCEPOST_HEAD) - { - sum += q->chunksize(); - if (q->is_inuse()) - { - assert(!bin_find(q)); - do_check_inuse_chunk(q); - } - else - { - assert(q == _dv || bin_find(q)); - assert(lastq == 0 || lastq->is_inuse()); // Not 2 consecutive free - do_check_free_chunk(q); - } - lastq = q; - q = (mchunkptr)q->next_chunk(); - } - s = s->_next; - } - } - return sum; -} - - -// Check all properties of malloc_state. -void malloc_state::do_check_malloc_state() -{ - bindex_t i; - size_t total; - // check bins - for (i = 0; i < NSMALLBINS; ++i) - do_check_smallbin(i); - for (i = 0; i < NTREEBINS; ++i) - do_check_treebin(i); - - if (_dvsize != 0) - { - // check dv chunk - do_check_any_chunk(_dv); - assert(_dvsize == _dv->chunksize()); - assert(_dvsize >= MIN_CHUNK_SIZE); - assert(bin_find(_dv) == 0); - } - - if (_top != 0) - { - // check top chunk - do_check_top_chunk(_top); - //assert(topsize == top->chunksize()); redundant - assert(_topsize > 0); - assert(bin_find(_top) == 0); - } - - total = traverse_and_check(); - assert(total <= _footprint); - assert(_footprint <= _max_footprint); -} -#endif // SPP_DEBUG - -/* ----------------------- Operations on smallbins ----------------------- */ - -/* - Various forms of linking and unlinking are defined as macros. Even - the ones for trees, which are very long but have very short typical - paths. This is ugly but reduces reliance on inlining support of - compilers. -*/ - -// Link a free chunk into a smallbin -void malloc_state::insert_small_chunk(mchunkptr p, size_t s) -{ - bindex_t I = small_index(s); - mchunkptr B = smallbin_at(I); - mchunkptr F = B; - assert(s >= MIN_CHUNK_SIZE); - if (!smallmap_is_marked(I)) - mark_smallmap(I); - else if (rtcheck(ok_address(B->_fd))) - F = B->_fd; - else - SPP_ABORT; - B->_fd = p; - F->_bk = p; - p->_fd = F; - p->_bk = B; -} - -// Unlink a chunk from a smallbin -void malloc_state::unlink_small_chunk(mchunkptr p, size_t s) -{ - mchunkptr F = p->_fd; - mchunkptr B = p->_bk; - bindex_t I = small_index(s); - assert(p != B); - assert(p != F); - assert(p->chunksize() == small_index2size(I)); - if (rtcheck(F == smallbin_at(I) || (ok_address(F) && F->_bk == p))) - { - if (B == F) - clear_smallmap(I); - else if (rtcheck(B == smallbin_at(I) || - (ok_address(B) && B->_fd == p))) - { - F->_bk = B; - B->_fd = F; - } - else - SPP_ABORT; - } - else - SPP_ABORT; -} - -// Unlink the first chunk from a smallbin -void malloc_state::unlink_first_small_chunk(mchunkptr B, mchunkptr p, bindex_t I) -{ - mchunkptr F = p->_fd; - assert(p != B); - assert(p != F); - assert(p->chunksize() == small_index2size(I)); - if (B == F) - clear_smallmap(I); - else if (rtcheck(ok_address(F) && F->_bk == p)) - { - F->_bk = B; - B->_fd = F; - } - else - SPP_ABORT; -} - -// Replace dv node, binning the old one -// Used only when dvsize known to be small -void malloc_state::replace_dv(mchunkptr p, size_t s) -{ - size_t DVS = _dvsize; - assert(is_small(DVS)); - if (DVS != 0) - { - mchunkptr DV = _dv; - insert_small_chunk(DV, DVS); - } - _dvsize = s; - _dv = p; -} - -/* ------------------------- Operations on trees ------------------------- */ - -// Insert chunk into tree -void malloc_state::insert_large_chunk(tchunkptr X, size_t s) -{ - tbinptr* H; - bindex_t I = compute_tree_index(s); - H = treebin_at(I); - X->_index = I; - X->_child[0] = X->_child[1] = 0; - if (!treemap_is_marked(I)) - { - mark_treemap(I); - *H = X; - X->_parent = (tchunkptr)H; - X->_fd = X->_bk = X; - } - else - { - tchunkptr T = *H; - size_t K = s << leftshift_for_tree_index(I); - for (;;) - { - if (T->chunksize() != s) - { - tchunkptr* C = &(T->_child[(K >> (spp_size_t_bitsize - 1)) & 1]); - K <<= 1; - if (*C != 0) - T = *C; - else if (rtcheck(ok_address(C))) - { - *C = X; - X->_parent = T; - X->_fd = X->_bk = X; - break; - } - else - { - SPP_ABORT; - break; - } - } - else - { - tchunkptr F = T->_fd; - if (rtcheck(ok_address(T) && ok_address(F))) - { - T->_fd = F->_bk = X; - X->_fd = F; - X->_bk = T; - X->_parent = 0; - break; - } - else - { - SPP_ABORT; - break; - } - } - } - } -} - -/* - Unlink steps: - - 1. If x is a chained node, unlink it from its same-sized fd/bk links - and choose its bk node as its replacement. - 2. If x was the last node of its size, but not a leaf node, it must - be replaced with a leaf node (not merely one with an open left or - right), to make sure that lefts and rights of descendents - correspond properly to bit masks. We use the rightmost descendent - of x. We could use any other leaf, but this is easy to locate and - tends to counteract removal of leftmosts elsewhere, and so keeps - paths shorter than minimally guaranteed. This doesn't loop much - because on average a node in a tree is near the bottom. - 3. If x is the base of a chain (i.e., has parent links) relink - x's parent and children to x's replacement (or null if none). -*/ - -void malloc_state::unlink_large_chunk(tchunkptr X) -{ - tchunkptr XP = X->_parent; - tchunkptr R; - if (X->_bk != X) - { - tchunkptr F = X->_fd; - R = X->_bk; - if (rtcheck(ok_address(F) && F->_bk == X && R->_fd == X)) - { - F->_bk = R; - R->_fd = F; - } - else - SPP_ABORT; - } - else - { - tchunkptr* RP; - if (((R = *(RP = &(X->_child[1]))) != 0) || - ((R = *(RP = &(X->_child[0]))) != 0)) - { - tchunkptr* CP; - while ((*(CP = &(R->_child[1])) != 0) || - (*(CP = &(R->_child[0])) != 0)) - R = *(RP = CP); - if (rtcheck(ok_address(RP))) - *RP = 0; - else - SPP_ABORT; - } - } - if (XP != 0) - { - tbinptr* H = treebin_at(X->_index); - if (X == *H) - { - if ((*H = R) == 0) - clear_treemap(X->_index); - } - else if (rtcheck(ok_address(XP))) - { - if (XP->_child[0] == X) - XP->_child[0] = R; - else - XP->_child[1] = R; - } - else - SPP_ABORT; - if (R != 0) - { - if (rtcheck(ok_address(R))) - { - tchunkptr C0, C1; - R->_parent = XP; - if ((C0 = X->_child[0]) != 0) - { - if (rtcheck(ok_address(C0))) - { - R->_child[0] = C0; - C0->_parent = R; - } - else - SPP_ABORT; - } - if ((C1 = X->_child[1]) != 0) - { - if (rtcheck(ok_address(C1))) - { - R->_child[1] = C1; - C1->_parent = R; - } - else - SPP_ABORT; - } - } - else - SPP_ABORT; - } - } -} - -// Relays to large vs small bin operations - -void malloc_state::insert_chunk(mchunkptr p, size_t s) -{ - if (is_small(s)) - insert_small_chunk(p, s); - else - { - tchunkptr tp = (tchunkptr)(p); - insert_large_chunk(tp, s); - } -} - -void malloc_state::unlink_chunk(mchunkptr p, size_t s) -{ - if (is_small(s)) - unlink_small_chunk(p, s); - else - { - tchunkptr tp = (tchunkptr)(p); - unlink_large_chunk(tp); - } -} - - -/* ----------------------- Direct-mmapping chunks ----------------------- */ - -/* - Directly mmapped chunks are set up with an offset to the start of - the mmapped region stored in the prev_foot field of the chunk. This - allows reconstruction of the required argument to MUNMAP when freed, - and also allows adjustment of the returned chunk to meet alignment - requirements (especially in memalign). -*/ - -// Malloc using mmap -void* malloc_state::mmap_alloc(size_t nb) -{ - size_t mmsize = mmap_align(nb + 6 * sizeof(size_t) + spp_chunk_align_mask); - if (_footprint_limit != 0) - { - size_t fp = _footprint + mmsize; - if (fp <= _footprint || fp > _footprint_limit) - return 0; - } - if (mmsize > nb) - { - // Check for wrap around 0 - char* mm = (char*)(SPP_CALL_DIRECT_MMAP(mmsize)); - if (mm != cmfail) - { - size_t offset = align_offset(chunk2mem(mm)); - size_t psize = mmsize - offset - SPP_MMAP_FOOT_PAD; - mchunkptr p = (mchunkptr)(mm + offset); - p->_prev_foot = offset; - p->_head = psize; - mark_inuse_foot(p, psize); - p->chunk_plus_offset(psize)->_head = FENCEPOST_HEAD; - p->chunk_plus_offset(psize + sizeof(size_t))->_head = 0; - - if (_least_addr == 0 || mm < _least_addr) - _least_addr = mm; - if ((_footprint += mmsize) > _max_footprint) - _max_footprint = _footprint; - assert(spp_is_aligned(chunk2mem(p))); - check_mmapped_chunk(p); - return chunk2mem(p); - } - } - return 0; -} - -// Realloc using mmap -mchunkptr malloc_state::mmap_resize(mchunkptr oldp, size_t nb, int flags) -{ - size_t oldsize = oldp->chunksize(); - (void)flags; // placate people compiling -Wunused - if (is_small(nb)) // Can't shrink mmap regions below small size - return 0; - - // Keep old chunk if big enough but not too big - if (oldsize >= nb + sizeof(size_t) && - (oldsize - nb) <= (mparams._granularity << 1)) - return oldp; - else - { - size_t offset = oldp->_prev_foot; - size_t oldmmsize = oldsize + offset + SPP_MMAP_FOOT_PAD; - size_t newmmsize = mmap_align(nb + 6 * sizeof(size_t) + spp_chunk_align_mask); - char* cp = (char*)SPP_CALL_MREMAP((char*)oldp - offset, - oldmmsize, newmmsize, flags); - if (cp != cmfail) - { - mchunkptr newp = (mchunkptr)(cp + offset); - size_t psize = newmmsize - offset - SPP_MMAP_FOOT_PAD; - newp->_head = psize; - mark_inuse_foot(newp, psize); - newp->chunk_plus_offset(psize)->_head = FENCEPOST_HEAD; - newp->chunk_plus_offset(psize + sizeof(size_t))->_head = 0; - - if (cp < _least_addr) - _least_addr = cp; - if ((_footprint += newmmsize - oldmmsize) > _max_footprint) - _max_footprint = _footprint; - check_mmapped_chunk(newp); - return newp; - } - } - return 0; -} - - -/* -------------------------- mspace management -------------------------- */ - -// Initialize top chunk and its size -void malloc_state::init_top(mchunkptr p, size_t psize) -{ - // Ensure alignment - size_t offset = align_offset(chunk2mem(p)); - p = (mchunkptr)((char*)p + offset); - psize -= offset; - - _top = p; - _topsize = psize; - p->_head = psize | PINUSE_BIT; - // set size of fake trailing chunk holding overhead space only once - p->chunk_plus_offset(psize)->_head = top_foot_size(); - _trim_check = mparams._trim_threshold; // reset on each update -} - -// Initialize bins for a new mstate that is otherwise zeroed out -void malloc_state::init_bins() -{ - // Establish circular links for smallbins - bindex_t i; - for (i = 0; i < NSMALLBINS; ++i) - { - sbinptr bin = smallbin_at(i); - bin->_fd = bin->_bk = bin; - } -} - -#if SPP_PROCEED_ON_ERROR - -// default corruption action -void malloc_state::reset_on_error() -{ - int i; - ++malloc_corruption_error_count; - // Reinitialize fields to forget about all memory - _smallmap = _treemap = 0; - _dvsize = _topsize = 0; - _seg._base = 0; - _seg._size = 0; - _seg._next = 0; - _top = _dv = 0; - for (i = 0; i < NTREEBINS; ++i) - *treebin_at(i) = 0; - init_bins(); -} -#endif - -/* Allocate chunk and prepend remainder with chunk in successor base. */ -void* malloc_state::prepend_alloc(char* newbase, char* oldbase, size_t nb) -{ - mchunkptr p = align_as_chunk(newbase); - mchunkptr oldfirst = align_as_chunk(oldbase); - size_t psize = (char*)oldfirst - (char*)p; - mchunkptr q = (mchunkptr)p->chunk_plus_offset(nb); - size_t qsize = psize - nb; - set_size_and_pinuse_of_inuse_chunk(p, nb); - - assert((char*)oldfirst > (char*)q); - assert(oldfirst->pinuse()); - assert(qsize >= MIN_CHUNK_SIZE); - - // consolidate remainder with first chunk of old base - if (oldfirst == _top) - { - size_t tsize = _topsize += qsize; - _top = q; - q->_head = tsize | PINUSE_BIT; - check_top_chunk(q); - } - else if (oldfirst == _dv) - { - size_t dsize = _dvsize += qsize; - _dv = q; - q->set_size_and_pinuse_of_free_chunk(dsize); - } - else - { - if (!oldfirst->is_inuse()) - { - size_t nsize = oldfirst->chunksize(); - unlink_chunk(oldfirst, nsize); - oldfirst = (mchunkptr)oldfirst->chunk_plus_offset(nsize); - qsize += nsize; - } - q->set_free_with_pinuse(qsize, oldfirst); - insert_chunk(q, qsize); - check_free_chunk(q); - } - - check_malloced_chunk(chunk2mem(p), nb); - return chunk2mem(p); -} - -// Add a segment to hold a new noncontiguous region -void malloc_state::add_segment(char* tbase, size_t tsize, flag_t mmapped) -{ - // Determine locations and sizes of segment, fenceposts, old top - char* old_top = (char*)_top; - msegmentptr oldsp = segment_holding(old_top); - char* old_end = oldsp->_base + oldsp->_size; - size_t ssize = pad_request(sizeof(struct malloc_segment)); - char* rawsp = old_end - (ssize + 4 * sizeof(size_t) + spp_chunk_align_mask); - size_t offset = align_offset(chunk2mem(rawsp)); - char* asp = rawsp + offset; - char* csp = (asp < (old_top + MIN_CHUNK_SIZE)) ? old_top : asp; - mchunkptr sp = (mchunkptr)csp; - msegmentptr ss = (msegmentptr)(chunk2mem(sp)); - mchunkptr tnext = (mchunkptr)sp->chunk_plus_offset(ssize); - mchunkptr p = tnext; - int nfences = 0; - - // reset top to new space - init_top((mchunkptr)tbase, tsize - top_foot_size()); - - // Set up segment record - assert(spp_is_aligned(ss)); - set_size_and_pinuse_of_inuse_chunk(sp, ssize); - *ss = _seg; // Push current record - _seg._base = tbase; - _seg._size = tsize; - _seg._sflags = mmapped; - _seg._next = ss; - - // Insert trailing fenceposts - for (;;) - { - mchunkptr nextp = (mchunkptr)p->chunk_plus_offset(sizeof(size_t)); - p->_head = FENCEPOST_HEAD; - ++nfences; - if ((char*)(&(nextp->_head)) < old_end) - p = nextp; - else - break; - } - assert(nfences >= 2); - - // Insert the rest of old top into a bin as an ordinary free chunk - if (csp != old_top) - { - mchunkptr q = (mchunkptr)old_top; - size_t psize = csp - old_top; - mchunkptr tn = (mchunkptr)q->chunk_plus_offset(psize); - q->set_free_with_pinuse(psize, tn); - insert_chunk(q, psize); - } - - check_top_chunk(_top); -} - -/* -------------------------- System allocation -------------------------- */ - -// Get memory from system using MMAP -void* malloc_state::sys_alloc(size_t nb) -{ - char* tbase = cmfail; - size_t tsize = 0; - flag_t mmap_flag = 0; - size_t asize; // allocation size - - mparams.ensure_initialization(); - - // Directly map large chunks, but only if already initialized - if (use_mmap() && nb >= mparams._mmap_threshold && _topsize != 0) - { - void* mem = mmap_alloc(nb); - if (mem != 0) - return mem; - } - - asize = mparams.granularity_align(nb + sys_alloc_padding()); - if (asize <= nb) - return 0; // wraparound - if (_footprint_limit != 0) - { - size_t fp = _footprint + asize; - if (fp <= _footprint || fp > _footprint_limit) - return 0; - } - - /* - Try getting memory with a call to MMAP new space (disabled if not SPP_HAVE_MMAP). - We need to request enough bytes from system to ensure - we can malloc nb bytes upon success, so pad with enough space for - top_foot, plus alignment-pad to make sure we don't lose bytes if - not on boundary, and round this up to a granularity unit. - */ - - if (SPP_HAVE_MMAP && tbase == cmfail) - { - // Try MMAP - char* mp = (char*)(SPP_CALL_MMAP(asize)); - if (mp != cmfail) - { - tbase = mp; - tsize = asize; - mmap_flag = USE_MMAP_BIT; - } - } - - if (tbase != cmfail) - { - - if ((_footprint += tsize) > _max_footprint) - _max_footprint = _footprint; - - if (!is_initialized()) - { - // first-time initialization - if (_least_addr == 0 || tbase < _least_addr) - _least_addr = tbase; - _seg._base = tbase; - _seg._size = tsize; - _seg._sflags = mmap_flag; - _magic = mparams._magic; - _release_checks = SPP_MAX_RELEASE_CHECK_RATE; - init_bins(); - - // Offset top by embedded malloc_state - mchunkptr mn = (mchunkptr)mem2chunk(this)->next_chunk(); - init_top(mn, (size_t)((tbase + tsize) - (char*)mn) - top_foot_size()); - } - - else - { - // Try to merge with an existing segment - msegmentptr sp = &_seg; - // Only consider most recent segment if traversal suppressed - while (sp != 0 && tbase != sp->_base + sp->_size) - sp = (SPP_NO_SEGMENT_TRAVERSAL) ? 0 : sp->_next; - if (sp != 0 && - !sp->is_extern_segment() && - (sp->_sflags & USE_MMAP_BIT) == mmap_flag && - segment_holds(sp, _top)) - { - // append - sp->_size += tsize; - init_top(_top, _topsize + tsize); - } - else - { - if (tbase < _least_addr) - _least_addr = tbase; - sp = &_seg; - while (sp != 0 && sp->_base != tbase + tsize) - sp = (SPP_NO_SEGMENT_TRAVERSAL) ? 0 : sp->_next; - if (sp != 0 && - !sp->is_extern_segment() && - (sp->_sflags & USE_MMAP_BIT) == mmap_flag) - { - char* oldbase = sp->_base; - sp->_base = tbase; - sp->_size += tsize; - return prepend_alloc(tbase, oldbase, nb); - } - else - add_segment(tbase, tsize, mmap_flag); - } - } - - if (nb < _topsize) - { - // Allocate from new or extended top space - size_t rsize = _topsize -= nb; - mchunkptr p = _top; - mchunkptr r = _top = (mchunkptr)p->chunk_plus_offset(nb); - r->_head = rsize | PINUSE_BIT; - set_size_and_pinuse_of_inuse_chunk(p, nb); - check_top_chunk(_top); - check_malloced_chunk(chunk2mem(p), nb); - return chunk2mem(p); - } - } - - SPP_MALLOC_FAILURE_ACTION; - return 0; -} - -/* ----------------------- system deallocation -------------------------- */ - -// Unmap and unlink any mmapped segments that don't contain used chunks -size_t malloc_state::release_unused_segments() -{ - size_t released = 0; - int nsegs = 0; - msegmentptr pred = &_seg; - msegmentptr sp = pred->_next; - while (sp != 0) - { - char* base = sp->_base; - size_t size = sp->_size; - msegmentptr next = sp->_next; - ++nsegs; - if (sp->is_mmapped_segment() && !sp->is_extern_segment()) - { - mchunkptr p = align_as_chunk(base); - size_t psize = p->chunksize(); - // Can unmap if first chunk holds entire segment and not pinned - if (!p->is_inuse() && (char*)p + psize >= base + size - top_foot_size()) - { - tchunkptr tp = (tchunkptr)p; - assert(segment_holds(sp, p)); - if (p == _dv) - { - _dv = 0; - _dvsize = 0; - } - else - unlink_large_chunk(tp); - if (SPP_CALL_MUNMAP(base, size) == 0) - { - released += size; - _footprint -= size; - // unlink obsoleted record - sp = pred; - sp->_next = next; - } - else - { - // back out if cannot unmap - insert_large_chunk(tp, psize); - } - } - } - if (SPP_NO_SEGMENT_TRAVERSAL) // scan only first segment - break; - pred = sp; - sp = next; - } - // Reset check counter - _release_checks = (((size_t) nsegs > (size_t) SPP_MAX_RELEASE_CHECK_RATE) ? - (size_t) nsegs : (size_t) SPP_MAX_RELEASE_CHECK_RATE); - return released; -} - -int malloc_state::sys_trim(size_t pad) -{ - size_t released = 0; - mparams.ensure_initialization(); - if (pad < MAX_REQUEST && is_initialized()) - { - pad += top_foot_size(); // ensure enough room for segment overhead - - if (_topsize > pad) - { - // Shrink top space in _granularity - size units, keeping at least one - size_t unit = mparams._granularity; - size_t extra = ((_topsize - pad + (unit - 1)) / unit - - 1) * unit; - msegmentptr sp = segment_holding((char*)_top); - - if (!sp->is_extern_segment()) - { - if (sp->is_mmapped_segment()) - { - if (SPP_HAVE_MMAP && - sp->_size >= extra && - !has_segment_link(sp)) - { - // can't shrink if pinned - size_t newsize = sp->_size - extra; - (void)newsize; // placate people compiling -Wunused-variable - // Prefer mremap, fall back to munmap - if ((SPP_CALL_MREMAP(sp->_base, sp->_size, newsize, 0) != mfail) || - (SPP_CALL_MUNMAP(sp->_base + newsize, extra) == 0)) - released = extra; - } - } - } - - if (released != 0) - { - sp->_size -= released; - _footprint -= released; - init_top(_top, _topsize - released); - check_top_chunk(_top); - } - } - - // Unmap any unused mmapped segments - if (SPP_HAVE_MMAP) - released += release_unused_segments(); - - // On failure, disable autotrim to avoid repeated failed future calls - if (released == 0 && _topsize > _trim_check) - _trim_check = spp_max_size_t; - } - - return (released != 0) ? 1 : 0; -} - -/* Consolidate and bin a chunk. Differs from exported versions - of free mainly in that the chunk need not be marked as inuse. -*/ -void malloc_state::dispose_chunk(mchunkptr p, size_t psize) -{ - mchunkptr next = (mchunkptr)p->chunk_plus_offset(psize); - if (!p->pinuse()) - { - mchunkptr prev; - size_t prevsize = p->_prev_foot; - if (p->is_mmapped()) - { - psize += prevsize + SPP_MMAP_FOOT_PAD; - if (SPP_CALL_MUNMAP((char*)p - prevsize, psize) == 0) - _footprint -= psize; - return; - } - prev = (mchunkptr)p->chunk_minus_offset(prevsize); - psize += prevsize; - p = prev; - if (rtcheck(ok_address(prev))) - { - // consolidate backward - if (p != _dv) - unlink_chunk(p, prevsize); - else if ((next->_head & INUSE_BITS) == INUSE_BITS) - { - _dvsize = psize; - p->set_free_with_pinuse(psize, next); - return; - } - } - else - { - SPP_ABORT; - return; - } - } - if (rtcheck(ok_address(next))) - { - if (!next->cinuse()) - { - // consolidate forward - if (next == _top) - { - size_t tsize = _topsize += psize; - _top = p; - p->_head = tsize | PINUSE_BIT; - if (p == _dv) - { - _dv = 0; - _dvsize = 0; - } - return; - } - else if (next == _dv) - { - size_t dsize = _dvsize += psize; - _dv = p; - p->set_size_and_pinuse_of_free_chunk(dsize); - return; - } - else - { - size_t nsize = next->chunksize(); - psize += nsize; - unlink_chunk(next, nsize); - p->set_size_and_pinuse_of_free_chunk(psize); - if (p == _dv) - { - _dvsize = psize; - return; - } - } - } - else - p->set_free_with_pinuse(psize, next); - insert_chunk(p, psize); - } - else - SPP_ABORT; -} - -/* ---------------------------- malloc --------------------------- */ - -// allocate a large request from the best fitting chunk in a treebin -void* malloc_state::tmalloc_large(size_t nb) -{ - tchunkptr v = 0; - size_t rsize = -nb; // Unsigned negation - tchunkptr t; - bindex_t idx = compute_tree_index(nb); - if ((t = *treebin_at(idx)) != 0) - { - // Traverse tree for this bin looking for node with size == nb - size_t sizebits = nb << leftshift_for_tree_index(idx); - tchunkptr rst = 0; // The deepest untaken right subtree - for (;;) - { - tchunkptr rt; - size_t trem = t->chunksize() - nb; - if (trem < rsize) - { - v = t; - if ((rsize = trem) == 0) - break; - } - rt = t->_child[1]; - t = t->_child[(sizebits >> (spp_size_t_bitsize - 1)) & 1]; - if (rt != 0 && rt != t) - rst = rt; - if (t == 0) - { - t = rst; // set t to least subtree holding sizes > nb - break; - } - sizebits <<= 1; - } - } - if (t == 0 && v == 0) - { - // set t to root of next non-empty treebin - binmap_t leftbits = left_bits(idx2bit(idx)) & _treemap; - if (leftbits != 0) - { - binmap_t leastbit = least_bit(leftbits); - bindex_t i = compute_bit2idx(leastbit); - t = *treebin_at(i); - } - } - - while (t != 0) - { - // find smallest of tree or subtree - size_t trem = t->chunksize() - nb; - if (trem < rsize) - { - rsize = trem; - v = t; - } - t = t->leftmost_child(); - } - - // If dv is a better fit, return 0 so malloc will use it - if (v != 0 && rsize < (size_t)(_dvsize - nb)) - { - if (rtcheck(ok_address(v))) - { - // split - mchunkptr r = (mchunkptr)v->chunk_plus_offset(nb); - assert(v->chunksize() == rsize + nb); - if (rtcheck(ok_next(v, r))) - { - unlink_large_chunk(v); - if (rsize < MIN_CHUNK_SIZE) - set_inuse_and_pinuse(v, (rsize + nb)); - else - { - set_size_and_pinuse_of_inuse_chunk(v, nb); - r->set_size_and_pinuse_of_free_chunk(rsize); - insert_chunk(r, rsize); - } - return chunk2mem(v); - } - } - SPP_ABORT; - } - return 0; -} - -// allocate a small request from the best fitting chunk in a treebin -void* malloc_state::tmalloc_small(size_t nb) -{ - tchunkptr t, v; - size_t rsize; - binmap_t leastbit = least_bit(_treemap); - bindex_t i = compute_bit2idx(leastbit); - v = t = *treebin_at(i); - rsize = t->chunksize() - nb; - - while ((t = t->leftmost_child()) != 0) - { - size_t trem = t->chunksize() - nb; - if (trem < rsize) - { - rsize = trem; - v = t; - } - } - - if (rtcheck(ok_address(v))) - { - mchunkptr r = (mchunkptr)v->chunk_plus_offset(nb); - assert(v->chunksize() == rsize + nb); - if (rtcheck(ok_next(v, r))) - { - unlink_large_chunk(v); - if (rsize < MIN_CHUNK_SIZE) - set_inuse_and_pinuse(v, (rsize + nb)); - else - { - set_size_and_pinuse_of_inuse_chunk(v, nb); - r->set_size_and_pinuse_of_free_chunk(rsize); - replace_dv(r, rsize); - } - return chunk2mem(v); - } - } - - SPP_ABORT; - return 0; -} - -/* ---------------------------- malloc --------------------------- */ - -void* malloc_state::_malloc(size_t bytes) -{ - if (1) - { - void* mem; - size_t nb; - if (bytes <= MAX_SMALL_REQUEST) - { - bindex_t idx; - binmap_t smallbits; - nb = (bytes < MIN_REQUEST) ? MIN_CHUNK_SIZE : pad_request(bytes); - idx = small_index(nb); - smallbits = _smallmap >> idx; - - if ((smallbits & 0x3U) != 0) - { - // Remainderless fit to a smallbin. - mchunkptr b, p; - idx += ~smallbits & 1; // Uses next bin if idx empty - b = smallbin_at(idx); - p = b->_fd; - assert(p->chunksize() == small_index2size(idx)); - unlink_first_small_chunk(b, p, idx); - set_inuse_and_pinuse(p, small_index2size(idx)); - mem = chunk2mem(p); - check_malloced_chunk(mem, nb); - goto postaction; - } - - else if (nb > _dvsize) - { - if (smallbits != 0) - { - // Use chunk in next nonempty smallbin - mchunkptr b, p, r; - size_t rsize; - binmap_t leftbits = (smallbits << idx) & left_bits(malloc_state::idx2bit(idx)); - binmap_t leastbit = least_bit(leftbits); - bindex_t i = compute_bit2idx(leastbit); - b = smallbin_at(i); - p = b->_fd; - assert(p->chunksize() == small_index2size(i)); - unlink_first_small_chunk(b, p, i); - rsize = small_index2size(i) - nb; - // Fit here cannot be remainderless if 4byte sizes - if (sizeof(size_t) != 4 && rsize < MIN_CHUNK_SIZE) - set_inuse_and_pinuse(p, small_index2size(i)); - else - { - set_size_and_pinuse_of_inuse_chunk(p, nb); - r = (mchunkptr)p->chunk_plus_offset(nb); - r->set_size_and_pinuse_of_free_chunk(rsize); - replace_dv(r, rsize); - } - mem = chunk2mem(p); - check_malloced_chunk(mem, nb); - goto postaction; - } - - else if (_treemap != 0 && (mem = tmalloc_small(nb)) != 0) - { - check_malloced_chunk(mem, nb); - goto postaction; - } - } - } - else if (bytes >= MAX_REQUEST) - nb = spp_max_size_t; // Too big to allocate. Force failure (in sys alloc) - else - { - nb = pad_request(bytes); - if (_treemap != 0 && (mem = tmalloc_large(nb)) != 0) - { - check_malloced_chunk(mem, nb); - goto postaction; - } - } - - if (nb <= _dvsize) - { - size_t rsize = _dvsize - nb; - mchunkptr p = _dv; - if (rsize >= MIN_CHUNK_SIZE) - { - // split dv - mchunkptr r = _dv = (mchunkptr)p->chunk_plus_offset(nb); - _dvsize = rsize; - r->set_size_and_pinuse_of_free_chunk(rsize); - set_size_and_pinuse_of_inuse_chunk(p, nb); - } - else // exhaust dv - { - size_t dvs = _dvsize; - _dvsize = 0; - _dv = 0; - set_inuse_and_pinuse(p, dvs); - } - mem = chunk2mem(p); - check_malloced_chunk(mem, nb); - goto postaction; - } - - else if (nb < _topsize) - { - // Split top - size_t rsize = _topsize -= nb; - mchunkptr p = _top; - mchunkptr r = _top = (mchunkptr)p->chunk_plus_offset(nb); - r->_head = rsize | PINUSE_BIT; - set_size_and_pinuse_of_inuse_chunk(p, nb); - mem = chunk2mem(p); - check_top_chunk(_top); - check_malloced_chunk(mem, nb); - goto postaction; - } - - mem = sys_alloc(nb); - -postaction: - return mem; - } - - return 0; -} - -/* ---------------------------- free --------------------------- */ - -void malloc_state::_free(mchunkptr p) -{ - if (1) - { - check_inuse_chunk(p); - if (rtcheck(ok_address(p) && ok_inuse(p))) - { - size_t psize = p->chunksize(); - mchunkptr next = (mchunkptr)p->chunk_plus_offset(psize); - if (!p->pinuse()) - { - size_t prevsize = p->_prev_foot; - if (p->is_mmapped()) - { - psize += prevsize + SPP_MMAP_FOOT_PAD; - if (SPP_CALL_MUNMAP((char*)p - prevsize, psize) == 0) - _footprint -= psize; - goto postaction; - } - else - { - mchunkptr prev = (mchunkptr)p->chunk_minus_offset(prevsize); - psize += prevsize; - p = prev; - if (rtcheck(ok_address(prev))) - { - // consolidate backward - if (p != _dv) - unlink_chunk(p, prevsize); - else if ((next->_head & INUSE_BITS) == INUSE_BITS) - { - _dvsize = psize; - p->set_free_with_pinuse(psize, next); - goto postaction; - } - } - else - goto erroraction; - } - } - - if (rtcheck(ok_next(p, next) && ok_pinuse(next))) - { - if (!next->cinuse()) - { - // consolidate forward - if (next == _top) - { - size_t tsize = _topsize += psize; - _top = p; - p->_head = tsize | PINUSE_BIT; - if (p == _dv) - { - _dv = 0; - _dvsize = 0; - } - if (should_trim(tsize)) - sys_trim(0); - goto postaction; - } - else if (next == _dv) - { - size_t dsize = _dvsize += psize; - _dv = p; - p->set_size_and_pinuse_of_free_chunk(dsize); - goto postaction; - } - else - { - size_t nsize = next->chunksize(); - psize += nsize; - unlink_chunk(next, nsize); - p->set_size_and_pinuse_of_free_chunk(psize); - if (p == _dv) - { - _dvsize = psize; - goto postaction; - } - } - } - else - p->set_free_with_pinuse(psize, next); - - if (is_small(psize)) - { - insert_small_chunk(p, psize); - check_free_chunk(p); - } - else - { - tchunkptr tp = (tchunkptr)p; - insert_large_chunk(tp, psize); - check_free_chunk(p); - if (--_release_checks == 0) - release_unused_segments(); - } - goto postaction; - } - } -erroraction: - SPP_USAGE_ERROR_ACTION(this, p); -postaction: - ; - } -} - -/* ------------ Internal support for realloc, memalign, etc -------------- */ - -// Try to realloc; only in-place unless can_move true -mchunkptr malloc_state::try_realloc_chunk(mchunkptr p, size_t nb, int can_move) -{ - mchunkptr newp = 0; - size_t oldsize = p->chunksize(); - mchunkptr next = (mchunkptr)p->chunk_plus_offset(oldsize); - if (rtcheck(ok_address(p) && ok_inuse(p) && - ok_next(p, next) && ok_pinuse(next))) - { - if (p->is_mmapped()) - newp = mmap_resize(p, nb, can_move); - else if (oldsize >= nb) - { - // already big enough - size_t rsize = oldsize - nb; - if (rsize >= MIN_CHUNK_SIZE) - { - // split off remainder - mchunkptr r = (mchunkptr)p->chunk_plus_offset(nb); - set_inuse(p, nb); - set_inuse(r, rsize); - dispose_chunk(r, rsize); - } - newp = p; - } - else if (next == _top) - { - // extend into top - if (oldsize + _topsize > nb) - { - size_t newsize = oldsize + _topsize; - size_t newtopsize = newsize - nb; - mchunkptr newtop = (mchunkptr)p->chunk_plus_offset(nb); - set_inuse(p, nb); - newtop->_head = newtopsize | PINUSE_BIT; - _top = newtop; - _topsize = newtopsize; - newp = p; - } - } - else if (next == _dv) - { - // extend into dv - size_t dvs = _dvsize; - if (oldsize + dvs >= nb) - { - size_t dsize = oldsize + dvs - nb; - if (dsize >= MIN_CHUNK_SIZE) - { - mchunkptr r = (mchunkptr)p->chunk_plus_offset(nb); - mchunkptr n = (mchunkptr)r->chunk_plus_offset(dsize); - set_inuse(p, nb); - r->set_size_and_pinuse_of_free_chunk(dsize); - n->clear_pinuse(); - _dvsize = dsize; - _dv = r; - } - else - { - // exhaust dv - size_t newsize = oldsize + dvs; - set_inuse(p, newsize); - _dvsize = 0; - _dv = 0; - } - newp = p; - } - } - else if (!next->cinuse()) - { - // extend into next free chunk - size_t nextsize = next->chunksize(); - if (oldsize + nextsize >= nb) - { - size_t rsize = oldsize + nextsize - nb; - unlink_chunk(next, nextsize); - if (rsize < MIN_CHUNK_SIZE) - { - size_t newsize = oldsize + nextsize; - set_inuse(p, newsize); - } - else - { - mchunkptr r = (mchunkptr)p->chunk_plus_offset(nb); - set_inuse(p, nb); - set_inuse(r, rsize); - dispose_chunk(r, rsize); - } - newp = p; - } - } - } - else - SPP_USAGE_ERROR_ACTION(m, chunk2mem(p)); - return newp; -} - -void* malloc_state::internal_memalign(size_t alignment, size_t bytes) -{ - void* mem = 0; - if (alignment < MIN_CHUNK_SIZE) // must be at least a minimum chunk size - alignment = MIN_CHUNK_SIZE; - if ((alignment & (alignment - 1)) != 0) - { - // Ensure a power of 2 - size_t a = SPP_MALLOC_ALIGNMENT << 1; - while (a < alignment) - a <<= 1; - alignment = a; - } - if (bytes >= MAX_REQUEST - alignment) - SPP_MALLOC_FAILURE_ACTION; - else - { - size_t nb = request2size(bytes); - size_t req = nb + alignment + MIN_CHUNK_SIZE - CHUNK_OVERHEAD; - mem = internal_malloc(req); - if (mem != 0) - { - mchunkptr p = mem2chunk(mem); - if ((((size_t)(mem)) & (alignment - 1)) != 0) - { - // misaligned - /* - Find an aligned spot inside chunk. Since we need to give - back leading space in a chunk of at least MIN_CHUNK_SIZE, if - the first calculation places us at a spot with less than - MIN_CHUNK_SIZE leader, we can move to the next aligned spot. - We've allocated enough total room so that this is always - possible. - */ - char* br = (char*)mem2chunk((void *)(((size_t)((char*)mem + alignment - 1)) & - -alignment)); - char* pos = ((size_t)(br - (char*)(p)) >= MIN_CHUNK_SIZE) ? - br : br + alignment; - mchunkptr newp = (mchunkptr)pos; - size_t leadsize = pos - (char*)(p); - size_t newsize = p->chunksize() - leadsize; - - if (p->is_mmapped()) - { - // For mmapped chunks, just adjust offset - newp->_prev_foot = p->_prev_foot + leadsize; - newp->_head = newsize; - } - else - { - // Otherwise, give back leader, use the rest - set_inuse(newp, newsize); - set_inuse(p, leadsize); - dispose_chunk(p, leadsize); - } - p = newp; - } - - // Give back spare room at the end - if (!p->is_mmapped()) - { - size_t size = p->chunksize(); - if (size > nb + MIN_CHUNK_SIZE) - { - size_t remainder_size = size - nb; - mchunkptr remainder = (mchunkptr)p->chunk_plus_offset(nb); - set_inuse(p, nb); - set_inuse(remainder, remainder_size); - dispose_chunk(remainder, remainder_size); - } - } - - mem = chunk2mem(p); - assert(p->chunksize() >= nb); - assert(((size_t)mem & (alignment - 1)) == 0); - check_inuse_chunk(p); - } - } - return mem; -} - -/* - Common support for independent_X routines, handling - all of the combinations that can result. - The opts arg has: - bit 0 set if all elements are same size (using sizes[0]) - bit 1 set if elements should be zeroed -*/ -void** malloc_state::ialloc(size_t n_elements, size_t* sizes, int opts, - void* chunks[]) -{ - - size_t element_size; // chunksize of each element, if all same - size_t contents_size; // total size of elements - size_t array_size; // request size of pointer array - void* mem; // malloced aggregate space - mchunkptr p; // corresponding chunk - size_t remainder_size; // remaining bytes while splitting - void** marray; // either "chunks" or malloced ptr array - mchunkptr array_chunk; // chunk for malloced ptr array - flag_t was_enabled; // to disable mmap - size_t size; - size_t i; - - mparams.ensure_initialization(); - // compute array length, if needed - if (chunks != 0) - { - if (n_elements == 0) - return chunks; // nothing to do - marray = chunks; - array_size = 0; - } - else - { - // if empty req, must still return chunk representing empty array - if (n_elements == 0) - return (void**)internal_malloc(0); - marray = 0; - array_size = request2size(n_elements * (sizeof(void*))); - } - - // compute total element size - if (opts & 0x1) - { - // all-same-size - element_size = request2size(*sizes); - contents_size = n_elements * element_size; - } - else - { - // add up all the sizes - element_size = 0; - contents_size = 0; - for (i = 0; i != n_elements; ++i) - contents_size += request2size(sizes[i]); - } - - size = contents_size + array_size; - - /* - Allocate the aggregate chunk. First disable direct-mmapping so - malloc won't use it, since we would not be able to later - free/realloc space internal to a segregated mmap region. - */ - was_enabled = use_mmap(); - disable_mmap(); - mem = internal_malloc(size - CHUNK_OVERHEAD); - if (was_enabled) - enable_mmap(); - if (mem == 0) - return 0; - - p = mem2chunk(mem); - remainder_size = p->chunksize(); - - assert(!p->is_mmapped()); - - if (opts & 0x2) - { - // optionally clear the elements - memset((size_t*)mem, 0, remainder_size - sizeof(size_t) - array_size); - } - - // If not provided, allocate the pointer array as final part of chunk - if (marray == 0) - { - size_t array_chunk_size; - array_chunk = (mchunkptr)p->chunk_plus_offset(contents_size); - array_chunk_size = remainder_size - contents_size; - marray = (void**)(chunk2mem(array_chunk)); - set_size_and_pinuse_of_inuse_chunk(array_chunk, array_chunk_size); - remainder_size = contents_size; - } - - // split out elements - for (i = 0; ; ++i) - { - marray[i] = chunk2mem(p); - if (i != n_elements - 1) - { - if (element_size != 0) - size = element_size; - else - size = request2size(sizes[i]); - remainder_size -= size; - set_size_and_pinuse_of_inuse_chunk(p, size); - p = (mchunkptr)p->chunk_plus_offset(size); - } - else - { - // the final element absorbs any overallocation slop - set_size_and_pinuse_of_inuse_chunk(p, remainder_size); - break; - } - } - -#if SPP_DEBUG - if (marray != chunks) - { - // final element must have exactly exhausted chunk - if (element_size != 0) - assert(remainder_size == element_size); - else - assert(remainder_size == request2size(sizes[i])); - check_inuse_chunk(mem2chunk(marray)); - } - for (i = 0; i != n_elements; ++i) - check_inuse_chunk(mem2chunk(marray[i])); - -#endif - - return marray; -} - -/* Try to free all pointers in the given array. - Note: this could be made faster, by delaying consolidation, - at the price of disabling some user integrity checks, We - still optimize some consolidations by combining adjacent - chunks before freeing, which will occur often if allocated - with ialloc or the array is sorted. -*/ -size_t malloc_state::internal_bulk_free(void* array[], size_t nelem) -{ - size_t unfreed = 0; - if (1) - { - void** a; - void** fence = &(array[nelem]); - for (a = array; a != fence; ++a) - { - void* mem = *a; - if (mem != 0) - { - mchunkptr p = mem2chunk(mem); - size_t psize = p->chunksize(); -#if SPP_FOOTERS - if (get_mstate_for(p) != m) - { - ++unfreed; - continue; - } -#endif - check_inuse_chunk(p); - *a = 0; - if (rtcheck(ok_address(p) && ok_inuse(p))) - { - void ** b = a + 1; // try to merge with next chunk - mchunkptr next = (mchunkptr)p->next_chunk(); - if (b != fence && *b == chunk2mem(next)) - { - size_t newsize = next->chunksize() + psize; - set_inuse(p, newsize); - *b = chunk2mem(p); - } - else - dispose_chunk(p, psize); - } - else - { - SPP_ABORT; - break; - } - } - } - if (should_trim(_topsize)) - sys_trim(0); - } - return unfreed; -} - -void malloc_state::init(char* tbase, size_t tsize) -{ - _seg._base = _least_addr = tbase; - _seg._size = _footprint = _max_footprint = tsize; - _magic = mparams._magic; - _release_checks = SPP_MAX_RELEASE_CHECK_RATE; - _mflags = mparams._default_mflags; - _extp = 0; - _exts = 0; - disable_contiguous(); - init_bins(); - mchunkptr mn = (mchunkptr)mem2chunk(this)->next_chunk(); - init_top(mn, (size_t)((tbase + tsize) - (char*)mn) - top_foot_size()); - check_top_chunk(_top); -} - -/* Traversal */ -#if SPP_MALLOC_INSPECT_ALL -void malloc_state::internal_inspect_all(void(*handler)(void *start, void *end, - size_t used_bytes, - void* callback_arg), - void* arg) -{ - if (is_initialized()) - { - mchunkptr top = top; - msegmentptr s; - for (s = &seg; s != 0; s = s->next) - { - mchunkptr q = align_as_chunk(s->base); - while (segment_holds(s, q) && q->head != FENCEPOST_HEAD) - { - mchunkptr next = (mchunkptr)q->next_chunk(); - size_t sz = q->chunksize(); - size_t used; - void* start; - if (q->is_inuse()) - { - used = sz - CHUNK_OVERHEAD; // must not be mmapped - start = chunk2mem(q); - } - else - { - used = 0; - if (is_small(sz)) - { - // offset by possible bookkeeping - start = (void*)((char*)q + sizeof(struct malloc_chunk)); - } - else - start = (void*)((char*)q + sizeof(struct malloc_tree_chunk)); - } - if (start < (void*)next) // skip if all space is bookkeeping - handler(start, next, used, arg); - if (q == top) - break; - q = next; - } - } - } -} -#endif // SPP_MALLOC_INSPECT_ALL - - - -/* ----------------------------- user mspaces ---------------------------- */ - -static mstate init_user_mstate(char* tbase, size_t tsize) -{ - size_t msize = pad_request(sizeof(malloc_state)); - mchunkptr msp = align_as_chunk(tbase); - mstate m = (mstate)(chunk2mem(msp)); - memset(m, 0, msize); - msp->_head = (msize | INUSE_BITS); - m->init(tbase, tsize); - return m; -} - -SPP_API mspace create_mspace(size_t capacity, int locked) -{ - mstate m = 0; - size_t msize; - mparams.ensure_initialization(); - msize = pad_request(sizeof(malloc_state)); - if (capacity < (size_t) - (msize + top_foot_size() + mparams._page_size)) - { - size_t rs = ((capacity == 0) ? mparams._granularity : - (capacity + top_foot_size() + msize)); - size_t tsize = mparams.granularity_align(rs); - char* tbase = (char*)(SPP_CALL_MMAP(tsize)); - if (tbase != cmfail) - { - m = init_user_mstate(tbase, tsize); - m->_seg._sflags = USE_MMAP_BIT; - m->set_lock(locked); - } - } - return (mspace)m; -} - -SPP_API size_t destroy_mspace(mspace msp) -{ - size_t freed = 0; - mstate ms = (mstate)msp; - if (ms->ok_magic()) - { - msegmentptr sp = &ms->_seg; - while (sp != 0) - { - char* base = sp->_base; - size_t size = sp->_size; - flag_t flag = sp->_sflags; - (void)base; // placate people compiling -Wunused-variable - sp = sp->_next; - if ((flag & USE_MMAP_BIT) && !(flag & EXTERN_BIT) && - SPP_CALL_MUNMAP(base, size) == 0) - freed += size; - } - } - else - SPP_USAGE_ERROR_ACTION(ms, ms); - return freed; -} - -/* ---------------------------- mspace versions of malloc/calloc/free routines -------------------- */ -SPP_API void* mspace_malloc(mspace msp, size_t bytes) -{ - mstate ms = (mstate)msp; - if (!ms->ok_magic()) - { - SPP_USAGE_ERROR_ACTION(ms, ms); - return 0; - } - return ms->_malloc(bytes); -} - -SPP_API void mspace_free(mspace msp, void* mem) -{ - if (mem != 0) - { - mchunkptr p = mem2chunk(mem); -#if SPP_FOOTERS - mstate fm = get_mstate_for(p); - (void)msp; // placate people compiling -Wunused -#else - mstate fm = (mstate)msp; -#endif - if (!fm->ok_magic()) - { - SPP_USAGE_ERROR_ACTION(fm, p); - return; - } - fm->_free(p); - } -} - -SPP_API void* mspace_calloc(mspace msp, size_t n_elements, size_t elem_size) -{ - void* mem; - size_t req = 0; - mstate ms = (mstate)msp; - if (!ms->ok_magic()) - { - SPP_USAGE_ERROR_ACTION(ms, ms); - return 0; - } - if (n_elements != 0) - { - req = n_elements * elem_size; - if (((n_elements | elem_size) & ~(size_t)0xffff) && - (req / n_elements != elem_size)) - req = spp_max_size_t; // force downstream failure on overflow - } - mem = ms->internal_malloc(req); - if (mem != 0 && mem2chunk(mem)->calloc_must_clear()) - memset(mem, 0, req); - return mem; -} - -SPP_API void* mspace_realloc(mspace msp, void* oldmem, size_t bytes) -{ - void* mem = 0; - if (oldmem == 0) - mem = mspace_malloc(msp, bytes); - else if (bytes >= MAX_REQUEST) - SPP_MALLOC_FAILURE_ACTION; -#ifdef REALLOC_ZERO_BYTES_FREES - else if (bytes == 0) - mspace_free(msp, oldmem); -#endif - else - { - size_t nb = request2size(bytes); - mchunkptr oldp = mem2chunk(oldmem); -#if ! SPP_FOOTERS - mstate m = (mstate)msp; -#else - mstate m = get_mstate_for(oldp); - if (!m->ok_magic()) - { - SPP_USAGE_ERROR_ACTION(m, oldmem); - return 0; - } -#endif - if (1) - { - mchunkptr newp = m->try_realloc_chunk(oldp, nb, 1); - if (newp != 0) - { - m->check_inuse_chunk(newp); - mem = chunk2mem(newp); - } - else - { - mem = mspace_malloc(m, bytes); - if (mem != 0) - { - size_t oc = oldp->chunksize() - oldp->overhead_for(); - memcpy(mem, oldmem, (oc < bytes) ? oc : bytes); - mspace_free(m, oldmem); - } - } - } - } - return mem; -} - -#if 0 - -SPP_API mspace create_mspace_with_base(void* base, size_t capacity, int locked) -{ - mstate m = 0; - size_t msize; - mparams.ensure_initialization(); - msize = pad_request(sizeof(malloc_state)); - if (capacity > msize + top_foot_size() && - capacity < (size_t) - (msize + top_foot_size() + mparams._page_size)) - { - m = init_user_mstate((char*)base, capacity); - m->_seg._sflags = EXTERN_BIT; - m->set_lock(locked); - } - return (mspace)m; -} - -SPP_API int mspace_track_large_chunks(mspace msp, int enable) -{ - int ret = 0; - mstate ms = (mstate)msp; - if (1) - { - if (!ms->use_mmap()) - ret = 1; - if (!enable) - ms->enable_mmap(); - else - ms->disable_mmap(); - } - return ret; -} - -SPP_API void* mspace_realloc_in_place(mspace msp, void* oldmem, size_t bytes) -{ - void* mem = 0; - if (oldmem != 0) - { - if (bytes >= MAX_REQUEST) - SPP_MALLOC_FAILURE_ACTION; - else - { - size_t nb = request2size(bytes); - mchunkptr oldp = mem2chunk(oldmem); -#if ! SPP_FOOTERS - mstate m = (mstate)msp; -#else - mstate m = get_mstate_for(oldp); - (void)msp; // placate people compiling -Wunused - if (!m->ok_magic()) - { - SPP_USAGE_ERROR_ACTION(m, oldmem); - return 0; - } -#endif - if (1) - { - mchunkptr newp = m->try_realloc_chunk(oldp, nb, 0); - if (newp == oldp) - { - m->check_inuse_chunk(newp); - mem = oldmem; - } - } - } - } - return mem; -} - -SPP_API void* mspace_memalign(mspace msp, size_t alignment, size_t bytes) -{ - mstate ms = (mstate)msp; - if (!ms->ok_magic()) - { - SPP_USAGE_ERROR_ACTION(ms, ms); - return 0; - } - if (alignment <= SPP_MALLOC_ALIGNMENT) - return mspace_malloc(msp, bytes); - return ms->internal_memalign(alignment, bytes); -} - -SPP_API void** mspace_independent_calloc(mspace msp, size_t n_elements, - size_t elem_size, void* chunks[]) -{ - size_t sz = elem_size; // serves as 1-element array - mstate ms = (mstate)msp; - if (!ms->ok_magic()) - { - SPP_USAGE_ERROR_ACTION(ms, ms); - return 0; - } - return ms->ialloc(n_elements, &sz, 3, chunks); -} - -SPP_API void** mspace_independent_comalloc(mspace msp, size_t n_elements, - size_t sizes[], void* chunks[]) -{ - mstate ms = (mstate)msp; - if (!ms->ok_magic()) - { - SPP_USAGE_ERROR_ACTION(ms, ms); - return 0; - } - return ms->ialloc(n_elements, sizes, 0, chunks); -} - -#endif - -SPP_API size_t mspace_bulk_free(mspace msp, void* array[], size_t nelem) -{ - return ((mstate)msp)->internal_bulk_free(array, nelem); -} - -#if SPP_MALLOC_INSPECT_ALL -SPP_API void mspace_inspect_all(mspace msp, - void(*handler)(void *start, - void *end, - size_t used_bytes, - void* callback_arg), - void* arg) -{ - mstate ms = (mstate)msp; - if (ms->ok_magic()) - internal_inspect_all(ms, handler, arg); - else - SPP_USAGE_ERROR_ACTION(ms, ms); -} -#endif - -SPP_API int mspace_trim(mspace msp, size_t pad) -{ - int result = 0; - mstate ms = (mstate)msp; - if (ms->ok_magic()) - result = ms->sys_trim(pad); - else - SPP_USAGE_ERROR_ACTION(ms, ms); - return result; -} - -SPP_API size_t mspace_footprint(mspace msp) -{ - size_t result = 0; - mstate ms = (mstate)msp; - if (ms->ok_magic()) - result = ms->_footprint; - else - SPP_USAGE_ERROR_ACTION(ms, ms); - return result; -} - -SPP_API size_t mspace_max_footprint(mspace msp) -{ - size_t result = 0; - mstate ms = (mstate)msp; - if (ms->ok_magic()) - result = ms->_max_footprint; - else - SPP_USAGE_ERROR_ACTION(ms, ms); - return result; -} - -SPP_API size_t mspace_footprint_limit(mspace msp) -{ - size_t result = 0; - mstate ms = (mstate)msp; - if (ms->ok_magic()) - { - size_t maf = ms->_footprint_limit; - result = (maf == 0) ? spp_max_size_t : maf; - } - else - SPP_USAGE_ERROR_ACTION(ms, ms); - return result; -} - -SPP_API size_t mspace_set_footprint_limit(mspace msp, size_t bytes) -{ - size_t result = 0; - mstate ms = (mstate)msp; - if (ms->ok_magic()) - { - if (bytes == 0) - result = mparams.granularity_align(1); // Use minimal size - if (bytes == spp_max_size_t) - result = 0; // disable - else - result = mparams.granularity_align(bytes); - ms->_footprint_limit = result; - } - else - SPP_USAGE_ERROR_ACTION(ms, ms); - return result; -} - -SPP_API size_t mspace_usable_size(const void* mem) -{ - if (mem != 0) - { - mchunkptr p = mem2chunk(mem); - if (p->is_inuse()) - return p->chunksize() - p->overhead_for(); - } - return 0; -} - -SPP_API int mspace_mallopt(int param_number, int value) -{ - return mparams.change(param_number, value); -} - -} // spp_ namespace - - -#endif // SPP_EXCLUDE_IMPLEMENTATION - -#endif // spp_dlalloc__h_ diff --git a/Sourcecode/mx/sparsepp/spp_memory.h b/Sourcecode/mx/sparsepp/spp_memory.h deleted file mode 100755 index cfaa108de..000000000 --- a/Sourcecode/mx/sparsepp/spp_memory.h +++ /dev/null @@ -1,190 +0,0 @@ -#if !defined(spp_memory_h_guard) -#define spp_memory_h_guard - -#include -#include -#include - -#if defined(_WIN32) || defined( __CYGWIN__) - #define SPP_WIN -#endif - -#ifdef SPP_WIN - #include - #include - #undef min - #undef max -#elif defined(__linux__) - #include - #include -#elif defined(__FreeBSD__) - #include - #include - #include - #include - #include - #include -#endif - -namespace spp -{ - uint64_t GetSystemMemory() - { -#ifdef SPP_WIN - MEMORYSTATUSEX memInfo; - memInfo.dwLength = sizeof(MEMORYSTATUSEX); - GlobalMemoryStatusEx(&memInfo); - return static_cast(memInfo.ullTotalPageFile); -#elif defined(__linux__) - struct sysinfo memInfo; - sysinfo (&memInfo); - auto totalVirtualMem = memInfo.totalram; - - totalVirtualMem += memInfo.totalswap; - totalVirtualMem *= memInfo.mem_unit; - return static_cast(totalVirtualMem); -#elif defined(__FreeBSD__) - kvm_t *kd; - u_int pageCnt; - size_t pageCntLen = sizeof(pageCnt); - u_int pageSize; - struct kvm_swap kswap; - uint64_t totalVirtualMem; - - pageSize = static_cast(getpagesize()); - - sysctlbyname("vm.stats.vm.v_page_count", &pageCnt, &pageCntLen, NULL, 0); - totalVirtualMem = pageCnt * pageSize; - - kd = kvm_open(NULL, _PATH_DEVNULL, NULL, O_RDONLY, "kvm_open"); - kvm_getswapinfo(kd, &kswap, 1, 0); - kvm_close(kd); - totalVirtualMem += kswap.ksw_total * pageSize; - - return totalVirtualMem; -#else - return 0; -#endif - } - - uint64_t GetTotalMemoryUsed() - { -#ifdef SPP_WIN - MEMORYSTATUSEX memInfo; - memInfo.dwLength = sizeof(MEMORYSTATUSEX); - GlobalMemoryStatusEx(&memInfo); - return static_cast(memInfo.ullTotalPageFile - memInfo.ullAvailPageFile); -#elif defined(__linux__) - struct sysinfo memInfo; - sysinfo(&memInfo); - auto virtualMemUsed = memInfo.totalram - memInfo.freeram; - - virtualMemUsed += memInfo.totalswap - memInfo.freeswap; - virtualMemUsed *= memInfo.mem_unit; - - return static_cast(virtualMemUsed); -#elif defined(__FreeBSD__) - kvm_t *kd; - u_int pageSize; - u_int pageCnt, freeCnt; - size_t pageCntLen = sizeof(pageCnt); - size_t freeCntLen = sizeof(freeCnt); - struct kvm_swap kswap; - uint64_t virtualMemUsed; - - pageSize = static_cast(getpagesize()); - - sysctlbyname("vm.stats.vm.v_page_count", &pageCnt, &pageCntLen, NULL, 0); - sysctlbyname("vm.stats.vm.v_free_count", &freeCnt, &freeCntLen, NULL, 0); - virtualMemUsed = (pageCnt - freeCnt) * pageSize; - - kd = kvm_open(NULL, _PATH_DEVNULL, NULL, O_RDONLY, "kvm_open"); - kvm_getswapinfo(kd, &kswap, 1, 0); - kvm_close(kd); - virtualMemUsed += kswap.ksw_used * pageSize; - - return virtualMemUsed; -#else - return 0; -#endif - } - - uint64_t GetProcessMemoryUsed() - { -#ifdef SPP_WIN - PROCESS_MEMORY_COUNTERS_EX pmc; - GetProcessMemoryInfo(GetCurrentProcess(), reinterpret_cast(&pmc), sizeof(pmc)); - return static_cast(pmc.PrivateUsage); -#elif defined(__linux__) - auto parseLine = - [](char* line)->int - { - auto i = strlen(line); - - while(*line < '0' || *line > '9') - { - line++; - } - - line[i-3] = '\0'; - i = atoi(line); - return i; - }; - - auto file = fopen("/proc/self/status", "r"); - auto result = -1; - char line[128]; - - while(fgets(line, 128, file) != nullptr) - { - if(strncmp(line, "VmSize:", 7) == 0) - { - result = parseLine(line); - break; - } - } - - fclose(file); - return static_cast(result) * 1024; -#elif defined(__FreeBSD__) - struct kinfo_proc info; - size_t infoLen = sizeof(info); - int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid() }; - - sysctl(mib, sizeof(mib) / sizeof(*mib), &info, &infoLen, NULL, 0); - return static_cast(info.ki_rssize * getpagesize()); -#else - return 0; -#endif - } - - uint64_t GetPhysicalMemory() - { -#ifdef SPP_WIN - MEMORYSTATUSEX memInfo; - memInfo.dwLength = sizeof(MEMORYSTATUSEX); - GlobalMemoryStatusEx(&memInfo); - return static_cast(memInfo.ullTotalPhys); -#elif defined(__linux__) - struct sysinfo memInfo; - sysinfo(&memInfo); - - auto totalPhysMem = memInfo.totalram; - - totalPhysMem *= memInfo.mem_unit; - return static_cast(totalPhysMem); -#elif defined(__FreeBSD__) - u_long physMem; - size_t physMemLen = sizeof(physMem); - int mib[] = { CTL_HW, HW_PHYSMEM }; - - sysctl(mib, sizeof(mib) / sizeof(*mib), &physMem, &physMemLen, NULL, 0); - return physMem; -#else - return 0; -#endif - } - -} - -#endif // spp_memory_h_guard diff --git a/Sourcecode/mx/sparsepp/spp_smartptr.h b/Sourcecode/mx/sparsepp/spp_smartptr.h deleted file mode 100755 index 38ab4ee98..000000000 --- a/Sourcecode/mx/sparsepp/spp_smartptr.h +++ /dev/null @@ -1,76 +0,0 @@ -#if !defined(spp_smartptr_h_guard) -#define spp_smartptr_h_guard - - -/* ----------------------------------------------------------------------------------------------- - * quick version of intrusive_ptr - * ----------------------------------------------------------------------------------------------- - */ - -#include -#include "spp_config.h" - -// ------------------------------------------------------------------------ -class spp_rc -{ -public: - spp_rc() : _cnt(0) {} - spp_rc(const spp_rc &) : _cnt(0) {} - void increment() const { ++_cnt; } - void decrement() const { assert(_cnt); if (--_cnt == 0) delete this; } - unsigned count() const { return _cnt; } - -protected: - virtual ~spp_rc() {} - -private: - mutable unsigned _cnt; -}; - -// ------------------------------------------------------------------------ -template -class spp_sptr -{ -public: - spp_sptr() : _p(0) {} - spp_sptr(T *p) : _p(p) { if (_p) _p->increment(); } - spp_sptr(const spp_sptr &o) : _p(o._p) { if (_p) _p->increment(); } -#ifndef SPP_NO_CXX11_RVALUE_REFERENCES - spp_sptr(spp_sptr &&o) : _p(o._p) { o._p = (T *)0; } - spp_sptr& operator=(spp_sptr &&o) - { - if (_p) _p->decrement(); - _p = o._p; - o._p = (T *)0; - } -#endif - ~spp_sptr() { if (_p) _p->decrement(); } - spp_sptr& operator=(const spp_sptr &o) { reset(o._p); return *this; } - T* get() const { return _p; } - void swap(spp_sptr &o) { T *tmp = _p; _p = o._p; o._p = tmp; } - void reset(const T *p = 0) - { - if (p == _p) - return; - if (_p) _p->decrement(); - _p = (T *)p; - if (_p) _p->increment(); - } - T* operator->() const { return const_cast(_p); } - bool operator!() const { return _p == 0; } - -private: - T *_p; -}; - -// ------------------------------------------------------------------------ -namespace std -{ - template - inline void swap(spp_sptr &a, spp_sptr &b) - { - a.swap(b); - } -} - -#endif // spp_smartptr_h_guard diff --git a/Sourcecode/mx/sparsepp/spp_stdint.h b/Sourcecode/mx/sparsepp/spp_stdint.h deleted file mode 100755 index 3adced9cf..000000000 --- a/Sourcecode/mx/sparsepp/spp_stdint.h +++ /dev/null @@ -1,16 +0,0 @@ -#if !defined(spp_stdint_h_guard) -#define spp_stdint_h_guard - -#include "spp_config.h" - -#if defined(SPP_HAS_CSTDINT) && (__cplusplus >= 201103) - #include -#else - #if defined(__FreeBSD__) || defined(__IBMCPP__) || defined(_AIX) - #include - #else - #include - #endif -#endif - -#endif // spp_stdint_h_guard diff --git a/Sourcecode/mx/sparsepp/spp_timer.h b/Sourcecode/mx/sparsepp/spp_timer.h deleted file mode 100755 index 48180f4d0..000000000 --- a/Sourcecode/mx/sparsepp/spp_timer.h +++ /dev/null @@ -1,58 +0,0 @@ -/** - Copyright (c) 2016 Mariano Gonzalez - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. -*/ - -#ifndef spp_timer_h_guard -#define spp_timer_h_guard - -#include - -namespace spp -{ - template - class Timer - { - public: - Timer() { reset(); } - void reset() { _start = _snap = clock::now(); } - void snap() { _snap = clock::now(); } - - float get_total() const { return get_diff(_start, clock::now()); } - float get_delta() const { return get_diff(_snap, clock::now()); } - - private: - using clock = std::chrono::high_resolution_clock; - using point = std::chrono::time_point; - - template - static T get_diff(const point& start, const point& end) - { - using duration_t = std::chrono::duration; - - return std::chrono::duration_cast(end - start).count(); - } - - point _start; - point _snap; - }; -} - -#endif // spp_timer_h_guard diff --git a/Sourcecode/mx/sparsepp/spp_traits.h b/Sourcecode/mx/sparsepp/spp_traits.h deleted file mode 100755 index 792f52f2f..000000000 --- a/Sourcecode/mx/sparsepp/spp_traits.h +++ /dev/null @@ -1,125 +0,0 @@ -#if !defined(spp_traits_h_guard) -#define spp_traits_h_guard - -#include "spp_config.h" - -template class HashObject; // for Google's benchmark, not in spp namespace! - -namespace spp_ -{ - -// --------------------------------------------------------------------------- -// type_traits we need -// --------------------------------------------------------------------------- -template -struct integral_constant { static const T value = v; }; - -template const T integral_constant::value; - -typedef integral_constant true_type; -typedef integral_constant false_type; - -typedef integral_constant zero_type; -typedef integral_constant one_type; -typedef integral_constant two_type; -typedef integral_constant three_type; - -template struct is_same : public false_type { }; -template struct is_same : public true_type { }; - -template struct remove_const { typedef T type; }; -template struct remove_const { typedef T type; }; - -template struct remove_volatile { typedef T type; }; -template struct remove_volatile { typedef T type; }; - -template struct remove_cv -{ - typedef typename remove_const::type>::type type; -}; - -// ---------------- is_integral ---------------------------------------- -template struct is_integral; -template struct is_integral : false_type { }; -template<> struct is_integral : true_type { }; -template<> struct is_integral : true_type { }; -template<> struct is_integral : true_type { }; -template<> struct is_integral : true_type { }; -template<> struct is_integral : true_type { }; -template<> struct is_integral : true_type { }; -template<> struct is_integral : true_type { }; -template<> struct is_integral : true_type { }; -template<> struct is_integral : true_type { }; -template<> struct is_integral : true_type { }; -#ifdef SPP_HAS_LONG_LONG - template<> struct is_integral : true_type { }; - template<> struct is_integral : true_type { }; -#endif -template struct is_integral : is_integral { }; -template struct is_integral : is_integral { }; -template struct is_integral : is_integral { }; - -// ---------------- is_floating_point ---------------------------------------- -template struct is_floating_point; -template struct is_floating_point : false_type { }; -template<> struct is_floating_point : true_type { }; -template<> struct is_floating_point : true_type { }; -template<> struct is_floating_point : true_type { }; -template struct is_floating_point : is_floating_point { }; -template struct is_floating_point : is_floating_point { }; -template struct is_floating_point : is_floating_point { }; - -// ---------------- is_pointer ---------------------------------------- -template struct is_pointer; -template struct is_pointer : false_type { }; -template struct is_pointer : true_type { }; -template struct is_pointer : is_pointer { }; -template struct is_pointer : is_pointer { }; -template struct is_pointer : is_pointer { }; - -// ---------------- is_reference ---------------------------------------- -template struct is_reference; -template struct is_reference : false_type {}; -template struct is_reference : true_type {}; - -// ---------------- is_relocatable ---------------------------------------- -// relocatable values can be moved around in memory using memcpy and remain -// correct. Most types are relocatable, an example of a type who is not would -// be a struct which contains a pointer to a buffer inside itself - this is the -// case for std::string in gcc 5. -// ------------------------------------------------------------------------ -template struct is_relocatable; -template struct is_relocatable : - integral_constant::value || - is_floating_point::value || - is_pointer::value - )> -{ }; - -template struct is_relocatable > : true_type { }; - -template struct is_relocatable : is_relocatable { }; -template struct is_relocatable : is_relocatable { }; -template struct is_relocatable : is_relocatable { }; -template struct is_relocatable : is_relocatable { }; -template struct is_relocatable > : - integral_constant::value && is_relocatable::value)> -{ }; - -// A template helper used to select A or B based on a condition. -// ------------------------------------------------------------ -template -struct if_ -{ - typedef A type; -}; - -template -struct if_ -{ - typedef B type; -}; - -} // spp_ namespace - -#endif // spp_traits_h_guard diff --git a/Sourcecode/mx/sparsepp/spp_utils.h b/Sourcecode/mx/sparsepp/spp_utils.h deleted file mode 100755 index d4cc7a38b..000000000 --- a/Sourcecode/mx/sparsepp/spp_utils.h +++ /dev/null @@ -1,471 +0,0 @@ -// ---------------------------------------------------------------------- -// Copyright (c) 2016, Steven Gregory Popovitch - greg7mdp@gmail.com -// All rights reserved. -// -// Code derived derived from Boost libraries. -// Boost software licence reproduced below. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * The name of Steven Gregory Popovitch may not be used to -// endorse or promote products derived from this software without -// specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// ---------------------------------------------------------------------- - -// --------------------------------------------------------------------------- -// Boost Software License - Version 1.0 - August 17th, 2003 -// -// Permission is hereby granted, free of charge, to any person or organization -// obtaining a copy of the software and accompanying documentation covered by -// this license (the "Software") to use, reproduce, display, distribute, -// execute, and transmit the Software, and to prepare derivative works of the -// Software, and to permit third-parties to whom the Software is furnished to -// do so, all subject to the following: -// -// The copyright notices in the Software and this entire statement, including -// the above license grant, this restriction and the following disclaimer, -// must be included in all copies of the Software, in whole or in part, and -// all derivative works of the Software, unless such copies or derivative -// works are solely in the form of machine-executable object code generated by -// a source language processor. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. -// --------------------------------------------------------------------------- - -// ---------------------------------------------------------------------- -// H A S H F U N C T I O N S -// ---------------------------- -// -// Implements spp::spp_hash() and spp::hash_combine() -// ---------------------------------------------------------------------- - -#if !defined(spp_utils_h_guard_) -#define spp_utils_h_guard_ - -#if defined(_MSC_VER) - #if (_MSC_VER >= 1600 ) // vs2010 (1900 is vs2015) - #include - #define SPP_HASH_CLASS std::hash - #else - #include - #define SPP_HASH_CLASS stdext::hash_compare - #endif - #if (_MSC_FULL_VER < 190021730) - #define SPP_NO_CXX11_NOEXCEPT - #endif -#elif defined __clang__ - #if __has_feature(cxx_noexcept) // what to use here? - #include - #define SPP_HASH_CLASS std::hash - #else - #include - #define SPP_HASH_CLASS std::tr1::hash - #endif - - #if !__has_feature(cxx_noexcept) - #define SPP_NO_CXX11_NOEXCEPT - #endif -#elif defined(__GNUC__) - #if defined(__GXX_EXPERIMENTAL_CXX0X__) || (__cplusplus >= 201103L) - #include - #define SPP_HASH_CLASS std::hash - - #if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100) < 40600 - #define SPP_NO_CXX11_NOEXCEPT - #endif - #else - #include - #define SPP_HASH_CLASS std::tr1::hash - #define SPP_NO_CXX11_NOEXCEPT - #endif -#else - #include - #define SPP_HASH_CLASS std::hash -#endif - -#ifdef SPP_NO_CXX11_NOEXCEPT - #define SPP_NOEXCEPT -#else - #define SPP_NOEXCEPT noexcept -#endif - -#ifdef SPP_NO_CXX11_CONSTEXPR - #define SPP_CONSTEXPR -#else - #define SPP_CONSTEXPR constexpr -#endif - -#ifdef SPP_NO_CXX14_CONSTEXPR - #define SPP_CXX14_CONSTEXPR -#else - #define SPP_CXX14_CONSTEXPR constexpr -#endif - -#define SPP_INLINE - -#ifndef spp_ - #define spp_ spp -#endif - -namespace spp_ -{ - -template T spp_min(T a, T b) { return a < b ? a : b; } -template T spp_max(T a, T b) { return a >= b ? a : b; } - -template -struct spp_hash -{ - SPP_INLINE size_t operator()(const T &__v) const SPP_NOEXCEPT - { - SPP_HASH_CLASS hasher; - return hasher(__v); - } -}; - -template -struct spp_hash -{ - static size_t spp_log2 (size_t val) SPP_NOEXCEPT - { - size_t res = 0; - while (val > 1) - { - val >>= 1; - res++; - } - return res; - } - - SPP_INLINE size_t operator()(const T *__v) const SPP_NOEXCEPT - { - static const size_t shift = 3; // spp_log2(1 + sizeof(T)); // T might be incomplete! - const uintptr_t i = (const uintptr_t)__v; - return static_cast(i >> shift); - } -}; - -// from http://burtleburtle.net/bob/hash/integer.html -// fast and efficient for power of two table sizes where we always -// consider the last bits. -// --------------------------------------------------------------- -inline size_t spp_mix_32(uint32_t a) -{ - a = a ^ (a >> 4); - a = (a ^ 0xdeadbeef) + (a << 5); - a = a ^ (a >> 11); - return static_cast(a); -} - -// More thorough scrambling as described in -// https://gist.github.com/badboy/6267743 -// ---------------------------------------- -inline size_t spp_mix_64(uint64_t a) -{ - a = (~a) + (a << 21); // a = (a << 21) - a - 1; - a = a ^ (a >> 24); - a = (a + (a << 3)) + (a << 8); // a * 265 - a = a ^ (a >> 14); - a = (a + (a << 2)) + (a << 4); // a * 21 - a = a ^ (a >> 28); - a = a + (a << 31); - return static_cast(a); -} - -template -struct spp_unary_function -{ - typedef ArgumentType argument_type; - typedef ResultType result_type; -}; - -template <> -struct spp_hash : public spp_unary_function -{ - SPP_INLINE size_t operator()(bool __v) const SPP_NOEXCEPT - { return static_cast(__v); } -}; - -template <> -struct spp_hash : public spp_unary_function -{ - SPP_INLINE size_t operator()(char __v) const SPP_NOEXCEPT - { return static_cast(__v); } -}; - -template <> -struct spp_hash : public spp_unary_function -{ - SPP_INLINE size_t operator()(signed char __v) const SPP_NOEXCEPT - { return static_cast(__v); } -}; - -template <> -struct spp_hash : public spp_unary_function -{ - SPP_INLINE size_t operator()(unsigned char __v) const SPP_NOEXCEPT - { return static_cast(__v); } -}; - -template <> -struct spp_hash : public spp_unary_function -{ - SPP_INLINE size_t operator()(wchar_t __v) const SPP_NOEXCEPT - { return static_cast(__v); } -}; - -template <> -struct spp_hash : public spp_unary_function -{ - SPP_INLINE size_t operator()(int16_t __v) const SPP_NOEXCEPT - { return spp_mix_32(static_cast(__v)); } -}; - -template <> -struct spp_hash : public spp_unary_function -{ - SPP_INLINE size_t operator()(uint16_t __v) const SPP_NOEXCEPT - { return spp_mix_32(static_cast(__v)); } -}; - -template <> -struct spp_hash : public spp_unary_function -{ - SPP_INLINE size_t operator()(int32_t __v) const SPP_NOEXCEPT - { return spp_mix_32(static_cast(__v)); } -}; - -template <> -struct spp_hash : public spp_unary_function -{ - SPP_INLINE size_t operator()(uint32_t __v) const SPP_NOEXCEPT - { return spp_mix_32(static_cast(__v)); } -}; - -template <> -struct spp_hash : public spp_unary_function -{ - SPP_INLINE size_t operator()(int64_t __v) const SPP_NOEXCEPT - { return spp_mix_64(static_cast(__v)); } -}; - -template <> -struct spp_hash : public spp_unary_function -{ - SPP_INLINE size_t operator()(uint64_t __v) const SPP_NOEXCEPT - { return spp_mix_64(static_cast(__v)); } -}; - -template <> -struct spp_hash : public spp_unary_function -{ - SPP_INLINE size_t operator()(float __v) const SPP_NOEXCEPT - { - // -0.0 and 0.0 should return same hash - uint32_t *as_int = reinterpret_cast(&__v); - return (__v == 0) ? static_cast(0) : spp_mix_32(*as_int); - } -}; - -template <> -struct spp_hash : public spp_unary_function -{ - SPP_INLINE size_t operator()(double __v) const SPP_NOEXCEPT - { - // -0.0 and 0.0 should return same hash - uint64_t *as_int = reinterpret_cast(&__v); - return (__v == 0) ? static_cast(0) : spp_mix_64(*as_int); - } -}; - -template struct Combiner -{ - inline void operator()(T& seed, T value); -}; - -template struct Combiner -{ - inline void operator()(T& seed, T value) - { - seed ^= value + 0x9e3779b9 + (seed << 6) + (seed >> 2); - } -}; - -template struct Combiner -{ - inline void operator()(T& seed, T value) - { - seed ^= value + T(0xc6a4a7935bd1e995) + (seed << 6) + (seed >> 2); - } -}; - -template -inline void hash_combine(std::size_t& seed, T const& v) -{ - spp_::spp_hash hasher; - Combiner combiner; - - combiner(seed, hasher(v)); -} - -static inline uint32_t s_spp_popcount_default(uint32_t i) SPP_NOEXCEPT -{ - i = i - ((i >> 1) & 0x55555555); - i = (i & 0x33333333) + ((i >> 2) & 0x33333333); - return (((i + (i >> 4)) & 0x0F0F0F0F) * 0x01010101) >> 24; -} - -static inline uint32_t s_spp_popcount_default(uint64_t x) SPP_NOEXCEPT -{ - const uint64_t m1 = uint64_t(0x5555555555555555); // binary: 0101... - const uint64_t m2 = uint64_t(0x3333333333333333); // binary: 00110011.. - const uint64_t m4 = uint64_t(0x0f0f0f0f0f0f0f0f); // binary: 4 zeros, 4 ones ... - const uint64_t h01 = uint64_t(0x0101010101010101); // the sum of 256 to the power of 0,1,2,3... - - x -= (x >> 1) & m1; // put count of each 2 bits into those 2 bits - x = (x & m2) + ((x >> 2) & m2); // put count of each 4 bits into those 4 bits - x = (x + (x >> 4)) & m4; // put count of each 8 bits into those 8 bits - return (x * h01)>>56; // returns left 8 bits of x + (x<<8) + (x<<16) + (x<<24)+... -} - -#ifdef __APPLE__ - static inline uint32_t count_trailing_zeroes(size_t v) SPP_NOEXCEPT - { - size_t x = (v & -v) - 1; - // sadly sizeof() required to build on macos - return sizeof(size_t) == 8 ? s_spp_popcount_default((uint64_t)x) : s_spp_popcount_default((uint32_t)x); - } - - static inline uint32_t s_popcount(size_t v) SPP_NOEXCEPT - { - // sadly sizeof() required to build on macos - return sizeof(size_t) == 8 ? s_spp_popcount_default((uint64_t)v) : s_spp_popcount_default((uint32_t)v); - } -#else - static inline uint32_t count_trailing_zeroes(size_t v) SPP_NOEXCEPT - { - return s_spp_popcount_default((v & -(intptr_t)v) - 1); - } - - static inline uint32_t s_popcount(size_t v) SPP_NOEXCEPT - { - return s_spp_popcount_default(v); - } -#endif - -// ----------------------------------------------------------- -// ----------------------------------------------------------- -template -class libc_allocator -{ -public: - typedef T value_type; - typedef T* pointer; - typedef ptrdiff_t difference_type; - typedef const T* const_pointer; - typedef size_t size_type; - - libc_allocator() {} - libc_allocator(const libc_allocator&) {} - - template - libc_allocator(const libc_allocator &) {} - - libc_allocator& operator=(const libc_allocator &) { return *this; } - - template - libc_allocator& operator=(const libc_allocator &) { return *this; } - -#ifndef SPP_NO_CXX11_RVALUE_REFERENCES - libc_allocator(libc_allocator &&) {} - libc_allocator& operator=(libc_allocator &&) { return *this; } -#endif - - pointer allocate(size_t n, const_pointer /* unused */= 0) - { - return static_cast(malloc(n * sizeof(T))); - } - - void deallocate(pointer p, size_t /* unused */) - { - free(p); - } - - pointer reallocate(pointer p, size_t new_size) - { - return static_cast(realloc(p, new_size * sizeof(T))); - } - - // extra API to match spp_allocator interface - pointer reallocate(pointer p, size_t /* old_size */, size_t new_size) - { - return static_cast(realloc(p, new_size * sizeof(T))); - } - - size_type max_size() const - { - return static_cast(-1) / sizeof(value_type); - } - - void construct(pointer p, const value_type& val) - { - new(p) value_type(val); - } - - void destroy(pointer p) { p->~value_type(); } - - template - struct rebind - { - typedef spp_::libc_allocator other; - }; - -}; - -// forward declaration -// ------------------- -template -class spp_allocator; - -} - -template -inline bool operator==(const spp_::libc_allocator &, const spp_::libc_allocator &) -{ - return true; -} - -template -inline bool operator!=(const spp_::libc_allocator &, const spp_::libc_allocator &) -{ - return false; -} - -#endif // spp_utils_h_guard_ - diff --git a/Sourcecode/mxtest/api/ApiChordSimpleScoreData.h b/Sourcecode/mxtest/api/ApiChordSimpleScoreData.h index ddd6f670c..6e78dfe2b 100644 --- a/Sourcecode/mxtest/api/ApiChordSimpleScoreData.h +++ b/Sourcecode/mxtest/api/ApiChordSimpleScoreData.h @@ -5,7 +5,6 @@ #pragma once #include "mx/api/ScoreData.h" -#include "mx/api/Smufl.h" #include "mx/impl/Converter.h" #include "mx/core/Enums.h" diff --git a/Sourcecode/mxtest/api/ApiK007aScoreData.h b/Sourcecode/mxtest/api/ApiK007aScoreData.h index 0d1e3ab6b..f60225766 100644 --- a/Sourcecode/mxtest/api/ApiK007aScoreData.h +++ b/Sourcecode/mxtest/api/ApiK007aScoreData.h @@ -5,7 +5,6 @@ #pragma once #include "mx/api/ScoreData.h" -#include "mx/api/Smufl.h" #include "mx/impl/Converter.h" #include "mx/core/Enums.h" @@ -31,11 +30,9 @@ namespace noteP->noteAttachmentData.marks.emplace_back( MarkData{} ); auto& markData = noteP->noteAttachmentData.marks.back(); markData.markType = markType; - markData.smuflName = MarkSmufl::getName( markType ); mx::impl::Converter converter; const auto d = converter.convertDynamic( markType ); markData.name = mx::core::toString( d ); - markData.smuflCodepoint = MarkSmufl::getCodepoint( markType ); markData.tickTimePosition = noteP->tickTimePosition; markData.positionData.placement = Placement::below; } @@ -107,9 +104,7 @@ namespace mxtest auto& lastMeasure = part.measures.back(); auto& lastDynamic = lastMeasure.staves.back().voices[0].notes.back().noteAttachmentData.marks.back(); const std::string name = "dynamicNiente"; - lastDynamic.smuflName = name; lastDynamic.name = name; - lastDynamic.smuflCodepoint = Smufl::findCodepoint( name ); return score; } diff --git a/Sourcecode/mxtest/api/ApiK007cScoreData.h b/Sourcecode/mxtest/api/ApiK007cScoreData.h index 4ab71e8c0..70ed7bc2a 100644 --- a/Sourcecode/mxtest/api/ApiK007cScoreData.h +++ b/Sourcecode/mxtest/api/ApiK007cScoreData.h @@ -5,7 +5,6 @@ #pragma once #include "mx/api/ScoreData.h" -#include "mx/api/Smufl.h" #include "mx/impl/Converter.h" #include "mx/core/Enums.h" @@ -33,11 +32,9 @@ namespace auto& mark = direction.marks.back(); mark.markType = markType; - mark.smuflName = MarkSmufl::getName( markType ); mx::impl::Converter converter; const auto d = converter.convertDynamic( markType ); mark.name = mx::core::toString( d ); - mark.smuflCodepoint = MarkSmufl::getCodepoint( markType ); direction.tickTimePosition = noteP->tickTimePosition; direction.isStaffValueSpecified = false; mark.positionData.placement = Placement::below; @@ -110,9 +107,7 @@ namespace mxtest auto& lastMeasure = part.measures.back(); auto& lastDynamic = lastMeasure.staves.back().directions.back().marks.back(); const std::string name = "dynamicNiente"; - lastDynamic.smuflName = name; lastDynamic.name = name; - lastDynamic.smuflCodepoint = Smufl::findCodepoint( name ); return score; } diff --git a/Sourcecode/mxtest/api/ApiK009bSlurScoreData.h b/Sourcecode/mxtest/api/ApiK009bSlurScoreData.h index 992e2b0f3..dadb44889 100644 --- a/Sourcecode/mxtest/api/ApiK009bSlurScoreData.h +++ b/Sourcecode/mxtest/api/ApiK009bSlurScoreData.h @@ -5,7 +5,6 @@ #pragma once #include "mx/api/ScoreData.h" -#include "mx/api/Smufl.h" #include "mx/impl/Converter.h" #include "mx/core/Enums.h" diff --git a/Sourcecode/mxtest/api/ApiK014aFermatasScoreData.h b/Sourcecode/mxtest/api/ApiK014aFermatasScoreData.h index eabc19ab7..6b8b57979 100644 --- a/Sourcecode/mxtest/api/ApiK014aFermatasScoreData.h +++ b/Sourcecode/mxtest/api/ApiK014aFermatasScoreData.h @@ -5,7 +5,6 @@ #pragma once #include "mx/api/ScoreData.h" -#include "mx/api/Smufl.h" #include "mx/impl/Converter.h" #include "mx/core/Enums.h" diff --git a/Sourcecode/mxtest/api/ApiK015aLayoutScoreData.h b/Sourcecode/mxtest/api/ApiK015aLayoutScoreData.h index 64dc5d1d5..794200c8e 100644 --- a/Sourcecode/mxtest/api/ApiK015aLayoutScoreData.h +++ b/Sourcecode/mxtest/api/ApiK015aLayoutScoreData.h @@ -5,7 +5,6 @@ #pragma once #include "mx/api/ScoreData.h" -#include "mx/api/Smufl.h" #include "mx/impl/Converter.h" #include "mx/core/Enums.h" diff --git a/Sourcecode/mxtest/api/ApiK016aMiscScoreData.h b/Sourcecode/mxtest/api/ApiK016aMiscScoreData.h index ffaaf6643..5628bf5d6 100644 --- a/Sourcecode/mxtest/api/ApiK016aMiscScoreData.h +++ b/Sourcecode/mxtest/api/ApiK016aMiscScoreData.h @@ -5,7 +5,6 @@ #pragma once #include "mx/api/ScoreData.h" -#include "mx/api/Smufl.h" #include "mx/impl/Converter.h" #include "mx/core/Enums.h" diff --git a/Sourcecode/mxtest/api/ApiLy43eScoreData.h b/Sourcecode/mxtest/api/ApiLy43eScoreData.h index e835421b6..5af6239bf 100644 --- a/Sourcecode/mxtest/api/ApiLy43eScoreData.h +++ b/Sourcecode/mxtest/api/ApiLy43eScoreData.h @@ -44,9 +44,6 @@ namespace mxtest auto directionMarkP = &directionP->marks.back(); directionMarkP->markType = MarkType::ffff; directionMarkP->name = "ffff"; - auto glyph = &MarkSmufl::getSmuflGlyphname( directionMarkP->markType ); - directionMarkP->smuflName = glyph->below; - directionMarkP->smuflCodepoint = Smufl::findCodepoint( directionMarkP->smuflName ); directionMarkP->tickTimePosition = 0; // measure 1 - music @@ -107,9 +104,6 @@ namespace mxtest directionMarkP->tickTimePosition = directionP->tickTimePosition; directionMarkP->markType = MarkType::p; directionMarkP->name = "p"; - glyph = &MarkSmufl::getSmuflGlyphname( directionMarkP->markType ); - directionMarkP->smuflName = glyph->below; - directionMarkP->smuflCodepoint = Smufl::findCodepoint( directionMarkP->smuflName ); voice = 1; staff2P->voices[voice].notes.emplace_back( NoteData{} ); diff --git a/Sourcecode/mxtest/api/ApiMuAccidentals1ScoreData.h b/Sourcecode/mxtest/api/ApiMuAccidentals1ScoreData.h index 479279f55..e2ef19cef 100644 --- a/Sourcecode/mxtest/api/ApiMuAccidentals1ScoreData.h +++ b/Sourcecode/mxtest/api/ApiMuAccidentals1ScoreData.h @@ -5,7 +5,6 @@ #pragma once #include "mx/api/ScoreData.h" -#include "mx/api/Smufl.h" #include "mx/impl/Converter.h" #include "mx/core/Enums.h" diff --git a/Sourcecode/mxtest/api/NoteDataTest.cpp b/Sourcecode/mxtest/api/NoteDataTest.cpp index 464e10a65..5d5434190 100644 --- a/Sourcecode/mxtest/api/NoteDataTest.cpp +++ b/Sourcecode/mxtest/api/NoteDataTest.cpp @@ -53,8 +53,7 @@ TEST( otherArticulation, NoteData ) note.noteAttachmentData.marks.emplace_back( Placement::unspecified, MarkType::otherArticulation ); note.noteAttachmentData.marks.back().positionData.isDefaultXSpecified = true; note.noteAttachmentData.marks.back().positionData.defaultX = 333.3; - note.noteAttachmentData.marks.back().name = "name"; - note.noteAttachmentData.marks.back().smuflName = "smuflName"; + note.noteAttachmentData.marks.back().name = "october 2018"; // round trip it through xml auto& mgr = DocumentManager::getInstance(); @@ -82,7 +81,70 @@ TEST( otherArticulation, NoteData ) CHECK( md.positionData.isDefaultXSpecified ); CHECK( !md.positionData.isDefaultYSpecified ); CHECK_DOUBLES_EQUAL( 333.3, md.positionData.defaultX, 0.00001 ); - CHECK_EQUAL( "name", md.name ); + CHECK_EQUAL( "october 2018", md.name ); + CHECK( md.positionData.placement == Placement::unspecified ); +} +T_END; + +TEST( customErrorUnknown, MarkData ) +{ + const auto expectedMark = mx::api::MarkType::customErrorUnknown; + const std::string expectedString = mx::api::markStringCustomErrorUnknown; + + const auto isCustom = mx::api::isMarkCustom( expectedMark ); + CHECK( !isCustom ); + const auto actualString = mx::api::getCustomMarkName( expectedMark ); + CHECK_EQUAL( expectedString, actualString ); + const auto actualMark = mx::api::getMarkTypeFromCustomString( actualString ); + CHECK( expectedMark == actualMark ); +} + +TEST( customArticulation, NoteData ) +{ + ScoreData score; + score.parts.emplace_back(); + auto& part = score.parts.back(); + part.measures.emplace_back(); + auto& measure = part.measures.back(); + measure.staves.emplace_back(); + auto& staff = measure.staves.back(); + auto& voice = staff.voices[0]; + voice.notes.emplace_back(); + auto& note = voice.notes.back(); + + note.noteAttachmentData.marks.emplace_back( Placement::unspecified, MarkType::customAccentTenuto ); + note.noteAttachmentData.marks.back().positionData.isDefaultXSpecified = true; + note.noteAttachmentData.marks.back().positionData.defaultX = 333.3; + + // round trip it through xml + auto& mgr = DocumentManager::getInstance(); + auto docId = mgr.createFromScore( score ); + std::stringstream ss; + mgr.writeToStream(docId, ss); + // TODO - SMUFLKILL - remove + mgr.writeToFile( docId, "./bloop.xml" ); + mgr.destroyDocument(docId); + const std::string xml = ss.str(); + std::istringstream iss{ xml }; + docId = mgr.createFromStream( iss ); + auto oscore = mgr.getData(docId); + + // get the data after the round trip + auto& opart = oscore.parts.back(); + auto& omeasure = opart.measures.back(); + auto& ostaff = omeasure.staves.back(); + auto& ovoice = ostaff.voices[0]; + auto& onote = ovoice.notes.back(); + auto& oattachments = onote.noteAttachmentData; + auto& omarks = oattachments.marks; + auto oIter = omarks.cbegin(); + + auto md = *oIter; + CHECK( md.markType == MarkType::customAccentTenuto ); + CHECK( md.positionData.isDefaultXSpecified ); + CHECK( !md.positionData.isDefaultYSpecified ); + CHECK_DOUBLES_EQUAL( 333.3, md.positionData.defaultX, 0.00001 ); + CHECK_EQUAL( mx::api::markStringCustomAccentTenuto, md.name ); CHECK( md.positionData.placement == Placement::unspecified ); } T_END; @@ -103,8 +165,7 @@ TEST( otherOrnament, NoteData ) note.noteAttachmentData.marks.emplace_back( Placement::unspecified, MarkType::otherOrnament ); note.noteAttachmentData.marks.back().positionData.isDefaultXSpecified = true; note.noteAttachmentData.marks.back().positionData.defaultX = 333.3; - note.noteAttachmentData.marks.back().name = "name"; - note.noteAttachmentData.marks.back().smuflName = "smuflName"; + note.noteAttachmentData.marks.back().name = "**()00))&"; // round trip it through xml auto& mgr = DocumentManager::getInstance(); @@ -132,7 +193,7 @@ TEST( otherOrnament, NoteData ) CHECK( md.positionData.isDefaultXSpecified ); CHECK( !md.positionData.isDefaultYSpecified ); CHECK_DOUBLES_EQUAL( 333.3, md.positionData.defaultX, 0.00001 ); - CHECK_EQUAL( "name", md.name ); + CHECK_EQUAL( "**()00))&", md.name ); CHECK( md.positionData.placement == Placement::unspecified ); } T_END; @@ -155,10 +216,9 @@ TEST( technical, NoteData ) note.noteAttachmentData.marks.back().positionData.defaultX = 123.0; note.noteAttachmentData.marks.emplace_back( Placement::above, MarkType::otherTechnical ); - note.noteAttachmentData.marks.back().name = "Bob"; - note.noteAttachmentData.marks.back().smuflName = "Charlie"; note.noteAttachmentData.marks.back().positionData.isDefaultYSpecified = true; note.noteAttachmentData.marks.back().positionData.defaultY = -456.0; + note.noteAttachmentData.marks.back().name = "Bob"; // round trip it through xml auto& mgr = DocumentManager::getInstance(); diff --git a/Sublime/mx.sublime-project b/Sublime/mx.sublime-project index 645be1fcf..2e354b6da 100644 --- a/Sublime/mx.sublime-project +++ b/Sublime/mx.sublime-project @@ -2,7 +2,7 @@ "folders": [ { - "path": "../../MxRepo" + "path": "../" } ] } diff --git a/Xcode/Mx.xcodeproj/project.pbxproj b/Xcode/Mx.xcodeproj/project.pbxproj index 807bc72be..0f59b99b7 100755 --- a/Xcode/Mx.xcodeproj/project.pbxproj +++ b/Xcode/Mx.xcodeproj/project.pbxproj @@ -172,10 +172,6 @@ 29A8E36A1EF0476300AD2478 /* ScoreData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD7A1EF0475D00AD2478 /* ScoreData.cpp */; }; 29A8E36B1EF0476300AD2478 /* ScoreData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD7A1EF0475D00AD2478 /* ScoreData.cpp */; }; 29A8E36C1EF0476300AD2478 /* ScoreData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD7A1EF0475D00AD2478 /* ScoreData.cpp */; }; - 29A8E3731EF0476300AD2478 /* Smufl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD7C1EF0475D00AD2478 /* Smufl.cpp */; }; - 29A8E3741EF0476300AD2478 /* Smufl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD7C1EF0475D00AD2478 /* Smufl.cpp */; }; - 29A8E3751EF0476300AD2478 /* Smufl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD7C1EF0475D00AD2478 /* Smufl.cpp */; }; - 29A8E3761EF0476300AD2478 /* Smufl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD7C1EF0475D00AD2478 /* Smufl.cpp */; }; 29A8E3A51EF0476300AD2478 /* WordsData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD861EF0475D00AD2478 /* WordsData.cpp */; }; 29A8E3A61EF0476300AD2478 /* WordsData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD861EF0475D00AD2478 /* WordsData.cpp */; }; 29A8E3A71EF0476300AD2478 /* WordsData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD861EF0475D00AD2478 /* WordsData.cpp */; }; @@ -2792,7 +2788,6 @@ 29A8FDCF1EF0499200AD2478 /* NoteData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD701EF0475D00AD2478 /* NoteData.cpp */; }; 29A8FDD01EF0499200AD2478 /* PitchData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD761EF0475D00AD2478 /* PitchData.cpp */; }; 29A8FDD11EF0499200AD2478 /* ScoreData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD7A1EF0475D00AD2478 /* ScoreData.cpp */; }; - 29A8FDD21EF0499200AD2478 /* Smufl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD7C1EF0475D00AD2478 /* Smufl.cpp */; }; 29A8FDD31EF0499200AD2478 /* WordsData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD861EF0475D00AD2478 /* WordsData.cpp */; }; 29A8FDD41EF0499200AD2478 /* AttributesInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD891EF0475D00AD2478 /* AttributesInterface.cpp */; }; 29A8FDD51EF0499200AD2478 /* Color.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD8B1EF0475D00AD2478 /* Color.cpp */; }; @@ -3445,7 +3440,6 @@ E24C015D209D07E200CCCF7C /* PositionData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD781EF0475D00AD2478 /* PositionData.h */; }; E24C015E209D07E200CCCF7C /* PrintData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD791EF0475D00AD2478 /* PrintData.h */; }; E24C015F209D07E200CCCF7C /* ScoreData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD7B1EF0475D00AD2478 /* ScoreData.h */; }; - E24C0160209D07E200CCCF7C /* Smufl.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD7D1EF0475D00AD2478 /* Smufl.h */; }; E24C0161209D07E200CCCF7C /* SoundID.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A800631EF0876500AD2478 /* SoundID.h */; }; E24C0162209D07E200CCCF7C /* SpannerData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD7E1EF0475D00AD2478 /* SpannerData.h */; }; E24C0163209D07E200CCCF7C /* StaffData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD7F1EF0475D00AD2478 /* StaffData.h */; }; @@ -3487,7 +3481,6 @@ E24C0187209D07E300CCCF7C /* PositionData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD781EF0475D00AD2478 /* PositionData.h */; }; E24C0188209D07E300CCCF7C /* PrintData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD791EF0475D00AD2478 /* PrintData.h */; }; E24C0189209D07E300CCCF7C /* ScoreData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD7B1EF0475D00AD2478 /* ScoreData.h */; }; - E24C018A209D07E300CCCF7C /* Smufl.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD7D1EF0475D00AD2478 /* Smufl.h */; }; E24C018B209D07E300CCCF7C /* SoundID.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A800631EF0876500AD2478 /* SoundID.h */; }; E24C018C209D07E300CCCF7C /* SpannerData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD7E1EF0475D00AD2478 /* SpannerData.h */; }; E24C018D209D07E300CCCF7C /* StaffData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD7F1EF0475D00AD2478 /* StaffData.h */; }; @@ -3529,7 +3522,6 @@ E24C01B4209D0C1400CCCF7C /* PositionData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD781EF0475D00AD2478 /* PositionData.h */; }; E24C01B5209D0C1400CCCF7C /* PrintData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD791EF0475D00AD2478 /* PrintData.h */; }; E24C01B6209D0C1400CCCF7C /* ScoreData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD7B1EF0475D00AD2478 /* ScoreData.h */; }; - E24C01B7209D0C1400CCCF7C /* Smufl.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD7D1EF0475D00AD2478 /* Smufl.h */; }; E24C01B8209D0C1400CCCF7C /* SoundID.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A800631EF0876500AD2478 /* SoundID.h */; }; E24C01B9209D0C1400CCCF7C /* SpannerData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD7E1EF0475D00AD2478 /* SpannerData.h */; }; E24C01BA209D0C1400CCCF7C /* StaffData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD7F1EF0475D00AD2478 /* StaffData.h */; }; @@ -3571,7 +3563,6 @@ E24C01DF209D0C4D00CCCF7C /* PositionData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD781EF0475D00AD2478 /* PositionData.h */; }; E24C01E0209D0C4D00CCCF7C /* PrintData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD791EF0475D00AD2478 /* PrintData.h */; }; E24C01E1209D0C4D00CCCF7C /* ScoreData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD7B1EF0475D00AD2478 /* ScoreData.h */; }; - E24C01E2209D0C4D00CCCF7C /* Smufl.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD7D1EF0475D00AD2478 /* Smufl.h */; }; E24C01E3209D0C4D00CCCF7C /* SoundID.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A800631EF0876500AD2478 /* SoundID.h */; }; E24C01E4209D0C4D00CCCF7C /* SpannerData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD7E1EF0475D00AD2478 /* SpannerData.h */; }; E24C01E5209D0C4D00CCCF7C /* StaffData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD7F1EF0475D00AD2478 /* StaffData.h */; }; @@ -3622,7 +3613,6 @@ E24C01B4209D0C1400CCCF7C /* PositionData.h in CopyFiles */, E24C01B5209D0C1400CCCF7C /* PrintData.h in CopyFiles */, E24C01B6209D0C1400CCCF7C /* ScoreData.h in CopyFiles */, - E24C01B7209D0C1400CCCF7C /* Smufl.h in CopyFiles */, E24C01B8209D0C1400CCCF7C /* SoundID.h in CopyFiles */, E24C01B9209D0C1400CCCF7C /* SpannerData.h in CopyFiles */, E24C01BA209D0C1400CCCF7C /* StaffData.h in CopyFiles */, @@ -3673,7 +3663,6 @@ E24C01DF209D0C4D00CCCF7C /* PositionData.h in CopyFiles */, E24C01E0209D0C4D00CCCF7C /* PrintData.h in CopyFiles */, E24C01E1209D0C4D00CCCF7C /* ScoreData.h in CopyFiles */, - E24C01E2209D0C4D00CCCF7C /* Smufl.h in CopyFiles */, E24C01E3209D0C4D00CCCF7C /* SoundID.h in CopyFiles */, E24C01E4209D0C4D00CCCF7C /* SpannerData.h in CopyFiles */, E24C01E5209D0C4D00CCCF7C /* StaffData.h in CopyFiles */, @@ -3739,8 +3728,6 @@ 29A8DD791EF0475D00AD2478 /* PrintData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PrintData.h; sourceTree = ""; }; 29A8DD7A1EF0475D00AD2478 /* ScoreData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScoreData.cpp; sourceTree = ""; }; 29A8DD7B1EF0475D00AD2478 /* ScoreData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScoreData.h; sourceTree = ""; }; - 29A8DD7C1EF0475D00AD2478 /* Smufl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Smufl.cpp; sourceTree = ""; }; - 29A8DD7D1EF0475D00AD2478 /* Smufl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Smufl.h; sourceTree = ""; }; 29A8DD7E1EF0475D00AD2478 /* SpannerData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpannerData.h; sourceTree = ""; }; 29A8DD7F1EF0475D00AD2478 /* StaffData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StaffData.h; sourceTree = ""; }; 29A8DD801EF0475D00AD2478 /* SystemData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SystemData.h; sourceTree = ""; }; @@ -5234,8 +5221,6 @@ 29A8DD791EF0475D00AD2478 /* PrintData.h */, 29A8DD7A1EF0475D00AD2478 /* ScoreData.cpp */, 29A8DD7B1EF0475D00AD2478 /* ScoreData.h */, - 29A8DD7C1EF0475D00AD2478 /* Smufl.cpp */, - 29A8DD7D1EF0475D00AD2478 /* Smufl.h */, 29A800621EF0876500AD2478 /* SoundID.cpp */, 29A800631EF0876500AD2478 /* SoundID.h */, 29A8DD7E1EF0475D00AD2478 /* SpannerData.h */, @@ -6766,7 +6751,6 @@ 3D6A2D47214EC5DB005C82EF /* spp_memory.h in Headers */, E24C0190209D07E300CCCF7C /* TimeSignatureData.h in Headers */, E24C018F209D07E300CCCF7C /* TempoData.h in Headers */, - E24C018A209D07E300CCCF7C /* Smufl.h in Headers */, E24C0182209D07E300CCCF7C /* OttavaData.h in Headers */, E24C0188209D07E300CCCF7C /* PrintData.h in Headers */, E24C0183209D07E300CCCF7C /* PageTextData.h in Headers */, @@ -6820,7 +6804,6 @@ E24C014F209D07E200CCCF7C /* KeyData.h in Headers */, 29B962851E79FF410072071D /* MxiOS.h in Headers */, E24C0145209D07E200CCCF7C /* BarlineData.h in Headers */, - E24C0160209D07E200CCCF7C /* Smufl.h in Headers */, E24C0144209D07E200CCCF7C /* ApiEquality.h in Headers */, E24C016B209D07E200CCCF7C /* WordsData.h in Headers */, 3D6A2D5A214EC5DB005C82EF /* spp_stdint.h in Headers */, @@ -7668,7 +7651,6 @@ 29A8E7021EF0476400AD2478 /* CreatorAttributes.cpp in Sources */, 29A8F80F1EF0476B00AD2478 /* SystemDistance.cpp in Sources */, 29A8EF681EF0476700AD2478 /* MetronomeBeamAttributes.cpp in Sources */, - 29A8E3741EF0476300AD2478 /* Smufl.cpp in Sources */, 29A8FB201EF0476D00AD2478 /* Elements.cpp in Sources */, 29A8E4D21EF0476300AD2478 /* ArrowDirection.cpp in Sources */, ); @@ -8344,7 +8326,6 @@ 29A8E7011EF0476400AD2478 /* CreatorAttributes.cpp in Sources */, 29A8F80E1EF0476B00AD2478 /* SystemDistance.cpp in Sources */, 29A8EF671EF0476700AD2478 /* MetronomeBeamAttributes.cpp in Sources */, - 29A8E3731EF0476300AD2478 /* Smufl.cpp in Sources */, 29A8FB1F1EF0476D00AD2478 /* Elements.cpp in Sources */, 29A8E4D11EF0476300AD2478 /* ArrowDirection.cpp in Sources */, ); @@ -8362,7 +8343,6 @@ 29A8FDCF1EF0499200AD2478 /* NoteData.cpp in Sources */, 29A8FDD01EF0499200AD2478 /* PitchData.cpp in Sources */, 29A8FDD11EF0499200AD2478 /* ScoreData.cpp in Sources */, - 29A8FDD21EF0499200AD2478 /* Smufl.cpp in Sources */, 29A8FDD31EF0499200AD2478 /* WordsData.cpp in Sources */, 29A8FDD41EF0499200AD2478 /* AttributesInterface.cpp in Sources */, 29A8FDD51EF0499200AD2478 /* Color.cpp in Sources */, @@ -9696,7 +9676,6 @@ 29A8E7041EF0476400AD2478 /* CreatorAttributes.cpp in Sources */, 29A8F8111EF0476B00AD2478 /* SystemDistance.cpp in Sources */, 29A8EF6A1EF0476700AD2478 /* MetronomeBeamAttributes.cpp in Sources */, - 29A8E3761EF0476300AD2478 /* Smufl.cpp in Sources */, 29A8FB221EF0476D00AD2478 /* Elements.cpp in Sources */, 29A8E4D41EF0476300AD2478 /* ArrowDirection.cpp in Sources */, ); @@ -10372,7 +10351,6 @@ 29A8E7031EF0476400AD2478 /* CreatorAttributes.cpp in Sources */, 29A8F8101EF0476B00AD2478 /* SystemDistance.cpp in Sources */, 29A8EF691EF0476700AD2478 /* MetronomeBeamAttributes.cpp in Sources */, - 29A8E3751EF0476300AD2478 /* Smufl.cpp in Sources */, 29A8FB211EF0476D00AD2478 /* Elements.cpp in Sources */, 29A8E4D31EF0476300AD2478 /* ArrowDirection.cpp in Sources */, ); From a3a0b81e35c152cd6fb2a564690538885580694b Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Sun, 4 Nov 2018 18:45:44 -0800 Subject: [PATCH 093/108] version --- Sourcecode/mx/impl/MxVersionDefines.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sourcecode/mx/impl/MxVersionDefines.h b/Sourcecode/mx/impl/MxVersionDefines.h index 6c6c1f780..e62d7c3e1 100644 --- a/Sourcecode/mx/impl/MxVersionDefines.h +++ b/Sourcecode/mx/impl/MxVersionDefines.h @@ -1,4 +1,4 @@ #define MX_VERSION_MAJOR 0 #define MX_VERSION_MINOR 3 #define MX_VERSION_PATCH 1 -#define MX_VERSION_BUILD 32 +#define MX_VERSION_BUILD 34 From fdbeee1a1080fd49ffc6d52eb24085b2d12d2d35 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Sun, 4 Nov 2018 19:05:12 -0800 Subject: [PATCH 094/108] mx-version-0.3.1.37 --- Sourcecode/mx/impl/MxVersionDefines.h | 2 +- Xcode/Mx.xcodeproj/project.pbxproj | 16 +--------------- .../xcshareddata/xcschemes/Mx.xcscheme | 2 +- .../xcshareddata/xcschemes/MxiOS.xcscheme | 2 +- .../xcshareddata/xcschemes/MxmacOS.xcscheme | 2 +- .../xcshareddata/xcschemes/dylib-iOS.xcscheme | 2 +- .../xcshareddata/xcschemes/dylib-macOS.xcscheme | 2 +- Xcode/MxTest.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/MxTest.xcscheme | 2 +- 9 files changed, 9 insertions(+), 23 deletions(-) diff --git a/Sourcecode/mx/impl/MxVersionDefines.h b/Sourcecode/mx/impl/MxVersionDefines.h index e62d7c3e1..b75cef2d3 100644 --- a/Sourcecode/mx/impl/MxVersionDefines.h +++ b/Sourcecode/mx/impl/MxVersionDefines.h @@ -1,4 +1,4 @@ #define MX_VERSION_MAJOR 0 #define MX_VERSION_MINOR 3 #define MX_VERSION_PATCH 1 -#define MX_VERSION_BUILD 34 +#define MX_VERSION_BUILD 37 diff --git a/Xcode/Mx.xcodeproj/project.pbxproj b/Xcode/Mx.xcodeproj/project.pbxproj index 0f59b99b7..a23e1b697 100755 --- a/Xcode/Mx.xcodeproj/project.pbxproj +++ b/Xcode/Mx.xcodeproj/project.pbxproj @@ -6935,7 +6935,7 @@ 299F7FDE1CA8D2200084CAE5 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0940; + LastUpgradeCheck = 1010; ORGANIZATIONNAME = "Matthew James Briggs"; TargetAttributes = { 293FFED11DD25C74001477E8 = { @@ -10665,13 +10665,6 @@ 29B962871E79FF410072071D /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = ( - arm64, - arm7, - arm7s, - i386, - x86_64, - ); CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; @@ -10709,13 +10702,6 @@ 29B962881E79FF410072071D /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = ( - arm64, - arm7, - arm7s, - i386, - x86_64, - ); CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; diff --git a/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/Mx.xcscheme b/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/Mx.xcscheme index 9bcf464cb..48162ed1e 100644 --- a/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/Mx.xcscheme +++ b/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/Mx.xcscheme @@ -1,6 +1,6 @@ Date: Sun, 7 Apr 2019 09:34:16 -0700 Subject: [PATCH 095/108] nothing --- Sublime/mx.sublime-project | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sublime/mx.sublime-project b/Sublime/mx.sublime-project index 2e354b6da..1d0c0fef8 100644 --- a/Sublime/mx.sublime-project +++ b/Sublime/mx.sublime-project @@ -2,7 +2,7 @@ "folders": [ { - "path": "../" + "path": ".." } ] } From e67104b0f57cdcb18fba848a410f54c4db363002 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Sun, 7 Apr 2019 09:34:34 -0700 Subject: [PATCH 096/108] gitignore --- .gitignore | 703 +++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 515 insertions(+), 188 deletions(-) diff --git a/.gitignore b/.gitignore index 4d0d21a3c..1abaefa17 100755 --- a/.gitignore +++ b/.gitignore @@ -53,226 +53,553 @@ xcuserdata/ *.xccheckout *.xcscmblueprint -##################################### -# CLion # -##################################### -.idea/ -######################### http://stackoverflow.com/questions/49478/git-ignore-file-for-xcode-projects -# .gitignore file for Xcode4 and Xcode5 Source projects -# -# Apple bugs, waiting for Apple to fix/respond: -# -# 15564624 - what does the xccheckout file in Xcode5 do? Where's the documentation? -# -# Version 2.6 -# For latest version, see: http://stackoverflow.com/questions/49478/git-ignore-file-for-xcode-projects -# -# 2015 updates: -# - Fixed typo in "xccheckout" line - thanks to @lyck for pointing it out! -# - Fixed the .idea optional ignore. Thanks to @hashier for pointing this out -# - Finally added "xccheckout" to the ignore. Apple still refuses to answer support requests about this, but in practice it seems you should ignore it. -# - minor tweaks from Jona and Coeur (slightly more precise xc* filtering/names) -# 2014 updates: -# - appended non-standard items DISABLED by default (uncomment if you use those tools) -# - removed the edit that an SO.com moderator made without bothering to ask me -# - researched CocoaPods .lock more carefully, thanks to Gokhan Celiker -# 2013 updates: -# - fixed the broken "save personal Schemes" -# - added line-by-line explanations for EVERYTHING (some were missing) -# -# NB: if you are storing "built" products, this WILL NOT WORK, -# and you should use a different .gitignore (or none at all) -# This file is for SOURCE projects, where there are many extra -# files that we want to exclude -# -######################### +# Created by https://www.gitignore.io/api/cmake,linux,xcode,macos,clion,windows,visualstudio +# Edit at https://www.gitignore.io/?templates=cmake,linux,xcode,macos,clion,windows,visualstudio + +### CLion ### +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/**/usage.statistics.xml +.idea/**/dictionaries +.idea/**/shelf -##### -# OS X temporary files that should never be committed -# -# c.f. http://www.westwind.com/reference/os-x/invisibles.html +# Generated files +.idea/**/contentModel.xml -.DS_Store +# Sensitive or high-churn files +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml +.idea/**/dbnavigator.xml + +# Gradle +.idea/**/gradle.xml +.idea/**/libraries + +# Gradle and Maven with auto-import +# When using Gradle or Maven with auto-import, you should exclude module files, +# since they will be recreated, and may cause churn. Uncomment if using +# auto-import. +# .idea/modules.xml +# .idea/*.iml +# .idea/modules + +# CMake +cmake-build-*/ + +# Mongo Explorer plugin +.idea/**/mongoSettings.xml + +# File-based project format +*.iws + +# IntelliJ +out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +# Editor-based Rest Client +.idea/httpRequests + +# Android studio 3.1+ serialized cache file +.idea/caches/build_file_checksums.ser + +# JetBrains templates +**___jb_tmp___ + +### CLion Patch ### +# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 + +# *.iml +# modules.xml +# .idea/misc.xml +# *.ipr + +# Sonarlint plugin +.idea/sonarlint + +### CMake ### +CMakeLists.txt.user +CMakeCache.txt +CMakeFiles +CMakeScripts +Testing +Makefile +cmake_install.cmake +install_manifest.txt +compile_commands.json +CTestTestfile.cmake +_deps + +### CMake Patch ### +# External projects +*-prefix/ + +### Linux ### +*~ + +# temporary files which can be created if a process still has a handle open of a deleted file +.fuse_hidden* + +# KDE directory preferences +.directory + +# Linux trash folder which might appear on any partition or disk +.Trash-* -# c.f. http://www.westwind.com/reference/os-x/invisibles.html +# .nfs files are created when an open file is removed but is still being accessed +.nfs* -.Trashes +### macOS ### +# General +.DS_Store +.AppleDouble +.LSOverride -# c.f. http://www.westwind.com/reference/os-x/invisibles.html +# Icon must end with two \r +Icon -*.swp +# Thumbnails +._* -# -# *.lock - this is used and abused by many editors for many different things. -# For the main ones I use (e.g. Eclipse), it should be excluded -# from source-control, but YMMV. -# (lock files are usually local-only file-synchronization on the local FS that should NOT go in git) -# c.f. the "OPTIONAL" section at bottom though, for tool-specific variations! -# -# In particular, if you're using CocoaPods, you'll want to comment-out this line: -*.lock +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk -# -# profile - REMOVED temporarily (on double-checking, I can't find it in OS X docs?) -#profile +### Windows ### +# Windows thumbnail cache files +Thumbs.db +ehthumbs.db +ehthumbs_vista.db +# Dump file +*.stackdump -#### -# Xcode temporary files that should never be committed -# -# NB: NIB/XIB files still exist even on Storyboard projects, so we want this... +# Folder config file +[Dd]esktop.ini -*~.nib +# Recycle Bin used on file shares +$RECYCLE.BIN/ +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp -#### -# Xcode build files - +# Windows shortcuts +*.lnk + +### Xcode ### +# Xcode # -# NB: slash on the end, so we only remove the FOLDER, not any files that were badly named "DerivedData" +# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore -DerivedData/ +## User settings +xcuserdata/ -# NB: slash on the end, so we only remove the FOLDER, not any files that were badly named "build" +## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9) +*.xcscmblueprint +*.xccheckout +## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4) build/ -Build/ - - -##### -# Xcode private settings (window sizes, bookmarks, breakpoints, custom executables, smart groups) -# -# This is complicated: -# -# SOMETIMES you need to put this file in version control. -# Apple designed it poorly - if you use "custom executables", they are -# saved in this file. -# 99% of projects do NOT use those, so they do NOT want to version control this file. -# ..but if you're in the 1%, comment out the line "*.pbxuser" - -# .pbxuser: http://lists.apple.com/archives/xcode-users/2004/Jan/msg00193.html - +DerivedData/ +*.moved-aside *.pbxuser - -# .mode1v3: http://lists.apple.com/archives/xcode-users/2007/Oct/msg00465.html - -*.mode1v3 - -# .mode2v3: http://lists.apple.com/archives/xcode-users/2007/Oct/msg00465.html - -*.mode2v3 - -# .perspectivev3: http://stackoverflow.com/questions/5223297/xcode-projects-what-is-a-perspectivev3-file - -*.perspectivev3 - -# NB: also, whitelist the default ones, some projects need to use these !default.pbxuser +*.mode1v3 !default.mode1v3 +*.mode2v3 !default.mode2v3 +*.perspectivev3 !default.perspectivev3 +### Xcode Patch ### +*.xcodeproj/* +!*.xcodeproj/project.pbxproj +!*.xcodeproj/xcshareddata/ +!*.xcworkspace/contents.xcworkspacedata +/*.gcno +**/xcshareddata/WorkspaceSettings.xcsettings + +### VisualStudio ### +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore + +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Mono auto generated files +mono_crash.* + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUNIT +*.VisualState.xml +TestResult.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# JustCode is a .NET coding add-in +.JustCode + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser +*- Backup*.rdl + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs -#### -# Xcode 4 - semi-personal settings -# -# Apple Shared data that Apple put in the wrong folder -# c.f. http://stackoverflow.com/a/19260712/153422 -# FROM ANSWER: Apple says "don't ignore it" -# FROM COMMENTS: Apple is wrong; Apple code is too buggy to trust; there are no known negative side-effects to ignoring Apple's unofficial advice and instead doing the thing that actively fixes bugs in Xcode -# Up to you, but ... current advice: ignore it. -*.xccheckout +# OpenCover UI analysis results +OpenCover/ -# -# -# OPTION 1: --------------------------------- -# throw away ALL personal settings (including custom schemes! -# - unless they are "shared") -# As per build/ and DerivedData/, this ought to have a trailing slash -# -# NB: this is exclusive with OPTION 2 below -xcuserdata/ +# Azure Stream Analytics local run output +ASALocalRun/ -# OPTION 2: --------------------------------- -# get rid of ALL personal settings, but KEEP SOME OF THEM -# - NB: you must manually uncomment the bits you want to keep -# -# NB: this *requires* git v1.8.2 or above; you may need to upgrade to latest OS X, -# or manually install git over the top of the OS X version -# NB: this is exclusive with OPTION 1 above -# -#xcuserdata/**/* +# MSBuild Binary and Structured Log +*.binlog -# (requires option 2 above): Personal Schemes -# -#!xcuserdata/**/xcschemes/* +# NVidia Nsight GPU debugger configuration file +*.nvuser -#### -# XCode 4 workspaces - more detailed -# -# Workspaces are important! They are a core feature of Xcode - don't exclude them :) -# -# Workspace layout is quite spammy. For reference: -# -# /(root)/ -# /(project-name).xcodeproj/ -# project.pbxproj -# /project.xcworkspace/ -# contents.xcworkspacedata -# /xcuserdata/ -# /(your name)/xcuserdatad/ -# UserInterfaceState.xcuserstate -# /xcshareddata/ -# /xcschemes/ -# (shared scheme name).xcscheme -# /xcuserdata/ -# /(your name)/xcuserdatad/ -# (private scheme).xcscheme -# xcschememanagement.plist -# -# +# MFractors (Xamarin productivity tool) working folder +.mfractor/ -#### -# Xcode 4 - Deprecated classes -# -# Allegedly, if you manually "deprecate" your classes, they get moved here. -# -# We're using source-control, so this is a "feature" that we do not want! +# Local History for Visual Studio +.localhistory/ -*.moved-aside +# BeatPulse healthcheck temp database +healthchecksdb -#### -# OPTIONAL: Some well-known tools that people use side-by-side with Xcode / iOS development -# -# NB: I'd rather not include these here, but gitignore's design is weak and doesn't allow -# modular gitignore: you have to put EVERYTHING in one file. -# -# COCOAPODS: -# -# c.f. http://guides.cocoapods.org/using/using-cocoapods.html#what-is-a-podfilelock -# c.f. http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control -# -#!Podfile.lock -# -# RUBY: -# -# c.f. http://yehudakatz.com/2010/12/16/clarifying-the-roles-of-the-gemspec-and-gemfile/ -# -#!Gemfile.lock -# -# IDEA: -# -# c.f. https://www.jetbrains.com/objc/help/managing-projects-under-version-control.html?search=workspace.xml -# -#.idea/workspace.xml -# -# TEXTMATE: -# -# -- UNVERIFIED: c.f. http://stackoverflow.com/a/50283/153422 -# -#tm_build_errors +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ -#### -# UNKNOWN: recommended by others, but I can't discover what these files are -# \ No newline at end of file +# End of https://www.gitignore.io/api/cmake,linux,xcode,macos,clion,windows,visualstudio \ No newline at end of file From fc98e206ea3c5016413a17debb4f2791a494f69d Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Sun, 7 Apr 2019 09:36:23 -0700 Subject: [PATCH 097/108] remove sublime workspace --- Sublime/mx.sublime-workspace | 1402 ------------------------ Sublime/mx.sublime-workspace.example | 1477 ++++++++++++++++++++++++++ 2 files changed, 1477 insertions(+), 1402 deletions(-) delete mode 100644 Sublime/mx.sublime-workspace create mode 100644 Sublime/mx.sublime-workspace.example diff --git a/Sublime/mx.sublime-workspace b/Sublime/mx.sublime-workspace deleted file mode 100644 index b2e50f7fd..000000000 --- a/Sublime/mx.sublime-workspace +++ /dev/null @@ -1,1402 +0,0 @@ -{ - "auto_complete": - { - "selected_items": - [ - [ - "hours_per_po", - "hours_per_point_high" - ], - [ - "hour", - "hours_per_point_middle" - ], - [ - "start_d", - "project_start_date" - ], - [ - "pro", - "project_start_date" - ], - [ - "unpa", - "unparented_release_codes_temp" - ], - [ - "release", - "release_code" - ], - [ - "active", - "active_record_object" - ], - [ - "act", - "active_record_object" - ], - [ - "st", - "story_points" - ], - [ - "requir", - "requirement" - ], - [ - "tram", - "transformed_lines_2" - ], - [ - "tra", - "transformed_lines_2" - ], - [ - "letter", - "letter_only" - ], - [ - "colum", - "column_name" - ], - [ - "column", - "column_hash" - ], - [ - "colu", - "column_name" - ], - [ - "column_", - "column_hash" - ], - [ - "n", - "number" - ], - [ - "css", - "css_string" - ], - [ - "displ", - "display_image" - ], - [ - "bus", - "business-purpose" - ], - [ - "app", - "app_root" - ], - [ - "Non-Con", - "Non-Contiguous" - ], - [ - "te", - "technical" - ], - [ - "prefi", - "prefix-value" - ], - [ - "img", - "img_classes" - ], - [ - "image_", - "image_width_px" - ], - [ - "is_image", - "is_image_bordered" - ], - [ - "is", - "is_image_bordered" - ], - [ - "width", - "width_string" - ], - [ - "tech", - "tech_text_field" - ], - [ - "child", - "child_xml" - ], - [ - "text", - "text_fields" - ], - [ - "last_", - "last_doc_id" - ], - [ - "last", - "last_doc" - ], - [ - "id", - "id_to_delete" - ], - [ - "re", - "requirement" - ], - [ - "html", - "html_safe" - ], - [ - "is_", - "is_active_int" - ], - [ - "lec", - "legacy_int" - ], - [ - "rand", - "rand_int" - ], - [ - "tel", - "telcowords" - ], - [ - "redi", - "redirect_if_not_admi" - ], - [ - "au", - "authorized_user" - ], - [ - "Extension", - "ExtensionAlter" - ], - [ - "file", - "filepart" - ], - [ - "icon", - "icon_url" - ], - [ - "cmd", - "cmd_commit" - ], - [ - "total", - "merlin_total_tests" - ], - [ - "cmd_", - "cmd_author" - ], - [ - "dir_", - "dir_komp_repo" - ], - [ - "scoreAss", - "scoreAssertions" - ], - [ - "sco", - "scoreAssertions" - ], - [ - "ver", - "version_major" - ], - [ - "data", - "data_notationios_info_plist_result" - ], - [ - "new", - "new_line" - ], - [ - "version", - "version_to_replace" - ], - [ - "isK", - "is_key_found_this_time" - ], - [ - "komp", - "data_komp_info_plist" - ], - [ - "Draw", - "DrawResult" - ], - [ - "DrawRe", - "DrawResultCache" - ], - [ - "inDra", - "inDrawPoint" - ], - [ - "Drawab", - "DrawableUPtr" - ], - [ - "appl", - "applyJustification" - ], - [ - "Dra", - "DrawableLine" - ], - [ - "inUn", - "inUnscaledScoreY" - ], - [ - "unsca", - "unscaledScoreY" - ], - [ - "unscaled", - "unscaledScoreX" - ], - [ - "Spatial", - "SpatialPointIntf" - ], - [ - "Spatia", - "SpatialPointIntf" - ], - [ - "Key", - "KeySignatureType" - ], - [ - "KeySign", - "KeySignatureType" - ], - [ - "It", - "ItemRegistry" - ], - [ - "Harp", - "Harpsichord" - ], - [ - "Vib", - "Vibraphone" - ], - [ - "mBeat", - "mBeatTypeDots" - ], - [ - "BeamAngIn", - "BeamAngleIntfUPtr" - ], - [ - "getBeamedNote", - "getBeamedNoteCount" - ], - [ - "BeamedN", - "BeamedNoteIntfUPtrVec" - ], - [ - "Measure", - "MeasureAttachedDynamicParams" - ], - [ - "Octave", - "OctaveType" - ], - [ - "MxNote", - "MxNoteSpannerStack" - ], - [ - "MxNotre", - "MxNoteSpannerPtr" - ], - [ - "fontFamil", - "fontFamilyData" - ], - [ - "my", - "myScoreDataCreator" - ], - [ - "expected", - "expectedOctave" - ], - [ - "PartwiseMe", - "PartwiseMeasurePtr" - ], - [ - "QUARTER_", - "QUARTER_FLAT" - ], - [ - "SHAR", - "SHARP_SHARP" - ], - [ - "DOUBLE_", - "DOUBLE_SHARP" - ], - [ - "DOUBLE", - "DOUBLE_SHARP" - ], - [ - "Syst", - "SystemLayoutInfo" - ], - [ - "M", - "FileMediatorFactory" - ], - [ - "globa", - "globalTicksPerQuarter" - ], - [ - "Time", - "TimeSignatureSymbol" - ], - [ - "new_", - "new_identifier" - ], - [ - "attribute", - "attributes_classes" - ], - [ - "attrib", - "attributes_classes" - ], - [ - "fro", - "from_xelement_code" - ], - [ - "par", - "parsing_statement" - ], - [ - "hmem", - "hmembers" - ], - [ - "type", - "type_capture" - ], - [ - "name", - "name_capture" - ], - [ - "hlines", - "hlines_last_member" - ], - [ - "elision", - "elisionSyllabicTextGroup" - ], - [ - "XEleme", - "XElementIterator" - ], - [ - "do", - "doDecrementIter" - ], - [ - "eleme", - "element_name" - ], - [ - "element_na", - "element_name_for_cpp" - ], - [ - "Ele", - "ElementInterface" - ], - [ - "line", - "line_instruction" - ], - [ - "line_info", - "line_info_collection" - ], - [ - "all_", - "all_symbols" - ], - [ - "all", - "all_classes" - ], - [ - "require", - "require_relative" - ], - [ - "cpp", - "cpp_functions" - ], - [ - "req", - "require_relative" - ], - [ - "enum", - "enum_list" - ], - [ - "for", - "forwardDeclare" - ], - [ - "decl", - "declaration_line" - ], - [ - "line_in", - "temp_line_instructions" - ], - [ - "end", - "end_line" - ], - [ - "H", - "HDeclarationLine" - ], - [ - "matc", - "matches" - ] - ] - }, - "buffers": - [ - ], - "build_system": "", - "build_system_choices": - [ - ], - "build_varint": "", - "command_palette": - { - "height": 392.0, - "last_filter": "Package Control: Install Package", - "selected_items": - [ - [ - "Package Control: Install Package", - "Package Control: Install Package" - ] - ], - "width": 449.0 - }, - "console": - { - "height": 146.0, - "history": - [ - "import urllib.request,os,hashlib; h = 'df21e130d211cfc94d9b0905775a7c0f' + '1e3d39e33b79698005270310898eea76'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)" - ] - }, - "distraction_free": - { - "menu_visible": true, - "show_minimap": false, - "show_open_files": false, - "show_tabs": false, - "side_bar_visible": false, - "status_bar_visible": false - }, - "expanded_folders": - [ - "/Users/mjb/MxRepo", - "/Users/mjb/MxRepo/Sublime" - ], - "file_history": - [ - "/Users/mjb/MxRepo/Documents/musicxml.xsd", - "/Users/mjb/MxRepo/Resources/mjbsuite/freezing-measure-numbers.rb", - "/Users/mjb/MxRepo/Resources/mjbsuite/freezing.xml", - "/Users/mjb/MxRepo/Resources/mjbsuite/freezing.old.xml", - "/Users/mjb/MxRepo/Sourcecode/mx/impl/PartReader.h", - "/Users/mjb/MxRepo/Sourcecode/mx/impl/PartReader.cpp", - "/Users/mjb/MxRepo/Resources/mjbsuite/PreserveTimeModificationNormalType.xml", - "/Users/mjb/MxRepo/Sourcecode/mx/core/elements/NormalType.h", - "/Users/mjb/MxRepo/Sourcecode/mx/core/elements/NormalTypeNormalDotGroup.h", - "/Users/mjb/MxRepo/Sourcecode/mx/core/elements/Note.h", - "/Users/mjb/Desktop/blerp.xml", - "/Users/mjb/MxRepo/Resources/mjbsuite/HasMusicXmlVersionTrue.xml", - "/Users/mjb/MxRepo/Resources/lysuite/ly43e_Multistaff_ClefDynamics.xml", - "/Users/mjb/MxRepo/Resources/ksuite/k014a_Fermatas.xml", - "/Users/mjb/MxRepo/Sourcecode/mx/core/elements/CreditWords.h", - "/Users/mjb/MxRepo/Sourcecode/mx/core/elements/CreditWordsAttributes.h", - "/Users/mjb/MxRepo/Sourcecode/mx/impl/MxVersionDefines.h", - "/Users/mjb/MxRepo/DevScripts/mxdeploy-v01.rb", - "/Users/mjb/MxRepo/Sourcecode/mx/api/ScoreData.h", - "/Users/mjb/MxRepo/Sourcecode/mxtest/file/MxFileTestGroup.cpp", - "/Users/mjb/MxRepo/Resources/mjbsuite/ChordDirectionPlacement.xml", - "/Users/mjb/MxRepo/Sourcecode/mx/core/elements/ScoreHeaderGroup.h", - "/Users/mjb/MxRepo/Sourcecode/mx/core/elements/Appearance.h", - "/Users/mjb/MxRepo/Sourcecode/mx/core/elements/Tenths.h", - "/Users/mjb/MxRepo/Sourcecode/mx/core/elements/OtherAppearance.h", - "/Users/mjb/MxRepo/Sourcecode/mx/api/MarkData.h", - "/Users/mjb/MxRepo/Sublime/mx.sublime-project", - "/Users/mjb/Library/Developer/Xcode/Templates/File Templates/Source/Mx Api C++ File.xctemplate/WithHeader/___FILEBASENAME___.h", - "/Users/mjb/Library/Developer/Xcode/Templates/File Templates/Source/Mx Api C++ File.xctemplate/WithHeader/___FILEBASENAME___.cpp", - "/Users/mjb/Library/Developer/Xcode/Templates/File Templates/Source/Mx Api C++ File.xctemplate/Default/___FILEBASENAME___.cpp", - "/Users/mjb/Bitflip/Clients/Inteliquent/Data/CDRExample.json", - "/Users/mjb/iqreq/data/RoldansFormulas.txt", - "/Users/mjb/iqreq/data/RoldansRules.rb", - "/Users/mjb/iqreq/data/RoldansRules.txt", - "/Users/mjb/iqreq/data/requirements.xml", - "/Users/mjb/iqreq/app/controllers/documents_controller.rb", - "/Users/mjb/iqreq/app/controllers/releases_controller.rb", - "/Users/mjb/iqreq/app/models/document.rb", - "/Users/mjb/iqreq/db/schema.rb", - "/Users/mjb/iqreq/scripts/reqxml.rb", - "/Users/mjb/iqreq/scripts/reqxml-deserialize.rb", - "/Users/mjb/iqreq/app/models/epic.rb", - "/Users/mjb/iqreq/scripts/load-xml.rb", - "/Users/mjb/iqreq/scripts/insert-data.rb", - "/Users/mjb/iqreq/db/migrate/20171115204408_add_hours_per_week_to_documents.rb", - "/Users/mjb/iqreq/app/views/releases/show.html.erb", - "/Users/mjb/Downloads/NpaNxxJur_20171105-20171111_365Wireless.csv", - "/Users/mjb/Downloads/5f2e45e3845c4d59a52fc5326a342e4e (1).csv", - "/Users/mjb/iqreq/app/helpers/documents_helper.rb", - "/Users/mjb/iqreq/app/views/documents/load_xml.html.erb", - "/Users/mjb/iqreq/config/database.yml", - "/Users/mjb/iqreq/config/routes.rb", - "/Users/mjb/iqreq/Gemfile", - "/Users/mjb/iqreq/app/views/documents/simple.html.erb", - "/Users/mjb/iqreq/data/dxcreate/dxcreate/docx-templates/StylesList.txt", - "/Users/mjb/iqreq/.gitignore", - "/Users/mjb/iqreq/data/StylesList.txt", - "/Users/mjb/Desktop/uncompressed.docx", - "/Users/mjb/iqreq/app/views/documents/docx_view.docx.erb", - "/Users/mjb/Library/Application Support/Sublime Text 3/Packages/User/iqreq.sublime-build", - "/Users/mjb/Desktop/silly.txt", - "/Users/mjb/iqreq/data/sql-files/Story Point Select.sql", - "/Users/mjb/iqreq/db/migrate/20171111161927_priority_release.rb", - "/Users/mjb/iqreq/app/models/requirement.rb", - "/Users/mjb/iqreq/app/views/documents/liquid_planner.csv.erb", - "/Users/mjb/iqreq/app/src/liquid_planner_row.rb", - "/Users/mjb/iqreq/app/models/estimate.rb", - "/Users/mjb/iqreq/app/views/documents/show.html.erb", - "/Users/mjb/iqreq/data/Insert INTO PricingTables.sql", - "/Users/mjb/Desktop/Notes from Tim Schneeberger.txt", - "/Users/mjb/Bitflip/Logo Derivatives/bitlip.blue.txt", - "/Users/mjb/Dropbox/Memories.txt", - "/Users/mjb/Desktop/chart1.html", - "/Users/mjb/Desktop/Dads PSA.csv", - "/Users/mjb/Bitflip/Inteliquent/Targets/TWC-SeptemberMou-Targets-inserts.sql", - "/Users/mjb/Bitflip/Inteliquent/Targets/Comcast-September-Mou-Targets-inserts.sql", - "/Users/mjb/Bitflip/Inteliquent/Targets/Cablevision-September-Mou-Targets-inserts.sql", - "/Users/mjb/Bitflip/Inteliquent/Targets/Cablevision-September-Mou-Targets-transformed.csv", - "/Users/mjb/Bitflip/Inteliquent/Targets/TWC-SeptemberMouTargets-Transformed.csv", - "/Users/mjb/komp/Notation/Notation-Sourcecode/Score/ScoreCreationInfo.cc", - "/Users/mjb/iqreq/scripts/clear-db.rb", - "/Users/mjb/iqreq/app/assets/javascripts/noframework.waypoints.js", - "/Users/mjb/iqreq/app/assets/javascripts/anchor_scroll.js", - "/Users/mjb/iqreq/app/views/documents/_waypoints.html.erb", - "/Users/mjb/iqreq/app/models/group.rb", - "/Users/mjb/iqreq/app/views/documents/_req_table.html.erb", - "/Users/mjb/iqreq/app/helpers/application_helper.rb", - "/Users/mjb/iqreq/app/assets/javascripts/application.js", - "/Users/mjb/iqreq/Gemfile.lock", - "/Users/mjb/iqreq/config/initializers/assets.rb", - "/Users/mjb/iqreq/app/assets/stylesheets/req-styles.css", - "/Users/mjb/iqreq/app/views/documents/_leftside_navigation.html.erb", - "/Users/mjb/Desktop/OrigCustMouRevCogs.csv", - "/Users/mjb/iqreq/data/SELECT.sql", - "/Users/mjb/iqreq/app/views/documents/_groups.html.erb", - "/Users/mjb/iqreq/app/views/documents/_group_business_purpose.html.erb", - "/Users/mjb/iqreq/data/RoldansColumns.txt", - "/Users/mjb/iqreq/data/MattsRules.txt", - "/Users/mjb/rtut/simple_cms/app/views/admin_users/delete.html.erb", - "/Users/mjb/Desktop/rails.txt", - "/Users/mjb/iqreq/scripts/xml.rb", - "/Users/mjb/iqreq/scripts/xml-new.rb", - "/Users/mjb/iqreq/app/models/text_field.rb", - "/Users/mjb/iqreq/vendor/bundle/ruby/2.4.0/gems/rails-dom-testing-2.0.3/lib/rails/dom/testing/assertions/selector_assertions/count_describable.rb", - "/Users/mjb/iqreq/app/models/paragraph.rb", - "/Users/mjb/iqreq/data/40 bus.txt", - "/Users/mjb/.bashrc", - "/Users/mjb/.bash_profile", - "/Users/mjb/iqreq/config/environment.rb", - "/Users/mjb/iqreq/config/application.rb", - "/Users/mjb/Desktop/dadnotes.txt", - "/Users/mjb/.rvm/log/1507645866_ruby-2.4.1/install.log", - "/usr/local/Cellar/gnupg/2.2.1/bin/reqxml-new.rb", - "/usr/local/Cellar/gnupg/2.2.1/bin/reqxml.rb", - "/Users/mjb/iqreq/data/requirements.xsd", - "/Users/mjb/Users/mjb/iqreq/data/requirements.xsd", - "/usr/local/Cellar/gnupg/2.2.1/bin/data/requirements.xsd", - "/Users/mjb/.profile", - "/Users/mjb/iqreq/scripts/parse-reqs-doc.xml", - "/Users/mjb/Desktop/todays notes", - "/Users/mjb/iqreq/app/views/documents/_images_and_text.html.erb", - "/Users/mjb/iqreq/app/views/layouts/application.html.erb", - "/Users/mjb/iqreq/app/views/layouts/_images_and_text.html.erb", - "/Users/mjb/iqreq/log/development.log", - "/Users/mjb/iqreq/tmp/cache/assets/sprockets/v3.0/3S/3SA85uyF5GmS9_ZjfmCsfAjSJQhH2T_EhWQRd2Aaxk0.cache", - "/Users/mjb/iqreq/data/JobSchema.sql", - "/Users/mjb/iqreq/data/SamplePricingCode.js", - "/Users/mjb/iqreq/scripts/pricing_analysis_import.rb" - ], - "find": - { - "height": 40.0 - }, - "find_in_files": - { - "height": 281.0, - "where_history": - [ - "" - ] - }, - "find_state": - { - "case_sensitive": false, - "find_history": - [ - "tremolo\"", - "/>", - "", - "\n tickTimePosition = ", - "tickTimePosition = ", - " [", - "\"note\"", - "", - "\n \n \n ", - "\n \n \n \n 60\n 1\n quarter\n \n \n \n 15\n 1\n 16th\n ", - "MX_VERSION", - "MINOR =", - "0.3", - " ", - "\">", - "name=\"print-style-align\"", - "\"print-style-align\"", - "\"direction\"", - "\"directive\"", - "\"direction\"", - "\"measure\"", - "measure number=\"X", - "measure number=\"X7\"", - "", - "distance-type", - "\"line-width-type\"", - "\"line-width\"", - "line-width" - ], - "highlight": true, - "in_selection": false, - "preserve_case": false, - "regex": false, - "replace_history": - [ - " />", - " Date: Sun, 7 Apr 2019 09:38:06 -0700 Subject: [PATCH 098/108] ignore sublime workspace --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 1abaefa17..965761ecd 100755 --- a/.gitignore +++ b/.gitignore @@ -22,6 +22,7 @@ Proj/ */project.xcworkspace/ cmake-build* cmake-build* +*.sublime-workspace ######################################### # Ignore Test Output and Expected Files # From e611455c78af2352da59ebbd5bd2bc51fba17f34 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Sun, 7 Apr 2019 10:29:16 -0700 Subject: [PATCH 099/108] ci and gcc work --- .circleci/Dockerfile | 10 ++++++++++ .circleci/Dockerfile.test | 6 ++++++ .circleci/config.yml | 0 .circleci/docker.sh | 18 ++++++++++++++++++ Sourcecode/mx/utility/Throw.h | 3 +++ Sourcecode/mx/xml/XAttribute.h | 2 ++ Sourcecode/mx/xml/XElement.h | 2 ++ Sourcecode/mx/xml/XElementIterator.h | 2 ++ Sourcecode/mx/xml/XFactory.h | 2 ++ 9 files changed, 45 insertions(+) create mode 100644 .circleci/Dockerfile create mode 100644 .circleci/Dockerfile.test create mode 100644 .circleci/config.yml create mode 100755 .circleci/docker.sh diff --git a/.circleci/Dockerfile b/.circleci/Dockerfile new file mode 100644 index 000000000..aa0477e5d --- /dev/null +++ b/.circleci/Dockerfile @@ -0,0 +1,10 @@ +FROM debian:9.8 + +RUN apt-get update && apt-get install -y \ + git \ + ssh \ + tar \ + gzip \ + ca-certificates \ + cmake \ + build-essential diff --git a/.circleci/Dockerfile.test b/.circleci/Dockerfile.test new file mode 100644 index 000000000..46765bb1d --- /dev/null +++ b/.circleci/Dockerfile.test @@ -0,0 +1,6 @@ +FROM matthewjamesbriggs/mxci:v001 + +ENV BASEDIR="/mx" +WORKDIR $BASEDIR +COPY . . +CMD cmake . && make diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 000000000..e69de29bb diff --git a/.circleci/docker.sh b/.circleci/docker.sh new file mode 100755 index 000000000..a84370b78 --- /dev/null +++ b/.circleci/docker.sh @@ -0,0 +1,18 @@ +THIS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" +MX_DIR="$THIS_DIR/.." +cd "$THIS_DIR" + +docker build \ + -f "$THIS_DIR/Dockerfile" \ + -t matthewjamesbriggs/mxci:v001 \ + "$THIS_DIR" + +docker rm -f mxtestcontainer || true; +docker rmi -f mxtestimage || true; + +docker build \ + -f "$THIS_DIR/Dockerfile.test" \ + -t mxtestimage \ + "$MX_DIR" + +docker run --name mxtestcontainer mxtestimage \ No newline at end of file diff --git a/Sourcecode/mx/utility/Throw.h b/Sourcecode/mx/utility/Throw.h index 098c6e88b..7ae71aa55 100755 --- a/Sourcecode/mx/utility/Throw.h +++ b/Sourcecode/mx/utility/Throw.h @@ -5,6 +5,9 @@ #pragma once #include +#include +#include +#include #ifndef __FILENAME__ diff --git a/Sourcecode/mx/xml/XAttribute.h b/Sourcecode/mx/xml/XAttribute.h index 9b308ed29..3d25f2f43 100755 --- a/Sourcecode/mx/xml/XAttribute.h +++ b/Sourcecode/mx/xml/XAttribute.h @@ -6,6 +6,8 @@ #include #include +#include +#include namespace mx { diff --git a/Sourcecode/mx/xml/XElement.h b/Sourcecode/mx/xml/XElement.h index ce16e40fa..df7b9bf0a 100755 --- a/Sourcecode/mx/xml/XElement.h +++ b/Sourcecode/mx/xml/XElement.h @@ -7,6 +7,8 @@ #include #include +#include +#include namespace mx { diff --git a/Sourcecode/mx/xml/XElementIterator.h b/Sourcecode/mx/xml/XElementIterator.h index 91341c115..561826822 100755 --- a/Sourcecode/mx/xml/XElementIterator.h +++ b/Sourcecode/mx/xml/XElementIterator.h @@ -9,6 +9,8 @@ #include #include +#include +#include namespace mx { diff --git a/Sourcecode/mx/xml/XFactory.h b/Sourcecode/mx/xml/XFactory.h index d3942e0e1..efdd9f92c 100755 --- a/Sourcecode/mx/xml/XFactory.h +++ b/Sourcecode/mx/xml/XFactory.h @@ -6,6 +6,8 @@ #include "mx/xml/XDoc.h" #include +#include +#include namespace mx { From fd39249616b2a82404f28b95e597270cc877e0a1 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Sun, 7 Apr 2019 10:32:26 -0700 Subject: [PATCH 100/108] pesky sublime workspace --- .gitignore | 2 +- Sublime/mx.sublime-workspace | 1409 ---------------------------------- 2 files changed, 1 insertion(+), 1410 deletions(-) delete mode 100644 Sublime/mx.sublime-workspace diff --git a/.gitignore b/.gitignore index 965761ecd..7c2515747 100755 --- a/.gitignore +++ b/.gitignore @@ -22,7 +22,7 @@ Proj/ */project.xcworkspace/ cmake-build* cmake-build* -*.sublime-workspace +#*.sublime-workspace ######################################### # Ignore Test Output and Expected Files # diff --git a/Sublime/mx.sublime-workspace b/Sublime/mx.sublime-workspace deleted file mode 100644 index 6da05ec8b..000000000 --- a/Sublime/mx.sublime-workspace +++ /dev/null @@ -1,1409 +0,0 @@ -{ - "auto_complete": - { - "selected_items": - [ - [ - "hours_per_po", - "hours_per_point_high" - ], - [ - "hour", - "hours_per_point_middle" - ], - [ - "start_d", - "project_start_date" - ], - [ - "pro", - "project_start_date" - ], - [ - "unpa", - "unparented_release_codes_temp" - ], - [ - "release", - "release_code" - ], - [ - "active", - "active_record_object" - ], - [ - "act", - "active_record_object" - ], - [ - "st", - "story_points" - ], - [ - "requir", - "requirement" - ], - [ - "tram", - "transformed_lines_2" - ], - [ - "tra", - "transformed_lines_2" - ], - [ - "letter", - "letter_only" - ], - [ - "colum", - "column_name" - ], - [ - "column", - "column_hash" - ], - [ - "colu", - "column_name" - ], - [ - "column_", - "column_hash" - ], - [ - "n", - "number" - ], - [ - "css", - "css_string" - ], - [ - "displ", - "display_image" - ], - [ - "bus", - "business-purpose" - ], - [ - "app", - "app_root" - ], - [ - "Non-Con", - "Non-Contiguous" - ], - [ - "te", - "technical" - ], - [ - "prefi", - "prefix-value" - ], - [ - "img", - "img_classes" - ], - [ - "image_", - "image_width_px" - ], - [ - "is_image", - "is_image_bordered" - ], - [ - "is", - "is_image_bordered" - ], - [ - "width", - "width_string" - ], - [ - "tech", - "tech_text_field" - ], - [ - "child", - "child_xml" - ], - [ - "text", - "text_fields" - ], - [ - "last_", - "last_doc_id" - ], - [ - "last", - "last_doc" - ], - [ - "id", - "id_to_delete" - ], - [ - "re", - "requirement" - ], - [ - "html", - "html_safe" - ], - [ - "is_", - "is_active_int" - ], - [ - "lec", - "legacy_int" - ], - [ - "rand", - "rand_int" - ], - [ - "tel", - "telcowords" - ], - [ - "redi", - "redirect_if_not_admi" - ], - [ - "au", - "authorized_user" - ], - [ - "Extension", - "ExtensionAlter" - ], - [ - "file", - "filepart" - ], - [ - "icon", - "icon_url" - ], - [ - "cmd", - "cmd_commit" - ], - [ - "total", - "merlin_total_tests" - ], - [ - "cmd_", - "cmd_author" - ], - [ - "dir_", - "dir_komp_repo" - ], - [ - "scoreAss", - "scoreAssertions" - ], - [ - "sco", - "scoreAssertions" - ], - [ - "ver", - "version_major" - ], - [ - "data", - "data_notationios_info_plist_result" - ], - [ - "new", - "new_line" - ], - [ - "version", - "version_to_replace" - ], - [ - "isK", - "is_key_found_this_time" - ], - [ - "komp", - "data_komp_info_plist" - ], - [ - "Draw", - "DrawResult" - ], - [ - "DrawRe", - "DrawResultCache" - ], - [ - "inDra", - "inDrawPoint" - ], - [ - "Drawab", - "DrawableUPtr" - ], - [ - "appl", - "applyJustification" - ], - [ - "Dra", - "DrawableLine" - ], - [ - "inUn", - "inUnscaledScoreY" - ], - [ - "unsca", - "unscaledScoreY" - ], - [ - "unscaled", - "unscaledScoreX" - ], - [ - "Spatial", - "SpatialPointIntf" - ], - [ - "Spatia", - "SpatialPointIntf" - ], - [ - "Key", - "KeySignatureType" - ], - [ - "KeySign", - "KeySignatureType" - ], - [ - "It", - "ItemRegistry" - ], - [ - "Harp", - "Harpsichord" - ], - [ - "Vib", - "Vibraphone" - ], - [ - "mBeat", - "mBeatTypeDots" - ], - [ - "BeamAngIn", - "BeamAngleIntfUPtr" - ], - [ - "getBeamedNote", - "getBeamedNoteCount" - ], - [ - "BeamedN", - "BeamedNoteIntfUPtrVec" - ], - [ - "Measure", - "MeasureAttachedDynamicParams" - ], - [ - "Octave", - "OctaveType" - ], - [ - "MxNote", - "MxNoteSpannerStack" - ], - [ - "MxNotre", - "MxNoteSpannerPtr" - ], - [ - "fontFamil", - "fontFamilyData" - ], - [ - "my", - "myScoreDataCreator" - ], - [ - "expected", - "expectedOctave" - ], - [ - "PartwiseMe", - "PartwiseMeasurePtr" - ], - [ - "QUARTER_", - "QUARTER_FLAT" - ], - [ - "SHAR", - "SHARP_SHARP" - ], - [ - "DOUBLE_", - "DOUBLE_SHARP" - ], - [ - "DOUBLE", - "DOUBLE_SHARP" - ], - [ - "Syst", - "SystemLayoutInfo" - ], - [ - "M", - "FileMediatorFactory" - ], - [ - "globa", - "globalTicksPerQuarter" - ], - [ - "Time", - "TimeSignatureSymbol" - ], - [ - "new_", - "new_identifier" - ], - [ - "attribute", - "attributes_classes" - ], - [ - "attrib", - "attributes_classes" - ], - [ - "fro", - "from_xelement_code" - ], - [ - "par", - "parsing_statement" - ], - [ - "hmem", - "hmembers" - ], - [ - "type", - "type_capture" - ], - [ - "name", - "name_capture" - ], - [ - "hlines", - "hlines_last_member" - ], - [ - "elision", - "elisionSyllabicTextGroup" - ], - [ - "XEleme", - "XElementIterator" - ], - [ - "do", - "doDecrementIter" - ], - [ - "eleme", - "element_name" - ], - [ - "element_na", - "element_name_for_cpp" - ], - [ - "Ele", - "ElementInterface" - ], - [ - "line", - "line_instruction" - ], - [ - "line_info", - "line_info_collection" - ], - [ - "all_", - "all_symbols" - ], - [ - "all", - "all_classes" - ], - [ - "require", - "require_relative" - ], - [ - "cpp", - "cpp_functions" - ], - [ - "req", - "require_relative" - ], - [ - "enum", - "enum_list" - ], - [ - "for", - "forwardDeclare" - ], - [ - "decl", - "declaration_line" - ], - [ - "line_in", - "temp_line_instructions" - ], - [ - "end", - "end_line" - ], - [ - "H", - "HDeclarationLine" - ], - [ - "matc", - "matches" - ] - ] - }, - "buffers": - [ - ], - "build_system": "", - "build_system_choices": - [ - ], - "build_varint": "", - "command_palette": - { - "height": 392.0, - "last_filter": "Package Control: Install Package", - "selected_items": - [ - [ - "Package Control: Install Package", - "Package Control: Install Package" - ] - ], - "width": 449.0 - }, - "console": - { - "height": 146.0, - "history": - [ - "import urllib.request,os,hashlib; h = 'df21e130d211cfc94d9b0905775a7c0f' + '1e3d39e33b79698005270310898eea76'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)" - ] - }, - "distraction_free": - { - "menu_visible": true, - "show_minimap": false, - "show_open_files": false, - "show_tabs": false, - "side_bar_visible": false, - "status_bar_visible": false - }, - "expanded_folders": - [ - "/Users/mjb/repos/mx" - ], - "file_history": - [ - "/Users/mjb/Library/Developer/Xcode/DerivedData/mx-bsuewfrvqkwhdoejyflracifumto/Build/Products/Debug/bloop.xml", - "/Users/mjb/repos/mx/Sourcecode/mx/impl/DynamicsReader.cpp", - "/Users/mjb/repos/mx/DevScripts/smuflHeader.rb", - "/Users/mjb/repos/mx/Sourcecode/mx/impl/DynamicsWriter.cpp", - "/Users/mjb/repos/mx/Sourcecode/mx/impl/NotationsWriter.cpp", - "/Users/mjb/repos/mx/Sourcecode/mx/impl/OrnamentsFunctions.cpp", - "/Users/mjb/repos/mx/Sourcecode/mx/impl/TechnicalFunctions.cpp", - "/Users/mjb/repos/mx/Sourcecode/mxtest/api/ApiK007aScoreData.h", - "/Users/mjb/repos/mx/Sourcecode/mxtest/api/ApiK007cScoreData.h", - "/Users/mjb/repos/mx/Sourcecode/mxtest/api/ApiLy43eScoreData.h", - "/Users/mjb/repos/mx/Sourcecode/mxtest/api/NoteDataTest.cpp", - "/Users/mjb/repos/mx/Sourcecode/mx/impl/MeasureReader.cpp", - "/Users/mjb/repos/mx/Sourcecode/mxtest/api/ApiChordSimpleScoreData.h", - "/Users/mjb/repos/mx/Sourcecode/mxtest/api/ApiK009bSlurScoreData.h", - "/Users/mjb/repos/mx/Sourcecode/mxtest/api/ApiK014aFermatasScoreData.h", - "/Users/mjb/repos/mx/Sourcecode/mxtest/api/ApiK015aLayoutScoreData.h", - "/Users/mjb/repos/mx/Sourcecode/mxtest/api/ApiK016aMiscScoreData.h", - "/Users/mjb/repos/mx/Sourcecode/mxtest/api/ApiMuAccidentals1ScoreData.h", - "/Users/mjb/repos/mx/Xcode/mx.xcworkspace/xcuserdata/mjb.xcuserdatad/UserInterfaceState.xcuserstate", - "/Users/mjb/repos/mx/Sourcecode/mx/impl/AccidentalMarkFunctions.cpp", - "/Users/mjb/repos/mx/Sourcecode/mx/impl/DirectionReader.cpp", - "/Users/mjb/repos/mx/Sourcecode/mx/impl/ArticulationsFunctions.cpp", - "/Users/mjb/repos/mx/Sourcecode/mx/api/MarkData.h", - "/Users/mjb/repos/mx/Sourcecode/mx/api/MarkData.cpp", - "/Users/mjb/MxRepo/Documents/musicxml.xsd", - "/Users/mjb/MxRepo/Resources/mjbsuite/freezing-measure-numbers.rb", - "/Users/mjb/MxRepo/Resources/mjbsuite/freezing.xml", - "/Users/mjb/MxRepo/Resources/mjbsuite/freezing.old.xml", - "/Users/mjb/MxRepo/Sourcecode/mx/impl/PartReader.h", - "/Users/mjb/MxRepo/Sourcecode/mx/impl/PartReader.cpp", - "/Users/mjb/MxRepo/Resources/mjbsuite/PreserveTimeModificationNormalType.xml", - "/Users/mjb/MxRepo/Sourcecode/mx/core/elements/NormalType.h", - "/Users/mjb/MxRepo/Sourcecode/mx/core/elements/NormalTypeNormalDotGroup.h", - "/Users/mjb/MxRepo/Sourcecode/mx/core/elements/Note.h", - "/Users/mjb/Desktop/blerp.xml", - "/Users/mjb/MxRepo/Resources/mjbsuite/HasMusicXmlVersionTrue.xml", - "/Users/mjb/MxRepo/Resources/lysuite/ly43e_Multistaff_ClefDynamics.xml", - "/Users/mjb/MxRepo/Resources/ksuite/k014a_Fermatas.xml", - "/Users/mjb/MxRepo/Sourcecode/mx/core/elements/CreditWords.h", - "/Users/mjb/MxRepo/Sourcecode/mx/core/elements/CreditWordsAttributes.h", - "/Users/mjb/MxRepo/Sourcecode/mx/impl/MxVersionDefines.h", - "/Users/mjb/MxRepo/DevScripts/mxdeploy-v01.rb", - "/Users/mjb/MxRepo/Sourcecode/mx/api/ScoreData.h", - "/Users/mjb/MxRepo/Sourcecode/mxtest/file/MxFileTestGroup.cpp", - "/Users/mjb/MxRepo/Resources/mjbsuite/ChordDirectionPlacement.xml", - "/Users/mjb/MxRepo/Sourcecode/mx/core/elements/ScoreHeaderGroup.h", - "/Users/mjb/MxRepo/Sourcecode/mx/core/elements/Appearance.h", - "/Users/mjb/MxRepo/Sourcecode/mx/core/elements/Tenths.h", - "/Users/mjb/MxRepo/Sourcecode/mx/core/elements/OtherAppearance.h", - "/Users/mjb/MxRepo/Sourcecode/mx/api/MarkData.h", - "/Users/mjb/MxRepo/Sublime/mx.sublime-project", - "/Users/mjb/Library/Developer/Xcode/Templates/File Templates/Source/Mx Api C++ File.xctemplate/WithHeader/___FILEBASENAME___.h", - "/Users/mjb/Library/Developer/Xcode/Templates/File Templates/Source/Mx Api C++ File.xctemplate/WithHeader/___FILEBASENAME___.cpp", - "/Users/mjb/Library/Developer/Xcode/Templates/File Templates/Source/Mx Api C++ File.xctemplate/Default/___FILEBASENAME___.cpp", - "/Users/mjb/Bitflip/Clients/Inteliquent/Data/CDRExample.json", - "/Users/mjb/iqreq/data/RoldansFormulas.txt", - "/Users/mjb/iqreq/data/RoldansRules.rb", - "/Users/mjb/iqreq/data/RoldansRules.txt", - "/Users/mjb/iqreq/data/requirements.xml", - "/Users/mjb/iqreq/app/controllers/documents_controller.rb", - "/Users/mjb/iqreq/app/controllers/releases_controller.rb", - "/Users/mjb/iqreq/app/models/document.rb", - "/Users/mjb/iqreq/db/schema.rb", - "/Users/mjb/iqreq/scripts/reqxml.rb", - "/Users/mjb/iqreq/scripts/reqxml-deserialize.rb", - "/Users/mjb/iqreq/app/models/epic.rb", - "/Users/mjb/iqreq/scripts/load-xml.rb", - "/Users/mjb/iqreq/scripts/insert-data.rb", - "/Users/mjb/iqreq/db/migrate/20171115204408_add_hours_per_week_to_documents.rb", - "/Users/mjb/iqreq/app/views/releases/show.html.erb", - "/Users/mjb/Downloads/NpaNxxJur_20171105-20171111_365Wireless.csv", - "/Users/mjb/Downloads/5f2e45e3845c4d59a52fc5326a342e4e (1).csv", - "/Users/mjb/iqreq/app/helpers/documents_helper.rb", - "/Users/mjb/iqreq/app/views/documents/load_xml.html.erb", - "/Users/mjb/iqreq/config/database.yml", - "/Users/mjb/iqreq/config/routes.rb", - "/Users/mjb/iqreq/Gemfile", - "/Users/mjb/iqreq/app/views/documents/simple.html.erb", - "/Users/mjb/iqreq/data/dxcreate/dxcreate/docx-templates/StylesList.txt", - "/Users/mjb/iqreq/.gitignore", - "/Users/mjb/iqreq/data/StylesList.txt", - "/Users/mjb/Desktop/uncompressed.docx", - "/Users/mjb/iqreq/app/views/documents/docx_view.docx.erb", - "/Users/mjb/Library/Application Support/Sublime Text 3/Packages/User/iqreq.sublime-build", - "/Users/mjb/Desktop/silly.txt", - "/Users/mjb/iqreq/data/sql-files/Story Point Select.sql", - "/Users/mjb/iqreq/db/migrate/20171111161927_priority_release.rb", - "/Users/mjb/iqreq/app/models/requirement.rb", - "/Users/mjb/iqreq/app/views/documents/liquid_planner.csv.erb", - "/Users/mjb/iqreq/app/src/liquid_planner_row.rb", - "/Users/mjb/iqreq/app/models/estimate.rb", - "/Users/mjb/iqreq/app/views/documents/show.html.erb", - "/Users/mjb/iqreq/data/Insert INTO PricingTables.sql", - "/Users/mjb/Desktop/Notes from Tim Schneeberger.txt", - "/Users/mjb/Bitflip/Logo Derivatives/bitlip.blue.txt", - "/Users/mjb/Dropbox/Memories.txt", - "/Users/mjb/Desktop/chart1.html", - "/Users/mjb/Desktop/Dads PSA.csv", - "/Users/mjb/Bitflip/Inteliquent/Targets/TWC-SeptemberMou-Targets-inserts.sql", - "/Users/mjb/Bitflip/Inteliquent/Targets/Comcast-September-Mou-Targets-inserts.sql", - "/Users/mjb/Bitflip/Inteliquent/Targets/Cablevision-September-Mou-Targets-inserts.sql", - "/Users/mjb/Bitflip/Inteliquent/Targets/Cablevision-September-Mou-Targets-transformed.csv", - "/Users/mjb/Bitflip/Inteliquent/Targets/TWC-SeptemberMouTargets-Transformed.csv", - "/Users/mjb/komp/Notation/Notation-Sourcecode/Score/ScoreCreationInfo.cc", - "/Users/mjb/iqreq/scripts/clear-db.rb", - "/Users/mjb/iqreq/app/assets/javascripts/noframework.waypoints.js", - "/Users/mjb/iqreq/app/assets/javascripts/anchor_scroll.js", - "/Users/mjb/iqreq/app/views/documents/_waypoints.html.erb", - "/Users/mjb/iqreq/app/models/group.rb", - "/Users/mjb/iqreq/app/views/documents/_req_table.html.erb", - "/Users/mjb/iqreq/app/helpers/application_helper.rb", - "/Users/mjb/iqreq/app/assets/javascripts/application.js", - "/Users/mjb/iqreq/Gemfile.lock", - "/Users/mjb/iqreq/config/initializers/assets.rb", - "/Users/mjb/iqreq/app/assets/stylesheets/req-styles.css", - "/Users/mjb/iqreq/app/views/documents/_leftside_navigation.html.erb", - "/Users/mjb/Desktop/OrigCustMouRevCogs.csv", - "/Users/mjb/iqreq/data/SELECT.sql", - "/Users/mjb/iqreq/app/views/documents/_groups.html.erb", - "/Users/mjb/iqreq/app/views/documents/_group_business_purpose.html.erb", - "/Users/mjb/iqreq/data/RoldansColumns.txt", - "/Users/mjb/iqreq/data/MattsRules.txt", - "/Users/mjb/rtut/simple_cms/app/views/admin_users/delete.html.erb", - "/Users/mjb/Desktop/rails.txt", - "/Users/mjb/iqreq/scripts/xml.rb", - "/Users/mjb/iqreq/scripts/xml-new.rb", - "/Users/mjb/iqreq/app/models/text_field.rb", - "/Users/mjb/iqreq/vendor/bundle/ruby/2.4.0/gems/rails-dom-testing-2.0.3/lib/rails/dom/testing/assertions/selector_assertions/count_describable.rb" - ], - "find": - { - "height": 44.0 - }, - "find_in_files": - { - "height": 281.0, - "where_history": - [ - "/Users/mjb/repos/mx", - "" - ] - }, - "find_state": - { - "case_sensitive": false, - "find_history": - [ - "smufl", - "\n#include \"mx/api/Smufl.h\"", - "smufl", - "Smuf", - "smufl", - "tremolo\"", - "/>", - "", - "\n tickTimePosition = ", - "tickTimePosition = ", - " [", - "\"note\"", - "", - "\n \n \n ", - "\n \n \n \n 60\n 1\n quarter\n \n \n \n 15\n 1\n 16th\n ", - "MX_VERSION", - "MINOR =", - "0.3", - " ", - "\">", - "name=\"print-style-align\"", - "\"print-style-align\"", - "\"direction\"", - "\"directive\"", - "\"direction\"", - "\"measure\"", - "measure number=\"X", - "measure number=\"X7\"", - "", - "distance-type", - "\"line-width-type\"", - "\"line-width\"", - "line-width" - ], - "highlight": true, - "in_selection": false, - "preserve_case": false, - "regex": false, - "replace_history": - [ - "S-M-U-F-L", - "", - " />", - " Date: Sun, 7 Apr 2019 10:33:10 -0700 Subject: [PATCH 101/108] sublime workspace ignore --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 7c2515747..965761ecd 100755 --- a/.gitignore +++ b/.gitignore @@ -22,7 +22,7 @@ Proj/ */project.xcworkspace/ cmake-build* cmake-build* -#*.sublime-workspace +*.sublime-workspace ######################################### # Ignore Test Output and Expected Files # From 08062415fe30a349cce79126376fc2b830d6273c Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Sun, 7 Apr 2019 10:37:14 -0700 Subject: [PATCH 102/108] ci --- Sourcecode/mx/impl/PartReader.h | 1 + 1 file changed, 1 insertion(+) diff --git a/Sourcecode/mx/impl/PartReader.h b/Sourcecode/mx/impl/PartReader.h index bb8b9c301..5911503a4 100644 --- a/Sourcecode/mx/impl/PartReader.h +++ b/Sourcecode/mx/impl/PartReader.h @@ -8,6 +8,7 @@ #include "mx/impl/MeasureCursor.h" #include +#include namespace mx { From a5aecc2c90777c052fb94254810bdb5fddbaba16 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Sun, 7 Apr 2019 10:45:41 -0700 Subject: [PATCH 103/108] ci work --- .circleci/Dockerfile.test | 2 +- .circleci/config.yml | 59 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+), 1 deletion(-) diff --git a/.circleci/Dockerfile.test b/.circleci/Dockerfile.test index 46765bb1d..120e52d22 100644 --- a/.circleci/Dockerfile.test +++ b/.circleci/Dockerfile.test @@ -3,4 +3,4 @@ FROM matthewjamesbriggs/mxci:v001 ENV BASEDIR="/mx" WORKDIR $BASEDIR COPY . . -CMD cmake . && make +CMD cmake . && make -j12 diff --git a/.circleci/config.yml b/.circleci/config.yml index e69de29bb..6ffa627af 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -0,0 +1,59 @@ +version: 2 +jobs: + build: + docker: + # specify the version you desire here + - image: matthewjamesbriggs/mxci:v001 + + resource_class: xlarge + working_directory: ~/mx + + steps: + - checkout + + # Download and cache dependencies + # - restore_cache: + # keys: + # - iqcache-{{ checksum ".circleci/cache-lock" }}-{{ checksum "iqtestdata/.cache-lock" }} + # # fallback to using the latest cache if no exact match is found + # - iqcache- + + # - run: yarn install --cache-folder ~/yarn-cache + + # - run: + # name: Install Git LFS + # command: | + # curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash + # sudo apt-get update + # sudo apt-get install -y git-lfs openssh-client + # git lfs install + # mkdir -p ~/.ssh + # ssh-keyscan -H github.com >> ~/.ssh/known_hosts + # ssh git@github.com git-lfs-authenticate "${CIRCLE_PROJECT_USERNAME}/${CIRCLE_PROJECT_REPONAME}" download + # git lfs pull + + # - save_cache: + # paths: + # - node_modules + # - iqtestdata + # - web/node_modules + # - iqbak/node_modules + # - iqshared/node_modules + # - ~/yarn-cache + + # key: iqcache-{{ checksum ".circleci/cache-lock" }}-{{ checksum "iqtestdata/.cache-lock" }} + + - run: + name: Cmake + command: cmake . + + - run: + name: Build + command: make -j12 + + - run: + name: Test + command: ./mxtest + + # - store_artifacts: + # path: /tmp/coverage/ From ce86d79366e4fa7e15f57c4a2d1361524c903927 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Sun, 7 Apr 2019 11:23:03 -0700 Subject: [PATCH 104/108] ci work and gcc --- CMakeLists.txt | 3 +++ Sourcecode/cpul/cpulTest.cpp | 1 + Sourcecode/mx/impl/PartWriter.h | 1 + Sourcecode/mx/impl/ScoreReader.h | 1 + Sourcecode/mx/utility/Utility.h | 1 + 5 files changed, 7 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index b80948e6a..f2862bff7 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -55,6 +55,8 @@ file(WRITE ${CMAKE_CURRENT_SOURCE_DIR}/Sourcecode/mxtest/file/PathRoot.h #endif" ) +find_package( Threads ) + # MxTest add_executable(MxTest ${SRC_MX_TEST_API} ${SRC_MX_TEST_CONTROL} ${SRC_MX_TEST_CORE} ${SRC_MX_TEST_FILE} ${SRC_MX_TEST_IMPL} ${SRC_MX_TEST_IMPORT} ${SRC_MX_TEST_UTILITY} ${SRC_MX_TEST_XML} ${SRC_CPUL}) source_group( "api" FILES ${SRC_MX_TEST_API} ) @@ -67,4 +69,5 @@ source_group( "utility" FILES ${SRC_MX_TEST_UTILITY} ) source_group( "xml" FILES ${SRC_MX_TEST_XML} ) source_group( "cpul" FILES ${SRC_CPUL} ) target_link_libraries(MxTest Mx) +target_link_libraries(MxTest ${CMAKE_THREAD_LIBS_INIT}) set_property(TARGET MxTest PROPERTY CXX_STANDARD 14) \ No newline at end of file diff --git a/Sourcecode/cpul/cpulTest.cpp b/Sourcecode/cpul/cpulTest.cpp index 2cc258b55..b537704f0 100755 --- a/Sourcecode/cpul/cpulTest.cpp +++ b/Sourcecode/cpul/cpulTest.cpp @@ -1,6 +1,7 @@ #include "cpul/cpulTest.h" #include "cpul/cpulTestRegistry.h" #include "cpul/cpulTestResult.h" +#include Test::Test (const std::string& testName, std::string fileName, diff --git a/Sourcecode/mx/impl/PartWriter.h b/Sourcecode/mx/impl/PartWriter.h index 21cbef2b0..cc6de18e3 100644 --- a/Sourcecode/mx/impl/PartWriter.h +++ b/Sourcecode/mx/impl/PartWriter.h @@ -6,6 +6,7 @@ #include "mx/api/PartData.h" #include +#include namespace mx { diff --git a/Sourcecode/mx/impl/ScoreReader.h b/Sourcecode/mx/impl/ScoreReader.h index 8c269fdca..09a917c65 100644 --- a/Sourcecode/mx/impl/ScoreReader.h +++ b/Sourcecode/mx/impl/ScoreReader.h @@ -9,6 +9,7 @@ #include #include #include +#include namespace mx { diff --git a/Sourcecode/mx/utility/Utility.h b/Sourcecode/mx/utility/Utility.h index 999d6fd9a..d4c6c10d1 100755 --- a/Sourcecode/mx/utility/Utility.h +++ b/Sourcecode/mx/utility/Utility.h @@ -4,6 +4,7 @@ #pragma once #include "mx/core/Document.h" +#include namespace mx { From 7dd9b1d6b01c73fdeb1d648ccad3121c2b334583 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Sun, 7 Apr 2019 11:28:13 -0700 Subject: [PATCH 105/108] circleci --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 6ffa627af..34589c89a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -49,7 +49,7 @@ jobs: - run: name: Build - command: make -j12 + command: make -j4 - run: name: Test From fd1fdd661348541d613b1e8ff361450c888afaae Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Sun, 7 Apr 2019 11:32:35 -0700 Subject: [PATCH 106/108] circleci --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 34589c89a..1fe354daf 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -49,7 +49,7 @@ jobs: - run: name: Build - command: make -j4 + command: make - run: name: Test From 5ab43e08cd04ae1c7373cd785063f8c6037c3b04 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Sun, 7 Apr 2019 11:51:31 -0700 Subject: [PATCH 107/108] circleci --- .circleci/config.yml | 2 +- .circleci/docker.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 1fe354daf..958f884af 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -53,7 +53,7 @@ jobs: - run: name: Test - command: ./mxtest + command: ./MxTest # - store_artifacts: # path: /tmp/coverage/ diff --git a/.circleci/docker.sh b/.circleci/docker.sh index a84370b78..705a80326 100755 --- a/.circleci/docker.sh +++ b/.circleci/docker.sh @@ -15,4 +15,4 @@ docker build \ -t mxtestimage \ "$MX_DIR" -docker run --name mxtestcontainer mxtestimage \ No newline at end of file +docker run -it --name mxtestcontainer mxtestimage \ No newline at end of file From deef5f5c860aab68bec47d54d58972a3e0d1aca6 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Sun, 7 Apr 2019 12:32:23 -0700 Subject: [PATCH 108/108] test stuff --- .circleci/Dockerfile.test | 2 +- Sourcecode/cpul/cpulRun.cpp | 11 +++++++---- Sourcecode/cpul/cpulRun.h | 2 +- Sourcecode/cpul/cpulTestRegistry.cpp | 8 +++++--- Sourcecode/cpul/cpulTestRegistry.h | 6 ++++-- Sourcecode/cpul/main.cpp | 8 +++++++- Sourcecode/mxtest/api/FreezingTest.cpp | 4 ++-- Sourcecode/mxtest/control/CompileControl.h | 4 ++-- 8 files changed, 29 insertions(+), 16 deletions(-) diff --git a/.circleci/Dockerfile.test b/.circleci/Dockerfile.test index 120e52d22..ead894ed0 100644 --- a/.circleci/Dockerfile.test +++ b/.circleci/Dockerfile.test @@ -3,4 +3,4 @@ FROM matthewjamesbriggs/mxci:v001 ENV BASEDIR="/mx" WORKDIR $BASEDIR COPY . . -CMD cmake . && make -j12 +CMD cmake . && make -j12 && ./MxTest diff --git a/Sourcecode/cpul/cpulRun.cpp b/Sourcecode/cpul/cpulRun.cpp index 4c2d85b5b..a510629f3 100755 --- a/Sourcecode/cpul/cpulRun.cpp +++ b/Sourcecode/cpul/cpulRun.cpp @@ -1,11 +1,12 @@ #include "cpul/cpulRun.h" -void cpulRun( bool runTests, bool holdConsole ) +int cpulRun( bool runTests, bool holdConsole ) { UNUSED_PARAMETER( runTests ) UNUSED_PARAMETER( holdConsole ) - + int failures = 0; + #ifndef USE_VS_TEST if ( runTests ) { @@ -13,7 +14,7 @@ void cpulRun( bool runTests, bool holdConsole ) srand(::time_t(NULL)); TestResult tr; - TestRegistry::runAllTests(tr); + failures = TestRegistry::runAllTests(tr); // force console screen to hold if ( holdConsole ) @@ -23,4 +24,6 @@ void cpulRun( bool runTests, bool holdConsole ) } } #endif -} \ No newline at end of file + + return failures; +} diff --git a/Sourcecode/cpul/cpulRun.h b/Sourcecode/cpul/cpulRun.h index 22655b70b..593b15099 100755 --- a/Sourcecode/cpul/cpulRun.h +++ b/Sourcecode/cpul/cpulRun.h @@ -2,4 +2,4 @@ #include -void cpulRun( bool runTests, bool holdConsole = false ); \ No newline at end of file +int cpulRun( bool runTests, bool holdConsole = false ); diff --git a/Sourcecode/cpul/cpulTestRegistry.cpp b/Sourcecode/cpul/cpulTestRegistry.cpp index afd2553d1..5363099cb 100755 --- a/Sourcecode/cpul/cpulTestRegistry.cpp +++ b/Sourcecode/cpul/cpulTestRegistry.cpp @@ -9,9 +9,9 @@ void TestRegistry::addTest (Test *test) instance ().add (test); } -void TestRegistry::runAllTests (TestResult& result) +int TestRegistry::runAllTests (TestResult& result) { - instance ().run (result); + return instance ().run (result); } TestRegistry& TestRegistry::instance () { @@ -31,7 +31,7 @@ void TestRegistry::add(Test *test) { } } -void TestRegistry::run (TestResult& result) { +int TestRegistry::run (TestResult& result) { int testCount = 0; int errorCount = 0; result.startTests (); @@ -68,4 +68,6 @@ void TestRegistry::run (TestResult& result) { std::cout << testCount << " tests, " << result.getFailureCount() << " failures, " << errorCount << " errors" << std::endl; + + return failureCount; } diff --git a/Sourcecode/cpul/cpulTestRegistry.h b/Sourcecode/cpul/cpulTestRegistry.h index 653ca3a24..94fb78621 100755 --- a/Sourcecode/cpul/cpulTestRegistry.h +++ b/Sourcecode/cpul/cpulTestRegistry.h @@ -16,13 +16,15 @@ class TestRegistry { public: static void addTest (Test *test); - static void runAllTests (TestResult& result); + + // returns the number of test failures + static int runAllTests (TestResult& result); private: static TestRegistry& instance (); void add (Test *test); - void run (TestResult& result); + int run (TestResult& result); std::vector tests; diff --git a/Sourcecode/cpul/main.cpp b/Sourcecode/cpul/main.cpp index 879ac882b..a58d7af55 100755 --- a/Sourcecode/cpul/main.cpp +++ b/Sourcecode/cpul/main.cpp @@ -17,7 +17,13 @@ int main(int argc, const char * argv[]) UNUSED_PARAMETER( argc ) UNUSED_PARAMETER( argv ) cpul::TestTimer timer; - cpulRun( true ); + const auto failures = cpulRun( true ); timer.report( "Total runtime for all tests" ); + + if( failures != 0 ) + { + return 1; + } + return 0; } diff --git a/Sourcecode/mxtest/api/FreezingTest.cpp b/Sourcecode/mxtest/api/FreezingTest.cpp index 51a27199c..988e512c7 100644 --- a/Sourcecode/mxtest/api/FreezingTest.cpp +++ b/Sourcecode/mxtest/api/FreezingTest.cpp @@ -13,7 +13,7 @@ using namespace std; using namespace mx::api; using namespace mxtest; - +#if 0 TEST( x, Freezing ) { const int partIndex = 1; // bass clarinet @@ -41,5 +41,5 @@ TEST( x, Freezing ) } T_END - +#endif #endif diff --git a/Sourcecode/mxtest/control/CompileControl.h b/Sourcecode/mxtest/control/CompileControl.h index 61aad3bac..bacab4ce7 100755 --- a/Sourcecode/mxtest/control/CompileControl.h +++ b/Sourcecode/mxtest/control/CompileControl.h @@ -6,7 +6,7 @@ #define MX_COMPILE_API_TESTS #define MX_COMPILE_API_ROUNDTRIP -//#define MX_COMPILE_CORE_TESTS +#define MX_COMPILE_CORE_TESTS #define MX_COMPILE_IMPL_TESTS #define MX_COMPILE_IMPORT_TESTS #define MX_COMPILE_NEW_DECIMAL_TESTS @@ -16,4 +16,4 @@ // use this to restrict the size of the files that // the test run will open (compile-time constant). // 0 indicates no limit -constexpr const int MX_COMPILE_MAX_FILE_SIZE_BYTES = 1024 * 3; // (1024 * 1024); +constexpr const int MX_COMPILE_MAX_FILE_SIZE_BYTES = 0; // 1024 * 3; // (1024 * 1024);

18*24>ihBBL99+zFdXhJXZ2xQ~#MsV97l|M)hX4<&KT zr}9HiSI{09qTsv~ahE6-megBfI{mo~4L$8?23vE%M}7pnG@LVTK$|gllm9E|npsEB z7?2owseotk{x51eZk?Y;E(DEMMjXU1eS+JCbd$F5g(np-LwS;iqXJSCB7INi~toK1f+NLYan7-;1>ieoA7UJ5;*u>)au=CCi{3omSn;UvvO84<`?dvzEDl zuFdnY!oK!pvRdpLOJGoVzQ9$^LT^!(%$_5r6tvCe&XiYgVak_TdjQQj3KwTp1cvh# zG<-;0ueqh?`mmlMI!)ITEDGlG&xkt~N_1BMc)VG077Jo#zI6oZ_Z?{!w)ZG)nqt=B zs+G~2`CC_m&e|m)+RGHOAM5Nv(uYYMmfPDp&a%zF|72LU@|Ms-cxAT0S9&*hc_o7-#93>oEd|+G5)vPch4Lg?1v2e>#0`tVsFN#G zd)U_L-Gj12vP?{PylVw)l*bO=z=8Je|EV~lqaIw@y@aOB50m44NnkQkd605^4gIu% z#;5>-?7qoW1W;9Q%n?5F(;49@>XJ*AjoqH%=B6@&z;8@M-Q!DW@@ft~)!&=x==nfb zQ^t;7wEtK3!D((88mQ+KhoKLDoq>;_-)Cvo83&~1cKf$?*{$cBEd@UVnx(FN!paFR z&24~)g=dUazz9%k;zz#%YDjW7FZ~c{2|)!D1n-qI^XjFyHr--gyh!L9v&zLU_(vw+ zW|cElXOQ~GI{Zm~(mAU64q8Q1dMfelxe8DZ2W9l}MF-g>Gm<87$5PYvD-uKMXS+u0 zT{lKj#1P({Cel?R>8mY;*X)F7?&W7OWPv9Lk-4~IasvnBPSdBy-4`H3+FkPNsfsn> zkeA}Y(MjHlZQMg`!8kWG`Hq7u5~;0et^_M-E~6*XVw~vJj8z9<6CWiT{IiYdCoxLG z@DU;@I$_*2iLJzeP@m+7J_XMJpF@$+yEGy-G%ifSM>AVQ@elW^^S(E9GXd3RO9u8{ z3!^D>X2CQ^%p73Ut>yR#VE(A7w>K7@KP?1(+}a8mONO8 z=1>jlruj*|R2y3|nTZSpPX>lteb1~jR-bAQNk$%%`cZG*jjg0SaSv>HVVIPg*;1#K-kbW%&|7namp(k!T5%XvjO_}ugWdl(Nx;UluW(D zAk>*vVdu&A1igec&0P+J23M-V<_Sxr%CQK-J#Nq_u#g(q_)-|&XVuUZk5u8`Rnlyx09M7b^sfX&D z(Yt#>_rxodLdl5S{kY=F8D40ERbx zYl#+d>VlQD+gCT@&W|l{*Fl%r}zPET)7jSZ`@G=SX3AznzLm0r&*i5{sg;5fw zjokXzrnZPnSWzR>oR=TTdGDSr@0`X@qb(T0hmb|0l%%cqGkqtXXDCnfSP;1ewoy4FO-;uOKpCf1Jvk#=&}yno z7odLiL2Ea-LX(J1qRUJv^UXw~mSW3Tuc#ii@&bwd{7y_vq848_kEa^QwU@JNE@yJM z=s|Hqk*V_5APdaLmOh&j3%~ma&H+d-0?J(ZDbI>gjRQb$zn?xk1V(d_Sn7dRO<7j= zkYU?)nm*Lz4w!z?Ep!q=gpIoH3+HOX`p|^6-Q*Dlcy+ad+MiZ?PqJ8E^A@qr`>G?T zGr;voiG#+XW6k5-0vf^8^34Lx4Xk{Q5(RER1x6HB7FD;^UKSQ+^Zve~yef!@py;T2 zUwpv%WLEbK;UqGNl4>jRYtd?fe zRf9^WpxTYcKR(no+9W@DI`A@JF!hOdTY2|3H(h=bA=h*d{9*)CPu&@*fnBt5|2TyHg3 zmXcdZlK2y!c_r#1Z4LYhv0k|eV|ZlJ*KBl~v=W-7_uJ4NFum@cnLsb|({_ws>qxYJ zEwhyc!+lC9t^N@Alm(yFZP64{yKh=tu2hAF6r-kE=@w~U;42~z zR0p{ohtfvkPGklc-KpXkjh!CBml?5 z49x;H*XT1KIgB@4`HYY^)&*49B}HbE&xA$eZxtZ~v<4L%TZ+#@R+_X8B68^4oL4lA zTIEobL00RN*d{W1Dof+t?X7*&4gs;g*TO)ErlRJH##J>PMCXav&k?iwRS#$JPP?qg zX=F!rwBE~rF8zzc7c(5w_#oaMPf3 zAN7fjM0K1lk(-mMn@Tu?UG2h+PQ61Fs0jLRhhA0p z2q7qY$NcAhXbbv_$diRpVdEp*vk0Kj@0;l_t7MSEk=lL|&(?$pwtr9PC_^&FmZ4`s zT%7ve+5(ALX1P5%8~S>Q9py*Bv%yObjlId@t*?dy4jmB9%B;BL>(E^BN| z`7)%Op=a!gEWcqAxKAE@L{50Y0Xczc%r(ZtK(;eEq#vL>Gc?#dzfx19HZz(-C%+0k z*8lr2c)J@nHMuGjGcp}&>V$!~c89ljU;zt=#F8M2KfKl|O8~=-=zZZcX;Hk$oH49a ze&$BC@fMWE`0GNHa+axVpG&?^a<9$|s@t@)n{0x6hw+{gR|eJyyRf=~S8zU~f<3et zGUz%79nKF6VuqI4X%$(6$9*^dKGf1P6B!0h+F%pj7f~d)3{-8M+`P~T3G%u8oC3Y* zFGi9zMN1t%HL34k>|9q;FbPPzn$yS)DIl*XPGlH zX|HKZrt}O_OKjw{CoS0}H_e>~0f{Ea(5Dxi`=TczmH0}l5k!isgZGl!hYrrg%FYXS zO&`}XF`=)J#_1u$gD*#OUD_!_TkJbwn|G9mcU7Na_%IHD^AwolgNi+*Pa zaI&uge<@}u|C2zRENCjwFRRnGgkyx$`yykQ0`AGj2ItnYqzy893N_0%_hvg)OOHJs z^ZE5xYg`)EFSTe1zY{z#U|+*Xc*YGT>9udYwH{A7wBq;=eykW~`}?pH7sQiSkNSQn zYhk1M@DM#cFRhGtwQ9N%q4dVQgw($tkF9)v=BxNz1|l3q(??#|X)~>yKxzF%t1ck2 zY3k`2U5wWF2xVi}At8_Cj9_+3$+84>(Dmw0C5!@J*WSrbBAA;=NqPZ_h#8`u3;l!o z{gju4BVe~|@(Fuf8fk9Dbrw#&+z3LDnukN@2TZvfUO{FqgI)}l`UalIuGidHYs`t( z^P#NLN>{Mav9Za9;^$a9S8|$n@z2L@@KYWn3~$A_j5|>opIzZHmgm z{8+WD9(Nl`%<1|N-&A?3ZQjn|5uPreCaCE@RNG`(Dh z(j416xwuka?ET@mw6Acc&E@K$Tf1~ygb1Y6J@BEQ-2swqbGz0g%E#dAK!tQ|QKD40 zhueKJk0_i~@AEC;Vdnsp&Vy(jhJPF;o z_R6mC$)v9!qUO=ifQxyZJOasf3}oD2ThUltWX#*L2!P3n^efMCjFvt9!dYEI%`Ifg zs);R@Nbp-WXY}{P$qUcYG;tn&$aFoqQA{3u8f$TzPn{ZQo@B5i&I{kvlF%CBEq%i{ zpDwBiu2$rw$QFz4J^=UZI_iiJEvdKXvCj1gW!Xrd^U>#_gH3m3{RmR6Q>R%)VTjC* z1D9raeqfQ?9HOP$e}-o7U?qVo)MF3Bqv?Imp1ug=A+bOQ4V0)S!a(D)dD{`vqd_ER z=h?Pdt%#_|J7EJfXFKkAG{1Xbv@bNtsD?*WFo@q#^+3z-bBrM!{l-6<-3SRXss)4& zL`h!*t8~Yc`H)%E3*8Oh<4*St3rejBC-W-d%Ypv+h8r4CuUY;YrvNp1I7`ioWOGw` zykFqZx5&e`76-;t*l+wh9nL(2h%bn%;l7_^C(A>+{pOLL$Hhe?z>!;Qn+Zc+ReXcg zJ`gIpL_#~nITC|cF@G^KT+|a(6gW6yqpW-*nLjGsH*qgIZV+B(W_{?q2I_mBBzWF1^wI{d4tbYsS4&;Bb&EpX6$aU<>cN*jKSfv=NS= zTu!Tj!xHp!V;1Se$P0OGrzySJ6{7il^2C>tS^q@9i)RkF}(+7rXA)Z@6w*;`5zS)`hD(2At~sR?xB!c36Crf ze+i}5Y(7%uiuMnzqZb}iSdbu47!;TH-rG@-m*tIAY-)XJ$PY9=IwFTTyNAEov2@pV zg|6Q5kv(?%dW^THUif7-Ux9meUD2FVuM<5p=GPX^5Fj&b7G&3j_SFkcD-h%2NC8?; zokWTl8A~|t!`N$vfJe~B>&WPBv6(*XZ@ju#2|~=#K15K%chLeF9q|n=x2n^iv&Ha4 zjtKdM(RKu}Ey{_H%L;Y@*vR*=IV?OtfqXXAEE1`3W)LQpb)(Mc?@P$vHmm3J`GN_U zYqa#j_;1(rf?`A5@`S3u7gebGE9Bk`6tj&cHr!|id;5h3$Mw=W@veGeG$C}C9wLqO z5`s<<>Z%CmRvw0Db)yv4_`O$PLiD|!bKx-!v2rFnvZ297alSUN-R2!kiEcb)bWazl z8kkP2`NLEubN|_R@uk2WoJ-9&uCA2Ck3V=O#Fi7sX;LGHaPR!P#Tg3O zL#NxB9R#8|%=I8mkvb;&D9W}@*46=>dAexuCVswv7kG`i=rFLx-r17Sm*3C8l~TM5 zi|;i=HAfBZpFfhVyc=5g`D%DSPGYwC#(z}tew;1mROl+}`Y8U^1tic-eehHM;uy1I zt>ahO=6{|3z3t0AqzgLn)%3dkW1sF7jD0wnj0#iov1XmjbGWo#?2C!_t$^=~w&Qbs z8%T!u>){KKKz(%&(%8o6AMwQR)*sEqAECvcBRew(`=7Ia+Km6E$53{+GsdTr*Ejv^ z)4|xr37_e2ZHA(;qph=pp|K-A>)!)Hwl+?`&pYD((R2J3Z^#%Mnd=MMy5Vcm{~lmv zV8mzRVAO{Et>5^^&Y%1K*!!dVkaw^(R5EtL*ZkcS7R9GiHg*C#0iW$(O(uMfe>GVk85sW6X2xguV^#6DT;z{pqEF|A@@-zw;HJ zPRQ2zw|xeDIw^A_$KTHVNsZ!fzy4#&-(mgla|-D@>08;F{+%|*fAaNjcl>ekKYQ_4 zlypkY22OvaTiLJ}D-oCa5MvrEG3(>?mvOs%UGiZzHcnBk|jmxuJ|Q zBEb--u%XPHE7eye88ZGL+rqi^`vUH>s6YVP3ZBxI)VfY0(fL}~rM zJCJ`mYUV~xW`81Pp{M`P@&4Bw{&Dc%EdS++tiJW{iuoU${!7?n>Ilif`u9Q${#7kB zze^FHhKZi-cML3yzt@qG>31Rg9jJhfsg*H44Ld%afTQ7`Vr1v|?d%`pe>yab46KlJ zLi%>%#^$DGPJikRpH9ii*jn{>#(ztT^#4i(^Y20Rf39HRVE&UBx4**uZSVJL{^kB} z;gK;TB*Wj8{BKM5|07jm_(!Ysw{q!sWzsYMcJF^uE@f#zxhXF;=~!Mf!Np56`tj?; zGL0I6jvNS>06`#(954VzjZiIN9K-?m`Q{4X`lA4UM*-D+^s9L*Z&J)ZG6G@;OjNeE zY|^Rms51LN)-3!UkuNfiGSc?Nfuzv!Y}tLCoz=9w=2_MByk=SRkzU#9pp8{DV-k<7 z)luFQFhTb&n439xzTA#@m}oBCj3dRBTqT(pf5Vh!=SVX_k*O|?{s zLyZO;bJ|*OEuY;lEHRAOVSBHf`tAEn3UgRB5fnLD((It{7!RQ|P zskiZTbH-Rq*{vze9>{vIt*qwMM&?7XH+Er2>K!PsNAoW~cUxaG zhMW`g;x%M<-yuMMUoim8p8V(WkIuYUK6J3Bq;z&xlgjRCqXV~(49k$wj|ci(tQ$;z z0>Nsazzw=~bLKMmtB9x(mZrVB_I3dSK^6ZK8p_)r@)^YY4;=g>trrCh5LH_YMW6dk z=A}L42TTJ1VfGbw9PY7R#WTI?`f=TIS4o-%ix%Ili!Vq@BIBUwk!Aqdp=0AO zIQYTHnU$|1Kio6kGQCpi_TOjEI-N?g0w^p>=FAbY@|D7a-h)IdpB+u8J@8- z8~x0CpWQKnJR$S%=Scw8$i7W^%fht{+CHOzEX@6C<%OqyNc^T)J`VKx&i#}7oxA&) z9CiAe-G|EO#aZ2=$|B=E)wxwz^u2z@!7hl=A$ z1_@#rJZ7~jZKL!0fS_fI3NkmuD}h{c-u|<{gj_kuCs2!RGehCj%8G9oBy@?>(4Cgq zWzF=#E6^u5dw=N4R43Zh&3osd-x~1;)2aj#Lv2D2?@qTs5$BG-iLFclp3c<;O~q3` zTvn=VLnt}R`ZFkUfafO&3TQBqOd{ThAVn%8rTh-g@iUqmu*%7o5&dYyREV47{m1O_ z49d7HQ5+gDl?s)LWm?k^B_8VLUap%AIo!C7yL=aE5*5C4Mq)X20*gbi7CDW1)BYfX z^sV3l9563{IHiydaBCm6Gf{A=3BFjw%D1uD7aroilKxEY{KP{*T%GNy(6Z{4))Z22W(f4Y)6hO2M*SDY$~m2)fB_L z@!1`R1x`0ewYUJ%j8}FhJmUi|6W6r|W=x0J=@}=75!_Z6_A&#v3C+AA5zz@vV56AB zOEt@eprpGC=xUG|5P8r#Vikt7w6Q2{U%9x9AK!jCO=uPly_S7DV_d7mnc^C?G`rtV z9LC+zl~2+5#>XUo3Gd^(Axd_Fujf+Fdqe}`X8~JP4jJ*ljX5oh$h{*2DLn0?wpd`e!HBBGb(Cz=AE1J=gHU7j0xjb?RFk+Z4I? zx2+F`M{y3xUZY34L$L+E6kDb3n<0>Em9P2t^0#ubYW^DxasC_gn$?j6_tL;$LWfWb zo*i&yuB2;}D*5B=J6&iLqYQZk2!Bdma z+@pd+%9O@a%A&Sto4S6fIEQ=seXq**so|`<3H^S`Dnss^aVFx9j!lhmex)du;#!8L zhP$&JA5{RLTf4Aiu4%1lqiJDT4`Qv-4AG3J=|{7jtdD2mx~6nV@kIP{)24~aMW4)5 zRErP$0Ygkbc+ni6N|u6jurRAHH;#a;*F^v=mQ|WHteC_3dr=LA&Ah3lN*Ag1$b?is z&qRx8tHimkv`mE7+Op$@y=*#*T0`r(I@X%7%%rmh{L;V@yOJaORC}JiP&I2KZ=_IU z0NX~q<<1C9i!dRxfwzq6~xCOpYWx^dagRpA} zMRSi8%(!6!!4X3&L34t#lJsF#FnZra?D?sp5DX6`;|MvMlv|@36f^-ToRETF}WWn5$+8(3nx9CgRS~ilE4C$xC?K)tHr|NH>Xe)en zTVFp{RG+Vvg~pE;?B^%!VzSN%AMGOi#MrrtQ|)8BOz)01ytx&-ghsnUlMkxr<2Rj^ zl@bmeW%ue|myjpJIk9@cGw$yiswX!~;I(W*OLEs3Mkvc@%2?FFO#_m`&l&|(mzs_b z3lg#dsL9IbXCd}lonZIw>SI+GfDUXzcKF}=>0sx%u+XzrZPb9b`l3uUrd z*f#bbgBvfBgG1>On>zF_yX}Bj%thqO84|6UV^IU=(ph+wrjIpK@MoF@K5sNLN}1Yk z;@~6$@PLu5fDKxitGl-|*ygyMpI?A9baZp&_-I=mpkdJO5OfSzz`Pri&H8hpF`+gc zsCEPu0f`PR#t7&5zIj>o^nkpXL%HnxxqM7JKn7mpe#7^|U6W{WV6^U|;Su(E1L>4b zQ2?9Fx7pZ;xnE~SY1qxHFrx-Jg^t=$wK$MWv?-GQFt(#zowGGDq`-G}9dp=b`J)(*+Kq~!!kc2CMJAauM0)Zzifqvn&ak!n^B z_-O+swjHd%)Bj14?*o&UW1zr|bh|%?!jk5bNfT5DkG(QxraPB;#e<<~{%}EJot_VF z_WpquCoiG0Hf#RXok6yPN+~IXI*s#`O@B$tO=_`E6YGR@EqnniYP&XK*v@zP4o{?9 z9EobMDPQWBwoO0H9^IJkqlb6NCy>`CgpQOAG2P@)rA=SuW^kKle0DJpa!JaGty89K zPXd)2*YgeTXUPb>Tv$uue6mpT{#(GCxnyt)kFxZBEYQu4GACZMmh7`(v5#EMoaY0K zcYhmqT+Lwy`&i4}W=8c|>xiy|Ojlv;o|>w9vnH&j>FRed7wC-|Hhri5 z85fW}6G*R>V0Ep4)EA6j=mn-H_*U;^S^m1g`i((exYI{4UNE-1>n{jCV$w)d11R}I z_1Gkv4vib-rIIOk?RV9O7UNHV*ZjhCEYm~8!u{^GT#=2j$@wW2an1d3n@#`?k6gl+ zWT8hjC&(U1smDgRQ?K0VLgHwKOZ^?bnr&HZw}u;o*LS9U6!pS>tuh-VxJb64-D8V) zvah}uNw#BvA}z$4zrc7Y4Pj-Y=T z>2>2SEuX8M#+=EW$enI_bl1t-b96)IGBiz#|VLS1D12`r3j!gSlz@Arg!ZaK+U`rv=p>)Tk+bi1WRm(W#>`J-b2UFh< z*qElf&-lfPx7RPOd(Zb;h)x+C#;8DnIiSoSG=Ul+l5x_rf2VWn`%>g4dV$p4OZ}zL zLBop(>_BWnNL(`d>Hx@Hk04hhcF1(seV}<4`%6AM&=z?@p=(c-Te7KMx=n|}3Imvr zrmnJ<%pl(l5o#GXw zF5~(@O+=c5RFR`kO$w1jlEJ`>69;9zFr;JzCNsj>3o46_*ejJ17g-5mbBGPAg58(h zs=1>K`k2fvr5&MVHSGcODT{Q(s>u6b7EXclL%BQh$&OT2Il~8Usn5h_&!;la*r4ep z!{Iw8LLT0jD?FQ6-4m5t$RkQRnOA7@=mULJ&rfS+6LX@U!W5H5?+2FR+H&bbXJnN*%>uxayhhpxaR_I|l zsHphKP=f&rq|0@LtPwxRLr!oQ6ef}ee-$axl1vV8Ys(>gCSE=eU&E7eb_o9x>#hzyY>BeO$nI`hX>QojAUkvhWc5p^!{oH3m}h zl<6U3bcf@RL{j;KqjuDxGgVNECTE3oUQ{6lXOAUQWK(${Cj$FLTSSJ1JE?5L=PWT* zq+r1QGo1CtS{)|{U4qFa+U9#ORtQ>GgF#4FN>}gsk$XDrvVP906dmDOP45=3H1!b2 z{8WRzGp%t)Y3!94vsWHZdXH>uow?RQlsU}h7BL|j7?Qz_giPh@YFjBvisI}-qu9~hMrl_uI8#~u1o*VP zGhFTo9Q6F(I{2Q+2^bY-BA&b@lC=qqU3noJAD_ZP_5HWOD-leL7NHyp!ABFe^d_B# zw9VFJOLQ1(*GJ@MG23V^bA<>x<1kN&^Nw0l%~?@#spq_HP@4NQB8_d7S@!BuHt(Da zs)E*^ZP2@B52PtiBb7JLPLB6csDucOfZDs}R$;99=NSx2nJS?B(DzY!#Gs2uuox^f zR9b8Bu30~M+Ver~`TkJHIT7b$BNr~<(LJOAaN%!4#Je1KWVtu>&Lx&X<4u=8=z4`{A7rwB(ki? zKiQ*n!_f`QE28OTrd|$SXc5j@6y?zxO&{EM`kAkbP`v4Vaechh2)m@tGgUL9huLe- z+Qp2WA5d5P>h)bA4gsy%Lz>ts(;#^`1-T|BVtNBd77czwjHzEfLOG@P`1SSok5LSm zIRfO`k;bm@sz`)`Au@G8kzgZw=BF)3KOHN3M)zT+img47m+QU@KeJYY=k#Y0hZro^I_r;;&+kD^hL*tvs`Fy;4?|93{ycn2&6+PB&X6j8GP#J0HuLd4@q z9x8u9b`d4+mxlDX4q}@IBIHR-7Z!`DWb-iY_{1E(R{75?MJ+xXv$PYgre1xs#V!FM zBooWyEG6FIj>J+ciy>a3^z>uV0*T`r%(?)Pf+!m`!$y)d%w;w@ho6~OW_VY=-y4Yn zJINRd?7g?2w5o28z=P+e7DF`!oOx`vI4j6TG><1>o_C*NmY0s~q-#rU%OZp&={1(Z zxDjppKx3_@aP_~Mfxt_iTUcJcesA&ZAIHYAGl=bN!y>lqq;LAmeYdu+V`h(}9+Qxe zU_B&OYTmTq2;07V_1_}k`vDiTQbU%N<`j27PZogbSStMmH#s}*m=CB~yWn*6FvH-f1ZzYwt-o$6LJicj5hNLBVL-)>YuBN_S>M7!* znMcA~158TMKEZG{xsFyyeIT|mv2Ko1Y@{y|Ov)vRTkUSqE+alJj)3t=qT}&Jn9k9n zmp4t)@FqgDn&=f^TSx+Eoh-ZzHRrbfd$Ch&(ET&$d>eJvJlvg7Yc<&|gk-Y$0AWLm zwDF^FW=zR|lmjkCf98+90fvK$n5>?fT2ooydsvgYjM|4h=IS>v^eWZZS7~#|fb-A_QPFH;a_E!t~{a0T87w!84Z&~P>82^Qp{}AZ^YoIGD zAs{QI@?U_ipskhBe-Cy4LGAy6aR1MtF3bN0b?N^?yMOTRe?h$e4(9*n(EmN+{XYof zzrnmL%xwQ)US@iR-;K^e)lLp`H)NIO;|9*r+&vRAh^SvTReDEazu;t3)VAL7faZtkBhUBL2ABR1n03Y{`nnx_J)$wB~q!%>cyChy~R8D_FXDlg;gk!FI1O6LwgR`b^&bZ59LbZu6}4s(lx z4?muEi6}MESeYkp&*40>%ygvg zQVD=b6G|4T0lrbbAJ$$DQKTYhJv0%l<+5xMId|nU)|{sNc-p+;(gbRNDMHQxkkLhv z=jyDQhJnNU@v(VjO9j->3*@0n$Sgi#Yi`bmlx%t$ zTUuhgUD4oxY!?)8pX`+a{leDS&dy^=29M7fz2&U=Y?Z+nhU*yT%;|NdEue0S+ED^p zqm;~yUmfUgJs%te=G*Xoa>G?}c;wo44Jdpz-&S38#(U&@e_rp7`P*PEqRV_-F7pFl~{ z^I+(0$voX>pFd=u z=dv#@vM)|%pU-5UA7Gz{K!t5vIMPtlt3LgyrS!epT)ujAm=G2u1x%<10u}IZ!9H%8 zN&K!3s78!1{`|2}Jc}BN8=3<1ROb{;Q35~;1Oln-0{;zQ7P)F`0JH!~RbHcyw2But z(|^q-c6n8(bI>h|M3}I%nRzs%#+}DrSk{xL8{c8<{4|;KHgFpe_fhh`5D^JC4;PP! zN@qmDvk!KpwlFNJEaUZQFuoYadyQHLPLkYv1r?XNulXe?2}>FtH!a)!h?3D z@l8X%bT&>$uH(!d-)nBF|`;cZsP9!X{n&i;z zM`(UWb6g?T-sBaj!HtJ1{H%M?hp@2ilmVe#qHfi)2yI54AX3<@N`m-BBUTP=<+)OE5gGRuM^I8{x!q%i)Im%;o^PqBf;qM0$$*A!};!#H)L*flqF%pkc zVRMOnNN0sYFdFLAJmOdAH?_=ZL+o3&)>c!rWsDgfPm%>t-qOwv%K9w_%|+tI3%dDK zijVKik8=qqXN6~S(wri>6IRPNuG)e8M?}atoS|yTS4StMonaM)a7_pjiU+^uXwS-eW3iFY*eSR*`W+;}+4gHc8#L zx9CZz)?OXWsAcaY@NJbVirAcl#NGM7wsSqI>bo{>Ka5|qRX8FHV}BVP7Gl0G2Ur|Z zCnaTGZ6GarNR!u)G)c?AWR#{atSRT0PY#f( zL^;?L7poSR&C=eHm(4!$2QI8Q#VWIu=Tw)^QolbsG+yQAc60T^j?6wdKyxwk0DhQg z%kR)$lj93_4r+^}m@J^UsxV;|QaU4}#)l`!Tg!-<5l}cG2V3mrZAV!9*eB^~6@}e* zqnW-BI{Vn;gk8h!eyN$uo_?*ydwv!wR#uju(({{JV+08l#T_Lhd?yX+VD~bdu#epR z;mBI4%Tpw7i8uGKF$=Uo1 zgwnd`E}jIo#h6#(m-@UNJHW=FO_RpCq8)oOHAyR4Y0-fHixOveG)NeJG9MrVz!-}^ zuD{&-5P8cWo?quR!67AFfk;($w#toe*bT~eeb6keFF=hMNVKquKwx!gvbmaB0Et@A z{Mz*90P&mN>s&}1e{Bwsl--=zs$V#QD+uT?bo*wUBqc%wR{5+hoQelRfRO=mr8&E1 zg6A=V*>PBP71P3l`cs#!{Mk*li(6HYn2rA;0t?m z=utI;AkSG4$ic-@fpljwTCW$Yjw!IKG+Mh05jN%8M? zIPh~6`~p-Q?H5EBsQU4ZOP}tgHe%H+tsX?O)CQCrhOUo-c~6Wx+E(RAfDk%}Qyp9^ z7iueLJFXCtOM^;t@KfAy%uj(i-+TrdYX_}1YwapPjX$_x211)$5B4Y@D`!XSs`8Sm zn8}Mdstvwa5qsO$@`f&Qz({&fpFKWbEhMW$%?zbs00EMm>tqB~n&*F!_Rhhg{A|AO zUVGWLZQHhO+qP}nwr$(CZF}v7vw!c*d#3Kxx#v#Rt^AQxsyk0Q>2xK}_mea$Kcw&# z{TdW)Kl)q922_9Ygh8=%W|t6#IQ2PIL0eUEXQIjRELsfw(J}44_e&TaSp5V=-GY@; zTq#c4?`S7IH7UmqoR>b%I~*^l?y^!-4+NA$LAPYtQ_nZa&ww|7x5isQnTmYu~&JmKd#{<1%6~Q0k!{={wJi)Vvz@OAUlUP;ZFw>~( z$TvruZ=?f0`z>>%E#bb4**BiD=z@oQ9D5LO!YC1AgP>+hk9(s?;^_xZ7+v6}d$)J! zUeYL0XhQIlC7iik*wHv!{3$yFmsV_*2Fym~>D>J=4ts#^5Vm`=52rw-dk89EsX?;A zw?oPYDE7TQ`L#W^q{D1d<8mSt-A^veNe|9c#zK@-p`qq9xqjG2UtrURpmyN|OMt%k zur-6w8UD8NqB=oy*fGIu0Vk@@h7>a+CR=`+cX&91uXh;Vz_xVp=W1M&`oUH}l={zB z=$;ujy7jB;&Nw59?SZuWns4?#DL*P;C@c~1On=l5%)Q%S(93mCnuz-N!g5J(npXaE9dwr^?;_m zh^2zgooI`c8zM}62%8o=-q^W><$3rHyZF-W;C&!{18L8^Uo?f7^zcFyWQZ2CYmV)6 zSTszUf>%(SlIiy8+J?D}nOjqkZJDk2*`LZD<)7R?fImS$fxg5<^WAc8vTc9; zw#f$!_OWhCT$JCEs%4oKkLNtgmrsDt;2#uUlOMa6$bt-Bf#OUtlp0JQ@Vk7pwz~PT z;cW_QBCj-C)I=6(Y%K^Rdz4lFqK^V7laTiuE%nD!VXNg`nGX#9%zHEwm%?%}h3g<| z>#*TXBwJVH7tdUn)JcY!ay1x6=?Aw#U^=0e{V|aEnryI&!=%C1abqS8lW#S2QJCW@ zSiFQ+2)xIOWy2iDA$kY5b-yO6ZP$ptxjF}SfC;-~E1~fq0nNCv`*0cktB16&7$e?J zt*~SfN**phneoA69@3MB5AoI8W5Dl-azTBMB-dGTh7y%sD$Gg*!@i#hueh727BwA(WXAgXbjgd znHmq(AT}dW&3CW#9NSY@^?*K+F4uJ2YHtmb$U{r+uA2nE6nk?<`%Lm-at0kZ6nOwb zKV%+R_Z7ckX!d=Folt14O1URw>R;z0zonh_iG09b!&jYAyb^nAod!KW^(QtH?e<^B zHnHpcyPf{94p_Nho!Wyo>A_eNs?UuD+A$10F;m($%(EqV&$kxb&Rx?cD|}yE1GHkg zL0pq=?y+xZk1Vvia8y4@H%VONCAgsAS}E-0J=dkZv}kw`Tn|}!U_h6CnGs)e-7ebH zmSVpfZj^G| zqG?>!+Ho9V9DRNB@zA7n1;&)JK6!$+sE|L1CT4|a?~v483|J_VH&RFD$`9(@LN^b0 z?Em7>ie+6|vIH&b#5$EyNwU;7X=v55(WHbvX|irQk(bkll>w1tZepaJUbQ-YIPG%;OS z*~Zp)iGr6i{{+<9(8>a~xp@h+**F~e`5M{C19BQkgJFz)+1r`yn}52#b2;N9w93J+ zdueCwTaJ5rw9f^dq^8at6vhc#v1Wj;wYj@v#3nJ)@TwX5xE_0dj>mqu-z=5+!$(}h zB9wgycRB{3|4Sz&z z*lhhs!22%7ds3zaWwh6Bl`oouf8nlt z@211P_wk=CNQ=|t<)+!Xi3{@U>ybZ3$W4LGt*UF)$k)%;&^*S|Qk~0Iw!9;p?xvoR znJ+j$Q6EW%nTAIZ)XhvuB2;-@#&R3_qb=arG*+2R#V2Uq6?HAjt8V8}@+!I-nwcVr z#gn6I0C*XCSp5_Mv}GARfe0l(zxY7+g|hK1n58(~EeJSLcl)5JlBf$v1*y8Fha;Zw z3b=O{`|p526eYPeuYl$6^zZOtM7k%iM8a6kh8BrRd+M@yS~TVXo>JbW=d%m!Pc(&d zIECe;y53px^V3`4G{p$;m!~&XcAPhf2VC`#JH~R&ibHdeF~>VywaEn=LW+-!@1dk% z>Y*EoVaF%Jv2b`N6yRAYCeseY;HWyLl8%)65q|NQumuc{YbL5Uz-Gc~!dIW<9jeLZ z%45RvVEO^@c#T`4D0+LX>Ra|fGdN|9^20G=HDt^s?HO{Unx|1BGSV6k5eykr#opQh zcRH1I8bMRSWWtXOf|%frN?jG&M>F~=o}OzvS;}kQ55IR(W%IC;j;0ICvSDX$5iE;l>zKyM%1q#h zEX&8o&s1qCGlB~*o{UFgmZ~1f%wlVOJ$ypbDn(D~u4k#Z=>Iey4=QS*r;HVqHi#It zS#GQ|i@G_ikjS1t1<3EmQmyT<*&An2^E8&d#LwpHq>`{NMn;{u4?AmS=%C3C;+A?5 zpq)vtgOqB8)7z7CX^XWU3-Zvi7>lBe0u#-#%6keaSeqg%t-H1gY% zg(#$H_wzSx(%nGJsQ$p{WnI85yfQ)xuOlNFO@NK;oxM>aP0Jwl_Z6HIp>5o|GShop zj-)S_xqFb)USJ7-*Ku>;ZR39reR4d7%0%mgH42VSR9I@2@Zry$z+tuQ57=eGTv&vf zC`et-m9(B8stK_nUfsJMqB^tsjf;;*@oXnQ6QfvjuYXAGp31V$(z*~0g-Fee<8oFN zIJcMn8`)U(rT;gxXiZt_5J_gKD~ID;;h zf|yr`7*GH`(P7#}&j@$6un;bDKbj?Djwgf3kIM{H!i29G7LYDAn&84eC^zQK)m7~= z6P5IwrR|i-bH3f^IeA!WOUNHjU|i-N%CJC9B`T$|`XlA>p6*E7^Ywk%JL&>eGuHjs z_WDMcI1&>sZQI*qEv3@XQRu~AuP&x;6hvJ!1_gf&CG0s!QgbbYKnxJ9rm*=oQXT#5xnyU6d@E&B2R~dgLbfOp7@Z0l(XWLby}Ul zW+s-Dg_W7ADkDi{qf77QY$XKv(bT;{{JHnnM?qct|3M7+$0z(RF@Txve~SVC&ifa% z{x6*Se?WH&scA^di2ZjlKw9ZP+|>UCS3}VMC++?}QvewM;>`cXy7B1$-uqu%Hv=;r z#6N`m|G&V(@{gIy|=jjG3AL(G&jffr*LfUoyl$CH<5BFL8o_ z^`8d)C$Roa{add1C;n^cuOI&(YyZCHAN&6gHvj)D%=}k#{zvov2dn;n=>jW#)4v%1 zf1=_4K3V9bN|Jt<1zfx5dUm*__rAKuZ;gDUNHRUzKDN|7YvMy4F3a2y|@cpPieWE*Jq}? z@mA6#cWP_hlp)b5VVo!(Zv3xD?l(d(-*1rszfR(y;bIDNZGLL5W(_Okjy#^`SbRT_ z)Qk_a+!Y1$%f{sv0Zpsz1qI2k=42zETt||;p4~rRK0n4bGwi#Kxt=qwoV$)TEYVgv zqEJRjVM02N(--;!zW$oZ=r~sdr z^3Q1+wghwF?8C4gY`xg-*l5`j~|!1aK4mW!U#lRL5GGixU=q_Rx?@XdG+m3 zSY;J8ygN0ByCl9Lh(oQzheYZ%&UosIz7^YHKomPtQ%MPU>xADSNc%tpk+#@jBbTnd zWZ!7-ya>AZmhR1}BT*|JOmDacj6)&;2a5;!=~;rHQY#({J@Q?kjtl@lXj|ZIigpkU zI$lv$!J7cBurmBpcY$`zc9H54Z$)oJBkicq(|4BpD}&d5ih2;ad>_hFsJN)LMEXnJ znq9b-7)ZAWw}<<#a31hKC<}mKz2R(-uCqhEF>%MdOo=^^_M`{8nc%oW9kBPHaHjjJ zrU#ls(_K3y>2|Sg_Ed09O`vhK{l@!3e6N5VxQed420%Q>w(zwlgln;NIMh0dF!dI! z(ZK{>(KZ}=4@6r2-B2yA7TVdZU z2K``OkXb;a20N?MyJ=g5_ z3R2BfIv#zB>b-}HX)2>|_X~g;i&ADL#;f-YmoR3~RL;I~&I9B_%!czDdyNP0M;OrY(*4x~D)yBIl?w6KMJ=eq9t)5VPzaf7(i-x3$Xd%1 znITPs8}ij=^Aa0XDl0D*$(O^`2Qczb5zPjfZE9M?6r+-eh8HPVzujvph+7qVMRk{C z&tlJ$g_naa(k_B7k|fB>8z|J5D=`$HD@Bw!l|7X6qaF-)dx{GEnjJ<1h z(3KXsuUo@Y_n5)GAh+nYWY~aD+>jTD?+x0N)uNTtS|a0R_7I1t>_&g(@|6iqMLC!x zF%m9EDKRR5d!;NwvI4O}jXEfwI?Sx-AIsKbwE;Oun~e(rH5m$U;I#pVp~Ev0m!_2PhVdxXSNB1ZIUQC8`ad#K%f$OxXwB57~d|Cm%v~ONpEezCCc4aFduC8{rU*W6O?X zVW}Khuz`o_10eLy`lEaJ&2rOf&r6Ysg2t<(_qp@?@ES4-{FgvNQ{lkZ7VP+k%VEFE z;em_c-;uwfMI;mz5cr4UWD&N_m*(8Bvfz&8voE8Uu70{gBb#O zYn3sVr|%1RD|YfD?>?0O@FB0B+{}t~L6mHS@5GL`&l~sgToiOV+oZrd#z%-_9tYb} z8h8|V08j(N(i%2q@w|Se9js(T1DF49wtnSL!0e*09L>VnsNsBKzY8e0^eH9Y!I`e< zK=0i9k@%1-eizh!VNvo3oR4YMvt-q0tNaiCP_OU+hRSVbQR?ch^y%YMsOg2bA(bPz z$JdA2iO16i+_;>|M}Pg4c+n1P%6iD&PW{v}m`l{~+OJwH%W8-g&2wWSin<0%F)2Ml zb+*Mrt|l+$1INka&Jl(x71B$+ESD(Z3pk=RvfNVmg~?9H7~wZbl>{){tX!eDJa3{A zK}6=qeoXPS(2V-A)VYWYy(^ovhF3j8Po$?{D|6T?Qdv(bHIN^v`pB7Hz}+ zRfa>R7pFVY_|pL1u$V<-!~XE8HV|}LlM!GKvNqgAEg^M(9_+2ucB;2+u-R=)ewq{y zS4-!+%Xs8|ZTg|n0Nn|$*%1DkeoR`y7d{ggJN?VV{+l&6;g+q486)jFVg>{%ymt4j z8QwdiIvS3dkOW~&Ssv^vf!KR6TnXL9MuD8Na})N$ouVG0ZYghnj}(s58WqV4iDq5x z{CaaLjKq<=d2=R=WRZM$CLu+79S;1`^bVE$1C2}wt4svoP-?wsB%rZoc7F??IhlEy z7cg$glevQG&?l;FMJtKds7gsxl*~nLVd>k6@2?~u<6rd!cBgE_l7B|c!-=;~C^tAh zU=bxOZ97Lt2QY0rP4)a z-SGF`Kvq;}A?2jN;>c_%DS*`I_XOMNA5AeC;Ve#~)1iY{PfUYfMh(tr0d4bqeHEdA zUq&SLAX#lCx$O+BlP8=8Cepnl9W_}`3&it2q zbvjEdwTmpt7Mfvf%G_2{Cbx&@C5g;`Hgp@I%E?ATY1AFrAysQBzd0Ie8rxVF$gg#$ zFTYZ+n5jISiyV2?7n_@We=yv&PuDEmomGvTPy75uTV0;KYHF=dKQ7ijcAuJ)nOFKh zJd#%b(0V`DU5Tpea#z*n(8PS~gi z8`)- z#;_7dZfYnwX1}br+UyY>Gg(XbZ8xSE0Q}4ZB|RdxQLD~qTTnDRBOc^Ve;HS{xSy=f z(`xEic~>i|?RGRfi(cNWcvnwMXM)CAdD4GssHq|A;O=1T!0%x1psLhIMSkR_Xu5{} zV4<)AW}cCJcBrYIVc>tOIW3w%nH-7)$gm6~cS_pIxIVRpj$@d0B4xNU*AEKsIoL_= zB^~YV|6tv`+W7`6#%b>Dg1%a}0a6K9p;UHmsX8^_fX*H0AD~>q8a+NwAA+gsYQUsc zk%elXrVg&Wc(6W^+C=9ng z)D?X$%>?b&aK6(-pDhA_BKq4PO_QfPZ1xjuyDeRhq7DyCF09nnXn79wV&+o~M6LdT z(hgD_ZYFj+IW}&=c3)O+N?AZ z%5YVUtQ)j9bW5EhN`Yg6|2vvXvbIE0PxTD%F$l_pK*S}9BrK9hQdF{6=t}?3fK;tdHY=mvWh(}%c27h z-9O6UD7N56@rbUv&^Z9|Bj1lzDxT-)8qah72f!ifWe$LYznAt#*`#z+0-0F!Jhm92 zoZt&>-{!&l$v(qG9)vqg-#(EbZ>^{*_XAb_7B@TfO{~9S(eIS^bX%wY_PfjX^t&qEx2uDYd9y8X;Q0f zZrZorN8*CZS`LT5>sQ(|DIKJ5iA)r}aBUIh`7QlJ_5lApk;YJ18tUe7@qwRPsax+` z!yDpo*n#-4=EVEN@&xH}Woa+n*P?>#xylsqunzSvsfjp{1)$G%q%|kx5!NWvpe?Z; zp_atjU%EHMo_V)1iKye0N4(>hw4EroxuaKibtU<2Ay=@?WZsoaR`;eYU+L{F9|DJ50UfL!3o_3+^ ztiUbn9ey%uN>W-;0#dS*L$bJYp1cSvN&k&jPQr|Kj*WIqv$vH@4V-KE4@nPE56!nAJ{d!VhH#}p`T@f*b;K$X zukxqDeKhezRuv$HrN;OGZz*DHS2 zd1R<7oAUXlLF=8X zJ-0SVm)M|z-1=|Dne8H>TqGaLER^puySd^4Pp0xW)Q_k-ohvv!!(Xyr?F0F3!tXRy z0KItB1JX_cZva%Ptw}m~)Dxm-_Q!++vf)K+_-o_#a?jWUfn`sK`w;sy3$aYI}KoOff zg6ZF`Gv6iSsC)pgkl=SsG!o-t^l(=ZHj^Ej(B37 z!^ZEhcnbMPa{GXeXvyAz|GZuy?qck?xU%0pm(+7v;x0!XLGA|lW~aDKY0RLD{Gg~= ztXr%-6V6>`SE1ed#l5;w17cb_`aML;Tf3#Dgd?#=f*A2$jR^rpyq~Xl_w>0D2I{iwshjsmHz;}&|E*XXUCt4egKy8X6y_F#Za6Q#U5|ZnX1-{$^`|-6o%J{7wi= z{b1O=D@Cui`yWKi4h0GeLPvsB+g=AS$irKO|N+W zm{M@KHnW_^bXz8)i zg7O-K`b1ywU5bp4E6j=4mKpS4Z_si}6g9&hTJlRSP}Z$Yc-sN0MZ(5Y2=OgH(RyEm ziMT#I#?Mj_6ejPO`sq-TGx!?t0yZG$5$8_z6%qJh9e|V(^fM>-Ud|?yZE{ginnXZr z+zC2U*BAaN8d5%FLn*H{_UT#yV)jn~-ws*?sc$1;T9Mi*bVCj#Gbd~xYBOi+S&qx0 z1bv5rarLflkPkE@(7DPLjU>w8@wRb$(hU4vQ75P+)ngSsrJGQ=X%BW~9No9~JU3fiMT>5(1vgb=Q$=XQ#Ztyz1`T@G zdcE5qu`0Vh4~tE2ACNn5ar!E?WHkMbey2C`3fy+-^-A4pH5B~NMd>bN|6Kq9Q8+EGip=<-YC;%SxP z9dWT0%HdU4{I37a(&vo-gFApY6y{+WujtG?v>7$UL=l0MG*W(wF+_A5PKa)eWi5$X{ZFi%9CzBYOYy8o?TYUoW zuP~~DGBCz_?!Td*9f-hZRoCaxucNFVd&GCcdXha!OH_o+r_^lWu_NLWNi(_lTV49&?qgt-a=iM52K6D5)mUhhW&dZg{fav!isAjg& zy~#dIWT>0RsJp2xgP0HE9K@K5a3*Zzt)Fb3pg~!LSxIcfb}BlyT|Motz%!YWO||lzl27jlKeUW#eI3OfS}+)H)tm)aym@;oL}( z3Id2PqE8(97*zA9#7Zw4uvh=mB+&6ioP5hVxuc|IO7~_`VaEsJu3Vy)%g*c=;6siEfYp=X z;JOr|jT0GI;mRS7L~^tzj&pO=)#oZsE;AR3&%~c+dmtPP3<4r7bdzwiK^k0Q*)*kv z0>u$Q5A7agek&nDTnOW#7uqr@IF1~S&(U*`hw*hA6MBAr$`GB6`u(meTz6y9in>wN6kDFV@3h>VEv}0pg1ee83o+|oJo|cjGs3OaoLi`tQBh&4 zyI2!LTl1zh-A|b&%^la1ku~01@8cf3t+kq7w+g^#@dmxJNw9$;9cRsdfJY#6(^C0iEj{Dbv-lJ@TxIve@}nxP&8^ldwZ zKe5Y$Ci|8Lmf--ssI@S)D&IKOeR0A?EN2icJ~{lGmRDNz*JCtDNO?cwJeyLckB8=& zAbk^a$|g&^A42xqJx_2lJq>CGcwXUqx7Hx#>VUmJe0oU};&P(lUryH}4hi0y%=BtkByCQdj zlBRZZ7Lrk*S`ox2@ch5TjHn=d>87o{2cB;uvP1BkCO_qf@HW2eLRs}wZ0fgr+&;YD zA}G48o*$M0+bOJNvwC#Zdj5L#dZ~O*8G8-6xlnXpgyo3j?IbePK9h{f-=!LMtK4Kb znasikOpuIM*z`{f)tkqKfg zd0lGVU&aI|gF`af^_QNnP%SI&0m_t^r&P$e`;Aj4NC=Y8@Fz@?y79Zro#o+XS|qXb z<}&G(Nb1ekTpl{texBUjTi(*w&o`jwg3YxZyAHjQympw;HWiNL4cqGV^V@0Jmnhlm zL7X|r$~ML;#|Vo=!E00t2NZ3OIbJQ*KK5V7b=p?;y0_~|+cGWfwv#smuqHprTp8Pn zx>Y~*m&mU|U$xq{9kI)@9XqbQx9svi^zWsYzD9;@ea_CSHF?e}ZM)+c6AvN~A6@x&(sQXtNu}Vz69{BTPk)bNPu;{OX$olL4)WN#vEN5_cWG%M zxO6eL+-`0{F?4n3#!1av<|7|BK@^vEA+BQ0*~q9P3VsQS$Pb^Zp9_zpcnZ^!y)5s` zpwpO2Sf4Nw#V!;+gNQ>@RJ-Yq1x5EuuE_@Bb_n2-OrQx18o?2ff)*^hD*nt6@P>-79LsOOd1`+KqYmj5Q`<)-_=XG2nIF$>MfCSHFqPpGUm;^Nse+>4iq z;gH`S<5HvUX_BYotSYbrTU;Y9ls@zI{x-*$)M?};E+xaAdZz>wqaI}Sko$#82R~#6G$hUKrD?_OuAof>$TCev2nEh{7I&a2jNgco@jM!wz|1vw z9v@^+euZ4*-1PUEP9I^%&xLUYbHFQ?Uz?5r*5ZWC;{5|=n}-{v&IQ!go#9(ao!MK( zy_B^TP3)Rf)`iv()xP--`4y5E5VThDn=Q%~P9)7j1CQphHa$K*J*DM^#^3If&#C9O zi#rva%C)`8m}s?dp+!6gU&H(gb3%BftykF&gUx z>Q94UtXi<DmW*5o=TkkT?)f>eys*IQgpm zUHv<3VP|P;jjF7vEsvl~K%bnd?BOFos4Cfow|;$^zc4q1urUdk*L;OZjA=Ko^_|+s z0%FiozWD>4*Z4>%|Fp5!Nf}wO9&G0>dhw~2Qhj4ebI7rn`T z|6++iVvuX71BZ!TKe&1=Z5y$7KQO59Vbawys*~CT37fV;s9dOAq@1SSm+uR!-)mI) zlBu%aNJ+y%jYAv7g!vpq8U!e}KfIHoVPar0X;oRFgA$&2nx|~jeV4K>RFTe?-Frfd znpRo#s6}L_Et_x3Zi!<$HHhftU9mIuQ~%V#jPW$2ZTHB<`$ICebM`8Aq)jIi)=bmV z5~~vJW;(=-_%6%W1a%|D(#XmQD93GKV0F%voIcLfqriFMg7`h%Oma4ngs)1;=NG^h z9yc|hco2_quz#Dgl&J%t|4&~s?JrZ91|k?b4p2Lc1>|FBkXFc5*yb1eva1yc^+*F` zn1e|3=X?Nu=wygl+l9VgW6Cn6bIa7cK=Uic-o`}nhh_poh-IS}bsYf33^;@~b@0l$ zntE%KA&;(60>d0Xi;Ps`dSRn$CNbwf=ingN+2^-pmoV64tC|N-oE4?Yp-Z=*$P;d% z_I2_RwkWM+HmJ99TogRz^0Uf|DAK|MYc{Y-P954H1$XS>#6q*tMKonwgR-F8%+b?t6ynj}-WnXTz zO;WbLDG-}gPix4lyx#Vk-@O#x-tKgLJU%K5si_b0ZKobJ2nH3$%XL>zb$sgI0&0IR z7~UXL>aMJn7T}zrE=O&unH@Rub9;h`WLT9$T+TWwodFjU~8z5S)d;X1QZO6 z3AUor{0m0?LV#T)C@&o1MbTLLDl9GrwzQg4 z!(lP>he@1Giq|~TFev3NdM zvp?6UoT}|AZK@v2N=p?>8qxgcX|)?9Th$$db=wY_$F0Gn+o4yrkhU4S4S)Tt6dTrb zu;wB6E}Koes=Zb`#VcfG8*Y_&7P-Uv0T5fZ{Dm!=X_eYoS`<{vIsuEj)-TpM+Ap_e zy@i;oSPLl5Klq>WZ2D}~m2+5%iUm9+C@ghx)7vsq8t|i?tmG78E9ZK)dacM-l~|hC zo!Fz;5TS#A4}iQR$HuHA!*g?;n)#~;KUx8^jH14i4FWvJGS3v%>bWdD&s5J~%gnoX z6c{K8HfCgF;74}v*hic7m%!Q$Uw^WI#DoLT=))i~dn}4VfV6k$1r72z8BnR~nT7BT|JG$cp*)=) zaym|{$tpdjUoWC&qsj>oZ9s{#)9U=pT0%!dtE+qyX&fJZ$r0%3A1UKS3Ao0Ck(}3b zy58Va*;2uF`aHAr#MB=p+)>Ts%m= z%w!o2RlSkBlG{1xSnek5^?sq&=Jc@9{Zw96-R?w*rG%k`?SSdfHFqmEH8`$MCRNGN zIDeFg$s*RBN7E|zl4{JWpBBwBFf{Xzb>raSK3&?lM%I8vLc^4jwZ(1n$NZJX=0}YR znICnr=`#8U9Ci-VA|NDsyjWuFIL}jIgvx)Y}Kuidtc2H0WJiqE{r`?YxZhql6 zx;P|5R4vus2xvw8^(C`YC5RvLwAn+2Hg=PtR#hT&4seGC?Dcb$2hc3!z^q>VN<^ey zO+}(JMKkCt0|WYF!ELzuUB<7^-|9pr$9cq(tER3-uBO9PnfEPJFJu)xRy}frF*L=J z>z(NM$^f5ddBEHcNGd>md2GS?$ic)5FDe)Fm)bnp>q*T7`C z=_MIECtp?>4?kyBrx~m8XEfplTZ2cL0Gd)Z)QtSbnjWnC_58f#vxX|?XCBg(+q?iL@l66B&~4m}0F|$1SJwsRecaxqvMCy2bFM zut8LjRKV_S{TSb!?a0_Kx5E3G_z1G9`yMUZ+YLj{6Odhjm9I3Z2Jdfo|NG)o}}q24`$n1j8ilduh|z)ug+&qgh0sw;=AM3 zTO-Gu%b|CXggO-yBq_oWYD^6JRs%rtNez4T&}OW6{qAEhR&&GH$muJ1la(C##6OsP zD-}Iluk(fl0MQL3)!^8w@y-+_VP|bN1)1|1?h8>k*ETi<_&N+jiGp25V787Cw*&xt zhlor7dsB>3+2u7hHWZbNQo}TtYhbYh@Lj-6o@N_SHGV@p?Jepx6PFpGd5vj?CvRqt zGbY0I?gj5^jcF?LJ16-k`YA-LisFYdz*UC@>MbFa|IB&oXprlu!h#h1-`dO)ED7F) zq&)@kcEyW@2={Hl<4u}1oN!!~Iu%7DIV@J7FI_Hm7RjBW#D^=y$utnFZmMxAaB5Vd zRBo$KB9@U5Dm@B5)S3%C%FgGjujb;w9Z8n)zj!TUM(5+2momzv-;>KFZO$}Y z;y;I;9w+k~MGM2*j=eVC`-YpLBTK(fSAh!UJ8Rt2-F61Gj7?vQUA zSKdzz4X*5yiT&ncgcis`%#{jd>ZFa0H1zm+gpWD#^F_KkGtdLdNZ#ctA?&Ba9 zf(TxAdGWxV^brx)ux2tideTEe+rVV!u4AQK1oVsjn?RC*wQ*%)5QL2aVRJ(={F$C_ zDdZ!KVa-C~;w*F`&`wROV@!v}JyNDA zgGy(o7KEXR;nHDVn+ek%y3M)mxmCI)@v3HYwV8#rR!6#CgH+&}kezVw_bXbd{x*`7 zD^Z`^*N;SmuxZc$O+o~b$n)apHa(wFnGIE|sN86xtlT`)v97qvvpp|=xL5(GeRD%p)t8yjeQI7`FASL!N8K!UayWO^&VBXQ=>y;v&v}DG zQ}YY;RL=3}ubtBru@r(#bOqzZE~So|@;_GOzm65CgkkCxwyzyG-P>J&1;<^G4_~h# zDbap(-CA(`7=A$IY<~6e8pBd{%8h2Ir=2V>c6ngnIu6K8Y*;qXaR`1otIwY0kI!O= zU=4&W+aS2{@HSX9Jg`)CK~pkHByYwwR6!lk{*5ctFvEI@FV!&-Yys~X8*-wB9Xu>9 zJ5T5b5>IHZ6V=lTT04Y_d61<_F6vs5DJ2(%A-1p300Z0={M@2uF_D z!41xNfzdYvsrp;70F)c(C95v*gL4rEAeRnHU@Uoy^Uz_BbZkTO1LD=t z%kOQqH!EY0bmikG-rf{{gXKq;r~rVap3RPCBLRHzYwY80KuPZ=ppF^Yjz0%Gsz?za z%`O_0@VcCj^_RO#5p8{$w|QQzVxolx(ceQJIq866~^Sx}$Xq^bF!Qi)9$y-4+G{R~|c8oWK3CqxV5^ zeIw~q>1F#Jnv-mM20^Z50 zk7|g+_rd|Me9Nq?jBBv$cpSdwtu|C*>a(4-H?Ua5tWTt`Crn z(iK;61UO>pUj>r4<~Bq}T4qOaC%uk1W1Rq&QMTH~ShTsV*vaJYYY83#Jt{u4yC*0P zss$~k+u|j684=5t9i=CK3ajhG)W!VrdV;D9B2HPJ@I@L zeBb|^>1xp6H-?ENP?@TXcsF#QvKGH=;>!t6CYiKL^&R}rNGtk_+i zzhoytpRtinQ6iMkPz2P45v7Cowj?L0es0Wp`x7crJADnW9FZpK^j?mj3fyHnj)p-? z!vJlg7h+QL_-)IqbJlVt_gIDTS>BUb$i3UudTKFlzOXu-o@1Qq$RYfvz_Ru1f0cF? zP*JU2;|Bx@0cmMQx?y03p}Sj@mS*T~ln&_-q(M?rTDrSKLL?QC?oQ=Dc&}HzzTfwL zYyD>!hO?hM`#guW_p{geZG~_wruwanoy!3y?hBQXiVq}trF!JYb~;myiMr3nU$7~u zWAZYIm^)65y?MUop41KSF<+Ly<77e`=Vu^ky01?71ib^}nwpRiJ14)b9TSA1OGvKd zcx>upWg3E}E5F#Dlt=U8F^7vy8_i-k@nwOC=D?vQ4_nc;5%-Gf6T9#tb`3(&MJu?F zyC6&fA73EO1BnZkL<`@O9?g5%Z^zc+FSp>$sLa+HpRDwJB_{W4t&+)}V4Z0L1 z9%ZU{nCZV@oi3XN5Drg^PEV81Vl9r3QVU}2H0gJFiRpj)mSHHki{H|!$T{5tHMl`W zR>At@E2z|X&aUEnW36)YdPU%qX;w5QH&@TwgV=CME%UIXCDB2OsjesXMRlT-aT83B z@(7}}F?wy@Nl(zVJFe^C9MCTUF%O8IqX-S%DS_Y8cZ@4e2^=aUae^e;l{~|JT#k-a?*dSbRcP zJ;w+KnxD1&@B;SHOWv3qa2`F=!5?q^$d#%|xlK+P!oauI<`P1YB-V66_lXJU8F8co z$4O@%lPEunM;mvhxv%!Xt%!V6N?~wDBMJtSO z{K3=pymNxP#H_Ynb7CbTF;mX5@JkL z_It6>(AAh|4$wq9=88TV++$-phm|94tLOV#RNOE58ji3PwlNt>@Rn`zpQNahfXiRh zK71XqGI@ei3~nDVCpnOK)BGa6ZzzKmg28@8hJMG8c}+hVv!kPeh}B-rw~t52=$>*s z5p4r9+Msce6T(UN+O9_9*DMTIOri1&pynRqvAo>t+<)~iu#GzM&OS*Lj!dgi>jxt6PCP}ZltUh|o=nX9@;v(ie{NdK6Og)37v3qW`iS>f4B?eb7KZ$zuh zP8Xe|HN4r*B^KLYsOynylS`4>Xcl}88r90W)yfq*)1^sg?&h6+!B33rKIx>${;CB^ z5`r^5hpd&yoAaSeHE59I61Mw7gXwP=#$)V{knEqV;v>rMRd?6f#blcwT9R znlwS7T~x(RZI>{{9ZE%<%$ib_M~Q$ZU=fe^a&O=3v(vwSWS&Qj)rTP9CCW?7@FsI2 zdu>N{-|Wm!B<{~v61pwclYLJTWC*cxH#Bu5uJwj7;-gMw3*N%$OeRG|qqTF3L zkp^GSRmK27G~^P1Qe8{Gcvig0nc{e&8xi8091wvNB3|;^=pJ*$%03G9JV5a^GBS%) zBzm=G4rz@t)OgJ6YM=Nkeb9CDfwriJqax{{DV5S!kRY`eS?03OLK*D z&IMZ>H7Vp#+XGEZ-`Z@Y%{LLgAUzcJe;1E-j>#_|soN^SQ)*T0fXvT!j~@w=9;rHfy+7uR(?otL zJMoEYqQw~P+zzQ7?m!SXFL5TpoGoJqDf284^MkaO(H)ulcBgwvxqdN73C@0MR<^1P z5fs$nVwBD*8+oJJt(O;d7?QM>LXW(yE^uUkAxa&OhxjjPn!WQB#o*i!ytpKiWh%3Mh?r1YPdBRW~5uYQG z_ax)^8D5ILS*f;K zsUGB}kF{QJSL>DLQd`4Auc9|$4JM$v1QLw4GEAF@3rW86?eJ7ztzGJVRdaJ1RA*3= ztq%^dGvem6Y@ec8iDjhSqWmy7y~R*wk#N5%Re3BqAT9H}>VY#`tY6Wt=Skp@Tq!2c z({AP7n_e270d=Jo9i6WyY+S7Unk-!YwYHZlS0zuC=Tqe;2X&5$Q(Taoba~HqOP?yQ z*Snd@8C<+5tsA6;xM@giu!$BeU3E(3nYd}Z#YyKt@rY&c$i-oJ5mm=YdrYnasw&#}TlRi~$nooy} zb$Cw^ShrY5!Xh7}Ex&dZ*qo1ZN=ablV&*F0c+2r^DB^2YM_Mb?I%swopW%qn z<9Ysi?{K)C82l5o!QX0&v?nvG!#T% zFuD zywP}9+KfmIBh&&D)gk9=1N+U zSImu|^}MbmjU-cS);Mz5Uip$z4vFot@H;$` zvM^EOUd=BUH$6)utJv=1W-`dq>*%UW<45=ldA7 z+xFtlZOuVZ`BvjJqO}g? zGiu5*agV|%O73t6p`e>WEGpv5d@IF%LMu@6gq-Q%mQ!@=)qTZiXNGG_P{ej?9#Ru| zeUF&le&Z_7F1Em#q@}^T69K9uqgpEY3kkxx#$W*{mh%KQ%xxF+iV_#q)c%9_wOGhJ zWD^Uo@+bMjp7#-#p`{@Tc!S&-8OkiFgOtH_QbQ1#CI;T*tU(9rH^zi7X;peuHYb!% zc!*Ov=fg0__r6TX1P@^BjxWgEZ-^{!3q$OMp2@JGMDg_M(>~X33csAuA`&^|zUDwr z&-_f*UxD(1-X#yb&3A7_^RpG&w^EXFd6j|An`w1zP%-iL=tonc?Qt}d1lJQ3xdW1!I{)ul|f@qLu?#Dh>y3Y4R~*Vus< zJk<(R*Xn4CLKfGqLdZB0pH+!(G->4=&ZGEr&OZ^{+xPY%Sh^9^5oYbYsa)^y_STKO zscbus!-)L)U zM`B4J7leoB2M^*`mi14VH;g&)zh#?LloHWWQD9OqfWp#++WtWy`Of)J0kHiaDI_rT zxcuMAB>^z*$gdOo!VKhSq=|6BUU@h@}wqwJ49|JNG-pFMGKLjauL z=`lZOE&uCi08aK>3d?_a|1+msoXD@_mG2AW2ZZG3s{7C6l|L5SAG{TSHVY88ZdiCA zJg|iUn;8%UhUlREmK5|SZ{@b|m!zOP+_0j5fGYqX2M=sL{*x8-?@XX*JP=qS(SIl_ zut9#!1Pb`R%zmS+{F(;!Z$v!Dt;S$?#Sh8~Cy*P)cKL6J_#riID^hhL!GyZqxxEI? z*V9)eO~bpq4O=>Vky9m(1-OQE=3+A%=Ht|f8jr@rWf=)41I1xq=aW zU#Gd^nQcqi>uOu>Q{AF=Y@expqE4E6jmt9}%Zz6CtG!JI>odKV(n6tp*W1^ZQ#hCH zX=Zj_*~4C~CH~BmIF^~Mgf5;&$nRY5t|2Q`P*5{rSa+z2MZq7@1@!XyV;nQ~FWFN0 zHU?>UU>)zZ;~^Ui?zF*qyOsr326s3L)7?#R117=Qj?nwBS$fGWLkcTdk%jYG|4X-iDQK}<#N+^Z3WQg0^LBdD`N)0@{~gZf5CSQqe)cXTB5 zBtHoYA-^lE^)15CDn6Deje6edOk6v=HSWS>$gfV*7`i-iLb>TgwIsp)-VYtUr|8uh zF*Omnwg~Q`OVR9>OCh^`7h`_s)?*D{+Ts_gXq@isR6Rmv96PE8wD|tT>b?u-^Dpb> ztvxrM^kmA9rVhnpLV!?>L48U6qmy{1i==l92B{Ty6h=r)CUM;Rf%5h9%yRR*VmqsO zGo%A(;>LIkq-o6OVfS!fBsSfPHxI;5*&qbLPL2btGem< zLqk-w)-Q}=H8rG95aN_Y?W+4=&yV*|uf%bN8fmFeyRNNmkI@foH|!sZ=q##GR<_}& z;q^zAq$aPwP2uh$$<&K6mfXVSLY;SgCjd8QS+_}pahX;wTXaH`T1AF+T`L%biSXbY-6JE`l+ zdjLu^@JP>0uAU-J*_oir9avn%Rhkg=_OxWjLB^8UUY-4tQ1$_b*Y|T1oN|}2JQiYY zA%Yjs0}iSZ4!?d1Uju9m4ZNE)_u?57JSTbu)xS#6K3EGif1y?V%Hv^aJ}H5!&Z{R%Mi41=-ucR^r4V98?D+S1 zz^QF@izB1m;nmt#Dk5R{#@kLZmwgzgT9dxp9 zIWaXSyKvUy*KrU40(-;L*(BnL!gRG~J=P#J75i5oP5q18j?SO2 z^HwP1XA)*ad%{;Uw$_Mzc9|&_^nFX{pA;~Er)uVKo1SLTc<@9j-3X5@9Vn(v9iGf; zGKl>+!>jVkW}pjpe)ihzyndGP)`l|D=DKfGf>}6 z1RSK?fe+iyOA6BVT?A8XJ_Qo0`wtHKCdzqX3bsI7uOwx=Xi@m*r z`^%D4jc*XidQW1&n%yj-DT2=er|;1LzZ8SiB!lhR!V@fGw};q#uWRyXb2wkKy0ryc zA!-rIydFOE;3W`KxOa@#OP2$XK8n*(dC?&+n-B+BMv03rTxZVBBIrYqvG-$L=d!IQ z(j+jWM61Ue=p$OnM)yLzX}Bpi%lOi20=S>`Hu6+NS1?p<^!|I^`n2mQBjfIA`VC}n zk%9X{?+$y%&c`+;i>6ARUebjY`xpENr{UIUxwX_dfZ%_8hVQoUpXS?taT+ug6~q;u zFiF^$IvBV>9iBkloc;tDa{Qex{r~7Xz^t%;Tn8X5r~NMgLk`G4=I8%xrh;Ln;Ez%; z*RLim7?xZ9N6G)qB>t!N&vt+Q^&jTM#RdG`IKEZEpW6M;#_|84)IUsQ7?KbIf|t$rHGXh3!@n6CeABm*EkFvI#EBbnp7C4Eb`gxR=I z4gkkr*{Oa(5&oJ;>W7hhdp&+Nk~z5l4;ecB?= z>(`h0&E9d#KMy50@FED!WJhKt*hD-)N@8TODVQrN7;kV|Oc2E-W#@{u4^CK`?4B&V z;>_JU{GZ_vR9Y~39(u+|Sx~iK*IQ(hZry{+hYx}BnAXj>3cTSV4=t5Qpd>`nmtj(g zwqGB!rzSWrXBbMd_b7JCoo?0)S)q@S7N_(DQ29${E3>0NG|CW*8Sk&2p#Bt=es;(w#U9&gp4r+VPLwR1D)lOP`<#o_@4meQ$+Oa=R9d$bP zjdN9uyE@1POw$r6#-z5f`H3ukZFG*jL$&GszOxdyYgcENsT3jwVV!fu+~V$W*t5Gd zN+Ds;2-D7?TEuL376y`aF`@;eusJb3jyU5*VEkqvU^X3+v zQ4P(zZc^5Twr+=C<&cUtAi4qq*rJKoZ}oQGBzS*bZwPcf8`P^k_@K^f)X4%x*e~T{ zngAX#!GH3b({AWo)f-xh)@KCiI4eC?ZL2^~Mbi^> zvpkzDkGmB+ofUHu9ztc)bviK9MNJzDxu~=O%FpDyJMQ~zQb@|GRV(BOt}cYMI-gf3mp;h%+Yy2m6FL$x98X?NeWV6#NX--Rwdk)rszJ3-DVzH4BAn6o%4+kJ!4=rwSwx zj6GR3h-`6=CIuljw7%|jzSXev5c@l(^_UUCNWyfEQ`zu!(B-|NzMuMh`_y@He zvxK$%wK64;9Mu+d!Ei;loqqwNrR&A6(5cR{KOG#TqMY+l_W! zO<;*MY+hLCL?mEpCO|)U$`lo5`J->OWw)#`qfBQw)4i95UNi_nkRHV=e4yaV!vrS= z@r&6jHfoMK2q(g=>3A$PR2fK?J`ZDZ;Ro|sn9uK5q0`k?ap@LyJ}lT%eJ~JEs1H=R zqy`|~tSUb+NzkCNYpK_irxm}%G$8%v|R%Asnw!tpZarb1m{dV zDj%6TkNf!Ei#k~flt>Vo9n6**oK{^<;3vk%@RaVajvyJ$PtO7ObTpf!^HpmRGhZ|v z(3#Y@F0K2OtxeRXwv*Yu;_Os*^VfPRv(UI|;N`Qr^{Pfu2Pmo7pjaPH*6?WPV|4SG zXkcm3dA(zUj@vZoO;CNsn~8nyVGeqOq^_PqT#{NCN=j)UGxUmqvItrQ)e=gvZ78^S z>@4RagsMu97Oqb}Mbn_A*T3M(GVG`9)cdH#@Z2Ca;-ULlMWc5WIqJO{b#J>-&bNVy zD%oq(@7HS!zVtVgG-3JLw>)Zn;5>mJ#5cGlGqKFjgH*4!N}kmCoM%S)U{t)zz;ybG zf=p><9Y5p=XpIPhPJAS-EoK!T{wPoIR)6UH z6OHHB1Lqw~@85n~>p6DKFG44qS4ef;O&sG&$%@TeXaSW`UwWCj_2RB$rrAc!WaVml zB}sZO45}?OnXPvXg;yO{$4daWP;py2KbnID%+e_A))eiSrxRpCzj!A06apRjPxITK%7{T+d)o9clw>%tvHKHv0o%eJ; zLC41NsT**0@Acb|#K&6;y;Fx&{BN*6DY^79+_;L|=zMMYz&az>{|PdDNZ?D4ECqA=3M zC?zF6?7leiB}e(f4)FAhgdcqj+x*h^X~!}Lkukh~y*ySc%K8AQOA~y8pqE`w{5j;N}GX2>!sf<^OUu=tXU<4WSJG$bXR0>0t?E z0ZNYn8Zd-8D-g)a1$g9a;NbKOpe!ya2D9v8KHNWzzQ6LwAk6{U_U>*_~E zPG+_auvo`mJ_#%&W&t&Fg2hSxI#zbDHFh?FIsiCs)dj0B<^VNtvUNa%vEY9mo7>um z8#qB>H2S}U3bw|-9m_%8U2PqVVFdZV;{zfh%JRHFq-dOfImAD`CN~GD3CxSUjg0;C z0&s!Bu!<&tzhodV5CZG$_64x{TgJ}K1^iRSeLL0P>#?)nMrVGPaf5mOYzw)~dHY*E zPHqk^n67@4aj-+!|6LCjfdRvG_**>?kP{XT`CZ1&&BFyd{om@rWVgY--(@h-pEA&Y z8u#{E{?--Q#w zu%-U{xL}xK{*>|jF$NfTyOjUc76|_3Je(X1U>gMvXty`wWAkUQTL!iVp<-+61PjXj zb??a7nAigTzWZdv0onk5b{-QRs1Z94*boTh;5GzvgP|Z}LogQ*$OSSqGU5?L`|nl$ b+I?|!g8gIresh7qoFE=F8X5^DNwoh5vry); literal 0 HcmV?d00001 diff --git a/Xcode/Mx.xcodeproj/project.pbxproj b/Xcode/Mx.xcodeproj/project.pbxproj index 7ab8e6643..d473755fc 100755 --- a/Xcode/Mx.xcodeproj/project.pbxproj +++ b/Xcode/Mx.xcodeproj/project.pbxproj @@ -9776,7 +9776,7 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_SUSPICIOUS_MOVES = YES; CLANG_WARN_UNREACHABLE_CODE = YES; @@ -9800,7 +9800,7 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_SUSPICIOUS_MOVES = YES; CLANG_WARN_UNREACHABLE_CODE = YES; @@ -9991,7 +9991,7 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CODE_SIGN_IDENTITY = ""; @@ -10024,7 +10024,7 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CODE_SIGN_IDENTITY = ""; @@ -10058,7 +10058,7 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CODE_SIGN_IDENTITY = "-"; @@ -10090,7 +10090,7 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CODE_SIGN_IDENTITY = "-"; @@ -10123,7 +10123,7 @@ buildSettings = { ARCHS = "$(ARCHS_STANDARD)"; CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_SUSPICIOUS_MOVES = YES; CLANG_WARN_UNREACHABLE_CODE = YES; @@ -10151,7 +10151,7 @@ buildSettings = { ARCHS = "$(ARCHS_STANDARD)"; CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_SUSPICIOUS_MOVES = YES; CLANG_WARN_UNREACHABLE_CODE = YES; @@ -10220,6 +10220,7 @@ 29B9652F1E7A04140072071D /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; 29E8C2291DD2920C00E8CEBA /* Build configuration list for PBXNativeTarget "dylib-iOS" */ = { isa = XCConfigurationList; From bd330b6837bbb5b91bc40769ebee7a3a9d2f19f3 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Fri, 17 Mar 2017 11:42:26 -0700 Subject: [PATCH 003/108] the latest crap --- .../api/{FreezingTest.cpp => BombeTest.cpp} | 36 ++++++++++++------- Sourcecode/mxtest/api/NoteDataTest.cpp | 2 +- Sourcecode/mxtest/file/MxFileRepositoy.cpp | 1 + Xcode/MxTest.xcodeproj/project.pbxproj | 9 ++--- 4 files changed, 30 insertions(+), 18 deletions(-) rename Sourcecode/mxtest/api/{FreezingTest.cpp => BombeTest.cpp} (54%) diff --git a/Sourcecode/mxtest/api/FreezingTest.cpp b/Sourcecode/mxtest/api/BombeTest.cpp similarity index 54% rename from Sourcecode/mxtest/api/FreezingTest.cpp rename to Sourcecode/mxtest/api/BombeTest.cpp index 981872026..c57471c8d 100644 --- a/Sourcecode/mxtest/api/FreezingTest.cpp +++ b/Sourcecode/mxtest/api/BombeTest.cpp @@ -13,31 +13,41 @@ using namespace std; using namespace mx::api; using namespace mxtest; +static constexpr const char* const fname = "Bombe.xml"; -TEST( x, Freezing ) +inline ScoreData getBombe() { - const int partIndex = 1; // bass clarinet - const int staffIndex = 0; - const int measureIndex = 85; - const int directionIndex = 0; - - const std::string fileName{ "freezing.xml" }; + const std::string fileName{ fname }; const std::string path{ MxFileRepository::getFullPath( fileName ) }; auto& docMgr = mx::api::DocumentManager::getInstance(); auto docId = docMgr.createFromFile( path ); auto scoreData = docMgr.getData( docId ); docMgr.destroyDocument( docId ); + return scoreData; +} +inline NoteData getBombeNote(int measureIndex, int partIndex, int staffIndex, int voiceIndex, int noteIndex) +{ + auto scoreData = getBombe(); const auto& part = scoreData.parts.at( partIndex ); const auto& measure = part.measures.at( measureIndex ); const auto& staff = measure.staves.at( staffIndex ); - const auto& direction = staff.directions.at( directionIndex); -// const auto& wedge = direction.wedgeStarts.at( 0 ); + const auto& voice = staff.voices.at( voiceIndex ); + const auto& note = voice.notes.at( noteIndex ); + return note; +} + +TEST( x, Bombe ) +{ + + const int measureIndex = 0; + const int partIndex = 1; + const int staffIndex = 0; + const int voiceIndex = 0; + const int noteIndex = 1; - CHECK_EQUAL( 72, direction.tickTimePosition ); - CHECK( Placement::below == direction.placement ); - CHECK( direction.isOffsetSpecified ); - CHECK_EQUAL( 5, direction.offset ); + const auto noteData = getBombeNote( measureIndex, partIndex, staffIndex, voiceIndex, noteIndex ); + CHECK_EQUAL( 336, noteData.tickTimePosition ); } T_END diff --git a/Sourcecode/mxtest/api/NoteDataTest.cpp b/Sourcecode/mxtest/api/NoteDataTest.cpp index 00850482a..158464a63 100644 --- a/Sourcecode/mxtest/api/NoteDataTest.cpp +++ b/Sourcecode/mxtest/api/NoteDataTest.cpp @@ -65,7 +65,7 @@ TEST( miscFields, NoteData ) auto iter = omisc.cbegin(); const auto end = omisc.cend(); - std::cout << xml << std::endl; + //std::cout << xml << std::endl; // assert CHECK( iter != end ); diff --git a/Sourcecode/mxtest/file/MxFileRepositoy.cpp b/Sourcecode/mxtest/file/MxFileRepositoy.cpp index be6483c4b..7abd881e9 100644 --- a/Sourcecode/mxtest/file/MxFileRepositoy.cpp +++ b/Sourcecode/mxtest/file/MxFileRepositoy.cpp @@ -410,6 +410,7 @@ namespace mxtest myNameSubdirectoryMap.emplace( "Telemann.xml", "recsuite" ); // ksuite + myNameSubdirectoryMap.emplace( "Bombe.xml", "ksuite" ); myNameSubdirectoryMap.emplace( "k001a_Articulations.xml", "ksuite" ); myNameSubdirectoryMap.emplace( "k001b_Articulations_Above.xml", "ksuite" ); myNameSubdirectoryMap.emplace( "k001c_Articulations_Below.xml", "ksuite" ); diff --git a/Xcode/MxTest.xcodeproj/project.pbxproj b/Xcode/MxTest.xcodeproj/project.pbxproj index 8d117458f..4eb366d87 100755 --- a/Xcode/MxTest.xcodeproj/project.pbxproj +++ b/Xcode/MxTest.xcodeproj/project.pbxproj @@ -36,7 +36,7 @@ 297DD7C91D1A4BD1003BADC1 /* ImportTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 297DD7C81D1A4BD1003BADC1 /* ImportTest.cpp */; }; 298F0F4D1D1E4981005C3D9D /* ImportTestImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 298F0F4B1D1E4981005C3D9D /* ImportTestImpl.cpp */; }; 29979D621DC811F300707AA4 /* TimeSignatureApiTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29979D611DC811F300707AA4 /* TimeSignatureApiTest.cpp */; }; - 29A338801E652432001D61DD /* FreezingTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A3387F1E652432001D61DD /* FreezingTest.cpp */; }; + 29A338801E652432001D61DD /* BombeTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A3387F1E652432001D61DD /* BombeTest.cpp */; }; 29AD58B81E3D1000004FD94E /* MetronomeApiTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29AD58B71E3D1000004FD94E /* MetronomeApiTest.cpp */; }; 29B48EDB1DBE7F550030A974 /* MeasureWriterTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29B48ED71DBE7F550030A974 /* MeasureWriterTest.cpp */; }; 29B48EDC1DBE7F550030A974 /* NoteWriterTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29B48ED81DBE7F550030A974 /* NoteWriterTest.cpp */; }; @@ -532,7 +532,7 @@ 298F0F4C1D1E4981005C3D9D /* ImportTestImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ImportTestImpl.h; path = ../Sourcecode/mxtest/import/ImportTestImpl.h; sourceTree = ""; }; 29979D611DC811F300707AA4 /* TimeSignatureApiTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TimeSignatureApiTest.cpp; path = ../Sourcecode/mxtest/api/TimeSignatureApiTest.cpp; sourceTree = ""; }; 299F7FF61CA8D2620084CAE5 /* MxTest */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = MxTest; sourceTree = BUILT_PRODUCTS_DIR; }; - 29A3387F1E652432001D61DD /* FreezingTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FreezingTest.cpp; path = ../Sourcecode/mxtest/api/FreezingTest.cpp; sourceTree = ""; }; + 29A3387F1E652432001D61DD /* BombeTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BombeTest.cpp; path = ../Sourcecode/mxtest/api/BombeTest.cpp; sourceTree = ""; }; 29AD58B71E3D1000004FD94E /* MetronomeApiTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MetronomeApiTest.cpp; path = ../Sourcecode/mxtest/api/MetronomeApiTest.cpp; sourceTree = ""; }; 29B48ED71DBE7F550030A974 /* MeasureWriterTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MeasureWriterTest.cpp; path = ../Sourcecode/mxtest/impl/MeasureWriterTest.cpp; sourceTree = ""; }; 29B48ED81DBE7F550030A974 /* NoteWriterTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NoteWriterTest.cpp; path = ../Sourcecode/mxtest/impl/NoteWriterTest.cpp; sourceTree = ""; }; @@ -1821,7 +1821,7 @@ 2903C9461DBC7D7600218C9E /* ScoreDataCreator.h */, 29979D611DC811F300707AA4 /* TimeSignatureApiTest.cpp */, 292D3FF31E57EBE4008AA032 /* NoteDataTest.cpp */, - 29A3387F1E652432001D61DD /* FreezingTest.cpp */, + 29A3387F1E652432001D61DD /* BombeTest.cpp */, ); name = api; sourceTree = ""; @@ -1927,7 +1927,7 @@ 29C01EDD1D1312FA0094BE61 /* TimeRelationTest.cpp in Sources */, 29C01ED11D1312FA0094BE61 /* SystemLayoutTest.cpp in Sources */, 29C01DC21D1312FA0094BE61 /* DocumentTimewiseConvertTest.cpp in Sources */, - 29A338801E652432001D61DD /* FreezingTest.cpp in Sources */, + 29A338801E652432001D61DD /* BombeTest.cpp in Sources */, 29C01E261D1312FA0094BE61 /* LevelTest.cpp in Sources */, 29C01E4C1D1312FA0094BE61 /* MusicDataChoiceTest.cpp in Sources */, 29C01DF01D1312FA0094BE61 /* FullNoteGroupTest.cpp in Sources */, @@ -2587,6 +2587,7 @@ 29B9627A1E79FEE40072071D /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; From d4f12e7acb271116d6c8b98da55433d9c77cec44 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Sun, 19 Mar 2017 00:19:59 -0700 Subject: [PATCH 004/108] mxapi handle divisions changes --- Sourcecode/mx/impl/MeasureReader.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Sourcecode/mx/impl/MeasureReader.cpp b/Sourcecode/mx/impl/MeasureReader.cpp index 27f10a62d..d03980f15 100644 --- a/Sourcecode/mx/impl/MeasureReader.cpp +++ b/Sourcecode/mx/impl/MeasureReader.cpp @@ -22,6 +22,7 @@ #include "mx/core/elements/DisplayOctave.h" #include "mx/core/elements/DisplayStep.h" #include "mx/core/elements/DisplayStepOctaveGroup.h" +#include "mx/core/elements/Divisions.h" #include "mx/core/elements/Duration.h" #include "mx/core/elements/EditorialVoiceGroup.h" #include "mx/core/elements/Fifths.h" @@ -392,6 +393,12 @@ namespace mx void MeasureReader::parseProperties( const core::Properties& inMxProperties ) const { + if( inMxProperties.getHasDivisions() ) + { + const auto newDivisionsValueDecimal = inMxProperties.getDivisions()->getValue().getValue(); + myCurrentCursor.ticksPerQuarter = static_cast(std::ceil(newDivisionsValueDecimal - 0.5)); + } + // TODO - continue work on measure numbering and style etc for( const auto& measureStylePtr : inMxProperties.getMeasureStyleSet() ) { From 7da7b3e3cb1dfcecd7e6926810b857ebe27fc483 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Sun, 19 Mar 2017 00:23:46 -0700 Subject: [PATCH 005/108] mxapi use voice 1 in bombe --- Resources/ksuite/Bombe.xml | 66 +++++++++++++++++++------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/Resources/ksuite/Bombe.xml b/Resources/ksuite/Bombe.xml index baf691da1..dcfce6f4e 100644 --- a/Resources/ksuite/Bombe.xml +++ b/Resources/ksuite/Bombe.xml @@ -344,7 +344,7 @@ 420 - 2 + 1 eighth 2 @@ -354,7 +354,7 @@ 3 840 - 2 + 1 quarter down 2 @@ -366,7 +366,7 @@ 3 840 - 2 + 1 quarter down 2 @@ -378,7 +378,7 @@ 420 - 2 + 1 eighth down 2 @@ -394,7 +394,7 @@ 420 - 2 + 1 eighth down 2 @@ -409,7 +409,7 @@ 840 - 2 + 1 quarter down 2 @@ -425,7 +425,7 @@ 840 - 2 + 1 quarter down 2 @@ -440,7 +440,7 @@ 840 - 2 + 1 quarter down 2 @@ -456,7 +456,7 @@ 840 - 2 + 1 quarter down 2 @@ -835,7 +835,7 @@ 3360 - 2 + 1 whole 2 @@ -850,7 +850,7 @@ 3360 - 2 + 1 whole 2 @@ -1060,7 +1060,7 @@ 1680 - 2 + 1 half down 2 @@ -1076,7 +1076,7 @@ 1680 - 2 + 1 half down 2 @@ -1091,7 +1091,7 @@ 1260 - 2 + 1 quarter down @@ -1108,7 +1108,7 @@ 1260 - 2 + 1 quarter down @@ -1124,7 +1124,7 @@ 420 - 2 + 1 eighth down 2 @@ -1140,7 +1140,7 @@ 420 - 2 + 1 eighth down 2 @@ -1431,7 +1431,7 @@ 3360 - 2 + 1 whole 2 @@ -1446,7 +1446,7 @@ 3360 - 2 + 1 whole 2 @@ -1692,7 +1692,7 @@ 1 20 - 2 + 1 half up 2 @@ -1704,7 +1704,7 @@ 2 20 - 2 + 1 half up 2 @@ -1715,7 +1715,7 @@ 1 20 - 2 + 1 half up 2 @@ -1727,7 +1727,7 @@ 2 20 - 2 + 1 half up 2 @@ -1931,7 +1931,7 @@ 1 20 - 2 + 1 half up 2 @@ -1943,7 +1943,7 @@ 2 20 - 2 + 1 half up 2 @@ -1954,7 +1954,7 @@ 1 20 - 2 + 1 half up 2 @@ -1966,7 +1966,7 @@ 2 20 - 2 + 1 half up 2 @@ -2201,7 +2201,7 @@ 1 20 - 2 + 1 half up 2 @@ -2213,7 +2213,7 @@ 2 20 - 2 + 1 half up 2 @@ -2225,7 +2225,7 @@ 20 - 2 + 1 half up 2 @@ -2241,7 +2241,7 @@ 20 - 2 + 1 half up 2 @@ -2290,7 +2290,7 @@ 40 - 2 + 1 whole 2 @@ -2305,7 +2305,7 @@ 40 - 2 + 1 whole 2 From afe65d6d7750ffc85848d4a8e131ec6d0efece1e Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Sun, 19 Mar 2017 00:34:53 -0700 Subject: [PATCH 006/108] mx-version-0.2.0.2 --- Sourcecode/mx/impl/MxVersionDefines.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sourcecode/mx/impl/MxVersionDefines.h b/Sourcecode/mx/impl/MxVersionDefines.h index a1fe78cbf..6b0eab2d5 100644 --- a/Sourcecode/mx/impl/MxVersionDefines.h +++ b/Sourcecode/mx/impl/MxVersionDefines.h @@ -1,4 +1,4 @@ #define MX_VERSION_MAJOR 0 #define MX_VERSION_MINOR 2 #define MX_VERSION_PATCH 0 -#define MX_VERSION_BUILD 1 +#define MX_VERSION_BUILD 2 From bc6b498812b3a0f5265d6af027d153363616fd89 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Tue, 21 Mar 2017 19:43:49 -0700 Subject: [PATCH 007/108] mx-version-0.2.0.3 --- Sourcecode/mx/impl/MxVersionDefines.h | 2 +- Sourcecode/mx/impl/NotationsWriter.cpp | 16 +++++++++------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/Sourcecode/mx/impl/MxVersionDefines.h b/Sourcecode/mx/impl/MxVersionDefines.h index 6b0eab2d5..e62177ccc 100644 --- a/Sourcecode/mx/impl/MxVersionDefines.h +++ b/Sourcecode/mx/impl/MxVersionDefines.h @@ -1,4 +1,4 @@ #define MX_VERSION_MAJOR 0 #define MX_VERSION_MINOR 2 #define MX_VERSION_PATCH 0 -#define MX_VERSION_BUILD 2 +#define MX_VERSION_BUILD 3 diff --git a/Sourcecode/mx/impl/NotationsWriter.cpp b/Sourcecode/mx/impl/NotationsWriter.cpp index b96bed725..b51493e88 100644 --- a/Sourcecode/mx/impl/NotationsWriter.cpp +++ b/Sourcecode/mx/impl/NotationsWriter.cpp @@ -320,19 +320,21 @@ namespace mx void NotationsWriter::addArticulation( const api::MarkData& mark, const core::ArticulationsPtr& outArticulationsPtr ) const { - auto articulationsChoice = core::makeArticulationsChoice(); - auto choiceValue = myConverter.convertArticulation( mark.markType ); - articulationsChoice->setChoice( choiceValue ); - outArticulationsPtr->addArticulationsChoice( articulationsChoice ); - if( !myConverter.isArticulation( mark.markType ) ) { return; } - + + auto articulationsChoice = core::makeArticulationsChoice(); + auto choiceValue = myConverter.convertArticulation( mark.markType ); + articulationsChoice->setChoice( choiceValue ); + outArticulationsPtr->addArticulationsChoice( articulationsChoice ); + if( mark.markType == api::MarkType::accent ) { - + auto element = articulationsChoice->getAccent(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); } else if( mark.markType == api::MarkType::strongAccent ) { From a032765b2be4feb6a6736858decfa1d67a976353 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Tue, 21 Mar 2017 19:56:16 -0700 Subject: [PATCH 008/108] mx-version-0.2.0.4 --- Sourcecode/mx/impl/MxVersionDefines.h | 2 +- Sourcecode/mx/impl/NotationsWriter.cpp | 60 +++++++++++++++++++------- 2 files changed, 46 insertions(+), 16 deletions(-) diff --git a/Sourcecode/mx/impl/MxVersionDefines.h b/Sourcecode/mx/impl/MxVersionDefines.h index e62177ccc..da94cffd1 100644 --- a/Sourcecode/mx/impl/MxVersionDefines.h +++ b/Sourcecode/mx/impl/MxVersionDefines.h @@ -1,4 +1,4 @@ #define MX_VERSION_MAJOR 0 #define MX_VERSION_MINOR 2 #define MX_VERSION_PATCH 0 -#define MX_VERSION_BUILD 3 +#define MX_VERSION_BUILD 4 diff --git a/Sourcecode/mx/impl/NotationsWriter.cpp b/Sourcecode/mx/impl/NotationsWriter.cpp index b51493e88..c1cc7e2ad 100644 --- a/Sourcecode/mx/impl/NotationsWriter.cpp +++ b/Sourcecode/mx/impl/NotationsWriter.cpp @@ -338,63 +338,93 @@ namespace mx } else if( mark.markType == api::MarkType::strongAccent ) { - + auto element = articulationsChoice->getStrongAccent(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); } else if( mark.markType == api::MarkType::staccato ) { - + auto element = articulationsChoice->getStaccato(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); } else if( mark.markType == api::MarkType::tenuto ) { - + auto element = articulationsChoice->getTenuto(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); } else if( mark.markType == api::MarkType::detachedLegato ) { - + auto element = articulationsChoice->getDetachedLegato(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); } else if( mark.markType == api::MarkType::staccatissimo ) { - + auto element = articulationsChoice->getStaccatissimo(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); } else if( mark.markType == api::MarkType::spiccato ) { - + auto element = articulationsChoice->getSpiccato(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); } else if( mark.markType == api::MarkType::scoop ) { - + auto element = articulationsChoice->getScoop(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); } else if( mark.markType == api::MarkType::plop ) { - + auto element = articulationsChoice->getPlop(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); } else if( mark.markType == api::MarkType::doit ) { - + auto element = articulationsChoice->getDoit(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); } else if( mark.markType == api::MarkType::falloff ) { - + auto element = articulationsChoice->getFalloff(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); } else if( mark.markType == api::MarkType::breathMark ) { - + auto element = articulationsChoice->getBreathMark(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); } else if( mark.markType == api::MarkType::caesura ) { - + auto element = articulationsChoice->getCaesura(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); } else if( mark.markType == api::MarkType::stress ) { - + auto element = articulationsChoice->getStress(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); } else if( mark.markType == api::MarkType::unstress ) { - + auto element = articulationsChoice->getUnstress(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); } else if( mark.markType == api::MarkType::otherArticulation ) { - + auto element = articulationsChoice->getOtherArticulation(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); } } } From fbb9f24545883ce64a465fb127b7fa801589d304 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Wed, 22 Mar 2017 20:03:34 -0700 Subject: [PATCH 009/108] mxapi adjust -0 to say 0 instead when stringing decimals --- Sourcecode/mx/core/Decimals.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Sourcecode/mx/core/Decimals.cpp b/Sourcecode/mx/core/Decimals.cpp index e66d3f1ff..c91d04d1f 100755 --- a/Sourcecode/mx/core/Decimals.cpp +++ b/Sourcecode/mx/core/Decimals.cpp @@ -86,10 +86,17 @@ namespace mx /* remove trailing zeros */ std::string s = ss.str(); s.erase(s.find_last_not_of('0') + 1, std::string::npos); + if(s[s.size()-1] == '.') { s.erase(s.end()-1); } + + if ( s == "-0" ) + { + s = "0"; + } + return s; } From 76c67e34b5fe8a8013e87dd422d92e313c17729e Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Thu, 23 Mar 2017 22:06:02 -0700 Subject: [PATCH 010/108] mx-version-0.2.0.5 --- Sourcecode/mx/api/PartGroupData.h | 12 +++++++++++- Sourcecode/mx/impl/Converter.cpp | 22 ++++++++++++++++++++++ Sourcecode/mx/impl/Converter.h | 6 +++++- Sourcecode/mx/impl/MxVersionDefines.h | 2 +- Sourcecode/mx/impl/ScoreReader.cpp | 16 ++++++++++++++-- Sourcecode/mx/impl/ScoreWriter.cpp | 12 ++++++++++++ 6 files changed, 65 insertions(+), 5 deletions(-) diff --git a/Sourcecode/mx/api/PartGroupData.h b/Sourcecode/mx/api/PartGroupData.h index abf5d1450..42c7e66de 100644 --- a/Sourcecode/mx/api/PartGroupData.h +++ b/Sourcecode/mx/api/PartGroupData.h @@ -11,6 +11,16 @@ namespace mx { namespace api { + enum class BracketType + { + unspecified, + none, + brace, + line, + bracket, + square + }; + // The part-group element indicates groupings of parts in the score, usually indicated // by braces and brackets. Braces that are used for multi-staff parts should be defined // in the attributes element for that part. The part-group start element appears before @@ -35,7 +45,7 @@ namespace mx std::string displayName; std::string abbreviation; std::string displayAbbreviation; - // TODO - group symbol + BracketType bracketType; // TODO - group barline // TODO - group time // TODO - group editorial diff --git a/Sourcecode/mx/impl/Converter.cpp b/Sourcecode/mx/impl/Converter.cpp index a80c9e7ed..a55d3ae95 100644 --- a/Sourcecode/mx/impl/Converter.cpp +++ b/Sourcecode/mx/impl/Converter.cpp @@ -352,6 +352,16 @@ namespace mx std::pair{ core::LineEnd::up, api::LineHook::up }, std::pair{ core::LineEnd::none, api::LineHook::none }, }; + + + const std::map Converter::bracketMap = + { + std::pair{ core::GroupSymbolValue::brace, api::BracketType::brace }, + std::pair{ core::GroupSymbolValue::bracket, api::BracketType::bracket }, + std::pair{ core::GroupSymbolValue::line, api::BracketType::line }, + std::pair{ core::GroupSymbolValue::none, api::BracketType::none }, + std::pair{ core::GroupSymbolValue::square, api::BracketType::square }, + }; const std::map Converter::barlinePlacementMap = @@ -746,6 +756,18 @@ namespace mx { return findApiItem( lineStopMap, api::LineHook::unspecified, value ); } + + + core::GroupSymbolValue Converter::convert( api::BracketType value ) const + { + return findCoreItem( bracketMap, core::GroupSymbolValue::none, value ); + } + + + api::BracketType Converter::convert( core::GroupSymbolValue value ) const + { + return findApiItem( bracketMap, api::BracketType::unspecified, value ); + } core::FermataShape Converter::convertFermata( api::MarkType value ) const diff --git a/Sourcecode/mx/impl/Converter.h b/Sourcecode/mx/impl/Converter.h index c65332c7c..9c1f9bd87 100644 --- a/Sourcecode/mx/impl/Converter.h +++ b/Sourcecode/mx/impl/Converter.h @@ -96,7 +96,10 @@ namespace mx core::LineEnd convert( api::LineHook value ) const; api::LineHook convert( core::LineEnd value ) const; - + + core::GroupSymbolValue convert( api::BracketType value ) const; + api::BracketType convert( core::GroupSymbolValue value ) const; + core::FermataShape convertFermata( api::MarkType value ) const; api::MarkType convertFermata( core::FermataShape value ) const; @@ -124,6 +127,7 @@ namespace mx const static std::map barlineMap; const static std::map barlinePlacementMap; const static std::map lineStopMap; + const static std::map bracketMap; const static std::map fermataMap; private: diff --git a/Sourcecode/mx/impl/MxVersionDefines.h b/Sourcecode/mx/impl/MxVersionDefines.h index da94cffd1..f2dd67b45 100644 --- a/Sourcecode/mx/impl/MxVersionDefines.h +++ b/Sourcecode/mx/impl/MxVersionDefines.h @@ -1,4 +1,4 @@ #define MX_VERSION_MAJOR 0 #define MX_VERSION_MINOR 2 #define MX_VERSION_PATCH 0 -#define MX_VERSION_BUILD 4 +#define MX_VERSION_BUILD 5 diff --git a/Sourcecode/mx/impl/ScoreReader.cpp b/Sourcecode/mx/impl/ScoreReader.cpp index c9412458c..02018b8e8 100644 --- a/Sourcecode/mx/impl/ScoreReader.cpp +++ b/Sourcecode/mx/impl/ScoreReader.cpp @@ -10,6 +10,7 @@ #include "mx/core/elements/GroupAbbreviationDisplay.h" #include "mx/core/elements/GroupName.h" #include "mx/core/elements/GroupNameDisplay.h" +#include "mx/core/elements/GroupSymbol.h" #include "mx/core/elements/Identification.h" #include "mx/core/elements/Miscellaneous.h" #include "mx/core/elements/MovementNumber.h" @@ -29,6 +30,7 @@ #include "mx/core/elements/Work.h" #include "mx/core/elements/WorkNumber.h" #include "mx/core/elements/WorkTitle.h" +#include "mx/impl/Converter.h" #include "mx/impl/EncodingFunctions.h" #include "mx/impl/LayoutFunctions.h" #include "mx/impl/PageTextFunctions.h" @@ -310,10 +312,20 @@ namespace mx { grpData.name = inPartGroup->getGroupName()->getValue().getValue(); } - + + if( inPartGroup->getHasGroupAbbreviation() ) + { + grpData.abbreviation = inPartGroup->getGroupAbbreviation()->getValue().getValue(); + } + + if (inPartGroup->getHasGroupSymbol() ) + { + Converter c; + grpData.bracketType = c.convert( inPartGroup->getGroupSymbol()->getValue() ); + } + grpData.firstPartIndex = partIndex; - // TODO - group abbreviation // TODO - group name display // TODO - group abbreviation display // TODO - backet, barline, etc diff --git a/Sourcecode/mx/impl/ScoreWriter.cpp b/Sourcecode/mx/impl/ScoreWriter.cpp index e77404e20..44035fccf 100644 --- a/Sourcecode/mx/impl/ScoreWriter.cpp +++ b/Sourcecode/mx/impl/ScoreWriter.cpp @@ -11,6 +11,7 @@ #include "mx/core/elements/MovementNumber.h" #include "mx/core/elements/MovementTitle.h" #include "mx/core/elements/PartGroup.h" +#include "mx/core/elements/GroupSymbol.h" #include "mx/core/elements/PartGroupOrScorePart.h" #include "mx/core/elements/PartList.h" #include "mx/core/elements/PartwisePart.h" @@ -30,6 +31,7 @@ #include "mx/impl/PartReader.h" #include "mx/impl/PartWriter.h" #include "mx/impl/TimeReader.h" +#include "mx/impl/Converter.h" namespace mx { @@ -251,16 +253,26 @@ namespace mx { auto mxGrp = core::makePartGroup(); mxGrp->getAttributes()->type = core::StartStop::start; + if( apiGrp.number >= 0 ) { mxGrp->getAttributes()->hasNumber = true; mxGrp->getAttributes()->number = std::to_string( apiGrp.number ); } + if( apiGrp.name.size() > 0 ) { mxGrp->setHasGroupName( true ); mxGrp->getGroupName()->setValue( core::XsString{ apiGrp.name} ); } + + Converter converter; + if( apiGrp.bracketType != api::BracketType::unspecified ) + { + const auto symbol = converter.convert( apiGrp.bracketType ); + mxGrp->setHasGroupSymbol( true ); + mxGrp->getGroupSymbol()->setValue( symbol ); + } return mxGrp; } From a1099ef918b70688ddcfe514f95933ec33c2955e Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Thu, 23 Mar 2017 22:40:36 -0700 Subject: [PATCH 011/108] mx-version-0.2.0.6 --- Sourcecode/mx/impl/MxVersionDefines.h | 2 +- Sourcecode/mx/impl/ScoreReader.cpp | 2 +- Sourcecode/mx/impl/ScoreWriter.cpp | 7 +++++++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Sourcecode/mx/impl/MxVersionDefines.h b/Sourcecode/mx/impl/MxVersionDefines.h index f2dd67b45..89ef61420 100644 --- a/Sourcecode/mx/impl/MxVersionDefines.h +++ b/Sourcecode/mx/impl/MxVersionDefines.h @@ -1,4 +1,4 @@ #define MX_VERSION_MAJOR 0 #define MX_VERSION_MINOR 2 #define MX_VERSION_PATCH 0 -#define MX_VERSION_BUILD 5 +#define MX_VERSION_BUILD 6 diff --git a/Sourcecode/mx/impl/ScoreReader.cpp b/Sourcecode/mx/impl/ScoreReader.cpp index 02018b8e8..d5adbd7ac 100644 --- a/Sourcecode/mx/impl/ScoreReader.cpp +++ b/Sourcecode/mx/impl/ScoreReader.cpp @@ -328,7 +328,7 @@ namespace mx // TODO - group name display // TODO - group abbreviation display - // TODO - backet, barline, etc + // TODO - barline, etc myPartGroupStack.push_front( grpData ); } diff --git a/Sourcecode/mx/impl/ScoreWriter.cpp b/Sourcecode/mx/impl/ScoreWriter.cpp index 44035fccf..720dbbc88 100644 --- a/Sourcecode/mx/impl/ScoreWriter.cpp +++ b/Sourcecode/mx/impl/ScoreWriter.cpp @@ -5,6 +5,7 @@ #include "mx/impl/ScoreWriter.h" #include "mx/core/elements/Creator.h" #include "mx/core/elements/Encoding.h" +#include "mx/core/elements/GroupBarline.h" #include "mx/core/elements/GroupName.h" #include "mx/core/elements/Identification.h" #include "mx/core/elements/Miscellaneous.h" @@ -273,6 +274,12 @@ namespace mx mxGrp->setHasGroupSymbol( true ); mxGrp->getGroupSymbol()->setValue( symbol ); } + + // TODO - make group barline configurable + + mxGrp->setHasGroupBarline( true ); + mxGrp->getGroupBarline()->setValue( core::GroupBarlineValue::yes ); + return mxGrp; } From 73b35616be2be523cccef52f18236e4854fc4065 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Sat, 25 Mar 2017 20:15:46 -0700 Subject: [PATCH 012/108] mxapi save ornaments --- Sourcecode/mx/api/MarkData.cpp | 19 ++++ Sourcecode/mx/api/MarkData.h | 1 + Sourcecode/mx/impl/NotationsWriter.cpp | 149 ++++++++++++++++++++++++- Sourcecode/mx/impl/NotationsWriter.h | 5 +- Sourcecode/mxtest/api/NoteDataTest.cpp | 57 ++++++++++ 5 files changed, 227 insertions(+), 4 deletions(-) diff --git a/Sourcecode/mx/api/MarkData.cpp b/Sourcecode/mx/api/MarkData.cpp index 8d1b622ae..068034ea4 100644 --- a/Sourcecode/mx/api/MarkData.cpp +++ b/Sourcecode/mx/api/MarkData.cpp @@ -222,6 +222,25 @@ namespace mx ( markType == MarkType::unstress ) || ( markType == MarkType::otherArticulation ); } + + + bool isMarkOrnament( MarkType markType ) + { + return ( markType == MarkType::trillMark ) || + ( markType == MarkType::turn ) || + ( markType == MarkType::delayedTurn ) || + ( markType == MarkType::invertedTurn ) || + ( markType == MarkType::delayedInvertedTurn ) || + ( markType == MarkType::verticalTurn ) || + ( markType == MarkType::shake ) || + ( markType == MarkType::wavyLine ) || + ( markType == MarkType::mordent ) || + ( markType == MarkType::invertedMordent ) || + ( markType == MarkType::schleifer ) || + ( markType == MarkType::tremolo ) || + ( markType == MarkType::otherOrnament ) || + ( markType == MarkType::unknownOrnament ); + } bool isMarkFermata( MarkType markType ) diff --git a/Sourcecode/mx/api/MarkData.h b/Sourcecode/mx/api/MarkData.h index 5e37fc3e6..707ce92c9 100644 --- a/Sourcecode/mx/api/MarkData.h +++ b/Sourcecode/mx/api/MarkData.h @@ -174,6 +174,7 @@ namespace mx bool isMarkDynamic( MarkType ); bool isMarkArticulation( MarkType ); + bool isMarkOrnament( MarkType ); bool isMarkFermata( MarkType ); using MarkSmuflEntry = std::pair; diff --git a/Sourcecode/mx/impl/NotationsWriter.cpp b/Sourcecode/mx/impl/NotationsWriter.cpp index c1cc7e2ad..111b781ce 100644 --- a/Sourcecode/mx/impl/NotationsWriter.cpp +++ b/Sourcecode/mx/impl/NotationsWriter.cpp @@ -37,6 +37,21 @@ #include "mx/core/elements/TupletType.h" #include "mx/impl/DynamicsWriter.h" #include "mx/core/elements/Fermata.h" +#include "mx/core/elements/Ornaments.h" +#include "mx/core/elements/OrnamentsChoice.h" +#include "mx/core/elements/DelayedInvertedTurn.h" +#include "mx/core/elements/DelayedTurn.h" +#include "mx/core/elements/InvertedMordent.h" +#include "mx/core/elements/InvertedTurn.h" +#include "mx/core/elements/Mordent.h" +#include "mx/core/elements/OtherOrnament.h" +#include "mx/core/elements/Schleifer.h" +#include "mx/core/elements/Shake.h" +#include "mx/core/elements/Tremolo.h" +#include "mx/core/elements/TrillMark.h" +#include "mx/core/elements/Turn.h" +#include "mx/core/elements/VerticalTurn.h" +#include "mx/core/elements/WavyLine.h" namespace mx { @@ -47,6 +62,7 @@ namespace mx , myCursor{ inCursor } , myScoreWriter{ inScoreWriter } , myConverter{} + , myOutNotations{nullptr} { } @@ -56,7 +72,9 @@ namespace mx myOutNotations = core::makeNotations(); auto articulationsNotationChoice = makeArticulationsNotationsChoice(); auto articulations = articulationsNotationChoice->getArticulations(); - + auto ornamentsNotationChoice = makeOrnamentsNotationsChoice(); + auto ornaments = ornamentsNotationChoice->getOrnaments(); + for( const auto& curve : myNoteData.noteAttachmentData.curveStarts ) { auto curveNotationsChoice = core::makeNotationsChoice(); @@ -210,6 +228,10 @@ namespace mx { this->addArticulation( mark, articulations ); } + if( isMarkOrnament( mark.markType ) ) + { + this->addOrnament( mark, ornaments ); + } else if( isMarkDynamic( mark.markType) ) { auto dynamicNotationsChoice = core::makeNotationsChoice(); @@ -303,6 +325,11 @@ namespace mx { myOutNotations->addNotationsChoice( articulationsNotationChoice ); } + + if( ornaments->getOrnamentsChoiceSet().size() > 0 ) + { + myOutNotations->addNotationsChoice( ornamentsNotationChoice ); + } return myOutNotations; } @@ -310,12 +337,20 @@ namespace mx core::NotationsChoicePtr NotationsWriter::makeArticulationsNotationsChoice() const { - myOutNotations = core::makeNotations(); - auto articulations = core::makeArticulations(); +// auto articulations = core::makeArticulations(); auto notationsChoice = core::makeNotationsChoice(); notationsChoice->setChoice( core::NotationsChoice::Choice::articulations ); return notationsChoice; } + + + core::NotationsChoicePtr NotationsWriter::makeOrnamentsNotationsChoice() const + { +// auto ornaments = core::makeOrnamentsChoice(); + auto notationsChoice = core::makeNotationsChoice(); + notationsChoice->setChoice( core::NotationsChoice::Choice::ornaments ); + return notationsChoice; + } void NotationsWriter::addArticulation( const api::MarkData& mark, const core::ArticulationsPtr& outArticulationsPtr ) const @@ -427,5 +462,113 @@ namespace mx setAttributesFromPositionData( mark.positionData, *attributes); } } + + + void NotationsWriter::addOrnament( const api::MarkData& mark, const core::OrnamentsPtr& outOrnamentsPtr ) const + { + if( !isMarkOrnament( mark.markType ) ) + { + return; + } + + auto ornamentsChoice = core::makeOrnamentsChoice(); + auto choiceValue = myConverter.convertOrnament( mark.markType ); + ornamentsChoice->setChoice( choiceValue ); + outOrnamentsPtr->addOrnamentsChoice( ornamentsChoice ); + + if( mark.markType == api::MarkType::trillMark ) + { + auto element = ornamentsChoice->getTrillMark(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); + } + else if( mark.markType == api::MarkType::turn ) + { + auto element = ornamentsChoice->getTurn(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); + } + else if( mark.markType == api::MarkType::delayedTurn ) + { + auto element = ornamentsChoice->getDelayedTurn(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); + } + else if( mark.markType == api::MarkType::invertedTurn ) + { + auto element = ornamentsChoice->getInvertedTurn(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); + } + else if( mark.markType == api::MarkType::delayedInvertedTurn ) + { + auto element = ornamentsChoice->getDelayedInvertedTurn(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); + } + else if( mark.markType == api::MarkType::verticalTurn ) + { + auto element = ornamentsChoice->getVerticalTurn(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); + } + else if( mark.markType == api::MarkType::shake ) + { + auto element = ornamentsChoice->getShake(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); + } + else if( mark.markType == api::MarkType::wavyLine ) + { + auto element = ornamentsChoice->getWavyLine(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); + } + else if( mark.markType == api::MarkType::mordent ) + { + auto element = ornamentsChoice->getMordent(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); + } + else if( mark.markType == api::MarkType::invertedMordent ) + { + auto element = ornamentsChoice->getInvertedMordent(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); + } + else if( mark.markType == api::MarkType::schleifer ) + { + auto element = ornamentsChoice->getSchleifer(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); + } + else if( mark.markType == api::MarkType::tremolo ) + { + auto element = ornamentsChoice->getTremolo(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); + } + else if( mark.markType == api::MarkType::otherOrnament ) + { + auto element = ornamentsChoice->getOtherOrnament(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); + } + else if( mark.markType == api::MarkType::unknownOrnament ) + { + auto element = ornamentsChoice->getOtherOrnament(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); + + if( !mark.name.empty() ) + { + element->setValue( core::XsString{ mark.name } ); + } + else if ( !mark.smuflName.empty() ) + { + element->setValue( core::XsString{ mark.smuflName } ); + } + } + } } } diff --git a/Sourcecode/mx/impl/NotationsWriter.h b/Sourcecode/mx/impl/NotationsWriter.h index 8823e377e..fa693136e 100644 --- a/Sourcecode/mx/impl/NotationsWriter.h +++ b/Sourcecode/mx/impl/NotationsWriter.h @@ -17,6 +17,8 @@ namespace mx using NotationsChoicePtr = std::shared_ptr; class Articulations; using ArticulationsPtr = std::shared_ptr; + class Ornaments; + using OrnamentsPtr = std::shared_ptr; } @@ -39,8 +41,9 @@ namespace mx private: core::NotationsChoicePtr makeArticulationsNotationsChoice() const; + core::NotationsChoicePtr makeOrnamentsNotationsChoice() const; void addArticulation( const api::MarkData& markData, const core::ArticulationsPtr& outArticulationsPtr ) const; - void insertArticulationsNotationsChoiceIfNeeded() const; + void addOrnament( const api::MarkData& markData, const core::OrnamentsPtr& outOrnamentsPtr ) const; }; } } diff --git a/Sourcecode/mxtest/api/NoteDataTest.cpp b/Sourcecode/mxtest/api/NoteDataTest.cpp index 158464a63..7c630c5a8 100644 --- a/Sourcecode/mxtest/api/NoteDataTest.cpp +++ b/Sourcecode/mxtest/api/NoteDataTest.cpp @@ -210,4 +210,61 @@ TEST( SlurTieNumberLevelC, NoteData ) } T_END +TEST( ornaments, NoteData ) +{ + ScoreData score; + score.parts.emplace_back(); + auto& part = score.parts.back(); + part.measures.emplace_back(); + auto& measure = part.measures.back(); + measure.staves.emplace_back(); + auto& staff = measure.staves.back(); + auto& voice = staff.voices[0]; + voice.notes.emplace_back(); + auto& note = voice.notes.back(); + + note.noteAttachmentData.marks.emplace_back( Placement::above, MarkType::trillMark ); + note.noteAttachmentData.marks.back().positionData.isDefaultXSpecified = true; + note.noteAttachmentData.marks.back().positionData.defaultX = 123.0; + + note.noteAttachmentData.marks.emplace_back( Placement::above, MarkType::wavyLine ); + note.noteAttachmentData.marks.back().positionData.isDefaultYSpecified = true; + note.noteAttachmentData.marks.back().positionData.defaultY = -456.0; + + // round trip it through xml + auto& mgr = DocumentManager::getInstance(); + auto docId = mgr.createFromScore( score ); + std::stringstream ss; + mgr.writeToStream(docId, ss); + mgr.destroyDocument(docId); + const std::string xml = ss.str(); + std::istringstream iss{ xml }; + docId = mgr.createFromStream( iss ); + auto oscore = mgr.getData(docId); + + // get the data after the round trip + auto& opart = oscore.parts.back(); + auto& omeasure = opart.measures.back(); + auto& ostaff = omeasure.staves.back(); + auto& ovoice = ostaff.voices[0]; + auto& onote = ovoice.notes.back(); + auto& oattachments = onote.noteAttachmentData; + auto& omarks = oattachments.marks; + auto oIter = omarks.cbegin(); + + auto md = *oIter; + CHECK( md.markType == MarkType::trillMark ); + CHECK( md.positionData.isDefaultXSpecified ); + CHECK( !md.positionData.isDefaultYSpecified ); + CHECK_DOUBLES_EQUAL( 123.0, md.positionData.defaultX, 0.00001 ); + + ++oIter; + md = *oIter; + CHECK( md.markType == MarkType::wavyLine ); + CHECK( !md.positionData.isDefaultXSpecified ); + CHECK( md.positionData.isDefaultYSpecified ); + CHECK_DOUBLES_EQUAL( -456.0, md.positionData.defaultY, 0.00001 ); +} +T_END + #endif From 23a36bbbd4b1efec04ed089338b0daabfeca709e Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Sat, 25 Mar 2017 20:18:20 -0700 Subject: [PATCH 013/108] mx-version-0.2.0.7 --- Sourcecode/mx/impl/MxVersionDefines.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sourcecode/mx/impl/MxVersionDefines.h b/Sourcecode/mx/impl/MxVersionDefines.h index 89ef61420..0ce5d739a 100644 --- a/Sourcecode/mx/impl/MxVersionDefines.h +++ b/Sourcecode/mx/impl/MxVersionDefines.h @@ -1,4 +1,4 @@ #define MX_VERSION_MAJOR 0 #define MX_VERSION_MINOR 2 #define MX_VERSION_PATCH 0 -#define MX_VERSION_BUILD 6 +#define MX_VERSION_BUILD 7 From 990cdd09c9717eeff0e81b761cc5cc385c3949d5 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Sun, 26 Mar 2017 09:58:35 -0700 Subject: [PATCH 014/108] mxapi working on direction offset problems --- Sourcecode/mx/api/DirectionData.h | 27 ++++++++------ Sourcecode/mx/api/MarkData.cpp | 12 +++++- Sourcecode/mx/api/MarkData.h | 3 ++ Sourcecode/mx/impl/DirectionReader.cpp | 40 +++++++++++++++----- Sourcecode/mx/impl/DirectionWriter.cpp | 37 +++++++++++++++---- Sourcecode/mx/impl/MeasureCursor.h | 10 ++++- Sourcecode/mx/impl/MeasureReader.cpp | 43 +++++++++++++++------- Sourcecode/mx/impl/MeasureReader.h | 16 +++++++- Sourcecode/mx/impl/MeasureWriter.cpp | 4 ++ Sourcecode/mx/impl/NoteWriter.cpp | 28 +++++++------- Sourcecode/mxtest/api/ApiLy43eScoreData.h | 38 +++++++++---------- Sourcecode/mxtest/api/NoteDataTest.cpp | 43 ++++++++++++++++++++++ Sourcecode/mxtest/control/CompileControl.h | 8 ++-- Sourcecode/mxtest/import/DecimalFields.h | 12 ++++++ Xcode/MxTest.xcodeproj/project.pbxproj | 38 ++----------------- 15 files changed, 242 insertions(+), 117 deletions(-) diff --git a/Sourcecode/mx/api/DirectionData.h b/Sourcecode/mx/api/DirectionData.h index c0e58cad4..3fc17ef48 100644 --- a/Sourcecode/mx/api/DirectionData.h +++ b/Sourcecode/mx/api/DirectionData.h @@ -35,10 +35,10 @@ namespace mx // compatibility with earlier versions of the MusicXML format. If an element within a // direction includes a default-x attribute, the offset value will be ignored when determining // the appearance of that element. - bool isOffsetSpecified; - int offset; - Bool offsetSound; - +// bool isOffsetSpecified; +// int offset; +// Bool offsetSound; + // voice value of -1 means unspecified int voice; @@ -64,9 +64,9 @@ namespace mx DirectionData() : tickTimePosition{ 0 } , placement{ Placement::unspecified } - , isOffsetSpecified{ false } - , offset{ 0 } - , offsetSound{ Bool::unspecified } +// , isOffsetSpecified{ false } +// , offset{ 0 } +// , offsetSound{ Bool::unspecified } , voice{ -1 } , isStaffValueSpecified{ true } , marks{} @@ -86,15 +86,20 @@ namespace mx return directionData.tempos.size() == 0 && directionData.marks.size() == 0 && directionData.wedgeStarts.size() == 0 && - directionData.wedgeStops.size() == 0; + directionData.wedgeStops.size() == 0 && + directionData.bracketStarts.size() == 0 && + directionData.bracketStops.size() == 0 && + directionData.tempos.size() == 0 && + directionData.ottavaStarts.size() == 0 && + directionData.ottavaStops.size() == 0; } MXAPI_EQUALS_BEGIN( DirectionData ) MXAPI_EQUALS_MEMBER( tickTimePosition ) MXAPI_EQUALS_MEMBER( placement ) - MXAPI_EQUALS_MEMBER( isOffsetSpecified ) - MXAPI_EQUALS_MEMBER( offset ) - MXAPI_EQUALS_MEMBER( offsetSound ) +// MXAPI_EQUALS_MEMBER( isOffsetSpecified ) +// MXAPI_EQUALS_MEMBER( offset ) +// MXAPI_EQUALS_MEMBER( offsetSound ) MXAPI_EQUALS_MEMBER( voice ) MXAPI_EQUALS_MEMBER( isStaffValueSpecified ) MXAPI_EQUALS_MEMBER( tempos ) diff --git a/Sourcecode/mx/api/MarkData.cpp b/Sourcecode/mx/api/MarkData.cpp index 068034ea4..1f6764e06 100644 --- a/Sourcecode/mx/api/MarkData.cpp +++ b/Sourcecode/mx/api/MarkData.cpp @@ -111,8 +111,11 @@ namespace mx myMap.emplace( std::make_pair( MarkType::fermataAngledInverted, SmuflGlyphname{ "fermataShortAbove", "fermataShortBelow", "fermataShortAbove" } ) ); myMap.emplace( std::make_pair( MarkType::fermataSquareInverted, SmuflGlyphname{ "fermataLongAbove", "fermataLongBelow", "fermataLongAbove" } ) ); + myMap.emplace( std::make_pair( MarkType::pedal, SmuflGlyphname{ "keyboardPedalPed", "keyboardPedalPed", "keyboardPedalPed" } ) ); + myMap.emplace( std::make_pair( MarkType::damp, SmuflGlyphname{ "keyboardPedalUp", "keyboardPedalUp", "keyboardPedalUp" } ) ); + } - + const std::string& MarkSmufl::getName( MarkType mark ) { @@ -260,6 +263,13 @@ namespace mx } + bool isMarkPedal( MarkType markType ) + { + return ( markType == MarkType::pedal ) || + ( markType == MarkType::damp ); + } + + MarkData::MarkData() : markType( MarkType::unspecified ) , name{} diff --git a/Sourcecode/mx/api/MarkData.h b/Sourcecode/mx/api/MarkData.h index 707ce92c9..c9cb2e711 100644 --- a/Sourcecode/mx/api/MarkData.h +++ b/Sourcecode/mx/api/MarkData.h @@ -170,12 +170,15 @@ namespace mx fermataSquareInverted, // square unknownFermata, // bad state, unknown type, error + pedal, // the typical piano pedal mark + damp, // the typical piano end-pedal mark }; bool isMarkDynamic( MarkType ); bool isMarkArticulation( MarkType ); bool isMarkOrnament( MarkType ); bool isMarkFermata( MarkType ); + bool isMarkPedal( MarkType ); using MarkSmuflEntry = std::pair; using MarkSmuflMap = std::map; diff --git a/Sourcecode/mx/impl/DirectionReader.cpp b/Sourcecode/mx/impl/DirectionReader.cpp index 1a5fd3cfa..8a33881e8 100644 --- a/Sourcecode/mx/impl/DirectionReader.cpp +++ b/Sourcecode/mx/impl/DirectionReader.cpp @@ -63,14 +63,10 @@ namespace mx if( myDirection.getHasOffset() ) { - myOutDirectionData.isOffsetSpecified = true; - myOutDirectionData.offset = static_cast( std::ceil( myDirection.getOffset()->getValue().getValue() - 0.5 ) ); - if( myDirection.getOffset()->getAttributes()->hasSound ) - { - myOutDirectionData.offsetSound = myConverter.convert( myDirection.getOffset()->getAttributes()->sound ); - } + const auto offset = static_cast( std::ceil( myDirection.getOffset()->getValue().getValue() - 0.5 ) ); + myOutDirectionData.tickTimePosition += offset; } - + if( myDirection.getAttributes()->hasPlacement ) { myOutDirectionData.placement = myConverter.convert( myDirection.getAttributes()->placement ); @@ -359,9 +355,35 @@ namespace mx void DirectionReader::parsePedal( const core::DirectionType& directionType) { - MX_UNUSED( directionType ); + const auto& pedalPtr = *directionType.getPedal(); + const auto& attr = *pedalPtr.getAttributes(); + + if( attr.type != core::StartStopChangeContinue::start && + attr.type != core::StartStopChangeContinue::stop ) + { + return; + } + + auto pedalType = api::MarkType::pedal; + + if( attr.type == core::StartStopChangeContinue::start ) + { + pedalType = api::MarkType::damp; + } + + auto positionData = getPositionData( attr ); + auto mark = api::MarkData{ positionData.placement, pedalType }; + + if( mark.positionData.placement == api::Placement::unspecified ) + { + mark.positionData.placement = myOutDirectionData.placement; + } + +// mark.smuflName = api::MarkSmufl::getName( mark.markType, mark.positionData.placement ); +// mark.smuflCodepoint = api::MarkSmufl::getCodepoint( mark.markType, mark.positionData.placement ); + myOutDirectionData.marks.emplace_back( std::move( mark ) ); } - + void DirectionReader::parseMetronome( const core::DirectionType& directionType) { diff --git a/Sourcecode/mx/impl/DirectionWriter.cpp b/Sourcecode/mx/impl/DirectionWriter.cpp index 297977f23..61d19b29b 100644 --- a/Sourcecode/mx/impl/DirectionWriter.cpp +++ b/Sourcecode/mx/impl/DirectionWriter.cpp @@ -31,6 +31,7 @@ #include "mx/core/elements/Offset.h" #include "mx/core/elements/OtherDirection.h" #include "mx/core/elements/Pedal.h" +#include "mx/core/elements/Pedal.h" #include "mx/core/elements/Percussion.h" #include "mx/core/elements/PerMinute.h" #include "mx/core/elements/PerMinuteOrBeatUnitChoice.h" @@ -82,15 +83,13 @@ namespace mx myOutDirectionPtr->getStaff()->setValue( core::StaffNumber{ myCursor.staffIndex + 1 } ); } - if( myDirectionData.isOffsetSpecified ) + if( myDirectionData.tickTimePosition != myCursor.tickTimePosition ) { + auto offset = myDirectionData.tickTimePosition - myCursor.tickTimePosition; myOutDirectionPtr->setHasOffset( true ); - myOutDirectionPtr->getOffset()->setValue( core::DivisionsValue{ static_cast( myDirectionData.offset ) } ); - if( myDirectionData.offsetSound != api::Bool::unspecified ) - { - myOutDirectionPtr->getOffset()->getAttributes()->hasSound = true; - myOutDirectionPtr->getOffset()->getAttributes()->sound = myConverter.convert( myDirectionData.offsetSound ); - } + myOutDirectionPtr->getOffset()->setValue( core::DivisionsValue{ static_cast( offset ) } ); + myOutDirectionPtr->getOffset()->getAttributes()->hasSound = true; + myOutDirectionPtr->getOffset()->getAttributes()->sound = core::YesNo::yes; } for( const auto& mark : myDirectionData.marks ) @@ -107,6 +106,30 @@ namespace mx directionTypePtr->addDynamics( dynamicsWriter.getDynamics() ); directionTypePtr->removeDynamics( directionTypePtr->getDynamicsSet().cbegin() ); } + + if( isMarkPedal( mark.markType ) ) + { + auto directionTypePtr = core::makeDirectionType(); + this->addDirectionType( directionTypePtr ); + directionTypePtr->setChoice( core::DirectionType::Choice::pedal ); + auto pedalPtr = directionTypePtr->getPedal(); + auto attr = pedalPtr->getAttributes(); + + if( mark.markType == api::MarkType::pedal ) + { + attr->type = core::StartStopChangeContinue::start; + } + else if ( mark.markType == api::MarkType::damp ) + { + attr->type = core::StartStopChangeContinue::stop; + } + + attr->hasLine = true; + attr->line = core::YesNo::no; + attr->hasSign = true; + attr->sign = core::YesNo::yes; + setAttributesFromPositionData( mark.positionData, *attr ); + } } for( const auto& wedgeStart : myDirectionData.wedgeStarts ) diff --git a/Sourcecode/mx/impl/MeasureCursor.h b/Sourcecode/mx/impl/MeasureCursor.h index 0016041a2..a3d090e78 100644 --- a/Sourcecode/mx/impl/MeasureCursor.h +++ b/Sourcecode/mx/impl/MeasureCursor.h @@ -24,6 +24,14 @@ namespace mx } - }; + MeasureCursor() + : Cursor{ -1, -1 } + , partIndex{ -1 } + , measureIndex{ -1 } + { + + } + + }; } } diff --git a/Sourcecode/mx/impl/MeasureReader.cpp b/Sourcecode/mx/impl/MeasureReader.cpp index d03980f15..9a77f4946 100644 --- a/Sourcecode/mx/impl/MeasureReader.cpp +++ b/Sourcecode/mx/impl/MeasureReader.cpp @@ -90,9 +90,14 @@ namespace mx , myConverter{} , myOutMeasureData{} , myCurrentCursor{ cursor } - , myPreviousCursor{ previousMeasureCursor } + , myPreviousMeasureCursor{ previousMeasureCursor } + , myCursorHistory{} { - + CursorMovementRecord initialCursorRecord; + initialCursorRecord.reason = "starting position"; + initialCursorRecord.beforeMove = cursor; + initialCursorRecord.afterMove = cursor; + myCursorHistory.emplace_back( std::move( cursor ) ); } void MeasureReader::addStavesToOutMeasure() const @@ -185,7 +190,7 @@ namespace mx { if( myCurrentCursor.measureIndex > 0 ) { - timeSignature = myPreviousCursor.timeSignature; + timeSignature = myPreviousMeasureCursor.timeSignature; } timeSignature.isImplicit = true; } @@ -212,7 +217,6 @@ namespace mx if( myCurrentCursor.tickTimePosition < 0 ) { myCurrentCursor.tickTimePosition = 0; - // TODO - log or inform the client that the file is erroneous } break; } @@ -323,7 +327,7 @@ namespace mx if( !isThisNotePartOfAChord || !isNextNotePartOfAChord ) { - myCurrentCursor.tickTimePosition += noteData.durationData.durationTimeTicks; + advanceTickTimePosition( noteData.durationData.durationTimeTicks, "note" ); } MX_ASSERT( noteDataStaffIndex >= 0 ); @@ -338,23 +342,23 @@ namespace mx { ++myCurrentCursor.voiceIndex; } - else - { - // TODO - remove this debugging check - MX_THROW( "multiple backups in a row" ); - } +// else +// { +// // TODO - remove this debugging check +// MX_THROW( "multiple backups in a row" ); +// } myCurrentCursor.isBackupInProgress = true; const int backupAmount = myCurrentCursor.convertDurationToGlobalTickScale( *inMxBackup.getDuration() ); - myCurrentCursor.tickTimePosition -= backupAmount; + advanceTickTimePosition( -1 * backupAmount, "backup" ); } - + void MeasureReader::parseForward( const core::Forward& inMxForward ) const { const int forwardAmount = myCurrentCursor.convertDurationToGlobalTickScale( *inMxForward.getDuration() ); - myCurrentCursor.tickTimePosition += forwardAmount; + advanceTickTimePosition( forwardAmount, "forward" ); } - + void MeasureReader::parseDirection( const core::Direction& inMxDirection ) const { @@ -774,5 +778,16 @@ namespace mx return voiceData.notes.front().userRequestedVoiceNumber; } + + + void MeasureReader::advanceTickTimePosition( int amount, std::string reason ) const + { + CursorMovementRecord record; + record.reason = std::move( reason ); + record.beforeMove = myCurrentCursor; + myCurrentCursor.tickTimePosition += amount; + record.afterMove = myCurrentCursor; + myCursorHistory.emplace_back( std::move( record ) ); + } } } diff --git a/Sourcecode/mx/impl/MeasureReader.h b/Sourcecode/mx/impl/MeasureReader.h index d7675290e..fd46514da 100644 --- a/Sourcecode/mx/impl/MeasureReader.h +++ b/Sourcecode/mx/impl/MeasureReader.h @@ -53,8 +53,19 @@ namespace mx mutable api::MeasureData myOutMeasureData; mutable MeasureCursor myCurrentCursor; - mutable MeasureCursor myPreviousCursor; - + mutable MeasureCursor myPreviousMeasureCursor; + + class CursorMovementRecord + { + public: + std::string reason; + int amount; + MeasureCursor beforeMove; + MeasureCursor afterMove; + }; + + mutable std::vector myCursorHistory; + private: void addStavesToOutMeasure() const; void parseTimeSignature() const; @@ -83,6 +94,7 @@ namespace mx bool isUserRequestedVoiceNumberConsistent( const api::VoiceData& voiceData ) const; bool isUserRequestedVoiceNumberConsistentAccrossAllVoices( const api::StaffData& staff ) const; int getUserRequestedVoiceNumber( const api::VoiceData& voiceData ) const; + void advanceTickTimePosition( int amount, std::string reason ) const; }; } } diff --git a/Sourcecode/mx/impl/MeasureWriter.cpp b/Sourcecode/mx/impl/MeasureWriter.cpp index 78a4e0798..6afe46c10 100644 --- a/Sourcecode/mx/impl/MeasureWriter.cpp +++ b/Sourcecode/mx/impl/MeasureWriter.cpp @@ -363,10 +363,12 @@ namespace mx myPropertiesWriter->writeClef( myCursor.staffIndex, *clefIter ); ++clefIter; } + for( ; staffKeyIter != staffKeyEnd && staffKeyIter->tickTimePosition <= myCursor.tickTimePosition; ++staffKeyIter ) { myPropertiesWriter->writeKey( myCursor.staffIndex, *staffKeyIter ); } + myPropertiesWriter->flushBuffer(); for( ; directionIter != directionEnd && directionIter->tickTimePosition <= myCursor.tickTimePosition; ++directionIter ) @@ -388,7 +390,9 @@ namespace mx mdc->setNote( writer.getNote(isStartOfChord) ); myOutMeasure->getMusicDataGroup()->addMusicDataChoice( mdc ); advanceCursorIfNeeded( apiNote, noteIter, noteEnd, isStartOfChord ); + } // foreach note + } // foreach voice bool areClefsRemaining = clefIter != clefEnd; diff --git a/Sourcecode/mx/impl/NoteWriter.cpp b/Sourcecode/mx/impl/NoteWriter.cpp index e58a1337b..c34a7c43e 100644 --- a/Sourcecode/mx/impl/NoteWriter.cpp +++ b/Sourcecode/mx/impl/NoteWriter.cpp @@ -3,48 +3,48 @@ // Distributed under the MIT License #include "mx/impl/NoteWriter.h" -#include "mx/core/elements/Note.h" -#include "mx/impl/ScoreWriter.h" #include "mx/core/elements/Accidental.h" #include "mx/core/elements/ActualNotes.h" #include "mx/core/elements/Alter.h" #include "mx/core/elements/Beam.h" #include "mx/core/elements/CueNoteGroup.h" +#include "mx/core/elements/CueNoteGroup.h" #include "mx/core/elements/DisplayOctave.h" #include "mx/core/elements/DisplayStep.h" #include "mx/core/elements/DisplayStepOctaveGroup.h" +#include "mx/core/elements/Dot.h" #include "mx/core/elements/Duration.h" #include "mx/core/elements/EditorialVoiceGroup.h" +#include "mx/core/elements/Footnote.h" #include "mx/core/elements/FullNoteGroup.h" #include "mx/core/elements/FullNoteTypeChoice.h" #include "mx/core/elements/GraceNoteGroup.h" +#include "mx/core/elements/GraceNoteGroup.h" +#include "mx/core/elements/NormalDot.h" +#include "mx/core/elements/NormalNoteGroup.h" #include "mx/core/elements/NormalNoteGroup.h" #include "mx/core/elements/NormalNotes.h" #include "mx/core/elements/NormalType.h" #include "mx/core/elements/NormalTypeNormalDotGroup.h" +#include "mx/core/elements/Notations.h" #include "mx/core/elements/Note.h" +#include "mx/core/elements/Note.h" +#include "mx/core/elements/NoteChoice.h" #include "mx/core/elements/NoteChoice.h" #include "mx/core/elements/Octave.h" #include "mx/core/elements/Pitch.h" #include "mx/core/elements/Rest.h" #include "mx/core/elements/Staff.h" +#include "mx/core/elements/Stem.h" #include "mx/core/elements/Step.h" +#include "mx/core/elements/Tie.h" #include "mx/core/elements/TimeModification.h" #include "mx/core/elements/Type.h" #include "mx/core/elements/Unpitched.h" #include "mx/core/elements/Voice.h" -#include "mx/core/elements/CueNoteGroup.h" -#include "mx/core/elements/GraceNoteGroup.h" -#include "mx/core/elements/NormalNoteGroup.h" -#include "mx/core/elements/NoteChoice.h" -#include "mx/core/elements/Tie.h" -#include "mx/core/elements/Dot.h" -#include "mx/core/elements/NormalDot.h" -#include "mx/core/elements/Stem.h" -#include "mx/core/elements/Notations.h" -#include "mx/core/elements/Footnote.h" -#include "mx/impl/NotationsWriter.h" #include "mx/core/Strings.h" +#include "mx/impl/NotationsWriter.h" +#include "mx/impl/ScoreWriter.h" namespace mx { @@ -92,8 +92,6 @@ namespace mx myOutNote->getAccidental()->setValue( myConverter.convert( myNoteData.pitchData.accidental ) ); } - - auto beamIndex = 0; for( const auto& beam : myNoteData.beams ) { diff --git a/Sourcecode/mxtest/api/ApiLy43eScoreData.h b/Sourcecode/mxtest/api/ApiLy43eScoreData.h index 2647c6fd6..4750758f6 100644 --- a/Sourcecode/mxtest/api/ApiLy43eScoreData.h +++ b/Sourcecode/mxtest/api/ApiLy43eScoreData.h @@ -84,33 +84,33 @@ namespace mxtest noteP->durationData.durationName = DurationName::quarter; noteP->durationData.durationTimeTicks = 8; + staff1P->voices[voice].notes.emplace_back( NoteData{} ); + noteP = &staff1P->voices[voice].notes.back(); + noteP->userRequestedVoiceNumber = voice + 1; + noteP->tickTimePosition = 24; + noteP->pitchData.step = Step::g; + noteP->pitchData.octave = 4; + noteP->pitchData.alter = 0; + noteP->pitchData.accidental = Accidental::none; + noteP->durationData.durationName = DurationName::quarter; + noteP->durationData.durationTimeTicks = 8; + staff1P->directions.emplace_back( DirectionData{} ); directionP = &staff1P->directions.back(); - directionP->tickTimePosition = 24; - directionP->isOffsetSpecified = true; - directionP->offset = 1; + directionP->tickTimePosition = 25; +// directionP->isOffsetSpecified = true; +// directionP->offset = 1; directionP->placement = Placement::below; directionP->isStaffValueSpecified = true; directionP->marks.emplace_back( MarkData{} ); directionMarkP = &directionP->marks.back(); + directionMarkP->tickTimePosition = directionP->tickTimePosition; directionMarkP->markType = MarkType::p; directionMarkP->name = "p"; - directionMarkP->tickTimePosition = 24; glyph = &MarkSmufl::getSmuflGlyphname( directionMarkP->markType ); directionMarkP->smuflName = glyph->below; directionMarkP->smuflCodepoint = Smufl::findCodepoint( directionMarkP->smuflName ); - staff1P->voices[voice].notes.emplace_back( NoteData{} ); - noteP = &staff1P->voices[voice].notes.back(); - noteP->userRequestedVoiceNumber = voice + 1; - noteP->tickTimePosition = 24; - noteP->pitchData.step = Step::g; - noteP->pitchData.octave = 4; - noteP->pitchData.alter = 0; - noteP->pitchData.accidental = Accidental::none; - noteP->durationData.durationName = DurationName::quarter; - noteP->durationData.durationTimeTicks = 8; - voice = 1; staff2P->voices[voice].notes.emplace_back( NoteData{} ); noteP = &staff2P->voices[voice].notes.back(); @@ -126,8 +126,8 @@ namespace mxtest staff2P->directions.emplace_back( DirectionData{} ); directionP = &staff2P->directions.back(); directionP->tickTimePosition = 0; - directionP->isOffsetSpecified = false; - directionP->offset = 0; +// directionP->isOffsetSpecified = false; +// directionP->offset = 0; directionP->placement = Placement::below; directionP->isStaffValueSpecified = true; directionP->wedgeStarts.emplace_back( WedgeStart{} ); @@ -150,8 +150,8 @@ namespace mxtest staff2P->directions.emplace_back( DirectionData{} ); directionP = &staff2P->directions.back(); directionP->tickTimePosition = 16; - directionP->isOffsetSpecified = false; - directionP->offset = 0; +// directionP->isOffsetSpecified = false; +// directionP->offset = 0; directionP->placement = Placement::unspecified; directionP->isStaffValueSpecified = true; directionP->wedgeStops.emplace_back( WedgeStop{} ); diff --git a/Sourcecode/mxtest/api/NoteDataTest.cpp b/Sourcecode/mxtest/api/NoteDataTest.cpp index 7c630c5a8..8a872336b 100644 --- a/Sourcecode/mxtest/api/NoteDataTest.cpp +++ b/Sourcecode/mxtest/api/NoteDataTest.cpp @@ -267,4 +267,47 @@ TEST( ornaments, NoteData ) } T_END +TEST( pedalStart, NoteData ) +{ + ScoreData score; + score.parts.emplace_back(); + auto& part = score.parts.back(); + part.measures.emplace_back(); + auto& measure = part.measures.back(); + measure.staves.emplace_back(); + auto& staff = measure.staves.back(); + auto& voice = staff.voices[0]; + voice.notes.emplace_back(); + + staff.directions.emplace_back(); + auto& direction = staff.directions.back(); + direction.marks.emplace_back( Placement::below, MarkType::pedal ); + direction.tickTimePosition = 420; + + // round trip it through xml + auto& mgr = DocumentManager::getInstance(); + auto docId = mgr.createFromScore( score ); + std::stringstream ss; + mgr.writeToStream(docId, ss); + mgr.destroyDocument(docId); + const std::string xml = ss.str(); + std::istringstream iss{ xml }; + docId = mgr.createFromStream( iss ); + auto oscore = mgr.getData(docId); + + // get the data after the round trip + auto& opart = oscore.parts.back(); + auto& omeasure = opart.measures.back(); + auto& ostaff = omeasure.staves.back(); + auto& odirections = ostaff.directions; + auto& odirection = odirections.back(); + auto& omark = odirection.marks.back(); + + CHECK( omark.markType == MarkType::pedal ); + CHECK_EQUAL( odirection.tickTimePosition, odirection.tickTimePosition ); + + +} +T_END + #endif diff --git a/Sourcecode/mxtest/control/CompileControl.h b/Sourcecode/mxtest/control/CompileControl.h index b34104ccc..705494bde 100755 --- a/Sourcecode/mxtest/control/CompileControl.h +++ b/Sourcecode/mxtest/control/CompileControl.h @@ -6,12 +6,12 @@ #define MX_COMPILE_API_TESTS #define MX_COMPILE_API_ROUNDTRIP //#define MX_COMPILE_CORE_TESTS -#define MX_COMPILE_IMPL_TESTS +//#define MX_COMPILE_IMPL_TESTS #define MX_COMPILE_IMPORT_TESTS -#define MX_COMPILE_UTILTIY_TESTS -#define MX_COMPILE_XML_TESTS +//#define MX_COMPILE_UTILTIY_TESTS +//#define MX_COMPILE_XML_TESTS // use this to restrict the size of the files that // the test run will open (compile-time constant). // 0 indicates no limit -constexpr const int MX_COMPILE_MAX_FILE_SIZE_BYTES = (5 * 1024); +constexpr const int MX_COMPILE_MAX_FILE_SIZE_BYTES = 1;//(5 * 1024); diff --git a/Sourcecode/mxtest/import/DecimalFields.h b/Sourcecode/mxtest/import/DecimalFields.h index 945fa48f4..edaea35d1 100755 --- a/Sourcecode/mxtest/import/DecimalFields.h +++ b/Sourcecode/mxtest/import/DecimalFields.h @@ -91,6 +91,12 @@ namespace mxtest } xelement.setValue( initialValue.substr( 0, initialValue.size() - chars ) ); + + auto str = xelement.getValue(); + if( str == "-0" ) + { + xelement.setValue( "0" ); + } } @@ -111,5 +117,11 @@ namespace mxtest } xattribute.setValue( initialValue.substr( 0, initialValue.size() - chars ) ); + + auto str = xattribute.getValue(); + if( str == "-0" ) + { + xattribute.setValue( "0" ); + } } } diff --git a/Xcode/MxTest.xcodeproj/project.pbxproj b/Xcode/MxTest.xcodeproj/project.pbxproj index 4eb366d87..e39b3338f 100755 --- a/Xcode/MxTest.xcodeproj/project.pbxproj +++ b/Xcode/MxTest.xcodeproj/project.pbxproj @@ -7,11 +7,10 @@ objects = { /* Begin PBXBuildFile section */ - 2903C9491DBC7ED600218C9E /* ApiTester.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2903C9471DBC7ED600218C9E /* ApiTester.cpp */; }; + 290A8CE41E881B1F00AF62C8 /* ApiTester.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2903C9471DBC7ED600218C9E /* ApiTester.cpp */; }; + 290A8CE51E881B2400AF62C8 /* ApiLy43eTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29FFAC7C1DB998C100DC8AE1 /* ApiLy43eTest.cpp */; }; 291A04761DC2BFD000B5C5F6 /* PositionFunctionsTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 291A04751DC2BFD000B5C5F6 /* PositionFunctionsTest.cpp */; }; - 29271A091DCBB6760036528D /* ApiK009bSlurTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29271A081DCBB6760036528D /* ApiK009bSlurTest.cpp */; }; 29271A0B1DCBD92D0036528D /* CurveFunctionsTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29271A0A1DCBD92D0036528D /* CurveFunctionsTest.cpp */; }; - 292D3FF41E57EBE4008AA032 /* NoteDataTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292D3FF31E57EBE4008AA032 /* NoteDataTest.cpp */; }; 292E371F1CA8D68D00CC63BB /* libMx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 292E371E1CA8D68D00CC63BB /* libMx.a */; }; 2936D20A1D20CBB6003836E5 /* ExpectedFiles.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2936D2091D20CBB6003836E5 /* ExpectedFiles.cpp */; }; 2937D17C1D18D43A001C2A1A /* XAttributeIteratorTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1771D18D43A001C2A1A /* XAttributeIteratorTest.cpp */; }; @@ -19,31 +18,22 @@ 2937D17E1D18D43A001C2A1A /* XDocTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1791D18D43A001C2A1A /* XDocTest.cpp */; }; 2937D17F1D18D43A001C2A1A /* XElementIteratorTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D17A1D18D43A001C2A1A /* XElementIteratorTest.cpp */; }; 2937D1801D18D43A001C2A1A /* XElementTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D17B1D18D43A001C2A1A /* XElementTest.cpp */; }; - 294775E21D934C510006E1AD /* ApiLoadSurvivalTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294775E11D934C510006E1AD /* ApiLoadSurvivalTest.cpp */; }; 294CE2031DCA952A0021670C /* PrintFunctionsTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294CE2021DCA952A0021670C /* PrintFunctionsTest.cpp */; }; - 29510AFD1E3113AA00EB76F0 /* ChordTimeTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29510AFC1E3113AA00EB76F0 /* ChordTimeTest.cpp */; }; 295897271DB9806600F18FBA /* MxFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2958971F1DB9806600F18FBA /* MxFile.cpp */; }; 295897281DB9806600F18FBA /* MxFileRepositoy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 295897221DB9806600F18FBA /* MxFileRepositoy.cpp */; }; 295897291DB9806600F18FBA /* MxFileTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 295897231DB9806600F18FBA /* MxFileTest.cpp */; }; 2958972A1DB9806600F18FBA /* MxFileTestGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 295897251DB9806600F18FBA /* MxFileTestGroup.cpp */; }; - 2961F1171DC7CDD700D62B16 /* ApiK007cTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2961F1161DC7CDD700D62B16 /* ApiK007cTest.cpp */; }; 2961F12E1DC7F36000D62B16 /* MagicTemplatesTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2961F12D1DC7F36000D62B16 /* MagicTemplatesTest.cpp */; }; - 2961F1311DC7F47100D62B16 /* ApiMuAccidentals1Test.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2961F1301DC7F47100D62B16 /* ApiMuAccidentals1Test.cpp */; }; - 2973CDE31DCD74CD001B9AAD /* ApiK015aLayoutTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2973CDE21DCD74CD001B9AAD /* ApiK015aLayoutTest.cpp */; }; 297555FD1D1359CA007732D0 /* HelloWorldTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 297555FB1D1359CA007732D0 /* HelloWorldTest.cpp */; }; 297556081D135AA3007732D0 /* UtilityImplTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 297556061D135AA3007732D0 /* UtilityImplTest.cpp */; }; 297556091D135AA3007732D0 /* UtilityTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 297556071D135AA3007732D0 /* UtilityTest.cpp */; }; 297DD7C91D1A4BD1003BADC1 /* ImportTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 297DD7C81D1A4BD1003BADC1 /* ImportTest.cpp */; }; 298F0F4D1D1E4981005C3D9D /* ImportTestImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 298F0F4B1D1E4981005C3D9D /* ImportTestImpl.cpp */; }; - 29979D621DC811F300707AA4 /* TimeSignatureApiTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29979D611DC811F300707AA4 /* TimeSignatureApiTest.cpp */; }; - 29A338801E652432001D61DD /* BombeTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A3387F1E652432001D61DD /* BombeTest.cpp */; }; - 29AD58B81E3D1000004FD94E /* MetronomeApiTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29AD58B71E3D1000004FD94E /* MetronomeApiTest.cpp */; }; 29B48EDB1DBE7F550030A974 /* MeasureWriterTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29B48ED71DBE7F550030A974 /* MeasureWriterTest.cpp */; }; 29B48EDC1DBE7F550030A974 /* NoteWriterTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29B48ED81DBE7F550030A974 /* NoteWriterTest.cpp */; }; 29B48EDD1DBE7F550030A974 /* PartWriterTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29B48ED91DBE7F550030A974 /* PartWriterTest.cpp */; }; 29B48EDE1DBE7F550030A974 /* ScoreWriterTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29B48EDA1DBE7F550030A974 /* ScoreWriterTest.cpp */; }; 29B962781E79FEE40072071D /* Mx_iOS.h in Headers */ = {isa = PBXBuildFile; fileRef = 29B962761E79FEE40072071D /* Mx_iOS.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 29BF988B1DC6D20500BBC7B3 /* ApiK007aTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29BF988A1DC6D20500BBC7B3 /* ApiK007aTest.cpp */; }; 29C01D6C1D1312FA0094BE61 /* AccentTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B641D1312F90094BE61 /* AccentTest.cpp */; }; 29C01D6D1D1312FA0094BE61 /* AccidentalMarkTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B651D1312F90094BE61 /* AccidentalMarkTest.cpp */; }; 29C01D6E1D1312FA0094BE61 /* AccidentalTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B661D1312F90094BE61 /* AccidentalTest.cpp */; }; @@ -464,12 +454,7 @@ 29C175A01DC0253900CC48D7 /* DirectionWriterTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C1759F1DC0253900CC48D7 /* DirectionWriterTest.cpp */; }; 29C227ED1D2F5DE000677B3C /* SortAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C227EB1D2F5DE000677B3C /* SortAttributes.cpp */; }; 29C227F01D2F74B500677B3C /* ChangeValues.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C227EE1D2F74B500677B3C /* ChangeValues.cpp */; }; - 29C9AFD91DC3BE6000DD9BFB /* ChordApiTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C9AFD81DC3BE6000DD9BFB /* ChordApiTest.cpp */; }; 29DE547A1DB98E7100F5F8A7 /* StupidFileFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29DE54781DB98E7100F5F8A7 /* StupidFileFunctions.cpp */; }; - 29E41D691DC978400085405E /* ApiK014aFermatasTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E41D681DC978400085405E /* ApiK014aFermatasTest.cpp */; }; - 29EF44101D6E8F5500DBDAB9 /* DocumentManagerTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF440F1D6E8F5500DBDAB9 /* DocumentManagerTest.cpp */; }; - 29FF27351DD7DE880005B0AA /* ApiK016aMiscTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29FF27341DD7DE880005B0AA /* ApiK016aMiscTest.cpp */; }; - 29FFAC7E1DB99AD400DC8AE1 /* ApiLy43eTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29FFAC7C1DB998C100DC8AE1 /* ApiLy43eTest.cpp */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -1927,17 +1912,16 @@ 29C01EDD1D1312FA0094BE61 /* TimeRelationTest.cpp in Sources */, 29C01ED11D1312FA0094BE61 /* SystemLayoutTest.cpp in Sources */, 29C01DC21D1312FA0094BE61 /* DocumentTimewiseConvertTest.cpp in Sources */, - 29A338801E652432001D61DD /* BombeTest.cpp in Sources */, 29C01E261D1312FA0094BE61 /* LevelTest.cpp in Sources */, 29C01E4C1D1312FA0094BE61 /* MusicDataChoiceTest.cpp in Sources */, 29C01DF01D1312FA0094BE61 /* FullNoteGroupTest.cpp in Sources */, - 29C9AFD91DC3BE6000DD9BFB /* ChordApiTest.cpp in Sources */, 29C01F191D13137D0094BE61 /* cpulTestRegistry.cpp in Sources */, 29C01E631D1312FA0094BE61 /* OpusTest.cpp in Sources */, 29C01DA31D1312FA0094BE61 /* CreditWordsGroupTest.cpp in Sources */, 29C01DD91D1312FA0094BE61 /* EndParagraphTest.cpp in Sources */, 29C01E8C1D1312FA0094BE61 /* PrintTest.cpp in Sources */, 295897281DB9806600F18FBA /* MxFileRepositoy.cpp in Sources */, + 290A8CE41E881B1F00AF62C8 /* ApiTester.cpp in Sources */, 29C01EF21D1312FA0094BE61 /* TurnTest.cpp in Sources */, 29C01E751D1312FA0094BE61 /* PartGroupOrScorePartTest.cpp in Sources */, 29C01EE31D1312FA0094BE61 /* TopMarginTest.cpp in Sources */, @@ -1996,14 +1980,12 @@ 29C01E461D1312FA0094BE61 /* MiscellaneousTest.cpp in Sources */, 29C01EF81D1312FA0094BE61 /* VirtualInstrumentTest.cpp in Sources */, 29C01D6F1D1312FA0094BE61 /* AccidentalTextTest.cpp in Sources */, - 29271A091DCBB6760036528D /* ApiK009bSlurTest.cpp in Sources */, 29C01DBD1D1312FA0094BE61 /* DivisionsTest.cpp in Sources */, 29C01DFA1D1312FA0094BE61 /* GroupingTest.cpp in Sources */, 29C01ECA1D1312FA0094BE61 /* StrongAccentTest.cpp in Sources */, 29C01E3F1D1312FA0094BE61 /* MidiDeviceTest.cpp in Sources */, 29C01DC41D1312FA0094BE61 /* DocumentTimewiseTest.cpp in Sources */, 29C01EFE1D1312FA0094BE61 /* WedgeTest.cpp in Sources */, - 29AD58B81E3D1000004FD94E /* MetronomeApiTest.cpp in Sources */, 29C01E741D1312FA0094BE61 /* PartAbbreviationTest.cpp in Sources */, 29C01D8F1D1312FA0094BE61 /* BendTest.cpp in Sources */, 29C01EC91D1312FA0094BE61 /* StringTest.cpp in Sources */, @@ -2050,13 +2032,10 @@ 29C01EB21D1312FA0094BE61 /* SourceTest.cpp in Sources */, 29C01E8A1D1312FA0094BE61 /* PrefixTest.cpp in Sources */, 29C01F001D1312FA0094BE61 /* WoodTest.cpp in Sources */, - 29BF988B1DC6D20500BBC7B3 /* ApiK007aTest.cpp in Sources */, 29C01D931D1312FA0094BE61 /* BreathMarkTest.cpp in Sources */, - 29510AFD1E3113AA00EB76F0 /* ChordTimeTest.cpp in Sources */, 29C01E7F1D1312FA0094BE61 /* PedalTest.cpp in Sources */, 29C01EE01D1312FA0094BE61 /* TimewisePartTest.cpp in Sources */, 29C01DFB1D1312FA0094BE61 /* GroupNameDisplayTest.cpp in Sources */, - 294775E21D934C510006E1AD /* ApiLoadSurvivalTest.cpp in Sources */, 29C01EE61D1312FA0094BE61 /* TransposeTest.cpp in Sources */, 29C01DB61D1312FA0094BE61 /* DirectionTypeTest.cpp in Sources */, 29C01EAE1D1312FA0094BE61 /* SoftwareTest.cpp in Sources */, @@ -2072,8 +2051,6 @@ 29B48EDE1DBE7F550030A974 /* ScoreWriterTest.cpp in Sources */, 29C01E781D1312FA0094BE61 /* PartNameDisplayTest.cpp in Sources */, 29C01E371D1312FA0094BE61 /* MetronomeDotTest.cpp in Sources */, - 29E41D691DC978400085405E /* ApiK014aFermatasTest.cpp in Sources */, - 2903C9491DBC7ED600218C9E /* ApiTester.cpp in Sources */, 29C01EDF1D1312FA0094BE61 /* TimewiseMeasureTest.cpp in Sources */, 29C01DA81D1312FA0094BE61 /* DampTest.cpp in Sources */, 29C01E001D1312FA0094BE61 /* HammerOnTest.cpp in Sources */, @@ -2104,12 +2081,10 @@ 29C01E1C1D1312FA0094BE61 /* KeyAccidentalTest.cpp in Sources */, 29C01D731D1312FA0094BE61 /* AccordionRegistrationTest.cpp in Sources */, 29C01E3A1D1312FA0094BE61 /* MetronomeTest.cpp in Sources */, - 29FFAC7E1DB99AD400DC8AE1 /* ApiLy43eTest.cpp in Sources */, 29C01DCF1D1312FA0094BE61 /* ElevationTest.cpp in Sources */, 29C01E021D1312FA0094BE61 /* HarmonicInfoChoiceTest.cpp in Sources */, 29C01E131D1312FA0094BE61 /* InstrumentSoundTest.cpp in Sources */, 29C01E5B1D1312FA0094BE61 /* NoteSizeTest.cpp in Sources */, - 29979D621DC811F300707AA4 /* TimeSignatureApiTest.cpp in Sources */, 29C01DAF1D1312FA0094BE61 /* DegreeTypeTest.cpp in Sources */, 29C01EEF1D1312FA0094BE61 /* TupletNormalTest.cpp in Sources */, 29C01EA01D1312FA0094BE61 /* ScorePartTest.cpp in Sources */, @@ -2126,6 +2101,7 @@ 29C01DBB1D1312FA0094BE61 /* DisplayTextTest.cpp in Sources */, 29C01EAC1D1312FA0094BE61 /* SlurTest.cpp in Sources */, 29C01F061D1312FA0094BE61 /* YesNoNumberTest.cpp in Sources */, + 290A8CE51E881B2400AF62C8 /* ApiLy43eTest.cpp in Sources */, 29C01DA01D1312FA0094BE61 /* CreditImageTest.cpp in Sources */, 29C01E991D1312FA0094BE61 /* RootTest.cpp in Sources */, 29C01DB31D1312FA0094BE61 /* DetachedLegatoTest.cpp in Sources */, @@ -2214,7 +2190,6 @@ 29C01DC31D1312FA0094BE61 /* DocumentTimewiseCreate.cpp in Sources */, 29C01D771D1312FA0094BE61 /* AppearanceTest.cpp in Sources */, 29C01E5C1D1312FA0094BE61 /* NoteTest.cpp in Sources */, - 292D3FF41E57EBE4008AA032 /* NoteDataTest.cpp in Sources */, 29C01E951D1312FA0094BE61 /* RightMarginTest.cpp in Sources */, 29C01EAD1D1312FA0094BE61 /* SnapPizzicatoTest.cpp in Sources */, 29C01E9F1D1312FA0094BE61 /* ScoreInstrumentTest.cpp in Sources */, @@ -2270,7 +2245,6 @@ 2936D20A1D20CBB6003836E5 /* ExpectedFiles.cpp in Sources */, 29C01E691D1312FA0094BE61 /* OtherNotationTest.cpp in Sources */, 29C01EA11D1312FA0094BE61 /* ScorePartwiseTest.cpp in Sources */, - 29FF27351DD7DE880005B0AA /* ApiK016aMiscTest.cpp in Sources */, 29C01E121D1312FA0094BE61 /* InstrumentNameTest.cpp in Sources */, 29C01EA51D1312FA0094BE61 /* SenzaMisuraTest.cpp in Sources */, 29C01E9B1D1312FA0094BE61 /* SchleiferTest.cpp in Sources */, @@ -2290,7 +2264,6 @@ 29C01EE91D1312FA0094BE61 /* TripleTongueTest.cpp in Sources */, 29C01D841D1312FA0094BE61 /* BassStepTest.cpp in Sources */, 29C01E061D1312FA0094BE61 /* HarmonyTest.cpp in Sources */, - 2973CDE31DCD74CD001B9AAD /* ApiK015aLayoutTest.cpp in Sources */, 29C01E0A1D1312FA0094BE61 /* HoleClosedTest.cpp in Sources */, 29C01DDB1D1312FA0094BE61 /* EnumsTest.cpp in Sources */, 29C01EB31D1312FA0094BE61 /* SpiccatoTest.cpp in Sources */, @@ -2348,7 +2321,6 @@ 29C01DE81D1312FA0094BE61 /* FontSizeTest.cpp in Sources */, 29C01E411D1312FA0094BE61 /* MidiNameTest.cpp in Sources */, 29C01F1B1D13137D0094BE61 /* main.cpp in Sources */, - 2961F1171DC7CDD700D62B16 /* ApiK007cTest.cpp in Sources */, 29C01E1E1D1312FA0094BE61 /* KeyOctaveTest.cpp in Sources */, 29C01D891D1312FA0094BE61 /* BeatsTest.cpp in Sources */, 29C01DD11D1312FA0094BE61 /* ElisionSyllabicTextGroupTest.cpp in Sources */, @@ -2357,7 +2329,6 @@ 29C01DCB1D1312FA0094BE61 /* DynamicsTest.cpp in Sources */, 29C01EFC1D1312FA0094BE61 /* VolumeTest.cpp in Sources */, 29C01F021D1312FA0094BE61 /* WordsTest.cpp in Sources */, - 2961F1311DC7F47100D62B16 /* ApiMuAccidentals1Test.cpp in Sources */, 29C01D961D1312FA0094BE61 /* CapoTest.cpp in Sources */, 29C01F161D13137D0094BE61 /* cpulFailure.cpp in Sources */, 29C01EF11D1312FA0094BE61 /* TupletTypeTest.cpp in Sources */, @@ -2368,7 +2339,6 @@ 29C01D781D1312FA0094BE61 /* ArpeggiateTest.cpp in Sources */, 29C01DB81D1312FA0094BE61 /* DisplayOctaveTest.cpp in Sources */, 29C01E481D1312FA0094BE61 /* MordentTest.cpp in Sources */, - 29EF44101D6E8F5500DBDAB9 /* DocumentManagerTest.cpp in Sources */, 29C01EDE1D1312FA0094BE61 /* TimeTest.cpp in Sources */, 29C01E791D1312FA0094BE61 /* PartNameTest.cpp in Sources */, 29C01DD61D1312FA0094BE61 /* EncodingTest.cpp in Sources */, From d38ee85cf96f6e0cbfc86c1ec41570af4ab24620 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Sun, 26 Mar 2017 10:57:39 -0700 Subject: [PATCH 015/108] mxapi direction mark time bug fixed --- Sourcecode/mx/impl/DirectionReader.cpp | 9 +++- Sourcecode/mx/impl/DirectionWriter.cpp | 4 +- Sourcecode/mx/impl/MeasureReader.cpp | 48 ++++++++++++++------ Sourcecode/mx/impl/MeasureReader.h | 10 +++-- Sourcecode/mx/impl/MeasureWriter.cpp | 61 ++++++++++++++++---------- Sourcecode/mx/impl/MeasureWriter.h | 3 ++ 6 files changed, 91 insertions(+), 44 deletions(-) diff --git a/Sourcecode/mx/impl/DirectionReader.cpp b/Sourcecode/mx/impl/DirectionReader.cpp index 8a33881e8..13d4f1b2d 100644 --- a/Sourcecode/mx/impl/DirectionReader.cpp +++ b/Sourcecode/mx/impl/DirectionReader.cpp @@ -77,7 +77,14 @@ namespace mx const auto& dt = *dtPtr; parseDirectionType( dt ); } - + + // messy - need to make sure all the MarkDatas have the same tickTimePosition + // as their parent DirectionData. + for( auto& mark : myOutDirectionData.marks ) + { + mark.tickTimePosition = myOutDirectionData.tickTimePosition; + } + api::DirectionData temp{ std::move( myOutDirectionData ) }; myOutDirectionData = api::DirectionData{}; return temp; diff --git a/Sourcecode/mx/impl/DirectionWriter.cpp b/Sourcecode/mx/impl/DirectionWriter.cpp index 61d19b29b..c2c8adbc6 100644 --- a/Sourcecode/mx/impl/DirectionWriter.cpp +++ b/Sourcecode/mx/impl/DirectionWriter.cpp @@ -92,8 +92,10 @@ namespace mx myOutDirectionPtr->getOffset()->getAttributes()->sound = core::YesNo::yes; } - for( const auto& mark : myDirectionData.marks ) + for( auto mark : myDirectionData.marks ) { + mark.tickTimePosition = myDirectionData.tickTimePosition; + // TODO - skip marks that aren't of the correct type (i.e. direction marks) // if !isDirection( mark ) continue; if( isMarkDynamic( mark.markType ) ) diff --git a/Sourcecode/mx/impl/MeasureReader.cpp b/Sourcecode/mx/impl/MeasureReader.cpp index 9a77f4946..5d2cf43ca 100644 --- a/Sourcecode/mx/impl/MeasureReader.cpp +++ b/Sourcecode/mx/impl/MeasureReader.cpp @@ -91,13 +91,16 @@ namespace mx , myOutMeasureData{} , myCurrentCursor{ cursor } , myPreviousMeasureCursor{ previousMeasureCursor } - , myCursorHistory{} + , myHistory{} { - CursorMovementRecord initialCursorRecord; + HistoryRecord initialCursorRecord; + initialCursorRecord.amount = 0; initialCursorRecord.reason = "starting position"; - initialCursorRecord.beforeMove = cursor; - initialCursorRecord.afterMove = cursor; - myCursorHistory.emplace_back( std::move( cursor ) ); + initialCursorRecord.timeBefore = cursor.tickTimePosition; + initialCursorRecord.timeAfter = cursor.tickTimePosition; + initialCursorRecord.cursorBefore = cursor; + initialCursorRecord.cursorAfter = cursor; + myHistory.emplace_back( std::move( initialCursorRecord ) ); } void MeasureReader::addStavesToOutMeasure() const @@ -197,6 +200,7 @@ namespace mx myOutMeasureData.timeSignature = timeSignature; myCurrentCursor.timeSignature = timeSignature; + advanceTickTimePosition( 0, "parseTimeSignature" ); } @@ -213,11 +217,6 @@ namespace mx case core::MusicDataChoice::Choice::backup: { parseBackup( *mdc.getBackup() ); - - if( myCurrentCursor.tickTimePosition < 0 ) - { - myCurrentCursor.tickTimePosition = 0; - } break; } case core::MusicDataChoice::Choice::forward: @@ -231,60 +230,70 @@ namespace mx { myCurrentCursor.isBackupInProgress = false; parseDirection( *mdc.getDirection() ); + advanceTickTimePosition( 0, "parseDirection" ); break; } case core::MusicDataChoice::Choice::properties: { myCurrentCursor.isBackupInProgress = false; parseProperties( *mdc.getProperties() ); + advanceTickTimePosition( 0, "parseProperties" ); break; } case core::MusicDataChoice::Choice::harmony: { myCurrentCursor.isBackupInProgress = false; parseHarmony( *mdc.getHarmony() ); + advanceTickTimePosition( 0, "parseHarmony" ); break; } case core::MusicDataChoice::Choice::figuredBass: { myCurrentCursor.isBackupInProgress = false; parseFiguredBass( *mdc.getFiguredBass() ); + advanceTickTimePosition( 0, "parseFiguredBass" ); break; } case core::MusicDataChoice::Choice::print: { myCurrentCursor.isBackupInProgress = false; parsePrint( *mdc.getPrint() ); + advanceTickTimePosition( 0, "parsePrint" ); break; } case core::MusicDataChoice::Choice::sound: { myCurrentCursor.isBackupInProgress = false; parseSound( *mdc.getSound() ); + advanceTickTimePosition( 0, "parseSound" ); break; } case core::MusicDataChoice::Choice::barline: { myCurrentCursor.isBackupInProgress = false; parseBarline( *mdc.getBarline() ); + advanceTickTimePosition( 0, "parseBarline" ); break; } case core::MusicDataChoice::Choice::grouping: { myCurrentCursor.isBackupInProgress = false; parseGrouping( *mdc.getGrouping() ); + advanceTickTimePosition( 0, "parseGrouping" ); break; } case core::MusicDataChoice::Choice::link: { myCurrentCursor.isBackupInProgress = false; parseLink( *mdc.getLink() ); + advanceTickTimePosition( 0, "parseLink" ); break; } case core::MusicDataChoice::Choice::bookmark: { myCurrentCursor.isBackupInProgress = false; parseBookmark( *mdc.getBookmark() ); + advanceTickTimePosition( 0, "parseBookmark" ); break; } default: @@ -350,6 +359,12 @@ namespace mx myCurrentCursor.isBackupInProgress = true; const int backupAmount = myCurrentCursor.convertDurationToGlobalTickScale( *inMxBackup.getDuration() ); advanceTickTimePosition( -1 * backupAmount, "backup" ); + + if (myCurrentCursor.tickTimePosition < 0) + { + auto problemAmount = myCurrentCursor.tickTimePosition * -1; + advanceTickTimePosition( problemAmount, "correct backup negative error" ); + } } @@ -782,12 +797,17 @@ namespace mx void MeasureReader::advanceTickTimePosition( int amount, std::string reason ) const { - CursorMovementRecord record; + HistoryRecord record; record.reason = std::move( reason ); - record.beforeMove = myCurrentCursor; + record.amount = amount; + record.timeBefore = myCurrentCursor.tickTimePosition; + record.cursorBefore = myCurrentCursor; myCurrentCursor.tickTimePosition += amount; - record.afterMove = myCurrentCursor; - myCursorHistory.emplace_back( std::move( record ) ); + record.cursorAfter = myCurrentCursor; + record.timeAfter = myCurrentCursor.tickTimePosition; + + myHistory.push_back( record ); +// std::cout << record.reason << std::endl; } } } diff --git a/Sourcecode/mx/impl/MeasureReader.h b/Sourcecode/mx/impl/MeasureReader.h index fd46514da..0ee934072 100644 --- a/Sourcecode/mx/impl/MeasureReader.h +++ b/Sourcecode/mx/impl/MeasureReader.h @@ -55,16 +55,18 @@ namespace mx mutable MeasureCursor myCurrentCursor; mutable MeasureCursor myPreviousMeasureCursor; - class CursorMovementRecord + class HistoryRecord { public: std::string reason; int amount; - MeasureCursor beforeMove; - MeasureCursor afterMove; + int timeBefore; + int timeAfter; + MeasureCursor cursorBefore; + MeasureCursor cursorAfter; }; - mutable std::vector myCursorHistory; + mutable std::vector myHistory; private: void addStavesToOutMeasure() const; diff --git a/Sourcecode/mx/impl/MeasureWriter.cpp b/Sourcecode/mx/impl/MeasureWriter.cpp index 6afe46c10..f037f8295 100644 --- a/Sourcecode/mx/impl/MeasureWriter.cpp +++ b/Sourcecode/mx/impl/MeasureWriter.cpp @@ -370,20 +370,26 @@ namespace mx } myPropertiesWriter->flushBuffer(); - - for( ; directionIter != directionEnd && directionIter->tickTimePosition <= myCursor.tickTimePosition; ++directionIter ) + { - if( isDirectionDataEmpty( *directionIter ) ) + auto nextNote = noteIter; + ++nextNote; + auto nextTime = std::numeric_limits::max(); + + if( nextNote != noteEnd ) { - continue; + auto nextNoteTime = nextNote->tickTimePosition; + + if( nextNoteTime > myCursor.tickTimePosition ) + { + nextTime = nextNoteTime; + } } - auto directionMdc = core::makeMusicDataChoice(); - directionMdc->setChoice( core::MusicDataChoice::Choice::direction ); - DirectionWriter directionWriter{ *directionIter, myCursor }; - directionMdc->setDirection( directionWriter.getDirection() ); - myOutMeasure->getMusicDataGroup()->addMusicDataChoice( directionMdc ); + + writeDirections( directionIter, directionEnd, nextTime ); } - + + auto mdc = core::makeMusicDataChoice(); mdc->setChoice( core::MusicDataChoice::Choice::note ); NoteWriter writer{ apiNote, myCursor, myScoreWriter, myPreviousCursor.isChordActive }; @@ -424,18 +430,7 @@ namespace mx myPropertiesWriter->flushBuffer(); } - for( ; directionIter != directionEnd; ++directionIter ) - { - if( isDirectionDataEmpty( *directionIter ) ) - { - continue; - } - auto directionMdc = core::makeMusicDataChoice(); - directionMdc->setChoice( core::MusicDataChoice::Choice::direction ); - DirectionWriter directionWriter{ *directionIter, myCursor }; - directionMdc->setDirection( directionWriter.getDirection() ); - myOutMeasure->getMusicDataGroup()->addMusicDataChoice( directionMdc ); - } + writeDirections( directionIter, directionEnd, std::numeric_limits::max() ); } // func writeVoices @@ -495,8 +490,26 @@ namespace mx myPreviousCursor = myCursor; } - - + + + void MeasureWriter::writeDirections( dIter& directionIter, const dIter& directionEnd, int maxTickTimePosition ) + { + for( ; directionIter != directionEnd && directionIter->tickTimePosition <= maxTickTimePosition; ++directionIter ) + { + if( isDirectionDataEmpty( *directionIter ) ) + { + continue; + } + auto directionMdc = core::makeMusicDataChoice(); + directionMdc->setChoice( core::MusicDataChoice::Choice::direction ); +// auto tempDirectionCursor = myCursor; + DirectionWriter directionWriter{ *directionIter, myCursor }; + directionMdc->setDirection( directionWriter.getDirection() ); + myOutMeasure->getMusicDataGroup()->addMusicDataChoice( directionMdc ); + } + } + + void MeasureWriter::writeBarlines( int tickTimePosition ) { for( ; myBarlinesIter != myBarlinesEnd && myBarlinesIter->tickTimePosition <= tickTimePosition; ++myBarlinesIter ) diff --git a/Sourcecode/mx/impl/MeasureWriter.h b/Sourcecode/mx/impl/MeasureWriter.h index e8329bf2b..e71cc1481 100644 --- a/Sourcecode/mx/impl/MeasureWriter.h +++ b/Sourcecode/mx/impl/MeasureWriter.h @@ -59,6 +59,9 @@ namespace mx void forward( const int ticks ); void advanceCursorIfNeeded( const api::NoteData& currentNote, NoteIter inNoteIter, const NoteIter inEndIter, bool isStartOfChord ); void writeBarlines( int tickTimePosition ); + using dirs = std::vector; + using dIter = dirs::const_iterator; + void writeDirections( dIter& directionIter, const dIter& directionEnd, int maxTickTimePosition ); template std::vector findItemsAtTimePosition( const std::vector& inItems, int inTickTimePosition ) From abafdf53efcf373bb8c5d56d5deda2476b8ce2f4 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Sun, 26 Mar 2017 11:00:23 -0700 Subject: [PATCH 016/108] mxapi reenable some tests --- Sourcecode/mxtest/control/CompileControl.h | 2 +- Xcode/MxTest.xcodeproj/project.pbxproj | 30 ++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/Sourcecode/mxtest/control/CompileControl.h b/Sourcecode/mxtest/control/CompileControl.h index 705494bde..06da8c6ae 100755 --- a/Sourcecode/mxtest/control/CompileControl.h +++ b/Sourcecode/mxtest/control/CompileControl.h @@ -14,4 +14,4 @@ // use this to restrict the size of the files that // the test run will open (compile-time constant). // 0 indicates no limit -constexpr const int MX_COMPILE_MAX_FILE_SIZE_BYTES = 1;//(5 * 1024); +constexpr const int MX_COMPILE_MAX_FILE_SIZE_BYTES = (5 * 1024); diff --git a/Xcode/MxTest.xcodeproj/project.pbxproj b/Xcode/MxTest.xcodeproj/project.pbxproj index e39b3338f..7a6d625a8 100755 --- a/Xcode/MxTest.xcodeproj/project.pbxproj +++ b/Xcode/MxTest.xcodeproj/project.pbxproj @@ -9,6 +9,21 @@ /* Begin PBXBuildFile section */ 290A8CE41E881B1F00AF62C8 /* ApiTester.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2903C9471DBC7ED600218C9E /* ApiTester.cpp */; }; 290A8CE51E881B2400AF62C8 /* ApiLy43eTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29FFAC7C1DB998C100DC8AE1 /* ApiLy43eTest.cpp */; }; + 290A8CE61E8838DD00AF62C8 /* ApiK007aTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29BF988A1DC6D20500BBC7B3 /* ApiK007aTest.cpp */; }; + 290A8CE71E8838DD00AF62C8 /* ApiK007cTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2961F1161DC7CDD700D62B16 /* ApiK007cTest.cpp */; }; + 290A8CE81E8838DD00AF62C8 /* ApiK009bSlurTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29271A081DCBB6760036528D /* ApiK009bSlurTest.cpp */; }; + 290A8CE91E8838DD00AF62C8 /* ApiK014aFermatasTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E41D681DC978400085405E /* ApiK014aFermatasTest.cpp */; }; + 290A8CEA1E8838DD00AF62C8 /* ApiK015aLayoutTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2973CDE21DCD74CD001B9AAD /* ApiK015aLayoutTest.cpp */; }; + 290A8CEB1E8838DD00AF62C8 /* ApiK016aMiscTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29FF27341DD7DE880005B0AA /* ApiK016aMiscTest.cpp */; }; + 290A8CEC1E8838DD00AF62C8 /* ApiLoadSurvivalTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294775E11D934C510006E1AD /* ApiLoadSurvivalTest.cpp */; }; + 290A8CED1E8838DD00AF62C8 /* ApiMuAccidentals1Test.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2961F1301DC7F47100D62B16 /* ApiMuAccidentals1Test.cpp */; }; + 290A8CEE1E8838DD00AF62C8 /* ChordApiTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C9AFD81DC3BE6000DD9BFB /* ChordApiTest.cpp */; }; + 290A8CEF1E8838DD00AF62C8 /* ChordTimeTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29510AFC1E3113AA00EB76F0 /* ChordTimeTest.cpp */; }; + 290A8CF01E8838DD00AF62C8 /* DocumentManagerTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF440F1D6E8F5500DBDAB9 /* DocumentManagerTest.cpp */; }; + 290A8CF11E8838DD00AF62C8 /* MetronomeApiTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29AD58B71E3D1000004FD94E /* MetronomeApiTest.cpp */; }; + 290A8CF21E8838DD00AF62C8 /* TimeSignatureApiTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29979D611DC811F300707AA4 /* TimeSignatureApiTest.cpp */; }; + 290A8CF31E8838DD00AF62C8 /* NoteDataTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292D3FF31E57EBE4008AA032 /* NoteDataTest.cpp */; }; + 290A8CF41E8838DD00AF62C8 /* BombeTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A3387F1E652432001D61DD /* BombeTest.cpp */; }; 291A04761DC2BFD000B5C5F6 /* PositionFunctionsTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 291A04751DC2BFD000B5C5F6 /* PositionFunctionsTest.cpp */; }; 29271A0B1DCBD92D0036528D /* CurveFunctionsTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29271A0A1DCBD92D0036528D /* CurveFunctionsTest.cpp */; }; 292E371F1CA8D68D00CC63BB /* libMx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 292E371E1CA8D68D00CC63BB /* libMx.a */; }; @@ -1950,12 +1965,14 @@ 29C01D761D1312FA0094BE61 /* AlterTest.cpp in Sources */, 29C01EAF1D1312FA0094BE61 /* SoloTest.cpp in Sources */, 29C01E6C1D1312FA0094BE61 /* OtherPlayTest.cpp in Sources */, + 290A8CEF1E8838DD00AF62C8 /* ChordTimeTest.cpp in Sources */, 29C01D8A1D1312FA0094BE61 /* BeatTypeTest.cpp in Sources */, 29C01DBC1D1312FA0094BE61 /* DistanceTest.cpp in Sources */, 294CE2031DCA952A0021670C /* PrintFunctionsTest.cpp in Sources */, 29C01EBC1D1312FA0094BE61 /* StaffTuningTest.cpp in Sources */, 29C01DDD1D1312FA0094BE61 /* EyeglassesTest.cpp in Sources */, 295897291DB9806600F18FBA /* MxFileTest.cpp in Sources */, + 290A8CF21E8838DD00AF62C8 /* TimeSignatureApiTest.cpp in Sources */, 29C01E731D1312FA0094BE61 /* PartAbbreviationDisplayTest.cpp in Sources */, 29C01ECE1D1312FA0094BE61 /* SyllabicTextGroupTest.cpp in Sources */, 29C01D701D1312FA0094BE61 /* AccordionHighTest.cpp in Sources */, @@ -1999,6 +2016,7 @@ 29C01E4D1D1312FA0094BE61 /* MusicDataGroupTest.cpp in Sources */, 29C01E401D1312FA0094BE61 /* MidiInstrumentTest.cpp in Sources */, 29C01E671D1312FA0094BE61 /* OtherArticulationTest.cpp in Sources */, + 290A8CF11E8838DD00AF62C8 /* MetronomeApiTest.cpp in Sources */, 29C01DCC1D1312FA0094BE61 /* EditorialGroupTest.cpp in Sources */, 29C01E8E1D1312FA0094BE61 /* PullOffTest.cpp in Sources */, 29C01EFA1D1312FA0094BE61 /* VirtualNameTest.cpp in Sources */, @@ -2015,6 +2033,7 @@ 29C01D8B1D1312FA0094BE61 /* BeatUnitDotTest.cpp in Sources */, 29C01ED21D1312FA0094BE61 /* SystemMarginsTest.cpp in Sources */, 29C01D9E1D1312FA0094BE61 /* CreatorTest.cpp in Sources */, + 290A8CF41E8838DD00AF62C8 /* BombeTest.cpp in Sources */, 29C01E861D1312FA0094BE61 /* PlopTest.cpp in Sources */, 29C01E011D1312FA0094BE61 /* HandbellTest.cpp in Sources */, 29C01DD21D1312FA0094BE61 /* ElisionTest.cpp in Sources */, @@ -2031,6 +2050,7 @@ 29C01D741D1312FA0094BE61 /* AccordTest.cpp in Sources */, 29C01EB21D1312FA0094BE61 /* SourceTest.cpp in Sources */, 29C01E8A1D1312FA0094BE61 /* PrefixTest.cpp in Sources */, + 290A8CE61E8838DD00AF62C8 /* ApiK007aTest.cpp in Sources */, 29C01F001D1312FA0094BE61 /* WoodTest.cpp in Sources */, 29C01D931D1312FA0094BE61 /* BreathMarkTest.cpp in Sources */, 29C01E7F1D1312FA0094BE61 /* PedalTest.cpp in Sources */, @@ -2075,6 +2095,7 @@ 29C01EA81D1312FA0094BE61 /* SlashDotTest.cpp in Sources */, 29C01E9E1D1312FA0094BE61 /* ScoreHeaderGroupTest.cpp in Sources */, 29C01DFC1D1312FA0094BE61 /* GroupNameTest.cpp in Sources */, + 290A8CE91E8838DD00AF62C8 /* ApiK014aFermatasTest.cpp in Sources */, 29C01E581D1312FA0094BE61 /* NoteChoiceTest.cpp in Sources */, 29C01EE41D1312FA0094BE61 /* TopSystemDistanceTest.cpp in Sources */, 29C01DEA1D1312FA0094BE61 /* ForwardTest.cpp in Sources */, @@ -2114,6 +2135,7 @@ 29C01E651D1312FA0094BE61 /* OrnamentsTest.cpp in Sources */, 29C01DC91D1312FA0094BE61 /* DownBowTest.cpp in Sources */, 29C01EF51D1312FA0094BE61 /* UnstressTest.cpp in Sources */, + 290A8CEC1E8838DD00AF62C8 /* ApiLoadSurvivalTest.cpp in Sources */, 29B48EDB1DBE7F550030A974 /* MeasureWriterTest.cpp in Sources */, 29C01DAC1D1312FA0094BE61 /* DefaultsTest.cpp in Sources */, 29C01DC71D1312FA0094BE61 /* DoubleTest.cpp in Sources */, @@ -2143,6 +2165,7 @@ 29C01E611D1312FA0094BE61 /* OffsetTest.cpp in Sources */, 29C01E5E1D1312FA0094BE61 /* OctaveChangeTest.cpp in Sources */, 29C01DB91D1312FA0094BE61 /* DisplayStepOctaveGroupTest.cpp in Sources */, + 290A8CE81E8838DD00AF62C8 /* ApiK009bSlurTest.cpp in Sources */, 29C01EC01D1312FA0094BE61 /* StepTest.cpp in Sources */, 29C01ED81D1312FA0094BE61 /* TextTest.cpp in Sources */, 29C01DA51D1312FA0094BE61 /* CueNoteGroupTest.cpp in Sources */, @@ -2156,6 +2179,7 @@ 29C01D7F1D1312FA0094BE61 /* BarlineTest.cpp in Sources */, 29C01DA71D1312FA0094BE61 /* DampAllTest.cpp in Sources */, 29C01DD81D1312FA0094BE61 /* EndLineTest.cpp in Sources */, + 290A8CEB1E8838DD00AF62C8 /* ApiK016aMiscTest.cpp in Sources */, 29C01EE71D1312FA0094BE61 /* TremoloTest.cpp in Sources */, 29C01E1F1D1312FA0094BE61 /* KeyStepTest.cpp in Sources */, 29C01EF71D1312FA0094BE61 /* VerticalTurnTest.cpp in Sources */, @@ -2164,6 +2188,7 @@ 29C01EC81D1312FA0094BE61 /* StringsTest.cpp in Sources */, 29C01E901D1312FA0094BE61 /* RelationTest.cpp in Sources */, 29C01E2E1D1312FA0094BE61 /* MakeFunctionsTest.cpp in Sources */, + 290A8CE71E8838DD00AF62C8 /* ApiK007cTest.cpp in Sources */, 29C01D811D1312FA0094BE61 /* BarStyleTest.cpp in Sources */, 29C01E241D1312FA0094BE61 /* LeftDividerTest.cpp in Sources */, 29C01E981D1312FA0094BE61 /* RootStepTest.cpp in Sources */, @@ -2189,14 +2214,17 @@ 29C01E221D1312FA0094BE61 /* LaughingTest.cpp in Sources */, 29C01DC31D1312FA0094BE61 /* DocumentTimewiseCreate.cpp in Sources */, 29C01D771D1312FA0094BE61 /* AppearanceTest.cpp in Sources */, + 290A8CF31E8838DD00AF62C8 /* NoteDataTest.cpp in Sources */, 29C01E5C1D1312FA0094BE61 /* NoteTest.cpp in Sources */, 29C01E951D1312FA0094BE61 /* RightMarginTest.cpp in Sources */, 29C01EAD1D1312FA0094BE61 /* SnapPizzicatoTest.cpp in Sources */, 29C01E9F1D1312FA0094BE61 /* ScoreInstrumentTest.cpp in Sources */, 29C01D7C1D1312FA0094BE61 /* ArticulationsTest.cpp in Sources */, + 290A8CF01E8838DD00AF62C8 /* DocumentManagerTest.cpp in Sources */, 29C01DCA1D1312FA0094BE61 /* DurationTest.cpp in Sources */, 29C01EA31D1312FA0094BE61 /* SegnoTest.cpp in Sources */, 298F0F4D1D1E4981005C3D9D /* ImportTestImpl.cpp in Sources */, + 290A8CEE1E8838DD00AF62C8 /* ChordApiTest.cpp in Sources */, 297556081D135AA3007732D0 /* UtilityImplTest.cpp in Sources */, 29C01F041D1312FA0094BE61 /* WorkTest.cpp in Sources */, 29C01EAB1D1312FA0094BE61 /* SlideTest.cpp in Sources */, @@ -2227,6 +2255,7 @@ 295897271DB9806600F18FBA /* MxFile.cpp in Sources */, 29C01DC51D1312FA0094BE61 /* DoitTest.cpp in Sources */, 29C01E931D1312FA0094BE61 /* RestTest.cpp in Sources */, + 290A8CED1E8838DD00AF62C8 /* ApiMuAccidentals1Test.cpp in Sources */, 29C01E111D1312FA0094BE61 /* InstrumentAbbreviationTest.cpp in Sources */, 29C01E211D1312FA0094BE61 /* KindTest.cpp in Sources */, 29C01DBF1D1312FA0094BE61 /* DocumentPartwiseConvertTest.cpp in Sources */, @@ -2319,6 +2348,7 @@ 29C01E391D1312FA0094BE61 /* MetronomeRelationTest.cpp in Sources */, 29C01EF31D1312FA0094BE61 /* TypeTest.cpp in Sources */, 29C01DE81D1312FA0094BE61 /* FontSizeTest.cpp in Sources */, + 290A8CEA1E8838DD00AF62C8 /* ApiK015aLayoutTest.cpp in Sources */, 29C01E411D1312FA0094BE61 /* MidiNameTest.cpp in Sources */, 29C01F1B1D13137D0094BE61 /* main.cpp in Sources */, 29C01E1E1D1312FA0094BE61 /* KeyOctaveTest.cpp in Sources */, From 6a31abf25514286fb5aa33a30f8bfd749620d73e Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Sun, 26 Mar 2017 11:05:19 -0700 Subject: [PATCH 017/108] mxapi pedal start stop working --- Sourcecode/mx/impl/DirectionReader.cpp | 2 +- Sourcecode/mxtest/api/NoteDataTest.cpp | 41 +++++++++++++++++++++++++- 2 files changed, 41 insertions(+), 2 deletions(-) diff --git a/Sourcecode/mx/impl/DirectionReader.cpp b/Sourcecode/mx/impl/DirectionReader.cpp index 13d4f1b2d..e8f8c19c8 100644 --- a/Sourcecode/mx/impl/DirectionReader.cpp +++ b/Sourcecode/mx/impl/DirectionReader.cpp @@ -373,7 +373,7 @@ namespace mx auto pedalType = api::MarkType::pedal; - if( attr.type == core::StartStopChangeContinue::start ) + if( attr.type == core::StartStopChangeContinue::stop ) { pedalType = api::MarkType::damp; } diff --git a/Sourcecode/mxtest/api/NoteDataTest.cpp b/Sourcecode/mxtest/api/NoteDataTest.cpp index 8a872336b..d06c2b4c6 100644 --- a/Sourcecode/mxtest/api/NoteDataTest.cpp +++ b/Sourcecode/mxtest/api/NoteDataTest.cpp @@ -282,7 +282,7 @@ TEST( pedalStart, NoteData ) staff.directions.emplace_back(); auto& direction = staff.directions.back(); direction.marks.emplace_back( Placement::below, MarkType::pedal ); - direction.tickTimePosition = 420; + direction.tickTimePosition = 7; // round trip it through xml auto& mgr = DocumentManager::getInstance(); @@ -305,8 +305,47 @@ TEST( pedalStart, NoteData ) CHECK( omark.markType == MarkType::pedal ); CHECK_EQUAL( odirection.tickTimePosition, odirection.tickTimePosition ); +} +T_END + +TEST( pedalStop, NoteData ) +{ + ScoreData score; + score.parts.emplace_back(); + auto& part = score.parts.back(); + part.measures.emplace_back(); + auto& measure = part.measures.back(); + measure.staves.emplace_back(); + auto& staff = measure.staves.back(); + auto& voice = staff.voices[0]; + voice.notes.emplace_back(); + staff.directions.emplace_back(); + auto& direction = staff.directions.back(); + direction.marks.emplace_back( Placement::below, MarkType::damp ); + direction.tickTimePosition = 70342; + // round trip it through xml + auto& mgr = DocumentManager::getInstance(); + auto docId = mgr.createFromScore( score ); + std::stringstream ss; + mgr.writeToStream(docId, ss); + mgr.destroyDocument(docId); + const std::string xml = ss.str(); + std::istringstream iss{ xml }; + docId = mgr.createFromStream( iss ); + auto oscore = mgr.getData(docId); + + // get the data after the round trip + auto& opart = oscore.parts.back(); + auto& omeasure = opart.measures.back(); + auto& ostaff = omeasure.staves.back(); + auto& odirections = ostaff.directions; + auto& odirection = odirections.back(); + auto& omark = odirection.marks.back(); + + CHECK( omark.markType == MarkType::damp ); + CHECK_EQUAL( odirection.tickTimePosition, odirection.tickTimePosition ); } T_END From 67d9e0db0c41e24ca48a2569fa14235cab97e36e Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Sun, 26 Mar 2017 11:57:16 -0700 Subject: [PATCH 018/108] mxapi disable the core tests --- Sourcecode/mxtest/control/CompileControl.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sourcecode/mxtest/control/CompileControl.h b/Sourcecode/mxtest/control/CompileControl.h index 06da8c6ae..8e2b42511 100755 --- a/Sourcecode/mxtest/control/CompileControl.h +++ b/Sourcecode/mxtest/control/CompileControl.h @@ -6,7 +6,7 @@ #define MX_COMPILE_API_TESTS #define MX_COMPILE_API_ROUNDTRIP //#define MX_COMPILE_CORE_TESTS -//#define MX_COMPILE_IMPL_TESTS +#define MX_COMPILE_IMPL_TESTS #define MX_COMPILE_IMPORT_TESTS //#define MX_COMPILE_UTILTIY_TESTS //#define MX_COMPILE_XML_TESTS From 57bf7ff67f86a691822ed5e483e98c76cf599caa Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Sun, 26 Mar 2017 12:01:01 -0700 Subject: [PATCH 019/108] mx-version-0.2.0.8 --- Sourcecode/mx/impl/MxVersionDefines.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sourcecode/mx/impl/MxVersionDefines.h b/Sourcecode/mx/impl/MxVersionDefines.h index 0ce5d739a..40827b74c 100644 --- a/Sourcecode/mx/impl/MxVersionDefines.h +++ b/Sourcecode/mx/impl/MxVersionDefines.h @@ -1,4 +1,4 @@ #define MX_VERSION_MAJOR 0 #define MX_VERSION_MINOR 2 #define MX_VERSION_PATCH 0 -#define MX_VERSION_BUILD 7 +#define MX_VERSION_BUILD 8 From b214a1406c1680582c6f7373b2e561b75a389934 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Mon, 27 Mar 2017 08:12:25 -0700 Subject: [PATCH 020/108] mxapi working on order of directions and notes --- Sourcecode/mx/api/DocumentManager.cpp | 1 - Sourcecode/mx/impl/MeasureWriter.cpp | 47 +- Sourcecode/mx/impl/MeasureWriter.h | 2 +- Sourcecode/mxtest/api/NoteDataTest.cpp | 711 +++++++++++++-------- Sourcecode/mxtest/control/CompileControl.h | 4 +- Xcode/MxTest.xcodeproj/project.pbxproj | 36 +- 6 files changed, 470 insertions(+), 331 deletions(-) diff --git a/Sourcecode/mx/api/DocumentManager.cpp b/Sourcecode/mx/api/DocumentManager.cpp index 2d1776d34..0e22dc90e 100755 --- a/Sourcecode/mx/api/DocumentManager.cpp +++ b/Sourcecode/mx/api/DocumentManager.cpp @@ -152,7 +152,6 @@ namespace mx { LOCK_DOCUMENT_MANAGER - const DocumentMap::const_iterator it = myImpl->myMap.find( documentId ); if( it == myImpl->myMap.cend() ) diff --git a/Sourcecode/mx/impl/MeasureWriter.cpp b/Sourcecode/mx/impl/MeasureWriter.cpp index f037f8295..040a97112 100644 --- a/Sourcecode/mx/impl/MeasureWriter.cpp +++ b/Sourcecode/mx/impl/MeasureWriter.cpp @@ -321,7 +321,7 @@ namespace mx auto staffKeyEnd = inStaff.keys.cend(); auto directionIter = inStaff.directions.cbegin(); auto directionEnd = inStaff.directions.cend(); - + for( const auto& voice : inStaff.voices ) { int currentChordTickPosition = -1; @@ -329,6 +329,8 @@ namespace mx myCursor.voiceIndex = voice.first; auto noteIter = voice.second.notes.cbegin(); auto noteEnd = voice.second.notes.cend(); + writeDirections( directionIter, directionEnd, std::numeric_limits::min(), 0 ); + for( ; noteIter != noteEnd; ++noteIter ) { // TODO - this is too simplistic. If we have two chords in a row then this @@ -372,21 +374,16 @@ namespace mx myPropertiesWriter->flushBuffer(); { - auto nextNote = noteIter; - ++nextNote; - auto nextTime = std::numeric_limits::max(); + int minTime = myCursor.tickTimePosition; + int maxTime = std::numeric_limits::max(); + auto nextNote = noteIter + 1; if( nextNote != noteEnd ) { - auto nextNoteTime = nextNote->tickTimePosition; - - if( nextNoteTime > myCursor.tickTimePosition ) - { - nextTime = nextNoteTime; - } + maxTime = nextNote->tickTimePosition; } - writeDirections( directionIter, directionEnd, nextTime ); + writeDirections( directionIter, directionEnd, minTime, maxTime ); } @@ -430,7 +427,7 @@ namespace mx myPropertiesWriter->flushBuffer(); } - writeDirections( directionIter, directionEnd, std::numeric_limits::max() ); + writeDirections( directionIter, directionEnd, std::numeric_limits::min(), std::numeric_limits::max() ); } // func writeVoices @@ -492,14 +489,36 @@ namespace mx } - void MeasureWriter::writeDirections( dIter& directionIter, const dIter& directionEnd, int maxTickTimePosition ) + void MeasureWriter::writeDirections( dIter& directionIter, const dIter& directionEnd, int minTickTimePosition, int maxTickTimePosition ) { - for( ; directionIter != directionEnd && directionIter->tickTimePosition <= maxTickTimePosition; ++directionIter ) + if( directionIter == directionEnd ) + { + return; + } + + const auto firstDirectionTime = directionIter->tickTimePosition; + + if( firstDirectionTime < minTickTimePosition ) + { + MX_THROW( "this should never happen" ); + } + + for( ; directionIter != directionEnd + && directionIter->tickTimePosition < maxTickTimePosition; + ++directionIter ) { if( isDirectionDataEmpty( *directionIter ) ) { continue; } + + const auto directionTime = directionIter->tickTimePosition; + + if( directionTime < minTickTimePosition ) + { + MX_THROW( "this should never happen" ); + } + auto directionMdc = core::makeMusicDataChoice(); directionMdc->setChoice( core::MusicDataChoice::Choice::direction ); // auto tempDirectionCursor = myCursor; diff --git a/Sourcecode/mx/impl/MeasureWriter.h b/Sourcecode/mx/impl/MeasureWriter.h index e71cc1481..7e5d1630e 100644 --- a/Sourcecode/mx/impl/MeasureWriter.h +++ b/Sourcecode/mx/impl/MeasureWriter.h @@ -61,7 +61,7 @@ namespace mx void writeBarlines( int tickTimePosition ); using dirs = std::vector; using dIter = dirs::const_iterator; - void writeDirections( dIter& directionIter, const dIter& directionEnd, int maxTickTimePosition ); + void writeDirections( dIter& directionIter, const dIter& directionEnd, int minTickTimePosition, int maxTickTimePosition ); template std::vector findItemsAtTimePosition( const std::vector& inItems, int inTickTimePosition ) diff --git a/Sourcecode/mxtest/api/NoteDataTest.cpp b/Sourcecode/mxtest/api/NoteDataTest.cpp index d06c2b4c6..49e711df1 100644 --- a/Sourcecode/mxtest/api/NoteDataTest.cpp +++ b/Sourcecode/mxtest/api/NoteDataTest.cpp @@ -22,218 +22,400 @@ #include "mx/core/elements/Notations.h" #include "mx/core/elements/NotationsChoice.h" #include "mx/core/elements/Tied.h" +#include "mx/core/Document.h" +#include "mx/core/elements/ScorePartwise.h" +#include "mx/core/elements/PartwisePart.h" +#include "mx/core/elements/PartwiseMeasure.h" +#include "mx/core/elements/MusicDataGroup.h" +#include "mx/core/elements/MusicDataChoice.h" +#include "mx/core/elements/Direction.h" +#include "mx/core/elements/DirectionType.h" +#include "mx/core/elements/Offset.h" +#include "mx/core/elements/Pedal.h" using namespace std; using namespace mx::api; using namespace mxtest; -TEST( miscFields, NoteData ) +//TEST( miscFields, NoteData ) +//{ +// ScoreData score; +// score.parts.emplace_back(); +// auto& part = score.parts.back(); +// part.measures.emplace_back(); +// auto& measure = part.measures.back(); +// measure.staves.emplace_back(); +// auto& staff = measure.staves.back(); +// auto& voice = staff.voices[0]; +// voice.notes.emplace_back(); +// auto& note = voice.notes.back(); +// note.miscData.push_back( "Hello,There" ); +// note.miscData.push_back( "Bones" ); +// note.miscData.push_back( "Bishop" ); +// +// // round trip it through xml +// auto& mgr = DocumentManager::getInstance(); +// auto docId = mgr.createFromScore( score ); +// std::stringstream ss; +// mgr.writeToStream(docId, ss); +// mgr.destroyDocument(docId); +// const std::string xml = ss.str(); +// std::istringstream iss{ xml }; +// docId = mgr.createFromStream( iss ); +// auto oscore = mgr.getData(docId); +// +// // get the data after the round trip +// auto& opart = oscore.parts.back(); +// auto& omeasure = opart.measures.back(); +// auto& ostaff = omeasure.staves.back(); +// auto& ovoice = ostaff.voices[0]; +// auto& onote = ovoice.notes.back(); +// auto& omisc = onote.miscData; +// auto iter = omisc.cbegin(); +// const auto end = omisc.cend(); +// +// //std::cout << xml << std::endl; +// +// // assert +// CHECK( iter != end ); +// CHECK_EQUAL( "Hello_There", *iter); +// ++iter; +// +// CHECK( iter != end ); +// CHECK_EQUAL( "Bones", *iter); +// ++iter; +// +// CHECK( iter != end ); +// CHECK_EQUAL( "Bishop", *iter); +// ++iter; +// +// CHECK( iter == end ); +//} +//T_END +// +//TEST( SlurTieNumberLevelA, NoteData ) +//{ +// using namespace mx::core; +// Document doc; +// auto sp = doc.getScorePartwise(); +// const auto& parts = sp->getPartwisePartSet(); +// const auto& part = parts.front(); +// const auto& measure = part->getPartwiseMeasureSet().front(); +// const auto mdg = measure->getMusicDataGroup(); +// const auto mdc = makeMusicDataChoice(); +// mdg->addMusicDataChoice( mdc ); +// mdc->setChoice( MusicDataChoice::Choice::note ); +// const auto note = mdc->getNote(); +// note->setHasType(true); +// note->getType()->setValue( NoteTypeValue::quarter ); +// note->getNoteChoice()->setChoice( NoteChoice::Choice::normal ); +// auto nng = note->getNoteChoice()->getNormalNoteGroup(); +// nng->getFullNoteGroup()->getFullNoteTypeChoice()->setChoice( FullNoteTypeChoice::Choice::pitch ); +// auto pitch = nng->getFullNoteGroup()->getFullNoteTypeChoice()->getPitch(); +// const auto notations = makeNotations(); +// note->addNotations( notations ); +// const auto nc = makeNotationsChoice(); +// notations->addNotationsChoice( nc ); +// nc->setChoice( NotationsChoice::Choice::tied ); +// const auto tied = nc->getTied(); +// tied->getAttributes()->type = StartStopContinue::start; +// +// auto& mgr = DocumentManager::getInstance(); +// std::stringstream ss; +// doc.toStream( ss ); +// std::stringstream iss{ ss.str() }; +// auto id = mgr.createFromStream( iss ); +// const auto scoreData = mgr.getData( id ); +// mgr.destroyDocument( id ); +// +// const auto& noteData = scoreData.parts.at(0).measures.at(0).staves.at(0).voices.at(0).notes.front(); +// const auto& curveStart = noteData.noteAttachmentData.curveStarts.front(); +// CHECK_EQUAL( -1, curveStart.numberLevel ); +// CHECK( curveStart.curveType == mx::api::CurveType::tie ); +//} +//T_END +// +//TEST( SlurTieNumberLevelB, NoteData ) +//{ +// using namespace mx::core; +// Document doc; +// auto sp = doc.getScorePartwise(); +// const auto& parts = sp->getPartwisePartSet(); +// const auto& part = parts.front(); +// const auto& measure = part->getPartwiseMeasureSet().front(); +// const auto mdg = measure->getMusicDataGroup(); +// const auto mdc = makeMusicDataChoice(); +// mdg->addMusicDataChoice( mdc ); +// mdc->setChoice( MusicDataChoice::Choice::note ); +// const auto note = mdc->getNote(); +// note->setHasType(true); +// note->getType()->setValue( NoteTypeValue::quarter ); +// note->getNoteChoice()->setChoice( NoteChoice::Choice::normal ); +// auto nng = note->getNoteChoice()->getNormalNoteGroup(); +// nng->getFullNoteGroup()->getFullNoteTypeChoice()->setChoice( FullNoteTypeChoice::Choice::pitch ); +// auto pitch = nng->getFullNoteGroup()->getFullNoteTypeChoice()->getPitch(); +// const auto notations = makeNotations(); +// note->addNotations( notations ); +// const auto nc = makeNotationsChoice(); +// notations->addNotationsChoice( nc ); +// nc->setChoice( NotationsChoice::Choice::tied ); +// const auto tied = nc->getTied(); +// tied->getAttributes()->type = StartStopContinue::continue_; +// +// auto& mgr = DocumentManager::getInstance(); +// std::stringstream ss; +// doc.toStream( ss ); +// std::stringstream iss{ ss.str() }; +// auto id = mgr.createFromStream( iss ); +// const auto scoreData = mgr.getData( id ); +// mgr.destroyDocument( id ); +// +// const auto& noteData = scoreData.parts.at(0).measures.at(0).staves.at(0).voices.at(0).notes.front(); +// const auto& curveContinue = noteData.noteAttachmentData.curveContinuations.front(); +// CHECK_EQUAL( -1, curveContinue.numberLevel ); +// CHECK( curveContinue.curveType == mx::api::CurveType::tie ); +//} +//T_END +// +//TEST( SlurTieNumberLevelC, NoteData ) +//{ +// using namespace mx::core; +// Document doc; +// auto sp = doc.getScorePartwise(); +// const auto& parts = sp->getPartwisePartSet(); +// const auto& part = parts.front(); +// const auto& measure = part->getPartwiseMeasureSet().front(); +// const auto mdg = measure->getMusicDataGroup(); +// const auto mdc = makeMusicDataChoice(); +// mdg->addMusicDataChoice( mdc ); +// mdc->setChoice( MusicDataChoice::Choice::note ); +// const auto note = mdc->getNote(); +// note->setHasType(true); +// note->getType()->setValue( NoteTypeValue::quarter ); +// note->getNoteChoice()->setChoice( NoteChoice::Choice::normal ); +// auto nng = note->getNoteChoice()->getNormalNoteGroup(); +// nng->getFullNoteGroup()->getFullNoteTypeChoice()->setChoice( FullNoteTypeChoice::Choice::pitch ); +// auto pitch = nng->getFullNoteGroup()->getFullNoteTypeChoice()->getPitch(); +// const auto notations = makeNotations(); +// note->addNotations( notations ); +// const auto nc = makeNotationsChoice(); +// notations->addNotationsChoice( nc ); +// nc->setChoice( NotationsChoice::Choice::tied ); +// const auto tied = nc->getTied(); +// tied->getAttributes()->type = StartStopContinue::stop; +// +// auto& mgr = DocumentManager::getInstance(); +// std::stringstream ss; +// doc.toStream( ss ); +// std::stringstream iss{ ss.str() }; +// auto id = mgr.createFromStream( iss ); +// const auto scoreData = mgr.getData( id ); +// mgr.destroyDocument( id ); +// +// const auto& noteData = scoreData.parts.at(0).measures.at(0).staves.at(0).voices.at(0).notes.front(); +// const auto& curveStop = noteData.noteAttachmentData.curveStops.front(); +// CHECK_EQUAL( -1, curveStop.numberLevel ); +// CHECK( curveStop.curveType == mx::api::CurveType::tie ); +//} +//T_END +// +//TEST( ornaments, NoteData ) +//{ +// ScoreData score; +// score.parts.emplace_back(); +// auto& part = score.parts.back(); +// part.measures.emplace_back(); +// auto& measure = part.measures.back(); +// measure.staves.emplace_back(); +// auto& staff = measure.staves.back(); +// auto& voice = staff.voices[0]; +// voice.notes.emplace_back(); +// auto& note = voice.notes.back(); +// +// note.noteAttachmentData.marks.emplace_back( Placement::above, MarkType::trillMark ); +// note.noteAttachmentData.marks.back().positionData.isDefaultXSpecified = true; +// note.noteAttachmentData.marks.back().positionData.defaultX = 123.0; +// +// note.noteAttachmentData.marks.emplace_back( Placement::above, MarkType::wavyLine ); +// note.noteAttachmentData.marks.back().positionData.isDefaultYSpecified = true; +// note.noteAttachmentData.marks.back().positionData.defaultY = -456.0; +// +// // round trip it through xml +// auto& mgr = DocumentManager::getInstance(); +// auto docId = mgr.createFromScore( score ); +// std::stringstream ss; +// mgr.writeToStream(docId, ss); +// mgr.destroyDocument(docId); +// const std::string xml = ss.str(); +// std::istringstream iss{ xml }; +// docId = mgr.createFromStream( iss ); +// auto oscore = mgr.getData(docId); +// +// // get the data after the round trip +// auto& opart = oscore.parts.back(); +// auto& omeasure = opart.measures.back(); +// auto& ostaff = omeasure.staves.back(); +// auto& ovoice = ostaff.voices[0]; +// auto& onote = ovoice.notes.back(); +// auto& oattachments = onote.noteAttachmentData; +// auto& omarks = oattachments.marks; +// auto oIter = omarks.cbegin(); +// +// auto md = *oIter; +// CHECK( md.markType == MarkType::trillMark ); +// CHECK( md.positionData.isDefaultXSpecified ); +// CHECK( !md.positionData.isDefaultYSpecified ); +// CHECK_DOUBLES_EQUAL( 123.0, md.positionData.defaultX, 0.00001 ); +// +// ++oIter; +// md = *oIter; +// CHECK( md.markType == MarkType::wavyLine ); +// CHECK( !md.positionData.isDefaultXSpecified ); +// CHECK( md.positionData.isDefaultYSpecified ); +// CHECK_DOUBLES_EQUAL( -456.0, md.positionData.defaultY, 0.00001 ); +//} +//T_END +// +//TEST( pedalStart, NoteData ) +//{ +// ScoreData score; +// score.parts.emplace_back(); +// auto& part = score.parts.back(); +// part.measures.emplace_back(); +// auto& measure = part.measures.back(); +// measure.staves.emplace_back(); +// auto& staff = measure.staves.back(); +// auto& voice = staff.voices[0]; +// voice.notes.emplace_back(); +// +// staff.directions.emplace_back(); +// auto& direction = staff.directions.back(); +// direction.marks.emplace_back( Placement::below, MarkType::pedal ); +// direction.tickTimePosition = 7; +// +// // round trip it through xml +// auto& mgr = DocumentManager::getInstance(); +// auto docId = mgr.createFromScore( score ); +// std::stringstream ss; +// mgr.writeToStream(docId, ss); +// mgr.destroyDocument(docId); +// const std::string xml = ss.str(); +// std::istringstream iss{ xml }; +// docId = mgr.createFromStream( iss ); +// auto oscore = mgr.getData(docId); +// +// // get the data after the round trip +// auto& opart = oscore.parts.back(); +// auto& omeasure = opart.measures.back(); +// auto& ostaff = omeasure.staves.back(); +// auto& odirections = ostaff.directions; +// auto& odirection = odirections.back(); +// auto& omark = odirection.marks.back(); +// +// CHECK( omark.markType == MarkType::pedal ); +// CHECK_EQUAL( odirection.tickTimePosition, odirection.tickTimePosition ); +//} +//T_END +// +//TEST( pedalStop, NoteData ) +//{ +// ScoreData score; +// score.parts.emplace_back(); +// auto& part = score.parts.back(); +// part.measures.emplace_back(); +// auto& measure = part.measures.back(); +// measure.staves.emplace_back(); +// auto& staff = measure.staves.back(); +// auto& voice = staff.voices[0]; +// voice.notes.emplace_back(); +// +// staff.directions.emplace_back(); +// auto& direction = staff.directions.back(); +// direction.marks.emplace_back( Placement::below, MarkType::damp ); +// direction.tickTimePosition = 70342; +// +// // round trip it through xml +// auto& mgr = DocumentManager::getInstance(); +// auto docId = mgr.createFromScore( score ); +// std::stringstream ss; +// mgr.writeToStream(docId, ss); +// mgr.destroyDocument(docId); +// const std::string xml = ss.str(); +// std::istringstream iss{ xml }; +// docId = mgr.createFromStream( iss ); +// auto oscore = mgr.getData(docId); +// +// // get the data after the round trip +// auto& opart = oscore.parts.back(); +// auto& omeasure = opart.measures.back(); +// auto& ostaff = omeasure.staves.back(); +// auto& odirections = ostaff.directions; +// auto& odirection = odirections.back(); +// auto& omark = odirection.marks.back(); +// +// CHECK( omark.markType == MarkType::damp ); +// CHECK_EQUAL( odirection.tickTimePosition, odirection.tickTimePosition ); +//} +//T_END + +TEST( directionOrder, NoteData ) { ScoreData score; score.parts.emplace_back(); + score.ticksPerQuarter = 120; auto& part = score.parts.back(); part.measures.emplace_back(); auto& measure = part.measures.back(); measure.staves.emplace_back(); auto& staff = measure.staves.back(); auto& voice = staff.voices[0]; - voice.notes.emplace_back(); - auto& note = voice.notes.back(); - note.miscData.push_back( "Hello,There" ); - note.miscData.push_back( "Bones" ); - note.miscData.push_back( "Bishop" ); - // round trip it through xml - auto& mgr = DocumentManager::getInstance(); - auto docId = mgr.createFromScore( score ); - std::stringstream ss; - mgr.writeToStream(docId, ss); - mgr.destroyDocument(docId); - const std::string xml = ss.str(); - std::istringstream iss{ xml }; - docId = mgr.createFromStream( iss ); - auto oscore = mgr.getData(docId); + NoteData note; + note.durationData.durationName = DurationName::quarter; + note.durationData.durationTimeTicks = 120; + note.tickTimePosition = 0; + voice.notes.push_back( note ); - // get the data after the round trip - auto& opart = oscore.parts.back(); - auto& omeasure = opart.measures.back(); - auto& ostaff = omeasure.staves.back(); - auto& ovoice = ostaff.voices[0]; - auto& onote = ovoice.notes.back(); - auto& omisc = onote.miscData; - auto iter = omisc.cbegin(); - const auto end = omisc.cend(); - - //std::cout << xml << std::endl; - - // assert - CHECK( iter != end ); - CHECK_EQUAL( "Hello_There", *iter); - ++iter; + note.tickTimePosition = 120; + note.pitchData.step = Step::d; + voice.notes.push_back( note ); - CHECK( iter != end ); - CHECK_EQUAL( "Bones", *iter); - ++iter; + note.tickTimePosition = 240; + note.pitchData.step = Step::e; + voice.notes.push_back( note ); - CHECK( iter != end ); - CHECK_EQUAL( "Bishop", *iter); - ++iter; + note.tickTimePosition = 360; + note.pitchData.step = Step::e; + voice.notes.push_back( note ); - CHECK( iter == end ); -} -T_END + DirectionData direction; + direction.tickTimePosition = 0; + MarkData mark{ Placement::below, MarkType::damp }; + mark.tickTimePosition = direction.tickTimePosition; + direction.marks.push_back( mark ); + staff.directions.push_back( direction ); -TEST( SlurTieNumberLevelA, NoteData ) -{ - using namespace mx::core; - Document doc; - auto sp = doc.getScorePartwise(); - const auto& parts = sp->getPartwisePartSet(); - const auto& part = parts.front(); - const auto& measure = part->getPartwiseMeasureSet().front(); - const auto mdg = measure->getMusicDataGroup(); - const auto mdc = makeMusicDataChoice(); - mdg->addMusicDataChoice( mdc ); - mdc->setChoice( MusicDataChoice::Choice::note ); - const auto note = mdc->getNote(); - note->setHasType(true); - note->getType()->setValue( NoteTypeValue::quarter ); - note->getNoteChoice()->setChoice( NoteChoice::Choice::normal ); - auto nng = note->getNoteChoice()->getNormalNoteGroup(); - nng->getFullNoteGroup()->getFullNoteTypeChoice()->setChoice( FullNoteTypeChoice::Choice::pitch ); - auto pitch = nng->getFullNoteGroup()->getFullNoteTypeChoice()->getPitch(); - const auto notations = makeNotations(); - note->addNotations( notations ); - const auto nc = makeNotationsChoice(); - notations->addNotationsChoice( nc ); - nc->setChoice( NotationsChoice::Choice::tied ); - const auto tied = nc->getTied(); - tied->getAttributes()->type = StartStopContinue::start; + direction.tickTimePosition = 120; + direction.marks.back().tickTimePosition = direction.tickTimePosition; + staff.directions.push_back( direction ); - auto& mgr = DocumentManager::getInstance(); - std::stringstream ss; - doc.toStream( ss ); - std::stringstream iss{ ss.str() }; - auto id = mgr.createFromStream( iss ); - const auto scoreData = mgr.getData( id ); - mgr.destroyDocument( id ); - - const auto& noteData = scoreData.parts.at(0).measures.at(0).staves.at(0).voices.at(0).notes.front(); - const auto& curveStart = noteData.noteAttachmentData.curveStarts.front(); - CHECK_EQUAL( -1, curveStart.numberLevel ); - CHECK( curveStart.curveType == mx::api::CurveType::tie ); -} -T_END + direction.tickTimePosition = 240; + direction.marks.back().tickTimePosition = direction.tickTimePosition; + staff.directions.push_back( direction ); -TEST( SlurTieNumberLevelB, NoteData ) -{ - using namespace mx::core; - Document doc; - auto sp = doc.getScorePartwise(); - const auto& parts = sp->getPartwisePartSet(); - const auto& part = parts.front(); - const auto& measure = part->getPartwiseMeasureSet().front(); - const auto mdg = measure->getMusicDataGroup(); - const auto mdc = makeMusicDataChoice(); - mdg->addMusicDataChoice( mdc ); - mdc->setChoice( MusicDataChoice::Choice::note ); - const auto note = mdc->getNote(); - note->setHasType(true); - note->getType()->setValue( NoteTypeValue::quarter ); - note->getNoteChoice()->setChoice( NoteChoice::Choice::normal ); - auto nng = note->getNoteChoice()->getNormalNoteGroup(); - nng->getFullNoteGroup()->getFullNoteTypeChoice()->setChoice( FullNoteTypeChoice::Choice::pitch ); - auto pitch = nng->getFullNoteGroup()->getFullNoteTypeChoice()->getPitch(); - const auto notations = makeNotations(); - note->addNotations( notations ); - const auto nc = makeNotationsChoice(); - notations->addNotationsChoice( nc ); - nc->setChoice( NotationsChoice::Choice::tied ); - const auto tied = nc->getTied(); - tied->getAttributes()->type = StartStopContinue::continue_; + direction.tickTimePosition = 360; + direction.marks.back().tickTimePosition = direction.tickTimePosition; + staff.directions.push_back( direction ); - auto& mgr = DocumentManager::getInstance(); - std::stringstream ss; - doc.toStream( ss ); - std::stringstream iss{ ss.str() }; - auto id = mgr.createFromStream( iss ); - const auto scoreData = mgr.getData( id ); - mgr.destroyDocument( id ); - - const auto& noteData = scoreData.parts.at(0).measures.at(0).staves.at(0).voices.at(0).notes.front(); - const auto& curveContinue = noteData.noteAttachmentData.curveContinuations.front(); - CHECK_EQUAL( -1, curveContinue.numberLevel ); - CHECK( curveContinue.curveType == mx::api::CurveType::tie ); -} -T_END - -TEST( SlurTieNumberLevelC, NoteData ) -{ - using namespace mx::core; - Document doc; - auto sp = doc.getScorePartwise(); - const auto& parts = sp->getPartwisePartSet(); - const auto& part = parts.front(); - const auto& measure = part->getPartwiseMeasureSet().front(); - const auto mdg = measure->getMusicDataGroup(); - const auto mdc = makeMusicDataChoice(); - mdg->addMusicDataChoice( mdc ); - mdc->setChoice( MusicDataChoice::Choice::note ); - const auto note = mdc->getNote(); - note->setHasType(true); - note->getType()->setValue( NoteTypeValue::quarter ); - note->getNoteChoice()->setChoice( NoteChoice::Choice::normal ); - auto nng = note->getNoteChoice()->getNormalNoteGroup(); - nng->getFullNoteGroup()->getFullNoteTypeChoice()->setChoice( FullNoteTypeChoice::Choice::pitch ); - auto pitch = nng->getFullNoteGroup()->getFullNoteTypeChoice()->getPitch(); - const auto notations = makeNotations(); - note->addNotations( notations ); - const auto nc = makeNotationsChoice(); - notations->addNotationsChoice( nc ); - nc->setChoice( NotationsChoice::Choice::tied ); - const auto tied = nc->getTied(); - tied->getAttributes()->type = StartStopContinue::stop; - - auto& mgr = DocumentManager::getInstance(); - std::stringstream ss; - doc.toStream( ss ); - std::stringstream iss{ ss.str() }; - auto id = mgr.createFromStream( iss ); - const auto scoreData = mgr.getData( id ); - mgr.destroyDocument( id ); - - const auto& noteData = scoreData.parts.at(0).measures.at(0).staves.at(0).voices.at(0).notes.front(); - const auto& curveStop = noteData.noteAttachmentData.curveStops.front(); - CHECK_EQUAL( -1, curveStop.numberLevel ); - CHECK( curveStop.curveType == mx::api::CurveType::tie ); -} -T_END - -TEST( ornaments, NoteData ) -{ - ScoreData score; - score.parts.emplace_back(); - auto& part = score.parts.back(); - part.measures.emplace_back(); - auto& measure = part.measures.back(); - measure.staves.emplace_back(); - auto& staff = measure.staves.back(); - auto& voice = staff.voices[0]; - voice.notes.emplace_back(); - auto& note = voice.notes.back(); - - note.noteAttachmentData.marks.emplace_back( Placement::above, MarkType::trillMark ); - note.noteAttachmentData.marks.back().positionData.isDefaultXSpecified = true; - note.noteAttachmentData.marks.back().positionData.defaultX = 123.0; - - note.noteAttachmentData.marks.emplace_back( Placement::above, MarkType::wavyLine ); - note.noteAttachmentData.marks.back().positionData.isDefaultYSpecified = true; - note.noteAttachmentData.marks.back().positionData.defaultY = -456.0; + direction.tickTimePosition = 480; + direction.marks.back().tickTimePosition = direction.tickTimePosition; + staff.directions.push_back( direction ); // round trip it through xml auto& mgr = DocumentManager::getInstance(); auto docId = mgr.createFromScore( score ); + auto docPtr = mgr.getDocument( docId ); std::stringstream ss; mgr.writeToStream(docId, ss); mgr.destroyDocument(docId); @@ -241,111 +423,82 @@ TEST( ornaments, NoteData ) std::istringstream iss{ xml }; docId = mgr.createFromStream( iss ); auto oscore = mgr.getData(docId); + std::cout << xml << std::endl; - // get the data after the round trip - auto& opart = oscore.parts.back(); - auto& omeasure = opart.measures.back(); - auto& ostaff = omeasure.staves.back(); - auto& ovoice = ostaff.voices[0]; - auto& onote = ovoice.notes.back(); - auto& oattachments = onote.noteAttachmentData; - auto& omarks = oattachments.marks; - auto oIter = omarks.cbegin(); - - auto md = *oIter; - CHECK( md.markType == MarkType::trillMark ); - CHECK( md.positionData.isDefaultXSpecified ); - CHECK( !md.positionData.isDefaultYSpecified ); - CHECK_DOUBLES_EQUAL( 123.0, md.positionData.defaultX, 0.00001 ); - - ++oIter; - md = *oIter; - CHECK( md.markType == MarkType::wavyLine ); - CHECK( !md.positionData.isDefaultXSpecified ); - CHECK( md.positionData.isDefaultYSpecified ); - CHECK_DOUBLES_EQUAL( -456.0, md.positionData.defaultY, 0.00001 ); -} -T_END + const auto& partwise = docPtr->getScorePartwise(); + const auto& partwisePartSet = partwise->getPartwisePartSet(); + const auto& partwisePart = partwisePartSet.front(); + const auto& partwiseMeasure = partwisePart->getPartwiseMeasureSet().front(); + const auto& mdcSet = partwiseMeasure->getMusicDataGroup()->getMusicDataChoiceSet(); -TEST( pedalStart, NoteData ) -{ - ScoreData score; - score.parts.emplace_back(); - auto& part = score.parts.back(); - part.measures.emplace_back(); - auto& measure = part.measures.back(); - measure.staves.emplace_back(); - auto& staff = measure.staves.back(); - auto& voice = staff.voices[0]; - voice.notes.emplace_back(); + auto iter = mdcSet.cbegin(); + auto mdc = *iter; + auto elementType = mdc->getChoice(); + CHECK( mx::core::MusicDataChoice::Choice::properties == elementType ); - staff.directions.emplace_back(); - auto& direction = staff.directions.back(); - direction.marks.emplace_back( Placement::below, MarkType::pedal ); - direction.tickTimePosition = 7; + ++iter; + mdc = *iter; + elementType = mdc->getChoice(); + CHECK( mx::core::MusicDataChoice::Choice::note == elementType ); - // round trip it through xml - auto& mgr = DocumentManager::getInstance(); - auto docId = mgr.createFromScore( score ); - std::stringstream ss; - mgr.writeToStream(docId, ss); - mgr.destroyDocument(docId); - const std::string xml = ss.str(); - std::istringstream iss{ xml }; - docId = mgr.createFromStream( iss ); - auto oscore = mgr.getData(docId); + ++iter; + mdc = *iter; + elementType = mdc->getChoice(); + CHECK( mx::core::MusicDataChoice::Choice::direction == elementType ); + auto dirElement = mdc->getDirection(); + CHECK( !dirElement->getHasOffset() ); - // get the data after the round trip - auto& opart = oscore.parts.back(); - auto& omeasure = opart.measures.back(); - auto& ostaff = omeasure.staves.back(); - auto& odirections = ostaff.directions; - auto& odirection = odirections.back(); - auto& omark = odirection.marks.back(); - - CHECK( omark.markType == MarkType::pedal ); - CHECK_EQUAL( odirection.tickTimePosition, odirection.tickTimePosition ); -} -T_END + ++iter; + mdc = *iter; + elementType = mdc->getChoice(); + CHECK( mx::core::MusicDataChoice::Choice::note == elementType ); + + ++iter; + mdc = *iter; + elementType = mdc->getChoice(); + CHECK( mx::core::MusicDataChoice::Choice::direction == elementType ); + dirElement = mdc->getDirection(); + CHECK( !dirElement->getHasOffset() ); + + ++iter; + mdc = *iter; + elementType = mdc->getChoice(); + CHECK( mx::core::MusicDataChoice::Choice::note == elementType ); + + ++iter; + mdc = *iter; + elementType = mdc->getChoice(); + CHECK( mx::core::MusicDataChoice::Choice::direction == elementType ); + dirElement = mdc->getDirection(); + CHECK( !dirElement->getHasOffset() ); + + ++iter; + mdc = *iter; + elementType = mdc->getChoice(); + CHECK( mx::core::MusicDataChoice::Choice::note == elementType ); + + ++iter; + mdc = *iter; + elementType = mdc->getChoice(); + CHECK( mx::core::MusicDataChoice::Choice::direction == elementType ); + dirElement = mdc->getDirection(); + CHECK( dirElement->getHasOffset() ); + CHECK_DOUBLES_EQUAL( 120.0, dirElement->getOffset()->getValue().getValue(), 0.0001 ); -TEST( pedalStop, NoteData ) -{ - ScoreData score; - score.parts.emplace_back(); - auto& part = score.parts.back(); - part.measures.emplace_back(); - auto& measure = part.measures.back(); - measure.staves.emplace_back(); - auto& staff = measure.staves.back(); - auto& voice = staff.voices[0]; - voice.notes.emplace_back(); - staff.directions.emplace_back(); - auto& direction = staff.directions.back(); - direction.marks.emplace_back( Placement::below, MarkType::damp ); - direction.tickTimePosition = 70342; - // round trip it through xml - auto& mgr = DocumentManager::getInstance(); - auto docId = mgr.createFromScore( score ); - std::stringstream ss; - mgr.writeToStream(docId, ss); - mgr.destroyDocument(docId); - const std::string xml = ss.str(); - std::istringstream iss{ xml }; - docId = mgr.createFromStream( iss ); - auto oscore = mgr.getData(docId); // get the data after the round trip - auto& opart = oscore.parts.back(); - auto& omeasure = opart.measures.back(); - auto& ostaff = omeasure.staves.back(); - auto& odirections = ostaff.directions; - auto& odirection = odirections.back(); - auto& omark = odirection.marks.back(); - - CHECK( omark.markType == MarkType::damp ); - CHECK_EQUAL( odirection.tickTimePosition, odirection.tickTimePosition ); +// auto& opart = oscore.parts.back(); +// auto& omeasure = opart.measures.back(); +// auto& ostaff = omeasure.staves.back(); +// auto& odirections = ostaff.directions; +// auto& odirection = odirections.back(); +// auto& omark = odirection.marks.back(); + + +// CHECK( omark.markType == MarkType::damp ); +// CHECK_EQUAL( odirection.tickTimePosition, odirection.tickTimePosition ); } T_END diff --git a/Sourcecode/mxtest/control/CompileControl.h b/Sourcecode/mxtest/control/CompileControl.h index 8e2b42511..ca5b83fc7 100755 --- a/Sourcecode/mxtest/control/CompileControl.h +++ b/Sourcecode/mxtest/control/CompileControl.h @@ -6,8 +6,8 @@ #define MX_COMPILE_API_TESTS #define MX_COMPILE_API_ROUNDTRIP //#define MX_COMPILE_CORE_TESTS -#define MX_COMPILE_IMPL_TESTS -#define MX_COMPILE_IMPORT_TESTS +//#define MX_COMPILE_IMPL_TESTS +//#define MX_COMPILE_IMPORT_TESTS //#define MX_COMPILE_UTILTIY_TESTS //#define MX_COMPILE_XML_TESTS diff --git a/Xcode/MxTest.xcodeproj/project.pbxproj b/Xcode/MxTest.xcodeproj/project.pbxproj index 7a6d625a8..f1123633d 100755 --- a/Xcode/MxTest.xcodeproj/project.pbxproj +++ b/Xcode/MxTest.xcodeproj/project.pbxproj @@ -7,23 +7,7 @@ objects = { /* Begin PBXBuildFile section */ - 290A8CE41E881B1F00AF62C8 /* ApiTester.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2903C9471DBC7ED600218C9E /* ApiTester.cpp */; }; - 290A8CE51E881B2400AF62C8 /* ApiLy43eTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29FFAC7C1DB998C100DC8AE1 /* ApiLy43eTest.cpp */; }; - 290A8CE61E8838DD00AF62C8 /* ApiK007aTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29BF988A1DC6D20500BBC7B3 /* ApiK007aTest.cpp */; }; - 290A8CE71E8838DD00AF62C8 /* ApiK007cTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2961F1161DC7CDD700D62B16 /* ApiK007cTest.cpp */; }; - 290A8CE81E8838DD00AF62C8 /* ApiK009bSlurTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29271A081DCBB6760036528D /* ApiK009bSlurTest.cpp */; }; - 290A8CE91E8838DD00AF62C8 /* ApiK014aFermatasTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E41D681DC978400085405E /* ApiK014aFermatasTest.cpp */; }; - 290A8CEA1E8838DD00AF62C8 /* ApiK015aLayoutTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2973CDE21DCD74CD001B9AAD /* ApiK015aLayoutTest.cpp */; }; - 290A8CEB1E8838DD00AF62C8 /* ApiK016aMiscTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29FF27341DD7DE880005B0AA /* ApiK016aMiscTest.cpp */; }; - 290A8CEC1E8838DD00AF62C8 /* ApiLoadSurvivalTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294775E11D934C510006E1AD /* ApiLoadSurvivalTest.cpp */; }; - 290A8CED1E8838DD00AF62C8 /* ApiMuAccidentals1Test.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2961F1301DC7F47100D62B16 /* ApiMuAccidentals1Test.cpp */; }; - 290A8CEE1E8838DD00AF62C8 /* ChordApiTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C9AFD81DC3BE6000DD9BFB /* ChordApiTest.cpp */; }; - 290A8CEF1E8838DD00AF62C8 /* ChordTimeTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29510AFC1E3113AA00EB76F0 /* ChordTimeTest.cpp */; }; - 290A8CF01E8838DD00AF62C8 /* DocumentManagerTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF440F1D6E8F5500DBDAB9 /* DocumentManagerTest.cpp */; }; - 290A8CF11E8838DD00AF62C8 /* MetronomeApiTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29AD58B71E3D1000004FD94E /* MetronomeApiTest.cpp */; }; - 290A8CF21E8838DD00AF62C8 /* TimeSignatureApiTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29979D611DC811F300707AA4 /* TimeSignatureApiTest.cpp */; }; - 290A8CF31E8838DD00AF62C8 /* NoteDataTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292D3FF31E57EBE4008AA032 /* NoteDataTest.cpp */; }; - 290A8CF41E8838DD00AF62C8 /* BombeTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A3387F1E652432001D61DD /* BombeTest.cpp */; }; + 290A8D0E1E895CC800AF62C8 /* NoteDataTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292D3FF31E57EBE4008AA032 /* NoteDataTest.cpp */; }; 291A04761DC2BFD000B5C5F6 /* PositionFunctionsTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 291A04751DC2BFD000B5C5F6 /* PositionFunctionsTest.cpp */; }; 29271A0B1DCBD92D0036528D /* CurveFunctionsTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29271A0A1DCBD92D0036528D /* CurveFunctionsTest.cpp */; }; 292E371F1CA8D68D00CC63BB /* libMx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 292E371E1CA8D68D00CC63BB /* libMx.a */; }; @@ -1936,7 +1920,6 @@ 29C01DD91D1312FA0094BE61 /* EndParagraphTest.cpp in Sources */, 29C01E8C1D1312FA0094BE61 /* PrintTest.cpp in Sources */, 295897281DB9806600F18FBA /* MxFileRepositoy.cpp in Sources */, - 290A8CE41E881B1F00AF62C8 /* ApiTester.cpp in Sources */, 29C01EF21D1312FA0094BE61 /* TurnTest.cpp in Sources */, 29C01E751D1312FA0094BE61 /* PartGroupOrScorePartTest.cpp in Sources */, 29C01EE31D1312FA0094BE61 /* TopMarginTest.cpp in Sources */, @@ -1965,14 +1948,12 @@ 29C01D761D1312FA0094BE61 /* AlterTest.cpp in Sources */, 29C01EAF1D1312FA0094BE61 /* SoloTest.cpp in Sources */, 29C01E6C1D1312FA0094BE61 /* OtherPlayTest.cpp in Sources */, - 290A8CEF1E8838DD00AF62C8 /* ChordTimeTest.cpp in Sources */, 29C01D8A1D1312FA0094BE61 /* BeatTypeTest.cpp in Sources */, 29C01DBC1D1312FA0094BE61 /* DistanceTest.cpp in Sources */, 294CE2031DCA952A0021670C /* PrintFunctionsTest.cpp in Sources */, 29C01EBC1D1312FA0094BE61 /* StaffTuningTest.cpp in Sources */, 29C01DDD1D1312FA0094BE61 /* EyeglassesTest.cpp in Sources */, 295897291DB9806600F18FBA /* MxFileTest.cpp in Sources */, - 290A8CF21E8838DD00AF62C8 /* TimeSignatureApiTest.cpp in Sources */, 29C01E731D1312FA0094BE61 /* PartAbbreviationDisplayTest.cpp in Sources */, 29C01ECE1D1312FA0094BE61 /* SyllabicTextGroupTest.cpp in Sources */, 29C01D701D1312FA0094BE61 /* AccordionHighTest.cpp in Sources */, @@ -2016,7 +1997,6 @@ 29C01E4D1D1312FA0094BE61 /* MusicDataGroupTest.cpp in Sources */, 29C01E401D1312FA0094BE61 /* MidiInstrumentTest.cpp in Sources */, 29C01E671D1312FA0094BE61 /* OtherArticulationTest.cpp in Sources */, - 290A8CF11E8838DD00AF62C8 /* MetronomeApiTest.cpp in Sources */, 29C01DCC1D1312FA0094BE61 /* EditorialGroupTest.cpp in Sources */, 29C01E8E1D1312FA0094BE61 /* PullOffTest.cpp in Sources */, 29C01EFA1D1312FA0094BE61 /* VirtualNameTest.cpp in Sources */, @@ -2033,7 +2013,6 @@ 29C01D8B1D1312FA0094BE61 /* BeatUnitDotTest.cpp in Sources */, 29C01ED21D1312FA0094BE61 /* SystemMarginsTest.cpp in Sources */, 29C01D9E1D1312FA0094BE61 /* CreatorTest.cpp in Sources */, - 290A8CF41E8838DD00AF62C8 /* BombeTest.cpp in Sources */, 29C01E861D1312FA0094BE61 /* PlopTest.cpp in Sources */, 29C01E011D1312FA0094BE61 /* HandbellTest.cpp in Sources */, 29C01DD21D1312FA0094BE61 /* ElisionTest.cpp in Sources */, @@ -2050,7 +2029,6 @@ 29C01D741D1312FA0094BE61 /* AccordTest.cpp in Sources */, 29C01EB21D1312FA0094BE61 /* SourceTest.cpp in Sources */, 29C01E8A1D1312FA0094BE61 /* PrefixTest.cpp in Sources */, - 290A8CE61E8838DD00AF62C8 /* ApiK007aTest.cpp in Sources */, 29C01F001D1312FA0094BE61 /* WoodTest.cpp in Sources */, 29C01D931D1312FA0094BE61 /* BreathMarkTest.cpp in Sources */, 29C01E7F1D1312FA0094BE61 /* PedalTest.cpp in Sources */, @@ -2095,7 +2073,6 @@ 29C01EA81D1312FA0094BE61 /* SlashDotTest.cpp in Sources */, 29C01E9E1D1312FA0094BE61 /* ScoreHeaderGroupTest.cpp in Sources */, 29C01DFC1D1312FA0094BE61 /* GroupNameTest.cpp in Sources */, - 290A8CE91E8838DD00AF62C8 /* ApiK014aFermatasTest.cpp in Sources */, 29C01E581D1312FA0094BE61 /* NoteChoiceTest.cpp in Sources */, 29C01EE41D1312FA0094BE61 /* TopSystemDistanceTest.cpp in Sources */, 29C01DEA1D1312FA0094BE61 /* ForwardTest.cpp in Sources */, @@ -2122,7 +2099,6 @@ 29C01DBB1D1312FA0094BE61 /* DisplayTextTest.cpp in Sources */, 29C01EAC1D1312FA0094BE61 /* SlurTest.cpp in Sources */, 29C01F061D1312FA0094BE61 /* YesNoNumberTest.cpp in Sources */, - 290A8CE51E881B2400AF62C8 /* ApiLy43eTest.cpp in Sources */, 29C01DA01D1312FA0094BE61 /* CreditImageTest.cpp in Sources */, 29C01E991D1312FA0094BE61 /* RootTest.cpp in Sources */, 29C01DB31D1312FA0094BE61 /* DetachedLegatoTest.cpp in Sources */, @@ -2135,7 +2111,6 @@ 29C01E651D1312FA0094BE61 /* OrnamentsTest.cpp in Sources */, 29C01DC91D1312FA0094BE61 /* DownBowTest.cpp in Sources */, 29C01EF51D1312FA0094BE61 /* UnstressTest.cpp in Sources */, - 290A8CEC1E8838DD00AF62C8 /* ApiLoadSurvivalTest.cpp in Sources */, 29B48EDB1DBE7F550030A974 /* MeasureWriterTest.cpp in Sources */, 29C01DAC1D1312FA0094BE61 /* DefaultsTest.cpp in Sources */, 29C01DC71D1312FA0094BE61 /* DoubleTest.cpp in Sources */, @@ -2165,7 +2140,6 @@ 29C01E611D1312FA0094BE61 /* OffsetTest.cpp in Sources */, 29C01E5E1D1312FA0094BE61 /* OctaveChangeTest.cpp in Sources */, 29C01DB91D1312FA0094BE61 /* DisplayStepOctaveGroupTest.cpp in Sources */, - 290A8CE81E8838DD00AF62C8 /* ApiK009bSlurTest.cpp in Sources */, 29C01EC01D1312FA0094BE61 /* StepTest.cpp in Sources */, 29C01ED81D1312FA0094BE61 /* TextTest.cpp in Sources */, 29C01DA51D1312FA0094BE61 /* CueNoteGroupTest.cpp in Sources */, @@ -2178,8 +2152,8 @@ 29C01E301D1312FA0094BE61 /* MeasureLayoutTest.cpp in Sources */, 29C01D7F1D1312FA0094BE61 /* BarlineTest.cpp in Sources */, 29C01DA71D1312FA0094BE61 /* DampAllTest.cpp in Sources */, + 290A8D0E1E895CC800AF62C8 /* NoteDataTest.cpp in Sources */, 29C01DD81D1312FA0094BE61 /* EndLineTest.cpp in Sources */, - 290A8CEB1E8838DD00AF62C8 /* ApiK016aMiscTest.cpp in Sources */, 29C01EE71D1312FA0094BE61 /* TremoloTest.cpp in Sources */, 29C01E1F1D1312FA0094BE61 /* KeyStepTest.cpp in Sources */, 29C01EF71D1312FA0094BE61 /* VerticalTurnTest.cpp in Sources */, @@ -2188,7 +2162,6 @@ 29C01EC81D1312FA0094BE61 /* StringsTest.cpp in Sources */, 29C01E901D1312FA0094BE61 /* RelationTest.cpp in Sources */, 29C01E2E1D1312FA0094BE61 /* MakeFunctionsTest.cpp in Sources */, - 290A8CE71E8838DD00AF62C8 /* ApiK007cTest.cpp in Sources */, 29C01D811D1312FA0094BE61 /* BarStyleTest.cpp in Sources */, 29C01E241D1312FA0094BE61 /* LeftDividerTest.cpp in Sources */, 29C01E981D1312FA0094BE61 /* RootStepTest.cpp in Sources */, @@ -2214,17 +2187,14 @@ 29C01E221D1312FA0094BE61 /* LaughingTest.cpp in Sources */, 29C01DC31D1312FA0094BE61 /* DocumentTimewiseCreate.cpp in Sources */, 29C01D771D1312FA0094BE61 /* AppearanceTest.cpp in Sources */, - 290A8CF31E8838DD00AF62C8 /* NoteDataTest.cpp in Sources */, 29C01E5C1D1312FA0094BE61 /* NoteTest.cpp in Sources */, 29C01E951D1312FA0094BE61 /* RightMarginTest.cpp in Sources */, 29C01EAD1D1312FA0094BE61 /* SnapPizzicatoTest.cpp in Sources */, 29C01E9F1D1312FA0094BE61 /* ScoreInstrumentTest.cpp in Sources */, 29C01D7C1D1312FA0094BE61 /* ArticulationsTest.cpp in Sources */, - 290A8CF01E8838DD00AF62C8 /* DocumentManagerTest.cpp in Sources */, 29C01DCA1D1312FA0094BE61 /* DurationTest.cpp in Sources */, 29C01EA31D1312FA0094BE61 /* SegnoTest.cpp in Sources */, 298F0F4D1D1E4981005C3D9D /* ImportTestImpl.cpp in Sources */, - 290A8CEE1E8838DD00AF62C8 /* ChordApiTest.cpp in Sources */, 297556081D135AA3007732D0 /* UtilityImplTest.cpp in Sources */, 29C01F041D1312FA0094BE61 /* WorkTest.cpp in Sources */, 29C01EAB1D1312FA0094BE61 /* SlideTest.cpp in Sources */, @@ -2255,7 +2225,6 @@ 295897271DB9806600F18FBA /* MxFile.cpp in Sources */, 29C01DC51D1312FA0094BE61 /* DoitTest.cpp in Sources */, 29C01E931D1312FA0094BE61 /* RestTest.cpp in Sources */, - 290A8CED1E8838DD00AF62C8 /* ApiMuAccidentals1Test.cpp in Sources */, 29C01E111D1312FA0094BE61 /* InstrumentAbbreviationTest.cpp in Sources */, 29C01E211D1312FA0094BE61 /* KindTest.cpp in Sources */, 29C01DBF1D1312FA0094BE61 /* DocumentPartwiseConvertTest.cpp in Sources */, @@ -2348,7 +2317,6 @@ 29C01E391D1312FA0094BE61 /* MetronomeRelationTest.cpp in Sources */, 29C01EF31D1312FA0094BE61 /* TypeTest.cpp in Sources */, 29C01DE81D1312FA0094BE61 /* FontSizeTest.cpp in Sources */, - 290A8CEA1E8838DD00AF62C8 /* ApiK015aLayoutTest.cpp in Sources */, 29C01E411D1312FA0094BE61 /* MidiNameTest.cpp in Sources */, 29C01F1B1D13137D0094BE61 /* main.cpp in Sources */, 29C01E1E1D1312FA0094BE61 /* KeyOctaveTest.cpp in Sources */, From 8e375b03572f4c5494e699a07886bfdfbfde57a8 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Mon, 27 Mar 2017 10:11:08 -0700 Subject: [PATCH 021/108] mxapi directions are now written in a relatively sane order with respect to notes --- Sourcecode/mx/impl/DirectionWriter.cpp | 7 + Sourcecode/mx/impl/MeasureWriter.cpp | 277 +++---- Sourcecode/mx/impl/MeasureWriter.h | 158 +++- Sourcecode/mxtest/api/ApiK015aLayoutTest.cpp | 39 +- Sourcecode/mxtest/api/NoteDataTest.cpp | 745 ++++++++++--------- Sourcecode/mxtest/control/CompileControl.h | 10 +- Xcode/MxTest.xcodeproj/project.pbxproj | 36 +- 7 files changed, 772 insertions(+), 500 deletions(-) diff --git a/Sourcecode/mx/impl/DirectionWriter.cpp b/Sourcecode/mx/impl/DirectionWriter.cpp index c2c8adbc6..12820c189 100644 --- a/Sourcecode/mx/impl/DirectionWriter.cpp +++ b/Sourcecode/mx/impl/DirectionWriter.cpp @@ -117,6 +117,13 @@ namespace mx auto pedalPtr = directionTypePtr->getPedal(); auto attr = pedalPtr->getAttributes(); + if( mark.positionData.placement != api::Placement::unspecified ) + { + myOutDirectionPtr->getAttributes()->hasPlacement = true; + Converter c; + myOutDirectionPtr->getAttributes()->placement = c.convert( mark.positionData.placement ); + } + if( mark.markType == api::MarkType::pedal ) { attr->type = core::StartStopChangeContinue::start; diff --git a/Sourcecode/mx/impl/MeasureWriter.cpp b/Sourcecode/mx/impl/MeasureWriter.cpp index 040a97112..1fe301d10 100644 --- a/Sourcecode/mx/impl/MeasureWriter.cpp +++ b/Sourcecode/mx/impl/MeasureWriter.cpp @@ -3,127 +3,125 @@ // Distributed under the MIT License #include "mx/impl/MeasureWriter.h" -#include "mx/core/elements/PartwiseMeasure.h" -#include "mx/impl/Converter.h" +#include "mx/core/elements/Accidental.h" +#include "mx/core/elements/AccordionRegistration.h" #include "mx/core/elements/Backup.h" -#include "mx/core/elements/Forward.h" -#include "mx/core/elements/MusicDataGroup.h" -#include "mx/core/elements/MusicDataChoice.h" -#include "mx/core/elements/Properties.h" -#include "mx/core/elements/Clef.h" -#include "mx/core/elements/Directive.h" -#include "mx/core/elements/Divisions.h" -#include "mx/core/elements/EditorialGroup.h" -#include "mx/core/elements/Footnote.h" -#include "mx/core/elements/Instruments.h" -#include "mx/core/elements/Key.h" -#include "mx/core/elements/KeyChoice.h" -#include "mx/core/elements/TraditionalKey.h" -#include "mx/core/elements/Cancel.h" -#include "mx/core/elements/Fifths.h" -#include "mx/core/elements/Mode.h" -#include "mx/core/elements/Level.h" -#include "mx/core/elements/MeasureStyle.h" -#include "mx/core/elements/PartSymbol.h" -#include "mx/core/elements/StaffDetails.h" -#include "mx/core/elements/Staves.h" -#include "mx/core/elements/Time.h" -#include "mx/core/elements/Transpose.h" -#include "mx/core/elements/TimeChoice.h" -#include "mx/core/elements/TimeSignatureGroup.h" -#include "mx/core/elements/BeatType.h" +#include "mx/core/elements/Barline.h" +#include "mx/core/elements/BarStyle.h" +#include "mx/core/elements/Beam.h" #include "mx/core/elements/Beats.h" +#include "mx/core/elements/BeatType.h" +#include "mx/core/elements/Bracket.h" +#include "mx/core/elements/Cancel.h" +#include "mx/core/elements/Clef.h" #include "mx/core/elements/Clef.h" #include "mx/core/elements/ClefOctaveChange.h" -#include "mx/core/elements/Line.h" -#include "mx/core/elements/Sign.h" -#include "mx/impl/ScoreWriter.h" -#include "mx/core/elements/Print.h" -#include "mx/core/elements/LayoutGroup.h" -#include "mx/core/elements/MeasureLayout.h" -#include "mx/core/elements/MeasureNumbering.h" -#include "mx/core/elements/PartAbbreviationDisplay.h" -#include "mx/core/elements/PartNameDisplay.h" -#include "mx/core/elements/SystemLayout.h" -#include "mx/core/elements/SystemDistance.h" -#include "mx/core/elements/SystemDividers.h" -#include "mx/core/elements/SystemMargins.h" -#include "mx/core/elements/TopSystemDistance.h" -#include "mx/core/elements/LeftMargin.h" -#include "mx/core/elements/RightMargin.h" -#include "mx/core/elements/Note.h" -#include "mx/core/elements/Accidental.h" -#include "mx/core/elements/Beam.h" +#include "mx/core/elements/Coda.h" +#include "mx/core/elements/Coda.h" +#include "mx/core/elements/Cue.h" #include "mx/core/elements/CueNoteGroup.h" +#include "mx/core/elements/Damp.h" +#include "mx/core/elements/DampAll.h" +#include "mx/core/elements/Dashes.h" +#include "mx/core/elements/Direction.h" +#include "mx/core/elements/DirectionType.h" +#include "mx/core/elements/Directive.h" +#include "mx/core/elements/Divisions.h" #include "mx/core/elements/Dot.h" #include "mx/core/elements/Duration.h" +#include "mx/core/elements/Dynamics.h" +#include "mx/core/elements/EditorialGroup.h" +#include "mx/core/elements/EditorialGroup.h" #include "mx/core/elements/EditorialVoiceGroup.h" +#include "mx/core/elements/Ending.h" +#include "mx/core/elements/Eyeglasses.h" +#include "mx/core/elements/Fermata.h" +#include "mx/core/elements/Fifths.h" #include "mx/core/elements/Footnote.h" +#include "mx/core/elements/Footnote.h" +#include "mx/core/elements/Forward.h" #include "mx/core/elements/FullNoteGroup.h" #include "mx/core/elements/FullNoteTypeChoice.h" -#include "mx/core/elements/GraceNoteGroup.h" #include "mx/core/elements/Grace.h" -#include "mx/core/elements/Cue.h" +#include "mx/core/elements/GraceNoteGroup.h" +#include "mx/core/elements/HarpPedals.h" +#include "mx/core/elements/Image.h" #include "mx/core/elements/Instrument.h" +#include "mx/core/elements/Instruments.h" +#include "mx/core/elements/Key.h" +#include "mx/core/elements/KeyChoice.h" +#include "mx/core/elements/LayoutGroup.h" +#include "mx/core/elements/LeftMargin.h" +#include "mx/core/elements/Level.h" #include "mx/core/elements/Level.h" +#include "mx/core/elements/Line.h" #include "mx/core/elements/Lyric.h" +#include "mx/core/elements/MeasureLayout.h" +#include "mx/core/elements/MeasureNumbering.h" +#include "mx/core/elements/MeasureStyle.h" +#include "mx/core/elements/Metronome.h" +#include "mx/core/elements/Mode.h" +#include "mx/core/elements/MusicDataChoice.h" +#include "mx/core/elements/MusicDataGroup.h" +#include "mx/core/elements/NormalNoteGroup.h" #include "mx/core/elements/Notations.h" +#include "mx/core/elements/Note.h" #include "mx/core/elements/NoteChoice.h" #include "mx/core/elements/Notehead.h" #include "mx/core/elements/NoteheadText.h" -#include "mx/core/elements/NormalNoteGroup.h" -#include "mx/core/elements/Pitch.h" -#include "mx/core/elements/Play.h" -#include "mx/core/elements/Staff.h" -#include "mx/core/elements/Stem.h" -#include "mx/core/elements/Rest.h" -#include "mx/core/elements/Tie.h" -#include "mx/core/elements/TimeModification.h" -#include "mx/core/elements/Type.h" -#include "mx/core/elements/Unpitched.h" -#include "mx/core/elements/Voice.h" -#include "mx/impl/NoteWriter.h" -#include "mx/core/elements/Direction.h" -#include "mx/core/elements/DirectionType.h" -#include "mx/core/elements/AccordionRegistration.h" -#include "mx/core/elements/Bracket.h" -#include "mx/core/elements/Coda.h" -#include "mx/core/elements/Damp.h" -#include "mx/core/elements/DampAll.h" -#include "mx/core/elements/Dashes.h" -#include "mx/core/elements/Dynamics.h" -#include "mx/core/elements/Eyeglasses.h" -#include "mx/core/elements/HarpPedals.h" -#include "mx/core/elements/Image.h" -#include "mx/core/elements/Metronome.h" #include "mx/core/elements/OctaveShift.h" #include "mx/core/elements/OtherDirection.h" +#include "mx/core/elements/PartAbbreviationDisplay.h" +#include "mx/core/elements/PartNameDisplay.h" +#include "mx/core/elements/PartSymbol.h" +#include "mx/core/elements/PartwiseMeasure.h" #include "mx/core/elements/Pedal.h" #include "mx/core/elements/Percussion.h" +#include "mx/core/elements/Pitch.h" +#include "mx/core/elements/Play.h" #include "mx/core/elements/PrincipalVoice.h" +#include "mx/core/elements/Print.h" +#include "mx/core/elements/Properties.h" #include "mx/core/elements/Rehearsal.h" +#include "mx/core/elements/Repeat.h" +#include "mx/core/elements/Rest.h" +#include "mx/core/elements/RightMargin.h" #include "mx/core/elements/Scordatura.h" #include "mx/core/elements/Segno.h" +#include "mx/core/elements/Segno.h" +#include "mx/core/elements/Sign.h" +#include "mx/core/elements/Staff.h" +#include "mx/core/elements/StaffDetails.h" +#include "mx/core/elements/Staves.h" +#include "mx/core/elements/Stem.h" #include "mx/core/elements/StringMute.h" +#include "mx/core/elements/SystemDistance.h" +#include "mx/core/elements/SystemDividers.h" +#include "mx/core/elements/SystemLayout.h" +#include "mx/core/elements/SystemMargins.h" +#include "mx/core/elements/Tie.h" +#include "mx/core/elements/Time.h" +#include "mx/core/elements/TimeChoice.h" +#include "mx/core/elements/TimeModification.h" +#include "mx/core/elements/TimeSignatureGroup.h" +#include "mx/core/elements/TopSystemDistance.h" +#include "mx/core/elements/TraditionalKey.h" +#include "mx/core/elements/Transpose.h" +#include "mx/core/elements/Type.h" +#include "mx/core/elements/Unpitched.h" +#include "mx/core/elements/Voice.h" +#include "mx/core/elements/WavyLine.h" #include "mx/core/elements/Wedge.h" #include "mx/core/elements/Words.h" +#include "mx/impl/Converter.h" #include "mx/impl/DirectionWriter.h" -#include "mx/core/elements/Barline.h" -#include "mx/core/elements/BarStyle.h" -#include "mx/core/elements/Coda.h" -#include "mx/core/elements/EditorialGroup.h" -#include "mx/core/elements/Ending.h" -#include "mx/core/elements/Fermata.h" -#include "mx/core/elements/Repeat.h" -#include "mx/core/elements/Segno.h" -#include "mx/core/elements/WavyLine.h" +#include "mx/impl/NoteWriter.h" +#include "mx/impl/ScoreWriter.h" #include namespace mx { - - namespace core { class PartwiseMeasure; @@ -135,7 +133,6 @@ namespace mx MeasureWriter::MeasureWriter( const api::MeasureData& inMeasureData, const MeasureCursor& inCursor, const ScoreWriter& inScoreWriter ) : myMeasureData{ inMeasureData } , myOutMeasure{ nullptr } - , myCursor{ inCursor } , myPreviousCursor{ inCursor } , myScoreWriter{ inScoreWriter } , myPropertiesWriter{ nullptr } @@ -144,6 +141,7 @@ namespace mx , myBarlinesEnd{ inMeasureData.barlines.cend() } , myMeasureKeysIter{ inMeasureData.keys.cbegin() } , myMeasureKeysEnd{ inMeasureData.keys.cend() } + , myHistory{ inCursor } { } @@ -153,7 +151,9 @@ namespace mx { myOutMeasure = core::makePartwiseMeasure(); myPropertiesWriter = std::unique_ptr{ new PropertiesWriter{ myOutMeasure } }; - myCursor.reset(); + auto cursor = myHistory.getCursor(); + cursor.reset(); + myHistory = History{ cursor }; myBarlinesIter = myMeasureData.barlines.cbegin(); myBarlinesEnd = myMeasureData.barlines.cend(); myMeasureKeysIter = myMeasureData.keys.cbegin(); @@ -177,7 +177,7 @@ namespace mx } else { - measureAttr.number = core::XsToken{ std::to_string( myCursor.measureIndex + 1 ) }; + measureAttr.number = core::XsToken{ std::to_string( myHistory.getCursor().measureIndex + 1 ) }; } if( myMeasureData.width >= 0.0 ) @@ -194,14 +194,14 @@ namespace mx measureAttr.implicit = converter.convert( myMeasureData.implicit ); } - if( myScoreWriter.isStartOfSystem( myCursor.measureIndex ) ) + if( myScoreWriter.isStartOfSystem( myHistory.getCursor().measureIndex ) ) { writeSystemInfo(); } - if( myCursor.isFirstMeasureInPart ) + if( myHistory.getCursor().isFirstMeasureInPart ) { - myPropertiesWriter->writeDivisions( myCursor.getGlobalTicksPerQuarter() ); + myPropertiesWriter->writeDivisions( myHistory.getCursor().getGlobalTicksPerQuarter() ); if( myMeasureData.staves.size() > 1 ) { @@ -222,7 +222,7 @@ namespace mx while( clefIter != clefEnd && clefIter->tickTimePosition == 0 ) { int desiredStaffIndex = -1; - if( myCursor.getNumStaves() > 1 ) + if( myHistory.getCursor().getNumStaves() > 1 ) { desiredStaffIndex = localStaffCounter; } @@ -246,14 +246,14 @@ namespace mx void MeasureWriter::writeSystemInfo() { - auto systemData = myScoreWriter.getSystemData( myCursor.measureIndex ); + auto systemData = myScoreWriter.getSystemData( myHistory.getCursor().measureIndex ); const bool isSystemDataSpecified = systemData.isMarginSpecified || systemData.isSystemDistanceSpecified || systemData.isTopSystemDistanceSpecified; - if( !isSystemDataSpecified && !myCursor.isFirstMeasureInPart ) + if( !isSystemDataSpecified && !myHistory.getCursor().isFirstMeasureInPart ) { return; } @@ -264,7 +264,9 @@ namespace mx print.getAttributes()->hasNewSystem = true; print.getAttributes()->newSystem = core::YesNo::yes; auto& layoutGroup = *print.getLayoutGroup(); - myOutMeasure->getMusicDataGroup()->addMusicDataChoice(printMdc ); + myOutMeasure->getMusicDataGroup()->addMusicDataChoice( printMdc ); + myHistory.log( "writePrint" ); + if( isSystemDataSpecified ) { layoutGroup.setHasSystemLayout( true ); @@ -295,17 +297,16 @@ namespace mx void MeasureWriter::writeStaves() { - myCursor.tickTimePosition = 0; - myCursor.staffIndex = 0; - myCursor.voiceIndex = 0; - myPreviousCursor = myCursor; + + myHistory.resetCursorFofStaffIterations(); + myPreviousCursor = myHistory.getCursor(); for( const auto& staff : myMeasureData.staves ) { // auto clefIter = staff.clefs.cbegin(); // auto clefEnd = staff.clefs.cend(); writeVoices( staff ); - ++myCursor.staffIndex; + myHistory.nextStaff(); } } @@ -315,8 +316,6 @@ namespace mx auto clefIter = inStaff.clefs.cbegin(); const auto clefEnd = inStaff.clefs.cend(); while( clefIter != clefEnd && clefIter->tickTimePosition == 0 ) { ++clefIter; } -// auto myMeasureKeysIter = myMeasureKeys.cbegin(); -// auto myMeasureKeysEnd = myMeasureKeys.cend(); auto staffKeyIter = inStaff.keys.cbegin(); auto staffKeyEnd = inStaff.keys.cend(); auto directionIter = inStaff.directions.cbegin(); @@ -326,18 +325,16 @@ namespace mx { int currentChordTickPosition = -1; int previousChordTickPosition = -2; - myCursor.voiceIndex = voice.first; + myHistory.setVoiceIndex( voice.first ); auto noteIter = voice.second.notes.cbegin(); auto noteEnd = voice.second.notes.cend(); writeDirections( directionIter, directionEnd, std::numeric_limits::min(), 0 ); for( ; noteIter != noteEnd; ++noteIter ) { - // TODO - this is too simplistic. If we have two chords in a row then this - // will be incorrect bool isStartOfChord = false; - myCursor.isChordActive = noteIter->isChord; - + myHistory.setChord( noteIter->isChord ); + if ( noteIter->isChord ) { currentChordTickPosition = noteIter->tickTimePosition; @@ -353,45 +350,43 @@ namespace mx if( myMeasureKeysIter != myMeasureKeysEnd ) { - if( myMeasureKeysIter->tickTimePosition <= myCursor.tickTimePosition ) + if( myMeasureKeysIter->tickTimePosition <= myHistory.getCursor().tickTimePosition ) { myPropertiesWriter->writeKey( -1, *myMeasureKeysIter ); ++myMeasureKeysIter; } } - while( clefIter != clefEnd && clefIter->tickTimePosition <= myCursor.tickTimePosition ) + while( clefIter != clefEnd && clefIter->tickTimePosition <= myHistory.getCursor().tickTimePosition ) { - myPropertiesWriter->writeClef( myCursor.staffIndex, *clefIter ); + myPropertiesWriter->writeClef( myHistory.getCursor().staffIndex, *clefIter ); ++clefIter; } - for( ; staffKeyIter != staffKeyEnd && staffKeyIter->tickTimePosition <= myCursor.tickTimePosition; ++staffKeyIter ) + for( ; staffKeyIter != staffKeyEnd && staffKeyIter->tickTimePosition <= myHistory.getCursor().tickTimePosition; ++staffKeyIter ) { - myPropertiesWriter->writeKey( myCursor.staffIndex, *staffKeyIter ); + myPropertiesWriter->writeKey( myHistory.getCursor().staffIndex, *staffKeyIter ); } myPropertiesWriter->flushBuffer(); - { - int minTime = myCursor.tickTimePosition; - int maxTime = std::numeric_limits::max(); - auto nextNote = noteIter + 1; + int minDirectionTime = myHistory.getCursor().tickTimePosition; + int maxDirectionTime = minDirectionTime + noteIter->durationData.durationTimeTicks; + auto nextNote = noteIter + 1; - if( nextNote != noteEnd ) - { - maxTime = nextNote->tickTimePosition; - } - - writeDirections( directionIter, directionEnd, minTime, maxTime ); + if( nextNote != noteEnd ) + { + maxDirectionTime = nextNote->tickTimePosition; } + writeDirections( directionIter, directionEnd, minDirectionTime, maxDirectionTime ); auto mdc = core::makeMusicDataChoice(); mdc->setChoice( core::MusicDataChoice::Choice::note ); - NoteWriter writer{ apiNote, myCursor, myScoreWriter, myPreviousCursor.isChordActive }; + NoteWriter writer{ apiNote, myHistory.getCursor(), myScoreWriter, myPreviousCursor.isChordActive }; mdc->setNote( writer.getNote(isStartOfChord) ); myOutMeasure->getMusicDataGroup()->addMusicDataChoice( mdc ); + myHistory.log( "addNote cursorTime " + std::to_string( myHistory.getCursor().tickTimePosition ) + ", noteTime " + std::to_string( apiNote.tickTimePosition ) ); advanceCursorIfNeeded( apiNote, noteIter, noteEnd, isStartOfChord ); } // foreach note @@ -408,7 +403,7 @@ namespace mx { MX_ASSERT( clefIter != inStaff.clefs.cend() ); api::ClefData clef = *clefIter; - myPropertiesWriter->writeClef( myCursor.staffIndex, clef ); + myPropertiesWriter->writeClef( myHistory.getCursor().staffIndex, clef ); } if( myMeasureKeysIter != myMeasureKeysEnd ) @@ -422,7 +417,7 @@ namespace mx for( ; staffKeyIter != staffKeyEnd; ++staffKeyIter ) { - myPropertiesWriter->writeKey( myCursor.staffIndex, *staffKeyIter ); + myPropertiesWriter->writeKey( myHistory.getCursor().staffIndex, *staffKeyIter ); } myPropertiesWriter->flushBuffer(); } @@ -435,7 +430,7 @@ namespace mx void MeasureWriter::writeForwardOrBackupIfNeeded( const api::NoteData& currentNote ) { myPropertiesWriter->flushBuffer(); - const int timeDifference = currentNote.tickTimePosition - myCursor.tickTimePosition; + const int timeDifference = currentNote.tickTimePosition - myHistory.getCursor().tickTimePosition; if( timeDifference < 0 ) { backup( -1 * timeDifference ); @@ -454,7 +449,7 @@ namespace mx auto backup = backupMdc->getBackup(); backup->getDuration()->setValue( core::PositiveDivisionsValue{ static_cast( ticks ) } ); myOutMeasure->getMusicDataGroup()->addMusicDataChoice( backupMdc ); - myCursor.tickTimePosition -= ticks; + myHistory.advanceTickTimePosition( -1 * ticks, "write backup" ); } @@ -465,7 +460,7 @@ namespace mx auto forward = forwardMdc->getForward(); forward->getDuration()->setValue( core::PositiveDivisionsValue{ static_cast( ticks ) } ); myOutMeasure->getMusicDataGroup()->addMusicDataChoice( forwardMdc ); - myCursor.tickTimePosition += ticks; + myHistory.advanceTickTimePosition( ticks, "write forward" ); } @@ -477,15 +472,15 @@ namespace mx ++inNoteIter; if( inNoteIter != inEndIter ) { - myCursor.tickTimePosition = inNoteIter->tickTimePosition; + myHistory.setTime( inNoteIter->tickTimePosition, "advanceCursorIfNeeded inNoteIter != inEndIter" ); } else { - myCursor.tickTimePosition += currentNote.durationData.durationTimeTicks; - myCursor.isChordActive = true; + myHistory.advanceTickTimePosition( currentNote.durationData.durationTimeTicks, "advanceCursorIfNeeded else"); + myHistory.setChord( true ); } - myPreviousCursor = myCursor; + myPreviousCursor = myHistory.getCursor(); } @@ -521,10 +516,10 @@ namespace mx auto directionMdc = core::makeMusicDataChoice(); directionMdc->setChoice( core::MusicDataChoice::Choice::direction ); -// auto tempDirectionCursor = myCursor; - DirectionWriter directionWriter{ *directionIter, myCursor }; + DirectionWriter directionWriter{ *directionIter, myHistory.getCursor() }; directionMdc->setDirection( directionWriter.getDirection() ); myOutMeasure->getMusicDataGroup()->addMusicDataChoice( directionMdc ); + myHistory.log( "addDirection cursorTime " + std::to_string( myHistory.getCursor().tickTimePosition ) + ", directionTime " + std::to_string( directionIter->tickTimePosition ) ); } } @@ -547,7 +542,21 @@ namespace mx barlineElement->getAttributes()->location = myConverter.convertBarlinePlacement( myBarlinesIter->location ); } myOutMeasure->getMusicDataGroup()->addMusicDataChoice( mdc ); + myHistory.log( "writeBarline" ); } } + + void MeasureWriter::History::advanceTickTimePosition( int amount, std::string reason ) + { + HistoryRecord record; + record.reason = std::move( reason ); + record.amount = amount; + record.timeBefore = myCursor.tickTimePosition; + record.cursorBefore = myCursor; + myCursor.tickTimePosition += amount; + record.cursorAfter = myCursor; + record.timeAfter = myCursor.tickTimePosition; + history.push_back( record ); + } } } diff --git a/Sourcecode/mx/impl/MeasureWriter.h b/Sourcecode/mx/impl/MeasureWriter.h index 7e5d1630e..e74833ded 100644 --- a/Sourcecode/mx/impl/MeasureWriter.h +++ b/Sourcecode/mx/impl/MeasureWriter.h @@ -12,6 +12,7 @@ #include "mx/impl/Converter.h" #include +#include namespace mx { @@ -35,11 +36,160 @@ namespace mx MeasureWriter( const api::MeasureData& inMeasureData, const MeasureCursor& inCursor, const ScoreWriter& inScoreWriter ); core::PartwiseMeasurePtr getPartwiseMeasure(); + public: + class HistoryRecord + { + public: + std::string reason; + int amount; + int timeBefore; + int timeAfter; + MeasureCursor cursorBefore; + MeasureCursor cursorAfter; + + }; + + struct History + { + History( const MeasureCursor& inCursor ) + : myCursor{ inCursor } + , history{} + { + HistoryRecord record; + record.reason = "initialize history"; + record.amount = 0; + record.timeBefore = myCursor.tickTimePosition; + record.cursorBefore = myCursor; + record.cursorAfter = myCursor; + record.timeAfter = myCursor.tickTimePosition; + history.push_back( record ); + } + + std::vector history; + void advanceTickTimePosition( int amount, std::string reason ); + const MeasureCursor& getCursor() const { return myCursor; } + + void resetCursorFofStaffIterations() + { + HistoryRecord record; + record.reason = "resetCursorFofStaffIterations"; + record.amount = 0; + record.timeBefore = myCursor.tickTimePosition; + record.cursorBefore = myCursor; + + myCursor.tickTimePosition = 0; + myCursor.staffIndex = 0; + myCursor.voiceIndex = 0; + + record.cursorAfter = myCursor; + record.timeAfter = myCursor.tickTimePosition; + history.push_back( record ); + } + + void nextStaff() + { + HistoryRecord record; + record.reason = "nextStaff"; + record.amount = 0; + record.timeBefore = myCursor.tickTimePosition; + record.cursorBefore = myCursor; + + ++myCursor.staffIndex; + + record.cursorAfter = myCursor; + record.timeAfter = myCursor.tickTimePosition; + history.push_back( record ); + } + + void setVoiceIndex( int inVoiceIndex ) + { + HistoryRecord record; + record.reason = "setVoiceIndex to " + std::to_string(inVoiceIndex); + record.amount = 0; + record.timeBefore = myCursor.tickTimePosition; + record.cursorBefore = myCursor; + + myCursor.voiceIndex = inVoiceIndex; + + record.cursorAfter = myCursor; + record.timeAfter = myCursor.tickTimePosition; + history.push_back( record ); + } + + void setChord( bool isChordActive ) + { + if( isChordActive == myCursor.isChordActive ) + { + return; + } + + HistoryRecord record; + + if( isChordActive ) + { + record.reason = "set isChordActive to true"; + } + else + { + record.reason = "set isChordActive to false"; + } + + record.amount = 0; + record.timeBefore = myCursor.tickTimePosition; + record.cursorBefore = myCursor; + + myCursor.isChordActive = isChordActive; + + record.cursorAfter = myCursor; + record.timeAfter = myCursor.tickTimePosition; + history.push_back( record ); + } + + void setTime( int inTickTimePosition, std::string inReason ) + { + HistoryRecord record; + record.reason = inReason; + record.amount = inTickTimePosition - myCursor.tickTimePosition; + record.timeBefore = myCursor.tickTimePosition; + record.cursorBefore = myCursor; + + myCursor.tickTimePosition = inTickTimePosition; + + record.cursorAfter = myCursor; + record.timeAfter = myCursor.tickTimePosition; + history.push_back( record ); + } + + void log( std::string message ) + { + HistoryRecord record; + record.reason = message; + record.amount = 0; + record.timeBefore = myCursor.tickTimePosition; + record.cursorBefore = myCursor; + record.cursorAfter = myCursor; + record.timeAfter = myCursor.tickTimePosition; + history.push_back( record ); + } + + std::string toString() const + { + std::stringstream ss; + for( const auto& record : history ) + { + ss << record.timeBefore << " " << record.reason << std::endl; + } + return ss.str(); + } + + private: + MeasureCursor myCursor; + }; + private: using NoteIter = std::vector::const_iterator; const api::MeasureData& myMeasureData; core::PartwiseMeasurePtr myOutMeasure; - MeasureCursor myCursor; MeasureCursor myPreviousCursor; const ScoreWriter& myScoreWriter; std::unique_ptr myPropertiesWriter; @@ -48,7 +198,8 @@ namespace mx std::vector::const_iterator myBarlinesEnd; std::vector::const_iterator myMeasureKeysIter; const std::vector::const_iterator myMeasureKeysEnd; - + History myHistory; + private: void writeMeasureGlobals(); void writeSystemInfo(); @@ -62,7 +213,7 @@ namespace mx using dirs = std::vector; using dIter = dirs::const_iterator; void writeDirections( dIter& directionIter, const dIter& directionEnd, int minTickTimePosition, int maxTickTimePosition ); - + template std::vector findItemsAtTimePosition( const std::vector& inItems, int inTickTimePosition ) { @@ -77,5 +228,6 @@ namespace mx return outVector; } }; + } } diff --git a/Sourcecode/mxtest/api/ApiK015aLayoutTest.cpp b/Sourcecode/mxtest/api/ApiK015aLayoutTest.cpp index 6459ae9a6..c79bcefcf 100644 --- a/Sourcecode/mxtest/api/ApiK015aLayoutTest.cpp +++ b/Sourcecode/mxtest/api/ApiK015aLayoutTest.cpp @@ -18,25 +18,26 @@ using namespace mx::api; namespace mxtest { - constexpr const char* const testFileName = "k015a_System_Layout.xml"; - - class ApiK015aLayoutScoreData : public ScoreDataCreator - { - virtual mx::api::ScoreData createScoreData() const override - { - return apiK015aLayoutScoreData(); - } - }; - - class ApiK015aLayoutScoreData; - - static const ApiTester ApiK015aLayoutTest - { - ScoreDataCreatorPtr{ new ApiK015aLayoutScoreData{} }, - MxFileRepository::getTestFile( testFileName ), - __FILE__, - __LINE__ - }; + // TODO - finish writing out the score data for this test in ApiK015aLayoutScoreData.h +// constexpr const char* const testFileName = "k015a_System_Layout.xml"; +// +// class ApiK015aLayoutScoreData : public ScoreDataCreator +// { +// virtual mx::api::ScoreData createScoreData() const override +// { +// return apiK015aLayoutScoreData(); +// } +// }; +// +// class ApiK015aLayoutScoreData; +// +// static const ApiTester ApiK015aLayoutTest +// { +// ScoreDataCreatorPtr{ new ApiK015aLayoutScoreData{} }, +// MxFileRepository::getTestFile( testFileName ), +// __FILE__, +// __LINE__ +// }; } #endif diff --git a/Sourcecode/mxtest/api/NoteDataTest.cpp b/Sourcecode/mxtest/api/NoteDataTest.cpp index 49e711df1..3aceffabd 100644 --- a/Sourcecode/mxtest/api/NoteDataTest.cpp +++ b/Sourcecode/mxtest/api/NoteDataTest.cpp @@ -38,326 +38,326 @@ using namespace mx::api; using namespace mxtest; -//TEST( miscFields, NoteData ) -//{ -// ScoreData score; -// score.parts.emplace_back(); -// auto& part = score.parts.back(); -// part.measures.emplace_back(); -// auto& measure = part.measures.back(); -// measure.staves.emplace_back(); -// auto& staff = measure.staves.back(); -// auto& voice = staff.voices[0]; -// voice.notes.emplace_back(); -// auto& note = voice.notes.back(); -// note.miscData.push_back( "Hello,There" ); -// note.miscData.push_back( "Bones" ); -// note.miscData.push_back( "Bishop" ); -// -// // round trip it through xml -// auto& mgr = DocumentManager::getInstance(); -// auto docId = mgr.createFromScore( score ); -// std::stringstream ss; -// mgr.writeToStream(docId, ss); -// mgr.destroyDocument(docId); -// const std::string xml = ss.str(); -// std::istringstream iss{ xml }; -// docId = mgr.createFromStream( iss ); -// auto oscore = mgr.getData(docId); -// -// // get the data after the round trip -// auto& opart = oscore.parts.back(); -// auto& omeasure = opart.measures.back(); -// auto& ostaff = omeasure.staves.back(); -// auto& ovoice = ostaff.voices[0]; -// auto& onote = ovoice.notes.back(); -// auto& omisc = onote.miscData; -// auto iter = omisc.cbegin(); -// const auto end = omisc.cend(); -// -// //std::cout << xml << std::endl; -// -// // assert -// CHECK( iter != end ); -// CHECK_EQUAL( "Hello_There", *iter); -// ++iter; -// -// CHECK( iter != end ); -// CHECK_EQUAL( "Bones", *iter); -// ++iter; -// -// CHECK( iter != end ); -// CHECK_EQUAL( "Bishop", *iter); -// ++iter; -// -// CHECK( iter == end ); -//} -//T_END -// -//TEST( SlurTieNumberLevelA, NoteData ) -//{ -// using namespace mx::core; -// Document doc; -// auto sp = doc.getScorePartwise(); -// const auto& parts = sp->getPartwisePartSet(); -// const auto& part = parts.front(); -// const auto& measure = part->getPartwiseMeasureSet().front(); -// const auto mdg = measure->getMusicDataGroup(); -// const auto mdc = makeMusicDataChoice(); -// mdg->addMusicDataChoice( mdc ); -// mdc->setChoice( MusicDataChoice::Choice::note ); -// const auto note = mdc->getNote(); -// note->setHasType(true); -// note->getType()->setValue( NoteTypeValue::quarter ); -// note->getNoteChoice()->setChoice( NoteChoice::Choice::normal ); -// auto nng = note->getNoteChoice()->getNormalNoteGroup(); -// nng->getFullNoteGroup()->getFullNoteTypeChoice()->setChoice( FullNoteTypeChoice::Choice::pitch ); -// auto pitch = nng->getFullNoteGroup()->getFullNoteTypeChoice()->getPitch(); -// const auto notations = makeNotations(); -// note->addNotations( notations ); -// const auto nc = makeNotationsChoice(); -// notations->addNotationsChoice( nc ); -// nc->setChoice( NotationsChoice::Choice::tied ); -// const auto tied = nc->getTied(); -// tied->getAttributes()->type = StartStopContinue::start; -// -// auto& mgr = DocumentManager::getInstance(); -// std::stringstream ss; -// doc.toStream( ss ); -// std::stringstream iss{ ss.str() }; -// auto id = mgr.createFromStream( iss ); -// const auto scoreData = mgr.getData( id ); -// mgr.destroyDocument( id ); -// -// const auto& noteData = scoreData.parts.at(0).measures.at(0).staves.at(0).voices.at(0).notes.front(); -// const auto& curveStart = noteData.noteAttachmentData.curveStarts.front(); -// CHECK_EQUAL( -1, curveStart.numberLevel ); -// CHECK( curveStart.curveType == mx::api::CurveType::tie ); -//} -//T_END -// -//TEST( SlurTieNumberLevelB, NoteData ) -//{ -// using namespace mx::core; -// Document doc; -// auto sp = doc.getScorePartwise(); -// const auto& parts = sp->getPartwisePartSet(); -// const auto& part = parts.front(); -// const auto& measure = part->getPartwiseMeasureSet().front(); -// const auto mdg = measure->getMusicDataGroup(); -// const auto mdc = makeMusicDataChoice(); -// mdg->addMusicDataChoice( mdc ); -// mdc->setChoice( MusicDataChoice::Choice::note ); -// const auto note = mdc->getNote(); -// note->setHasType(true); -// note->getType()->setValue( NoteTypeValue::quarter ); -// note->getNoteChoice()->setChoice( NoteChoice::Choice::normal ); -// auto nng = note->getNoteChoice()->getNormalNoteGroup(); -// nng->getFullNoteGroup()->getFullNoteTypeChoice()->setChoice( FullNoteTypeChoice::Choice::pitch ); -// auto pitch = nng->getFullNoteGroup()->getFullNoteTypeChoice()->getPitch(); -// const auto notations = makeNotations(); -// note->addNotations( notations ); -// const auto nc = makeNotationsChoice(); -// notations->addNotationsChoice( nc ); -// nc->setChoice( NotationsChoice::Choice::tied ); -// const auto tied = nc->getTied(); -// tied->getAttributes()->type = StartStopContinue::continue_; -// -// auto& mgr = DocumentManager::getInstance(); -// std::stringstream ss; -// doc.toStream( ss ); -// std::stringstream iss{ ss.str() }; -// auto id = mgr.createFromStream( iss ); -// const auto scoreData = mgr.getData( id ); -// mgr.destroyDocument( id ); -// -// const auto& noteData = scoreData.parts.at(0).measures.at(0).staves.at(0).voices.at(0).notes.front(); -// const auto& curveContinue = noteData.noteAttachmentData.curveContinuations.front(); -// CHECK_EQUAL( -1, curveContinue.numberLevel ); -// CHECK( curveContinue.curveType == mx::api::CurveType::tie ); -//} -//T_END -// -//TEST( SlurTieNumberLevelC, NoteData ) -//{ -// using namespace mx::core; -// Document doc; -// auto sp = doc.getScorePartwise(); -// const auto& parts = sp->getPartwisePartSet(); -// const auto& part = parts.front(); -// const auto& measure = part->getPartwiseMeasureSet().front(); -// const auto mdg = measure->getMusicDataGroup(); -// const auto mdc = makeMusicDataChoice(); -// mdg->addMusicDataChoice( mdc ); -// mdc->setChoice( MusicDataChoice::Choice::note ); -// const auto note = mdc->getNote(); -// note->setHasType(true); -// note->getType()->setValue( NoteTypeValue::quarter ); -// note->getNoteChoice()->setChoice( NoteChoice::Choice::normal ); -// auto nng = note->getNoteChoice()->getNormalNoteGroup(); -// nng->getFullNoteGroup()->getFullNoteTypeChoice()->setChoice( FullNoteTypeChoice::Choice::pitch ); -// auto pitch = nng->getFullNoteGroup()->getFullNoteTypeChoice()->getPitch(); -// const auto notations = makeNotations(); -// note->addNotations( notations ); -// const auto nc = makeNotationsChoice(); -// notations->addNotationsChoice( nc ); -// nc->setChoice( NotationsChoice::Choice::tied ); -// const auto tied = nc->getTied(); -// tied->getAttributes()->type = StartStopContinue::stop; -// -// auto& mgr = DocumentManager::getInstance(); -// std::stringstream ss; -// doc.toStream( ss ); -// std::stringstream iss{ ss.str() }; -// auto id = mgr.createFromStream( iss ); -// const auto scoreData = mgr.getData( id ); -// mgr.destroyDocument( id ); -// -// const auto& noteData = scoreData.parts.at(0).measures.at(0).staves.at(0).voices.at(0).notes.front(); -// const auto& curveStop = noteData.noteAttachmentData.curveStops.front(); -// CHECK_EQUAL( -1, curveStop.numberLevel ); -// CHECK( curveStop.curveType == mx::api::CurveType::tie ); -//} -//T_END -// -//TEST( ornaments, NoteData ) -//{ -// ScoreData score; -// score.parts.emplace_back(); -// auto& part = score.parts.back(); -// part.measures.emplace_back(); -// auto& measure = part.measures.back(); -// measure.staves.emplace_back(); -// auto& staff = measure.staves.back(); -// auto& voice = staff.voices[0]; -// voice.notes.emplace_back(); -// auto& note = voice.notes.back(); -// -// note.noteAttachmentData.marks.emplace_back( Placement::above, MarkType::trillMark ); -// note.noteAttachmentData.marks.back().positionData.isDefaultXSpecified = true; -// note.noteAttachmentData.marks.back().positionData.defaultX = 123.0; -// -// note.noteAttachmentData.marks.emplace_back( Placement::above, MarkType::wavyLine ); -// note.noteAttachmentData.marks.back().positionData.isDefaultYSpecified = true; -// note.noteAttachmentData.marks.back().positionData.defaultY = -456.0; -// -// // round trip it through xml -// auto& mgr = DocumentManager::getInstance(); -// auto docId = mgr.createFromScore( score ); -// std::stringstream ss; -// mgr.writeToStream(docId, ss); -// mgr.destroyDocument(docId); -// const std::string xml = ss.str(); -// std::istringstream iss{ xml }; -// docId = mgr.createFromStream( iss ); -// auto oscore = mgr.getData(docId); -// -// // get the data after the round trip -// auto& opart = oscore.parts.back(); -// auto& omeasure = opart.measures.back(); -// auto& ostaff = omeasure.staves.back(); -// auto& ovoice = ostaff.voices[0]; -// auto& onote = ovoice.notes.back(); -// auto& oattachments = onote.noteAttachmentData; -// auto& omarks = oattachments.marks; -// auto oIter = omarks.cbegin(); -// -// auto md = *oIter; -// CHECK( md.markType == MarkType::trillMark ); -// CHECK( md.positionData.isDefaultXSpecified ); -// CHECK( !md.positionData.isDefaultYSpecified ); -// CHECK_DOUBLES_EQUAL( 123.0, md.positionData.defaultX, 0.00001 ); -// -// ++oIter; -// md = *oIter; -// CHECK( md.markType == MarkType::wavyLine ); -// CHECK( !md.positionData.isDefaultXSpecified ); -// CHECK( md.positionData.isDefaultYSpecified ); -// CHECK_DOUBLES_EQUAL( -456.0, md.positionData.defaultY, 0.00001 ); -//} -//T_END -// -//TEST( pedalStart, NoteData ) -//{ -// ScoreData score; -// score.parts.emplace_back(); -// auto& part = score.parts.back(); -// part.measures.emplace_back(); -// auto& measure = part.measures.back(); -// measure.staves.emplace_back(); -// auto& staff = measure.staves.back(); -// auto& voice = staff.voices[0]; -// voice.notes.emplace_back(); -// -// staff.directions.emplace_back(); -// auto& direction = staff.directions.back(); -// direction.marks.emplace_back( Placement::below, MarkType::pedal ); -// direction.tickTimePosition = 7; -// -// // round trip it through xml -// auto& mgr = DocumentManager::getInstance(); -// auto docId = mgr.createFromScore( score ); -// std::stringstream ss; -// mgr.writeToStream(docId, ss); -// mgr.destroyDocument(docId); -// const std::string xml = ss.str(); -// std::istringstream iss{ xml }; -// docId = mgr.createFromStream( iss ); -// auto oscore = mgr.getData(docId); -// -// // get the data after the round trip -// auto& opart = oscore.parts.back(); -// auto& omeasure = opart.measures.back(); -// auto& ostaff = omeasure.staves.back(); -// auto& odirections = ostaff.directions; -// auto& odirection = odirections.back(); -// auto& omark = odirection.marks.back(); -// -// CHECK( omark.markType == MarkType::pedal ); -// CHECK_EQUAL( odirection.tickTimePosition, odirection.tickTimePosition ); -//} -//T_END -// -//TEST( pedalStop, NoteData ) -//{ -// ScoreData score; -// score.parts.emplace_back(); -// auto& part = score.parts.back(); -// part.measures.emplace_back(); -// auto& measure = part.measures.back(); -// measure.staves.emplace_back(); -// auto& staff = measure.staves.back(); -// auto& voice = staff.voices[0]; -// voice.notes.emplace_back(); -// -// staff.directions.emplace_back(); -// auto& direction = staff.directions.back(); -// direction.marks.emplace_back( Placement::below, MarkType::damp ); -// direction.tickTimePosition = 70342; -// -// // round trip it through xml -// auto& mgr = DocumentManager::getInstance(); -// auto docId = mgr.createFromScore( score ); -// std::stringstream ss; -// mgr.writeToStream(docId, ss); -// mgr.destroyDocument(docId); -// const std::string xml = ss.str(); -// std::istringstream iss{ xml }; -// docId = mgr.createFromStream( iss ); -// auto oscore = mgr.getData(docId); -// -// // get the data after the round trip -// auto& opart = oscore.parts.back(); -// auto& omeasure = opart.measures.back(); -// auto& ostaff = omeasure.staves.back(); -// auto& odirections = ostaff.directions; -// auto& odirection = odirections.back(); -// auto& omark = odirection.marks.back(); -// -// CHECK( omark.markType == MarkType::damp ); -// CHECK_EQUAL( odirection.tickTimePosition, odirection.tickTimePosition ); -//} -//T_END +TEST( miscFields, NoteData ) +{ + ScoreData score; + score.parts.emplace_back(); + auto& part = score.parts.back(); + part.measures.emplace_back(); + auto& measure = part.measures.back(); + measure.staves.emplace_back(); + auto& staff = measure.staves.back(); + auto& voice = staff.voices[0]; + voice.notes.emplace_back(); + auto& note = voice.notes.back(); + note.miscData.push_back( "Hello,There" ); + note.miscData.push_back( "Bones" ); + note.miscData.push_back( "Bishop" ); + + // round trip it through xml + auto& mgr = DocumentManager::getInstance(); + auto docId = mgr.createFromScore( score ); + std::stringstream ss; + mgr.writeToStream(docId, ss); + mgr.destroyDocument(docId); + const std::string xml = ss.str(); + std::istringstream iss{ xml }; + docId = mgr.createFromStream( iss ); + auto oscore = mgr.getData(docId); + + // get the data after the round trip + auto& opart = oscore.parts.back(); + auto& omeasure = opart.measures.back(); + auto& ostaff = omeasure.staves.back(); + auto& ovoice = ostaff.voices[0]; + auto& onote = ovoice.notes.back(); + auto& omisc = onote.miscData; + auto iter = omisc.cbegin(); + const auto end = omisc.cend(); + + //std::cout << xml << std::endl; + + // assert + CHECK( iter != end ); + CHECK_EQUAL( "Hello_There", *iter); + ++iter; + + CHECK( iter != end ); + CHECK_EQUAL( "Bones", *iter); + ++iter; + + CHECK( iter != end ); + CHECK_EQUAL( "Bishop", *iter); + ++iter; + + CHECK( iter == end ); +} +T_END + +TEST( SlurTieNumberLevelA, NoteData ) +{ + using namespace mx::core; + Document doc; + auto sp = doc.getScorePartwise(); + const auto& parts = sp->getPartwisePartSet(); + const auto& part = parts.front(); + const auto& measure = part->getPartwiseMeasureSet().front(); + const auto mdg = measure->getMusicDataGroup(); + const auto mdc = makeMusicDataChoice(); + mdg->addMusicDataChoice( mdc ); + mdc->setChoice( MusicDataChoice::Choice::note ); + const auto note = mdc->getNote(); + note->setHasType(true); + note->getType()->setValue( NoteTypeValue::quarter ); + note->getNoteChoice()->setChoice( NoteChoice::Choice::normal ); + auto nng = note->getNoteChoice()->getNormalNoteGroup(); + nng->getFullNoteGroup()->getFullNoteTypeChoice()->setChoice( FullNoteTypeChoice::Choice::pitch ); + auto pitch = nng->getFullNoteGroup()->getFullNoteTypeChoice()->getPitch(); + const auto notations = makeNotations(); + note->addNotations( notations ); + const auto nc = makeNotationsChoice(); + notations->addNotationsChoice( nc ); + nc->setChoice( NotationsChoice::Choice::tied ); + const auto tied = nc->getTied(); + tied->getAttributes()->type = StartStopContinue::start; + + auto& mgr = DocumentManager::getInstance(); + std::stringstream ss; + doc.toStream( ss ); + std::stringstream iss{ ss.str() }; + auto id = mgr.createFromStream( iss ); + const auto scoreData = mgr.getData( id ); + mgr.destroyDocument( id ); + + const auto& noteData = scoreData.parts.at(0).measures.at(0).staves.at(0).voices.at(0).notes.front(); + const auto& curveStart = noteData.noteAttachmentData.curveStarts.front(); + CHECK_EQUAL( -1, curveStart.numberLevel ); + CHECK( curveStart.curveType == mx::api::CurveType::tie ); +} +T_END + +TEST( SlurTieNumberLevelB, NoteData ) +{ + using namespace mx::core; + Document doc; + auto sp = doc.getScorePartwise(); + const auto& parts = sp->getPartwisePartSet(); + const auto& part = parts.front(); + const auto& measure = part->getPartwiseMeasureSet().front(); + const auto mdg = measure->getMusicDataGroup(); + const auto mdc = makeMusicDataChoice(); + mdg->addMusicDataChoice( mdc ); + mdc->setChoice( MusicDataChoice::Choice::note ); + const auto note = mdc->getNote(); + note->setHasType(true); + note->getType()->setValue( NoteTypeValue::quarter ); + note->getNoteChoice()->setChoice( NoteChoice::Choice::normal ); + auto nng = note->getNoteChoice()->getNormalNoteGroup(); + nng->getFullNoteGroup()->getFullNoteTypeChoice()->setChoice( FullNoteTypeChoice::Choice::pitch ); + auto pitch = nng->getFullNoteGroup()->getFullNoteTypeChoice()->getPitch(); + const auto notations = makeNotations(); + note->addNotations( notations ); + const auto nc = makeNotationsChoice(); + notations->addNotationsChoice( nc ); + nc->setChoice( NotationsChoice::Choice::tied ); + const auto tied = nc->getTied(); + tied->getAttributes()->type = StartStopContinue::continue_; + + auto& mgr = DocumentManager::getInstance(); + std::stringstream ss; + doc.toStream( ss ); + std::stringstream iss{ ss.str() }; + auto id = mgr.createFromStream( iss ); + const auto scoreData = mgr.getData( id ); + mgr.destroyDocument( id ); + + const auto& noteData = scoreData.parts.at(0).measures.at(0).staves.at(0).voices.at(0).notes.front(); + const auto& curveContinue = noteData.noteAttachmentData.curveContinuations.front(); + CHECK_EQUAL( -1, curveContinue.numberLevel ); + CHECK( curveContinue.curveType == mx::api::CurveType::tie ); +} +T_END + +TEST( SlurTieNumberLevelC, NoteData ) +{ + using namespace mx::core; + Document doc; + auto sp = doc.getScorePartwise(); + const auto& parts = sp->getPartwisePartSet(); + const auto& part = parts.front(); + const auto& measure = part->getPartwiseMeasureSet().front(); + const auto mdg = measure->getMusicDataGroup(); + const auto mdc = makeMusicDataChoice(); + mdg->addMusicDataChoice( mdc ); + mdc->setChoice( MusicDataChoice::Choice::note ); + const auto note = mdc->getNote(); + note->setHasType(true); + note->getType()->setValue( NoteTypeValue::quarter ); + note->getNoteChoice()->setChoice( NoteChoice::Choice::normal ); + auto nng = note->getNoteChoice()->getNormalNoteGroup(); + nng->getFullNoteGroup()->getFullNoteTypeChoice()->setChoice( FullNoteTypeChoice::Choice::pitch ); + auto pitch = nng->getFullNoteGroup()->getFullNoteTypeChoice()->getPitch(); + const auto notations = makeNotations(); + note->addNotations( notations ); + const auto nc = makeNotationsChoice(); + notations->addNotationsChoice( nc ); + nc->setChoice( NotationsChoice::Choice::tied ); + const auto tied = nc->getTied(); + tied->getAttributes()->type = StartStopContinue::stop; + + auto& mgr = DocumentManager::getInstance(); + std::stringstream ss; + doc.toStream( ss ); + std::stringstream iss{ ss.str() }; + auto id = mgr.createFromStream( iss ); + const auto scoreData = mgr.getData( id ); + mgr.destroyDocument( id ); + + const auto& noteData = scoreData.parts.at(0).measures.at(0).staves.at(0).voices.at(0).notes.front(); + const auto& curveStop = noteData.noteAttachmentData.curveStops.front(); + CHECK_EQUAL( -1, curveStop.numberLevel ); + CHECK( curveStop.curveType == mx::api::CurveType::tie ); +} +T_END + +TEST( ornaments, NoteData ) +{ + ScoreData score; + score.parts.emplace_back(); + auto& part = score.parts.back(); + part.measures.emplace_back(); + auto& measure = part.measures.back(); + measure.staves.emplace_back(); + auto& staff = measure.staves.back(); + auto& voice = staff.voices[0]; + voice.notes.emplace_back(); + auto& note = voice.notes.back(); + + note.noteAttachmentData.marks.emplace_back( Placement::above, MarkType::trillMark ); + note.noteAttachmentData.marks.back().positionData.isDefaultXSpecified = true; + note.noteAttachmentData.marks.back().positionData.defaultX = 123.0; + + note.noteAttachmentData.marks.emplace_back( Placement::above, MarkType::wavyLine ); + note.noteAttachmentData.marks.back().positionData.isDefaultYSpecified = true; + note.noteAttachmentData.marks.back().positionData.defaultY = -456.0; + + // round trip it through xml + auto& mgr = DocumentManager::getInstance(); + auto docId = mgr.createFromScore( score ); + std::stringstream ss; + mgr.writeToStream(docId, ss); + mgr.destroyDocument(docId); + const std::string xml = ss.str(); + std::istringstream iss{ xml }; + docId = mgr.createFromStream( iss ); + auto oscore = mgr.getData(docId); + + // get the data after the round trip + auto& opart = oscore.parts.back(); + auto& omeasure = opart.measures.back(); + auto& ostaff = omeasure.staves.back(); + auto& ovoice = ostaff.voices[0]; + auto& onote = ovoice.notes.back(); + auto& oattachments = onote.noteAttachmentData; + auto& omarks = oattachments.marks; + auto oIter = omarks.cbegin(); + + auto md = *oIter; + CHECK( md.markType == MarkType::trillMark ); + CHECK( md.positionData.isDefaultXSpecified ); + CHECK( !md.positionData.isDefaultYSpecified ); + CHECK_DOUBLES_EQUAL( 123.0, md.positionData.defaultX, 0.00001 ); + + ++oIter; + md = *oIter; + CHECK( md.markType == MarkType::wavyLine ); + CHECK( !md.positionData.isDefaultXSpecified ); + CHECK( md.positionData.isDefaultYSpecified ); + CHECK_DOUBLES_EQUAL( -456.0, md.positionData.defaultY, 0.00001 ); +} +T_END + +TEST( pedalStart, NoteData ) +{ + ScoreData score; + score.parts.emplace_back(); + auto& part = score.parts.back(); + part.measures.emplace_back(); + auto& measure = part.measures.back(); + measure.staves.emplace_back(); + auto& staff = measure.staves.back(); + auto& voice = staff.voices[0]; + voice.notes.emplace_back(); + + staff.directions.emplace_back(); + auto& direction = staff.directions.back(); + direction.marks.emplace_back( Placement::below, MarkType::pedal ); + direction.tickTimePosition = 7; + + // round trip it through xml + auto& mgr = DocumentManager::getInstance(); + auto docId = mgr.createFromScore( score ); + std::stringstream ss; + mgr.writeToStream(docId, ss); + mgr.destroyDocument(docId); + const std::string xml = ss.str(); + std::istringstream iss{ xml }; + docId = mgr.createFromStream( iss ); + auto oscore = mgr.getData(docId); + + // get the data after the round trip + auto& opart = oscore.parts.back(); + auto& omeasure = opart.measures.back(); + auto& ostaff = omeasure.staves.back(); + auto& odirections = ostaff.directions; + auto& odirection = odirections.back(); + auto& omark = odirection.marks.back(); + + CHECK( omark.markType == MarkType::pedal ); + CHECK_EQUAL( odirection.tickTimePosition, odirection.tickTimePosition ); +} +T_END + +TEST( pedalStop, NoteData ) +{ + ScoreData score; + score.parts.emplace_back(); + auto& part = score.parts.back(); + part.measures.emplace_back(); + auto& measure = part.measures.back(); + measure.staves.emplace_back(); + auto& staff = measure.staves.back(); + auto& voice = staff.voices[0]; + voice.notes.emplace_back(); + + staff.directions.emplace_back(); + auto& direction = staff.directions.back(); + direction.marks.emplace_back( Placement::below, MarkType::damp ); + direction.tickTimePosition = 70342; + + // round trip it through xml + auto& mgr = DocumentManager::getInstance(); + auto docId = mgr.createFromScore( score ); + std::stringstream ss; + mgr.writeToStream(docId, ss); + mgr.destroyDocument(docId); + const std::string xml = ss.str(); + std::istringstream iss{ xml }; + docId = mgr.createFromStream( iss ); + auto oscore = mgr.getData(docId); + + // get the data after the round trip + auto& opart = oscore.parts.back(); + auto& omeasure = opart.measures.back(); + auto& ostaff = omeasure.staves.back(); + auto& odirections = ostaff.directions; + auto& odirection = odirections.back(); + auto& omark = odirection.marks.back(); + + CHECK( omark.markType == MarkType::damp ); + CHECK_EQUAL( odirection.tickTimePosition, odirection.tickTimePosition ); +} +T_END TEST( directionOrder, NoteData ) { @@ -419,11 +419,6 @@ TEST( directionOrder, NoteData ) std::stringstream ss; mgr.writeToStream(docId, ss); mgr.destroyDocument(docId); - const std::string xml = ss.str(); - std::istringstream iss{ xml }; - docId = mgr.createFromStream( iss ); - auto oscore = mgr.getData(docId); - std::cout << xml << std::endl; const auto& partwise = docPtr->getScorePartwise(); const auto& partwisePartSet = partwise->getPartwisePartSet(); @@ -436,6 +431,13 @@ TEST( directionOrder, NoteData ) auto elementType = mdc->getChoice(); CHECK( mx::core::MusicDataChoice::Choice::properties == elementType ); + ++iter; + mdc = *iter; + elementType = mdc->getChoice(); + CHECK( mx::core::MusicDataChoice::Choice::direction == elementType ); + auto dirElement = mdc->getDirection(); + CHECK( !dirElement->getHasOffset() ); + ++iter; mdc = *iter; elementType = mdc->getChoice(); @@ -445,7 +447,7 @@ TEST( directionOrder, NoteData ) mdc = *iter; elementType = mdc->getChoice(); CHECK( mx::core::MusicDataChoice::Choice::direction == elementType ); - auto dirElement = mdc->getDirection(); + dirElement = mdc->getDirection(); CHECK( !dirElement->getHasOffset() ); ++iter; @@ -482,23 +484,92 @@ TEST( directionOrder, NoteData ) elementType = mdc->getChoice(); CHECK( mx::core::MusicDataChoice::Choice::direction == elementType ); dirElement = mdc->getDirection(); - CHECK( dirElement->getHasOffset() ); - CHECK_DOUBLES_EQUAL( 120.0, dirElement->getOffset()->getValue().getValue(), 0.0001 ); + CHECK( !dirElement->getHasOffset() ); +} +T_END + +TEST( directionOrderRoundTrip, NoteData ) +{ + ScoreData score; + score.parts.emplace_back(); + score.ticksPerQuarter = 120; + auto& part = score.parts.back(); + part.uniqueId = "BONES"; + part.measures.emplace_back(); + auto& measure = part.measures.back(); + measure.staves.emplace_back(); + auto& staff = measure.staves.back(); + auto& voice = staff.voices[0]; + NoteData note; + note.userRequestedVoiceNumber = 1; + note.durationData.durationName = DurationName::quarter; + note.durationData.durationTimeTicks = 120; + note.tickTimePosition = 0; + voice.notes.push_back( note ); + + note.tickTimePosition = 120; + note.pitchData.step = Step::d; + voice.notes.push_back( note ); + note.tickTimePosition = 240; + note.pitchData.step = Step::e; + voice.notes.push_back( note ); + note.tickTimePosition = 360; + note.pitchData.step = Step::e; + voice.notes.push_back( note ); - // get the data after the round trip -// auto& opart = oscore.parts.back(); -// auto& omeasure = opart.measures.back(); -// auto& ostaff = omeasure.staves.back(); -// auto& odirections = ostaff.directions; -// auto& odirection = odirections.back(); -// auto& omark = odirection.marks.back(); + auto placement = Placement::above; + DirectionData direction; + direction.placement = placement; + MarkData mark{ direction.placement, MarkType::damp }; + direction.tickTimePosition = 0; + mark.tickTimePosition = direction.tickTimePosition; + direction.marks.push_back( mark ); + staff.directions.push_back( direction ); + placement = Placement::unspecified; + direction.placement = placement; + direction.marks.back().positionData.placement = placement; + direction.tickTimePosition = 120; + direction.marks.back().tickTimePosition = direction.tickTimePosition; + staff.directions.push_back( direction ); + + placement = Placement::unspecified; + direction.placement = placement; + direction.marks.back().positionData.placement = placement; + direction.tickTimePosition = 240; + direction.marks.back().tickTimePosition = direction.tickTimePosition; + staff.directions.push_back( direction ); + + placement = Placement::unspecified; + direction.placement = placement; + direction.marks.back().positionData.placement = placement; + direction.tickTimePosition = 360; + direction.marks.back().tickTimePosition = direction.tickTimePosition; + staff.directions.push_back( direction ); + + placement = Placement::unspecified; + direction.placement = placement; + direction.marks.back().positionData.placement = placement; + direction.tickTimePosition = 480; + direction.marks.back().tickTimePosition = direction.tickTimePosition; + staff.directions.push_back( direction ); + + // round trip it through xml + auto& mgr = DocumentManager::getInstance(); + auto docId = mgr.createFromScore( score ); + auto docPtr = mgr.getDocument( docId ); + std::stringstream ss; + mgr.writeToStream(docId, ss); + mgr.destroyDocument(docId); + const std::string xml = ss.str(); + std::istringstream iss{ xml }; + docId = mgr.createFromStream( iss ); + auto oscore = mgr.getData(docId); + CHECK( score == oscore ) -// CHECK( omark.markType == MarkType::damp ); -// CHECK_EQUAL( odirection.tickTimePosition, odirection.tickTimePosition ); } T_END diff --git a/Sourcecode/mxtest/control/CompileControl.h b/Sourcecode/mxtest/control/CompileControl.h index ca5b83fc7..595bf3656 100755 --- a/Sourcecode/mxtest/control/CompileControl.h +++ b/Sourcecode/mxtest/control/CompileControl.h @@ -6,12 +6,12 @@ #define MX_COMPILE_API_TESTS #define MX_COMPILE_API_ROUNDTRIP //#define MX_COMPILE_CORE_TESTS -//#define MX_COMPILE_IMPL_TESTS -//#define MX_COMPILE_IMPORT_TESTS -//#define MX_COMPILE_UTILTIY_TESTS -//#define MX_COMPILE_XML_TESTS +#define MX_COMPILE_IMPL_TESTS +#define MX_COMPILE_IMPORT_TESTS +#define MX_COMPILE_UTILTIY_TESTS +#define MX_COMPILE_XML_TESTS // use this to restrict the size of the files that // the test run will open (compile-time constant). // 0 indicates no limit -constexpr const int MX_COMPILE_MAX_FILE_SIZE_BYTES = (5 * 1024); +constexpr const int MX_COMPILE_MAX_FILE_SIZE_BYTES = 0;//(5 * 1024); diff --git a/Xcode/MxTest.xcodeproj/project.pbxproj b/Xcode/MxTest.xcodeproj/project.pbxproj index f1123633d..1ff1a22e2 100755 --- a/Xcode/MxTest.xcodeproj/project.pbxproj +++ b/Xcode/MxTest.xcodeproj/project.pbxproj @@ -8,6 +8,22 @@ /* Begin PBXBuildFile section */ 290A8D0E1E895CC800AF62C8 /* NoteDataTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292D3FF31E57EBE4008AA032 /* NoteDataTest.cpp */; }; + 290A8D0F1E897C9000AF62C8 /* ApiK007aTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29BF988A1DC6D20500BBC7B3 /* ApiK007aTest.cpp */; }; + 290A8D101E897C9000AF62C8 /* ApiK007cTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2961F1161DC7CDD700D62B16 /* ApiK007cTest.cpp */; }; + 290A8D111E897C9000AF62C8 /* ApiK009bSlurTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29271A081DCBB6760036528D /* ApiK009bSlurTest.cpp */; }; + 290A8D121E897C9000AF62C8 /* ApiK014aFermatasTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E41D681DC978400085405E /* ApiK014aFermatasTest.cpp */; }; + 290A8D131E897C9000AF62C8 /* ApiK015aLayoutTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2973CDE21DCD74CD001B9AAD /* ApiK015aLayoutTest.cpp */; }; + 290A8D141E897C9000AF62C8 /* ApiK016aMiscTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29FF27341DD7DE880005B0AA /* ApiK016aMiscTest.cpp */; }; + 290A8D151E897C9000AF62C8 /* ApiLoadSurvivalTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294775E11D934C510006E1AD /* ApiLoadSurvivalTest.cpp */; }; + 290A8D161E897C9000AF62C8 /* ApiLy43eTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29FFAC7C1DB998C100DC8AE1 /* ApiLy43eTest.cpp */; }; + 290A8D171E897C9000AF62C8 /* ApiMuAccidentals1Test.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2961F1301DC7F47100D62B16 /* ApiMuAccidentals1Test.cpp */; }; + 290A8D181E897C9000AF62C8 /* ApiTester.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2903C9471DBC7ED600218C9E /* ApiTester.cpp */; }; + 290A8D191E897C9000AF62C8 /* ChordApiTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C9AFD81DC3BE6000DD9BFB /* ChordApiTest.cpp */; }; + 290A8D1A1E897C9000AF62C8 /* ChordTimeTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29510AFC1E3113AA00EB76F0 /* ChordTimeTest.cpp */; }; + 290A8D1B1E897C9000AF62C8 /* DocumentManagerTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF440F1D6E8F5500DBDAB9 /* DocumentManagerTest.cpp */; }; + 290A8D1C1E897C9000AF62C8 /* MetronomeApiTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29AD58B71E3D1000004FD94E /* MetronomeApiTest.cpp */; }; + 290A8D1D1E897C9000AF62C8 /* TimeSignatureApiTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29979D611DC811F300707AA4 /* TimeSignatureApiTest.cpp */; }; + 290A8D1E1E897C9000AF62C8 /* BombeTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A3387F1E652432001D61DD /* BombeTest.cpp */; }; 291A04761DC2BFD000B5C5F6 /* PositionFunctionsTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 291A04751DC2BFD000B5C5F6 /* PositionFunctionsTest.cpp */; }; 29271A0B1DCBD92D0036528D /* CurveFunctionsTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29271A0A1DCBD92D0036528D /* CurveFunctionsTest.cpp */; }; 292E371F1CA8D68D00CC63BB /* libMx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 292E371E1CA8D68D00CC63BB /* libMx.a */; }; @@ -1797,15 +1813,15 @@ 2961F1301DC7F47100D62B16 /* ApiMuAccidentals1Test.cpp */, 2903C9471DBC7ED600218C9E /* ApiTester.cpp */, 2903C9481DBC7ED600218C9E /* ApiTester.h */, + 29A3387F1E652432001D61DD /* BombeTest.cpp */, 29C9AFD81DC3BE6000DD9BFB /* ChordApiTest.cpp */, 29510AFC1E3113AA00EB76F0 /* ChordTimeTest.cpp */, 29EF440F1D6E8F5500DBDAB9 /* DocumentManagerTest.cpp */, 29AD58B71E3D1000004FD94E /* MetronomeApiTest.cpp */, + 292D3FF31E57EBE4008AA032 /* NoteDataTest.cpp */, 29CD722E1DB8421100FB7153 /* RoundTrip.h */, 2903C9461DBC7D7600218C9E /* ScoreDataCreator.h */, 29979D611DC811F300707AA4 /* TimeSignatureApiTest.cpp */, - 292D3FF31E57EBE4008AA032 /* NoteDataTest.cpp */, - 29A3387F1E652432001D61DD /* BombeTest.cpp */, ); name = api; sourceTree = ""; @@ -1908,6 +1924,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 290A8D1A1E897C9000AF62C8 /* ChordTimeTest.cpp in Sources */, 29C01EDD1D1312FA0094BE61 /* TimeRelationTest.cpp in Sources */, 29C01ED11D1312FA0094BE61 /* SystemLayoutTest.cpp in Sources */, 29C01DC21D1312FA0094BE61 /* DocumentTimewiseConvertTest.cpp in Sources */, @@ -1947,9 +1964,11 @@ 29C01DE11D1312FA0094BE61 /* FifthsTest.cpp in Sources */, 29C01D761D1312FA0094BE61 /* AlterTest.cpp in Sources */, 29C01EAF1D1312FA0094BE61 /* SoloTest.cpp in Sources */, + 290A8D161E897C9000AF62C8 /* ApiLy43eTest.cpp in Sources */, 29C01E6C1D1312FA0094BE61 /* OtherPlayTest.cpp in Sources */, 29C01D8A1D1312FA0094BE61 /* BeatTypeTest.cpp in Sources */, 29C01DBC1D1312FA0094BE61 /* DistanceTest.cpp in Sources */, + 290A8D121E897C9000AF62C8 /* ApiK014aFermatasTest.cpp in Sources */, 294CE2031DCA952A0021670C /* PrintFunctionsTest.cpp in Sources */, 29C01EBC1D1312FA0094BE61 /* StaffTuningTest.cpp in Sources */, 29C01DDD1D1312FA0094BE61 /* EyeglassesTest.cpp in Sources */, @@ -1973,6 +1992,7 @@ 29C01DF21D1312FA0094BE61 /* FunctionTest.cpp in Sources */, 29C01E191D1312FA0094BE61 /* InvertedMordentTest.cpp in Sources */, 29C01D831D1312FA0094BE61 /* BassAlterTest.cpp in Sources */, + 290A8D1B1E897C9000AF62C8 /* DocumentManagerTest.cpp in Sources */, 29C01E381D1312FA0094BE61 /* MetronomeNoteTest.cpp in Sources */, 29C01E331D1312FA0094BE61 /* MeasureStyleTest.cpp in Sources */, 29C01E461D1312FA0094BE61 /* MiscellaneousTest.cpp in Sources */, @@ -1982,6 +2002,7 @@ 29C01DFA1D1312FA0094BE61 /* GroupingTest.cpp in Sources */, 29C01ECA1D1312FA0094BE61 /* StrongAccentTest.cpp in Sources */, 29C01E3F1D1312FA0094BE61 /* MidiDeviceTest.cpp in Sources */, + 290A8D1C1E897C9000AF62C8 /* MetronomeApiTest.cpp in Sources */, 29C01DC41D1312FA0094BE61 /* DocumentTimewiseTest.cpp in Sources */, 29C01EFE1D1312FA0094BE61 /* WedgeTest.cpp in Sources */, 29C01E741D1312FA0094BE61 /* PartAbbreviationTest.cpp in Sources */, @@ -2012,6 +2033,7 @@ 29C01E891D1312FA0094BE61 /* PreBendTest.cpp in Sources */, 29C01D8B1D1312FA0094BE61 /* BeatUnitDotTest.cpp in Sources */, 29C01ED21D1312FA0094BE61 /* SystemMarginsTest.cpp in Sources */, + 290A8D1E1E897C9000AF62C8 /* BombeTest.cpp in Sources */, 29C01D9E1D1312FA0094BE61 /* CreatorTest.cpp in Sources */, 29C01E861D1312FA0094BE61 /* PlopTest.cpp in Sources */, 29C01E011D1312FA0094BE61 /* HandbellTest.cpp in Sources */, @@ -2088,6 +2110,7 @@ 29C01EA01D1312FA0094BE61 /* ScorePartTest.cpp in Sources */, 29C01D991D1312FA0094BE61 /* CircularArrowTest.cpp in Sources */, 29C01E0E1D1312FA0094BE61 /* HummingTest.cpp in Sources */, + 290A8D141E897C9000AF62C8 /* ApiK016aMiscTest.cpp in Sources */, 29C01EEC1D1312FA0094BE61 /* TuningStepTest.cpp in Sources */, 29C01E511D1312FA0094BE61 /* NonArpeggiateTest.cpp in Sources */, 29C01E291D1312FA0094BE61 /* LinkTest.cpp in Sources */, @@ -2108,6 +2131,7 @@ 29C01E5A1D1312FA0094BE61 /* NoteheadTextTest.cpp in Sources */, 29C01E7A1D1312FA0094BE61 /* PartSymbolTest.cpp in Sources */, 29C01EC31D1312FA0094BE61 /* StickTest.cpp in Sources */, + 290A8D191E897C9000AF62C8 /* ChordApiTest.cpp in Sources */, 29C01E651D1312FA0094BE61 /* OrnamentsTest.cpp in Sources */, 29C01DC91D1312FA0094BE61 /* DownBowTest.cpp in Sources */, 29C01EF51D1312FA0094BE61 /* UnstressTest.cpp in Sources */, @@ -2143,6 +2167,7 @@ 29C01EC01D1312FA0094BE61 /* StepTest.cpp in Sources */, 29C01ED81D1312FA0094BE61 /* TextTest.cpp in Sources */, 29C01DA51D1312FA0094BE61 /* CueNoteGroupTest.cpp in Sources */, + 290A8D111E897C9000AF62C8 /* ApiK009bSlurTest.cpp in Sources */, 29C01EEA1D1312FA0094BE61 /* TuningAlterTest.cpp in Sources */, 297555FD1D1359CA007732D0 /* HelloWorldTest.cpp in Sources */, 29C01E6A1D1312FA0094BE61 /* OtherOrnamentTest.cpp in Sources */, @@ -2180,6 +2205,7 @@ 29C01EB11D1312FA0094BE61 /* SoundTest.cpp in Sources */, 29C01D941D1312FA0094BE61 /* CaesuraTest.cpp in Sources */, 29C01EB51D1312FA0094BE61 /* StaccatoTest.cpp in Sources */, + 290A8D0F1E897C9000AF62C8 /* ApiK007aTest.cpp in Sources */, 29C01E7C1D1312FA0094BE61 /* PartwisePartTest.cpp in Sources */, 29C01F031D1312FA0094BE61 /* WorkNumberTest.cpp in Sources */, 29C227ED1D2F5DE000677B3C /* SortAttributes.cpp in Sources */, @@ -2201,6 +2227,7 @@ 29B48EDC1DBE7F550030A974 /* NoteWriterTest.cpp in Sources */, 29C01E521D1312FA0094BE61 /* NormalDotTest.cpp in Sources */, 29C01EB61D1312FA0094BE61 /* StaffDetailsTest.cpp in Sources */, + 290A8D101E897C9000AF62C8 /* ApiK007cTest.cpp in Sources */, 29C01D7B1D1312FA0094BE61 /* ArrowTest.cpp in Sources */, 29C01E6E1D1312FA0094BE61 /* PageHeightTest.cpp in Sources */, 29C01E921D1312FA0094BE61 /* RepeatTest.cpp in Sources */, @@ -2214,6 +2241,7 @@ 29C01EC41D1312FA0094BE61 /* StickTypeTest.cpp in Sources */, 29C01ECB1D1312FA0094BE61 /* SuffixTest.cpp in Sources */, 29C01E0F1D1312FA0094BE61 /* IdentificationTest.cpp in Sources */, + 290A8D1D1E897C9000AF62C8 /* TimeSignatureApiTest.cpp in Sources */, 29C01DF61D1312FA0094BE61 /* GraceTest.cpp in Sources */, 29C01E831D1312FA0094BE61 /* PitchedTest.cpp in Sources */, 29C01EC61D1312FA0094BE61 /* StressTest.cpp in Sources */, @@ -2226,6 +2254,7 @@ 29C01DC51D1312FA0094BE61 /* DoitTest.cpp in Sources */, 29C01E931D1312FA0094BE61 /* RestTest.cpp in Sources */, 29C01E111D1312FA0094BE61 /* InstrumentAbbreviationTest.cpp in Sources */, + 290A8D171E897C9000AF62C8 /* ApiMuAccidentals1Test.cpp in Sources */, 29C01E211D1312FA0094BE61 /* KindTest.cpp in Sources */, 29C01DBF1D1312FA0094BE61 /* DocumentPartwiseConvertTest.cpp in Sources */, 29C01E621D1312FA0094BE61 /* OpenStringTest.cpp in Sources */, @@ -2301,12 +2330,14 @@ 29C01E541D1312FA0094BE61 /* NormalNotesTest.cpp in Sources */, 29C01D911D1312FA0094BE61 /* BottomMarginTest.cpp in Sources */, 29C01E441D1312FA0094BE61 /* MillimetersTest.cpp in Sources */, + 290A8D151E897C9000AF62C8 /* ApiLoadSurvivalTest.cpp in Sources */, 29C01E771D1312FA0094BE61 /* PartListTest.cpp in Sources */, 29C01D861D1312FA0094BE61 /* BeamTest.cpp in Sources */, 2958972A1DB9806600F18FBA /* MxFileTestGroup.cpp in Sources */, 29C01E8B1D1312FA0094BE61 /* PrincipalVoiceTest.cpp in Sources */, 29C01EFD1D1312FA0094BE61 /* WavyLineTest.cpp in Sources */, 29C01D7D1D1312FA0094BE61 /* ArtificialTest.cpp in Sources */, + 290A8D181E897C9000AF62C8 /* ApiTester.cpp in Sources */, 29C227F01D2F74B500677B3C /* ChangeValues.cpp in Sources */, 29C01E341D1312FA0094BE61 /* MembraneTest.cpp in Sources */, 29C01DAD1D1312FA0094BE61 /* DegreeAlterTest.cpp in Sources */, @@ -2349,6 +2380,7 @@ 29C01DE51D1312FA0094BE61 /* FingeringTest.cpp in Sources */, 29C01D821D1312FA0094BE61 /* BasePitchTest.cpp in Sources */, 29C01EEB1D1312FA0094BE61 /* TuningOctaveTest.cpp in Sources */, + 290A8D131E897C9000AF62C8 /* ApiK015aLayoutTest.cpp in Sources */, 29C01DEF1D1312FA0094BE61 /* FretTest.cpp in Sources */, 29C01D791D1312FA0094BE61 /* ArrowDirectionTest.cpp in Sources */, 29C01E451D1312FA0094BE61 /* MiscellaneousFieldTest.cpp in Sources */, From 3fee24708ab352e40a4ef00b6a351f5575dc075c Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Mon, 27 Mar 2017 10:19:02 -0700 Subject: [PATCH 022/108] mxapi tests passing --- Sourcecode/mxtest/import/DecimalFields.h | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/Sourcecode/mxtest/import/DecimalFields.h b/Sourcecode/mxtest/import/DecimalFields.h index edaea35d1..67f37317b 100755 --- a/Sourcecode/mxtest/import/DecimalFields.h +++ b/Sourcecode/mxtest/import/DecimalFields.h @@ -85,13 +85,11 @@ namespace mxtest const int chars = trailingCharsToStrip( initialValue ); - if ( chars == 0 ) + if ( chars != 0 ) { - return; + xelement.setValue( initialValue.substr( 0, initialValue.size() - chars ) ); } - xelement.setValue( initialValue.substr( 0, initialValue.size() - chars ) ); - auto str = xelement.getValue(); if( str == "-0" ) { @@ -111,13 +109,11 @@ namespace mxtest const int chars = trailingCharsToStrip( initialValue ); - if ( chars == 0 ) + if ( chars != 0 ) { - return; + xattribute.setValue( initialValue.substr( 0, initialValue.size() - chars ) ); } - xattribute.setValue( initialValue.substr( 0, initialValue.size() - chars ) ); - auto str = xattribute.getValue(); if( str == "-0" ) { From 708bd5626b4f93c1b6a2c01cc3dc1bb716a1313d Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Mon, 27 Mar 2017 10:20:57 -0700 Subject: [PATCH 023/108] mx-version-0.2.0.9 --- Sourcecode/mx/impl/MxVersionDefines.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sourcecode/mx/impl/MxVersionDefines.h b/Sourcecode/mx/impl/MxVersionDefines.h index 40827b74c..c3e0a3cf0 100644 --- a/Sourcecode/mx/impl/MxVersionDefines.h +++ b/Sourcecode/mx/impl/MxVersionDefines.h @@ -1,4 +1,4 @@ #define MX_VERSION_MAJOR 0 #define MX_VERSION_MINOR 2 #define MX_VERSION_PATCH 0 -#define MX_VERSION_BUILD 8 +#define MX_VERSION_BUILD 9 From cf22ed6ca393e4f555e316f0e92dbf5cbe1b8d28 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Mon, 27 Mar 2017 15:23:13 -0700 Subject: [PATCH 024/108] mxapi fix direction position data import and export --- Sourcecode/mx/api/ApiEquality.h | 7 +++++++ Sourcecode/mx/api/PositionData.h | 8 ++++---- Sourcecode/mx/impl/DirectionReader.cpp | 19 ++++++++++--------- Sourcecode/mxtest/api/NoteDataTest.cpp | 16 ++++++++++++++++ Sourcecode/mxtest/control/CompileControl.h | 2 +- 5 files changed, 38 insertions(+), 14 deletions(-) diff --git a/Sourcecode/mx/api/ApiEquality.h b/Sourcecode/mx/api/ApiEquality.h index 6da2e30a4..938c5f0ba 100644 --- a/Sourcecode/mx/api/ApiEquality.h +++ b/Sourcecode/mx/api/ApiEquality.h @@ -93,6 +93,13 @@ namespace mx return false; \ } +#define MXAPI_DOUBLES_EQUALS_MEMBER( mxapiMemberName ) \ + if( std::abs( lhs.mxapiMemberName - rhs.mxapiMemberName ) > MX_API_EQUALITY_EPSILON ) \ + { \ + streamComparisonUnequalMessage( theCurrentClassName, #mxapiMemberName ); \ + return false; \ + } + #define MXAPI_EQUALS_END \ return true; \ }\ diff --git a/Sourcecode/mx/api/PositionData.h b/Sourcecode/mx/api/PositionData.h index 3c522418a..1fb9176fe 100755 --- a/Sourcecode/mx/api/PositionData.h +++ b/Sourcecode/mx/api/PositionData.h @@ -128,13 +128,13 @@ namespace mx MXAPI_EQUALS_BEGIN( PositionData ) - MXAPI_EQUALS_MEMBER( defaultX ) + MXAPI_DOUBLES_EQUALS_MEMBER( defaultX ) MXAPI_EQUALS_MEMBER( isDefaultXSpecified ) - MXAPI_EQUALS_MEMBER( defaultY ) + MXAPI_DOUBLES_EQUALS_MEMBER( defaultY ) MXAPI_EQUALS_MEMBER( isDefaultYSpecified ) - MXAPI_EQUALS_MEMBER( relativeX ) + MXAPI_DOUBLES_EQUALS_MEMBER( relativeX ) MXAPI_EQUALS_MEMBER( isRelativeXSpecified ) - MXAPI_EQUALS_MEMBER( relativeY ) + MXAPI_DOUBLES_EQUALS_MEMBER( relativeY ) MXAPI_EQUALS_MEMBER( isRelativeYSpecified ) MXAPI_EQUALS_MEMBER( placement ) MXAPI_EQUALS_MEMBER( verticalAlignment ) diff --git a/Sourcecode/mx/impl/DirectionReader.cpp b/Sourcecode/mx/impl/DirectionReader.cpp index e8f8c19c8..85cf77a30 100644 --- a/Sourcecode/mx/impl/DirectionReader.cpp +++ b/Sourcecode/mx/impl/DirectionReader.cpp @@ -378,16 +378,17 @@ namespace mx pedalType = api::MarkType::damp; } - auto positionData = getPositionData( attr ); - auto mark = api::MarkData{ positionData.placement, pedalType }; - - if( mark.positionData.placement == api::Placement::unspecified ) - { - mark.positionData.placement = myOutDirectionData.placement; - } + const auto placement = + myDirection.getAttributes()->hasPlacement ? + ( myDirection.getAttributes()->placement == core::AboveBelow::above ? + api::Placement::above : + api::Placement::below ) + : api::Placement::unspecified; -// mark.smuflName = api::MarkSmufl::getName( mark.markType, mark.positionData.placement ); -// mark.smuflCodepoint = api::MarkSmufl::getCodepoint( mark.markType, mark.positionData.placement ); + auto mark = api::MarkData{ placement, pedalType }; + mark.positionData = getPositionData( attr ); + mark.positionData.placement = placement; + myOutDirectionData.placement = placement; myOutDirectionData.marks.emplace_back( std::move( mark ) ); } diff --git a/Sourcecode/mxtest/api/NoteDataTest.cpp b/Sourcecode/mxtest/api/NoteDataTest.cpp index 3aceffabd..5db7e4eef 100644 --- a/Sourcecode/mxtest/api/NoteDataTest.cpp +++ b/Sourcecode/mxtest/api/NoteDataTest.cpp @@ -532,6 +532,10 @@ TEST( directionOrderRoundTrip, NoteData ) placement = Placement::unspecified; direction.placement = placement; direction.marks.back().positionData.placement = placement; + direction.marks.back().positionData.isDefaultXSpecified = false; + direction.marks.back().positionData.defaultX = 0.0; + direction.marks.back().positionData.isDefaultYSpecified = true; + direction.marks.back().positionData.defaultY = 1.1; direction.tickTimePosition = 120; direction.marks.back().tickTimePosition = direction.tickTimePosition; staff.directions.push_back( direction ); @@ -539,6 +543,10 @@ TEST( directionOrderRoundTrip, NoteData ) placement = Placement::unspecified; direction.placement = placement; direction.marks.back().positionData.placement = placement; + direction.marks.back().positionData.isDefaultXSpecified = true; + direction.marks.back().positionData.defaultX = 2.2; + direction.marks.back().positionData.isDefaultYSpecified = false; + direction.marks.back().positionData.defaultY = 0.0; direction.tickTimePosition = 240; direction.marks.back().tickTimePosition = direction.tickTimePosition; staff.directions.push_back( direction ); @@ -546,12 +554,20 @@ TEST( directionOrderRoundTrip, NoteData ) placement = Placement::unspecified; direction.placement = placement; direction.marks.back().positionData.placement = placement; + direction.marks.back().positionData.isDefaultXSpecified = true; + direction.marks.back().positionData.defaultX = 3.3; + direction.marks.back().positionData.isDefaultYSpecified = true; + direction.marks.back().positionData.defaultY = 3.3; direction.tickTimePosition = 360; direction.marks.back().tickTimePosition = direction.tickTimePosition; staff.directions.push_back( direction ); placement = Placement::unspecified; direction.placement = placement; + direction.marks.back().positionData.isDefaultXSpecified = false; + direction.marks.back().positionData.defaultX = 0.0; + direction.marks.back().positionData.isDefaultYSpecified = false; + direction.marks.back().positionData.defaultY = 0.0; direction.marks.back().positionData.placement = placement; direction.tickTimePosition = 480; direction.marks.back().tickTimePosition = direction.tickTimePosition; diff --git a/Sourcecode/mxtest/control/CompileControl.h b/Sourcecode/mxtest/control/CompileControl.h index 595bf3656..12a48d90d 100755 --- a/Sourcecode/mxtest/control/CompileControl.h +++ b/Sourcecode/mxtest/control/CompileControl.h @@ -14,4 +14,4 @@ // use this to restrict the size of the files that // the test run will open (compile-time constant). // 0 indicates no limit -constexpr const int MX_COMPILE_MAX_FILE_SIZE_BYTES = 0;//(5 * 1024); +constexpr const int MX_COMPILE_MAX_FILE_SIZE_BYTES = (1 * 1024); From 1681c3c72dc790142cf0f3bac7cedaa1118646e8 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Mon, 27 Mar 2017 15:26:13 -0700 Subject: [PATCH 025/108] mx-version-0.2.0.10 --- Sourcecode/mx/impl/MxVersionDefines.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sourcecode/mx/impl/MxVersionDefines.h b/Sourcecode/mx/impl/MxVersionDefines.h index c3e0a3cf0..b179cc245 100644 --- a/Sourcecode/mx/impl/MxVersionDefines.h +++ b/Sourcecode/mx/impl/MxVersionDefines.h @@ -1,4 +1,4 @@ #define MX_VERSION_MAJOR 0 #define MX_VERSION_MINOR 2 #define MX_VERSION_PATCH 0 -#define MX_VERSION_BUILD 9 +#define MX_VERSION_BUILD 10 From 59fccbac2829ca3e0ad17b06f4a600210dddeb6b Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Tue, 28 Mar 2017 08:13:21 -0700 Subject: [PATCH 026/108] mxapi compile visual studio --- Sourcecode/mx/impl/PropertiesWriter.h | 1 + 1 file changed, 1 insertion(+) diff --git a/Sourcecode/mx/impl/PropertiesWriter.h b/Sourcecode/mx/impl/PropertiesWriter.h index cf8fa75f5..aef499e3a 100644 --- a/Sourcecode/mx/impl/PropertiesWriter.h +++ b/Sourcecode/mx/impl/PropertiesWriter.h @@ -7,6 +7,7 @@ #include "mx/api/TimeSignatureData.h" #include "mx/api/KeyData.h" #include "mx/api/ClefData.h" +#include " namespace mx { From 1800b65f4cf15e41f39bec31a7b60d361d022207 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Tue, 28 Mar 2017 11:25:31 -0700 Subject: [PATCH 027/108] mx-version-0.2.0.11 --- Sourcecode/mx/impl/MxVersionDefines.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sourcecode/mx/impl/MxVersionDefines.h b/Sourcecode/mx/impl/MxVersionDefines.h index b179cc245..7d601807c 100644 --- a/Sourcecode/mx/impl/MxVersionDefines.h +++ b/Sourcecode/mx/impl/MxVersionDefines.h @@ -1,4 +1,4 @@ #define MX_VERSION_MAJOR 0 #define MX_VERSION_MINOR 2 #define MX_VERSION_PATCH 0 -#define MX_VERSION_BUILD 10 +#define MX_VERSION_BUILD 11 From 63b693f9f8d12807c22180856e243367e4a20d7c Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Tue, 28 Mar 2017 14:12:18 -0700 Subject: [PATCH 028/108] mxapi doesnt compile add tremolos --- Sourcecode/mx/api/MarkData.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Sourcecode/mx/api/MarkData.h b/Sourcecode/mx/api/MarkData.h index c9cb2e711..2111fb9c5 100644 --- a/Sourcecode/mx/api/MarkData.h +++ b/Sourcecode/mx/api/MarkData.h @@ -76,8 +76,11 @@ namespace mx mordent, invertedMordent, schleifer, - tremolo, - otherOrnament, + tremoloSingleOne, ///< A tremolo on a single note (a glyph, not a spanner) with 1 slash + tremoloSingleTwo, ///< A tremolo on a single note (a glyph, not a spanner) with 2 slashes + tremoloSingleThree, ///< A tremolo on a single note (a glyph, not a spanner) with 3 slashes + tremoloSingleFour, ///< A tremolo on a single note (a glyph, not a spanner) with 4 slashes + tremoloSingleFive, ///< A tremolo on a single note (a glyph, not a spanner) with 5 slashes unknownOrnament, // accidental marks From c35f40997f6e1f5a527e568a8b69910c95a5f848 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Tue, 28 Mar 2017 14:53:58 -0700 Subject: [PATCH 029/108] better support for tremolo glyphs --- Sourcecode/mx/api/MarkData.cpp | 53 ++++++++++++++++++++- Sourcecode/mx/api/MarkData.h | 5 +- Sourcecode/mx/impl/Converter.cpp | 2 +- Sourcecode/mx/impl/NotationsWriter.cpp | 5 +- Sourcecode/mx/impl/OrnamentsFunctions.cpp | 57 ++++++++++++++++++++--- Sourcecode/mx/impl/PropertiesWriter.h | 2 +- Sourcecode/mxtest/api/NoteDataTest.cpp | 57 +++++++++++++++++++++++ 7 files changed, 168 insertions(+), 13 deletions(-) diff --git a/Sourcecode/mx/api/MarkData.cpp b/Sourcecode/mx/api/MarkData.cpp index 1f6764e06..d55579a2d 100644 --- a/Sourcecode/mx/api/MarkData.cpp +++ b/Sourcecode/mx/api/MarkData.cpp @@ -69,7 +69,11 @@ namespace mx myMap.emplace( std::make_pair( MarkType::mordent, SmuflGlyphname{ "ornamentMordent", "ornamentMordent", "ornamentMordent" } ) ); myMap.emplace( std::make_pair( MarkType::invertedMordent, SmuflGlyphname{ "ornamentMordentInverted", "ornamentMordentInverted", "ornamentMordentInverted" } ) ); myMap.emplace( std::make_pair( MarkType::schleifer, SmuflGlyphname{ "ornamentSchleifer", "ornamentSchleifer", "ornamentSchleifer" } ) ); - myMap.emplace( std::make_pair( MarkType::tremolo, SmuflGlyphname{ "tremolo3", "tremolo3", "tremolo3" } ) ); + myMap.emplace( std::make_pair( MarkType::tremoloSingleOne, SmuflGlyphname{ "tremolo1", "tremolo3", "tremolo3" } ) ); + myMap.emplace( std::make_pair( MarkType::tremoloSingleTwo, SmuflGlyphname{ "tremolo2", "tremolo2", "tremolo2" } ) ); + myMap.emplace( std::make_pair( MarkType::tremoloSingleThree, SmuflGlyphname{ "tremolo3", "tremolo3", "tremolo3" } ) ); + myMap.emplace( std::make_pair( MarkType::tremoloSingleFour, SmuflGlyphname{ "tremolo4", "tremolo4", "tremolo4" } ) ); + myMap.emplace( std::make_pair( MarkType::tremoloSingleFive, SmuflGlyphname{ "tremolo5", "tremolo5", "tremolo5" } ) ); myMap.emplace( std::make_pair( MarkType::otherOrnament, SmuflGlyphname{ "", "", "" } ) ); myMap.emplace( std::make_pair( MarkType::upBow, SmuflGlyphname{ "stringsUpBow", "stringsUpBow", "stringsUpBow" } ) ); @@ -240,7 +244,11 @@ namespace mx ( markType == MarkType::mordent ) || ( markType == MarkType::invertedMordent ) || ( markType == MarkType::schleifer ) || - ( markType == MarkType::tremolo ) || + ( markType == MarkType::tremoloSingleOne ) || + ( markType == MarkType::tremoloSingleTwo ) || + ( markType == MarkType::tremoloSingleThree ) || + ( markType == MarkType::tremoloSingleFour ) || + ( markType == MarkType::tremoloSingleFive ) || ( markType == MarkType::otherOrnament ) || ( markType == MarkType::unknownOrnament ); } @@ -268,7 +276,48 @@ namespace mx return ( markType == MarkType::pedal ) || ( markType == MarkType::damp ); } + + + bool isMarkTremolo( MarkType markType ) + { + return ( markType == MarkType::tremoloSingleOne ) || + ( markType == MarkType::tremoloSingleTwo ) || + ( markType == MarkType::tremoloSingleThree ) || + ( markType == MarkType::tremoloSingleFour ) || + ( markType == MarkType::tremoloSingleFive ); + } + + int numTremoloSlashes( MarkType markType ) + { + if( markType == MarkType::tremoloSingleOne ) + { + return 1; + } + + if( markType == MarkType::tremoloSingleTwo ) + { + return 2; + } + + if( markType == MarkType::tremoloSingleThree ) + { + return 3; + } + + if( markType == MarkType::tremoloSingleFour ) + { + return 4; + } + + if( markType == MarkType::tremoloSingleFive ) + { + return 5; + } + + return -1; + } + MarkData::MarkData() : markType( MarkType::unspecified ) diff --git a/Sourcecode/mx/api/MarkData.h b/Sourcecode/mx/api/MarkData.h index 2111fb9c5..34e91dc50 100644 --- a/Sourcecode/mx/api/MarkData.h +++ b/Sourcecode/mx/api/MarkData.h @@ -81,7 +81,8 @@ namespace mx tremoloSingleThree, ///< A tremolo on a single note (a glyph, not a spanner) with 3 slashes tremoloSingleFour, ///< A tremolo on a single note (a glyph, not a spanner) with 4 slashes tremoloSingleFive, ///< A tremolo on a single note (a glyph, not a spanner) with 5 slashes - unknownOrnament, + otherOrnament, ///< MusicXML's 'other-ornament' value + unknownOrnament, ///< Error state // accidental marks accidentalMarkSharp, @@ -182,6 +183,8 @@ namespace mx bool isMarkOrnament( MarkType ); bool isMarkFermata( MarkType ); bool isMarkPedal( MarkType ); + bool isMarkTremolo( MarkType ); + int numTremoloSlashes( MarkType ); using MarkSmuflEntry = std::pair; using MarkSmuflMap = std::map; diff --git a/Sourcecode/mx/impl/Converter.cpp b/Sourcecode/mx/impl/Converter.cpp index a55d3ae95..dd81003f1 100644 --- a/Sourcecode/mx/impl/Converter.cpp +++ b/Sourcecode/mx/impl/Converter.cpp @@ -207,7 +207,7 @@ namespace mx std::pair{ core::OrnamentsChoice::Choice::mordent, api::MarkType::mordent }, std::pair{ core::OrnamentsChoice::Choice::invertedMordent, api::MarkType::invertedMordent }, std::pair{ core::OrnamentsChoice::Choice::schleifer, api::MarkType::schleifer }, - std::pair{ core::OrnamentsChoice::Choice::tremolo, api::MarkType::tremolo }, + std::pair{ core::OrnamentsChoice::Choice::tremolo, api::MarkType::tremoloSingleThree }, std::pair{ core::OrnamentsChoice::Choice::otherOrnament, api::MarkType::otherOrnament }, }; diff --git a/Sourcecode/mx/impl/NotationsWriter.cpp b/Sourcecode/mx/impl/NotationsWriter.cpp index 111b781ce..bbfbeb8d1 100644 --- a/Sourcecode/mx/impl/NotationsWriter.cpp +++ b/Sourcecode/mx/impl/NotationsWriter.cpp @@ -29,6 +29,7 @@ #include "mx/utility/OptionalMembers.h" #include "mx/impl/CurveFunctions.h" #include "mx/impl/MarkDataFunctions.h" +#include "mx/core/elements/Tremolo.h" #include "mx/core/elements/Tuplet.h" #include "mx/core/elements/TupletActual.h" #include "mx/core/elements/TupletNormal.h" @@ -542,11 +543,13 @@ namespace mx auto attributes = element->getAttributes(); setAttributesFromPositionData( mark.positionData, *attributes); } - else if( mark.markType == api::MarkType::tremolo ) + else if( isMarkTremolo( mark.markType ) ) { + ornamentsChoice->setChoice( core::OrnamentsChoice::Choice::tremolo ); auto element = ornamentsChoice->getTremolo(); auto attributes = element->getAttributes(); setAttributesFromPositionData( mark.positionData, *attributes); + element->setValue( mx::core::TremoloMarks{ api::numTremoloSlashes( mark.markType ) } ); } else if( mark.markType == api::MarkType::otherOrnament ) { diff --git a/Sourcecode/mx/impl/OrnamentsFunctions.cpp b/Sourcecode/mx/impl/OrnamentsFunctions.cpp index 4eb7e8381..e33d4fe44 100644 --- a/Sourcecode/mx/impl/OrnamentsFunctions.cpp +++ b/Sourcecode/mx/impl/OrnamentsFunctions.cpp @@ -48,13 +48,20 @@ namespace mx const auto markType = converter.convertOrnament( ornamentType ); auto markData = api::MarkData{}; markData.markType = markType; - markData.tickTimePosition = myCursor.tickTimePosition; - parseOrnament( *ornament, markData ); - - markData.smuflName = api::MarkSmufl::getName( markType, markData.positionData.placement ); - markData.smuflCodepoint = api::MarkSmufl::getCodepoint( markType, markData.positionData.placement ); - outMarks.emplace_back( std::move( markData ) ); + markData.tickTimePosition = myCursor.tickTimePosition; + + if( ( markData.markType != api::MarkType::otherOrnament ) && + ( markData.markType != api::MarkType::unknownOrnament ) ) + { + markData.smuflName = api::MarkSmufl::getName( markType, markData.positionData.placement ); + markData.smuflCodepoint = api::MarkSmufl::getCodepoint( markType, markData.positionData.placement ); + } + + if( markData.markType != api::MarkType::unknownOrnament ) + { + outMarks.emplace_back( std::move( markData ) ); + } } } @@ -141,8 +148,44 @@ namespace mx } case core::OrnamentsChoice::Choice::tremolo: { + const auto& attr = *choiceObj.getTremolo()->getAttributes(); + if( attr.type != core::StartStopSingle::single ) + { + outMark.name = "this tremolo is not a mark"; + outMark.markType = api::MarkType::unknownOrnament; + return; + } + outMark.name = "tremolo"; - parseMarkDataAttributes( *choiceObj.getTremolo()->getAttributes(), outMark ); + parseMarkDataAttributes( attr, outMark ); + const auto& tremolo = choiceObj.getTremolo(); + const auto numSlashes = tremolo->getValue().getValue(); + + if( numSlashes == 0 ) + { + outMark.markType = api::MarkType::tremoloSingleThree; + } + else if ( numSlashes == 1 ) + { + outMark.markType = api::MarkType::tremoloSingleOne; + } + else if ( numSlashes == 2 ) + { + outMark.markType = api::MarkType::tremoloSingleTwo; + } + else if ( numSlashes == 3 ) + { + outMark.markType = api::MarkType::tremoloSingleThree; + } + else if ( numSlashes == 4 ) + { + outMark.markType = api::MarkType::tremoloSingleFour; + } + else if ( numSlashes == 5 ) + { + outMark.markType = api::MarkType::tremoloSingleFive; + } + break; } case core::OrnamentsChoice::Choice::otherOrnament: diff --git a/Sourcecode/mx/impl/PropertiesWriter.h b/Sourcecode/mx/impl/PropertiesWriter.h index aef499e3a..89e3f3778 100644 --- a/Sourcecode/mx/impl/PropertiesWriter.h +++ b/Sourcecode/mx/impl/PropertiesWriter.h @@ -7,7 +7,7 @@ #include "mx/api/TimeSignatureData.h" #include "mx/api/KeyData.h" #include "mx/api/ClefData.h" -#include " +#include namespace mx { diff --git a/Sourcecode/mxtest/api/NoteDataTest.cpp b/Sourcecode/mxtest/api/NoteDataTest.cpp index 5db7e4eef..d38de7083 100644 --- a/Sourcecode/mxtest/api/NoteDataTest.cpp +++ b/Sourcecode/mxtest/api/NoteDataTest.cpp @@ -38,6 +38,63 @@ using namespace mx::api; using namespace mxtest; +TEST( tremolos, NoteData ) +{ + ScoreData score; + score.parts.emplace_back(); + auto& part = score.parts.back(); + part.measures.emplace_back(); + auto& measure = part.measures.back(); + measure.staves.emplace_back(); + auto& staff = measure.staves.back(); + auto& voice = staff.voices[0]; + voice.notes.emplace_back(); + auto& note = voice.notes.back(); + auto& attachments = note.noteAttachmentData; + auto& marks = attachments.marks; + + MarkData mark{ MarkType::tremoloSingleOne }; + marks.emplace_back( mark ); + mark = MarkData{ MarkType::tremoloSingleTwo }; + marks.emplace_back( mark ); + mark = MarkData{ MarkType::tremoloSingleThree }; + marks.emplace_back( mark ); + mark = MarkData{ MarkType::tremoloSingleFour }; + marks.emplace_back( mark ); + mark = MarkData{ MarkType::tremoloSingleFive }; + marks.emplace_back( mark ); + + + // round trip it through xml + auto& mgr = DocumentManager::getInstance(); + auto docId = mgr.createFromScore( score ); + std::stringstream ss; + mgr.writeToStream(docId, ss); + mgr.destroyDocument(docId); + const std::string xml = ss.str(); + std::istringstream iss{ xml }; + docId = mgr.createFromStream( iss ); + auto oscore = mgr.getData(docId); + + // get the data after the round trip + const auto& opart = oscore.parts.back(); + const auto& omeasure = opart.measures.back(); + const auto& ostaff = omeasure.staves.back(); + const auto& ovoice = ostaff.voices.at(0); + const auto& onote = ovoice.notes.back(); + const auto& omarks = onote.noteAttachmentData.marks; + auto markIter = omarks.cbegin(); + const auto markEnd = marks.cend(); + + for (int i = 1; i <= 5; ++i, ++markIter) + { + CHECK( markIter != markEnd ); + const auto& markData = *markIter; + CHECK_EQUAL( i, numTremoloSlashes( markData.markType ) ); + } +} +T_END + TEST( miscFields, NoteData ) { ScoreData score; From 6cb6a3319aaf3a6b6e1923f7c29b7959a257f8ef Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Tue, 28 Mar 2017 15:47:25 -0700 Subject: [PATCH 030/108] mxapi words are exporting --- Sourcecode/mx/api/DirectionData.h | 7 +++- Sourcecode/mx/api/WordsData.cpp | 13 +++++++ Sourcecode/mx/api/WordsData.h | 44 ++++++++++++++++++++++ Sourcecode/mx/impl/DirectionReader.cpp | 13 ++++++- Sourcecode/mx/impl/DirectionWriter.cpp | 32 +++++++++++++++- Sourcecode/mxtest/api/NoteDataTest.cpp | 52 ++++++++++++++++++++++++++ Xcode/Mx.xcodeproj/project.pbxproj | 24 ++++++++++++ 7 files changed, 182 insertions(+), 3 deletions(-) create mode 100644 Sourcecode/mx/api/WordsData.cpp create mode 100644 Sourcecode/mx/api/WordsData.h diff --git a/Sourcecode/mx/api/DirectionData.h b/Sourcecode/mx/api/DirectionData.h index 3fc17ef48..c83165de0 100644 --- a/Sourcecode/mx/api/DirectionData.h +++ b/Sourcecode/mx/api/DirectionData.h @@ -9,6 +9,7 @@ #include "mx/api/MarkData.h" #include "mx/api/TempoData.h" #include "mx/api/OttavaData.h" +#include "mx/api/WordsData.h" namespace mx { @@ -60,6 +61,7 @@ namespace mx std::vector ottavaStops; std::vector bracketStarts; std::vector bracketStops; + std::vector words; DirectionData() : tickTimePosition{ 0 } @@ -76,6 +78,7 @@ namespace mx , ottavaStops{} , bracketStarts{} , bracketStops{} + , words{} { } @@ -91,7 +94,8 @@ namespace mx directionData.bracketStops.size() == 0 && directionData.tempos.size() == 0 && directionData.ottavaStarts.size() == 0 && - directionData.ottavaStops.size() == 0; + directionData.ottavaStops.size() == 0 && + directionData.words.size() == 0; } MXAPI_EQUALS_BEGIN( DirectionData ) @@ -110,6 +114,7 @@ namespace mx MXAPI_EQUALS_MEMBER( ottavaStops ) MXAPI_EQUALS_MEMBER( bracketStarts ) MXAPI_EQUALS_MEMBER( bracketStops ) + MXAPI_EQUALS_MEMBER( words ) MXAPI_EQUALS_END; MXAPI_NOT_EQUALS_AND_VECTORS( DirectionData ); } diff --git a/Sourcecode/mx/api/WordsData.cpp b/Sourcecode/mx/api/WordsData.cpp new file mode 100644 index 000000000..c049cc2e0 --- /dev/null +++ b/Sourcecode/mx/api/WordsData.cpp @@ -0,0 +1,13 @@ +// MusicXML Class Library +// Copyright (c) by Matthew James Briggs +// Distributed under the MIT License + +#include "mx/api/WordsData.h" + +namespace mx +{ + namespace api + { + + } +} diff --git a/Sourcecode/mx/api/WordsData.h b/Sourcecode/mx/api/WordsData.h new file mode 100644 index 000000000..33362d491 --- /dev/null +++ b/Sourcecode/mx/api/WordsData.h @@ -0,0 +1,44 @@ +// MusicXML Class Library +// Copyright (c) by Matthew James Briggs +// Distributed under the MIT License + +#pragma once + +#include "mx/api/ApiCommon.h" +#include "mx/api/PositionData.h" +#include "mx/api/ColorData.h" +#include "mx/api/FontData.h" + +namespace mx +{ + namespace api + { + class WordsData + { + public: + std::string text; + PositionData positionData; + FontData fontData; + bool isColorSpecified; + ColorData colorData; + + WordsData() + : text{} + , positionData{} + , fontData{} + , isColorSpecified{ false } + , colorData{} + { + + } + }; + + MXAPI_EQUALS_BEGIN( WordsData ) + MXAPI_EQUALS_MEMBER( positionData ) + MXAPI_EQUALS_MEMBER( fontData ) + MXAPI_EQUALS_MEMBER( isColorSpecified ) + MXAPI_EQUALS_MEMBER( colorData ) + MXAPI_EQUALS_END; + MXAPI_NOT_EQUALS_AND_VECTORS( WordsData ); + } +} diff --git a/Sourcecode/mx/impl/DirectionReader.cpp b/Sourcecode/mx/impl/DirectionReader.cpp index 85cf77a30..41a00e469 100644 --- a/Sourcecode/mx/impl/DirectionReader.cpp +++ b/Sourcecode/mx/impl/DirectionReader.cpp @@ -224,7 +224,18 @@ namespace mx void DirectionReader::parseWords( const core::DirectionType& directionType) { - MX_UNUSED( directionType ); + const auto& wordSet = directionType.getWordsSet(); + + for( const auto& wordPtr : wordSet ) + { + api::WordsData outWords; + const auto& attr = *wordPtr->getAttributes(); + outWords.text = wordPtr->getValue().getValue(); + outWords.positionData = getPositionData( attr ); + outWords.colorData = getColor( attr ); + outWords.fontData = getFontData( attr ); + myOutDirectionData.words.emplace_back( std::move( outWords ) ); + } } diff --git a/Sourcecode/mx/impl/DirectionWriter.cpp b/Sourcecode/mx/impl/DirectionWriter.cpp index 12820c189..45d17e466 100644 --- a/Sourcecode/mx/impl/DirectionWriter.cpp +++ b/Sourcecode/mx/impl/DirectionWriter.cpp @@ -279,7 +279,37 @@ namespace mx //auto& attr = *outElement->getAttributes(); //setAttributesFromSpannerStart( item, attr ); } - + + if( myDirectionData.words.size() > 0 ) + { + bool isFirstWordsAdded = false; + auto outDirType = core::makeDirectionType(); + outDirType->setChoice( core::DirectionType::Choice::words ); + + for( const auto& wordsData : myDirectionData.words ) + { + auto outWords = core::makeWords(); + outDirType->addWords( outWords ); + + if (!isFirstWordsAdded) + { + isFirstWordsAdded = true; + outDirType->removeWords( outDirType->getWordsSet().cbegin() ); + } + + auto& attr = *(outWords->getAttributes()); + outWords->setValue( core::XsString{ wordsData.text } ); + setAttributesFromPositionData( wordsData.positionData, attr ); + setAttributesFromFontData( wordsData.fontData, attr ); + setAttributesFromColorData( wordsData.colorData, attr ); + } + + if( isFirstWordsAdded ) + { + addDirectionType( outDirType ); + } + } + myPlacements.clear(); myIsFirstDirectionTypeAdded = false; return myOutDirectionPtr; diff --git a/Sourcecode/mxtest/api/NoteDataTest.cpp b/Sourcecode/mxtest/api/NoteDataTest.cpp index d38de7083..f55941a62 100644 --- a/Sourcecode/mxtest/api/NoteDataTest.cpp +++ b/Sourcecode/mxtest/api/NoteDataTest.cpp @@ -37,6 +37,58 @@ using namespace std; using namespace mx::api; using namespace mxtest; +TEST( words, NoteData ) +{ + ScoreData score; + score.parts.emplace_back(); + auto& part = score.parts.back(); + part.measures.emplace_back(); + auto& measure = part.measures.back(); + measure.staves.emplace_back(); + auto& staff = measure.staves.back(); + auto& directions = staff.directions; + + DirectionData direction; + WordsData words; + words.positionData.isDefaultXSpecified = true; + words.positionData.defaultX = 1.1; + words.text = "Hello"; + direction.words.push_back( words ); + directions.push_back(direction); + + direction = DirectionData{}; + words = WordsData{}; + words.fontData.style = FontStyle::italic; + words.text = "One"; + direction.words.push_back( words ); + words = WordsData{}; + words.isColorSpecified = true; + words.text = "Two"; + direction.words.push_back( words ); + directions.push_back(direction); + + // round trip it through xml + auto& mgr = DocumentManager::getInstance(); + auto docId = mgr.createFromScore( score ); + std::stringstream ss; + mgr.writeToStream(docId, ss); + mgr.destroyDocument(docId); + const std::string xml = ss.str(); + std::istringstream iss{ xml }; + docId = mgr.createFromStream( iss ); + auto oscore = mgr.getData(docId); + + std::cout << xml << std::endl; + + // get the data after the round trip + const auto& opart = oscore.parts.back(); + const auto& omeasure = opart.measures.back(); + const auto& ostaff = omeasure.staves.back(); + const auto& ovoice = ostaff.voices.at(0); + const auto& onote = ovoice.notes.back(); + +} +T_END TEST( tremolos, NoteData ) { diff --git a/Xcode/Mx.xcodeproj/project.pbxproj b/Xcode/Mx.xcodeproj/project.pbxproj index d473755fc..2fcb56527 100755 --- a/Xcode/Mx.xcodeproj/project.pbxproj +++ b/Xcode/Mx.xcodeproj/project.pbxproj @@ -9,6 +9,16 @@ /* Begin PBXBuildFile section */ 2904A4D51D301D5A00A39CC6 /* Encoding.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2904A4D31D301D5A00A39CC6 /* Encoding.cpp */; }; 29271A4F1DCC0D820036528D /* ApiEquality.h in Headers */ = {isa = PBXBuildFile; fileRef = 29271A4E1DCC0D820036528D /* ApiEquality.h */; }; + 292C3ADB1E8B13FD001A0CB9 /* WordsData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292C3AD91E8B13FD001A0CB9 /* WordsData.cpp */; }; + 292C3ADC1E8B13FD001A0CB9 /* WordsData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292C3AD91E8B13FD001A0CB9 /* WordsData.cpp */; }; + 292C3ADD1E8B13FD001A0CB9 /* WordsData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292C3AD91E8B13FD001A0CB9 /* WordsData.cpp */; }; + 292C3ADE1E8B13FD001A0CB9 /* WordsData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292C3AD91E8B13FD001A0CB9 /* WordsData.cpp */; }; + 292C3ADF1E8B13FD001A0CB9 /* WordsData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292C3AD91E8B13FD001A0CB9 /* WordsData.cpp */; }; + 292C3AE01E8B13FD001A0CB9 /* WordsData.h in Headers */ = {isa = PBXBuildFile; fileRef = 292C3ADA1E8B13FD001A0CB9 /* WordsData.h */; }; + 292C3AE11E8B13FD001A0CB9 /* WordsData.h in Headers */ = {isa = PBXBuildFile; fileRef = 292C3ADA1E8B13FD001A0CB9 /* WordsData.h */; }; + 292C3AE21E8B13FD001A0CB9 /* WordsData.h in Headers */ = {isa = PBXBuildFile; fileRef = 292C3ADA1E8B13FD001A0CB9 /* WordsData.h */; }; + 292C3AE31E8B13FD001A0CB9 /* WordsData.h in Headers */ = {isa = PBXBuildFile; fileRef = 292C3ADA1E8B13FD001A0CB9 /* WordsData.h */; }; + 292C3AE41E8B13FD001A0CB9 /* WordsData.h in Headers */ = {isa = PBXBuildFile; fileRef = 292C3ADA1E8B13FD001A0CB9 /* WordsData.h */; }; 292D1DD21D9A43A500CDD9F4 /* ClefData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292D1DD01D9A43A500CDD9F4 /* ClefData.cpp */; }; 2937D15D1D18D403001C2A1A /* PugiAttribute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1451D18D403001C2A1A /* PugiAttribute.cpp */; }; 2937D15F1D18D403001C2A1A /* PugiAttributeIterImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1471D18D403001C2A1A /* PugiAttributeIterImpl.cpp */; }; @@ -3338,6 +3348,8 @@ 2927EC9E1D886E460042E080 /* TimeReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TimeReader.cpp; path = ../Sourcecode/mx/impl/TimeReader.cpp; sourceTree = ""; }; 2927ECA51D888AB30042E080 /* LcmGcd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LcmGcd.h; path = ../Sourcecode/mx/impl/LcmGcd.h; sourceTree = ""; }; 2927ECA61D888AB30042E080 /* LcmGcd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LcmGcd.cpp; path = ../Sourcecode/mx/impl/LcmGcd.cpp; sourceTree = ""; }; + 292C3AD91E8B13FD001A0CB9 /* WordsData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WordsData.cpp; path = ../Sourcecode/mx/api/WordsData.cpp; sourceTree = ""; }; + 292C3ADA1E8B13FD001A0CB9 /* WordsData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WordsData.h; path = ../Sourcecode/mx/api/WordsData.h; sourceTree = ""; }; 292D1DD01D9A43A500CDD9F4 /* ClefData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ClefData.cpp; path = ../Sourcecode/mx/api/ClefData.cpp; sourceTree = ""; }; 292D1DD11D9A43A500CDD9F4 /* ClefData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ClefData.h; path = ../Sourcecode/mx/api/ClefData.h; sourceTree = ""; }; 2933AD601DA5B616005D7222 /* ColorData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ColorData.h; path = ../Sourcecode/mx/api/ColorData.h; sourceTree = ""; }; @@ -6225,6 +6237,8 @@ 29B4E81B1DA9CA0E005DC6D1 /* TupletData.h */, 29DC06F01D7E5BBF00210B7E /* VoiceData.h */, 2951E1671DBA9C7300826CEF /* WedgeData.h */, + 292C3AD91E8B13FD001A0CB9 /* WordsData.cpp */, + 292C3ADA1E8B13FD001A0CB9 /* WordsData.h */, ); name = api; sourceTree = ""; @@ -6236,6 +6250,7 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( + 292C3AE11E8B13FD001A0CB9 /* WordsData.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -6247,6 +6262,7 @@ 29FFAC801DB9C8B600DC8AE1 /* CurveData.h in Headers */, 29766AC71DAC014300CCE2AC /* MetronomeReader.h in Headers */, 2951E1681DBA9C7300826CEF /* WedgeData.h in Headers */, + 292C3AE01E8B13FD001A0CB9 /* WordsData.h in Headers */, 29C175981DC0048700CC48D7 /* OttavaData.h in Headers */, 29398BB11DB1917B00475CD5 /* NotationsWriter.h in Headers */, 29271A4F1DCC0D820036528D /* ApiEquality.h in Headers */, @@ -6273,6 +6289,7 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( + 292C3AE31E8B13FD001A0CB9 /* WordsData.h in Headers */, 29B962851E79FF410072071D /* MxiOS.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; @@ -6281,6 +6298,7 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( + 292C3AE41E8B13FD001A0CB9 /* WordsData.h in Headers */, 29B9652D1E7A04140072071D /* MxmacOS.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; @@ -6289,6 +6307,7 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( + 292C3AE21E8B13FD001A0CB9 /* WordsData.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -6956,6 +6975,7 @@ 293F00D11DD25CF2001477E8 /* StaffLayoutAttributes.cpp in Sources */, 293F00D21DD25CF2001477E8 /* StaffLines.cpp in Sources */, 293F00D31DD25CF2001477E8 /* StaffSize.cpp in Sources */, + 292C3ADC1E8B13FD001A0CB9 /* WordsData.cpp in Sources */, 293F00D41DD25CF2001477E8 /* StaffTuning.cpp in Sources */, 293F00D51DD25CF2001477E8 /* StaffTuningAttributes.cpp in Sources */, 293F00D61DD25CF2001477E8 /* StaffType.cpp in Sources */, @@ -7620,6 +7640,7 @@ 29766ACC1DAC149900CCE2AC /* DirectionReader.cpp in Sources */, 294548A11D295C5500B90302 /* DelayedInvertedTurnAttributes.cpp in Sources */, 294549921D295C5500B90302 /* NoteSizeAttributes.cpp in Sources */, + 292C3ADB1E8B13FD001A0CB9 /* WordsData.cpp in Sources */, 29454A331D295C5500B90302 /* Suffix.cpp in Sources */, 2945484C1D295C5500B90302 /* ArpeggiateAttributes.cpp in Sources */, 29B7C4691DAFFDBA009D7D8F /* MeasureWriter.cpp in Sources */, @@ -8284,6 +8305,7 @@ 29B9647D1E79FF640072071D /* StaffLayoutAttributes.cpp in Sources */, 29B9647E1E79FF640072071D /* StaffLines.cpp in Sources */, 29B9647F1E79FF640072071D /* StaffSize.cpp in Sources */, + 292C3ADE1E8B13FD001A0CB9 /* WordsData.cpp in Sources */, 29B964801E79FF640072071D /* StaffTuning.cpp in Sources */, 29B964811E79FF640072071D /* StaffTuningAttributes.cpp in Sources */, 29B964821E79FF640072071D /* StaffType.cpp in Sources */, @@ -8948,6 +8970,7 @@ 29B967251E7A043E0072071D /* StaffLayoutAttributes.cpp in Sources */, 29B967261E7A043E0072071D /* StaffLines.cpp in Sources */, 29B967271E7A043E0072071D /* StaffSize.cpp in Sources */, + 292C3ADF1E8B13FD001A0CB9 /* WordsData.cpp in Sources */, 29B967281E7A043E0072071D /* StaffTuning.cpp in Sources */, 29B967291E7A043E0072071D /* StaffTuningAttributes.cpp in Sources */, 29B9672A1E7A043E0072071D /* StaffType.cpp in Sources */, @@ -9612,6 +9635,7 @@ 29E8C18A1DD2920C00E8CEBA /* StaffLayoutAttributes.cpp in Sources */, 29E8C18B1DD2920C00E8CEBA /* StaffLines.cpp in Sources */, 29E8C18C1DD2920C00E8CEBA /* StaffSize.cpp in Sources */, + 292C3ADD1E8B13FD001A0CB9 /* WordsData.cpp in Sources */, 29E8C18D1DD2920C00E8CEBA /* StaffTuning.cpp in Sources */, 29E8C18E1DD2920C00E8CEBA /* StaffTuningAttributes.cpp in Sources */, 29E8C18F1DD2920C00E8CEBA /* StaffType.cpp in Sources */, From 85a0099b5a1abd6cf5239ad3089597db71ab121c Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Tue, 28 Mar 2017 16:15:37 -0700 Subject: [PATCH 031/108] mxapi finish with words for now --- Sourcecode/mx/impl/DirectionWriter.cpp | 8 +++++++- Sourcecode/mxtest/api/NoteDataTest.cpp | 27 +++++++++++++++++++++----- 2 files changed, 29 insertions(+), 6 deletions(-) diff --git a/Sourcecode/mx/impl/DirectionWriter.cpp b/Sourcecode/mx/impl/DirectionWriter.cpp index 45d17e466..f0ce62a86 100644 --- a/Sourcecode/mx/impl/DirectionWriter.cpp +++ b/Sourcecode/mx/impl/DirectionWriter.cpp @@ -301,7 +301,13 @@ namespace mx outWords->setValue( core::XsString{ wordsData.text } ); setAttributesFromPositionData( wordsData.positionData, attr ); setAttributesFromFontData( wordsData.fontData, attr ); - setAttributesFromColorData( wordsData.colorData, attr ); + + if( wordsData.isColorSpecified ) + { + // TODO - oops color is missing from words +// attr.hasColor = true; + setAttributesFromColorData( wordsData.colorData, attr ); + } } if( isFirstWordsAdded ) diff --git a/Sourcecode/mxtest/api/NoteDataTest.cpp b/Sourcecode/mxtest/api/NoteDataTest.cpp index f55941a62..5bf52e3b8 100644 --- a/Sourcecode/mxtest/api/NoteDataTest.cpp +++ b/Sourcecode/mxtest/api/NoteDataTest.cpp @@ -78,15 +78,32 @@ TEST( words, NoteData ) docId = mgr.createFromStream( iss ); auto oscore = mgr.getData(docId); - std::cout << xml << std::endl; - // get the data after the round trip const auto& opart = oscore.parts.back(); const auto& omeasure = opart.measures.back(); const auto& ostaff = omeasure.staves.back(); - const auto& ovoice = ostaff.voices.at(0); - const auto& onote = ovoice.notes.back(); - + const auto& odirections = ostaff.directions; + CHECK_EQUAL( 2, odirections.size() ); + const auto& firstDirection = odirections.front(); + const auto& firstWordVec = firstDirection.words; + CHECK_EQUAL( 1, firstWordVec.size() ); + const auto& firstWords = firstWordVec.front(); + CHECK_EQUAL( "Hello", firstWords.text); + CHECK( firstWords.positionData.isDefaultXSpecified ); + CHECK_DOUBLES_EQUAL( 1.1, firstWords.positionData.defaultX, 0.0001 ); + + const auto& secondDirection = odirections.at(1); + CHECK_EQUAL( 2, secondDirection.words.size() ); + const auto& wordsOne = secondDirection.words.at(0); + const auto& wordsTwo = secondDirection.words.at(1); + + CHECK_EQUAL( "One", wordsOne.text ); + CHECK( wordsOne.fontData.style == mx::api::FontStyle::italic ); + + CHECK_EQUAL( "Two", wordsTwo.text ); + + // TODO - oops bug opened for this +// CHECK( wordsTwo.isColorSpecified ); } T_END From f24beeed47aeda9d9c086fc48dc6a9757acea6d8 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Tue, 28 Mar 2017 16:23:13 -0700 Subject: [PATCH 032/108] mx-version-0.2.0.12 --- Sourcecode/mx/impl/MxVersionDefines.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sourcecode/mx/impl/MxVersionDefines.h b/Sourcecode/mx/impl/MxVersionDefines.h index 7d601807c..5dc9513d9 100644 --- a/Sourcecode/mx/impl/MxVersionDefines.h +++ b/Sourcecode/mx/impl/MxVersionDefines.h @@ -1,4 +1,4 @@ #define MX_VERSION_MAJOR 0 #define MX_VERSION_MINOR 2 #define MX_VERSION_PATCH 0 -#define MX_VERSION_BUILD 11 +#define MX_VERSION_BUILD 12 From 85376ba916172ed235ad6b07cacc18420878a15b Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Tue, 28 Mar 2017 17:50:59 -0700 Subject: [PATCH 033/108] mxapi save and load technical marks --- Sourcecode/mx/api/MarkData.cpp | 18 ++ Sourcecode/mx/api/MarkData.h | 1 + Sourcecode/mx/impl/ArticulationsFunctions.cpp | 2 - Sourcecode/mx/impl/NotationsWriter.cpp | 196 +++++++++++++++--- Sourcecode/mx/impl/NotationsWriter.h | 4 + Sourcecode/mx/impl/NoteFunctions.cpp | 1 - Sourcecode/mx/impl/TechnicalFunctions.cpp | 3 +- Sourcecode/mxtest/api/NoteDataTest.cpp | 62 ++++++ 8 files changed, 254 insertions(+), 33 deletions(-) diff --git a/Sourcecode/mx/api/MarkData.cpp b/Sourcecode/mx/api/MarkData.cpp index d55579a2d..a5d2499ce 100644 --- a/Sourcecode/mx/api/MarkData.cpp +++ b/Sourcecode/mx/api/MarkData.cpp @@ -276,6 +276,24 @@ namespace mx return ( markType == MarkType::pedal ) || ( markType == MarkType::damp ); } + + + bool isMarkTechnical( MarkType markType ) + { + return ( markType == MarkType::upBow ) || + ( markType == MarkType::downBow ) || + ( markType == MarkType::harmonic ) || + ( markType == MarkType::openString ) || + ( markType == MarkType::thumbPosition ) || + ( markType == MarkType::doubleTongue ) || + ( markType == MarkType::tripleTongue ) || + ( markType == MarkType::stopped ) || + ( markType == MarkType::snapPizzicato ) || + ( markType == MarkType::heel ) || + ( markType == MarkType::toe ) || + ( markType == MarkType::fingernails ) || + ( markType == MarkType::otherTechnical ); + } bool isMarkTremolo( MarkType markType ) diff --git a/Sourcecode/mx/api/MarkData.h b/Sourcecode/mx/api/MarkData.h index 34e91dc50..73be67476 100644 --- a/Sourcecode/mx/api/MarkData.h +++ b/Sourcecode/mx/api/MarkData.h @@ -183,6 +183,7 @@ namespace mx bool isMarkOrnament( MarkType ); bool isMarkFermata( MarkType ); bool isMarkPedal( MarkType ); + bool isMarkTechnical( MarkType ); bool isMarkTremolo( MarkType ); int numTremoloSlashes( MarkType ); diff --git a/Sourcecode/mx/impl/ArticulationsFunctions.cpp b/Sourcecode/mx/impl/ArticulationsFunctions.cpp index 44b80d3e8..817be5543 100644 --- a/Sourcecode/mx/impl/ArticulationsFunctions.cpp +++ b/Sourcecode/mx/impl/ArticulationsFunctions.cpp @@ -164,8 +164,6 @@ namespace mx default: break; } - - } } } diff --git a/Sourcecode/mx/impl/NotationsWriter.cpp b/Sourcecode/mx/impl/NotationsWriter.cpp index bbfbeb8d1..664c38d44 100644 --- a/Sourcecode/mx/impl/NotationsWriter.cpp +++ b/Sourcecode/mx/impl/NotationsWriter.cpp @@ -3,56 +3,81 @@ // Distributed under the MIT License #include "mx/impl/NotationsWriter.h" -#include "mx/core/elements/Notations.h" -#include "mx/core/elements/NotationsChoice.h" +#include "mx/core/elements/Accent.h" +#include "mx/core/elements/Arrow.h" #include "mx/core/elements/Articulations.h" #include "mx/core/elements/ArticulationsChoice.h" -#include "mx/core/elements/Accent.h" +#include "mx/core/elements/Bend.h" #include "mx/core/elements/BreathMark.h" #include "mx/core/elements/Caesura.h" +#include "mx/core/elements/DelayedInvertedTurn.h" +#include "mx/core/elements/DelayedTurn.h" #include "mx/core/elements/DetachedLegato.h" #include "mx/core/elements/Doit.h" +#include "mx/core/elements/DoubleTongue.h" +#include "mx/core/elements/DownBow.h" +#include "mx/core/elements/Dynamics.h" #include "mx/core/elements/Falloff.h" +#include "mx/core/elements/Fermata.h" +#include "mx/core/elements/Fingering.h" +#include "mx/core/elements/Fingernails.h" +#include "mx/core/elements/Fret.h" +#include "mx/core/elements/HammerOn.h" +#include "mx/core/elements/Handbell.h" +#include "mx/core/elements/Harmonic.h" +#include "mx/core/elements/Heel.h" +#include "mx/core/elements/Hole.h" +#include "mx/core/elements/InvertedMordent.h" +#include "mx/core/elements/InvertedTurn.h" +#include "mx/core/elements/Mordent.h" +#include "mx/core/elements/Notations.h" +#include "mx/core/elements/NotationsChoice.h" +#include "mx/core/elements/OpenString.h" +#include "mx/core/elements/Ornaments.h" +#include "mx/core/elements/OrnamentsChoice.h" #include "mx/core/elements/OtherArticulation.h" +#include "mx/core/elements/OtherOrnament.h" +#include "mx/core/elements/OtherTechnical.h" #include "mx/core/elements/Plop.h" +#include "mx/core/elements/Pluck.h" +#include "mx/core/elements/PullOff.h" +#include "mx/core/elements/Schleifer.h" #include "mx/core/elements/Scoop.h" +#include "mx/core/elements/Shake.h" +#include "mx/core/elements/Slur.h" +#include "mx/core/elements/SnapPizzicato.h" #include "mx/core/elements/Spiccato.h" #include "mx/core/elements/Staccatissimo.h" #include "mx/core/elements/Staccato.h" +#include "mx/core/elements/Stopped.h" #include "mx/core/elements/Stress.h" +#include "mx/core/elements/String.h" #include "mx/core/elements/StrongAccent.h" +#include "mx/core/elements/Tap.h" +#include "mx/core/elements/Technical.h" #include "mx/core/elements/Tenuto.h" -#include "mx/core/elements/Unstress.h" +#include "mx/core/elements/ThumbPosition.h" #include "mx/core/elements/Tied.h" -#include "mx/core/elements/Slur.h" -#include "mx/core/elements/Dynamics.h" -#include "mx/utility/OptionalMembers.h" -#include "mx/impl/CurveFunctions.h" -#include "mx/impl/MarkDataFunctions.h" +#include "mx/core/elements/Toe.h" #include "mx/core/elements/Tremolo.h" +#include "mx/core/elements/TrillMark.h" +#include "mx/core/elements/TripleTongue.h" #include "mx/core/elements/Tuplet.h" #include "mx/core/elements/TupletActual.h" -#include "mx/core/elements/TupletNormal.h" #include "mx/core/elements/TupletDot.h" +#include "mx/core/elements/TupletNormal.h" #include "mx/core/elements/TupletNumber.h" #include "mx/core/elements/TupletType.h" -#include "mx/impl/DynamicsWriter.h" -#include "mx/core/elements/Fermata.h" -#include "mx/core/elements/Ornaments.h" -#include "mx/core/elements/OrnamentsChoice.h" -#include "mx/core/elements/DelayedInvertedTurn.h" -#include "mx/core/elements/DelayedTurn.h" -#include "mx/core/elements/InvertedMordent.h" -#include "mx/core/elements/InvertedTurn.h" -#include "mx/core/elements/Mordent.h" -#include "mx/core/elements/OtherOrnament.h" -#include "mx/core/elements/Schleifer.h" -#include "mx/core/elements/Shake.h" -#include "mx/core/elements/Tremolo.h" -#include "mx/core/elements/TrillMark.h" #include "mx/core/elements/Turn.h" +#include "mx/core/elements/Unstress.h" +#include "mx/core/elements/UpBow.h" #include "mx/core/elements/VerticalTurn.h" #include "mx/core/elements/WavyLine.h" +#include "mx/impl/CurveFunctions.h" +#include "mx/impl/DynamicsWriter.h" +#include "mx/impl/MarkDataFunctions.h" +#include "mx/utility/OptionalMembers.h" + namespace mx { @@ -75,6 +100,8 @@ namespace mx auto articulations = articulationsNotationChoice->getArticulations(); auto ornamentsNotationChoice = makeOrnamentsNotationsChoice(); auto ornaments = ornamentsNotationChoice->getOrnaments(); + auto technicalNotationChoice = makeTechnicalNotationsChoice(); + auto technicals = technicalNotationChoice->getTechnical(); for( const auto& curve : myNoteData.noteAttachmentData.curveStarts ) { @@ -233,6 +260,10 @@ namespace mx { this->addOrnament( mark, ornaments ); } + if( isMarkTechnical( mark.markType ) ) + { + this->addTechnical( mark, technicals ); + } else if( isMarkDynamic( mark.markType) ) { auto dynamicNotationsChoice = core::makeNotationsChoice(); @@ -331,6 +362,11 @@ namespace mx { myOutNotations->addNotationsChoice( ornamentsNotationChoice ); } + + if( technicals->getTechnicalChoiceSet().size() > 0 ) + { + myOutNotations->addNotationsChoice( technicalNotationChoice ); + } return myOutNotations; } @@ -338,7 +374,6 @@ namespace mx core::NotationsChoicePtr NotationsWriter::makeArticulationsNotationsChoice() const { -// auto articulations = core::makeArticulations(); auto notationsChoice = core::makeNotationsChoice(); notationsChoice->setChoice( core::NotationsChoice::Choice::articulations ); return notationsChoice; @@ -347,11 +382,17 @@ namespace mx core::NotationsChoicePtr NotationsWriter::makeOrnamentsNotationsChoice() const { -// auto ornaments = core::makeOrnamentsChoice(); auto notationsChoice = core::makeNotationsChoice(); notationsChoice->setChoice( core::NotationsChoice::Choice::ornaments ); return notationsChoice; } + + core::NotationsChoicePtr NotationsWriter::makeTechnicalNotationsChoice() const + { + auto notationsChoice = core::makeNotationsChoice(); + notationsChoice->setChoice( core::NotationsChoice::Choice::technical ); + return notationsChoice; + } void NotationsWriter::addArticulation( const api::MarkData& mark, const core::ArticulationsPtr& outArticulationsPtr ) const @@ -551,15 +592,112 @@ namespace mx setAttributesFromPositionData( mark.positionData, *attributes); element->setValue( mx::core::TremoloMarks{ api::numTremoloSlashes( mark.markType ) } ); } - else if( mark.markType == api::MarkType::otherOrnament ) + else if( ( mark.markType == api::MarkType::unknownOrnament ) || + ( mark.markType == api::MarkType::otherOrnament ) ) { auto element = ornamentsChoice->getOtherOrnament(); auto attributes = element->getAttributes(); setAttributesFromPositionData( mark.positionData, *attributes); + + if( !mark.name.empty() ) + { + element->setValue( core::XsString{ mark.name } ); + } + else if ( !mark.smuflName.empty() ) + { + element->setValue( core::XsString{ mark.smuflName } ); + } + } + } + + void NotationsWriter::addTechnical( const api::MarkData& mark, const core::TechnicalPtr& outTechnicalPtr ) const + { + if( !isMarkTechnical( mark.markType ) ) + { + return; + } + + auto technicalChoice = core::makeTechnicalChoice(); + auto choiceValue = myConverter.convertTechnicalMark( mark.markType ); + technicalChoice->setChoice( choiceValue ); + outTechnicalPtr->addTechnicalChoice( technicalChoice ); + + if( mark.markType == api::MarkType::upBow ) + { + auto element = technicalChoice->getUpBow(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); } - else if( mark.markType == api::MarkType::unknownOrnament ) + else if( mark.markType == api::MarkType::downBow ) { - auto element = ornamentsChoice->getOtherOrnament(); + auto element = technicalChoice->getDownBow(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); + } + else if( mark.markType == api::MarkType::harmonic ) + { + auto element = technicalChoice->getHarmonic(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); + } + else if( mark.markType == api::MarkType::openString ) + { + auto element = technicalChoice->getOpenString(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); + } + else if( mark.markType == api::MarkType::thumbPosition ) + { + auto element = technicalChoice->getThumbPosition(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); + } + else if( mark.markType == api::MarkType::doubleTongue ) + { + auto element = technicalChoice->getDoubleTongue(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); + } + else if( mark.markType == api::MarkType::tripleTongue ) + { + auto element = technicalChoice->getTripleTongue(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); + } + else if( mark.markType == api::MarkType::stopped ) + { + auto element = technicalChoice->getStopped(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); + } + else if( mark.markType == api::MarkType::snapPizzicato ) + { + auto element = technicalChoice->getSnapPizzicato(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); + } + else if( mark.markType == api::MarkType::heel ) + { + auto element = technicalChoice->getHeel(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); + } + else if( mark.markType == api::MarkType::toe ) + { + auto element = technicalChoice->getToe(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); + } + else if( mark.markType == api::MarkType::fingernails ) + { + auto element = technicalChoice->getFingernails(); + auto attributes = element->getAttributes(); + setAttributesFromPositionData( mark.positionData, *attributes); + } + else if( ( mark.markType == api::MarkType::unknownTechnical ) || + ( mark.markType == api::MarkType::otherTechnical ) ) + { + auto element = technicalChoice->getOtherTechnical(); auto attributes = element->getAttributes(); setAttributesFromPositionData( mark.positionData, *attributes); diff --git a/Sourcecode/mx/impl/NotationsWriter.h b/Sourcecode/mx/impl/NotationsWriter.h index fa693136e..362e187b9 100644 --- a/Sourcecode/mx/impl/NotationsWriter.h +++ b/Sourcecode/mx/impl/NotationsWriter.h @@ -19,6 +19,8 @@ namespace mx using ArticulationsPtr = std::shared_ptr; class Ornaments; using OrnamentsPtr = std::shared_ptr; + class Technical; + using TechnicalPtr = std::shared_ptr; } @@ -42,8 +44,10 @@ namespace mx private: core::NotationsChoicePtr makeArticulationsNotationsChoice() const; core::NotationsChoicePtr makeOrnamentsNotationsChoice() const; + core::NotationsChoicePtr makeTechnicalNotationsChoice() const; void addArticulation( const api::MarkData& markData, const core::ArticulationsPtr& outArticulationsPtr ) const; void addOrnament( const api::MarkData& markData, const core::OrnamentsPtr& outOrnamentsPtr ) const; + void addTechnical( const api::MarkData& markData, const core::TechnicalPtr& outOrnamentsPtr ) const; }; } } diff --git a/Sourcecode/mx/impl/NoteFunctions.cpp b/Sourcecode/mx/impl/NoteFunctions.cpp index 7a1fa2988..da23944c9 100755 --- a/Sourcecode/mx/impl/NoteFunctions.cpp +++ b/Sourcecode/mx/impl/NoteFunctions.cpp @@ -304,7 +304,6 @@ namespace mx } case core::NotationsChoice::Choice::technical: { - // TODO - some technical items are spanners and others are complex/not-implemented yet TechnicalFunctions funcs{ notationsChoice.getTechnical()->getTechnicalChoiceSet(), myCursor }; funcs.parseTechnicalMarks( myOutNoteData.noteAttachmentData.marks ); break; diff --git a/Sourcecode/mx/impl/TechnicalFunctions.cpp b/Sourcecode/mx/impl/TechnicalFunctions.cpp index 71c110ead..294acfaae 100644 --- a/Sourcecode/mx/impl/TechnicalFunctions.cpp +++ b/Sourcecode/mx/impl/TechnicalFunctions.cpp @@ -171,7 +171,8 @@ namespace mx case core::TechnicalChoice::Choice::otherTechnical: { const auto& other = *techicalChoice.getOtherTechnical(); - parseMarkDataAttributes( other.getAttributes(), outMarkData ); + const auto& attr = *other.getAttributes(); + parseMarkDataAttributes( attr, outMarkData ); const auto value = other.getValue().getValue(); const auto charVal = api::Smufl::findCodepoint( value ); diff --git a/Sourcecode/mxtest/api/NoteDataTest.cpp b/Sourcecode/mxtest/api/NoteDataTest.cpp index 5bf52e3b8..fd2d9f783 100644 --- a/Sourcecode/mxtest/api/NoteDataTest.cpp +++ b/Sourcecode/mxtest/api/NoteDataTest.cpp @@ -37,6 +37,68 @@ using namespace std; using namespace mx::api; using namespace mxtest; +TEST( technical, NoteData ) +{ + ScoreData score; + score.parts.emplace_back(); + auto& part = score.parts.back(); + part.measures.emplace_back(); + auto& measure = part.measures.back(); + measure.staves.emplace_back(); + auto& staff = measure.staves.back(); + auto& voice = staff.voices[0]; + voice.notes.emplace_back(); + auto& note = voice.notes.back(); + + note.noteAttachmentData.marks.emplace_back( Placement::above, MarkType::upBow ); + note.noteAttachmentData.marks.back().positionData.isDefaultXSpecified = true; + note.noteAttachmentData.marks.back().positionData.defaultX = 123.0; + + note.noteAttachmentData.marks.emplace_back( Placement::above, MarkType::otherTechnical ); + note.noteAttachmentData.marks.back().name = "Bob"; + note.noteAttachmentData.marks.back().smuflName = "Charlie"; + note.noteAttachmentData.marks.back().positionData.isDefaultYSpecified = true; + note.noteAttachmentData.marks.back().positionData.defaultY = -456.0; + + // round trip it through xml + auto& mgr = DocumentManager::getInstance(); + auto docId = mgr.createFromScore( score ); + std::stringstream ss; + mgr.writeToStream(docId, ss); + mgr.destroyDocument(docId); + const std::string xml = ss.str(); + std::istringstream iss{ xml }; + docId = mgr.createFromStream( iss ); + auto oscore = mgr.getData(docId); + + std::cout << xml << std::endl; + + // get the data after the round trip + auto& opart = oscore.parts.back(); + auto& omeasure = opart.measures.back(); + auto& ostaff = omeasure.staves.back(); + auto& ovoice = ostaff.voices[0]; + auto& onote = ovoice.notes.back(); + auto& oattachments = onote.noteAttachmentData; + auto& omarks = oattachments.marks; + auto oIter = omarks.cbegin(); + + auto md = *oIter; + CHECK( md.markType == MarkType::upBow ); + CHECK( md.positionData.isDefaultXSpecified ); + CHECK( !md.positionData.isDefaultYSpecified ); + CHECK_DOUBLES_EQUAL( 123.0, md.positionData.defaultX, 0.00001 ); + + ++oIter; + md = *oIter; + CHECK( md.markType == MarkType::otherTechnical ); + CHECK( !md.positionData.isDefaultXSpecified ); + CHECK( md.positionData.isDefaultYSpecified ); + CHECK_DOUBLES_EQUAL( -456.0, md.positionData.defaultY, 0.00001 ); + CHECK_EQUAL( "Bob", md.name ); +} +T_END + TEST( words, NoteData ) { ScoreData score; From 75c9d3144816f31b30dc2a28773a0a19d7bc1087 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Tue, 28 Mar 2017 17:53:36 -0700 Subject: [PATCH 034/108] mx-version-0.2.0.13 --- Sourcecode/mx/impl/MxVersionDefines.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sourcecode/mx/impl/MxVersionDefines.h b/Sourcecode/mx/impl/MxVersionDefines.h index 5dc9513d9..f625f24ca 100644 --- a/Sourcecode/mx/impl/MxVersionDefines.h +++ b/Sourcecode/mx/impl/MxVersionDefines.h @@ -1,4 +1,4 @@ #define MX_VERSION_MAJOR 0 #define MX_VERSION_MINOR 2 #define MX_VERSION_PATCH 0 -#define MX_VERSION_BUILD 12 +#define MX_VERSION_BUILD 13 From a4394d7f6cf3a51ed1f5bf029021baf70408b3ed Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Tue, 28 Mar 2017 18:15:55 -0700 Subject: [PATCH 035/108] mxapi turn off cout --- Sourcecode/mxtest/api/NoteDataTest.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/Sourcecode/mxtest/api/NoteDataTest.cpp b/Sourcecode/mxtest/api/NoteDataTest.cpp index fd2d9f783..add798411 100644 --- a/Sourcecode/mxtest/api/NoteDataTest.cpp +++ b/Sourcecode/mxtest/api/NoteDataTest.cpp @@ -71,8 +71,6 @@ TEST( technical, NoteData ) docId = mgr.createFromStream( iss ); auto oscore = mgr.getData(docId); - std::cout << xml << std::endl; - // get the data after the round trip auto& opart = oscore.parts.back(); auto& omeasure = opart.measures.back(); From 8e905c71f548aee8948bb5eb887ca52b33500978 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Tue, 28 Mar 2017 20:30:30 -0700 Subject: [PATCH 036/108] mxapi fix bug with other articulation --- Sourcecode/mx/impl/ArticulationsFunctions.cpp | 13 +- Sourcecode/mx/impl/NotationsWriter.cpp | 1 + Sourcecode/mxtest/api/NoteDataTest.cpp | 124 ++++++++++++++++-- 3 files changed, 122 insertions(+), 16 deletions(-) diff --git a/Sourcecode/mx/impl/ArticulationsFunctions.cpp b/Sourcecode/mx/impl/ArticulationsFunctions.cpp index 817be5543..28ce157ab 100644 --- a/Sourcecode/mx/impl/ArticulationsFunctions.cpp +++ b/Sourcecode/mx/impl/ArticulationsFunctions.cpp @@ -52,9 +52,13 @@ namespace mx markData.tickTimePosition = myCursor.tickTimePosition; parseArticulation( *articulation, markData ); - - markData.smuflName = api::MarkSmufl::getName( markType, markData.positionData.placement ); - markData.smuflCodepoint = api::MarkSmufl::getCodepoint( markType, markData.positionData.placement ); + + if( markType != api::MarkType::otherArticulation ) + { + markData.smuflName = api::MarkSmufl::getName( markType, markData.positionData.placement ); + markData.smuflCodepoint = api::MarkSmufl::getCodepoint( markType, markData.positionData.placement ); + } + outMarks.emplace_back( std::move( markData ) ); } } @@ -156,7 +160,8 @@ namespace mx } case core::ArticulationsChoice::Choice::otherArticulation: { - parseMarkDataAttributes( *inArticulation.getAccent()->getAttributes(), outMark ); + parseMarkDataAttributes( *inArticulation.getOtherArticulation()->getAttributes(), outMark ); + outMark.name = inArticulation.getOtherArticulation()->getValue().getValue(); outMark.smuflName = outMark.name; outMark.smuflCodepoint = api::Smufl::findCodepoint( outMark.smuflName ); break; diff --git a/Sourcecode/mx/impl/NotationsWriter.cpp b/Sourcecode/mx/impl/NotationsWriter.cpp index 664c38d44..4a7e674d1 100644 --- a/Sourcecode/mx/impl/NotationsWriter.cpp +++ b/Sourcecode/mx/impl/NotationsWriter.cpp @@ -500,6 +500,7 @@ namespace mx else if( mark.markType == api::MarkType::otherArticulation ) { auto element = articulationsChoice->getOtherArticulation(); + element->setValue( core::XsString{ mark.name } ); auto attributes = element->getAttributes(); setAttributesFromPositionData( mark.positionData, *attributes); } diff --git a/Sourcecode/mxtest/api/NoteDataTest.cpp b/Sourcecode/mxtest/api/NoteDataTest.cpp index add798411..6a5ec430b 100644 --- a/Sourcecode/mxtest/api/NoteDataTest.cpp +++ b/Sourcecode/mxtest/api/NoteDataTest.cpp @@ -37,6 +37,106 @@ using namespace std; using namespace mx::api; using namespace mxtest; +TEST( otherArticulation, NoteData ) +{ + ScoreData score; + score.parts.emplace_back(); + auto& part = score.parts.back(); + part.measures.emplace_back(); + auto& measure = part.measures.back(); + measure.staves.emplace_back(); + auto& staff = measure.staves.back(); + auto& voice = staff.voices[0]; + voice.notes.emplace_back(); + auto& note = voice.notes.back(); + + note.noteAttachmentData.marks.emplace_back( Placement::unspecified, MarkType::otherArticulation ); + note.noteAttachmentData.marks.back().positionData.isDefaultXSpecified = true; + note.noteAttachmentData.marks.back().positionData.defaultX = 333.3; + note.noteAttachmentData.marks.back().name = "name"; + note.noteAttachmentData.marks.back().smuflName = "smuflName"; + + // round trip it through xml + auto& mgr = DocumentManager::getInstance(); + auto docId = mgr.createFromScore( score ); + std::stringstream ss; + mgr.writeToStream(docId, ss); + mgr.destroyDocument(docId); + const std::string xml = ss.str(); + std::istringstream iss{ xml }; + docId = mgr.createFromStream( iss ); + auto oscore = mgr.getData(docId); + + // get the data after the round trip + auto& opart = oscore.parts.back(); + auto& omeasure = opart.measures.back(); + auto& ostaff = omeasure.staves.back(); + auto& ovoice = ostaff.voices[0]; + auto& onote = ovoice.notes.back(); + auto& oattachments = onote.noteAttachmentData; + auto& omarks = oattachments.marks; + auto oIter = omarks.cbegin(); + + auto md = *oIter; + CHECK( md.markType == MarkType::otherArticulation ); + CHECK( md.positionData.isDefaultXSpecified ); + CHECK( !md.positionData.isDefaultYSpecified ); + CHECK_DOUBLES_EQUAL( 333.3, md.positionData.defaultX, 0.00001 ); + CHECK_EQUAL( "name", md.name ); + CHECK( md.positionData.placement == Placement::unspecified ); +} +T_END; + +TEST( otherOrnament, NoteData ) +{ + ScoreData score; + score.parts.emplace_back(); + auto& part = score.parts.back(); + part.measures.emplace_back(); + auto& measure = part.measures.back(); + measure.staves.emplace_back(); + auto& staff = measure.staves.back(); + auto& voice = staff.voices[0]; + voice.notes.emplace_back(); + auto& note = voice.notes.back(); + + note.noteAttachmentData.marks.emplace_back( Placement::unspecified, MarkType::otherOrnament ); + note.noteAttachmentData.marks.back().positionData.isDefaultXSpecified = true; + note.noteAttachmentData.marks.back().positionData.defaultX = 333.3; + note.noteAttachmentData.marks.back().name = "name"; + note.noteAttachmentData.marks.back().smuflName = "smuflName"; + + // round trip it through xml + auto& mgr = DocumentManager::getInstance(); + auto docId = mgr.createFromScore( score ); + std::stringstream ss; + mgr.writeToStream(docId, ss); + mgr.destroyDocument(docId); + const std::string xml = ss.str(); + std::istringstream iss{ xml }; + docId = mgr.createFromStream( iss ); + auto oscore = mgr.getData(docId); + + // get the data after the round trip + auto& opart = oscore.parts.back(); + auto& omeasure = opart.measures.back(); + auto& ostaff = omeasure.staves.back(); + auto& ovoice = ostaff.voices[0]; + auto& onote = ovoice.notes.back(); + auto& oattachments = onote.noteAttachmentData; + auto& omarks = oattachments.marks; + auto oIter = omarks.cbegin(); + + auto md = *oIter; + CHECK( md.markType == MarkType::otherOrnament ); + CHECK( md.positionData.isDefaultXSpecified ); + CHECK( !md.positionData.isDefaultYSpecified ); + CHECK_DOUBLES_EQUAL( 333.3, md.positionData.defaultX, 0.00001 ); + CHECK_EQUAL( "name", md.name ); + CHECK( md.positionData.placement == Placement::unspecified ); +} +T_END; + TEST( technical, NoteData ) { ScoreData score; @@ -95,7 +195,7 @@ TEST( technical, NoteData ) CHECK_DOUBLES_EQUAL( -456.0, md.positionData.defaultY, 0.00001 ); CHECK_EQUAL( "Bob", md.name ); } -T_END +T_END; TEST( words, NoteData ) { @@ -165,7 +265,7 @@ TEST( words, NoteData ) // TODO - oops bug opened for this // CHECK( wordsTwo.isColorSpecified ); } -T_END +T_END; TEST( tremolos, NoteData ) { @@ -222,7 +322,7 @@ TEST( tremolos, NoteData ) CHECK_EQUAL( i, numTremoloSlashes( markData.markType ) ); } } -T_END +T_END; TEST( miscFields, NoteData ) { @@ -278,7 +378,7 @@ TEST( miscFields, NoteData ) CHECK( iter == end ); } -T_END +T_END; TEST( SlurTieNumberLevelA, NoteData ) { @@ -320,7 +420,7 @@ TEST( SlurTieNumberLevelA, NoteData ) CHECK_EQUAL( -1, curveStart.numberLevel ); CHECK( curveStart.curveType == mx::api::CurveType::tie ); } -T_END +T_END; TEST( SlurTieNumberLevelB, NoteData ) { @@ -362,7 +462,7 @@ TEST( SlurTieNumberLevelB, NoteData ) CHECK_EQUAL( -1, curveContinue.numberLevel ); CHECK( curveContinue.curveType == mx::api::CurveType::tie ); } -T_END +T_END; TEST( SlurTieNumberLevelC, NoteData ) { @@ -404,7 +504,7 @@ TEST( SlurTieNumberLevelC, NoteData ) CHECK_EQUAL( -1, curveStop.numberLevel ); CHECK( curveStop.curveType == mx::api::CurveType::tie ); } -T_END +T_END; TEST( ornaments, NoteData ) { @@ -461,7 +561,7 @@ TEST( ornaments, NoteData ) CHECK( md.positionData.isDefaultYSpecified ); CHECK_DOUBLES_EQUAL( -456.0, md.positionData.defaultY, 0.00001 ); } -T_END +T_END; TEST( pedalStart, NoteData ) { @@ -502,7 +602,7 @@ TEST( pedalStart, NoteData ) CHECK( omark.markType == MarkType::pedal ); CHECK_EQUAL( odirection.tickTimePosition, odirection.tickTimePosition ); } -T_END +T_END; TEST( pedalStop, NoteData ) { @@ -543,7 +643,7 @@ TEST( pedalStop, NoteData ) CHECK( omark.markType == MarkType::damp ); CHECK_EQUAL( odirection.tickTimePosition, odirection.tickTimePosition ); } -T_END +T_END; TEST( directionOrder, NoteData ) { @@ -672,7 +772,7 @@ TEST( directionOrder, NoteData ) dirElement = mdc->getDirection(); CHECK( !dirElement->getHasOffset() ); } -T_END +T_END; TEST( directionOrderRoundTrip, NoteData ) { @@ -773,6 +873,6 @@ TEST( directionOrderRoundTrip, NoteData ) CHECK( score == oscore ) } -T_END +T_END; #endif From 2455aa1ab7eeeaa6e21094f3215d23f49ae0f841 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Tue, 28 Mar 2017 20:31:31 -0700 Subject: [PATCH 037/108] mx-version-0.2.0.14 --- Sourcecode/mx/impl/MxVersionDefines.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sourcecode/mx/impl/MxVersionDefines.h b/Sourcecode/mx/impl/MxVersionDefines.h index f625f24ca..48aafb976 100644 --- a/Sourcecode/mx/impl/MxVersionDefines.h +++ b/Sourcecode/mx/impl/MxVersionDefines.h @@ -1,4 +1,4 @@ #define MX_VERSION_MAJOR 0 #define MX_VERSION_MINOR 2 #define MX_VERSION_PATCH 0 -#define MX_VERSION_BUILD 13 +#define MX_VERSION_BUILD 14 From 454771fee7b714b08ddbfb0ae758b267f82b6e94 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Thu, 27 Apr 2017 13:56:41 -0700 Subject: [PATCH 038/108] mxapi merge decimal --- Sourcecode/mx/core/Decimals.cpp | 284 +++++++++++++---- Sourcecode/mx/core/Decimals.h | 17 +- Sourcecode/mx/core/PreciseDecimal.cpp | 290 ++++++++++++++++++ Sourcecode/mx/core/PreciseDecimal.h | 69 +++++ .../mx/core/elements/PreciseDecimalTest.cpp | 165 ++++++++++ Sourcecode/mx/impl/MxVersionDefines.h | 2 +- Sourcecode/mxtest/control/CompileControl.h | 5 +- Sourcecode/mxtest/core/DecimalsTest.cpp | 8 +- Sourcecode/mxtest/core/FontSizeTest.cpp | 2 +- Sourcecode/mxtest/core/NumberOrNormal.cpp | 2 +- Sourcecode/mxtest/core/YesNoNumberTest.cpp | 2 +- Xcode/Mx.xcodeproj/project.pbxproj | 24 ++ Xcode/MxTest.xcodeproj/project.pbxproj | 4 + 13 files changed, 794 insertions(+), 80 deletions(-) create mode 100644 Sourcecode/mx/core/PreciseDecimal.cpp create mode 100644 Sourcecode/mx/core/PreciseDecimal.h create mode 100644 Sourcecode/mx/core/elements/PreciseDecimalTest.cpp diff --git a/Sourcecode/mx/core/Decimals.cpp b/Sourcecode/mx/core/Decimals.cpp index c91d04d1f..ecadfaaee 100755 --- a/Sourcecode/mx/core/Decimals.cpp +++ b/Sourcecode/mx/core/Decimals.cpp @@ -3,6 +3,9 @@ // Distributed under the MIT License #include "mx/core/Decimals.h" +#include "mx/core/PreciseDecimal.h" +#include "mx/core/UnusedParameter.h" + #include #include @@ -13,59 +16,177 @@ namespace mx class Decimal::impl { public: - impl( const DecimalType value ) - :myValue( value ) {} - ~impl () {} + impl( const DecimalType inValue ) + : myValue( nullptr ) + { + setValue( inValue ); + } + + + ~impl() + { + + } + + + impl( const impl& other ) + : myValue( nullptr ) + { + if( other.myValue ) + { + myValue = std::make_unique( *other.myValue ); + } + } + + + impl( impl&& other ) = default; + + + impl& operator=( const impl& other ) + { + if ( other.myValue ) + { + myValue = std::make_unique( *other.myValue ); + } + else + { + myValue = nullptr; + } + + return *this; + } + + + impl& operator=( impl&& other ) = default; + void setValue( DecimalType value ) { - myValue = value; + if( !myValue ) + { + if( value == 0.0 ) + { + return; + } + else + { + allocate(); + } + } + myValue->setValue( value ); } + + DecimalType getValue() const { - return myValue; + if( !myValue ) + { + return 0.0; + } + else + { + return myValue->getValue(); + } + } + + + std::string toString() const + { + if( !myValue ) + { + return "0"; + } + else + { + return myValue->toString(); + } + } + + + std::ostream& toStream( std::ostream& os ) const + { + if( !myValue ) + { + os << "0"; + return os; + } + else + { + return myValue->toStream( os ); + } + } + + + void allocate() + { + myValue = std::make_unique( 19, DEFAULT_PRECISION, 0.0 ); } + private: - DecimalType myValue; + std::mutex myMutex; + mutable std::unique_ptr myValue; }; Decimal::Decimal( DecimalType value ) :myImpl( new Decimal::impl( value ) ) - {} + { + + } + Decimal::Decimal() - :myImpl( new Decimal::impl( 0 ) ) - {} - - Decimal::~Decimal() {} + :myImpl( new Decimal::impl( 0.0 ) ) + { + + } + + + Decimal::~Decimal() + { + + } Decimal::Decimal( const Decimal& other ) - :myImpl( new Decimal::impl( other.getValue() ) ) - { } + :myImpl( new Decimal::impl( *other.myImpl ) ) + { + + } + + Decimal::Decimal( Decimal&& other ) :myImpl( std::move( other.myImpl ) ) - {} - + { + + } + + Decimal& Decimal::operator=( const Decimal& other ) { - this->myImpl = std::unique_ptr( new Decimal::impl( other.getValue() ) ); + this->myImpl = std::unique_ptr( new Decimal::impl( *other.myImpl ) ); return *this; } + + Decimal& Decimal::operator=( Decimal&& other ) { myImpl = std::move( other.myImpl ); return *this; } - + + DecimalType Decimal::getValue() const { return myImpl->getValue(); } + + void Decimal::setValue( DecimalType value ) { myImpl->setValue( value ); } + + void Decimal::parse( const std::string& value ) { std::stringstream ss( value ); @@ -76,42 +197,40 @@ namespace mx } setValue( temp ); } - - std::string toString( const Decimal& value, unsigned int precision ) + + + std::string Decimal::toString() const { - std::stringstream ss; - ss << std::fixed; - ss << std::setprecision( static_cast( precision ) ); - ss << value.getValue(); - /* remove trailing zeros */ - std::string s = ss.str(); - s.erase(s.find_last_not_of('0') + 1, std::string::npos); - - if(s[s.size()-1] == '.') - { - s.erase(s.end()-1); - } + return myImpl->toString(); + } - if ( s == "-0" ) - { - s = "0"; - } - - return s; + + std::ostream& Decimal::toStream( std::ostream& os ) const + { + return myImpl->toStream( os ); + } + + + std::string toString( const Decimal& value, unsigned int precision ) + { + MX_UNUSED( precision ); + return value.toString(); } std::ostream& toStream( std::ostream& os, const Decimal& value, unsigned int precision ) { - return os << toString( value, precision ); + MX_UNUSED( precision ); + return value.toStream( os ); } std::ostream& operator<<( std::ostream& os, const Decimal& value ) { - return os << toString( value ); + return value.toStream( os ); } - + + DecimalRange::DecimalRange( DecimalType min, DecimalType max, DecimalType value ) :Decimal( value ) ,myMin( min ) @@ -119,24 +238,31 @@ namespace mx { setValue( value ); } - // DecimalRange::~DecimalRange() {} + + DecimalRange& DecimalRange::operator=( const DecimalRange& other ) { setValue( other.getValue() ); return *this; } + + DecimalRange::DecimalRange( DecimalRange&& other ) :Decimal( std::move( other ) ) ,myMin( std::move( other.myMin ) ) ,myMax( std::move( other.myMax ) ) - {} - + { + + } + + DecimalRange& DecimalRange::operator=( DecimalRange&& other ) { setValue( other.getValue() ); return *this; } - + + void DecimalRange::setValue( DecimalType value ) { if ( value < myMin ) @@ -152,6 +278,8 @@ namespace mx Decimal::setValue( value ); } } + + void DecimalRange::parse( const std::string& value ) { std::stringstream ss( value ); @@ -168,43 +296,54 @@ namespace mx { setValue( value ); } - + + PositiveDecimal::PositiveDecimal() - :Decimal( 1 ) {} - - // PositiveDecimal::~PositiveDecimal() {} + :Decimal( 1 ) + { + + } + void PositiveDecimal::setValue( DecimalType value ) { if ( value <= 0 ) { - Decimal::setValue( kNonZeroAmount ); + Decimal::setValue( NON_ZERO_AMOUNT ); } else { Decimal::setValue( value ); } } + + void PositiveDecimal::parse( const std::string& value ) { std::stringstream ss( value ); - DecimalType temp = kNonZeroAmount; + DecimalType temp = NON_ZERO_AMOUNT; if ((ss >> temp).fail() || !(ss >> std::ws).eof()) { return; } setValue( temp ); } - + + NonNegativeDecimal::NonNegativeDecimal( DecimalType value ) :Decimal( value ) { setValue( value ); } + + NonNegativeDecimal::NonNegativeDecimal() - :Decimal( 0 ) {} + :Decimal( 0 ) + { + + } - // NonNegativeDecimal::~NonNegativeDecimal() {} + void NonNegativeDecimal::setValue( DecimalType value ) { if ( value < 0 ) @@ -216,6 +355,8 @@ namespace mx Decimal::setValue( value ); } } + + void NonNegativeDecimal::parse( const std::string& value ) { std::stringstream ss( value ); @@ -226,34 +367,49 @@ namespace mx } this->setValue( temp ); } + Percent::Percent( DecimalType value ) :DecimalRange( 0, 100, value ) - {} - + { + + } + + Percent::Percent() :DecimalRange( 0, 100, 0 ) - {} + { + + } RotationDegrees::RotationDegrees() :DecimalRange( -180, 180, 0 ) - {} - + { + + } + + RotationDegrees::RotationDegrees( DecimalType value ) :DecimalRange( -180, 180, value ) - {} + { + + } + TrillBeats::TrillBeats( DecimalType value ) :Decimal( value ) { this->setValue( value ); } - + + TrillBeats::TrillBeats() - :Decimal( 2 ) {} + :Decimal( 2 ) + { + + } + - // TrillBeats::~TrillBeats() {} - void TrillBeats::setValue( DecimalType value ) { if ( value < 2 ) @@ -265,6 +421,8 @@ namespace mx Decimal::setValue( value ); } } + + void TrillBeats::parse( const std::string& value ) { std::stringstream ss( value ); diff --git a/Sourcecode/mx/core/Decimals.h b/Sourcecode/mx/core/Decimals.h index f29eaf1dc..3e324a950 100755 --- a/Sourcecode/mx/core/Decimals.h +++ b/Sourcecode/mx/core/Decimals.h @@ -18,16 +18,16 @@ namespace mx Note, "decimal" is synonymous with "float" in this context. */ using DecimalType = long double; - /* this is the number being passed to - std::precision for streaming and toString functions */ - const unsigned short kDefaultPrecision = 11; + /* decimals will be rounded to this number of places, + you must recompile if this number is changed */ + const unsigned short DEFAULT_PRECISION = 6; /* when a Decimal's range is Exclusive and you try to assign out-of-range, this amount will be added to the exclusive minimum. For example if a Decimal is constrainted to be a positive number, and you try to assign the value 0, the value will by set to - kNonZeroAmount instead */ - const DecimalType kNonZeroAmount = 0.00000000001; + NON_ZERO_AMOUNT instead */ + const DecimalType NON_ZERO_AMOUNT = 0.000001; class Decimal { @@ -43,13 +43,16 @@ namespace mx DecimalType getValue() const; virtual void setValue( DecimalType value ); virtual void parse( const std::string& value ); + std::string toString() const; + std::ostream& toStream( std::ostream& os ) const; + private: class impl; std::unique_ptr myImpl; }; - std::string toString( const Decimal& value, unsigned int precision = kDefaultPrecision ); - std::ostream& toStream( std::ostream& os, const Decimal& value, unsigned int precision = kDefaultPrecision ); + std::string toString( const Decimal& value, unsigned int precision = DEFAULT_PRECISION ); + std::ostream& toStream( std::ostream& os, const Decimal& value, unsigned int precision = DEFAULT_PRECISION ); std::ostream& operator<<( std::ostream& os, const Decimal& value ); class DecimalRange : public Decimal diff --git a/Sourcecode/mx/core/PreciseDecimal.cpp b/Sourcecode/mx/core/PreciseDecimal.cpp new file mode 100644 index 000000000..c33546e75 --- /dev/null +++ b/Sourcecode/mx/core/PreciseDecimal.cpp @@ -0,0 +1,290 @@ +// MusicXML Class Library +// Copyright (c) by Matthew James Briggs +// Distributed under the MIT License + +#include "mx/core/PreciseDecimal.h" + +#include +#include +#include + +namespace mx +{ + namespace core + { + PreciseDecimal::PreciseDecimal( short inMaxIntegerDigits, short inMaxDecimalDigits, DecimalType inValue ) + : myIsNegative{ inValue < 0.0 } + , myInteger{ 0 } + , myDecimal{ 0 } + , myMaxIntegerDigits{ DEFAULT_MAX_INTEGER_DIGITS } + , myMaxDecimalDigits{ DEFAULT_MAX_DECIMAL_DIGITS } + { + setMaxIntegerDigits( inMaxIntegerDigits ); + setMaxDecimalDigits( inMaxDecimalDigits ); + setMaxExpressibleNumber(); + setValue( inValue ); + } + + + PreciseDecimal::PreciseDecimal( short inMaxIntegerDigits, short inMaxDecimalDigits ) + : PreciseDecimal{ inMaxIntegerDigits, inMaxDecimalDigits, 0.0 } + { + + } + + + PreciseDecimal::PreciseDecimal( DecimalType inValue ) + : PreciseDecimal{ DEFAULT_MAX_INTEGER_DIGITS, DEFAULT_MAX_DECIMAL_DIGITS, inValue } + { + + } + + + PreciseDecimal::PreciseDecimal() + : PreciseDecimal{ DEFAULT_MAX_INTEGER_DIGITS, DEFAULT_MAX_DECIMAL_DIGITS, 0.0 } + { + + } + + + DecimalType PreciseDecimal::getValue() const + { + return express( myInteger, myDecimal, myMaxDecimalDigits, myIsNegative ); + } + + + void PreciseDecimal::setValue( DecimalType inValue ) + { + if ( inValue < 0 ) + { + myIsNegative = true; + inValue *= -1; + } + else + { + myIsNegative = false; + } + + const auto integer = static_cast( inValue ); + const bool isTooBig = integer > myMaxExpressibleInteger; + + if( isTooBig ) + { + myInteger = myMaxExpressibleInteger; + myDecimal = myMaxExpressibleDecimal; + return; + } + + const DecimalType decimalPartAsFloat = inValue - static_cast( integer ); + const auto powerMultiplierAsFloat = std::pow( static_cast( 10 ), static_cast( getMaxDecimalDigits() ) ); + const auto powerMultiplier = static_cast( std::ceil( powerMultiplierAsFloat - 0.5 ) ); + const auto decimalDigitsShifted = decimalPartAsFloat * static_cast( powerMultiplier ); + const auto decimalDigits = static_cast( std::ceil( decimalDigitsShifted - 0.5 ) ); + + if( decimalDigits > myMaxExpressibleDecimal ) + { + myInteger = integer + 1; + myDecimal = 0; + return; + } + + myInteger = integer; + myDecimal = decimalDigits; + } + + + short PreciseDecimal::getMaxIntegerDigits() const + { + return myMaxIntegerDigits; + } + + + short PreciseDecimal::getMaxDecimalDigits() const + { + return myMaxDecimalDigits; + } + + + DecimalType PreciseDecimal::getMaxExpressibleNumber() const + { + return express( myMaxExpressibleInteger, myMaxExpressibleDecimal, myMaxDecimalDigits, myIsNegative ); + } + + + DecimalType PreciseDecimal::getMinExpressibleNumber() const + { + return -1 * getMaxExpressibleNumber(); + } + + + std::ostream& PreciseDecimal::toStream( std::ostream& os ) const + { + if( myInteger == 0 && myDecimal == 0 ) + { + os << "0"; + return os; + } + + if( myIsNegative ) + { + os << "-"; + } + + os << myInteger; + + if( myDecimal == 0 ) + { + return os; + } + + os << "."; + + auto decIntStr = std::to_string( myDecimal ); + std::stringstream ss; + + bool isNonZeroReached = false; + + for ( auto c = decIntStr.crbegin(); + c != decIntStr.crend(); + ++c ) + { + if( *c == '0' && !isNonZeroReached ) + { + continue; + } + + isNonZeroReached = true; + ss << *c; + } + + const auto backwards = ss.str(); + + short digits = 0; + decltype( myDecimal ) tens = 1; + + for( int i = 0; i <= myMaxDecimalDigits; ++i ) + { + ++digits; + tens *= 10; + const auto r = myDecimal / tens; + + if( r < 1 ) + { + break; + } + } + + short leadingZeros = myMaxDecimalDigits - digits; + + for ( short i = 0; i < leadingZeros; ++i ) + { + os << "0"; + } + + for ( auto c = backwards.crbegin(); + c != backwards.crend(); + ++c ) + { + os << *c; + } + + return os; + } + + + std::string PreciseDecimal::toString() const + { + std::stringstream ss; + toStream( ss ); + return ss.str(); + } + + + void PreciseDecimal::setMaxIntegerDigits( short inNumDigits ) + { + if( inNumDigits < 1 ) + { + myMaxIntegerDigits = 1; + return; + } + + if( inNumDigits > MAX_STORAGE_TYPE_DIGITS ) + { + myMaxIntegerDigits = MAX_STORAGE_TYPE_DIGITS; + return; + } + + myMaxIntegerDigits = inNumDigits; + } + + + void PreciseDecimal::setMaxDecimalDigits( short inNumDigits ) + { + if( inNumDigits < 1 ) + { + myMaxDecimalDigits = 1; + return; + } + + if( inNumDigits > MAX_STORAGE_TYPE_DIGITS ) + { + myMaxDecimalDigits = MAX_STORAGE_TYPE_DIGITS; + return; + } + + myMaxDecimalDigits = inNumDigits; + } + + + decltype( PreciseDecimal::myInteger ) PreciseDecimal::findMax( short inNumDigits ) + { + decltype( myInteger ) mult = 0; + decltype( myInteger ) result = 0; + + for( short i = 0; i < inNumDigits; ++i ) + { + mult = static_cast( std::ceil( std::pow( 10, i ) - 0.5) ); + const auto add = mult * 9; + result += add; + } + + return result; + } + + + void PreciseDecimal::setMaxExpressibleInteger() + { + myMaxExpressibleInteger = findMax( getMaxIntegerDigits() ); + } + + + void PreciseDecimal::setMaxExpressibleDecimal() + { + myMaxExpressibleDecimal = findMax( getMaxDecimalDigits() ); + } + + + void PreciseDecimal::setMaxExpressibleNumber() + { + setMaxExpressibleInteger(); + setMaxExpressibleDecimal(); + } + + DecimalType PreciseDecimal::express( uint64_t inInteger, uint64_t inDecimal, short inMaxDecimalDigits, bool inIsNegative ) + { + const auto integer = static_cast( inInteger ); + const auto decimalPartAsFloat = static_cast( inDecimal ); + const auto powerMultiplierAsFloat = std::pow( static_cast( 10 ), static_cast( inMaxDecimalDigits ) ); + const auto powerMultiplier = static_cast( std::ceil( powerMultiplierAsFloat - 0.5 ) ); + const auto decimal = decimalPartAsFloat / powerMultiplier; + auto result = integer + decimal; + + if( inIsNegative ) + { + result *= -1; + } + + return result; + } + } +} diff --git a/Sourcecode/mx/core/PreciseDecimal.h b/Sourcecode/mx/core/PreciseDecimal.h new file mode 100644 index 000000000..1f602b44f --- /dev/null +++ b/Sourcecode/mx/core/PreciseDecimal.h @@ -0,0 +1,69 @@ +// MusicXML Class Library +// Copyright (c) by Matthew James Briggs +// Distributed under the MIT License + +#pragma once + +#include +#include + +namespace mx +{ + namespace core + { + using DecimalType = long double; + + /// @brief A precision representation of a decimal number + /// + /// @detailed Represents a decimal number with precision. Clamps + /// if an attempt is made to assign an unrepresentable number. + /// Rounds input values to the given MaxDecimalDigits or if a + /// change in precision would lead to data loss. Precision can + /// be changed at runtime. A number such as 123.4567 would require + /// a minimum precision setting of MaxIntegerDigits = 3, + /// MaxDecimalDigits = 4. + /// + class PreciseDecimal + { + public: + PreciseDecimal( short inMaxIntegerDigits, short inMaxDecimalDigits, DecimalType inValue ); + PreciseDecimal( short inMaxIntegerDigits, short inMaxDecimalDigits ); + PreciseDecimal( DecimalType inValue); + PreciseDecimal(); + DecimalType getValue() const; + void setValue( DecimalType inValue ); + short getMaxIntegerDigits() const; + short getMaxDecimalDigits() const; + DecimalType getMaxExpressibleNumber() const; + DecimalType getMinExpressibleNumber() const; + std::ostream& toStream( std::ostream& os ) const; + std::string toString() const; + + private: + bool myIsNegative; + uint64_t myInteger; + uint64_t myDecimal; + short myMaxIntegerDigits; + short myMaxDecimalDigits; + uint64_t myMaxExpressibleInteger; + uint64_t myMaxExpressibleDecimal; + + private: + void setMaxIntegerDigits( short inNumDigits ); + void setMaxDecimalDigits( short inNumDigits ); + static decltype( myInteger ) findMax( short inNumDigits ); + void setMaxExpressibleInteger(); + void setMaxExpressibleDecimal(); + void setMaxExpressibleNumber(); + static DecimalType express( uint64_t inInteger, uint64_t inDecimal, short inMaxDecimalDigits, bool inIsNegative ); + + private: + static constexpr const short DEFAULT_MAX_INTEGER_DIGITS = 10; + static constexpr const short DEFAULT_MAX_DECIMAL_DIGITS = 6; + static constexpr const short MAX_STORAGE_TYPE_DIGITS = 19; + static constexpr const uint64_t MAX_STORAGE_TYPE_VALUE = 9999999999999999999ULL; + }; + + // 18,446,744,073,709,551,615 + } +} diff --git a/Sourcecode/mx/core/elements/PreciseDecimalTest.cpp b/Sourcecode/mx/core/elements/PreciseDecimalTest.cpp new file mode 100644 index 000000000..83c792250 --- /dev/null +++ b/Sourcecode/mx/core/elements/PreciseDecimalTest.cpp @@ -0,0 +1,165 @@ +// MusicXML Class Library +// Copyright (c) by Matthew James Briggs +// Distributed under the MIT License + +#include "mxtest/control/CompileControl.h" +#ifdef MX_COMPILE_NEW_DECIMAL_TESTS + +#include "cpul/cpulTestHarness.h" +#include "mx/core/PreciseDecimal.h" +#include + +using namespace mx::core; + +TEST( ctorSSD, PreciseDecimalTest ) +{ + PreciseDecimal d{ 3, 2, 123.45 }; + CHECK_EQUAL( 3, d.getMaxIntegerDigits() ); + CHECK_EQUAL( 2, d.getMaxDecimalDigits() ); + CHECK_DOUBLES_EQUAL( 999.99, d.getMaxExpressibleNumber(), 0.00001 ); + CHECK_DOUBLES_EQUAL( -999.99, d.getMinExpressibleNumber(), 0.00001 ); + CHECK_DOUBLES_EQUAL( 123.45, d.getValue(), 0.00002 ); +} +T_END; + + +TEST( ctorSS, PreciseDecimalTest ) +{ + PreciseDecimal d{ 4, 1 }; + CHECK_EQUAL( 4, d.getMaxIntegerDigits() ); + CHECK_EQUAL( 1, d.getMaxDecimalDigits() ); + CHECK_DOUBLES_EQUAL( 9999.9, d.getMaxExpressibleNumber(), 0.00001 ); + CHECK_DOUBLES_EQUAL( -9999.9, d.getMinExpressibleNumber(), 0.00001 ); + CHECK_DOUBLES_EQUAL( 0, d.getValue(), 0.00001 ); +} +T_END; + + +TEST( ctorD, PreciseDecimalTest ) +{ + PreciseDecimal d{ 44.33 }; + CHECK_EQUAL( 10, d.getMaxIntegerDigits() ); + CHECK_EQUAL( 6, d.getMaxDecimalDigits() ); + CHECK_DOUBLES_EQUAL( 9999999999.99999, d.getMaxExpressibleNumber(), 0.1 ); + CHECK_DOUBLES_EQUAL( -9999999999.99999, d.getMinExpressibleNumber(), 0.1 ); + CHECK_DOUBLES_EQUAL( 44.33, d.getValue(), 0.00001 ); +} +T_END; + + +TEST( ctor, PreciseDecimalTest ) +{ + PreciseDecimal d{}; + CHECK_EQUAL( 10, d.getMaxIntegerDigits() ); + CHECK_EQUAL( 6, d.getMaxDecimalDigits() ); + CHECK_DOUBLES_EQUAL( 9999999999.99999, d.getMaxExpressibleNumber(), 0.1 ); + CHECK_DOUBLES_EQUAL( -9999999999.99999, d.getMinExpressibleNumber(), 0.1 ); + CHECK_DOUBLES_EQUAL( 0.0, d.getValue(), 0.00001 ); +} +T_END; + + +TEST( getValue, PreciseDecimalTest ) +{ + const DecimalType expected = 123.654; + PreciseDecimal d{ 10, 5, expected }; + const auto actual = d.getValue(); + CHECK_DOUBLES_EQUAL( expected, actual, 0.0001 ); +} +T_END; + + +TEST( getValueRounded, PreciseDecimalTest ) +{ + const short numIntDigits = 4; + const short numDecDeigits = 2; + const DecimalType value = 7321.83940239; + const DecimalType expected = 7321.84; + PreciseDecimal d{ numIntDigits, numDecDeigits, value }; + const auto actual = d.getValue(); + CHECK_DOUBLES_EQUAL( expected, actual, 0.0000001 ); +} +T_END; + + +TEST( setValue, PreciseDecimalTest ) +{ + const DecimalType expected = 8329.9238; + const short numIntDigits = 6; + const short numDecDeigits = 7; + PreciseDecimal d{ numIntDigits, numDecDeigits, 3458.2342 }; + d.setValue( expected ); + const auto actual = d.getValue(); + CHECK_DOUBLES_EQUAL( expected, actual, 0.0001 ); +} +T_END; + + +TEST( setValueRounded, PreciseDecimalTest ) +{ + const short numIntDigits = 1; + const short numDecDeigits = 1; + const DecimalType value = 0.55; + const DecimalType expected = 0.6; + PreciseDecimal d{ numIntDigits, numDecDeigits, 1232.1212 }; + d.setValue( value ); + const auto actual = d.getValue(); + CHECK_DOUBLES_EQUAL( expected, actual, 0.0000001 ); +} +T_END; + + +TEST( tooBig, PreciseDecimalTest ) +{ + const short numIntDigits = 3; + const short numDecDeigits = 1; + const DecimalType value = 8769.5; + const DecimalType expected = 999.9; + PreciseDecimal d{ numIntDigits, numDecDeigits }; + d.setValue( value ); + const auto actual = d.getValue(); + CHECK_DOUBLES_EQUAL( expected, actual, 0.0000001 ); +} +T_END; + + +TEST( str01, PreciseDecimalTest ) +{ + const short numIntDigits = 4; + const short numDecDeigits = 3; + const DecimalType value = 8769.5; + const std::string expected = "8769.5"; + PreciseDecimal d{ numIntDigits, numDecDeigits, value }; + const auto actual = d.toString(); + CHECK_EQUAL( expected, actual ); +} +T_END; + + +TEST( str02, PreciseDecimalTest ) +{ + const short numIntDigits = 4; + const short numDecDeigits = 3; + const DecimalType value = 1234.99999; + const std::string expected = "1235"; + PreciseDecimal d{ numIntDigits, numDecDeigits, value }; + const auto actual = d.toString(); + CHECK_EQUAL( expected, actual ); +} +T_END; + + +TEST( str03, PreciseDecimalTest ) +{ + const short numIntDigits = 4; + const short numDecDeigits = 10; + const DecimalType value = -0.0000000001; + const std::string expected = "-0.0000000001"; + PreciseDecimal d{ numIntDigits, numDecDeigits, value }; + const auto actual = d.toString(); + CHECK_EQUAL( expected, actual ); +} +T_END; + + +#endif diff --git a/Sourcecode/mx/impl/MxVersionDefines.h b/Sourcecode/mx/impl/MxVersionDefines.h index 48aafb976..1800e25b6 100644 --- a/Sourcecode/mx/impl/MxVersionDefines.h +++ b/Sourcecode/mx/impl/MxVersionDefines.h @@ -1,4 +1,4 @@ #define MX_VERSION_MAJOR 0 #define MX_VERSION_MINOR 2 #define MX_VERSION_PATCH 0 -#define MX_VERSION_BUILD 14 +#define MX_VERSION_BUILD 16 diff --git a/Sourcecode/mxtest/control/CompileControl.h b/Sourcecode/mxtest/control/CompileControl.h index 12a48d90d..d483126ed 100755 --- a/Sourcecode/mxtest/control/CompileControl.h +++ b/Sourcecode/mxtest/control/CompileControl.h @@ -5,13 +5,14 @@ #pragma once #define MX_COMPILE_API_TESTS #define MX_COMPILE_API_ROUNDTRIP -//#define MX_COMPILE_CORE_TESTS +#define MX_COMPILE_CORE_TESTS #define MX_COMPILE_IMPL_TESTS #define MX_COMPILE_IMPORT_TESTS +#define MX_COMPILE_NEW_DECIMAL_TESTS #define MX_COMPILE_UTILTIY_TESTS #define MX_COMPILE_XML_TESTS // use this to restrict the size of the files that // the test run will open (compile-time constant). // 0 indicates no limit -constexpr const int MX_COMPILE_MAX_FILE_SIZE_BYTES = (1 * 1024); +constexpr const int MX_COMPILE_MAX_FILE_SIZE_BYTES = (10000 * 1024); diff --git a/Sourcecode/mxtest/core/DecimalsTest.cpp b/Sourcecode/mxtest/core/DecimalsTest.cpp index f9a66e2d2..375f9c282 100755 --- a/Sourcecode/mxtest/core/DecimalsTest.cpp +++ b/Sourcecode/mxtest/core/DecimalsTest.cpp @@ -171,7 +171,7 @@ TEST( PositiveDecimal02, Decimals ) TEST( PositiveDecimal02b, Decimals ) { PositiveDecimal d( -123456789012.123456789012 ); - DecimalType expected = kNonZeroAmount; + DecimalType expected = NON_ZERO_AMOUNT; DecimalType actual = d.getValue(); CHECK_DOUBLES_EQUAL( expected, actual, kThreshold ) } @@ -206,7 +206,7 @@ TEST( PositiveDecimal05, Decimals ) PositiveDecimal d( 1.234 ); d.setValue( 0.00000384 ); d.parse( "-0.3164978546312" ); - DecimalType expected = kNonZeroAmount; + DecimalType expected = NON_ZERO_AMOUNT; DecimalType actual = d.getValue(); CHECK_DOUBLES_EQUAL( expected, actual, kThreshold ) } @@ -516,7 +516,7 @@ TEST( PositiveDivisionsValue02, Decimals ) TEST( PositiveDivisionsValue02b, Decimals ) { PositiveDivisionsValue d( -123456789012.123456789012 ); - DecimalType expected = kNonZeroAmount; + DecimalType expected = NON_ZERO_AMOUNT; DecimalType actual = d.getValue(); CHECK_DOUBLES_EQUAL( expected, actual, kThreshold ) } @@ -551,7 +551,7 @@ TEST( PositiveDivisionsValue05, Decimals ) PositiveDivisionsValue d( 1.234 ); d.setValue( 0.00000384 ); d.parse( "-0.3164978546312" ); - DecimalType expected = kNonZeroAmount; + DecimalType expected = NON_ZERO_AMOUNT; DecimalType actual = d.getValue(); CHECK_DOUBLES_EQUAL( expected, actual, kThreshold ) } diff --git a/Sourcecode/mxtest/core/FontSizeTest.cpp b/Sourcecode/mxtest/core/FontSizeTest.cpp index 7d9010661..2df24fcf5 100755 --- a/Sourcecode/mxtest/core/FontSizeTest.cpp +++ b/Sourcecode/mxtest/core/FontSizeTest.cpp @@ -54,7 +54,7 @@ TEST( FontSize05, FontSize ) CHECK( x.getIsNumber() ) DecimalType expected = 24; DecimalType actual = x.getValueNumber().getValue(); - CHECK_DOUBLES_EQUAL( expected, actual, kDefaultPrecision ) + CHECK_DOUBLES_EQUAL( expected, actual, DEFAULT_PRECISION ) } TEST( FontSize06, FontSize ) { diff --git a/Sourcecode/mxtest/core/NumberOrNormal.cpp b/Sourcecode/mxtest/core/NumberOrNormal.cpp index eac43b27f..74c2fc8ec 100755 --- a/Sourcecode/mxtest/core/NumberOrNormal.cpp +++ b/Sourcecode/mxtest/core/NumberOrNormal.cpp @@ -54,7 +54,7 @@ TEST( NumberOrNormal05, NumberOrNormal ) CHECK( x.getIsNumber() ) DecimalType expected = 24; DecimalType actual = x.getValueNumber().getValue(); - CHECK_DOUBLES_EQUAL( expected, actual, kDefaultPrecision ) + CHECK_DOUBLES_EQUAL( expected, actual, DEFAULT_PRECISION ) } TEST( NumberOrNormal06, NumberOrNormal ) { diff --git a/Sourcecode/mxtest/core/YesNoNumberTest.cpp b/Sourcecode/mxtest/core/YesNoNumberTest.cpp index 9fa7d6cbe..5fc9319f8 100755 --- a/Sourcecode/mxtest/core/YesNoNumberTest.cpp +++ b/Sourcecode/mxtest/core/YesNoNumberTest.cpp @@ -54,7 +54,7 @@ TEST( YesNoNumber05, YesNoNumber ) CHECK( x.getIsNumber() ) DecimalType expected = 24; DecimalType actual = x.getValueNumber().getValue(); - CHECK_DOUBLES_EQUAL( expected, actual, kDefaultPrecision ) + CHECK_DOUBLES_EQUAL( expected, actual, DEFAULT_PRECISION ) } TEST( YesNoNumber06, YesNoNumber ) { diff --git a/Xcode/Mx.xcodeproj/project.pbxproj b/Xcode/Mx.xcodeproj/project.pbxproj index 2fcb56527..22c1babd8 100755 --- a/Xcode/Mx.xcodeproj/project.pbxproj +++ b/Xcode/Mx.xcodeproj/project.pbxproj @@ -1289,6 +1289,16 @@ 29766AE01DAC39EF00CCE2AC /* KeyData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29766ADF1DAC39EF00CCE2AC /* KeyData.h */; }; 29979D671DC830AA00707AA4 /* DynamicsWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29979D651DC830AA00707AA4 /* DynamicsWriter.cpp */; }; 29979D681DC830AA00707AA4 /* DynamicsWriter.h in Headers */ = {isa = PBXBuildFile; fileRef = 29979D661DC830AA00707AA4 /* DynamicsWriter.h */; }; + 29A16F841EB10CDB00D59278 /* PreciseDecimal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A16F821EB10CDB00D59278 /* PreciseDecimal.cpp */; }; + 29A16F851EB10CDB00D59278 /* PreciseDecimal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A16F821EB10CDB00D59278 /* PreciseDecimal.cpp */; }; + 29A16F861EB10CDB00D59278 /* PreciseDecimal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A16F821EB10CDB00D59278 /* PreciseDecimal.cpp */; }; + 29A16F871EB10CDB00D59278 /* PreciseDecimal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A16F821EB10CDB00D59278 /* PreciseDecimal.cpp */; }; + 29A16F881EB10CDB00D59278 /* PreciseDecimal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A16F821EB10CDB00D59278 /* PreciseDecimal.cpp */; }; + 29A16F891EB10CDB00D59278 /* PreciseDecimal.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A16F831EB10CDB00D59278 /* PreciseDecimal.h */; }; + 29A16F8A1EB10CDB00D59278 /* PreciseDecimal.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A16F831EB10CDB00D59278 /* PreciseDecimal.h */; }; + 29A16F8B1EB10CDB00D59278 /* PreciseDecimal.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A16F831EB10CDB00D59278 /* PreciseDecimal.h */; }; + 29A16F8C1EB10CDB00D59278 /* PreciseDecimal.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A16F831EB10CDB00D59278 /* PreciseDecimal.h */; }; + 29A16F8D1EB10CDB00D59278 /* PreciseDecimal.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A16F831EB10CDB00D59278 /* PreciseDecimal.h */; }; 29B48EE51DBEC9950030A974 /* BarlineData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29B48EE41DBEC9950030A974 /* BarlineData.h */; }; 29B4E81C1DA9CA0E005DC6D1 /* TupletData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29B4E81B1DA9CA0E005DC6D1 /* TupletData.h */; }; 29B4E8211DA9CD5D005DC6D1 /* TupletReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29B4E81F1DA9CD5D005DC6D1 /* TupletReader.cpp */; }; @@ -4591,6 +4601,8 @@ 29979D661DC830AA00707AA4 /* DynamicsWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DynamicsWriter.h; path = ../Sourcecode/mx/impl/DynamicsWriter.h; sourceTree = ""; }; 299A2BB01D7FA48A006A7F5C /* PartGroupData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PartGroupData.h; path = ../Sourcecode/mx/api/PartGroupData.h; sourceTree = ""; }; 299F7FE61CA8D2200084CAE5 /* libMx.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMx.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 29A16F821EB10CDB00D59278 /* PreciseDecimal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PreciseDecimal.cpp; path = ../Sourcecode/mx/core/PreciseDecimal.cpp; sourceTree = ""; }; + 29A16F831EB10CDB00D59278 /* PreciseDecimal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PreciseDecimal.h; path = ../Sourcecode/mx/core/PreciseDecimal.h; sourceTree = ""; }; 29ADB30D1D729E1900683BEC /* EncodingData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EncodingData.h; path = ../Sourcecode/mx/api/EncodingData.h; sourceTree = ""; }; 29ADB30E1D729E1900683BEC /* PartData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PartData.h; path = ../Sourcecode/mx/api/PartData.h; sourceTree = ""; }; 29ADB3111D729FB700683BEC /* LayoutData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LayoutData.h; path = ../Sourcecode/mx/api/LayoutData.h; sourceTree = ""; }; @@ -4794,6 +4806,8 @@ 29C01AFF1D130B690094BE61 /* NumberOrNormal.h */, 29C01B001D130B690094BE61 /* PositiveIntegerOrEmpty.cpp */, 29C01B011D130B690094BE61 /* PositiveIntegerOrEmpty.h */, + 29A16F821EB10CDB00D59278 /* PreciseDecimal.cpp */, + 29A16F831EB10CDB00D59278 /* PreciseDecimal.h */, 2951A0C31D60F3B700B49A13 /* ScoreConversions.cpp */, 2951A0C41D60F3B700B49A13 /* ScoreConversions.h */, 29C01B021D130B690094BE61 /* Strings.cpp */, @@ -6251,6 +6265,7 @@ buildActionMask = 2147483647; files = ( 292C3AE11E8B13FD001A0CB9 /* WordsData.h in Headers */, + 29A16F8A1EB10CDB00D59278 /* PreciseDecimal.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -6276,6 +6291,7 @@ 29B4E81C1DA9CA0E005DC6D1 /* TupletData.h in Headers */, 29CD722D1DB82C9200FB7153 /* DirectionWriter.h in Headers */, 29979D681DC830AA00707AA4 /* DynamicsWriter.h in Headers */, + 29A16F891EB10CDB00D59278 /* PreciseDecimal.h in Headers */, 29C29B8B1DAEC00C00D3A884 /* ScoreWriter.h in Headers */, 29CDDA2E1DADCAF30022B1A3 /* PartWriter.h in Headers */, 29B7C46A1DAFFDBA009D7D8F /* MeasureWriter.h in Headers */, @@ -6290,6 +6306,7 @@ buildActionMask = 2147483647; files = ( 292C3AE31E8B13FD001A0CB9 /* WordsData.h in Headers */, + 29A16F8C1EB10CDB00D59278 /* PreciseDecimal.h in Headers */, 29B962851E79FF410072071D /* MxiOS.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; @@ -6299,6 +6316,7 @@ buildActionMask = 2147483647; files = ( 292C3AE41E8B13FD001A0CB9 /* WordsData.h in Headers */, + 29A16F8D1EB10CDB00D59278 /* PreciseDecimal.h in Headers */, 29B9652D1E7A04140072071D /* MxmacOS.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; @@ -6308,6 +6326,7 @@ buildActionMask = 2147483647; files = ( 292C3AE21E8B13FD001A0CB9 /* WordsData.h in Headers */, + 29A16F8B1EB10CDB00D59278 /* PreciseDecimal.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -6701,6 +6720,7 @@ 293FFFBF1DD25CF1001477E8 /* HammerOnAttributes.cpp in Sources */, 293FFFC01DD25CF1001477E8 /* Handbell.cpp in Sources */, 293FFFC11DD25CF1001477E8 /* HandbellAttributes.cpp in Sources */, + 29A16F851EB10CDB00D59278 /* PreciseDecimal.cpp in Sources */, 293FFFC21DD25CF1001477E8 /* Harmonic.cpp in Sources */, 293FFFC31DD25CF1001477E8 /* HarmonicAttributes.cpp in Sources */, 293FFFC41DD25CF1001477E8 /* HarmonicInfoChoice.cpp in Sources */, @@ -7366,6 +7386,7 @@ 294548D61D295C5500B90302 /* Falloff.cpp in Sources */, 2945489D1D295C5500B90302 /* DegreeTypeAttributes.cpp in Sources */, 294549ED1D295C5500B90302 /* Root.cpp in Sources */, + 29A16F841EB10CDB00D59278 /* PreciseDecimal.cpp in Sources */, 294548C01D295C5500B90302 /* Elevation.cpp in Sources */, 29454A541D295C5500B90302 /* Toe.cpp in Sources */, 294548B21D295C5500B90302 /* DistanceAttributes.cpp in Sources */, @@ -8031,6 +8052,7 @@ 29B9636B1E79FF640072071D /* HammerOnAttributes.cpp in Sources */, 29B9636C1E79FF640072071D /* Handbell.cpp in Sources */, 29B9636D1E79FF640072071D /* HandbellAttributes.cpp in Sources */, + 29A16F871EB10CDB00D59278 /* PreciseDecimal.cpp in Sources */, 29B9636E1E79FF640072071D /* Harmonic.cpp in Sources */, 29B9636F1E79FF640072071D /* HarmonicAttributes.cpp in Sources */, 29B963701E79FF640072071D /* HarmonicInfoChoice.cpp in Sources */, @@ -8696,6 +8718,7 @@ 29B966131E7A043D0072071D /* HammerOnAttributes.cpp in Sources */, 29B966141E7A043D0072071D /* Handbell.cpp in Sources */, 29B966151E7A043D0072071D /* HandbellAttributes.cpp in Sources */, + 29A16F881EB10CDB00D59278 /* PreciseDecimal.cpp in Sources */, 29B966161E7A043D0072071D /* Harmonic.cpp in Sources */, 29B966171E7A043D0072071D /* HarmonicAttributes.cpp in Sources */, 29B966181E7A043D0072071D /* HarmonicInfoChoice.cpp in Sources */, @@ -9361,6 +9384,7 @@ 29E8C0781DD2920C00E8CEBA /* HammerOnAttributes.cpp in Sources */, 29E8C0791DD2920C00E8CEBA /* Handbell.cpp in Sources */, 29E8C07A1DD2920C00E8CEBA /* HandbellAttributes.cpp in Sources */, + 29A16F861EB10CDB00D59278 /* PreciseDecimal.cpp in Sources */, 29E8C07B1DD2920C00E8CEBA /* Harmonic.cpp in Sources */, 29E8C07C1DD2920C00E8CEBA /* HarmonicAttributes.cpp in Sources */, 29E8C07D1DD2920C00E8CEBA /* HarmonicInfoChoice.cpp in Sources */, diff --git a/Xcode/MxTest.xcodeproj/project.pbxproj b/Xcode/MxTest.xcodeproj/project.pbxproj index 1ff1a22e2..b6cd3ac5b 100755 --- a/Xcode/MxTest.xcodeproj/project.pbxproj +++ b/Xcode/MxTest.xcodeproj/project.pbxproj @@ -44,6 +44,7 @@ 297556091D135AA3007732D0 /* UtilityTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 297556071D135AA3007732D0 /* UtilityTest.cpp */; }; 297DD7C91D1A4BD1003BADC1 /* ImportTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 297DD7C81D1A4BD1003BADC1 /* ImportTest.cpp */; }; 298F0F4D1D1E4981005C3D9D /* ImportTestImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 298F0F4B1D1E4981005C3D9D /* ImportTestImpl.cpp */; }; + 29A16F8F1EB11B4400D59278 /* PreciseDecimalTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A16F8E1EB11B4400D59278 /* PreciseDecimalTest.cpp */; }; 29B48EDB1DBE7F550030A974 /* MeasureWriterTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29B48ED71DBE7F550030A974 /* MeasureWriterTest.cpp */; }; 29B48EDC1DBE7F550030A974 /* NoteWriterTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29B48ED81DBE7F550030A974 /* NoteWriterTest.cpp */; }; 29B48EDD1DBE7F550030A974 /* PartWriterTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29B48ED91DBE7F550030A974 /* PartWriterTest.cpp */; }; @@ -532,6 +533,7 @@ 298F0F4C1D1E4981005C3D9D /* ImportTestImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ImportTestImpl.h; path = ../Sourcecode/mxtest/import/ImportTestImpl.h; sourceTree = ""; }; 29979D611DC811F300707AA4 /* TimeSignatureApiTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TimeSignatureApiTest.cpp; path = ../Sourcecode/mxtest/api/TimeSignatureApiTest.cpp; sourceTree = ""; }; 299F7FF61CA8D2620084CAE5 /* MxTest */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = MxTest; sourceTree = BUILT_PRODUCTS_DIR; }; + 29A16F8E1EB11B4400D59278 /* PreciseDecimalTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PreciseDecimalTest.cpp; path = ../Sourcecode/mx/core/elements/PreciseDecimalTest.cpp; sourceTree = ""; }; 29A3387F1E652432001D61DD /* BombeTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BombeTest.cpp; path = ../Sourcecode/mxtest/api/BombeTest.cpp; sourceTree = ""; }; 29AD58B71E3D1000004FD94E /* MetronomeApiTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MetronomeApiTest.cpp; path = ../Sourcecode/mxtest/api/MetronomeApiTest.cpp; sourceTree = ""; }; 29B48ED71DBE7F550030A974 /* MeasureWriterTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MeasureWriterTest.cpp; path = ../Sourcecode/mxtest/impl/MeasureWriterTest.cpp; sourceTree = ""; }; @@ -1505,6 +1507,7 @@ 29C01CCD1D1312F90094BE61 /* PluckTest.cpp */, 29C01CCE1D1312F90094BE61 /* PositiveIntegerOrEmptyTest.cpp */, 29C01CCF1D1312F90094BE61 /* PreBendTest.cpp */, + 29A16F8E1EB11B4400D59278 /* PreciseDecimalTest.cpp */, 29C01CD01D1312F90094BE61 /* PrefixTest.cpp */, 29C01CD11D1312F90094BE61 /* PrincipalVoiceTest.cpp */, 29C01CD21D1312F90094BE61 /* PrintTest.cpp */, @@ -2236,6 +2239,7 @@ 29C01E141D1312FA0094BE61 /* InstrumentsTest.cpp in Sources */, 29C01D6D1D1312FA0094BE61 /* AccidentalMarkTest.cpp in Sources */, 29C01DE61D1312FA0094BE61 /* FingernailsTest.cpp in Sources */, + 29A16F8F1EB11B4400D59278 /* PreciseDecimalTest.cpp in Sources */, 29C01D6C1D1312FA0094BE61 /* AccentTest.cpp in Sources */, 29C01D9C1D1312FA0094BE61 /* CodaTest.cpp in Sources */, 29C01EC41D1312FA0094BE61 /* StickTypeTest.cpp in Sources */, From c5ae5fa0c044d725c76d25d155e5d1b6b5dd7155 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Fri, 28 Apr 2017 19:44:12 -0700 Subject: [PATCH 039/108] mxapi score data and tests --- Sourcecode/mx/api/ScoreData.cpp | 74 +++++++++++++++++++++++++ Sourcecode/mx/api/ScoreData.h | 64 +++------------------ Sourcecode/mxtest/core/DecimalsTest.cpp | 2 +- Xcode/Mx.xcodeproj/project.pbxproj | 12 ++++ 4 files changed, 95 insertions(+), 57 deletions(-) create mode 100644 Sourcecode/mx/api/ScoreData.cpp diff --git a/Sourcecode/mx/api/ScoreData.cpp b/Sourcecode/mx/api/ScoreData.cpp new file mode 100644 index 000000000..116d1ffd3 --- /dev/null +++ b/Sourcecode/mx/api/ScoreData.cpp @@ -0,0 +1,74 @@ +// MusicXML Class Library +// Copyright (c) by Matthew James Briggs +// Distributed under the MIT License + +#include "mx/api/ScoreData.h" + +#include +#include + +namespace mx +{ + namespace api + { + + ScoreData::ScoreData() + : musicXmlType{ "partwise" } + , workTitle{} + , workNumber{} + , movementTitle{} + , movementNumber{} + , composer{} + , lyricist{} + , copyright{} + , encoding{} + , pageTextItems{} + , layout{} + , parts{} + , partGroups{} + , ticksPerQuarter{ DEFAULT_TICKS_PER_QUARTER } + { + + } + + int ScoreData::getNumMeasures() const + { + int numMeasures = 0; + + for( const auto& part : parts ) + { + int temp = static_cast( part.measures.size() ); + if( temp > numMeasures ) + { + numMeasures = temp; + } + } + + return numMeasures; + } + + + int ScoreData::getNumStavesPerSystem() const + { + int numStaves = 0; + + for( const auto& p : parts ) + { + numStaves += p.getNumStaves(); + } + + return numStaves; + } + + std::vector::iterator findPart( std::vector& inParts, const std::string& inPartId ) + { + auto predicate = [&inPartId] ( const PartData& partData ) + { + return inPartId == partData.uniqueId; + }; + + auto it = std::find_if( inParts.begin(), inParts.end(), predicate ); + return it; + } + } +} diff --git a/Sourcecode/mx/api/ScoreData.h b/Sourcecode/mx/api/ScoreData.h index 6107b9749..4b89e2c13 100755 --- a/Sourcecode/mx/api/ScoreData.h +++ b/Sourcecode/mx/api/ScoreData.h @@ -22,6 +22,8 @@ namespace mx class ScoreData { public: + ScoreData(); + std::string musicXmlType; std::string workTitle; std::string workNumber; @@ -39,66 +41,16 @@ namespace mx std::vector partGroups; int ticksPerQuarter; std::set systems; - - ScoreData() - : musicXmlType{ "partwise" } - , workTitle{} - , workNumber{} - , movementTitle{} - , movementNumber{} - , composer{} - , lyricist{} - , copyright{} - , encoding{} - , pageTextItems{} - , layout{} - , parts{} - , partGroups{} - , ticksPerQuarter{ DEFAULT_TICKS_PER_QUARTER } - { - - } - - inline int getNumMeasures() const - { - int numMeasures = 0; - - for( const auto& part : parts ) - { - int temp = static_cast( part.measures.size() ); - if( temp > numMeasures ) - { - numMeasures = temp; - } - } - return numMeasures; - } + int getNumMeasures() const; + int getNumStavesPerSystem() const; - - inline int getNumStavesPerSystem() const - { - int numStaves = 0; - - for( const auto& p : parts ) - { - numStaves += p.getNumStaves(); - } - - return numStaves; - } + /// sorts all of the events, directions, etc. + /// it is good to call this before writing to xml. + void sort(); }; - inline std::vector::iterator findPart( std::vector& inParts, const std::string& inPartId ) - { - auto predicate = [&inPartId] ( const PartData& partData ) - { - return inPartId == partData.uniqueId; - }; - - auto it = std::find_if( inParts.begin(), inParts.end(), predicate ); - return it; - } + std::vector::iterator findPart( std::vector& inParts, const std::string& inPartId ); MXAPI_EQUALS_BEGIN( ScoreData ) MXAPI_EQUALS_MEMBER( musicXmlType ) diff --git a/Sourcecode/mxtest/core/DecimalsTest.cpp b/Sourcecode/mxtest/core/DecimalsTest.cpp index 375f9c282..2b4e94e32 100755 --- a/Sourcecode/mxtest/core/DecimalsTest.cpp +++ b/Sourcecode/mxtest/core/DecimalsTest.cpp @@ -10,7 +10,7 @@ using namespace mx::core; -DecimalType kThreshold = 0.0000000000001; +DecimalType kThreshold = 0.00001; // using DecimalType = double; TEST( DecimalType, Decimals ) diff --git a/Xcode/Mx.xcodeproj/project.pbxproj b/Xcode/Mx.xcodeproj/project.pbxproj index 22c1babd8..e1c8ac43c 100755 --- a/Xcode/Mx.xcodeproj/project.pbxproj +++ b/Xcode/Mx.xcodeproj/project.pbxproj @@ -1287,6 +1287,11 @@ 29766ACB1DAC149900CCE2AC /* DirectionReader.h in Headers */ = {isa = PBXBuildFile; fileRef = 29766AC91DAC149900CCE2AC /* DirectionReader.h */; }; 29766ACC1DAC149900CCE2AC /* DirectionReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29766ACA1DAC149900CCE2AC /* DirectionReader.cpp */; }; 29766AE01DAC39EF00CCE2AC /* KeyData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29766ADF1DAC39EF00CCE2AC /* KeyData.h */; }; + 2983E3E01EB4303C007FCC34 /* ScoreData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2983E3DF1EB4303C007FCC34 /* ScoreData.cpp */; }; + 2983E3E11EB4303C007FCC34 /* ScoreData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2983E3DF1EB4303C007FCC34 /* ScoreData.cpp */; }; + 2983E3E21EB4303C007FCC34 /* ScoreData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2983E3DF1EB4303C007FCC34 /* ScoreData.cpp */; }; + 2983E3E31EB4303C007FCC34 /* ScoreData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2983E3DF1EB4303C007FCC34 /* ScoreData.cpp */; }; + 2983E3E41EB4303C007FCC34 /* ScoreData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2983E3DF1EB4303C007FCC34 /* ScoreData.cpp */; }; 29979D671DC830AA00707AA4 /* DynamicsWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29979D651DC830AA00707AA4 /* DynamicsWriter.cpp */; }; 29979D681DC830AA00707AA4 /* DynamicsWriter.h in Headers */ = {isa = PBXBuildFile; fileRef = 29979D661DC830AA00707AA4 /* DynamicsWriter.h */; }; 29A16F841EB10CDB00D59278 /* PreciseDecimal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A16F821EB10CDB00D59278 /* PreciseDecimal.cpp */; }; @@ -4597,6 +4602,7 @@ 29766ADF1DAC39EF00CCE2AC /* KeyData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = KeyData.h; path = ../Sourcecode/mx/api/KeyData.h; sourceTree = ""; }; 297DA0721D7F60BE0067C13A /* StaffFunctions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StaffFunctions.cpp; path = ../Sourcecode/mx/impl/StaffFunctions.cpp; sourceTree = ""; }; 297DA0731D7F60BE0067C13A /* StaffFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StaffFunctions.h; path = ../Sourcecode/mx/impl/StaffFunctions.h; sourceTree = ""; }; + 2983E3DF1EB4303C007FCC34 /* ScoreData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScoreData.cpp; path = ../Sourcecode/mx/api/ScoreData.cpp; sourceTree = ""; }; 29979D651DC830AA00707AA4 /* DynamicsWriter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DynamicsWriter.cpp; path = ../Sourcecode/mx/impl/DynamicsWriter.cpp; sourceTree = ""; }; 29979D661DC830AA00707AA4 /* DynamicsWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DynamicsWriter.h; path = ../Sourcecode/mx/impl/DynamicsWriter.h; sourceTree = ""; }; 299A2BB01D7FA48A006A7F5C /* PartGroupData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PartGroupData.h; path = ../Sourcecode/mx/api/PartGroupData.h; sourceTree = ""; }; @@ -6239,6 +6245,7 @@ 29E9C5611DA49F2D0040183B /* PitchData.h */, 29ADB3141D736A2B00683BEC /* PositionData.h */, 29C51A521D9F18C600EAA308 /* PrintData.h */, + 2983E3DF1EB4303C007FCC34 /* ScoreData.cpp */, 29EF440C1D6E70D300DBDAB9 /* ScoreData.h */, 29C51A1D1D9ED91000EAA308 /* Smufl.cpp */, 29C51A1C1D9ED3A200EAA308 /* Smufl.h */, @@ -6735,6 +6742,7 @@ 293FFFCD1DD25CF1001477E8 /* Hole.cpp in Sources */, 293FFFCE1DD25CF1001477E8 /* HoleAttributes.cpp in Sources */, 293FFFCF1DD25CF1001477E8 /* HoleClosed.cpp in Sources */, + 2983E3E11EB4303C007FCC34 /* ScoreData.cpp in Sources */, 293FFFD01DD25CF1001477E8 /* HoleClosedAttributes.cpp in Sources */, 293FFFD11DD25CF1001477E8 /* HoleShape.cpp in Sources */, 293FFFD21DD25CF1001477E8 /* HoleType.cpp in Sources */, @@ -7401,6 +7409,7 @@ 294549AA1D295C5500B90302 /* OtherPlayAttributes.cpp in Sources */, 29454A4D1D295C5500B90302 /* TimeModification.cpp in Sources */, 294549F51D295C5500B90302 /* Scordatura.cpp in Sources */, + 2983E3E01EB4303C007FCC34 /* ScoreData.cpp in Sources */, 294549651D295C5500B90302 /* MidiBank.cpp in Sources */, 2945497C1D295C5500B90302 /* MusicFont.cpp in Sources */, 29C01B101D130B690094BE61 /* DocumentHeader.cpp in Sources */, @@ -8067,6 +8076,7 @@ 29B963791E79FF640072071D /* Hole.cpp in Sources */, 29B9637A1E79FF640072071D /* HoleAttributes.cpp in Sources */, 29B9637B1E79FF640072071D /* HoleClosed.cpp in Sources */, + 2983E3E31EB4303C007FCC34 /* ScoreData.cpp in Sources */, 29B9637C1E79FF640072071D /* HoleClosedAttributes.cpp in Sources */, 29B9637D1E79FF640072071D /* HoleShape.cpp in Sources */, 29B9637E1E79FF640072071D /* HoleType.cpp in Sources */, @@ -8733,6 +8743,7 @@ 29B966211E7A043D0072071D /* Hole.cpp in Sources */, 29B966221E7A043D0072071D /* HoleAttributes.cpp in Sources */, 29B966231E7A043D0072071D /* HoleClosed.cpp in Sources */, + 2983E3E41EB4303C007FCC34 /* ScoreData.cpp in Sources */, 29B966241E7A043D0072071D /* HoleClosedAttributes.cpp in Sources */, 29B966251E7A043D0072071D /* HoleShape.cpp in Sources */, 29B966261E7A043D0072071D /* HoleType.cpp in Sources */, @@ -9399,6 +9410,7 @@ 29E8C0861DD2920C00E8CEBA /* Hole.cpp in Sources */, 29E8C0871DD2920C00E8CEBA /* HoleAttributes.cpp in Sources */, 29E8C0881DD2920C00E8CEBA /* HoleClosed.cpp in Sources */, + 2983E3E21EB4303C007FCC34 /* ScoreData.cpp in Sources */, 29E8C0891DD2920C00E8CEBA /* HoleClosedAttributes.cpp in Sources */, 29E8C08A1DD2920C00E8CEBA /* HoleShape.cpp in Sources */, 29E8C08B1DD2920C00E8CEBA /* HoleType.cpp in Sources */, From 53fa0e55740a6eaea54088010a96ee68c121e017 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Fri, 28 Apr 2017 19:52:10 -0700 Subject: [PATCH 040/108] mxapi tests --- Sourcecode/mxtest/core/DecimalsTest.cpp | 20 ++++++++++---------- Sourcecode/mxtest/core/DistanceTest.cpp | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/Sourcecode/mxtest/core/DecimalsTest.cpp b/Sourcecode/mxtest/core/DecimalsTest.cpp index 2b4e94e32..2135ebe4c 100755 --- a/Sourcecode/mxtest/core/DecimalsTest.cpp +++ b/Sourcecode/mxtest/core/DecimalsTest.cpp @@ -53,7 +53,7 @@ TEST( Decimal04, Decimals ) { Decimal d( 1.234 ); d.setValue( 0.00000384109 ); - std::string expected = "0.00000384109"; + std::string expected = "0.000004"; std::string actual = toString( d, 11 ); CHECK_EQUAL( expected, actual ) @@ -120,7 +120,7 @@ TEST( DecimalRange04, Decimals ) { DecimalRange d( -1, 1, 1.234 ); d.setValue( 0.00000384109 ); - std::string expected = "0.00000384109"; + std::string expected = "0.000004"; std::string actual = toString( d, 11 ); CHECK_EQUAL( expected, actual ) @@ -187,7 +187,7 @@ TEST( PositiveDecimal04, Decimals ) { PositiveDecimal d( 1.234 ); d.setValue( 0.00000384109 ); - std::string expected = "0.00000384109"; + std::string expected = "0.000004"; std::string actual = toString( d, 11 ); CHECK_EQUAL( expected, actual ) @@ -254,7 +254,7 @@ TEST( NonNegativeDecimal04, Decimals ) { NonNegativeDecimal d( 1.234 ); d.setValue( 0.00000384109 ); - std::string expected = "0.00000384109"; + std::string expected = "0.000004"; std::string actual = toString( d, 11 ); CHECK_EQUAL( expected, actual ) @@ -321,7 +321,7 @@ TEST( DivisionsValue04, Decimals ) { DivisionsValue d( 1.234 ); d.setValue( 0.00000384109 ); - std::string expected = "0.00000384109"; + std::string expected = "0.000004"; std::string actual = toString( d, 11 ); CHECK_EQUAL( expected, actual ) @@ -388,7 +388,7 @@ TEST( MillimetersValue04, Decimals ) { MillimetersValue d( 1.234 ); d.setValue( 0.00000384109 ); - std::string expected = "0.00000384109"; + std::string expected = "0.000004"; std::string actual = toString( d, 11 ); CHECK_EQUAL( expected, actual ) @@ -456,7 +456,7 @@ TEST( Percent04, Decimals ) { Percent d( 1.234 ); d.setValue( 0.00000384109 ); - std::string expected = "0.00000384109"; + std::string expected = "0.000004"; std::string actual = toString( d, 11 ); CHECK_EQUAL( expected, actual ) @@ -532,7 +532,7 @@ TEST( PositiveDivisionsValue04, Decimals ) { PositiveDivisionsValue d( 1.234 ); d.setValue( 0.00000384109 ); - std::string expected = "0.00000384109"; + std::string expected = "0.000004"; std::string actual = toString( d, 11 ); CHECK_EQUAL( expected, actual ) @@ -676,7 +676,7 @@ TEST( Semitones04, Decimals ) { Semitones d( 1.234 ); d.setValue( 0.00000384109 ); - std::string expected = "0.00000384109"; + std::string expected = "0.000004"; std::string actual = toString( d, 11 ); CHECK_EQUAL( expected, actual ) @@ -743,7 +743,7 @@ TEST( TenthsValue04, Decimals ) { TenthsValue d( 1.234 ); d.setValue( 0.00000384109 ); - std::string expected = "0.00000384109"; + std::string expected = "0.000004"; std::string actual = toString( d, 11 ); CHECK_EQUAL( expected, actual ) diff --git a/Sourcecode/mxtest/core/DistanceTest.cpp b/Sourcecode/mxtest/core/DistanceTest.cpp index 4490f2aa2..6987da079 100755 --- a/Sourcecode/mxtest/core/DistanceTest.cpp +++ b/Sourcecode/mxtest/core/DistanceTest.cpp @@ -30,7 +30,7 @@ TEST( Test01, Distance ) std::string expected = R"(0)"; std::string actual = default_constructed.str(); CHECK_EQUAL( expected, actual ) - expected = indentString+indentString+R"(9.735271627)"; + expected = indentString+indentString+R"(9.735272)"; actual = object2_stream.str(); CHECK_EQUAL( expected, actual ) value1 = object2.getValue(); From bfc39d06323ec4bc35f9c24ce6e2dca3bcf06932 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Fri, 28 Apr 2017 20:45:47 -0700 Subject: [PATCH 041/108] mxapi sort score data before writing --- Sourcecode/mx/api/ScoreData.cpp | 42 +++++++ Sourcecode/mx/impl/ScoreWriter.cpp | 2 +- Sourcecode/mx/impl/ScoreWriter.h | 2 +- Sourcecode/mxtest/api/DirectionDataTest.cpp | 119 ++++++++++++++++++++ Sourcecode/mxtest/api/TestHelpers.h | 23 ++++ Sourcecode/mxtest/control/CompileControl.h | 4 +- Xcode/MxTest.xcodeproj/project.pbxproj | 6 + 7 files changed, 194 insertions(+), 4 deletions(-) create mode 100644 Sourcecode/mxtest/api/DirectionDataTest.cpp create mode 100644 Sourcecode/mxtest/api/TestHelpers.h diff --git a/Sourcecode/mx/api/ScoreData.cpp b/Sourcecode/mx/api/ScoreData.cpp index 116d1ffd3..1561f6262 100644 --- a/Sourcecode/mx/api/ScoreData.cpp +++ b/Sourcecode/mx/api/ScoreData.cpp @@ -31,6 +31,8 @@ namespace mx } + + int ScoreData::getNumMeasures() const { int numMeasures = 0; @@ -48,6 +50,7 @@ namespace mx } + int ScoreData::getNumStavesPerSystem() const { int numStaves = 0; @@ -60,6 +63,45 @@ namespace mx return numStaves; } + + void ScoreData::sort() + { + for( auto& part : parts ) + { + for( auto& measure : part.measures ) + { + for ( auto& staff : measure.staves ) + { + + const auto clefCompare = [&]( ClefData& inLeft, ClefData& inRight ) + { + return inLeft.tickTimePosition < inRight.tickTimePosition; + }; + + std::sort( std::begin( staff.clefs ), std::end( staff.clefs ), clefCompare ); + + const auto directionCompare = [&]( DirectionData& inLeft, DirectionData& inRight ) + { + return inLeft.tickTimePosition < inRight.tickTimePosition; + }; + + std::sort( std::begin( staff.directions ), std::end( staff.directions ), directionCompare ); + + for ( auto& voice : staff.voices ) + { + const auto noteCompare = [&]( NoteData& inLeft, NoteData& inRight ) + { + return inLeft.tickTimePosition < inRight.tickTimePosition; + }; + + std::sort( std::begin( voice.second.notes ), std::end( voice.second.notes ), noteCompare ); + } + } + } + } + } + + std::vector::iterator findPart( std::vector& inParts, const std::string& inPartId ) { auto predicate = [&inPartId] ( const PartData& partData ) diff --git a/Sourcecode/mx/impl/ScoreWriter.cpp b/Sourcecode/mx/impl/ScoreWriter.cpp index 720dbbc88..70519bb92 100644 --- a/Sourcecode/mx/impl/ScoreWriter.cpp +++ b/Sourcecode/mx/impl/ScoreWriter.cpp @@ -43,7 +43,7 @@ namespace mx , myMutex{} , myOutScorePartwise{ nullptr } { - + myScoreData.sort(); } core::ScorePartwisePtr ScoreWriter::getScorePartwise() const diff --git a/Sourcecode/mx/impl/ScoreWriter.h b/Sourcecode/mx/impl/ScoreWriter.h index 4ae53883e..07b1d6b1e 100644 --- a/Sourcecode/mx/impl/ScoreWriter.h +++ b/Sourcecode/mx/impl/ScoreWriter.h @@ -38,7 +38,7 @@ namespace mx api::SystemData getSystemData( int measureIndex ) const; private: - const api::ScoreData& myScoreData; + api::ScoreData myScoreData; mutable std::mutex myMutex; mutable core::ScorePartwisePtr myOutScorePartwise; diff --git a/Sourcecode/mxtest/api/DirectionDataTest.cpp b/Sourcecode/mxtest/api/DirectionDataTest.cpp new file mode 100644 index 000000000..5d504dd2e --- /dev/null +++ b/Sourcecode/mxtest/api/DirectionDataTest.cpp @@ -0,0 +1,119 @@ +// MusicXML Class Library +// Copyright (c) by Matthew James Briggs +// Distributed under the MIT License + +#include "mxtest/control/CompileControl.h" +#ifdef MX_COMPILE_API_TESTS + +#include "cpul/cpulTestHarness.h" +#include "mx/api/DocumentManager.h" +#include "mx/api/ScoreData.h" +#include "mx/core/Document.h" +#include "mx/core/Document.h" +#include "mx/core/elements/Direction.h" +#include "mx/core/elements/DirectionType.h" +#include "mx/core/elements/FullNoteGroup.h" +#include "mx/core/elements/FullNoteTypeChoice.h" +#include "mx/core/elements/MusicDataChoice.h" +#include "mx/core/elements/MusicDataGroup.h" +#include "mx/core/elements/MusicDataGroup.h" +#include "mx/core/elements/NormalNoteGroup.h" +#include "mx/core/elements/Notations.h" +#include "mx/core/elements/NotationsChoice.h" +#include "mx/core/elements/Note.h" +#include "mx/core/elements/NoteChoice.h" +#include "mx/core/elements/Offset.h" +#include "mx/core/elements/PartwiseMeasure.h" +#include "mx/core/elements/PartwiseMeasure.h" +#include "mx/core/elements/PartwisePart.h" +#include "mx/core/elements/PartwisePart.h" +#include "mx/core/elements/Pedal.h" +#include "mx/core/elements/Pitch.h" +#include "mx/core/elements/ScorePartwise.h" +#include "mx/core/elements/ScorePartwise.h" +#include "mx/core/elements/Tied.h" +#include "mxtest/api/RoundTrip.h" +#include "mxtest/api/TestHelpers.h" + +using namespace std; +using namespace mx::api; +using namespace mxtest; + +TEST( OutOfOrderDoesntThrow, DirectionData ) +{ + ScoreData oscore; + oscore.ticksPerQuarter = 10; + oscore.parts.emplace_back(); + auto& opart = oscore.parts.back(); + opart.measures.emplace_back(); + auto& omeasure = opart.measures.back(); + omeasure.staves.emplace_back(); + auto& ostaff = omeasure.staves.back(); + auto& ovoice = ostaff.voices[0]; + NoteData onote{}; + + onote.tickTimePosition = 0; + onote.durationData.durationTimeTicks = 10; + onote.durationData.durationName = DurationName::quarter; + onote.durationData.durationName = DurationName::quarter; + ovoice.notes.push_back( onote ); + + onote.tickTimePosition = 10; + onote.durationData.durationTimeTicks = 10; + onote.durationData.durationName = DurationName::quarter; + onote.durationData.durationName = DurationName::quarter; + ovoice.notes.push_back( onote ); + + onote.tickTimePosition = 20; + onote.durationData.durationTimeTicks = 10; + onote.durationData.durationName = DurationName::quarter; + onote.durationData.durationName = DurationName::quarter; + ovoice.notes.push_back( onote ); + + onote.tickTimePosition = 30; + onote.durationData.durationTimeTicks = 10; + onote.durationData.durationName = DurationName::quarter; + onote.durationData.durationName = DurationName::quarter; + ovoice.notes.push_back( onote ); + + DirectionData directionData{}; + MarkData mark{ MarkType::f }; + + int tickTime = 10; + mark.tickTimePosition = tickTime; + directionData.tickTimePosition = tickTime; + directionData.marks.clear(); + directionData.marks.push_back( mark ); + ostaff.directions.push_back( directionData ); + + tickTime = 9; + mark.tickTimePosition = tickTime; + directionData.tickTimePosition = tickTime; + directionData.marks.clear(); + directionData.marks.push_back( mark ); + ostaff.directions.push_back( directionData ); + + tickTime = 8; + mark.tickTimePosition = tickTime; + directionData.tickTimePosition = tickTime; + directionData.marks.clear(); + directionData.marks.push_back( mark ); + ostaff.directions.push_back( directionData ); + + const auto rscore = mxtest::roundTrip( oscore ); + const auto& rpart = rscore.parts.back(); + const auto& rmeasure = rpart.measures.back(); + const auto& rstaff = rmeasure.staves.back(); + const auto& rdirections = rstaff.directions; + + CHECK_EQUAL( 3, rdirections.size() ); + auto rdirection = rdirections.cbegin(); + CHECK_EQUAL( 8, rdirection->tickTimePosition ); + ++rdirection; + CHECK_EQUAL( 9, rdirection->tickTimePosition ); + ++rdirection; + CHECK_EQUAL( 10, rdirection->tickTimePosition ); +} +T_END; + +#endif diff --git a/Sourcecode/mxtest/api/TestHelpers.h b/Sourcecode/mxtest/api/TestHelpers.h new file mode 100644 index 000000000..d7bbe5791 --- /dev/null +++ b/Sourcecode/mxtest/api/TestHelpers.h @@ -0,0 +1,23 @@ +// MusicXML Class Library +// Copyright (c) by Matthew James Briggs +// Distributed under the MIT License + +#pragma once + +#include "mx/api/DocumentManager.h" +#include + +namespace mxtest +{ + inline std::string toXml( const mx::api::ScoreData& inScoreData ) + { + using namespace mx::api; + auto& docMgr = DocumentManager::getInstance(); + const auto docId = docMgr.createFromScore( inScoreData ); + std::stringstream ss; + docMgr.writeToStream( docId, ss ); + docMgr.destroyDocument( docId ); + const auto xml = ss.str(); + return xml; + } +} diff --git a/Sourcecode/mxtest/control/CompileControl.h b/Sourcecode/mxtest/control/CompileControl.h index d483126ed..ded4d2a7e 100755 --- a/Sourcecode/mxtest/control/CompileControl.h +++ b/Sourcecode/mxtest/control/CompileControl.h @@ -5,7 +5,7 @@ #pragma once #define MX_COMPILE_API_TESTS #define MX_COMPILE_API_ROUNDTRIP -#define MX_COMPILE_CORE_TESTS +//#define MX_COMPILE_CORE_TESTS #define MX_COMPILE_IMPL_TESTS #define MX_COMPILE_IMPORT_TESTS #define MX_COMPILE_NEW_DECIMAL_TESTS @@ -15,4 +15,4 @@ // use this to restrict the size of the files that // the test run will open (compile-time constant). // 0 indicates no limit -constexpr const int MX_COMPILE_MAX_FILE_SIZE_BYTES = (10000 * 1024); +constexpr const int MX_COMPILE_MAX_FILE_SIZE_BYTES = (10 * 1024); diff --git a/Xcode/MxTest.xcodeproj/project.pbxproj b/Xcode/MxTest.xcodeproj/project.pbxproj index b6cd3ac5b..73e45cf1e 100755 --- a/Xcode/MxTest.xcodeproj/project.pbxproj +++ b/Xcode/MxTest.xcodeproj/project.pbxproj @@ -43,6 +43,7 @@ 297556081D135AA3007732D0 /* UtilityImplTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 297556061D135AA3007732D0 /* UtilityImplTest.cpp */; }; 297556091D135AA3007732D0 /* UtilityTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 297556071D135AA3007732D0 /* UtilityTest.cpp */; }; 297DD7C91D1A4BD1003BADC1 /* ImportTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 297DD7C81D1A4BD1003BADC1 /* ImportTest.cpp */; }; + 2983E3E61EB43878007FCC34 /* DirectionDataTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2983E3E51EB43878007FCC34 /* DirectionDataTest.cpp */; }; 298F0F4D1D1E4981005C3D9D /* ImportTestImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 298F0F4B1D1E4981005C3D9D /* ImportTestImpl.cpp */; }; 29A16F8F1EB11B4400D59278 /* PreciseDecimalTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A16F8E1EB11B4400D59278 /* PreciseDecimalTest.cpp */; }; 29B48EDB1DBE7F550030A974 /* MeasureWriterTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29B48ED71DBE7F550030A974 /* MeasureWriterTest.cpp */; }; @@ -529,6 +530,8 @@ 297556171D136AE0007732D0 /* CompileControl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CompileControl.h; path = ../Sourcecode/mxtest/control/CompileControl.h; sourceTree = ""; }; 297DD7C71D1A4BC1003BADC1 /* ExpectedFiles.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ExpectedFiles.h; path = ../Sourcecode/mxtest/import/ExpectedFiles.h; sourceTree = ""; }; 297DD7C81D1A4BD1003BADC1 /* ImportTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ImportTest.cpp; path = ../Sourcecode/mxtest/import/ImportTest.cpp; sourceTree = ""; }; + 2983E3E51EB43878007FCC34 /* DirectionDataTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DirectionDataTest.cpp; path = ../Sourcecode/mxtest/api/DirectionDataTest.cpp; sourceTree = ""; }; + 2983E3E71EB439F7007FCC34 /* TestHelpers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TestHelpers.h; path = ../Sourcecode/mxtest/api/TestHelpers.h; sourceTree = ""; }; 298F0F4B1D1E4981005C3D9D /* ImportTestImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ImportTestImpl.cpp; path = ../Sourcecode/mxtest/import/ImportTestImpl.cpp; sourceTree = ""; }; 298F0F4C1D1E4981005C3D9D /* ImportTestImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ImportTestImpl.h; path = ../Sourcecode/mxtest/import/ImportTestImpl.h; sourceTree = ""; }; 29979D611DC811F300707AA4 /* TimeSignatureApiTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TimeSignatureApiTest.cpp; path = ../Sourcecode/mxtest/api/TimeSignatureApiTest.cpp; sourceTree = ""; }; @@ -1819,11 +1822,13 @@ 29A3387F1E652432001D61DD /* BombeTest.cpp */, 29C9AFD81DC3BE6000DD9BFB /* ChordApiTest.cpp */, 29510AFC1E3113AA00EB76F0 /* ChordTimeTest.cpp */, + 2983E3E51EB43878007FCC34 /* DirectionDataTest.cpp */, 29EF440F1D6E8F5500DBDAB9 /* DocumentManagerTest.cpp */, 29AD58B71E3D1000004FD94E /* MetronomeApiTest.cpp */, 292D3FF31E57EBE4008AA032 /* NoteDataTest.cpp */, 29CD722E1DB8421100FB7153 /* RoundTrip.h */, 2903C9461DBC7D7600218C9E /* ScoreDataCreator.h */, + 2983E3E71EB439F7007FCC34 /* TestHelpers.h */, 29979D611DC811F300707AA4 /* TimeSignatureApiTest.cpp */, ); name = api; @@ -2045,6 +2050,7 @@ 29C01E7B1D1312FA0094BE61 /* PartwiseMeasureTest.cpp in Sources */, 29C01D871D1312FA0094BE61 /* BeaterTest.cpp in Sources */, 29C01E151D1312FA0094BE61 /* InstrumentTest.cpp in Sources */, + 2983E3E61EB43878007FCC34 /* DirectionDataTest.cpp in Sources */, 29C01D971D1312FA0094BE61 /* ChordTest.cpp in Sources */, 29C01ED51D1312FA0094BE61 /* TechnicalTest.cpp in Sources */, 29C01E9D1D1312FA0094BE61 /* ScordaturaTest.cpp in Sources */, From 8e29bca655f03d3813f7ba0dbff89a660279f0b6 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Fri, 28 Apr 2017 20:53:12 -0700 Subject: [PATCH 042/108] mx-version-0.2.0.17 --- Sourcecode/mx/impl/MxVersionDefines.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sourcecode/mx/impl/MxVersionDefines.h b/Sourcecode/mx/impl/MxVersionDefines.h index 1800e25b6..b9c333b91 100644 --- a/Sourcecode/mx/impl/MxVersionDefines.h +++ b/Sourcecode/mx/impl/MxVersionDefines.h @@ -1,4 +1,4 @@ #define MX_VERSION_MAJOR 0 #define MX_VERSION_MINOR 2 #define MX_VERSION_PATCH 0 -#define MX_VERSION_BUILD 16 +#define MX_VERSION_BUILD 17 From b65b8a6c1ad53018f3a9d2ee1984b8f9345dfb43 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Sat, 3 Jun 2017 23:31:51 -0700 Subject: [PATCH 043/108] mxapi progress on directions robustness --- Sourcecode/mx/impl/MeasureWriter.cpp | 96 +++++++++++++----- Sourcecode/mx/impl/MeasureWriter.h | 22 +++-- Sourcecode/mxtest/api/ApiLy43eScoreData.h | 7 +- Sourcecode/mxtest/api/DirectionDataTest.cpp | 103 ++++++++++++++++++++ Sourcecode/mxtest/api/RoundTrip.h | 1 + Sourcecode/mxtest/control/CompileControl.h | 10 +- 6 files changed, 199 insertions(+), 40 deletions(-) diff --git a/Sourcecode/mx/impl/MeasureWriter.cpp b/Sourcecode/mx/impl/MeasureWriter.cpp index 1fe301d10..0fcb45b3a 100644 --- a/Sourcecode/mx/impl/MeasureWriter.cpp +++ b/Sourcecode/mx/impl/MeasureWriter.cpp @@ -70,6 +70,7 @@ #include "mx/core/elements/Notehead.h" #include "mx/core/elements/NoteheadText.h" #include "mx/core/elements/OctaveShift.h" +#include "mx/core/elements/Offset.h" #include "mx/core/elements/OtherDirection.h" #include "mx/core/elements/PartAbbreviationDisplay.h" #include "mx/core/elements/PartNameDisplay.h" @@ -177,7 +178,7 @@ namespace mx } else { - measureAttr.number = core::XsToken{ std::to_string( myHistory.getCursor().measureIndex + 1 ) }; + measureAttr.number = core::XsToken{ std::to_string( myHistory.getCursor().measureIndex ) }; } if( myMeasureData.width >= 0.0 ) @@ -328,7 +329,14 @@ namespace mx myHistory.setVoiceIndex( voice.first ); auto noteIter = voice.second.notes.cbegin(); auto noteEnd = voice.second.notes.cend(); - writeDirections( directionIter, directionEnd, std::numeric_limits::min(), 0 ); + + if( directionIter != directionEnd ) + { + const auto absoluteMinimumTickTime = std::numeric_limits::min(); + writeDirections( directionIter, directionEnd, absoluteMinimumTickTime, 1 ); + } + + mx::api::NoteData noteForOutsideOfLoop; for( ; noteIter != noteEnd; ++noteIter ) { @@ -379,7 +387,12 @@ namespace mx maxDirectionTime = nextNote->tickTimePosition; } - writeDirections( directionIter, directionEnd, minDirectionTime, maxDirectionTime ); + if( directionIter != directionEnd ) + { + const auto firstDirectionTime = directionIter->tickTimePosition; + MX_ASSERT( firstDirectionTime >= minDirectionTime ); + writeDirections( directionIter, directionEnd, minDirectionTime, maxDirectionTime ); + } auto mdc = core::makeMusicDataChoice(); mdc->setChoice( core::MusicDataChoice::Choice::note ); @@ -387,10 +400,13 @@ namespace mx mdc->setNote( writer.getNote(isStartOfChord) ); myOutMeasure->getMusicDataGroup()->addMusicDataChoice( mdc ); myHistory.log( "addNote cursorTime " + std::to_string( myHistory.getCursor().tickTimePosition ) + ", noteTime " + std::to_string( apiNote.tickTimePosition ) ); - advanceCursorIfNeeded( apiNote, noteIter, noteEnd, isStartOfChord ); + advanceCursorIfNeeded( apiNote ); +// noteForOutsideOfLoop = apiNote; } // foreach note +// advanceCursorIfNeeded( noteForOutsideOfLoop ); + } // foreach voice bool areClefsRemaining = clefIter != clefEnd; @@ -421,7 +437,7 @@ namespace mx } myPropertiesWriter->flushBuffer(); } - + writeDirections( directionIter, directionEnd, std::numeric_limits::min(), std::numeric_limits::max() ); } // func writeVoices @@ -430,6 +446,12 @@ namespace mx void MeasureWriter::writeForwardOrBackupIfNeeded( const api::NoteData& currentNote ) { myPropertiesWriter->flushBuffer(); + + if( currentNote.tickTimePosition < 0 ) + { + return; + } + const int timeDifference = currentNote.tickTimePosition - myHistory.getCursor().tickTimePosition; if( timeDifference < 0 ) { @@ -442,14 +464,33 @@ namespace mx } - void MeasureWriter::backup( const int ticks ) + void MeasureWriter::backup( const int inTicks ) { + // ensure we don't go below zero + + const auto currentTime = myHistory.getCursor().tickTimePosition; + MX_ASSERT( currentTime >= 0 ); + const auto proposedNewTime = currentTime - inTicks; + int safeTickAmount = inTicks; + + if( proposedNewTime < 0 ) + { + safeTickAmount += proposedNewTime; + } + + MX_ASSERT( safeTickAmount >= 0 ); + + if( safeTickAmount == 0 ) + { + return; + } + auto backupMdc = core::makeMusicDataChoice(); backupMdc->setChoice( core::MusicDataChoice::Choice::backup ); auto backup = backupMdc->getBackup(); - backup->getDuration()->setValue( core::PositiveDivisionsValue{ static_cast( ticks ) } ); + backup->getDuration()->setValue( core::PositiveDivisionsValue{ static_cast( safeTickAmount ) } ); myOutMeasure->getMusicDataGroup()->addMusicDataChoice( backupMdc ); - myHistory.advanceTickTimePosition( -1 * ticks, "write backup" ); + myHistory.advanceTickTimePosition( -1 * safeTickAmount, "write backup" ); } @@ -464,21 +505,22 @@ namespace mx } - void MeasureWriter::advanceCursorIfNeeded( const api::NoteData& currentNote, NoteIter inNoteIter, const NoteIter inEndIter, bool isStartOfChord ) + void MeasureWriter::advanceCursorIfNeeded( const api::NoteData& currentNote ) { - MX_UNUSED(currentNote); - MX_UNUSED(isStartOfChord); - - ++inNoteIter; - if( inNoteIter != inEndIter ) - { - myHistory.setTime( inNoteIter->tickTimePosition, "advanceCursorIfNeeded inNoteIter != inEndIter" ); - } - else - { - myHistory.advanceTickTimePosition( currentNote.durationData.durationTimeTicks, "advanceCursorIfNeeded else"); - myHistory.setChord( true ); - } +// if( inNoteIter != inEndIter ) +// { + { + const auto curTime = std::max( myHistory.getCursor().tickTimePosition, 0 ); + const auto duration = std::max( currentNote.durationData.durationTimeTicks, 0 ); + const auto newTime = curTime + duration; + myHistory.setTime( newTime, "advanceCursorIfNeeded" ); + } +// } +// else +// { +// myHistory.advanceTickTimePosition( currentNote.durationData.durationTimeTicks, "advanceCursorIfNeeded else"); +// myHistory.setChord( true ); +// } myPreviousCursor = myHistory.getCursor(); } @@ -495,11 +537,11 @@ namespace mx if( firstDirectionTime < minTickTimePosition ) { - MX_THROW( "this should never happen" ); + MX_THROW( "firstDirectionTime < minTickTimePosition" ); } for( ; directionIter != directionEnd - && directionIter->tickTimePosition < maxTickTimePosition; + && directionIter->tickTimePosition <= maxTickTimePosition; ++directionIter ) { if( isDirectionDataEmpty( *directionIter ) ) @@ -511,7 +553,7 @@ namespace mx if( directionTime < minTickTimePosition ) { - MX_THROW( "this should never happen" ); + MX_THROW( "directionTime < minTickTimePosition" ); } auto directionMdc = core::makeMusicDataChoice(); @@ -520,6 +562,8 @@ namespace mx directionMdc->setDirection( directionWriter.getDirection() ); myOutMeasure->getMusicDataGroup()->addMusicDataChoice( directionMdc ); myHistory.log( "addDirection cursorTime " + std::to_string( myHistory.getCursor().tickTimePosition ) + ", directionTime " + std::to_string( directionIter->tickTimePosition ) ); + +// MX_ASSERT(directionMdc->getDirection()->getOffset()->getValue().getValue() != 19.0); } } @@ -556,7 +600,7 @@ namespace mx myCursor.tickTimePosition += amount; record.cursorAfter = myCursor; record.timeAfter = myCursor.tickTimePosition; - history.push_back( record ); + historyPush( record ); } } } diff --git a/Sourcecode/mx/impl/MeasureWriter.h b/Sourcecode/mx/impl/MeasureWriter.h index e74833ded..d78a9a2cf 100644 --- a/Sourcecode/mx/impl/MeasureWriter.h +++ b/Sourcecode/mx/impl/MeasureWriter.h @@ -62,13 +62,19 @@ namespace mx record.cursorBefore = myCursor; record.cursorAfter = myCursor; record.timeAfter = myCursor.tickTimePosition; - history.push_back( record ); + historyPush( record ); } std::vector history; void advanceTickTimePosition( int amount, std::string reason ); const MeasureCursor& getCursor() const { return myCursor; } + void historyPush( const HistoryRecord& record ) + { + history.push_back( record ); + //std::cout << "before: " << record.timeBefore << ", " << "after: " << record.timeAfter << ", reason: " << record.reason << std::endl; + } + void resetCursorFofStaffIterations() { HistoryRecord record; @@ -83,7 +89,7 @@ namespace mx record.cursorAfter = myCursor; record.timeAfter = myCursor.tickTimePosition; - history.push_back( record ); + historyPush( record ); } void nextStaff() @@ -98,7 +104,7 @@ namespace mx record.cursorAfter = myCursor; record.timeAfter = myCursor.tickTimePosition; - history.push_back( record ); + historyPush( record ); } void setVoiceIndex( int inVoiceIndex ) @@ -113,7 +119,7 @@ namespace mx record.cursorAfter = myCursor; record.timeAfter = myCursor.tickTimePosition; - history.push_back( record ); + historyPush( record ); } void setChord( bool isChordActive ) @@ -142,7 +148,7 @@ namespace mx record.cursorAfter = myCursor; record.timeAfter = myCursor.tickTimePosition; - history.push_back( record ); + historyPush( record ); } void setTime( int inTickTimePosition, std::string inReason ) @@ -157,7 +163,7 @@ namespace mx record.cursorAfter = myCursor; record.timeAfter = myCursor.tickTimePosition; - history.push_back( record ); + historyPush( record ); } void log( std::string message ) @@ -169,7 +175,7 @@ namespace mx record.cursorBefore = myCursor; record.cursorAfter = myCursor; record.timeAfter = myCursor.tickTimePosition; - history.push_back( record ); + historyPush( record ); } std::string toString() const @@ -208,7 +214,7 @@ namespace mx void writeForwardOrBackupIfNeeded( const api::NoteData& currentNote ); void backup( const int ticks ); void forward( const int ticks ); - void advanceCursorIfNeeded( const api::NoteData& currentNote, NoteIter inNoteIter, const NoteIter inEndIter, bool isStartOfChord ); + void advanceCursorIfNeeded( const api::NoteData& currentNote ); void writeBarlines( int tickTimePosition ); using dirs = std::vector; using dIter = dirs::const_iterator; diff --git a/Sourcecode/mxtest/api/ApiLy43eScoreData.h b/Sourcecode/mxtest/api/ApiLy43eScoreData.h index 4750758f6..f17e32203 100644 --- a/Sourcecode/mxtest/api/ApiLy43eScoreData.h +++ b/Sourcecode/mxtest/api/ApiLy43eScoreData.h @@ -19,10 +19,12 @@ namespace mxtest auto& part = score.parts.front(); part.uniqueId = "P1"; part.name = "MusicXML Part"; - + int measureIndex = 0; + // measure 1 - setup part.measures.emplace_back( MeasureData{} ); auto measureP = &part.measures.front(); + measureP->number = std::to_string( measureIndex++ ); measureP->keys.emplace_back( KeyData{} ); auto keyP = &measureP->keys.back(); keyP->mode = KeyMode::major; @@ -184,6 +186,7 @@ namespace mxtest // measure 2 - setup part.measures.emplace_back( MeasureData{} ); measureP = &part.measures.back(); + measureP->number = std::to_string( measureIndex++ ); measureP->timeSignature.isImplicit = true; measureP->timeSignature.symbol = TimeSignatureSymbol::common; measureP->keys.emplace_back( KeyData{} ); @@ -295,6 +298,7 @@ namespace mxtest // measure 3 - setup part.measures.emplace_back( MeasureData{} ); measureP = &part.measures.back(); + measureP->number = std::to_string( measureIndex++ ); measureP->timeSignature.isImplicit = true; measureP->timeSignature.symbol = TimeSignatureSymbol::common; measureP->staves.emplace_back( StaffData{} ); @@ -401,6 +405,7 @@ namespace mxtest // measure 4 - setup part.measures.emplace_back( MeasureData{} ); measureP = &part.measures.back(); + measureP->number = std::to_string( measureIndex++ ); measureP->timeSignature.isImplicit = true; measureP->timeSignature.symbol = TimeSignatureSymbol::common; measureP->staves.emplace_back( StaffData{} ); diff --git a/Sourcecode/mxtest/api/DirectionDataTest.cpp b/Sourcecode/mxtest/api/DirectionDataTest.cpp index 5d504dd2e..5e574d23b 100644 --- a/Sourcecode/mxtest/api/DirectionDataTest.cpp +++ b/Sourcecode/mxtest/api/DirectionDataTest.cpp @@ -116,4 +116,107 @@ TEST( OutOfOrderDoesntThrow, DirectionData ) } T_END; +TEST( OutOfOrderTorture, DirectionData ) +{ + const std::vector randomNumbers = + { -31, 25, -9, 21, 0, 77, -100, 100, 0, + 31, 12, 6, 19, 109, 10000, -100000, + 0, 231, 652, 2345, 11, 11, 1, 11 + }; + + const auto vecSize = randomNumbers.size(); + + for( int i = 0; i < 100; ++i ) + { + const int tick0 = randomNumbers.at( static_cast( i + 0 ) % vecSize ); + const int tick1 = randomNumbers.at( static_cast( i + 1 ) % vecSize ); + const int tick2 = randomNumbers.at( static_cast( i + 2 ) % vecSize ); + const int tick3 = randomNumbers.at( static_cast( i + 3 ) % vecSize ); + const int dur0tick = randomNumbers.at( static_cast( i + 4 ) % vecSize ); + const int dur1tick = randomNumbers.at( static_cast( i + 5 ) % vecSize ); + const int dur2tick = randomNumbers.at( static_cast( i + 6 ) % vecSize ); + + ScoreData oscore; + oscore.ticksPerQuarter = 10; + oscore.parts.emplace_back(); + auto& opart = oscore.parts.back(); + opart.measures.emplace_back(); + auto& omeasure = opart.measures.back(); + omeasure.staves.emplace_back(); + auto& ostaff = omeasure.staves.back(); + auto& ovoice = ostaff.voices[0]; + NoteData onote{}; + + onote.tickTimePosition = tick0; + onote.durationData.durationTimeTicks = 10; + onote.durationData.durationName = DurationName::quarter; + onote.durationData.durationName = DurationName::quarter; + ovoice.notes.push_back( onote ); + + onote.tickTimePosition = tick1; + onote.durationData.durationTimeTicks = 10; + onote.durationData.durationName = DurationName::quarter; + onote.durationData.durationName = DurationName::quarter; + ovoice.notes.push_back( onote ); + + onote.tickTimePosition = tick2; + onote.durationData.durationTimeTicks = 10; + onote.durationData.durationName = DurationName::quarter; + onote.durationData.durationName = DurationName::quarter; + ovoice.notes.push_back( onote ); + + onote.tickTimePosition = tick3; + onote.durationData.durationTimeTicks = 10; + onote.durationData.durationName = DurationName::quarter; + onote.durationData.durationName = DurationName::quarter; + ovoice.notes.push_back( onote ); + + DirectionData directionData{}; + MarkData mark{ MarkType::f }; + + mark.tickTimePosition = dur0tick; + directionData.tickTimePosition = dur0tick; + directionData.marks.clear(); + directionData.marks.push_back( mark ); + ostaff.directions.push_back( directionData ); + + mark.tickTimePosition = dur1tick; + directionData.tickTimePosition = dur1tick; + directionData.marks.clear(); + directionData.marks.push_back( mark ); + ostaff.directions.push_back( directionData ); + + mark.tickTimePosition = dur2tick; + directionData.tickTimePosition = dur2tick; + directionData.marks.clear(); + directionData.marks.push_back( mark ); + ostaff.directions.push_back( directionData ); + + const auto rscore = mxtest::roundTrip( oscore ); + const auto& rpart = rscore.parts.back(); + const auto& rmeasure = rpart.measures.back(); + const auto& rstaff = rmeasure.staves.back(); + const auto& rdirections = rstaff.directions; + + std::vector tempTickSorter = { dur0tick, dur1tick, dur2tick }; + std::sort( std::begin( tempTickSorter ), std::end( tempTickSorter ) ); + + int expectedShift = 0; + + if( tick0 < 0 ) + { + expectedShift = ( -1 * tick0 ); + } + + CHECK_EQUAL( 3, rdirections.size() ); + auto rdirection = rdirections.cbegin(); + CHECK_EQUAL( tempTickSorter.at( 0 ), rdirection->tickTimePosition ); + ++rdirection; + CHECK_EQUAL( tempTickSorter.at( 1 ), rdirection->tickTimePosition ); + ++rdirection; + CHECK_EQUAL( tempTickSorter.at( 2 ), rdirection->tickTimePosition ); + } +} +T_END; + #endif diff --git a/Sourcecode/mxtest/api/RoundTrip.h b/Sourcecode/mxtest/api/RoundTrip.h index 687aadc9f..75049e28f 100644 --- a/Sourcecode/mxtest/api/RoundTrip.h +++ b/Sourcecode/mxtest/api/RoundTrip.h @@ -40,6 +40,7 @@ namespace mxtest docId = docMgr.createFromStream( iss ); auto outScoreData = docMgr.getData( docId ); docMgr.destroyDocument( docId ); + //std::cout << xmlData << std::endl; return outScoreData; } } diff --git a/Sourcecode/mxtest/control/CompileControl.h b/Sourcecode/mxtest/control/CompileControl.h index ded4d2a7e..590c2f4b3 100755 --- a/Sourcecode/mxtest/control/CompileControl.h +++ b/Sourcecode/mxtest/control/CompileControl.h @@ -6,13 +6,13 @@ #define MX_COMPILE_API_TESTS #define MX_COMPILE_API_ROUNDTRIP //#define MX_COMPILE_CORE_TESTS -#define MX_COMPILE_IMPL_TESTS +//#define MX_COMPILE_IMPL_TESTS #define MX_COMPILE_IMPORT_TESTS -#define MX_COMPILE_NEW_DECIMAL_TESTS -#define MX_COMPILE_UTILTIY_TESTS -#define MX_COMPILE_XML_TESTS +//#define MX_COMPILE_NEW_DECIMAL_TESTS +//#define MX_COMPILE_UTILTIY_TESTS +//#define MX_COMPILE_XML_TESTS // use this to restrict the size of the files that // the test run will open (compile-time constant). // 0 indicates no limit -constexpr const int MX_COMPILE_MAX_FILE_SIZE_BYTES = (10 * 1024); +constexpr const int MX_COMPILE_MAX_FILE_SIZE_BYTES = 1;//(10 * 1024); From c8ab1d373cc4c6ceb245d4acfff49aa37d76de1a Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Sun, 4 Jun 2017 13:02:31 -0700 Subject: [PATCH 044/108] more work on cursor and direction --- Sourcecode/mx/impl/MeasureWriter.cpp | 61 +++++++++++++++------- Sourcecode/mx/impl/MeasureWriter.h | 3 +- Sourcecode/mxtest/api/ApiLy43eScoreData.h | 7 +-- Sourcecode/mxtest/control/CompileControl.h | 6 +-- 4 files changed, 48 insertions(+), 29 deletions(-) diff --git a/Sourcecode/mx/impl/MeasureWriter.cpp b/Sourcecode/mx/impl/MeasureWriter.cpp index 0fcb45b3a..f7d237a27 100644 --- a/Sourcecode/mx/impl/MeasureWriter.cpp +++ b/Sourcecode/mx/impl/MeasureWriter.cpp @@ -178,7 +178,7 @@ namespace mx } else { - measureAttr.number = core::XsToken{ std::to_string( myHistory.getCursor().measureIndex ) }; + measureAttr.number = core::XsToken{ std::to_string( myHistory.getCursor().measureIndex + 1 ) }; } if( myMeasureData.width >= 0.0 ) @@ -400,7 +400,7 @@ namespace mx mdc->setNote( writer.getNote(isStartOfChord) ); myOutMeasure->getMusicDataGroup()->addMusicDataChoice( mdc ); myHistory.log( "addNote cursorTime " + std::to_string( myHistory.getCursor().tickTimePosition ) + ", noteTime " + std::to_string( apiNote.tickTimePosition ) ); - advanceCursorIfNeeded( apiNote ); + advanceCursorIfNeeded( apiNote, noteIter, noteEnd ); // noteForOutsideOfLoop = apiNote; } // foreach note @@ -503,26 +503,49 @@ namespace mx myOutMeasure->getMusicDataGroup()->addMusicDataChoice( forwardMdc ); myHistory.advanceTickTimePosition( ticks, "write forward" ); } - - - void MeasureWriter::advanceCursorIfNeeded( const api::NoteData& currentNote ) + + + bool MeasureWriter::isAdvanceNeeded( const api::NoteData& currentNote, const NoteIter& inIter, const NoteIter& inEnd ) { -// if( inNoteIter != inEndIter ) -// { - { - const auto curTime = std::max( myHistory.getCursor().tickTimePosition, 0 ); - const auto duration = std::max( currentNote.durationData.durationTimeTicks, 0 ); - const auto newTime = curTime + duration; - myHistory.setTime( newTime, "advanceCursorIfNeeded" ); + if( currentNote.isChord ) + { + auto nextNoteIter = inIter + 1; + if( nextNoteIter == inEnd ) + { + return true; + } + else + { + const auto nextNoteTime = nextNoteIter->tickTimePosition; + if( nextNoteTime != currentNote.tickTimePosition ) + { + return true; + } + else + { + return false; + } } -// } -// else -// { -// myHistory.advanceTickTimePosition( currentNote.durationData.durationTimeTicks, "advanceCursorIfNeeded else"); -// myHistory.setChord( true ); -// } + } + return true; + } + + + void MeasureWriter::advanceCursorIfNeeded( const api::NoteData& currentNote, const NoteIter& inIter, const NoteIter& inEnd ) + { + if (isAdvanceNeeded( currentNote, inIter, inEnd ) ) + { + const auto curTime = std::max( myHistory.getCursor().tickTimePosition, 0 ); + const auto duration = std::max( currentNote.durationData.durationTimeTicks, 0 ); + const auto newTime = curTime + duration; + myHistory.setTime( newTime, "advance cursor" ); + myPreviousCursor = myHistory.getCursor(); + } + else + { + myHistory.log( "no advance"); + } - myPreviousCursor = myHistory.getCursor(); } diff --git a/Sourcecode/mx/impl/MeasureWriter.h b/Sourcecode/mx/impl/MeasureWriter.h index d78a9a2cf..e7748b8e1 100644 --- a/Sourcecode/mx/impl/MeasureWriter.h +++ b/Sourcecode/mx/impl/MeasureWriter.h @@ -214,7 +214,8 @@ namespace mx void writeForwardOrBackupIfNeeded( const api::NoteData& currentNote ); void backup( const int ticks ); void forward( const int ticks ); - void advanceCursorIfNeeded( const api::NoteData& currentNote ); + bool isAdvanceNeeded( const api::NoteData& currentNote, const NoteIter& inIter, const NoteIter& inEnd ); + void advanceCursorIfNeeded( const api::NoteData& currentNote, const NoteIter& inIter, const NoteIter& inEnd ); void writeBarlines( int tickTimePosition ); using dirs = std::vector; using dIter = dirs::const_iterator; diff --git a/Sourcecode/mxtest/api/ApiLy43eScoreData.h b/Sourcecode/mxtest/api/ApiLy43eScoreData.h index f17e32203..4750758f6 100644 --- a/Sourcecode/mxtest/api/ApiLy43eScoreData.h +++ b/Sourcecode/mxtest/api/ApiLy43eScoreData.h @@ -19,12 +19,10 @@ namespace mxtest auto& part = score.parts.front(); part.uniqueId = "P1"; part.name = "MusicXML Part"; - int measureIndex = 0; - + // measure 1 - setup part.measures.emplace_back( MeasureData{} ); auto measureP = &part.measures.front(); - measureP->number = std::to_string( measureIndex++ ); measureP->keys.emplace_back( KeyData{} ); auto keyP = &measureP->keys.back(); keyP->mode = KeyMode::major; @@ -186,7 +184,6 @@ namespace mxtest // measure 2 - setup part.measures.emplace_back( MeasureData{} ); measureP = &part.measures.back(); - measureP->number = std::to_string( measureIndex++ ); measureP->timeSignature.isImplicit = true; measureP->timeSignature.symbol = TimeSignatureSymbol::common; measureP->keys.emplace_back( KeyData{} ); @@ -298,7 +295,6 @@ namespace mxtest // measure 3 - setup part.measures.emplace_back( MeasureData{} ); measureP = &part.measures.back(); - measureP->number = std::to_string( measureIndex++ ); measureP->timeSignature.isImplicit = true; measureP->timeSignature.symbol = TimeSignatureSymbol::common; measureP->staves.emplace_back( StaffData{} ); @@ -405,7 +401,6 @@ namespace mxtest // measure 4 - setup part.measures.emplace_back( MeasureData{} ); measureP = &part.measures.back(); - measureP->number = std::to_string( measureIndex++ ); measureP->timeSignature.isImplicit = true; measureP->timeSignature.symbol = TimeSignatureSymbol::common; measureP->staves.emplace_back( StaffData{} ); diff --git a/Sourcecode/mxtest/control/CompileControl.h b/Sourcecode/mxtest/control/CompileControl.h index 590c2f4b3..6b2b0f8ee 100755 --- a/Sourcecode/mxtest/control/CompileControl.h +++ b/Sourcecode/mxtest/control/CompileControl.h @@ -6,10 +6,10 @@ #define MX_COMPILE_API_TESTS #define MX_COMPILE_API_ROUNDTRIP //#define MX_COMPILE_CORE_TESTS -//#define MX_COMPILE_IMPL_TESTS +#define MX_COMPILE_IMPL_TESTS #define MX_COMPILE_IMPORT_TESTS -//#define MX_COMPILE_NEW_DECIMAL_TESTS -//#define MX_COMPILE_UTILTIY_TESTS +#define MX_COMPILE_NEW_DECIMAL_TESTS +#define MX_COMPILE_UTILTIY_TESTS //#define MX_COMPILE_XML_TESTS // use this to restrict the size of the files that From 6dc78ad9b7fc161f32eb2a824b66626628f7ca29 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Sun, 4 Jun 2017 17:42:27 -0700 Subject: [PATCH 045/108] mxapi directions seem more bulletproof now --- Sourcecode/mx/impl/MeasureWriter.cpp | 124 ++++++++++++++++++------- Sourcecode/mx/impl/MeasureWriter.h | 5 +- Sourcecode/mxtest/api/NoteDataTest.cpp | 1 + 3 files changed, 93 insertions(+), 37 deletions(-) diff --git a/Sourcecode/mx/impl/MeasureWriter.cpp b/Sourcecode/mx/impl/MeasureWriter.cpp index f7d237a27..c4dbb73c9 100644 --- a/Sourcecode/mx/impl/MeasureWriter.cpp +++ b/Sourcecode/mx/impl/MeasureWriter.cpp @@ -303,9 +303,6 @@ namespace mx myPreviousCursor = myHistory.getCursor(); for( const auto& staff : myMeasureData.staves ) { - // auto clefIter = staff.clefs.cbegin(); - // auto clefEnd = staff.clefs.cend(); - writeVoices( staff ); myHistory.nextStaff(); } @@ -332,8 +329,7 @@ namespace mx if( directionIter != directionEnd ) { - const auto absoluteMinimumTickTime = std::numeric_limits::min(); - writeDirections( directionIter, directionEnd, absoluteMinimumTickTime, 1 ); + writeDirections( directionIter, directionEnd, noteIter, std::cbegin(voice.second.notes), noteEnd ); } mx::api::NoteData noteForOutsideOfLoop; @@ -345,7 +341,7 @@ namespace mx if ( noteIter->isChord ) { - currentChordTickPosition = noteIter->tickTimePosition; + currentChordTickPosition = myHistory.getCursor().tickTimePosition; if( currentChordTickPosition != previousChordTickPosition ) { isStartOfChord = true; @@ -387,12 +383,7 @@ namespace mx maxDirectionTime = nextNote->tickTimePosition; } - if( directionIter != directionEnd ) - { - const auto firstDirectionTime = directionIter->tickTimePosition; - MX_ASSERT( firstDirectionTime >= minDirectionTime ); - writeDirections( directionIter, directionEnd, minDirectionTime, maxDirectionTime ); - } + writeDirections( directionIter, directionEnd, noteIter, std::cbegin(voice.second.notes), noteEnd ); auto mdc = core::makeMusicDataChoice(); mdc->setChoice( core::MusicDataChoice::Choice::note ); @@ -401,13 +392,16 @@ namespace mx myOutMeasure->getMusicDataGroup()->addMusicDataChoice( mdc ); myHistory.log( "addNote cursorTime " + std::to_string( myHistory.getCursor().tickTimePosition ) + ", noteTime " + std::to_string( apiNote.tickTimePosition ) ); advanceCursorIfNeeded( apiNote, noteIter, noteEnd ); -// noteForOutsideOfLoop = apiNote; + myPreviousCursor = myHistory.getCursor(); } // foreach note -// advanceCursorIfNeeded( noteForOutsideOfLoop ); + writeDirections( directionIter, directionEnd, std::cend(voice.second.notes), std::cbegin(voice.second.notes), std::cend(voice.second.notes) ); } // foreach voice + + std::vector fakeEmptyNoteVector; + writeDirections( directionIter, directionEnd, std::cend(fakeEmptyNoteVector), std::cbegin(fakeEmptyNoteVector), std::cend(fakeEmptyNoteVector) ); bool areClefsRemaining = clefIter != clefEnd; bool areMeasureKeysRemaining = myMeasureKeysIter != myMeasureKeysEnd; @@ -438,8 +432,6 @@ namespace mx myPropertiesWriter->flushBuffer(); } - writeDirections( directionIter, directionEnd, std::numeric_limits::min(), std::numeric_limits::max() ); - } // func writeVoices @@ -549,45 +541,107 @@ namespace mx } - void MeasureWriter::writeDirections( dIter& directionIter, const dIter& directionEnd, int minTickTimePosition, int maxTickTimePosition ) + void MeasureWriter::writeDirections( dIter& directionIter, const dIter& directionEnd, const NoteIter& inNoteIter, const NoteIter& inNotesBegin, const NoteIter& inNotesEnd ) { if( directionIter == directionEnd ) { return; } - const auto firstDirectionTime = directionIter->tickTimePosition; + const bool isNotesEnd = inNoteIter == inNotesEnd; + const bool isLastNote = !isNotesEnd && ( inNoteIter + 1 == inNotesEnd ); + const bool isFirstNote = !isLastNote && !isNotesEnd && ( inNoteIter == inNotesBegin ); +// const auto previousNote = isFirstNote ? inNoteEnd : ( inNoteIter - 1 ); + const auto nextNote = ( isLastNote || isNotesEnd ) ? inNotesEnd : ( inNoteIter + 1 ); - if( firstDirectionTime < minTickTimePosition ) + if( isFirstNote ) { - MX_THROW( "firstDirectionTime < minTickTimePosition" ); + for ( ; directionIter != directionEnd && directionIter->tickTimePosition <= std::max( 0, inNoteIter->tickTimePosition ); + ++directionIter ) + { + writeDirection( *directionIter ); + } + + return; } + else if ( isNotesEnd ) + { + for ( ; directionIter != directionEnd; ++directionIter ) + { + writeDirection( *directionIter ); + } - for( ; directionIter != directionEnd - && directionIter->tickTimePosition <= maxTickTimePosition; - ++directionIter ) + return; + } + else { - if( isDirectionDataEmpty( *directionIter ) ) + const bool isLastNoteOfChord = !isNotesEnd && !isLastNote && ( inNoteIter->isChord && inNoteIter->tickTimePosition != nextNote->tickTimePosition ); + const bool isChord = !isNotesEnd && inNoteIter->isChord; + + if (isChord && !isLastNoteOfChord) { - continue; + myHistory.log( "note writing any directions because we are in the midst of a chord" ); + return; } - const auto directionTime = directionIter->tickTimePosition; + const int currentNoteEndTime = myHistory.getCursor().tickTimePosition + std::max(0, inNoteIter->durationData.durationTimeTicks); - if( directionTime < minTickTimePosition ) + for ( ; directionIter != directionEnd && directionIter->tickTimePosition < currentNoteEndTime; + ++directionIter ) { - MX_THROW( "directionTime < minTickTimePosition" ); + writeDirection( *directionIter ); } - auto directionMdc = core::makeMusicDataChoice(); - directionMdc->setChoice( core::MusicDataChoice::Choice::direction ); - DirectionWriter directionWriter{ *directionIter, myHistory.getCursor() }; - directionMdc->setDirection( directionWriter.getDirection() ); - myOutMeasure->getMusicDataGroup()->addMusicDataChoice( directionMdc ); - myHistory.log( "addDirection cursorTime " + std::to_string( myHistory.getCursor().tickTimePosition ) + ", directionTime " + std::to_string( directionIter->tickTimePosition ) ); + return; + } + +// const auto firstDirectionTime = directionIter->tickTimePosition; +// +// if( firstDirectionTime < minTickTimePosition ) +// { +// MX_THROW( "firstDirectionTime < minTickTimePosition" ); +// } +// +// for( ; directionIter != directionEnd +// && directionIter->tickTimePosition <= maxTickTimePosition; +// ++directionIter ) +// { +// if( isDirectionDataEmpty( *directionIter ) ) +// { +// continue; +// } +// +// const auto directionTime = directionIter->tickTimePosition; +// +// if( directionTime < minTickTimePosition ) +// { +// MX_THROW( "directionTime < minTickTimePosition" ); +// } +// +// auto directionMdc = core::makeMusicDataChoice(); +// directionMdc->setChoice( core::MusicDataChoice::Choice::direction ); +// DirectionWriter directionWriter{ *directionIter, myHistory.getCursor() }; +// directionMdc->setDirection( directionWriter.getDirection() ); +// myOutMeasure->getMusicDataGroup()->addMusicDataChoice( directionMdc ); +// myHistory.log( "addDirection cursorTime " + std::to_string( myHistory.getCursor().tickTimePosition ) + ", directionTime " + std::to_string( directionIter->tickTimePosition ) ); +// +//// MX_ASSERT(directionMdc->getDirection()->getOffset()->getValue().getValue() != 19.0); +// } + } -// MX_ASSERT(directionMdc->getDirection()->getOffset()->getValue().getValue() != 19.0); + void MeasureWriter::writeDirection( const api::DirectionData& inDirectionData ) + { + if( myPropertiesWriter ) + { + myPropertiesWriter->flushBuffer(); } + + auto directionMdc = core::makeMusicDataChoice(); + directionMdc->setChoice( core::MusicDataChoice::Choice::direction ); + DirectionWriter directionWriter{ inDirectionData, myHistory.getCursor() }; + directionMdc->setDirection( directionWriter.getDirection() ); + myOutMeasure->getMusicDataGroup()->addMusicDataChoice( directionMdc ); + myHistory.log( "addDirection cursorTime " + std::to_string( myHistory.getCursor().tickTimePosition ) + ", directionTime " + std::to_string( inDirectionData.tickTimePosition ) ); } diff --git a/Sourcecode/mx/impl/MeasureWriter.h b/Sourcecode/mx/impl/MeasureWriter.h index e7748b8e1..ee6c14435 100644 --- a/Sourcecode/mx/impl/MeasureWriter.h +++ b/Sourcecode/mx/impl/MeasureWriter.h @@ -72,7 +72,7 @@ namespace mx void historyPush( const HistoryRecord& record ) { history.push_back( record ); - //std::cout << "before: " << record.timeBefore << ", " << "after: " << record.timeAfter << ", reason: " << record.reason << std::endl; + // std::cout << "before: " << record.timeBefore << ", " << "after: " << record.timeAfter << ", reason: " << record.reason << std::endl; } void resetCursorFofStaffIterations() @@ -219,7 +219,8 @@ namespace mx void writeBarlines( int tickTimePosition ); using dirs = std::vector; using dIter = dirs::const_iterator; - void writeDirections( dIter& directionIter, const dIter& directionEnd, int minTickTimePosition, int maxTickTimePosition ); + void writeDirections( dIter& directionIter, const dIter& directionEnd, const NoteIter& inNoteIter, const NoteIter& inNotesBegin, const NoteIter& inNoteEnd ); + void writeDirection( const api::DirectionData& inDirectionData ); template std::vector findItemsAtTimePosition( const std::vector& inItems, int inTickTimePosition ) diff --git a/Sourcecode/mxtest/api/NoteDataTest.cpp b/Sourcecode/mxtest/api/NoteDataTest.cpp index 6a5ec430b..e6eadf20e 100644 --- a/Sourcecode/mxtest/api/NoteDataTest.cpp +++ b/Sourcecode/mxtest/api/NoteDataTest.cpp @@ -705,6 +705,7 @@ TEST( directionOrder, NoteData ) std::stringstream ss; mgr.writeToStream(docId, ss); mgr.destroyDocument(docId); +// std::cout << ss.str() << std::endl; const auto& partwise = docPtr->getScorePartwise(); const auto& partwisePartSet = partwise->getPartwisePartSet(); From b438c2fc0be7fd3674a90de3fc67ecb6ba933245 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Sun, 4 Jun 2017 17:54:51 -0700 Subject: [PATCH 046/108] mx-version-0.2.0.18 --- Sourcecode/mx/impl/MxVersionDefines.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sourcecode/mx/impl/MxVersionDefines.h b/Sourcecode/mx/impl/MxVersionDefines.h index b9c333b91..6f686f3b4 100644 --- a/Sourcecode/mx/impl/MxVersionDefines.h +++ b/Sourcecode/mx/impl/MxVersionDefines.h @@ -1,4 +1,4 @@ #define MX_VERSION_MAJOR 0 #define MX_VERSION_MINOR 2 #define MX_VERSION_PATCH 0 -#define MX_VERSION_BUILD 17 +#define MX_VERSION_BUILD 18 From b5b82aea843ece9920d90af03fe3e4e393307739 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Mon, 12 Jun 2017 16:21:20 -0700 Subject: [PATCH 047/108] mxapi fix chord bug --- Sourcecode/mx/impl/MeasureWriter.cpp | 17 ++- Sourcecode/mx/impl/MxVersionDefines.h | 2 +- Sourcecode/mxtest/api/ChordApiTest.cpp | 139 +++++++++++++++++++++ Sourcecode/mxtest/api/TestHelpers.h | 12 ++ Sourcecode/mxtest/control/CompileControl.h | 2 +- 5 files changed, 164 insertions(+), 8 deletions(-) diff --git a/Sourcecode/mx/impl/MeasureWriter.cpp b/Sourcecode/mx/impl/MeasureWriter.cpp index c4dbb73c9..02571b415 100644 --- a/Sourcecode/mx/impl/MeasureWriter.cpp +++ b/Sourcecode/mx/impl/MeasureWriter.cpp @@ -321,6 +321,7 @@ namespace mx for( const auto& voice : inStaff.voices ) { + bool isFirstNote = true; int currentChordTickPosition = -1; int previousChordTickPosition = -2; myHistory.setVoiceIndex( voice.first ); @@ -338,20 +339,23 @@ namespace mx { bool isStartOfChord = false; myHistory.setChord( noteIter->isChord ); - + const auto& apiNote = *noteIter; + writeForwardOrBackupIfNeeded( apiNote ); + if ( noteIter->isChord ) { currentChordTickPosition = myHistory.getCursor().tickTimePosition; - if( currentChordTickPosition != previousChordTickPosition ) + if( isFirstNote ) + { + isStartOfChord = true; + } + else if( currentChordTickPosition != previousChordTickPosition ) { isStartOfChord = true; } previousChordTickPosition = currentChordTickPosition; } - - const auto& apiNote = *noteIter; - writeForwardOrBackupIfNeeded( apiNote ); - + if( myMeasureKeysIter != myMeasureKeysEnd ) { if( myMeasureKeysIter->tickTimePosition <= myHistory.getCursor().tickTimePosition ) @@ -393,6 +397,7 @@ namespace mx myHistory.log( "addNote cursorTime " + std::to_string( myHistory.getCursor().tickTimePosition ) + ", noteTime " + std::to_string( apiNote.tickTimePosition ) ); advanceCursorIfNeeded( apiNote, noteIter, noteEnd ); myPreviousCursor = myHistory.getCursor(); + isFirstNote = false; } // foreach note diff --git a/Sourcecode/mx/impl/MxVersionDefines.h b/Sourcecode/mx/impl/MxVersionDefines.h index 6f686f3b4..eb8b8902d 100644 --- a/Sourcecode/mx/impl/MxVersionDefines.h +++ b/Sourcecode/mx/impl/MxVersionDefines.h @@ -1,4 +1,4 @@ #define MX_VERSION_MAJOR 0 #define MX_VERSION_MINOR 2 #define MX_VERSION_PATCH 0 -#define MX_VERSION_BUILD 18 +#define MX_VERSION_BUILD 19 diff --git a/Sourcecode/mxtest/api/ChordApiTest.cpp b/Sourcecode/mxtest/api/ChordApiTest.cpp index 903bedbe9..c577ac985 100644 --- a/Sourcecode/mxtest/api/ChordApiTest.cpp +++ b/Sourcecode/mxtest/api/ChordApiTest.cpp @@ -8,6 +8,17 @@ #include "cpul/cpulTestHarness.h" #include "mxtest/file/MxFileRepository.h" #include "mx/api/DocumentManager.h" +#include "mxtest/api/TestHelpers.h" +#include "mx/core/Document.h" +#include "mx/core/elements/ScorePartwise.h" +#include "mx/core/elements/PartwisePart.h" +#include "mx/core/elements/PartwiseMeasure.h" +#include "mx/core/elements/MusicDataGroup.h" +#include "mx/core/elements/MusicDataChoice.h" +#include "mx/core/elements/Note.h" +#include "mx/core/elements/NoteChoice.h" +#include "mx/core/elements/NormalNoteGroup.h" +#include "mx/core/elements/FullNoteGroup.h" using namespace std; using namespace mx::api; @@ -172,4 +183,132 @@ TEST( chordSaveNotes, ChordApi ) } T_END +TEST( KompChordBug_PIVOTAL_147058063, ChordApi ) +{ + ScoreData originalScore{}; + originalScore.parts.emplace_back(); + auto& originalPart = originalScore.parts.back(); + originalPart.measures.emplace_back(); + auto& originalMeasure = originalPart.measures.back(); + + originalMeasure.staves.emplace_back(); + StaffData* originalStaffPtr = &originalMeasure.staves.back(); + ClefData trebleClef{}; + trebleClef.setTreble(); + trebleClef.tickTimePosition = 0; + originalStaffPtr->clefs.push_back(trebleClef); + + originalMeasure.staves.emplace_back(); + originalStaffPtr = &originalMeasure.staves.back(); + ClefData bassClef{}; + bassClef.setBass(); + bassClef.tickTimePosition = 0; + originalStaffPtr->clefs.push_back(bassClef); + + originalMeasure.timeSignature = TimeSignatureData{}; + originalMeasure.timeSignature.isImplicit = false; + + originalStaffPtr = &(*originalMeasure.staves.begin()); + NoteData note{}; + note.durationData.durationTimeTicks = originalScore.ticksPerQuarter * 4; + note.durationData.durationName = DurationName::whole; + note.pitchData.octave = 4; + note.pitchData.step = Step::c; + note.isChord = true; + originalStaffPtr->voices[0].notes.push_back(note); + + note.pitchData.step = Step::e; + note.isChord = true; + originalStaffPtr->voices[0].notes.push_back(note); + + note.pitchData.step = Step::g; + note.isChord = true; + originalStaffPtr->voices[0].notes.push_back(note); + + originalStaffPtr = &( *( originalMeasure.staves.begin() + 1) ); + note.pitchData.octave = 2; + note.pitchData.step = Step::c; + note.isChord = true; + originalStaffPtr->voices[0].notes.push_back(note); + + note.pitchData.octave = 2; + note.pitchData.step = Step::e; + note.isChord = true; + originalStaffPtr->voices[0].notes.push_back(note); + + note.pitchData.octave = 2; + note.pitchData.step = Step::g; + note.isChord = true; + originalStaffPtr->voices[0].notes.push_back(note); + + auto& docMgr = DocumentManager::getInstance(); + const auto docID = docMgr.createFromScore( originalScore ); + const auto documentPtr = docMgr.getDocument( docID ); + docMgr.destroyDocument( docID ); + const auto scorePartwisePtr = documentPtr->getScorePartwise(); + const auto xml = mxtest::toXml( originalScore ); +// std::cout << xml << std::endl; + const auto savedScore = mxtest::fromXml( xml ); + const auto& savedPart = savedScore.parts.at(0); + const auto& savedMeasure = savedPart.measures.at(0); + const StaffData* savedStaffPtr = &( *( savedMeasure.staves.cbegin() ) ); + const NoteData* savedNotePtr = nullptr; + + // check that all notes are chorded in treble clef + savedNotePtr = &savedStaffPtr->voices.at(0).notes.at(0); + CHECK( savedNotePtr->isChord ); + CHECK_EQUAL( 0, savedNotePtr->tickTimePosition ); + savedNotePtr = &savedStaffPtr->voices.at(0).notes.at(1); + CHECK( savedNotePtr->isChord ); + CHECK_EQUAL( 0, savedNotePtr->tickTimePosition ); + savedNotePtr = &savedStaffPtr->voices.at(0).notes.at(2); + CHECK( savedNotePtr->isChord ); + CHECK_EQUAL( 0, savedNotePtr->tickTimePosition ); + + // check that all notes are chorded in bass clef + savedStaffPtr = &( *( savedMeasure.staves.cbegin() + 1 ) ); + CHECK( savedNotePtr->isChord ); + CHECK_EQUAL( 0, savedNotePtr->tickTimePosition ); + savedNotePtr = &savedStaffPtr->voices.at(0).notes.at(1); + CHECK( savedNotePtr->isChord ); + CHECK_EQUAL( 0, savedNotePtr->tickTimePosition ); + savedNotePtr = &savedStaffPtr->voices.at(0).notes.at(2); + CHECK( savedNotePtr->isChord ); + CHECK_EQUAL( 0, savedNotePtr->tickTimePosition ); + + const auto& partwisePartSet = scorePartwisePtr->getPartwisePartSet(); + const auto& partwisePart = partwisePartSet.at( 0 ); + const auto& partwiseMeasureSet = partwisePart->getPartwiseMeasureSet(); + const auto& partwiseMeasure = partwiseMeasureSet.at( 0 ); + const auto& mdg = partwiseMeasure->getMusicDataGroup(); + const auto& musicDataChoiceSet = mdg->getMusicDataChoiceSet(); + + int noteIndex = 0; + for( const auto& musicDataChoice : musicDataChoiceSet ) + { + if( musicDataChoice->getChoice() != mx::core::MusicDataChoice::Choice::note ) + { + continue; + } + + const auto mxNote = musicDataChoice->getNote(); + const auto mxNormal = mxNote->getNoteChoice()->getNormalNoteGroup(); + const auto mxFullNoteGroup = mxNormal->getFullNoteGroup(); + const bool hasChordTag = mxFullNoteGroup->getHasChord(); + + if( noteIndex == 0 || noteIndex == 3 ) + { + CHECK( !hasChordTag ); + } + else + { + CHECK( hasChordTag ); + } + ++noteIndex; + } + + CHECK_EQUAL( 6, noteIndex ); +} +T_END; + #endif diff --git a/Sourcecode/mxtest/api/TestHelpers.h b/Sourcecode/mxtest/api/TestHelpers.h index d7bbe5791..f371fda09 100644 --- a/Sourcecode/mxtest/api/TestHelpers.h +++ b/Sourcecode/mxtest/api/TestHelpers.h @@ -20,4 +20,16 @@ namespace mxtest const auto xml = ss.str(); return xml; } + + + inline mx::api::ScoreData fromXml( const std::string& inXml ) + { + using namespace mx::api; + auto& docMgr = DocumentManager::getInstance(); + std::istringstream iss{ inXml }; + const auto docId = docMgr.createFromStream( iss ); + const auto score = docMgr.getData( docId ); + docMgr.destroyDocument( docId ); + return score; + } } diff --git a/Sourcecode/mxtest/control/CompileControl.h b/Sourcecode/mxtest/control/CompileControl.h index 6b2b0f8ee..a6563380f 100755 --- a/Sourcecode/mxtest/control/CompileControl.h +++ b/Sourcecode/mxtest/control/CompileControl.h @@ -10,7 +10,7 @@ #define MX_COMPILE_IMPORT_TESTS #define MX_COMPILE_NEW_DECIMAL_TESTS #define MX_COMPILE_UTILTIY_TESTS -//#define MX_COMPILE_XML_TESTS +#define MX_COMPILE_XML_TESTS // use this to restrict the size of the files that // the test run will open (compile-time constant). From 7e8c2568778c596bc2009db042fe1718f0a022ca Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Tue, 13 Jun 2017 09:32:27 -0700 Subject: [PATCH 048/108] mxapi fix xcode project groups - add enum macros --- .../DevNotes/MusicXML Standard Sounds.xml | 888 + Sourcecode/cpul/cpulTestRegistry.h | 2 +- Sourcecode/mx/utility/Enum.h | 64 + Sourcecode/mx/utility/EnumWithString.h | 64 + .../core}/PreciseDecimalTest.cpp | 0 Xcode/Mx.xcodeproj/project.pbxproj | 19058 ++++++++-------- Xcode/MxTest.xcodeproj/project.pbxproj | 8 +- Xcode/MxmacOS/MxmacOS.h | 2 +- 8 files changed, 10524 insertions(+), 9562 deletions(-) create mode 100644 Documents/DevNotes/MusicXML Standard Sounds.xml create mode 100644 Sourcecode/mx/utility/Enum.h create mode 100644 Sourcecode/mx/utility/EnumWithString.h rename Sourcecode/{mx/core/elements => mxtest/core}/PreciseDecimalTest.cpp (100%) diff --git a/Documents/DevNotes/MusicXML Standard Sounds.xml b/Documents/DevNotes/MusicXML Standard Sounds.xml new file mode 100644 index 000000000..016d9a914 --- /dev/null +++ b/Documents/DevNotes/MusicXML Standard Sounds.xml @@ -0,0 +1,888 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Sourcecode/cpul/cpulTestRegistry.h b/Sourcecode/cpul/cpulTestRegistry.h index 142a9759e..653ca3a24 100755 --- a/Sourcecode/cpul/cpulTestRegistry.h +++ b/Sourcecode/cpul/cpulTestRegistry.h @@ -30,4 +30,4 @@ class TestRegistry -#endif \ No newline at end of file +#endif diff --git a/Sourcecode/mx/utility/Enum.h b/Sourcecode/mx/utility/Enum.h new file mode 100644 index 000000000..700057e73 --- /dev/null +++ b/Sourcecode/mx/utility/Enum.h @@ -0,0 +1,64 @@ +// Zeus, Copyright 2017 by Matthew James Briggs + +// Adapted from info found here: +// https://en.wikibooks.org/wiki/C_Programming/Preprocessor#X-Macros + +#ifndef ZEUS_ENUM_CLASS_NAME + #error ZEUS_ENUM_CLASS_NAME must be defined +#endif + +#ifndef ZEUS_ENUM_MEMBERS + #error ZEUS_ENUM_MEMBERS must be defined +#endif + +#define ZEUS_CAT(a, ...) ZEUS_PRIMITIVE_CAT(a, __VA_ARGS__) +#define ZEUS_PRIMITIVE_CAT(a, ...) a ## __VA_ARGS__ + +#define ZEUS_ENUM_VALUE(value) value, + +enum class ZEUS_ENUM_CLASS_NAME { ZEUS_ENUM_MEMBERS(ZEUS_ENUM_VALUE) }; + +#undef ZEUS_ENUM_VALUE + +#undef ZEUS_ENUM_VALUE +#ifdef ZEUS_STRING_CONSTANT_NAME +#undef ZEUS_STRING_CONSTANT_NAME +#endif + +#define ZEUS_STRING_CONSTANT_NAME(XXX, value) ZEUS_CAT(ZEUS_CAT(XXX, _), ZEUS_CAT(value, _String)) + +#define ZEUS_ENUM_VALUE(value) static constexpr const char* const ZEUS_STRING_CONSTANT_NAME(ZEUS_ENUM_CLASS_NAME, value) = #value; + +ZEUS_ENUM_MEMBERS(ZEUS_ENUM_VALUE); + +#undef ZEUS_ENUM_VALUE + +#define ZEUS_ENUM_VALUE(value) case ZEUS_ENUM_CLASS_NAME::value: return ZEUS_STRING_CONSTANT_NAME(ZEUS_ENUM_CLASS_NAME, value); + +#define ZEUS_ENUM_TO_STRING(A) ZEUS_PRIMITIVE_CAT(A, ToString) + +inline const char* const ZEUS_ENUM_TO_STRING(ZEUS_ENUM_CLASS_NAME) ( ZEUS_ENUM_CLASS_NAME inValue ) { + switch (inValue) { + ZEUS_ENUM_MEMBERS(ZEUS_ENUM_VALUE) + } + throw std::runtime_error("bad enum value"); +} + +#undef ZEUS_ENUM_VALUE + +#define ZEUS_ENUM_VALUE(value) if (inValue == ZEUS_STRING_CONSTANT_NAME(ZEUS_ENUM_CLASS_NAME, value)) { \ + return ZEUS_ENUM_CLASS_NAME::value; \ +} \ + +#define ZEUS_TO_ENUM(A) ZEUS_PRIMITIVE_CAT(A, FromString) + +inline ZEUS_ENUM_CLASS_NAME ZEUS_TO_ENUM(ZEUS_ENUM_CLASS_NAME) ( const std::string& inValue ) { + ZEUS_ENUM_MEMBERS(ZEUS_ENUM_VALUE) + throw std::runtime_error("bad string value"); +} + +#undef ZEUS_TO_ENUM_FUNCTION_DECLARATION +#undef ZEUS_ENUM_VALUE +#undef ZEUS_ENUM_VALUES +#undef ZEUS_ENUM_CLASS_NAME +#undef ZEUS_ENUM_MEMBERS diff --git a/Sourcecode/mx/utility/EnumWithString.h b/Sourcecode/mx/utility/EnumWithString.h new file mode 100644 index 000000000..ce8324346 --- /dev/null +++ b/Sourcecode/mx/utility/EnumWithString.h @@ -0,0 +1,64 @@ +// Zeus, Copyright 2017 by Matthew James Briggs + +// Adapted from info found here: +// https://en.wikibooks.org/wiki/C_Programming/Preprocessor#X-Macros + +#ifndef ZEUS_ENUM_CLASS_NAME + #error ZEUS_ENUM_CLASS_NAME must be defined +#endif + +#ifndef ZEUS_ENUM_MEMBERS + #error ZEUS_ENUM_MEMBERS must be defined +#endif + +#define RETURN_ZEUS_ENUM_CLASS_NAME(ZEUS_ENUM_CLASS_NAME) ZEUS_ENUM_CLASS_NAME + +#define ZEUS_CAT(a, ...) ZEUS_PRIMITIVE_CAT(a, __VA_ARGS__) +#define ZEUS_PRIMITIVE_CAT(a, ...) a ## __VA_ARGS__ + +#define ZEUS_ENUM_VALUE(value, string) value, + +enum class ZEUS_ENUM_CLASS_NAME { ZEUS_ENUM_MEMBERS(ZEUS_ENUM_VALUE) }; + +#undef ZEUS_ENUM_VALUE +#ifdef ZEUS_STRING_CONSTANT_NAME +#undef ZEUS_STRING_CONSTANT_NAME +#endif + +#define ZEUS_STRING_CONSTANT_NAME(XXX, value) ZEUS_CAT(ZEUS_CAT(XXX, _), ZEUS_CAT(value, _String)) + +#define ZEUS_ENUM_VALUE(value, string) static constexpr const char* const ZEUS_STRING_CONSTANT_NAME( RETURN_ZEUS_ENUM_CLASS_NAME( ZEUS_ENUM_CLASS_NAME ) , value ) = #string; + +ZEUS_ENUM_MEMBERS(ZEUS_ENUM_VALUE); + +#undef ZEUS_ENUM_VALUE + +#define ZEUS_ENUM_VALUE(value, string) case ZEUS_ENUM_CLASS_NAME::value: return ZEUS_STRING_CONSTANT_NAME( RETURN_ZEUS_ENUM_CLASS_NAME( ZEUS_ENUM_CLASS_NAME ) , value ); + +#define ZEUS_ENUM_TO_STRING(A) ZEUS_PRIMITIVE_CAT(A, ToString) + +inline const char* const ZEUS_ENUM_TO_STRING(ZEUS_ENUM_CLASS_NAME) ( ZEUS_ENUM_CLASS_NAME inValue ) { + switch (inValue) { + ZEUS_ENUM_MEMBERS(ZEUS_ENUM_VALUE) + } + throw std::runtime_error("bad enum value"); +} + +#undef ZEUS_ENUM_VALUE + +#define ZEUS_ENUM_VALUE(value, string) if (inValue == ZEUS_STRING_CONSTANT_NAME( RETURN_ZEUS_ENUM_CLASS_NAME( ZEUS_ENUM_CLASS_NAME ) , value )) { \ + return ZEUS_ENUM_CLASS_NAME::value; \ +} \ + +#define ZEUS_TO_ENUM(A) ZEUS_PRIMITIVE_CAT(A, FromString) + +inline ZEUS_ENUM_CLASS_NAME ZEUS_TO_ENUM(ZEUS_ENUM_CLASS_NAME) ( const std::string& inValue ) { + ZEUS_ENUM_MEMBERS(ZEUS_ENUM_VALUE) + throw std::runtime_error("bad string value"); +} + +#undef ZEUS_TO_ENUM_FUNCTION_DECLARATION +#undef ZEUS_ENUM_VALUE +#undef ZEUS_ENUM_VALUES +#undef ZEUS_ENUM_CLASS_NAME +#undef ZEUS_ENUM_MEMBERS diff --git a/Sourcecode/mx/core/elements/PreciseDecimalTest.cpp b/Sourcecode/mxtest/core/PreciseDecimalTest.cpp similarity index 100% rename from Sourcecode/mx/core/elements/PreciseDecimalTest.cpp rename to Sourcecode/mxtest/core/PreciseDecimalTest.cpp diff --git a/Xcode/Mx.xcodeproj/project.pbxproj b/Xcode/Mx.xcodeproj/project.pbxproj index e1c8ac43c..92274c2d8 100755 --- a/Xcode/Mx.xcodeproj/project.pbxproj +++ b/Xcode/Mx.xcodeproj/project.pbxproj @@ -7,4724 +7,4705 @@ objects = { /* Begin PBXBuildFile section */ - 2904A4D51D301D5A00A39CC6 /* Encoding.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2904A4D31D301D5A00A39CC6 /* Encoding.cpp */; }; - 29271A4F1DCC0D820036528D /* ApiEquality.h in Headers */ = {isa = PBXBuildFile; fileRef = 29271A4E1DCC0D820036528D /* ApiEquality.h */; }; - 292C3ADB1E8B13FD001A0CB9 /* WordsData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292C3AD91E8B13FD001A0CB9 /* WordsData.cpp */; }; - 292C3ADC1E8B13FD001A0CB9 /* WordsData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292C3AD91E8B13FD001A0CB9 /* WordsData.cpp */; }; - 292C3ADD1E8B13FD001A0CB9 /* WordsData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292C3AD91E8B13FD001A0CB9 /* WordsData.cpp */; }; - 292C3ADE1E8B13FD001A0CB9 /* WordsData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292C3AD91E8B13FD001A0CB9 /* WordsData.cpp */; }; - 292C3ADF1E8B13FD001A0CB9 /* WordsData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292C3AD91E8B13FD001A0CB9 /* WordsData.cpp */; }; - 292C3AE01E8B13FD001A0CB9 /* WordsData.h in Headers */ = {isa = PBXBuildFile; fileRef = 292C3ADA1E8B13FD001A0CB9 /* WordsData.h */; }; - 292C3AE11E8B13FD001A0CB9 /* WordsData.h in Headers */ = {isa = PBXBuildFile; fileRef = 292C3ADA1E8B13FD001A0CB9 /* WordsData.h */; }; - 292C3AE21E8B13FD001A0CB9 /* WordsData.h in Headers */ = {isa = PBXBuildFile; fileRef = 292C3ADA1E8B13FD001A0CB9 /* WordsData.h */; }; - 292C3AE31E8B13FD001A0CB9 /* WordsData.h in Headers */ = {isa = PBXBuildFile; fileRef = 292C3ADA1E8B13FD001A0CB9 /* WordsData.h */; }; - 292C3AE41E8B13FD001A0CB9 /* WordsData.h in Headers */ = {isa = PBXBuildFile; fileRef = 292C3ADA1E8B13FD001A0CB9 /* WordsData.h */; }; - 292D1DD21D9A43A500CDD9F4 /* ClefData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292D1DD01D9A43A500CDD9F4 /* ClefData.cpp */; }; - 2937D15D1D18D403001C2A1A /* PugiAttribute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1451D18D403001C2A1A /* PugiAttribute.cpp */; }; - 2937D15F1D18D403001C2A1A /* PugiAttributeIterImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1471D18D403001C2A1A /* PugiAttributeIterImpl.cpp */; }; - 2937D1611D18D403001C2A1A /* PugiDoc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1491D18D403001C2A1A /* PugiDoc.cpp */; }; - 2937D1631D18D403001C2A1A /* PugiElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D14B1D18D403001C2A1A /* PugiElement.cpp */; }; - 2937D1651D18D403001C2A1A /* PugiElementIterImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D14D1D18D403001C2A1A /* PugiElementIterImpl.cpp */; }; - 2937D1681D18D403001C2A1A /* XAttributeIterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1501D18D403001C2A1A /* XAttributeIterator.cpp */; }; - 2937D16E1D18D403001C2A1A /* XElementIterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1561D18D403001C2A1A /* XElementIterator.cpp */; }; - 2937D1711D18D403001C2A1A /* XFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1591D18D403001C2A1A /* XFactory.cpp */; }; - 29398BA81DB1561200475CD5 /* NoteWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29398BA51DB1561200475CD5 /* NoteWriter.cpp */; }; - 29398BA91DB1561200475CD5 /* NoteWriter.h in Headers */ = {isa = PBXBuildFile; fileRef = 29398BA61DB1561200475CD5 /* NoteWriter.h */; }; - 29398BB01DB1917B00475CD5 /* NotationsWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29398BAE1DB1917B00475CD5 /* NotationsWriter.cpp */; }; - 29398BB11DB1917B00475CD5 /* NotationsWriter.h in Headers */ = {isa = PBXBuildFile; fileRef = 29398BAF1DB1917B00475CD5 /* NotationsWriter.h */; }; - 293F00001DD25CF1001477E8 /* LyricLanguageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FF1D295C5300B90302 /* LyricLanguageAttributes.cpp */; }; - 293F00011DD25CF1001477E8 /* LyricTextChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547001D295C5300B90302 /* LyricTextChoice.cpp */; }; - 293F00021DD25CF1001477E8 /* MeasureAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547011D295C5300B90302 /* MeasureAttributes.cpp */; }; - 293F00031DD25CF1001477E8 /* MeasureDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547021D295C5300B90302 /* MeasureDistance.cpp */; }; - 293F00041DD25CF1001477E8 /* MeasureLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547031D295C5300B90302 /* MeasureLayout.cpp */; }; - 293F00051DD25CF1001477E8 /* MeasureNumbering.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547041D295C5300B90302 /* MeasureNumbering.cpp */; }; - 293F00061DD25CF1001477E8 /* MeasureNumberingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547051D295C5300B90302 /* MeasureNumberingAttributes.cpp */; }; - 293F00071DD25CF1001477E8 /* MeasureRepeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547061D295C5300B90302 /* MeasureRepeat.cpp */; }; - 293F00081DD25CF1001477E8 /* MeasureRepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547071D295C5300B90302 /* MeasureRepeatAttributes.cpp */; }; - 293F00091DD25CF1001477E8 /* MeasureStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547081D295C5300B90302 /* MeasureStyle.cpp */; }; - 293F000A1DD25CF1001477E8 /* MeasureStyleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547091D295C5300B90302 /* MeasureStyleAttributes.cpp */; }; - 293F000B1DD25CF1001477E8 /* MeasureStyleChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470A1D295C5300B90302 /* MeasureStyleChoice.cpp */; }; - 293F000C1DD25CF1001477E8 /* Membrane.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470B1D295C5300B90302 /* Membrane.cpp */; }; - 293F000D1DD25CF1001477E8 /* Metal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470C1D295C5300B90302 /* Metal.cpp */; }; - 293F000E1DD25CF1001477E8 /* Metronome.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470D1D295C5300B90302 /* Metronome.cpp */; }; - 293F000F1DD25CF1001477E8 /* MetronomeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470E1D295C5300B90302 /* MetronomeAttributes.cpp */; }; - 293F00101DD25CF1001477E8 /* MetronomeBeam.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470F1D295C5300B90302 /* MetronomeBeam.cpp */; }; - 293F00111DD25CF1001477E8 /* MetronomeBeamAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547101D295C5300B90302 /* MetronomeBeamAttributes.cpp */; }; - 293F00121DD25CF1001477E8 /* MetronomeDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547111D295C5300B90302 /* MetronomeDot.cpp */; }; - 293F00131DD25CF1001477E8 /* MetronomeNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547121D295C5300B90302 /* MetronomeNote.cpp */; }; - 293F00141DD25CF1001477E8 /* MetronomeRelation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547131D295C5300B90302 /* MetronomeRelation.cpp */; }; - 293F00151DD25CF1001477E8 /* MetronomeRelationGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547141D295C5300B90302 /* MetronomeRelationGroup.cpp */; }; - 293F00161DD25CF1001477E8 /* MetronomeTuplet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547151D295C5300B90302 /* MetronomeTuplet.cpp */; }; - 293F00171DD25CF1001477E8 /* MetronomeTupletAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547161D295C5300B90302 /* MetronomeTupletAttributes.cpp */; }; - 293F00181DD25CF1001477E8 /* MetronomeType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547171D295C5300B90302 /* MetronomeType.cpp */; }; - 293F00191DD25CF1001477E8 /* MidiBank.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547181D295C5300B90302 /* MidiBank.cpp */; }; - 293F001A1DD25CF1001477E8 /* MidiChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547191D295C5300B90302 /* MidiChannel.cpp */; }; - 293F001B1DD25CF1001477E8 /* MidiDevice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471A1D295C5300B90302 /* MidiDevice.cpp */; }; - 293F001C1DD25CF1001477E8 /* MidiDeviceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471B1D295C5300B90302 /* MidiDeviceAttributes.cpp */; }; - 293F001D1DD25CF1001477E8 /* MidiDeviceInstrumentGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471C1D295C5300B90302 /* MidiDeviceInstrumentGroup.cpp */; }; - 293F001E1DD25CF1001477E8 /* MidiInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471D1D295C5300B90302 /* MidiInstrument.cpp */; }; - 293F001F1DD25CF1001477E8 /* MidiInstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471E1D295C5300B90302 /* MidiInstrumentAttributes.cpp */; }; - 293F00201DD25CF1001477E8 /* MidiName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471F1D295C5300B90302 /* MidiName.cpp */; }; - 293F00211DD25CF1001477E8 /* MidiProgram.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547201D295C5300B90302 /* MidiProgram.cpp */; }; - 293F00221DD25CF1001477E8 /* MidiUnpitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547211D295C5300B90302 /* MidiUnpitched.cpp */; }; - 293F00231DD25CF1001477E8 /* Millimeters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547221D295C5300B90302 /* Millimeters.cpp */; }; - 293F00241DD25CF1001477E8 /* Miscellaneous.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547231D295C5300B90302 /* Miscellaneous.cpp */; }; - 293F00251DD25CF1001477E8 /* MiscellaneousField.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547241D295C5300B90302 /* MiscellaneousField.cpp */; }; - 293F00261DD25CF1001477E8 /* MiscellaneousFieldAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547251D295C5300B90302 /* MiscellaneousFieldAttributes.cpp */; }; - 293F00271DD25CF1001477E8 /* Mode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547261D295C5300B90302 /* Mode.cpp */; }; - 293F00281DD25CF1001477E8 /* Mordent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547271D295C5300B90302 /* Mordent.cpp */; }; - 293F00291DD25CF1001477E8 /* MordentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547281D295C5300B90302 /* MordentAttributes.cpp */; }; - 293F002A1DD25CF1001477E8 /* MovementNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547291D295C5300B90302 /* MovementNumber.cpp */; }; - 293F002B1DD25CF1001477E8 /* MovementTitle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472A1D295C5300B90302 /* MovementTitle.cpp */; }; - 293F002C1DD25CF1001477E8 /* MultipleRest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472B1D295C5300B90302 /* MultipleRest.cpp */; }; - 293F002D1DD25CF1001477E8 /* MultipleRestAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472C1D295C5400B90302 /* MultipleRestAttributes.cpp */; }; - 293F002E1DD25CF1001477E8 /* MusicDataChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472D1D295C5400B90302 /* MusicDataChoice.cpp */; }; - 293F002F1DD25CF1001477E8 /* MusicDataGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472E1D295C5400B90302 /* MusicDataGroup.cpp */; }; - 293F00301DD25CF1001477E8 /* MusicFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472F1D295C5400B90302 /* MusicFont.cpp */; }; - 293F00311DD25CF1001477E8 /* Mute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547301D295C5400B90302 /* Mute.cpp */; }; - 293F00321DD25CF1001477E8 /* Natural.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547311D295C5400B90302 /* Natural.cpp */; }; - 293F00331DD25CF1001477E8 /* NonArpeggiate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547321D295C5400B90302 /* NonArpeggiate.cpp */; }; - 293F00341DD25CF1001477E8 /* NonArpeggiateAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547331D295C5400B90302 /* NonArpeggiateAttributes.cpp */; }; - 293F00351DD25CF1001477E8 /* NonTraditionalKey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547341D295C5400B90302 /* NonTraditionalKey.cpp */; }; - 293F00361DD25CF1001477E8 /* NormalDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547351D295C5400B90302 /* NormalDot.cpp */; }; - 293F00371DD25CF1001477E8 /* NormalNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547361D295C5400B90302 /* NormalNoteGroup.cpp */; }; - 293F00381DD25CF1001477E8 /* NormalNotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547371D295C5400B90302 /* NormalNotes.cpp */; }; - 293F00391DD25CF1001477E8 /* NormalType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547381D295C5400B90302 /* NormalType.cpp */; }; - 293F003A1DD25CF1001477E8 /* NormalTypeNormalDotGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547391D295C5400B90302 /* NormalTypeNormalDotGroup.cpp */; }; - 293F003B1DD25CF1001477E8 /* Notations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473A1D295C5400B90302 /* Notations.cpp */; }; - 293F003C1DD25CF2001477E8 /* NotationsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473B1D295C5400B90302 /* NotationsAttributes.cpp */; }; - 293F003D1DD25CF2001477E8 /* NotationsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473C1D295C5400B90302 /* NotationsChoice.cpp */; }; - 293F003E1DD25CF2001477E8 /* Note.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473D1D295C5400B90302 /* Note.cpp */; }; - 293F003F1DD25CF2001477E8 /* NoteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473E1D295C5400B90302 /* NoteAttributes.cpp */; }; - 293F00401DD25CF2001477E8 /* NoteChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473F1D295C5400B90302 /* NoteChoice.cpp */; }; - 293F00411DD25CF2001477E8 /* Notehead.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547401D295C5400B90302 /* Notehead.cpp */; }; - 293F00421DD25CF2001477E8 /* NoteheadAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547411D295C5400B90302 /* NoteheadAttributes.cpp */; }; - 293F00431DD25CF2001477E8 /* NoteheadText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547421D295C5400B90302 /* NoteheadText.cpp */; }; - 293F00441DD25CF2001477E8 /* NoteheadTextChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 295C49361D2CB41E0015E349 /* NoteheadTextChoice.cpp */; }; - 293F00451DD25CF2001477E8 /* NoteRelationNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547431D295C5400B90302 /* NoteRelationNote.cpp */; }; - 293F00461DD25CF2001477E8 /* NoteSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547441D295C5400B90302 /* NoteSize.cpp */; }; - 293F00471DD25CF2001477E8 /* NoteSizeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547451D295C5400B90302 /* NoteSizeAttributes.cpp */; }; - 293F00481DD25CF2001477E8 /* Octave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547461D295C5400B90302 /* Octave.cpp */; }; - 293F00491DD25CF2001477E8 /* OctaveChange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547471D295C5400B90302 /* OctaveChange.cpp */; }; - 293F004A1DD25CF2001477E8 /* OctaveShift.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547481D295C5400B90302 /* OctaveShift.cpp */; }; - 293F004B1DD25CF2001477E8 /* OctaveShiftAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547491D295C5400B90302 /* OctaveShiftAttributes.cpp */; }; - 293F004C1DD25CF2001477E8 /* Offset.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474A1D295C5400B90302 /* Offset.cpp */; }; - 293F004D1DD25CF2001477E8 /* OffsetAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474B1D295C5400B90302 /* OffsetAttributes.cpp */; }; - 293F004E1DD25CF2001477E8 /* OpenString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474C1D295C5400B90302 /* OpenString.cpp */; }; - 293F004F1DD25CF2001477E8 /* Opus.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474D1D295C5400B90302 /* Opus.cpp */; }; - 293F00501DD25CF2001477E8 /* OpusAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474E1D295C5400B90302 /* OpusAttributes.cpp */; }; - 293F00511DD25CF2001477E8 /* Ornaments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474F1D295C5400B90302 /* Ornaments.cpp */; }; - 293F00521DD25CF2001477E8 /* OrnamentsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547501D295C5400B90302 /* OrnamentsChoice.cpp */; }; - 293F00531DD25CF2001477E8 /* OtherAppearance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547511D295C5400B90302 /* OtherAppearance.cpp */; }; - 293F00541DD25CF2001477E8 /* OtherAppearanceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547521D295C5400B90302 /* OtherAppearanceAttributes.cpp */; }; - 293F00551DD25CF2001477E8 /* OtherArticulation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547531D295C5400B90302 /* OtherArticulation.cpp */; }; - 293F00561DD25CF2001477E8 /* OtherArticulationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547541D295C5400B90302 /* OtherArticulationAttributes.cpp */; }; - 293F00571DD25CF2001477E8 /* OtherDirection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547551D295C5400B90302 /* OtherDirection.cpp */; }; - 293F00581DD25CF2001477E8 /* OtherDirectionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547561D295C5400B90302 /* OtherDirectionAttributes.cpp */; }; - 293F00591DD25CF2001477E8 /* OtherNotation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547571D295C5400B90302 /* OtherNotation.cpp */; }; - 293F005A1DD25CF2001477E8 /* OtherNotationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547581D295C5400B90302 /* OtherNotationAttributes.cpp */; }; - 293F005B1DD25CF2001477E8 /* OtherOrnament.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547591D295C5400B90302 /* OtherOrnament.cpp */; }; - 293F005C1DD25CF2001477E8 /* OtherOrnamentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475A1D295C5400B90302 /* OtherOrnamentAttributes.cpp */; }; - 293F005D1DD25CF2001477E8 /* OtherPercussion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475B1D295C5400B90302 /* OtherPercussion.cpp */; }; - 293F005E1DD25CF2001477E8 /* OtherPlay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475C1D295C5400B90302 /* OtherPlay.cpp */; }; - 293F005F1DD25CF2001477E8 /* OtherPlayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475D1D295C5400B90302 /* OtherPlayAttributes.cpp */; }; - 293F00601DD25CF2001477E8 /* OtherTechnical.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475E1D295C5400B90302 /* OtherTechnical.cpp */; }; - 293F00611DD25CF2001477E8 /* OtherTechnicalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475F1D295C5400B90302 /* OtherTechnicalAttributes.cpp */; }; - 293F00621DD25CF2001477E8 /* PageHeight.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547601D295C5400B90302 /* PageHeight.cpp */; }; - 293F00631DD25CF2001477E8 /* PageLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547611D295C5400B90302 /* PageLayout.cpp */; }; - 293F00641DD25CF2001477E8 /* PageMargins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547621D295C5400B90302 /* PageMargins.cpp */; }; - 293F00651DD25CF2001477E8 /* PageMarginsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547631D295C5400B90302 /* PageMarginsAttributes.cpp */; }; - 293F00661DD25CF2001477E8 /* PageWidth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547641D295C5400B90302 /* PageWidth.cpp */; }; - 293F00671DD25CF2001477E8 /* Pan.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547651D295C5400B90302 /* Pan.cpp */; }; - 293F00681DD25CF2001477E8 /* PartAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547661D295C5400B90302 /* PartAbbreviation.cpp */; }; - 293F00691DD25CF2001477E8 /* PartAbbreviationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547671D295C5400B90302 /* PartAbbreviationAttributes.cpp */; }; - 293F006A1DD25CF2001477E8 /* PartAbbreviationDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547681D295C5400B90302 /* PartAbbreviationDisplay.cpp */; }; - 293F006B1DD25CF2001477E8 /* PartAbbreviationDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547691D295C5400B90302 /* PartAbbreviationDisplayAttributes.cpp */; }; - 293F006C1DD25CF2001477E8 /* PartAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476A1D295C5400B90302 /* PartAttributes.cpp */; }; - 293F006D1DD25CF2001477E8 /* PartGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476B1D295C5400B90302 /* PartGroup.cpp */; }; - 293F006E1DD25CF2001477E8 /* PartGroupAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476C1D295C5400B90302 /* PartGroupAttributes.cpp */; }; - 293F006F1DD25CF2001477E8 /* PartGroupOrScorePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476D1D295C5400B90302 /* PartGroupOrScorePart.cpp */; }; - 293F00701DD25CF2001477E8 /* PartList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476E1D295C5400B90302 /* PartList.cpp */; }; - 293F00711DD25CF2001477E8 /* PartName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476F1D295C5400B90302 /* PartName.cpp */; }; - 293F00721DD25CF2001477E8 /* PartNameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547701D295C5400B90302 /* PartNameAttributes.cpp */; }; - 293F00731DD25CF2001477E8 /* PartNameDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547711D295C5400B90302 /* PartNameDisplay.cpp */; }; - 293F00741DD25CF2001477E8 /* PartNameDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547721D295C5400B90302 /* PartNameDisplayAttributes.cpp */; }; - 293F00751DD25CF2001477E8 /* PartSymbol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547731D295C5400B90302 /* PartSymbol.cpp */; }; - 293F00761DD25CF2001477E8 /* PartSymbolAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547741D295C5400B90302 /* PartSymbolAttributes.cpp */; }; - 293F00771DD25CF2001477E8 /* PartwiseMeasure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547751D295C5400B90302 /* PartwiseMeasure.cpp */; }; - 293F00781DD25CF2001477E8 /* PartwisePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547761D295C5400B90302 /* PartwisePart.cpp */; }; - 293F00791DD25CF2001477E8 /* Pedal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547771D295C5400B90302 /* Pedal.cpp */; }; - 293F007A1DD25CF2001477E8 /* PedalAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547781D295C5400B90302 /* PedalAlter.cpp */; }; - 293F007B1DD25CF2001477E8 /* PedalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547791D295C5400B90302 /* PedalAttributes.cpp */; }; - 293F007C1DD25CF2001477E8 /* PedalStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477A1D295C5400B90302 /* PedalStep.cpp */; }; - 293F007D1DD25CF2001477E8 /* PedalTuning.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477B1D295C5400B90302 /* PedalTuning.cpp */; }; - 293F007E1DD25CF2001477E8 /* Percussion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477C1D295C5400B90302 /* Percussion.cpp */; }; - 293F007F1DD25CF2001477E8 /* PercussionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477D1D295C5400B90302 /* PercussionAttributes.cpp */; }; - 293F00801DD25CF2001477E8 /* PercussionChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477E1D295C5400B90302 /* PercussionChoice.cpp */; }; - 293F00811DD25CF2001477E8 /* PerMinute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477F1D295C5400B90302 /* PerMinute.cpp */; }; - 293F00821DD25CF2001477E8 /* PerMinuteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547801D295C5400B90302 /* PerMinuteAttributes.cpp */; }; - 293F00831DD25CF2001477E8 /* PerMinuteOrBeatUnitChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547811D295C5400B90302 /* PerMinuteOrBeatUnitChoice.cpp */; }; - 293F00841DD25CF2001477E8 /* Pitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547821D295C5400B90302 /* Pitch.cpp */; }; - 293F00851DD25CF2001477E8 /* Pitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547831D295C5400B90302 /* Pitched.cpp */; }; - 293F00861DD25CF2001477E8 /* Play.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547841D295C5400B90302 /* Play.cpp */; }; - 293F00871DD25CF2001477E8 /* PlayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547851D295C5400B90302 /* PlayAttributes.cpp */; }; - 293F00881DD25CF2001477E8 /* Plop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547861D295C5400B90302 /* Plop.cpp */; }; - 293F00891DD25CF2001477E8 /* Pluck.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547871D295C5400B90302 /* Pluck.cpp */; }; - 293F008A1DD25CF2001477E8 /* PluckAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547881D295C5400B90302 /* PluckAttributes.cpp */; }; - 293F008B1DD25CF2001477E8 /* PreBend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547891D295C5400B90302 /* PreBend.cpp */; }; - 293F008C1DD25CF2001477E8 /* Prefix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478A1D295C5400B90302 /* Prefix.cpp */; }; - 293F008D1DD25CF2001477E8 /* PrefixAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478B1D295C5400B90302 /* PrefixAttributes.cpp */; }; - 293F008E1DD25CF2001477E8 /* PrincipalVoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478C1D295C5400B90302 /* PrincipalVoice.cpp */; }; - 293F008F1DD25CF2001477E8 /* PrincipalVoiceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478D1D295C5400B90302 /* PrincipalVoiceAttributes.cpp */; }; - 293F00901DD25CF2001477E8 /* Print.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478E1D295C5400B90302 /* Print.cpp */; }; - 293F00911DD25CF2001477E8 /* PrintAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478F1D295C5400B90302 /* PrintAttributes.cpp */; }; - 293F00921DD25CF2001477E8 /* Properties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547901D295C5400B90302 /* Properties.cpp */; }; - 293F00931DD25CF2001477E8 /* PullOff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547911D295C5400B90302 /* PullOff.cpp */; }; - 293F00941DD25CF2001477E8 /* PullOffAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547921D295C5400B90302 /* PullOffAttributes.cpp */; }; - 293F00951DD25CF2001477E8 /* Rehearsal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547931D295C5400B90302 /* Rehearsal.cpp */; }; - 293F00961DD25CF2001477E8 /* RehearsalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547941D295C5400B90302 /* RehearsalAttributes.cpp */; }; - 293F00971DD25CF2001477E8 /* Relation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547951D295C5400B90302 /* Relation.cpp */; }; - 293F00981DD25CF2001477E8 /* RelationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547961D295C5400B90302 /* RelationAttributes.cpp */; }; - 293F00991DD25CF2001477E8 /* Release.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547971D295C5400B90302 /* Release.cpp */; }; - 293F009A1DD25CF2001477E8 /* Repeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547981D295C5400B90302 /* Repeat.cpp */; }; - 293F009B1DD25CF2001477E8 /* RepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547991D295C5400B90302 /* RepeatAttributes.cpp */; }; - 293F009C1DD25CF2001477E8 /* Rest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479A1D295C5400B90302 /* Rest.cpp */; }; - 293F009D1DD25CF2001477E8 /* RestAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479B1D295C5400B90302 /* RestAttributes.cpp */; }; - 293F009E1DD25CF2001477E8 /* RightDivider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479C1D295C5400B90302 /* RightDivider.cpp */; }; - 293F009F1DD25CF2001477E8 /* RightMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479D1D295C5400B90302 /* RightMargin.cpp */; }; - 293F00A01DD25CF2001477E8 /* Rights.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479E1D295C5400B90302 /* Rights.cpp */; }; - 293F00A11DD25CF2001477E8 /* RightsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479F1D295C5400B90302 /* RightsAttributes.cpp */; }; - 293F00A21DD25CF2001477E8 /* Root.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A01D295C5400B90302 /* Root.cpp */; }; - 293F00A31DD25CF2001477E8 /* RootAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A11D295C5400B90302 /* RootAlter.cpp */; }; - 293F00A41DD25CF2001477E8 /* RootAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A21D295C5400B90302 /* RootAlterAttributes.cpp */; }; - 293F00A51DD25CF2001477E8 /* RootStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A31D295C5400B90302 /* RootStep.cpp */; }; - 293F00A61DD25CF2001477E8 /* RootStepAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A41D295C5400B90302 /* RootStepAttributes.cpp */; }; - 293F00A71DD25CF2001477E8 /* Scaling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A51D295C5400B90302 /* Scaling.cpp */; }; - 293F00A81DD25CF2001477E8 /* Schleifer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A61D295C5400B90302 /* Schleifer.cpp */; }; - 293F00A91DD25CF2001477E8 /* Scoop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A71D295C5400B90302 /* Scoop.cpp */; }; - 293F00AA1DD25CF2001477E8 /* Scordatura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A81D295C5400B90302 /* Scordatura.cpp */; }; - 293F00AB1DD25CF2001477E8 /* ScoreHeaderGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A91D295C5400B90302 /* ScoreHeaderGroup.cpp */; }; - 293F00AC1DD25CF2001477E8 /* ScoreInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AA1D295C5400B90302 /* ScoreInstrument.cpp */; }; - 293F00AD1DD25CF2001477E8 /* ScoreInstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AB1D295C5400B90302 /* ScoreInstrumentAttributes.cpp */; }; - 293F00AE1DD25CF2001477E8 /* ScorePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AC1D295C5400B90302 /* ScorePart.cpp */; }; - 293F00AF1DD25CF2001477E8 /* ScorePartAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AD1D295C5400B90302 /* ScorePartAttributes.cpp */; }; - 293F00B01DD25CF2001477E8 /* ScorePartwise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AE1D295C5400B90302 /* ScorePartwise.cpp */; }; - 293F00B11DD25CF2001477E8 /* ScorePartwiseAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AF1D295C5400B90302 /* ScorePartwiseAttributes.cpp */; }; - 293F00B21DD25CF2001477E8 /* ScoreTimewise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B01D295C5400B90302 /* ScoreTimewise.cpp */; }; - 293F00B31DD25CF2001477E8 /* ScoreTimewiseAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B11D295C5400B90302 /* ScoreTimewiseAttributes.cpp */; }; - 293F00B41DD25CF2001477E8 /* Segno.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B21D295C5400B90302 /* Segno.cpp */; }; - 293F00B51DD25CF2001477E8 /* SemiPitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B31D295C5400B90302 /* SemiPitched.cpp */; }; - 293F00B61DD25CF2001477E8 /* SenzaMisura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B41D295C5400B90302 /* SenzaMisura.cpp */; }; - 293F00B71DD25CF2001477E8 /* Shake.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B51D295C5400B90302 /* Shake.cpp */; }; - 293F00B81DD25CF2001477E8 /* Sign.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B61D295C5400B90302 /* Sign.cpp */; }; - 293F00B91DD25CF2001477E8 /* Slash.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B71D295C5400B90302 /* Slash.cpp */; }; - 293F00BA1DD25CF2001477E8 /* SlashAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B81D295C5400B90302 /* SlashAttributes.cpp */; }; - 293F00BB1DD25CF2001477E8 /* SlashDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B91D295C5400B90302 /* SlashDot.cpp */; }; - 293F00BC1DD25CF2001477E8 /* SlashType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BA1D295C5400B90302 /* SlashType.cpp */; }; - 293F00BD1DD25CF2001477E8 /* Slide.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BB1D295C5400B90302 /* Slide.cpp */; }; - 293F00BE1DD25CF2001477E8 /* SlideAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BC1D295C5400B90302 /* SlideAttributes.cpp */; }; - 293F00BF1DD25CF2001477E8 /* Slur.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BD1D295C5400B90302 /* Slur.cpp */; }; - 293F00C01DD25CF2001477E8 /* SlurAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BE1D295C5400B90302 /* SlurAttributes.cpp */; }; - 293F00C11DD25CF2001477E8 /* SnapPizzicato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BF1D295C5400B90302 /* SnapPizzicato.cpp */; }; - 293F00C21DD25CF2001477E8 /* Software.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C01D295C5400B90302 /* Software.cpp */; }; - 293F00C31DD25CF2001477E8 /* Solo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C11D295C5400B90302 /* Solo.cpp */; }; - 293F00C41DD25CF2001477E8 /* SoloOrEnsembleChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C21D295C5400B90302 /* SoloOrEnsembleChoice.cpp */; }; - 293F00C51DD25CF2001477E8 /* Sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C31D295C5400B90302 /* Sound.cpp */; }; - 293F00C61DD25CF2001477E8 /* SoundAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C41D295C5400B90302 /* SoundAttributes.cpp */; }; - 293F00C71DD25CF2001477E8 /* SoundingPitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C51D295C5400B90302 /* SoundingPitch.cpp */; }; - 293F00C81DD25CF2001477E8 /* Source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C61D295C5400B90302 /* Source.cpp */; }; - 293F00C91DD25CF2001477E8 /* Spiccato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C71D295C5400B90302 /* Spiccato.cpp */; }; - 293F00CA1DD25CF2001477E8 /* Staccatissimo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C81D295C5400B90302 /* Staccatissimo.cpp */; }; - 293F00CB1DD25CF2001477E8 /* Staccato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C91D295C5400B90302 /* Staccato.cpp */; }; - 293F00CC1DD25CF2001477E8 /* Staff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CA1D295C5400B90302 /* Staff.cpp */; }; - 293F00CD1DD25CF2001477E8 /* StaffDetails.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CB1D295C5400B90302 /* StaffDetails.cpp */; }; - 293F00CE1DD25CF2001477E8 /* StaffDetailsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CC1D295C5400B90302 /* StaffDetailsAttributes.cpp */; }; - 293F00CF1DD25CF2001477E8 /* StaffDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CD1D295C5400B90302 /* StaffDistance.cpp */; }; - 293F00D01DD25CF2001477E8 /* StaffLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CE1D295C5400B90302 /* StaffLayout.cpp */; }; - 293F00D11DD25CF2001477E8 /* StaffLayoutAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CF1D295C5400B90302 /* StaffLayoutAttributes.cpp */; }; - 293F00D21DD25CF2001477E8 /* StaffLines.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D01D295C5400B90302 /* StaffLines.cpp */; }; - 293F00D31DD25CF2001477E8 /* StaffSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D11D295C5400B90302 /* StaffSize.cpp */; }; - 293F00D41DD25CF2001477E8 /* StaffTuning.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D21D295C5400B90302 /* StaffTuning.cpp */; }; - 293F00D51DD25CF2001477E8 /* StaffTuningAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D31D295C5400B90302 /* StaffTuningAttributes.cpp */; }; - 293F00D61DD25CF2001477E8 /* StaffType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D41D295C5400B90302 /* StaffType.cpp */; }; - 293F00D71DD25CF2001477E8 /* Staves.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D51D295C5400B90302 /* Staves.cpp */; }; - 293F00D81DD25CF2001477E8 /* Stem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D61D295C5400B90302 /* Stem.cpp */; }; - 293F00D91DD25CF2001477E8 /* StemAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D71D295C5400B90302 /* StemAttributes.cpp */; }; - 293F00DA1DD25CF2001477E8 /* Step.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D81D295C5400B90302 /* Step.cpp */; }; - 293F00DB1DD25CF2001477E8 /* Stick.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D91D295C5400B90302 /* Stick.cpp */; }; - 293F00DC1DD25CF2001477E8 /* StickAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DA1D295C5400B90302 /* StickAttributes.cpp */; }; - 293F00DD1DD25CF2001477E8 /* StickLocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DB1D295C5400B90302 /* StickLocation.cpp */; }; - 293F00DE1DD25CF2001477E8 /* StickMaterial.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DC1D295C5400B90302 /* StickMaterial.cpp */; }; - 293F00DF1DD25CF2001477E8 /* StickType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DD1D295C5400B90302 /* StickType.cpp */; }; - 293F00E01DD25CF2001477E8 /* Stopped.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DE1D295C5400B90302 /* Stopped.cpp */; }; - 293F00E11DD25CF2001477E8 /* Stress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DF1D295C5400B90302 /* Stress.cpp */; }; - 293F00E21DD25CF2001477E8 /* String.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E01D295C5400B90302 /* String.cpp */; }; - 293F00E31DD25CF2001477E8 /* StringAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E11D295C5400B90302 /* StringAttributes.cpp */; }; - 293F00E41DD25CF2001477E8 /* StringMute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E21D295C5400B90302 /* StringMute.cpp */; }; - 293F00E51DD25CF2001477E8 /* StringMuteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E31D295C5400B90302 /* StringMuteAttributes.cpp */; }; - 293F00E61DD25CF2001477E8 /* StrongAccent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E41D295C5400B90302 /* StrongAccent.cpp */; }; - 293F00E71DD25CF2001477E8 /* StrongAccentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E51D295C5400B90302 /* StrongAccentAttributes.cpp */; }; - 293F00E81DD25CF2001477E8 /* Suffix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E61D295C5400B90302 /* Suffix.cpp */; }; - 293F00E91DD25CF2001477E8 /* SuffixAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E71D295C5400B90302 /* SuffixAttributes.cpp */; }; - 293F00EA1DD25CF2001477E8 /* Supports.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E81D295C5400B90302 /* Supports.cpp */; }; - 293F00EB1DD25CF2001477E8 /* SupportsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E91D295C5400B90302 /* SupportsAttributes.cpp */; }; - 293F00EC1DD25CF2001477E8 /* Syllabic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EA1D295C5400B90302 /* Syllabic.cpp */; }; - 293F00ED1DD25CF2001477E8 /* SyllabicTextGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EB1D295C5400B90302 /* SyllabicTextGroup.cpp */; }; - 293F00EE1DD25CF2001477E8 /* SystemDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EC1D295C5400B90302 /* SystemDistance.cpp */; }; - 293F00EF1DD25CF2001477E8 /* SystemDividers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547ED1D295C5400B90302 /* SystemDividers.cpp */; }; - 293F00F01DD25CF2001477E8 /* SystemLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EE1D295C5400B90302 /* SystemLayout.cpp */; }; - 293F00F11DD25CF2001477E8 /* SystemMargins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EF1D295C5400B90302 /* SystemMargins.cpp */; }; - 293F00F21DD25CF2001477E8 /* Tap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F01D295C5400B90302 /* Tap.cpp */; }; - 293F00F31DD25CF2001477E8 /* TapAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F11D295C5400B90302 /* TapAttributes.cpp */; }; - 293F00F41DD25CF2001477E8 /* Technical.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F21D295C5400B90302 /* Technical.cpp */; }; - 293F00F51DD25CF2001477E8 /* TechnicalChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F31D295C5400B90302 /* TechnicalChoice.cpp */; }; - 293F00F61DD25CF2001477E8 /* Tenths.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F41D295C5400B90302 /* Tenths.cpp */; }; - 293F00F71DD25CF2001477E8 /* Tenuto.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F51D295C5400B90302 /* Tenuto.cpp */; }; - 293F00F81DD25CF2001477E8 /* Text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F61D295C5400B90302 /* Text.cpp */; }; - 293F00F91DD25CF2001477E8 /* TextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F71D295C5400B90302 /* TextAttributes.cpp */; }; - 293F00FA1DD25CF2001477E8 /* ThumbPosition.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F81D295C5400B90302 /* ThumbPosition.cpp */; }; - 293F00FB1DD25CF2001477E8 /* Tie.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F91D295C5400B90302 /* Tie.cpp */; }; - 293F00FC1DD25CF2001477E8 /* TieAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FA1D295C5400B90302 /* TieAttributes.cpp */; }; - 293F00FD1DD25CF2001477E8 /* Tied.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FB1D295C5400B90302 /* Tied.cpp */; }; - 293F00FE1DD25CF2001477E8 /* TiedAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FC1D295C5400B90302 /* TiedAttributes.cpp */; }; - 293F00FF1DD25CF2001477E8 /* Time.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FD1D295C5400B90302 /* Time.cpp */; }; - 293F01001DD25CF2001477E8 /* TimeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FE1D295C5400B90302 /* TimeAttributes.cpp */; }; - 293F01011DD25CF2001477E8 /* TimeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FF1D295C5400B90302 /* TimeChoice.cpp */; }; - 293F01021DD25CF2001477E8 /* TimeModification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548001D295C5400B90302 /* TimeModification.cpp */; }; - 293F01031DD25CF2001477E8 /* TimeModificationNormalTypeNormalDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548011D295C5400B90302 /* TimeModificationNormalTypeNormalDot.cpp */; }; - 293F01041DD25CF2001477E8 /* TimeRelation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548021D295C5400B90302 /* TimeRelation.cpp */; }; - 293F01051DD25CF2001477E8 /* TimeSignatureGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548031D295C5400B90302 /* TimeSignatureGroup.cpp */; }; - 293F01061DD25CF2001477E8 /* TimewiseMeasure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548041D295C5400B90302 /* TimewiseMeasure.cpp */; }; - 293F01071DD25CF2001477E8 /* TimewisePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548051D295C5400B90302 /* TimewisePart.cpp */; }; - 293F01081DD25CF2001477E8 /* Timpani.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548061D295C5400B90302 /* Timpani.cpp */; }; - 293F01091DD25CF2001477E8 /* Toe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548071D295C5400B90302 /* Toe.cpp */; }; - 293F010A1DD25CF2001477E8 /* ToeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548081D295C5400B90302 /* ToeAttributes.cpp */; }; - 293F010B1DD25CF2001477E8 /* TopMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548091D295C5400B90302 /* TopMargin.cpp */; }; - 293F010C1DD25CF2001477E8 /* TopSystemDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480A1D295C5400B90302 /* TopSystemDistance.cpp */; }; - 293F010D1DD25CF2001477E8 /* TouchingPitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480B1D295C5400B90302 /* TouchingPitch.cpp */; }; - 293F010E1DD25CF2001477E8 /* TraditionalKey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480C1D295C5400B90302 /* TraditionalKey.cpp */; }; - 293F010F1DD25CF2001477E8 /* Transpose.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480D1D295C5400B90302 /* Transpose.cpp */; }; - 293F01101DD25CF2001477E8 /* TransposeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480E1D295C5400B90302 /* TransposeAttributes.cpp */; }; - 293F01111DD25CF2001477E8 /* Tremolo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480F1D295C5400B90302 /* Tremolo.cpp */; }; - 293F01121DD25CF2001477E8 /* TremoloAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548101D295C5400B90302 /* TremoloAttributes.cpp */; }; - 293F01131DD25CF2001477E8 /* TrillMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548111D295C5400B90302 /* TrillMark.cpp */; }; - 293F01141DD25CF2001477E8 /* TripleTongue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548121D295C5400B90302 /* TripleTongue.cpp */; }; - 293F01151DD25CF2001477E8 /* TuningAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548131D295C5400B90302 /* TuningAlter.cpp */; }; - 293F01161DD25CF2001477E8 /* TuningOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548141D295C5400B90302 /* TuningOctave.cpp */; }; - 293F01171DD25CF2001477E8 /* TuningStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548151D295C5400B90302 /* TuningStep.cpp */; }; - 293F01181DD25CF2001477E8 /* Tuplet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548161D295C5400B90302 /* Tuplet.cpp */; }; - 293F01191DD25CF2001477E8 /* TupletActual.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548171D295C5400B90302 /* TupletActual.cpp */; }; - 293F011A1DD25CF2001477E8 /* TupletAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548181D295C5400B90302 /* TupletAttributes.cpp */; }; - 293F011B1DD25CF2001477E8 /* TupletDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548191D295C5400B90302 /* TupletDot.cpp */; }; - 293F011C1DD25CF2001477E8 /* TupletDotAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481A1D295C5400B90302 /* TupletDotAttributes.cpp */; }; - 293F011D1DD25CF2001477E8 /* TupletNormal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481B1D295C5400B90302 /* TupletNormal.cpp */; }; - 293F011E1DD25CF2001477E8 /* TupletNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481C1D295C5500B90302 /* TupletNumber.cpp */; }; - 293F011F1DD25CF2001477E8 /* TupletNumberAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481D1D295C5500B90302 /* TupletNumberAttributes.cpp */; }; - 293F01201DD25CF2001477E8 /* TupletType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481E1D295C5500B90302 /* TupletType.cpp */; }; - 293F01211DD25CF2001477E8 /* TupletTypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481F1D295C5500B90302 /* TupletTypeAttributes.cpp */; }; - 293F01221DD25CF2001477E8 /* Turn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548201D295C5500B90302 /* Turn.cpp */; }; - 293F01231DD25CF2001477E8 /* TurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548211D295C5500B90302 /* TurnAttributes.cpp */; }; - 293F01241DD25CF2001477E8 /* Type.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548221D295C5500B90302 /* Type.cpp */; }; - 293F01251DD25CF2001477E8 /* TypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548231D295C5500B90302 /* TypeAttributes.cpp */; }; - 293F01261DD25CF2001477E8 /* Unpitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548241D295C5500B90302 /* Unpitched.cpp */; }; - 293F01271DD25CF2001477E8 /* Unstress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548251D295C5500B90302 /* Unstress.cpp */; }; - 293F01281DD25CF2001477E8 /* UpBow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548261D295C5500B90302 /* UpBow.cpp */; }; - 293F01291DD25CF2001477E8 /* VerticalTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548271D295C5500B90302 /* VerticalTurn.cpp */; }; - 293F012A1DD25CF2001477E8 /* VirtualInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548281D295C5500B90302 /* VirtualInstrument.cpp */; }; - 293F012B1DD25CF2001477E8 /* VirtualLibrary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548291D295C5500B90302 /* VirtualLibrary.cpp */; }; - 293F012C1DD25CF2001477E8 /* VirtualName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482A1D295C5500B90302 /* VirtualName.cpp */; }; - 293F012D1DD25CF2001477E8 /* Voice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482B1D295C5500B90302 /* Voice.cpp */; }; - 293F012E1DD25CF2001477E8 /* Volume.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482C1D295C5500B90302 /* Volume.cpp */; }; - 293F012F1DD25CF2001477E8 /* WavyLine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482D1D295C5500B90302 /* WavyLine.cpp */; }; - 293F01301DD25CF2001477E8 /* WavyLineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482E1D295C5500B90302 /* WavyLineAttributes.cpp */; }; - 293F01311DD25CF2001477E8 /* Wedge.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482F1D295C5500B90302 /* Wedge.cpp */; }; - 293F01321DD25CF2001477E8 /* WedgeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548301D295C5500B90302 /* WedgeAttributes.cpp */; }; - 293F01331DD25CF2001477E8 /* WithBar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548311D295C5500B90302 /* WithBar.cpp */; }; - 293F01341DD25CF2001477E8 /* WithBarAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548321D295C5500B90302 /* WithBarAttributes.cpp */; }; - 293F01351DD25CF2001477E8 /* Wood.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548331D295C5500B90302 /* Wood.cpp */; }; - 293F01361DD25CF2001477E8 /* WordFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548341D295C5500B90302 /* WordFont.cpp */; }; - 293F01371DD25CF2001477E8 /* Words.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548351D295C5500B90302 /* Words.cpp */; }; - 293F01381DD25CF2001477E8 /* WordsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548361D295C5500B90302 /* WordsAttributes.cpp */; }; - 293F01391DD25CF2001477E8 /* Work.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548371D295C5500B90302 /* Work.cpp */; }; - 293F013A1DD25CF2001477E8 /* WorkNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548381D295C5500B90302 /* WorkNumber.cpp */; }; - 293F013B1DD25CF2001477E8 /* WorkTitle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548391D295C5500B90302 /* WorkTitle.cpp */; }; - 293F013C1DD25CF2001477E8 /* EmptyPrintObjectStyleAlignAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AF61D130B690094BE61 /* EmptyPrintObjectStyleAlignAttributes.cpp */; }; - 293F013D1DD25CF2001477E8 /* Enums.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AF81D130B690094BE61 /* Enums.cpp */; }; - 293F013E1DD25CF2001477E8 /* FontSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AFA1D130B690094BE61 /* FontSize.cpp */; }; - 293F013F1DD25CF2001477E8 /* FromXElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 295DDE0F1D2C0D4D00A2881D /* FromXElement.cpp */; }; - 293F01401DD25CF2001477E8 /* Integers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AFC1D130B690094BE61 /* Integers.cpp */; }; - 293F01411DD25CF2001477E8 /* NumberOrNormal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AFE1D130B690094BE61 /* NumberOrNormal.cpp */; }; - 293F01421DD25CF2001477E8 /* PositiveIntegerOrEmpty.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B001D130B690094BE61 /* PositiveIntegerOrEmpty.cpp */; }; - 293F01431DD25CF2001477E8 /* ScoreConversions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2951A0C31D60F3B700B49A13 /* ScoreConversions.cpp */; }; - 293F01441DD25CF2001477E8 /* Strings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B021D130B690094BE61 /* Strings.cpp */; }; - 293F01451DD25CF2001477E8 /* YesNoNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B041D130B690094BE61 /* YesNoNumber.cpp */; }; - 293F01461DD25CF2001477E8 /* DynamicsWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29979D651DC830AA00707AA4 /* DynamicsWriter.cpp */; }; - 293F01471DD25CF2001477E8 /* AccidentalMarkFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF2FE91DA307D3001FE5DF /* AccidentalMarkFunctions.cpp */; }; - 293F01481DD25CF2001477E8 /* ArticulationsFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF2F781DA2CC1D001FE5DF /* ArticulationsFunctions.cpp */; }; - 293F01491DD25CF2001477E8 /* Converter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2922CC621D9AF28400F8C9C1 /* Converter.cpp */; }; - 293F014A1DD25CF2001477E8 /* Cursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2973065E1D89AB3300B8C0D3 /* Cursor.cpp */; }; - 293F014B1DD25CF2001477E8 /* DirectionReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29766ACA1DAC149900CCE2AC /* DirectionReader.cpp */; }; - 293F014C1DD25CF2001477E8 /* DirectionWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29CD722A1DB82C9200FB7153 /* DirectionWriter.cpp */; }; - 293F014D1DD25CF2001477E8 /* DynamicsReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF2F7C1DA2D450001FE5DF /* DynamicsReader.cpp */; }; - 293F014E1DD25CF2001477E8 /* EncodingFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2913BB871D753FC8006C34A3 /* EncodingFunctions.cpp */; }; - 293F014F1DD25CF2001477E8 /* LayoutFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2913BB891D753FC8006C34A3 /* LayoutFunctions.cpp */; }; - 293F01501DD25CF2001477E8 /* LcmGcd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2927ECA61D888AB30042E080 /* LcmGcd.cpp */; }; - 293F01511DD25CF2001477E8 /* MeasureReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E2B3C81DA81E9700DC61EA /* MeasureReader.cpp */; }; - 293F01521DD25CF2001477E8 /* MeasureWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29B7C4671DAFFDBA009D7D8F /* MeasureWriter.cpp */; }; - 293F01531DD25CF2001477E8 /* MetronomeReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29766AC61DAC014300CCE2AC /* MetronomeReader.cpp */; }; - 293F01541DD25CF2001477E8 /* NotationsWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29398BAE1DB1917B00475CD5 /* NotationsWriter.cpp */; }; - 293F01551DD25CF2001477E8 /* NoteFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2913BB8B1D753FC8006C34A3 /* NoteFunctions.cpp */; }; - 293F01561DD25CF2001477E8 /* NoteReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 297306661D89D08400B8C0D3 /* NoteReader.cpp */; }; - 293F01571DD25CF2001477E8 /* NoteWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29398BA51DB1561200475CD5 /* NoteWriter.cpp */; }; - 293F01581DD25CF2001477E8 /* OrnamentsFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF2FF11DA307D3001FE5DF /* OrnamentsFunctions.cpp */; }; - 293F01591DD25CF2001477E8 /* PageTextFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2913BB8D1D753FC8006C34A3 /* PageTextFunctions.cpp */; }; - 293F015A1DD25CF2001477E8 /* PartReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E2B3CA1DA81E9700DC61EA /* PartReader.cpp */; }; - 293F015B1DD25CF2001477E8 /* PartWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29CDDA2B1DADCAF30022B1A3 /* PartWriter.cpp */; }; - 293F015C1DD25CF2001477E8 /* PropertiesWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29CD72261DB806FD00FB7153 /* PropertiesWriter.cpp */; }; - 293F015D1DD25CF2001477E8 /* ScoreReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C29B841DAEC00C00D3A884 /* ScoreReader.cpp */; }; - 293F015E1DD25CF2001477E8 /* ScoreWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C29B861DAEC00C00D3A884 /* ScoreWriter.cpp */; }; - 293F015F1DD25CF2001477E8 /* StaffFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 297DA0721D7F60BE0067C13A /* StaffFunctions.cpp */; }; - 293F01601DD25CF2001477E8 /* TechnicalFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF30011DA32E37001FE5DF /* TechnicalFunctions.cpp */; }; - 293F01611DD25CF2001477E8 /* TimeReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2927EC9E1D886E460042E080 /* TimeReader.cpp */; }; - 293F01621DD25CF2001477E8 /* TupletReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29B4E81F1DA9CD5D005DC6D1 /* TupletReader.cpp */; }; - 293F01631DD25CF2001477E8 /* pugixml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B5D1D130BBE0094BE61 /* pugixml.cpp */; }; - 293F01641DD25CF2001477E8 /* Utility.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B2D1D130B910094BE61 /* Utility.cpp */; }; - 293F01651DD25CF2001477E8 /* UtilityImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B2F1D130B910094BE61 /* UtilityImpl.cpp */; }; - 293F01661DD25CF2001477E8 /* PugiAttribute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1451D18D403001C2A1A /* PugiAttribute.cpp */; }; - 293F01671DD25CF2001477E8 /* PugiAttributeIterImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1471D18D403001C2A1A /* PugiAttributeIterImpl.cpp */; }; - 293F01681DD25CF2001477E8 /* PugiDoc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1491D18D403001C2A1A /* PugiDoc.cpp */; }; - 293F01691DD25CF2001477E8 /* PugiElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D14B1D18D403001C2A1A /* PugiElement.cpp */; }; - 293F016A1DD25CF2001477E8 /* PugiElementIterImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D14D1D18D403001C2A1A /* PugiElementIterImpl.cpp */; }; - 293F016B1DD25CF2001477E8 /* XAttributeIterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1501D18D403001C2A1A /* XAttributeIterator.cpp */; }; - 293F016C1DD25CF2001477E8 /* XElementIterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1561D18D403001C2A1A /* XElementIterator.cpp */; }; - 293F016D1DD25CF2001477E8 /* XFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1591D18D403001C2A1A /* XFactory.cpp */; }; - 293FFEDD1DD25CF1001477E8 /* ClefData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292D1DD01D9A43A500CDD9F4 /* ClefData.cpp */; }; - 293FFEDE1DD25CF1001477E8 /* DocumentManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF44091D6E70D300DBDAB9 /* DocumentManager.cpp */; }; - 293FFEDF1DD25CF1001477E8 /* DurationData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E9EA361DA4A80A0040183B /* DurationData.cpp */; }; - 293FFEE01DD25CF1001477E8 /* MarkData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29DB30A01DA0713200031477 /* MarkData.cpp */; }; - 293FFEE11DD25CF1001477E8 /* MeasureLocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C51A4C1D9F061600EAA308 /* MeasureLocation.cpp */; }; - 293FFEE21DD25CF1001477E8 /* NoteData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E9EA351DA4A80A0040183B /* NoteData.cpp */; }; - 293FFEE31DD25CF1001477E8 /* PitchData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E9EA341DA4A80A0040183B /* PitchData.cpp */; }; - 293FFEE41DD25CF1001477E8 /* Smufl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C51A1D1D9ED91000EAA308 /* Smufl.cpp */; }; - 293FFEE51DD25CF1001477E8 /* AttributesInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE01D130B690094BE61 /* AttributesInterface.cpp */; }; - 293FFEE61DD25CF1001477E8 /* Color.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE21D130B690094BE61 /* Color.cpp */; }; - 293FFEE71DD25CF1001477E8 /* Date.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE41D130B690094BE61 /* Date.cpp */; }; - 293FFEE81DD25CF1001477E8 /* Decimals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE61D130B690094BE61 /* Decimals.cpp */; }; - 293FFEE91DD25CF1001477E8 /* Document.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE81D130B690094BE61 /* Document.cpp */; }; - 293FFEEA1DD25CF1001477E8 /* DocumentHeader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AEA1D130B690094BE61 /* DocumentHeader.cpp */; }; - 293FFEEB1DD25CF1001477E8 /* DocumentSpec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AEE1D130B690094BE61 /* DocumentSpec.cpp */; }; - 293FFEEC1DD25CF1001477E8 /* ElementInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AF21D130B690094BE61 /* ElementInterface.cpp */; }; - 293FFEED1DD25CF1001477E8 /* Accent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545ED1D295C5300B90302 /* Accent.cpp */; }; - 293FFEEE1DD25CF1001477E8 /* Accidental.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545EE1D295C5300B90302 /* Accidental.cpp */; }; - 293FFEEF1DD25CF1001477E8 /* AccidentalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545EF1D295C5300B90302 /* AccidentalAttributes.cpp */; }; - 293FFEF01DD25CF1001477E8 /* AccidentalMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F01D295C5300B90302 /* AccidentalMark.cpp */; }; - 293FFEF11DD25CF1001477E8 /* AccidentalMarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F11D295C5300B90302 /* AccidentalMarkAttributes.cpp */; }; - 293FFEF21DD25CF1001477E8 /* AccidentalText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F21D295C5300B90302 /* AccidentalText.cpp */; }; - 293FFEF31DD25CF1001477E8 /* AccidentalTextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F31D295C5300B90302 /* AccidentalTextAttributes.cpp */; }; - 293FFEF41DD25CF1001477E8 /* Accord.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F41D295C5300B90302 /* Accord.cpp */; }; - 293FFEF51DD25CF1001477E8 /* AccordAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F51D295C5300B90302 /* AccordAttributes.cpp */; }; - 293FFEF61DD25CF1001477E8 /* AccordionHigh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F61D295C5300B90302 /* AccordionHigh.cpp */; }; - 293FFEF71DD25CF1001477E8 /* AccordionLow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F71D295C5300B90302 /* AccordionLow.cpp */; }; - 293FFEF81DD25CF1001477E8 /* AccordionMiddle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F81D295C5300B90302 /* AccordionMiddle.cpp */; }; - 293FFEF91DD25CF1001477E8 /* AccordionRegistration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F91D295C5300B90302 /* AccordionRegistration.cpp */; }; - 293FFEFA1DD25CF1001477E8 /* AccordionRegistrationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FA1D295C5300B90302 /* AccordionRegistrationAttributes.cpp */; }; - 293FFEFB1DD25CF1001477E8 /* ActualNotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FB1D295C5300B90302 /* ActualNotes.cpp */; }; - 293FFEFC1DD25CF1001477E8 /* Alter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FC1D295C5300B90302 /* Alter.cpp */; }; - 293FFEFD1DD25CF1001477E8 /* Appearance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FD1D295C5300B90302 /* Appearance.cpp */; }; - 293FFEFE1DD25CF1001477E8 /* Arpeggiate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FE1D295C5300B90302 /* Arpeggiate.cpp */; }; - 293FFEFF1DD25CF1001477E8 /* ArpeggiateAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FF1D295C5300B90302 /* ArpeggiateAttributes.cpp */; }; - 293FFF001DD25CF1001477E8 /* Arrow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546001D295C5300B90302 /* Arrow.cpp */; }; - 293FFF011DD25CF1001477E8 /* ArrowAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546011D295C5300B90302 /* ArrowAttributes.cpp */; }; - 293FFF021DD25CF1001477E8 /* ArrowDirection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546021D295C5300B90302 /* ArrowDirection.cpp */; }; - 293FFF031DD25CF1001477E8 /* ArrowGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546031D295C5300B90302 /* ArrowGroup.cpp */; }; - 293FFF041DD25CF1001477E8 /* ArrowStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546041D295C5300B90302 /* ArrowStyle.cpp */; }; - 293FFF051DD25CF1001477E8 /* Articulations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546051D295C5300B90302 /* Articulations.cpp */; }; - 293FFF061DD25CF1001477E8 /* ArticulationsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546061D295C5300B90302 /* ArticulationsChoice.cpp */; }; - 293FFF071DD25CF1001477E8 /* Artificial.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546071D295C5300B90302 /* Artificial.cpp */; }; - 293FFF081DD25CF1001477E8 /* AttributesIterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546081D295C5300B90302 /* AttributesIterface.cpp */; }; - 293FFF091DD25CF1001477E8 /* Backup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546091D295C5300B90302 /* Backup.cpp */; }; - 293FFF0A1DD25CF1001477E8 /* Barline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460A1D295C5300B90302 /* Barline.cpp */; }; - 293FFF0B1DD25CF1001477E8 /* BarlineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460B1D295C5300B90302 /* BarlineAttributes.cpp */; }; - 293FFF0C1DD25CF1001477E8 /* Barre.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460C1D295C5300B90302 /* Barre.cpp */; }; - 293FFF0D1DD25CF1001477E8 /* BarreAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460D1D295C5300B90302 /* BarreAttributes.cpp */; }; - 293FFF0E1DD25CF1001477E8 /* BarStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460E1D295C5300B90302 /* BarStyle.cpp */; }; - 293FFF0F1DD25CF1001477E8 /* BarStyleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460F1D295C5300B90302 /* BarStyleAttributes.cpp */; }; - 293FFF101DD25CF1001477E8 /* BasePitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546101D295C5300B90302 /* BasePitch.cpp */; }; - 293FFF111DD25CF1001477E8 /* Bass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546111D295C5300B90302 /* Bass.cpp */; }; - 293FFF121DD25CF1001477E8 /* BassAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546121D295C5300B90302 /* BassAlter.cpp */; }; - 293FFF131DD25CF1001477E8 /* BassAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546131D295C5300B90302 /* BassAlterAttributes.cpp */; }; - 293FFF141DD25CF1001477E8 /* BassStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546141D295C5300B90302 /* BassStep.cpp */; }; - 293FFF151DD25CF1001477E8 /* BassStepAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546151D295C5300B90302 /* BassStepAttributes.cpp */; }; - 293FFF161DD25CF1001477E8 /* Beam.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546161D295C5300B90302 /* Beam.cpp */; }; - 293FFF171DD25CF1001477E8 /* BeamAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546171D295C5300B90302 /* BeamAttributes.cpp */; }; - 293FFF181DD25CF1001477E8 /* Beater.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546181D295C5300B90302 /* Beater.cpp */; }; - 293FFF191DD25CF1001477E8 /* BeaterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546191D295C5300B90302 /* BeaterAttributes.cpp */; }; - 293FFF1A1DD25CF1001477E8 /* BeatRepeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461A1D295C5300B90302 /* BeatRepeat.cpp */; }; - 293FFF1B1DD25CF1001477E8 /* BeatRepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461B1D295C5300B90302 /* BeatRepeatAttributes.cpp */; }; - 293FFF1C1DD25CF1001477E8 /* Beats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461C1D295C5300B90302 /* Beats.cpp */; }; - 293FFF1D1DD25CF1001477E8 /* BeatType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461D1D295C5300B90302 /* BeatType.cpp */; }; - 293FFF1E1DD25CF1001477E8 /* BeatUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461E1D295C5300B90302 /* BeatUnit.cpp */; }; - 293FFF1F1DD25CF1001477E8 /* BeatUnitDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461F1D295C5300B90302 /* BeatUnitDot.cpp */; }; - 293FFF201DD25CF1001477E8 /* BeatUnitGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546201D295C5300B90302 /* BeatUnitGroup.cpp */; }; - 293FFF211DD25CF1001477E8 /* BeatUnitPer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546211D295C5300B90302 /* BeatUnitPer.cpp */; }; - 293FFF221DD25CF1001477E8 /* BeatUnitPerOrNoteRelationNoteChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546221D295C5300B90302 /* BeatUnitPerOrNoteRelationNoteChoice.cpp */; }; - 293FFF231DD25CF1001477E8 /* Bend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546231D295C5300B90302 /* Bend.cpp */; }; - 293FFF241DD25CF1001477E8 /* BendAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546241D295C5300B90302 /* BendAlter.cpp */; }; - 293FFF251DD25CF1001477E8 /* BendAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546251D295C5300B90302 /* BendAttributes.cpp */; }; - 293FFF261DD25CF1001477E8 /* BendChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546261D295C5300B90302 /* BendChoice.cpp */; }; - 293FFF271DD25CF1001477E8 /* Bookmark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546271D295C5300B90302 /* Bookmark.cpp */; }; - 293FFF281DD25CF1001477E8 /* BookmarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546281D295C5300B90302 /* BookmarkAttributes.cpp */; }; - 293FFF291DD25CF1001477E8 /* BottomMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546291D295C5300B90302 /* BottomMargin.cpp */; }; - 293FFF2A1DD25CF1001477E8 /* Bracket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462A1D295C5300B90302 /* Bracket.cpp */; }; - 293FFF2B1DD25CF1001477E8 /* BracketAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462B1D295C5300B90302 /* BracketAttributes.cpp */; }; - 293FFF2C1DD25CF1001477E8 /* BreathMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462C1D295C5300B90302 /* BreathMark.cpp */; }; - 293FFF2D1DD25CF1001477E8 /* BreathMarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462D1D295C5300B90302 /* BreathMarkAttributes.cpp */; }; - 293FFF2E1DD25CF1001477E8 /* Caesura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462E1D295C5300B90302 /* Caesura.cpp */; }; - 293FFF2F1DD25CF1001477E8 /* Cancel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462F1D295C5300B90302 /* Cancel.cpp */; }; - 293FFF301DD25CF1001477E8 /* CancelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546301D295C5300B90302 /* CancelAttributes.cpp */; }; - 293FFF311DD25CF1001477E8 /* Capo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546311D295C5300B90302 /* Capo.cpp */; }; - 293FFF321DD25CF1001477E8 /* Chord.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546321D295C5300B90302 /* Chord.cpp */; }; - 293FFF331DD25CF1001477E8 /* Chromatic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546331D295C5300B90302 /* Chromatic.cpp */; }; - 293FFF341DD25CF1001477E8 /* CircularArrow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546341D295C5300B90302 /* CircularArrow.cpp */; }; - 293FFF351DD25CF1001477E8 /* Clef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546351D295C5300B90302 /* Clef.cpp */; }; - 293FFF361DD25CF1001477E8 /* ClefAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546361D295C5300B90302 /* ClefAttributes.cpp */; }; - 293FFF371DD25CF1001477E8 /* ClefOctaveChange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546371D295C5300B90302 /* ClefOctaveChange.cpp */; }; - 293FFF381DD25CF1001477E8 /* Coda.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546381D295C5300B90302 /* Coda.cpp */; }; - 293FFF391DD25CF1001477E8 /* Creator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546391D295C5300B90302 /* Creator.cpp */; }; - 293FFF3A1DD25CF1001477E8 /* CreatorAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463A1D295C5300B90302 /* CreatorAttributes.cpp */; }; - 293FFF3B1DD25CF1001477E8 /* Credit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463B1D295C5300B90302 /* Credit.cpp */; }; - 293FFF3C1DD25CF1001477E8 /* CreditAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463C1D295C5300B90302 /* CreditAttributes.cpp */; }; - 293FFF3D1DD25CF1001477E8 /* CreditChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463D1D295C5300B90302 /* CreditChoice.cpp */; }; - 293FFF3E1DD25CF1001477E8 /* CreditImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463E1D295C5300B90302 /* CreditImage.cpp */; }; - 293FFF3F1DD25CF1001477E8 /* CreditImageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463F1D295C5300B90302 /* CreditImageAttributes.cpp */; }; - 293FFF401DD25CF1001477E8 /* CreditType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546401D295C5300B90302 /* CreditType.cpp */; }; - 293FFF411DD25CF1001477E8 /* CreditWords.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546411D295C5300B90302 /* CreditWords.cpp */; }; - 293FFF421DD25CF1001477E8 /* CreditWordsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546421D295C5300B90302 /* CreditWordsAttributes.cpp */; }; - 293FFF431DD25CF1001477E8 /* CreditWordsGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546431D295C5300B90302 /* CreditWordsGroup.cpp */; }; - 293FFF441DD25CF1001477E8 /* Cue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546441D295C5300B90302 /* Cue.cpp */; }; - 293FFF451DD25CF1001477E8 /* CueNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546451D295C5300B90302 /* CueNoteGroup.cpp */; }; - 293FFF461DD25CF1001477E8 /* Damp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546461D295C5300B90302 /* Damp.cpp */; }; - 293FFF471DD25CF1001477E8 /* DampAll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546471D295C5300B90302 /* DampAll.cpp */; }; - 293FFF481DD25CF1001477E8 /* Dashes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546481D295C5300B90302 /* Dashes.cpp */; }; - 293FFF491DD25CF1001477E8 /* DashesAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546491D295C5300B90302 /* DashesAttributes.cpp */; }; - 293FFF4A1DD25CF1001477E8 /* Defaults.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464A1D295C5300B90302 /* Defaults.cpp */; }; - 293FFF4B1DD25CF1001477E8 /* Degree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464B1D295C5300B90302 /* Degree.cpp */; }; - 293FFF4C1DD25CF1001477E8 /* DegreeAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464C1D295C5300B90302 /* DegreeAlter.cpp */; }; - 293FFF4D1DD25CF1001477E8 /* DegreeAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464D1D295C5300B90302 /* DegreeAlterAttributes.cpp */; }; - 293FFF4E1DD25CF1001477E8 /* DegreeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464E1D295C5300B90302 /* DegreeAttributes.cpp */; }; - 293FFF4F1DD25CF1001477E8 /* DegreeType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464F1D295C5300B90302 /* DegreeType.cpp */; }; - 293FFF501DD25CF1001477E8 /* DegreeTypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546501D295C5300B90302 /* DegreeTypeAttributes.cpp */; }; - 293FFF511DD25CF1001477E8 /* DegreeValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546511D295C5300B90302 /* DegreeValue.cpp */; }; - 293FFF521DD25CF1001477E8 /* DegreeValueAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546521D295C5300B90302 /* DegreeValueAttributes.cpp */; }; - 293FFF531DD25CF1001477E8 /* DelayedInvertedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546531D295C5300B90302 /* DelayedInvertedTurn.cpp */; }; - 293FFF541DD25CF1001477E8 /* DelayedInvertedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546541D295C5300B90302 /* DelayedInvertedTurnAttributes.cpp */; }; - 293FFF551DD25CF1001477E8 /* DelayedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546551D295C5300B90302 /* DelayedTurn.cpp */; }; - 293FFF561DD25CF1001477E8 /* DelayedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546561D295C5300B90302 /* DelayedTurnAttributes.cpp */; }; - 293FFF571DD25CF1001477E8 /* DetachedLegato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546571D295C5300B90302 /* DetachedLegato.cpp */; }; - 293FFF581DD25CF1001477E8 /* Diatonic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546581D295C5300B90302 /* Diatonic.cpp */; }; - 293FFF591DD25CF1001477E8 /* Direction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546591D295C5300B90302 /* Direction.cpp */; }; - 293FFF5A1DD25CF1001477E8 /* DirectionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465A1D295C5300B90302 /* DirectionAttributes.cpp */; }; - 293FFF5B1DD25CF1001477E8 /* DirectionType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465B1D295C5300B90302 /* DirectionType.cpp */; }; - 293FFF5C1DD25CF1001477E8 /* Directive.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465C1D295C5300B90302 /* Directive.cpp */; }; - 293FFF5D1DD25CF1001477E8 /* DirectiveAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465D1D295C5300B90302 /* DirectiveAttributes.cpp */; }; - 293FFF5E1DD25CF1001477E8 /* DisplayOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465E1D295C5300B90302 /* DisplayOctave.cpp */; }; - 293FFF5F1DD25CF1001477E8 /* DisplayStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465F1D295C5300B90302 /* DisplayStep.cpp */; }; - 293FFF601DD25CF1001477E8 /* DisplayStepOctaveGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546601D295C5300B90302 /* DisplayStepOctaveGroup.cpp */; }; - 293FFF611DD25CF1001477E8 /* DisplayText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546611D295C5300B90302 /* DisplayText.cpp */; }; - 293FFF621DD25CF1001477E8 /* DisplayTextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546621D295C5300B90302 /* DisplayTextAttributes.cpp */; }; - 293FFF631DD25CF1001477E8 /* DisplayTextOrAccidentalText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546631D295C5300B90302 /* DisplayTextOrAccidentalText.cpp */; }; - 293FFF641DD25CF1001477E8 /* Distance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546641D295C5300B90302 /* Distance.cpp */; }; - 293FFF651DD25CF1001477E8 /* DistanceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546651D295C5300B90302 /* DistanceAttributes.cpp */; }; - 293FFF661DD25CF1001477E8 /* Divisions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546661D295C5300B90302 /* Divisions.cpp */; }; - 293FFF671DD25CF1001477E8 /* Doit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546671D295C5300B90302 /* Doit.cpp */; }; - 293FFF681DD25CF1001477E8 /* Dot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546681D295C5300B90302 /* Dot.cpp */; }; - 293FFF691DD25CF1001477E8 /* Double.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546691D295C5300B90302 /* Double.cpp */; }; - 293FFF6A1DD25CF1001477E8 /* DoubleTongue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466A1D295C5300B90302 /* DoubleTongue.cpp */; }; - 293FFF6B1DD25CF1001477E8 /* DownBow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466B1D295C5300B90302 /* DownBow.cpp */; }; - 293FFF6C1DD25CF1001477E8 /* Duration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466C1D295C5300B90302 /* Duration.cpp */; }; - 293FFF6D1DD25CF1001477E8 /* Dynamics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466D1D295C5300B90302 /* Dynamics.cpp */; }; - 293FFF6E1DD25CF1001477E8 /* DynamicsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466E1D295C5300B90302 /* DynamicsAttributes.cpp */; }; - 293FFF6F1DD25CF1001477E8 /* EditorialGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466F1D295C5300B90302 /* EditorialGroup.cpp */; }; - 293FFF701DD25CF1001477E8 /* EditorialVoiceDirectionGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546701D295C5300B90302 /* EditorialVoiceDirectionGroup.cpp */; }; - 293FFF711DD25CF1001477E8 /* EditorialVoiceGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546711D295C5300B90302 /* EditorialVoiceGroup.cpp */; }; - 293FFF721DD25CF1001477E8 /* Effect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546721D295C5300B90302 /* Effect.cpp */; }; - 293FFF731DD25CF1001477E8 /* Elevation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546731D295C5300B90302 /* Elevation.cpp */; }; - 293FFF741DD25CF1001477E8 /* Elision.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546741D295C5300B90302 /* Elision.cpp */; }; - 293FFF751DD25CF1001477E8 /* ElisionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546751D295C5300B90302 /* ElisionAttributes.cpp */; }; - 293FFF761DD25CF1001477E8 /* ElisionSyllabicGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546761D295C5300B90302 /* ElisionSyllabicGroup.cpp */; }; - 293FFF771DD25CF1001477E8 /* ElisionSyllabicTextGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546771D295C5300B90302 /* ElisionSyllabicTextGroup.cpp */; }; - 293FFF781DD25CF1001477E8 /* EmptyFontAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546781D295C5300B90302 /* EmptyFontAttributes.cpp */; }; - 293FFF791DD25CF1001477E8 /* EmptyLineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546791D295C5300B90302 /* EmptyLineAttributes.cpp */; }; - 293FFF7A1DD25CF1001477E8 /* EmptyPlacementAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467A1D295C5300B90302 /* EmptyPlacementAttributes.cpp */; }; - 293FFF7B1DD25CF1001477E8 /* EmptyTrillSoundAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467B1D295C5300B90302 /* EmptyTrillSoundAttributes.cpp */; }; - 293FFF7C1DD25CF1001477E8 /* Encoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467C1D295C5300B90302 /* Encoder.cpp */; }; - 293FFF7D1DD25CF1001477E8 /* EncoderAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467D1D295C5300B90302 /* EncoderAttributes.cpp */; }; - 293FFF7E1DD25CF1001477E8 /* Encoding.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2904A4D31D301D5A00A39CC6 /* Encoding.cpp */; }; - 293FFF7F1DD25CF1001477E8 /* EncodingChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467E1D295C5300B90302 /* EncodingChoice.cpp */; }; - 293FFF801DD25CF1001477E8 /* EncodingDate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467F1D295C5300B90302 /* EncodingDate.cpp */; }; - 293FFF811DD25CF1001477E8 /* EncodingDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546801D295C5300B90302 /* EncodingDescription.cpp */; }; - 293FFF821DD25CF1001477E8 /* Ending.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546811D295C5300B90302 /* Ending.cpp */; }; - 293FFF831DD25CF1001477E8 /* EndingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546821D295C5300B90302 /* EndingAttributes.cpp */; }; - 293FFF841DD25CF1001477E8 /* EndLine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546831D295C5300B90302 /* EndLine.cpp */; }; - 293FFF851DD25CF1001477E8 /* EndParagraph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546841D295C5300B90302 /* EndParagraph.cpp */; }; - 293FFF861DD25CF1001477E8 /* Ensemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546851D295C5300B90302 /* Ensemble.cpp */; }; - 293FFF871DD25CF1001477E8 /* Extend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546861D295C5300B90302 /* Extend.cpp */; }; - 293FFF881DD25CF1001477E8 /* ExtendAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546871D295C5300B90302 /* ExtendAttributes.cpp */; }; - 293FFF891DD25CF1001477E8 /* Eyeglasses.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546881D295C5300B90302 /* Eyeglasses.cpp */; }; - 293FFF8A1DD25CF1001477E8 /* Falloff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546891D295C5300B90302 /* Falloff.cpp */; }; - 293FFF8B1DD25CF1001477E8 /* Feature.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468A1D295C5300B90302 /* Feature.cpp */; }; - 293FFF8C1DD25CF1001477E8 /* FeatureAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468B1D295C5300B90302 /* FeatureAttributes.cpp */; }; - 293FFF8D1DD25CF1001477E8 /* Fermata.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468C1D295C5300B90302 /* Fermata.cpp */; }; - 293FFF8E1DD25CF1001477E8 /* FermataAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468D1D295C5300B90302 /* FermataAttributes.cpp */; }; - 293FFF8F1DD25CF1001477E8 /* Fifths.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468E1D295C5300B90302 /* Fifths.cpp */; }; - 293FFF901DD25CF1001477E8 /* Figure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468F1D295C5300B90302 /* Figure.cpp */; }; - 293FFF911DD25CF1001477E8 /* FiguredBass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546901D295C5300B90302 /* FiguredBass.cpp */; }; - 293FFF921DD25CF1001477E8 /* FiguredBassAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546911D295C5300B90302 /* FiguredBassAttributes.cpp */; }; - 293FFF931DD25CF1001477E8 /* FigureNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546921D295C5300B90302 /* FigureNumber.cpp */; }; - 293FFF941DD25CF1001477E8 /* FigureNumberAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546931D295C5300B90302 /* FigureNumberAttributes.cpp */; }; - 293FFF951DD25CF1001477E8 /* Fingering.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546941D295C5300B90302 /* Fingering.cpp */; }; - 293FFF961DD25CF1001477E8 /* FingeringAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546951D295C5300B90302 /* FingeringAttributes.cpp */; }; - 293FFF971DD25CF1001477E8 /* Fingernails.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546961D295C5300B90302 /* Fingernails.cpp */; }; - 293FFF981DD25CF1001477E8 /* FirstFret.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546971D295C5300B90302 /* FirstFret.cpp */; }; - 293FFF991DD25CF1001477E8 /* FirstFretAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546981D295C5300B90302 /* FirstFretAttributes.cpp */; }; - 293FFF9A1DD25CF1001477E8 /* Footnote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546991D295C5300B90302 /* Footnote.cpp */; }; - 293FFF9B1DD25CF1001477E8 /* FootnoteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469A1D295C5300B90302 /* FootnoteAttributes.cpp */; }; - 293FFF9C1DD25CF1001477E8 /* Forward.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469B1D295C5300B90302 /* Forward.cpp */; }; - 293FFF9D1DD25CF1001477E8 /* Frame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469C1D295C5300B90302 /* Frame.cpp */; }; - 293FFF9E1DD25CF1001477E8 /* FrameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469D1D295C5300B90302 /* FrameAttributes.cpp */; }; - 293FFF9F1DD25CF1001477E8 /* FrameFrets.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469E1D295C5300B90302 /* FrameFrets.cpp */; }; - 293FFFA01DD25CF1001477E8 /* FrameNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469F1D295C5300B90302 /* FrameNote.cpp */; }; - 293FFFA11DD25CF1001477E8 /* FrameStrings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A01D295C5300B90302 /* FrameStrings.cpp */; }; - 293FFFA21DD25CF1001477E8 /* Fret.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A11D295C5300B90302 /* Fret.cpp */; }; - 293FFFA31DD25CF1001477E8 /* FretAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A21D295C5300B90302 /* FretAttributes.cpp */; }; - 293FFFA41DD25CF1001477E8 /* FullNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A31D295C5300B90302 /* FullNoteGroup.cpp */; }; - 293FFFA51DD25CF1001477E8 /* FullNoteTypeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A41D295C5300B90302 /* FullNoteTypeChoice.cpp */; }; - 293FFFA61DD25CF1001477E8 /* Function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A51D295C5300B90302 /* Function.cpp */; }; - 293FFFA71DD25CF1001477E8 /* FunctionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A61D295C5300B90302 /* FunctionAttributes.cpp */; }; - 293FFFA81DD25CF1001477E8 /* Glass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A71D295C5300B90302 /* Glass.cpp */; }; - 293FFFA91DD25CF1001477E8 /* Glissando.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A81D295C5300B90302 /* Glissando.cpp */; }; - 293FFFAA1DD25CF1001477E8 /* GlissandoAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A91D295C5300B90302 /* GlissandoAttributes.cpp */; }; - 293FFFAB1DD25CF1001477E8 /* Grace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AA1D295C5300B90302 /* Grace.cpp */; }; - 293FFFAC1DD25CF1001477E8 /* GraceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AB1D295C5300B90302 /* GraceAttributes.cpp */; }; - 293FFFAD1DD25CF1001477E8 /* GraceNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AC1D295C5300B90302 /* GraceNoteGroup.cpp */; }; - 293FFFAE1DD25CF1001477E8 /* Group.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AD1D295C5300B90302 /* Group.cpp */; }; - 293FFFAF1DD25CF1001477E8 /* GroupAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AE1D295C5300B90302 /* GroupAbbreviation.cpp */; }; - 293FFFB01DD25CF1001477E8 /* GroupAbbreviationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AF1D295C5300B90302 /* GroupAbbreviationAttributes.cpp */; }; - 293FFFB11DD25CF1001477E8 /* GroupAbbreviationDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B01D295C5300B90302 /* GroupAbbreviationDisplay.cpp */; }; - 293FFFB21DD25CF1001477E8 /* GroupAbbreviationDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B11D295C5300B90302 /* GroupAbbreviationDisplayAttributes.cpp */; }; - 293FFFB31DD25CF1001477E8 /* GroupBarline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B21D295C5300B90302 /* GroupBarline.cpp */; }; - 293FFFB41DD25CF1001477E8 /* GroupBarlineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B31D295C5300B90302 /* GroupBarlineAttributes.cpp */; }; - 293FFFB51DD25CF1001477E8 /* Grouping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B41D295C5300B90302 /* Grouping.cpp */; }; - 293FFFB61DD25CF1001477E8 /* GroupingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B51D295C5300B90302 /* GroupingAttributes.cpp */; }; - 293FFFB71DD25CF1001477E8 /* GroupName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B61D295C5300B90302 /* GroupName.cpp */; }; - 293FFFB81DD25CF1001477E8 /* GroupNameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B71D295C5300B90302 /* GroupNameAttributes.cpp */; }; - 293FFFB91DD25CF1001477E8 /* GroupNameDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B81D295C5300B90302 /* GroupNameDisplay.cpp */; }; - 293FFFBA1DD25CF1001477E8 /* GroupNameDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B91D295C5300B90302 /* GroupNameDisplayAttributes.cpp */; }; - 293FFFBB1DD25CF1001477E8 /* GroupSymbol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BA1D295C5300B90302 /* GroupSymbol.cpp */; }; - 293FFFBC1DD25CF1001477E8 /* GroupSymbolAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BB1D295C5300B90302 /* GroupSymbolAttributes.cpp */; }; - 293FFFBD1DD25CF1001477E8 /* GroupTime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BC1D295C5300B90302 /* GroupTime.cpp */; }; - 293FFFBE1DD25CF1001477E8 /* HammerOn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BD1D295C5300B90302 /* HammerOn.cpp */; }; - 293FFFBF1DD25CF1001477E8 /* HammerOnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BE1D295C5300B90302 /* HammerOnAttributes.cpp */; }; - 293FFFC01DD25CF1001477E8 /* Handbell.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BF1D295C5300B90302 /* Handbell.cpp */; }; - 293FFFC11DD25CF1001477E8 /* HandbellAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C01D295C5300B90302 /* HandbellAttributes.cpp */; }; - 293FFFC21DD25CF1001477E8 /* Harmonic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C11D295C5300B90302 /* Harmonic.cpp */; }; - 293FFFC31DD25CF1001477E8 /* HarmonicAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C21D295C5300B90302 /* HarmonicAttributes.cpp */; }; - 293FFFC41DD25CF1001477E8 /* HarmonicInfoChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C31D295C5300B90302 /* HarmonicInfoChoice.cpp */; }; - 293FFFC51DD25CF1001477E8 /* HarmonicTypeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C41D295C5300B90302 /* HarmonicTypeChoice.cpp */; }; - 293FFFC61DD25CF1001477E8 /* Harmony.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C51D295C5300B90302 /* Harmony.cpp */; }; - 293FFFC71DD25CF1001477E8 /* HarmonyAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C61D295C5300B90302 /* HarmonyAttributes.cpp */; }; - 293FFFC81DD25CF1001477E8 /* HarmonyChordGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C71D295C5300B90302 /* HarmonyChordGroup.cpp */; }; - 293FFFC91DD25CF1001477E8 /* HarpPedals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C81D295C5300B90302 /* HarpPedals.cpp */; }; - 293FFFCA1DD25CF1001477E8 /* HarpPedalsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C91D295C5300B90302 /* HarpPedalsAttributes.cpp */; }; - 293FFFCB1DD25CF1001477E8 /* Heel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CA1D295C5300B90302 /* Heel.cpp */; }; - 293FFFCC1DD25CF1001477E8 /* HeelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CB1D295C5300B90302 /* HeelAttributes.cpp */; }; - 293FFFCD1DD25CF1001477E8 /* Hole.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CC1D295C5300B90302 /* Hole.cpp */; }; - 293FFFCE1DD25CF1001477E8 /* HoleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CD1D295C5300B90302 /* HoleAttributes.cpp */; }; - 293FFFCF1DD25CF1001477E8 /* HoleClosed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CE1D295C5300B90302 /* HoleClosed.cpp */; }; - 293FFFD01DD25CF1001477E8 /* HoleClosedAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CF1D295C5300B90302 /* HoleClosedAttributes.cpp */; }; - 293FFFD11DD25CF1001477E8 /* HoleShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D01D295C5300B90302 /* HoleShape.cpp */; }; - 293FFFD21DD25CF1001477E8 /* HoleType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D11D295C5300B90302 /* HoleType.cpp */; }; - 293FFFD31DD25CF1001477E8 /* Humming.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D21D295C5300B90302 /* Humming.cpp */; }; - 293FFFD41DD25CF1001477E8 /* Identification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D31D295C5300B90302 /* Identification.cpp */; }; - 293FFFD51DD25CF1001477E8 /* Image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D41D295C5300B90302 /* Image.cpp */; }; - 293FFFD61DD25CF1001477E8 /* ImageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D51D295C5300B90302 /* ImageAttributes.cpp */; }; - 293FFFD71DD25CF1001477E8 /* Instrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D61D295C5300B90302 /* Instrument.cpp */; }; - 293FFFD81DD25CF1001477E8 /* InstrumentAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D71D295C5300B90302 /* InstrumentAbbreviation.cpp */; }; - 293FFFD91DD25CF1001477E8 /* InstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D81D295C5300B90302 /* InstrumentAttributes.cpp */; }; - 293FFFDA1DD25CF1001477E8 /* InstrumentName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D91D295C5300B90302 /* InstrumentName.cpp */; }; - 293FFFDB1DD25CF1001477E8 /* Instruments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DA1D295C5300B90302 /* Instruments.cpp */; }; - 293FFFDC1DD25CF1001477E8 /* InstrumentSound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DB1D295C5300B90302 /* InstrumentSound.cpp */; }; - 293FFFDD1DD25CF1001477E8 /* Interchangeable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DC1D295C5300B90302 /* Interchangeable.cpp */; }; - 293FFFDE1DD25CF1001477E8 /* InterchangeableAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DD1D295C5300B90302 /* InterchangeableAttributes.cpp */; }; - 293FFFDF1DD25CF1001477E8 /* Inversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DE1D295C5300B90302 /* Inversion.cpp */; }; - 293FFFE01DD25CF1001477E8 /* InversionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DF1D295C5300B90302 /* InversionAttributes.cpp */; }; - 293FFFE11DD25CF1001477E8 /* InvertedMordent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E01D295C5300B90302 /* InvertedMordent.cpp */; }; - 293FFFE21DD25CF1001477E8 /* InvertedMordentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E11D295C5300B90302 /* InvertedMordentAttributes.cpp */; }; - 293FFFE31DD25CF1001477E8 /* InvertedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E21D295C5300B90302 /* InvertedTurn.cpp */; }; - 293FFFE41DD25CF1001477E8 /* InvertedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E31D295C5300B90302 /* InvertedTurnAttributes.cpp */; }; - 293FFFE51DD25CF1001477E8 /* Ipa.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E41D295C5300B90302 /* Ipa.cpp */; }; - 293FFFE61DD25CF1001477E8 /* Key.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E51D295C5300B90302 /* Key.cpp */; }; - 293FFFE71DD25CF1001477E8 /* KeyAccidental.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E61D295C5300B90302 /* KeyAccidental.cpp */; }; - 293FFFE81DD25CF1001477E8 /* KeyAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E71D295C5300B90302 /* KeyAlter.cpp */; }; - 293FFFE91DD25CF1001477E8 /* KeyAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E81D295C5300B90302 /* KeyAttributes.cpp */; }; - 293FFFEA1DD25CF1001477E8 /* KeyChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E91D295C5300B90302 /* KeyChoice.cpp */; }; - 293FFFEB1DD25CF1001477E8 /* KeyOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EA1D295C5300B90302 /* KeyOctave.cpp */; }; - 293FFFEC1DD25CF1001477E8 /* KeyOctaveAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EB1D295C5300B90302 /* KeyOctaveAttributes.cpp */; }; - 293FFFED1DD25CF1001477E8 /* KeyStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EC1D295C5300B90302 /* KeyStep.cpp */; }; - 293FFFEE1DD25CF1001477E8 /* Kind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546ED1D295C5300B90302 /* Kind.cpp */; }; - 293FFFEF1DD25CF1001477E8 /* KindAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EE1D295C5300B90302 /* KindAttributes.cpp */; }; - 293FFFF01DD25CF1001477E8 /* Laughing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EF1D295C5300B90302 /* Laughing.cpp */; }; - 293FFFF11DD25CF1001477E8 /* LayoutGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F01D295C5300B90302 /* LayoutGroup.cpp */; }; - 293FFFF21DD25CF1001477E8 /* LeftDivider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F11D295C5300B90302 /* LeftDivider.cpp */; }; - 293FFFF31DD25CF1001477E8 /* LeftMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F21D295C5300B90302 /* LeftMargin.cpp */; }; - 293FFFF41DD25CF1001477E8 /* Level.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F31D295C5300B90302 /* Level.cpp */; }; - 293FFFF51DD25CF1001477E8 /* LevelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F41D295C5300B90302 /* LevelAttributes.cpp */; }; - 293FFFF61DD25CF1001477E8 /* Line.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F51D295C5300B90302 /* Line.cpp */; }; - 293FFFF71DD25CF1001477E8 /* LineWidth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F61D295C5300B90302 /* LineWidth.cpp */; }; - 293FFFF81DD25CF1001477E8 /* LineWidthAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F71D295C5300B90302 /* LineWidthAttributes.cpp */; }; - 293FFFF91DD25CF1001477E8 /* Link.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F81D295C5300B90302 /* Link.cpp */; }; - 293FFFFA1DD25CF1001477E8 /* LinkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F91D295C5300B90302 /* LinkAttributes.cpp */; }; - 293FFFFB1DD25CF1001477E8 /* Lyric.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FA1D295C5300B90302 /* Lyric.cpp */; }; - 293FFFFC1DD25CF1001477E8 /* LyricAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FB1D295C5300B90302 /* LyricAttributes.cpp */; }; - 293FFFFD1DD25CF1001477E8 /* LyricFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FC1D295C5300B90302 /* LyricFont.cpp */; }; - 293FFFFE1DD25CF1001477E8 /* LyricFontAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FD1D295C5300B90302 /* LyricFontAttributes.cpp */; }; - 293FFFFF1DD25CF1001477E8 /* LyricLanguage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FE1D295C5300B90302 /* LyricLanguage.cpp */; }; - 2945483A1D295C5500B90302 /* Accent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545ED1D295C5300B90302 /* Accent.cpp */; }; - 2945483B1D295C5500B90302 /* Accidental.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545EE1D295C5300B90302 /* Accidental.cpp */; }; - 2945483C1D295C5500B90302 /* AccidentalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545EF1D295C5300B90302 /* AccidentalAttributes.cpp */; }; - 2945483D1D295C5500B90302 /* AccidentalMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F01D295C5300B90302 /* AccidentalMark.cpp */; }; - 2945483E1D295C5500B90302 /* AccidentalMarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F11D295C5300B90302 /* AccidentalMarkAttributes.cpp */; }; - 2945483F1D295C5500B90302 /* AccidentalText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F21D295C5300B90302 /* AccidentalText.cpp */; }; - 294548401D295C5500B90302 /* AccidentalTextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F31D295C5300B90302 /* AccidentalTextAttributes.cpp */; }; - 294548411D295C5500B90302 /* Accord.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F41D295C5300B90302 /* Accord.cpp */; }; - 294548421D295C5500B90302 /* AccordAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F51D295C5300B90302 /* AccordAttributes.cpp */; }; - 294548431D295C5500B90302 /* AccordionHigh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F61D295C5300B90302 /* AccordionHigh.cpp */; }; - 294548441D295C5500B90302 /* AccordionLow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F71D295C5300B90302 /* AccordionLow.cpp */; }; - 294548451D295C5500B90302 /* AccordionMiddle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F81D295C5300B90302 /* AccordionMiddle.cpp */; }; - 294548461D295C5500B90302 /* AccordionRegistration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F91D295C5300B90302 /* AccordionRegistration.cpp */; }; - 294548471D295C5500B90302 /* AccordionRegistrationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FA1D295C5300B90302 /* AccordionRegistrationAttributes.cpp */; }; - 294548481D295C5500B90302 /* ActualNotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FB1D295C5300B90302 /* ActualNotes.cpp */; }; - 294548491D295C5500B90302 /* Alter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FC1D295C5300B90302 /* Alter.cpp */; }; - 2945484A1D295C5500B90302 /* Appearance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FD1D295C5300B90302 /* Appearance.cpp */; }; - 2945484B1D295C5500B90302 /* Arpeggiate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FE1D295C5300B90302 /* Arpeggiate.cpp */; }; - 2945484C1D295C5500B90302 /* ArpeggiateAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FF1D295C5300B90302 /* ArpeggiateAttributes.cpp */; }; - 2945484D1D295C5500B90302 /* Arrow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546001D295C5300B90302 /* Arrow.cpp */; }; - 2945484E1D295C5500B90302 /* ArrowAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546011D295C5300B90302 /* ArrowAttributes.cpp */; }; - 2945484F1D295C5500B90302 /* ArrowDirection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546021D295C5300B90302 /* ArrowDirection.cpp */; }; - 294548501D295C5500B90302 /* ArrowGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546031D295C5300B90302 /* ArrowGroup.cpp */; }; - 294548511D295C5500B90302 /* ArrowStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546041D295C5300B90302 /* ArrowStyle.cpp */; }; - 294548521D295C5500B90302 /* Articulations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546051D295C5300B90302 /* Articulations.cpp */; }; - 294548531D295C5500B90302 /* ArticulationsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546061D295C5300B90302 /* ArticulationsChoice.cpp */; }; - 294548541D295C5500B90302 /* Artificial.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546071D295C5300B90302 /* Artificial.cpp */; }; - 294548551D295C5500B90302 /* AttributesIterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546081D295C5300B90302 /* AttributesIterface.cpp */; }; - 294548561D295C5500B90302 /* Backup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546091D295C5300B90302 /* Backup.cpp */; }; - 294548571D295C5500B90302 /* Barline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460A1D295C5300B90302 /* Barline.cpp */; }; - 294548581D295C5500B90302 /* BarlineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460B1D295C5300B90302 /* BarlineAttributes.cpp */; }; - 294548591D295C5500B90302 /* Barre.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460C1D295C5300B90302 /* Barre.cpp */; }; - 2945485A1D295C5500B90302 /* BarreAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460D1D295C5300B90302 /* BarreAttributes.cpp */; }; - 2945485B1D295C5500B90302 /* BarStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460E1D295C5300B90302 /* BarStyle.cpp */; }; - 2945485C1D295C5500B90302 /* BarStyleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460F1D295C5300B90302 /* BarStyleAttributes.cpp */; }; - 2945485D1D295C5500B90302 /* BasePitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546101D295C5300B90302 /* BasePitch.cpp */; }; - 2945485E1D295C5500B90302 /* Bass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546111D295C5300B90302 /* Bass.cpp */; }; - 2945485F1D295C5500B90302 /* BassAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546121D295C5300B90302 /* BassAlter.cpp */; }; - 294548601D295C5500B90302 /* BassAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546131D295C5300B90302 /* BassAlterAttributes.cpp */; }; - 294548611D295C5500B90302 /* BassStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546141D295C5300B90302 /* BassStep.cpp */; }; - 294548621D295C5500B90302 /* BassStepAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546151D295C5300B90302 /* BassStepAttributes.cpp */; }; - 294548631D295C5500B90302 /* Beam.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546161D295C5300B90302 /* Beam.cpp */; }; - 294548641D295C5500B90302 /* BeamAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546171D295C5300B90302 /* BeamAttributes.cpp */; }; - 294548651D295C5500B90302 /* Beater.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546181D295C5300B90302 /* Beater.cpp */; }; - 294548661D295C5500B90302 /* BeaterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546191D295C5300B90302 /* BeaterAttributes.cpp */; }; - 294548671D295C5500B90302 /* BeatRepeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461A1D295C5300B90302 /* BeatRepeat.cpp */; }; - 294548681D295C5500B90302 /* BeatRepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461B1D295C5300B90302 /* BeatRepeatAttributes.cpp */; }; - 294548691D295C5500B90302 /* Beats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461C1D295C5300B90302 /* Beats.cpp */; }; - 2945486A1D295C5500B90302 /* BeatType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461D1D295C5300B90302 /* BeatType.cpp */; }; - 2945486B1D295C5500B90302 /* BeatUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461E1D295C5300B90302 /* BeatUnit.cpp */; }; - 2945486C1D295C5500B90302 /* BeatUnitDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461F1D295C5300B90302 /* BeatUnitDot.cpp */; }; - 2945486D1D295C5500B90302 /* BeatUnitGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546201D295C5300B90302 /* BeatUnitGroup.cpp */; }; - 2945486E1D295C5500B90302 /* BeatUnitPer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546211D295C5300B90302 /* BeatUnitPer.cpp */; }; - 2945486F1D295C5500B90302 /* BeatUnitPerOrNoteRelationNoteChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546221D295C5300B90302 /* BeatUnitPerOrNoteRelationNoteChoice.cpp */; }; - 294548701D295C5500B90302 /* Bend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546231D295C5300B90302 /* Bend.cpp */; }; - 294548711D295C5500B90302 /* BendAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546241D295C5300B90302 /* BendAlter.cpp */; }; - 294548721D295C5500B90302 /* BendAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546251D295C5300B90302 /* BendAttributes.cpp */; }; - 294548731D295C5500B90302 /* BendChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546261D295C5300B90302 /* BendChoice.cpp */; }; - 294548741D295C5500B90302 /* Bookmark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546271D295C5300B90302 /* Bookmark.cpp */; }; - 294548751D295C5500B90302 /* BookmarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546281D295C5300B90302 /* BookmarkAttributes.cpp */; }; - 294548761D295C5500B90302 /* BottomMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546291D295C5300B90302 /* BottomMargin.cpp */; }; - 294548771D295C5500B90302 /* Bracket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462A1D295C5300B90302 /* Bracket.cpp */; }; - 294548781D295C5500B90302 /* BracketAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462B1D295C5300B90302 /* BracketAttributes.cpp */; }; - 294548791D295C5500B90302 /* BreathMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462C1D295C5300B90302 /* BreathMark.cpp */; }; - 2945487A1D295C5500B90302 /* BreathMarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462D1D295C5300B90302 /* BreathMarkAttributes.cpp */; }; - 2945487B1D295C5500B90302 /* Caesura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462E1D295C5300B90302 /* Caesura.cpp */; }; - 2945487C1D295C5500B90302 /* Cancel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462F1D295C5300B90302 /* Cancel.cpp */; }; - 2945487D1D295C5500B90302 /* CancelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546301D295C5300B90302 /* CancelAttributes.cpp */; }; - 2945487E1D295C5500B90302 /* Capo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546311D295C5300B90302 /* Capo.cpp */; }; - 2945487F1D295C5500B90302 /* Chord.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546321D295C5300B90302 /* Chord.cpp */; }; - 294548801D295C5500B90302 /* Chromatic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546331D295C5300B90302 /* Chromatic.cpp */; }; - 294548811D295C5500B90302 /* CircularArrow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546341D295C5300B90302 /* CircularArrow.cpp */; }; - 294548821D295C5500B90302 /* Clef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546351D295C5300B90302 /* Clef.cpp */; }; - 294548831D295C5500B90302 /* ClefAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546361D295C5300B90302 /* ClefAttributes.cpp */; }; - 294548841D295C5500B90302 /* ClefOctaveChange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546371D295C5300B90302 /* ClefOctaveChange.cpp */; }; - 294548851D295C5500B90302 /* Coda.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546381D295C5300B90302 /* Coda.cpp */; }; - 294548861D295C5500B90302 /* Creator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546391D295C5300B90302 /* Creator.cpp */; }; - 294548871D295C5500B90302 /* CreatorAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463A1D295C5300B90302 /* CreatorAttributes.cpp */; }; - 294548881D295C5500B90302 /* Credit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463B1D295C5300B90302 /* Credit.cpp */; }; - 294548891D295C5500B90302 /* CreditAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463C1D295C5300B90302 /* CreditAttributes.cpp */; }; - 2945488A1D295C5500B90302 /* CreditChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463D1D295C5300B90302 /* CreditChoice.cpp */; }; - 2945488B1D295C5500B90302 /* CreditImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463E1D295C5300B90302 /* CreditImage.cpp */; }; - 2945488C1D295C5500B90302 /* CreditImageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463F1D295C5300B90302 /* CreditImageAttributes.cpp */; }; - 2945488D1D295C5500B90302 /* CreditType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546401D295C5300B90302 /* CreditType.cpp */; }; - 2945488E1D295C5500B90302 /* CreditWords.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546411D295C5300B90302 /* CreditWords.cpp */; }; - 2945488F1D295C5500B90302 /* CreditWordsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546421D295C5300B90302 /* CreditWordsAttributes.cpp */; }; - 294548901D295C5500B90302 /* CreditWordsGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546431D295C5300B90302 /* CreditWordsGroup.cpp */; }; - 294548911D295C5500B90302 /* Cue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546441D295C5300B90302 /* Cue.cpp */; }; - 294548921D295C5500B90302 /* CueNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546451D295C5300B90302 /* CueNoteGroup.cpp */; }; - 294548931D295C5500B90302 /* Damp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546461D295C5300B90302 /* Damp.cpp */; }; - 294548941D295C5500B90302 /* DampAll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546471D295C5300B90302 /* DampAll.cpp */; }; - 294548951D295C5500B90302 /* Dashes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546481D295C5300B90302 /* Dashes.cpp */; }; - 294548961D295C5500B90302 /* DashesAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546491D295C5300B90302 /* DashesAttributes.cpp */; }; - 294548971D295C5500B90302 /* Defaults.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464A1D295C5300B90302 /* Defaults.cpp */; }; - 294548981D295C5500B90302 /* Degree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464B1D295C5300B90302 /* Degree.cpp */; }; - 294548991D295C5500B90302 /* DegreeAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464C1D295C5300B90302 /* DegreeAlter.cpp */; }; - 2945489A1D295C5500B90302 /* DegreeAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464D1D295C5300B90302 /* DegreeAlterAttributes.cpp */; }; - 2945489B1D295C5500B90302 /* DegreeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464E1D295C5300B90302 /* DegreeAttributes.cpp */; }; - 2945489C1D295C5500B90302 /* DegreeType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464F1D295C5300B90302 /* DegreeType.cpp */; }; - 2945489D1D295C5500B90302 /* DegreeTypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546501D295C5300B90302 /* DegreeTypeAttributes.cpp */; }; - 2945489E1D295C5500B90302 /* DegreeValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546511D295C5300B90302 /* DegreeValue.cpp */; }; - 2945489F1D295C5500B90302 /* DegreeValueAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546521D295C5300B90302 /* DegreeValueAttributes.cpp */; }; - 294548A01D295C5500B90302 /* DelayedInvertedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546531D295C5300B90302 /* DelayedInvertedTurn.cpp */; }; - 294548A11D295C5500B90302 /* DelayedInvertedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546541D295C5300B90302 /* DelayedInvertedTurnAttributes.cpp */; }; - 294548A21D295C5500B90302 /* DelayedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546551D295C5300B90302 /* DelayedTurn.cpp */; }; - 294548A31D295C5500B90302 /* DelayedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546561D295C5300B90302 /* DelayedTurnAttributes.cpp */; }; - 294548A41D295C5500B90302 /* DetachedLegato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546571D295C5300B90302 /* DetachedLegato.cpp */; }; - 294548A51D295C5500B90302 /* Diatonic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546581D295C5300B90302 /* Diatonic.cpp */; }; - 294548A61D295C5500B90302 /* Direction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546591D295C5300B90302 /* Direction.cpp */; }; - 294548A71D295C5500B90302 /* DirectionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465A1D295C5300B90302 /* DirectionAttributes.cpp */; }; - 294548A81D295C5500B90302 /* DirectionType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465B1D295C5300B90302 /* DirectionType.cpp */; }; - 294548A91D295C5500B90302 /* Directive.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465C1D295C5300B90302 /* Directive.cpp */; }; - 294548AA1D295C5500B90302 /* DirectiveAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465D1D295C5300B90302 /* DirectiveAttributes.cpp */; }; - 294548AB1D295C5500B90302 /* DisplayOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465E1D295C5300B90302 /* DisplayOctave.cpp */; }; - 294548AC1D295C5500B90302 /* DisplayStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465F1D295C5300B90302 /* DisplayStep.cpp */; }; - 294548AD1D295C5500B90302 /* DisplayStepOctaveGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546601D295C5300B90302 /* DisplayStepOctaveGroup.cpp */; }; - 294548AE1D295C5500B90302 /* DisplayText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546611D295C5300B90302 /* DisplayText.cpp */; }; - 294548AF1D295C5500B90302 /* DisplayTextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546621D295C5300B90302 /* DisplayTextAttributes.cpp */; }; - 294548B01D295C5500B90302 /* DisplayTextOrAccidentalText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546631D295C5300B90302 /* DisplayTextOrAccidentalText.cpp */; }; - 294548B11D295C5500B90302 /* Distance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546641D295C5300B90302 /* Distance.cpp */; }; - 294548B21D295C5500B90302 /* DistanceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546651D295C5300B90302 /* DistanceAttributes.cpp */; }; - 294548B31D295C5500B90302 /* Divisions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546661D295C5300B90302 /* Divisions.cpp */; }; - 294548B41D295C5500B90302 /* Doit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546671D295C5300B90302 /* Doit.cpp */; }; - 294548B51D295C5500B90302 /* Dot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546681D295C5300B90302 /* Dot.cpp */; }; - 294548B61D295C5500B90302 /* Double.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546691D295C5300B90302 /* Double.cpp */; }; - 294548B71D295C5500B90302 /* DoubleTongue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466A1D295C5300B90302 /* DoubleTongue.cpp */; }; - 294548B81D295C5500B90302 /* DownBow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466B1D295C5300B90302 /* DownBow.cpp */; }; - 294548B91D295C5500B90302 /* Duration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466C1D295C5300B90302 /* Duration.cpp */; }; - 294548BA1D295C5500B90302 /* Dynamics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466D1D295C5300B90302 /* Dynamics.cpp */; }; - 294548BB1D295C5500B90302 /* DynamicsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466E1D295C5300B90302 /* DynamicsAttributes.cpp */; }; - 294548BC1D295C5500B90302 /* EditorialGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466F1D295C5300B90302 /* EditorialGroup.cpp */; }; - 294548BD1D295C5500B90302 /* EditorialVoiceDirectionGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546701D295C5300B90302 /* EditorialVoiceDirectionGroup.cpp */; }; - 294548BE1D295C5500B90302 /* EditorialVoiceGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546711D295C5300B90302 /* EditorialVoiceGroup.cpp */; }; - 294548BF1D295C5500B90302 /* Effect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546721D295C5300B90302 /* Effect.cpp */; }; - 294548C01D295C5500B90302 /* Elevation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546731D295C5300B90302 /* Elevation.cpp */; }; - 294548C11D295C5500B90302 /* Elision.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546741D295C5300B90302 /* Elision.cpp */; }; - 294548C21D295C5500B90302 /* ElisionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546751D295C5300B90302 /* ElisionAttributes.cpp */; }; - 294548C31D295C5500B90302 /* ElisionSyllabicGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546761D295C5300B90302 /* ElisionSyllabicGroup.cpp */; }; - 294548C41D295C5500B90302 /* ElisionSyllabicTextGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546771D295C5300B90302 /* ElisionSyllabicTextGroup.cpp */; }; - 294548C51D295C5500B90302 /* EmptyFontAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546781D295C5300B90302 /* EmptyFontAttributes.cpp */; }; - 294548C61D295C5500B90302 /* EmptyLineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546791D295C5300B90302 /* EmptyLineAttributes.cpp */; }; - 294548C71D295C5500B90302 /* EmptyPlacementAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467A1D295C5300B90302 /* EmptyPlacementAttributes.cpp */; }; - 294548C81D295C5500B90302 /* EmptyTrillSoundAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467B1D295C5300B90302 /* EmptyTrillSoundAttributes.cpp */; }; - 294548C91D295C5500B90302 /* Encoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467C1D295C5300B90302 /* Encoder.cpp */; }; - 294548CA1D295C5500B90302 /* EncoderAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467D1D295C5300B90302 /* EncoderAttributes.cpp */; }; - 294548CB1D295C5500B90302 /* EncodingChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467E1D295C5300B90302 /* EncodingChoice.cpp */; }; - 294548CC1D295C5500B90302 /* EncodingDate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467F1D295C5300B90302 /* EncodingDate.cpp */; }; - 294548CD1D295C5500B90302 /* EncodingDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546801D295C5300B90302 /* EncodingDescription.cpp */; }; - 294548CE1D295C5500B90302 /* Ending.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546811D295C5300B90302 /* Ending.cpp */; }; - 294548CF1D295C5500B90302 /* EndingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546821D295C5300B90302 /* EndingAttributes.cpp */; }; - 294548D01D295C5500B90302 /* EndLine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546831D295C5300B90302 /* EndLine.cpp */; }; - 294548D11D295C5500B90302 /* EndParagraph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546841D295C5300B90302 /* EndParagraph.cpp */; }; - 294548D21D295C5500B90302 /* Ensemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546851D295C5300B90302 /* Ensemble.cpp */; }; - 294548D31D295C5500B90302 /* Extend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546861D295C5300B90302 /* Extend.cpp */; }; - 294548D41D295C5500B90302 /* ExtendAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546871D295C5300B90302 /* ExtendAttributes.cpp */; }; - 294548D51D295C5500B90302 /* Eyeglasses.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546881D295C5300B90302 /* Eyeglasses.cpp */; }; - 294548D61D295C5500B90302 /* Falloff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546891D295C5300B90302 /* Falloff.cpp */; }; - 294548D71D295C5500B90302 /* Feature.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468A1D295C5300B90302 /* Feature.cpp */; }; - 294548D81D295C5500B90302 /* FeatureAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468B1D295C5300B90302 /* FeatureAttributes.cpp */; }; - 294548D91D295C5500B90302 /* Fermata.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468C1D295C5300B90302 /* Fermata.cpp */; }; - 294548DA1D295C5500B90302 /* FermataAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468D1D295C5300B90302 /* FermataAttributes.cpp */; }; - 294548DB1D295C5500B90302 /* Fifths.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468E1D295C5300B90302 /* Fifths.cpp */; }; - 294548DC1D295C5500B90302 /* Figure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468F1D295C5300B90302 /* Figure.cpp */; }; - 294548DD1D295C5500B90302 /* FiguredBass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546901D295C5300B90302 /* FiguredBass.cpp */; }; - 294548DE1D295C5500B90302 /* FiguredBassAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546911D295C5300B90302 /* FiguredBassAttributes.cpp */; }; - 294548DF1D295C5500B90302 /* FigureNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546921D295C5300B90302 /* FigureNumber.cpp */; }; - 294548E01D295C5500B90302 /* FigureNumberAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546931D295C5300B90302 /* FigureNumberAttributes.cpp */; }; - 294548E11D295C5500B90302 /* Fingering.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546941D295C5300B90302 /* Fingering.cpp */; }; - 294548E21D295C5500B90302 /* FingeringAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546951D295C5300B90302 /* FingeringAttributes.cpp */; }; - 294548E31D295C5500B90302 /* Fingernails.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546961D295C5300B90302 /* Fingernails.cpp */; }; - 294548E41D295C5500B90302 /* FirstFret.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546971D295C5300B90302 /* FirstFret.cpp */; }; - 294548E51D295C5500B90302 /* FirstFretAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546981D295C5300B90302 /* FirstFretAttributes.cpp */; }; - 294548E61D295C5500B90302 /* Footnote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546991D295C5300B90302 /* Footnote.cpp */; }; - 294548E71D295C5500B90302 /* FootnoteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469A1D295C5300B90302 /* FootnoteAttributes.cpp */; }; - 294548E81D295C5500B90302 /* Forward.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469B1D295C5300B90302 /* Forward.cpp */; }; - 294548E91D295C5500B90302 /* Frame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469C1D295C5300B90302 /* Frame.cpp */; }; - 294548EA1D295C5500B90302 /* FrameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469D1D295C5300B90302 /* FrameAttributes.cpp */; }; - 294548EB1D295C5500B90302 /* FrameFrets.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469E1D295C5300B90302 /* FrameFrets.cpp */; }; - 294548EC1D295C5500B90302 /* FrameNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469F1D295C5300B90302 /* FrameNote.cpp */; }; - 294548ED1D295C5500B90302 /* FrameStrings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A01D295C5300B90302 /* FrameStrings.cpp */; }; - 294548EE1D295C5500B90302 /* Fret.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A11D295C5300B90302 /* Fret.cpp */; }; - 294548EF1D295C5500B90302 /* FretAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A21D295C5300B90302 /* FretAttributes.cpp */; }; - 294548F01D295C5500B90302 /* FullNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A31D295C5300B90302 /* FullNoteGroup.cpp */; }; - 294548F11D295C5500B90302 /* FullNoteTypeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A41D295C5300B90302 /* FullNoteTypeChoice.cpp */; }; - 294548F21D295C5500B90302 /* Function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A51D295C5300B90302 /* Function.cpp */; }; - 294548F31D295C5500B90302 /* FunctionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A61D295C5300B90302 /* FunctionAttributes.cpp */; }; - 294548F41D295C5500B90302 /* Glass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A71D295C5300B90302 /* Glass.cpp */; }; - 294548F51D295C5500B90302 /* Glissando.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A81D295C5300B90302 /* Glissando.cpp */; }; - 294548F61D295C5500B90302 /* GlissandoAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A91D295C5300B90302 /* GlissandoAttributes.cpp */; }; - 294548F71D295C5500B90302 /* Grace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AA1D295C5300B90302 /* Grace.cpp */; }; - 294548F81D295C5500B90302 /* GraceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AB1D295C5300B90302 /* GraceAttributes.cpp */; }; - 294548F91D295C5500B90302 /* GraceNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AC1D295C5300B90302 /* GraceNoteGroup.cpp */; }; - 294548FA1D295C5500B90302 /* Group.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AD1D295C5300B90302 /* Group.cpp */; }; - 294548FB1D295C5500B90302 /* GroupAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AE1D295C5300B90302 /* GroupAbbreviation.cpp */; }; - 294548FC1D295C5500B90302 /* GroupAbbreviationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AF1D295C5300B90302 /* GroupAbbreviationAttributes.cpp */; }; - 294548FD1D295C5500B90302 /* GroupAbbreviationDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B01D295C5300B90302 /* GroupAbbreviationDisplay.cpp */; }; - 294548FE1D295C5500B90302 /* GroupAbbreviationDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B11D295C5300B90302 /* GroupAbbreviationDisplayAttributes.cpp */; }; - 294548FF1D295C5500B90302 /* GroupBarline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B21D295C5300B90302 /* GroupBarline.cpp */; }; - 294549001D295C5500B90302 /* GroupBarlineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B31D295C5300B90302 /* GroupBarlineAttributes.cpp */; }; - 294549011D295C5500B90302 /* Grouping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B41D295C5300B90302 /* Grouping.cpp */; }; - 294549021D295C5500B90302 /* GroupingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B51D295C5300B90302 /* GroupingAttributes.cpp */; }; - 294549031D295C5500B90302 /* GroupName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B61D295C5300B90302 /* GroupName.cpp */; }; - 294549041D295C5500B90302 /* GroupNameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B71D295C5300B90302 /* GroupNameAttributes.cpp */; }; - 294549051D295C5500B90302 /* GroupNameDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B81D295C5300B90302 /* GroupNameDisplay.cpp */; }; - 294549061D295C5500B90302 /* GroupNameDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B91D295C5300B90302 /* GroupNameDisplayAttributes.cpp */; }; - 294549071D295C5500B90302 /* GroupSymbol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BA1D295C5300B90302 /* GroupSymbol.cpp */; }; - 294549081D295C5500B90302 /* GroupSymbolAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BB1D295C5300B90302 /* GroupSymbolAttributes.cpp */; }; - 294549091D295C5500B90302 /* GroupTime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BC1D295C5300B90302 /* GroupTime.cpp */; }; - 2945490A1D295C5500B90302 /* HammerOn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BD1D295C5300B90302 /* HammerOn.cpp */; }; - 2945490B1D295C5500B90302 /* HammerOnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BE1D295C5300B90302 /* HammerOnAttributes.cpp */; }; - 2945490C1D295C5500B90302 /* Handbell.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BF1D295C5300B90302 /* Handbell.cpp */; }; - 2945490D1D295C5500B90302 /* HandbellAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C01D295C5300B90302 /* HandbellAttributes.cpp */; }; - 2945490E1D295C5500B90302 /* Harmonic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C11D295C5300B90302 /* Harmonic.cpp */; }; - 2945490F1D295C5500B90302 /* HarmonicAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C21D295C5300B90302 /* HarmonicAttributes.cpp */; }; - 294549101D295C5500B90302 /* HarmonicInfoChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C31D295C5300B90302 /* HarmonicInfoChoice.cpp */; }; - 294549111D295C5500B90302 /* HarmonicTypeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C41D295C5300B90302 /* HarmonicTypeChoice.cpp */; }; - 294549121D295C5500B90302 /* Harmony.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C51D295C5300B90302 /* Harmony.cpp */; }; - 294549131D295C5500B90302 /* HarmonyAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C61D295C5300B90302 /* HarmonyAttributes.cpp */; }; - 294549141D295C5500B90302 /* HarmonyChordGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C71D295C5300B90302 /* HarmonyChordGroup.cpp */; }; - 294549151D295C5500B90302 /* HarpPedals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C81D295C5300B90302 /* HarpPedals.cpp */; }; - 294549161D295C5500B90302 /* HarpPedalsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C91D295C5300B90302 /* HarpPedalsAttributes.cpp */; }; - 294549171D295C5500B90302 /* Heel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CA1D295C5300B90302 /* Heel.cpp */; }; - 294549181D295C5500B90302 /* HeelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CB1D295C5300B90302 /* HeelAttributes.cpp */; }; - 294549191D295C5500B90302 /* Hole.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CC1D295C5300B90302 /* Hole.cpp */; }; - 2945491A1D295C5500B90302 /* HoleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CD1D295C5300B90302 /* HoleAttributes.cpp */; }; - 2945491B1D295C5500B90302 /* HoleClosed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CE1D295C5300B90302 /* HoleClosed.cpp */; }; - 2945491C1D295C5500B90302 /* HoleClosedAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CF1D295C5300B90302 /* HoleClosedAttributes.cpp */; }; - 2945491D1D295C5500B90302 /* HoleShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D01D295C5300B90302 /* HoleShape.cpp */; }; - 2945491E1D295C5500B90302 /* HoleType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D11D295C5300B90302 /* HoleType.cpp */; }; - 2945491F1D295C5500B90302 /* Humming.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D21D295C5300B90302 /* Humming.cpp */; }; - 294549201D295C5500B90302 /* Identification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D31D295C5300B90302 /* Identification.cpp */; }; - 294549211D295C5500B90302 /* Image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D41D295C5300B90302 /* Image.cpp */; }; - 294549221D295C5500B90302 /* ImageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D51D295C5300B90302 /* ImageAttributes.cpp */; }; - 294549231D295C5500B90302 /* Instrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D61D295C5300B90302 /* Instrument.cpp */; }; - 294549241D295C5500B90302 /* InstrumentAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D71D295C5300B90302 /* InstrumentAbbreviation.cpp */; }; - 294549251D295C5500B90302 /* InstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D81D295C5300B90302 /* InstrumentAttributes.cpp */; }; - 294549261D295C5500B90302 /* InstrumentName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D91D295C5300B90302 /* InstrumentName.cpp */; }; - 294549271D295C5500B90302 /* Instruments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DA1D295C5300B90302 /* Instruments.cpp */; }; - 294549281D295C5500B90302 /* InstrumentSound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DB1D295C5300B90302 /* InstrumentSound.cpp */; }; - 294549291D295C5500B90302 /* Interchangeable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DC1D295C5300B90302 /* Interchangeable.cpp */; }; - 2945492A1D295C5500B90302 /* InterchangeableAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DD1D295C5300B90302 /* InterchangeableAttributes.cpp */; }; - 2945492B1D295C5500B90302 /* Inversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DE1D295C5300B90302 /* Inversion.cpp */; }; - 2945492C1D295C5500B90302 /* InversionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DF1D295C5300B90302 /* InversionAttributes.cpp */; }; - 2945492D1D295C5500B90302 /* InvertedMordent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E01D295C5300B90302 /* InvertedMordent.cpp */; }; - 2945492E1D295C5500B90302 /* InvertedMordentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E11D295C5300B90302 /* InvertedMordentAttributes.cpp */; }; - 2945492F1D295C5500B90302 /* InvertedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E21D295C5300B90302 /* InvertedTurn.cpp */; }; - 294549301D295C5500B90302 /* InvertedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E31D295C5300B90302 /* InvertedTurnAttributes.cpp */; }; - 294549311D295C5500B90302 /* Ipa.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E41D295C5300B90302 /* Ipa.cpp */; }; - 294549321D295C5500B90302 /* Key.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E51D295C5300B90302 /* Key.cpp */; }; - 294549331D295C5500B90302 /* KeyAccidental.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E61D295C5300B90302 /* KeyAccidental.cpp */; }; - 294549341D295C5500B90302 /* KeyAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E71D295C5300B90302 /* KeyAlter.cpp */; }; - 294549351D295C5500B90302 /* KeyAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E81D295C5300B90302 /* KeyAttributes.cpp */; }; - 294549361D295C5500B90302 /* KeyChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E91D295C5300B90302 /* KeyChoice.cpp */; }; - 294549371D295C5500B90302 /* KeyOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EA1D295C5300B90302 /* KeyOctave.cpp */; }; - 294549381D295C5500B90302 /* KeyOctaveAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EB1D295C5300B90302 /* KeyOctaveAttributes.cpp */; }; - 294549391D295C5500B90302 /* KeyStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EC1D295C5300B90302 /* KeyStep.cpp */; }; - 2945493A1D295C5500B90302 /* Kind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546ED1D295C5300B90302 /* Kind.cpp */; }; - 2945493B1D295C5500B90302 /* KindAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EE1D295C5300B90302 /* KindAttributes.cpp */; }; - 2945493C1D295C5500B90302 /* Laughing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EF1D295C5300B90302 /* Laughing.cpp */; }; - 2945493D1D295C5500B90302 /* LayoutGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F01D295C5300B90302 /* LayoutGroup.cpp */; }; - 2945493E1D295C5500B90302 /* LeftDivider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F11D295C5300B90302 /* LeftDivider.cpp */; }; - 2945493F1D295C5500B90302 /* LeftMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F21D295C5300B90302 /* LeftMargin.cpp */; }; - 294549401D295C5500B90302 /* Level.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F31D295C5300B90302 /* Level.cpp */; }; - 294549411D295C5500B90302 /* LevelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F41D295C5300B90302 /* LevelAttributes.cpp */; }; - 294549421D295C5500B90302 /* Line.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F51D295C5300B90302 /* Line.cpp */; }; - 294549431D295C5500B90302 /* LineWidth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F61D295C5300B90302 /* LineWidth.cpp */; }; - 294549441D295C5500B90302 /* LineWidthAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F71D295C5300B90302 /* LineWidthAttributes.cpp */; }; - 294549451D295C5500B90302 /* Link.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F81D295C5300B90302 /* Link.cpp */; }; - 294549461D295C5500B90302 /* LinkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F91D295C5300B90302 /* LinkAttributes.cpp */; }; - 294549471D295C5500B90302 /* Lyric.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FA1D295C5300B90302 /* Lyric.cpp */; }; - 294549481D295C5500B90302 /* LyricAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FB1D295C5300B90302 /* LyricAttributes.cpp */; }; - 294549491D295C5500B90302 /* LyricFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FC1D295C5300B90302 /* LyricFont.cpp */; }; - 2945494A1D295C5500B90302 /* LyricFontAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FD1D295C5300B90302 /* LyricFontAttributes.cpp */; }; - 2945494B1D295C5500B90302 /* LyricLanguage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FE1D295C5300B90302 /* LyricLanguage.cpp */; }; - 2945494C1D295C5500B90302 /* LyricLanguageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FF1D295C5300B90302 /* LyricLanguageAttributes.cpp */; }; - 2945494D1D295C5500B90302 /* LyricTextChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547001D295C5300B90302 /* LyricTextChoice.cpp */; }; - 2945494E1D295C5500B90302 /* MeasureAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547011D295C5300B90302 /* MeasureAttributes.cpp */; }; - 2945494F1D295C5500B90302 /* MeasureDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547021D295C5300B90302 /* MeasureDistance.cpp */; }; - 294549501D295C5500B90302 /* MeasureLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547031D295C5300B90302 /* MeasureLayout.cpp */; }; - 294549511D295C5500B90302 /* MeasureNumbering.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547041D295C5300B90302 /* MeasureNumbering.cpp */; }; - 294549521D295C5500B90302 /* MeasureNumberingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547051D295C5300B90302 /* MeasureNumberingAttributes.cpp */; }; - 294549531D295C5500B90302 /* MeasureRepeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547061D295C5300B90302 /* MeasureRepeat.cpp */; }; - 294549541D295C5500B90302 /* MeasureRepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547071D295C5300B90302 /* MeasureRepeatAttributes.cpp */; }; - 294549551D295C5500B90302 /* MeasureStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547081D295C5300B90302 /* MeasureStyle.cpp */; }; - 294549561D295C5500B90302 /* MeasureStyleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547091D295C5300B90302 /* MeasureStyleAttributes.cpp */; }; - 294549571D295C5500B90302 /* MeasureStyleChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470A1D295C5300B90302 /* MeasureStyleChoice.cpp */; }; - 294549581D295C5500B90302 /* Membrane.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470B1D295C5300B90302 /* Membrane.cpp */; }; - 294549591D295C5500B90302 /* Metal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470C1D295C5300B90302 /* Metal.cpp */; }; - 2945495A1D295C5500B90302 /* Metronome.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470D1D295C5300B90302 /* Metronome.cpp */; }; - 2945495B1D295C5500B90302 /* MetronomeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470E1D295C5300B90302 /* MetronomeAttributes.cpp */; }; - 2945495C1D295C5500B90302 /* MetronomeBeam.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470F1D295C5300B90302 /* MetronomeBeam.cpp */; }; - 2945495D1D295C5500B90302 /* MetronomeBeamAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547101D295C5300B90302 /* MetronomeBeamAttributes.cpp */; }; - 2945495E1D295C5500B90302 /* MetronomeDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547111D295C5300B90302 /* MetronomeDot.cpp */; }; - 2945495F1D295C5500B90302 /* MetronomeNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547121D295C5300B90302 /* MetronomeNote.cpp */; }; - 294549601D295C5500B90302 /* MetronomeRelation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547131D295C5300B90302 /* MetronomeRelation.cpp */; }; - 294549611D295C5500B90302 /* MetronomeRelationGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547141D295C5300B90302 /* MetronomeRelationGroup.cpp */; }; - 294549621D295C5500B90302 /* MetronomeTuplet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547151D295C5300B90302 /* MetronomeTuplet.cpp */; }; - 294549631D295C5500B90302 /* MetronomeTupletAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547161D295C5300B90302 /* MetronomeTupletAttributes.cpp */; }; - 294549641D295C5500B90302 /* MetronomeType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547171D295C5300B90302 /* MetronomeType.cpp */; }; - 294549651D295C5500B90302 /* MidiBank.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547181D295C5300B90302 /* MidiBank.cpp */; }; - 294549661D295C5500B90302 /* MidiChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547191D295C5300B90302 /* MidiChannel.cpp */; }; - 294549671D295C5500B90302 /* MidiDevice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471A1D295C5300B90302 /* MidiDevice.cpp */; }; - 294549681D295C5500B90302 /* MidiDeviceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471B1D295C5300B90302 /* MidiDeviceAttributes.cpp */; }; - 294549691D295C5500B90302 /* MidiDeviceInstrumentGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471C1D295C5300B90302 /* MidiDeviceInstrumentGroup.cpp */; }; - 2945496A1D295C5500B90302 /* MidiInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471D1D295C5300B90302 /* MidiInstrument.cpp */; }; - 2945496B1D295C5500B90302 /* MidiInstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471E1D295C5300B90302 /* MidiInstrumentAttributes.cpp */; }; - 2945496C1D295C5500B90302 /* MidiName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471F1D295C5300B90302 /* MidiName.cpp */; }; - 2945496D1D295C5500B90302 /* MidiProgram.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547201D295C5300B90302 /* MidiProgram.cpp */; }; - 2945496E1D295C5500B90302 /* MidiUnpitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547211D295C5300B90302 /* MidiUnpitched.cpp */; }; - 2945496F1D295C5500B90302 /* Millimeters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547221D295C5300B90302 /* Millimeters.cpp */; }; - 294549701D295C5500B90302 /* Miscellaneous.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547231D295C5300B90302 /* Miscellaneous.cpp */; }; - 294549711D295C5500B90302 /* MiscellaneousField.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547241D295C5300B90302 /* MiscellaneousField.cpp */; }; - 294549721D295C5500B90302 /* MiscellaneousFieldAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547251D295C5300B90302 /* MiscellaneousFieldAttributes.cpp */; }; - 294549731D295C5500B90302 /* Mode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547261D295C5300B90302 /* Mode.cpp */; }; - 294549741D295C5500B90302 /* Mordent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547271D295C5300B90302 /* Mordent.cpp */; }; - 294549751D295C5500B90302 /* MordentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547281D295C5300B90302 /* MordentAttributes.cpp */; }; - 294549761D295C5500B90302 /* MovementNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547291D295C5300B90302 /* MovementNumber.cpp */; }; - 294549771D295C5500B90302 /* MovementTitle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472A1D295C5300B90302 /* MovementTitle.cpp */; }; - 294549781D295C5500B90302 /* MultipleRest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472B1D295C5300B90302 /* MultipleRest.cpp */; }; - 294549791D295C5500B90302 /* MultipleRestAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472C1D295C5400B90302 /* MultipleRestAttributes.cpp */; }; - 2945497A1D295C5500B90302 /* MusicDataChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472D1D295C5400B90302 /* MusicDataChoice.cpp */; }; - 2945497B1D295C5500B90302 /* MusicDataGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472E1D295C5400B90302 /* MusicDataGroup.cpp */; }; - 2945497C1D295C5500B90302 /* MusicFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472F1D295C5400B90302 /* MusicFont.cpp */; }; - 2945497D1D295C5500B90302 /* Mute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547301D295C5400B90302 /* Mute.cpp */; }; - 2945497E1D295C5500B90302 /* Natural.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547311D295C5400B90302 /* Natural.cpp */; }; - 2945497F1D295C5500B90302 /* NonArpeggiate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547321D295C5400B90302 /* NonArpeggiate.cpp */; }; - 294549801D295C5500B90302 /* NonArpeggiateAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547331D295C5400B90302 /* NonArpeggiateAttributes.cpp */; }; - 294549811D295C5500B90302 /* NonTraditionalKey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547341D295C5400B90302 /* NonTraditionalKey.cpp */; }; - 294549821D295C5500B90302 /* NormalDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547351D295C5400B90302 /* NormalDot.cpp */; }; - 294549831D295C5500B90302 /* NormalNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547361D295C5400B90302 /* NormalNoteGroup.cpp */; }; - 294549841D295C5500B90302 /* NormalNotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547371D295C5400B90302 /* NormalNotes.cpp */; }; - 294549851D295C5500B90302 /* NormalType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547381D295C5400B90302 /* NormalType.cpp */; }; - 294549861D295C5500B90302 /* NormalTypeNormalDotGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547391D295C5400B90302 /* NormalTypeNormalDotGroup.cpp */; }; - 294549871D295C5500B90302 /* Notations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473A1D295C5400B90302 /* Notations.cpp */; }; - 294549881D295C5500B90302 /* NotationsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473B1D295C5400B90302 /* NotationsAttributes.cpp */; }; - 294549891D295C5500B90302 /* NotationsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473C1D295C5400B90302 /* NotationsChoice.cpp */; }; - 2945498A1D295C5500B90302 /* Note.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473D1D295C5400B90302 /* Note.cpp */; }; - 2945498B1D295C5500B90302 /* NoteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473E1D295C5400B90302 /* NoteAttributes.cpp */; }; - 2945498C1D295C5500B90302 /* NoteChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473F1D295C5400B90302 /* NoteChoice.cpp */; }; - 2945498D1D295C5500B90302 /* Notehead.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547401D295C5400B90302 /* Notehead.cpp */; }; - 2945498E1D295C5500B90302 /* NoteheadAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547411D295C5400B90302 /* NoteheadAttributes.cpp */; }; - 2945498F1D295C5500B90302 /* NoteheadText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547421D295C5400B90302 /* NoteheadText.cpp */; }; - 294549901D295C5500B90302 /* NoteRelationNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547431D295C5400B90302 /* NoteRelationNote.cpp */; }; - 294549911D295C5500B90302 /* NoteSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547441D295C5400B90302 /* NoteSize.cpp */; }; - 294549921D295C5500B90302 /* NoteSizeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547451D295C5400B90302 /* NoteSizeAttributes.cpp */; }; - 294549931D295C5500B90302 /* Octave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547461D295C5400B90302 /* Octave.cpp */; }; - 294549941D295C5500B90302 /* OctaveChange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547471D295C5400B90302 /* OctaveChange.cpp */; }; - 294549951D295C5500B90302 /* OctaveShift.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547481D295C5400B90302 /* OctaveShift.cpp */; }; - 294549961D295C5500B90302 /* OctaveShiftAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547491D295C5400B90302 /* OctaveShiftAttributes.cpp */; }; - 294549971D295C5500B90302 /* Offset.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474A1D295C5400B90302 /* Offset.cpp */; }; - 294549981D295C5500B90302 /* OffsetAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474B1D295C5400B90302 /* OffsetAttributes.cpp */; }; - 294549991D295C5500B90302 /* OpenString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474C1D295C5400B90302 /* OpenString.cpp */; }; - 2945499A1D295C5500B90302 /* Opus.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474D1D295C5400B90302 /* Opus.cpp */; }; - 2945499B1D295C5500B90302 /* OpusAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474E1D295C5400B90302 /* OpusAttributes.cpp */; }; - 2945499C1D295C5500B90302 /* Ornaments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474F1D295C5400B90302 /* Ornaments.cpp */; }; - 2945499D1D295C5500B90302 /* OrnamentsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547501D295C5400B90302 /* OrnamentsChoice.cpp */; }; - 2945499E1D295C5500B90302 /* OtherAppearance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547511D295C5400B90302 /* OtherAppearance.cpp */; }; - 2945499F1D295C5500B90302 /* OtherAppearanceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547521D295C5400B90302 /* OtherAppearanceAttributes.cpp */; }; - 294549A01D295C5500B90302 /* OtherArticulation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547531D295C5400B90302 /* OtherArticulation.cpp */; }; - 294549A11D295C5500B90302 /* OtherArticulationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547541D295C5400B90302 /* OtherArticulationAttributes.cpp */; }; - 294549A21D295C5500B90302 /* OtherDirection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547551D295C5400B90302 /* OtherDirection.cpp */; }; - 294549A31D295C5500B90302 /* OtherDirectionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547561D295C5400B90302 /* OtherDirectionAttributes.cpp */; }; - 294549A41D295C5500B90302 /* OtherNotation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547571D295C5400B90302 /* OtherNotation.cpp */; }; - 294549A51D295C5500B90302 /* OtherNotationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547581D295C5400B90302 /* OtherNotationAttributes.cpp */; }; - 294549A61D295C5500B90302 /* OtherOrnament.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547591D295C5400B90302 /* OtherOrnament.cpp */; }; - 294549A71D295C5500B90302 /* OtherOrnamentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475A1D295C5400B90302 /* OtherOrnamentAttributes.cpp */; }; - 294549A81D295C5500B90302 /* OtherPercussion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475B1D295C5400B90302 /* OtherPercussion.cpp */; }; - 294549A91D295C5500B90302 /* OtherPlay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475C1D295C5400B90302 /* OtherPlay.cpp */; }; - 294549AA1D295C5500B90302 /* OtherPlayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475D1D295C5400B90302 /* OtherPlayAttributes.cpp */; }; - 294549AB1D295C5500B90302 /* OtherTechnical.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475E1D295C5400B90302 /* OtherTechnical.cpp */; }; - 294549AC1D295C5500B90302 /* OtherTechnicalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475F1D295C5400B90302 /* OtherTechnicalAttributes.cpp */; }; - 294549AD1D295C5500B90302 /* PageHeight.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547601D295C5400B90302 /* PageHeight.cpp */; }; - 294549AE1D295C5500B90302 /* PageLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547611D295C5400B90302 /* PageLayout.cpp */; }; - 294549AF1D295C5500B90302 /* PageMargins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547621D295C5400B90302 /* PageMargins.cpp */; }; - 294549B01D295C5500B90302 /* PageMarginsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547631D295C5400B90302 /* PageMarginsAttributes.cpp */; }; - 294549B11D295C5500B90302 /* PageWidth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547641D295C5400B90302 /* PageWidth.cpp */; }; - 294549B21D295C5500B90302 /* Pan.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547651D295C5400B90302 /* Pan.cpp */; }; - 294549B31D295C5500B90302 /* PartAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547661D295C5400B90302 /* PartAbbreviation.cpp */; }; - 294549B41D295C5500B90302 /* PartAbbreviationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547671D295C5400B90302 /* PartAbbreviationAttributes.cpp */; }; - 294549B51D295C5500B90302 /* PartAbbreviationDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547681D295C5400B90302 /* PartAbbreviationDisplay.cpp */; }; - 294549B61D295C5500B90302 /* PartAbbreviationDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547691D295C5400B90302 /* PartAbbreviationDisplayAttributes.cpp */; }; - 294549B71D295C5500B90302 /* PartAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476A1D295C5400B90302 /* PartAttributes.cpp */; }; - 294549B81D295C5500B90302 /* PartGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476B1D295C5400B90302 /* PartGroup.cpp */; }; - 294549B91D295C5500B90302 /* PartGroupAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476C1D295C5400B90302 /* PartGroupAttributes.cpp */; }; - 294549BA1D295C5500B90302 /* PartGroupOrScorePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476D1D295C5400B90302 /* PartGroupOrScorePart.cpp */; }; - 294549BB1D295C5500B90302 /* PartList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476E1D295C5400B90302 /* PartList.cpp */; }; - 294549BC1D295C5500B90302 /* PartName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476F1D295C5400B90302 /* PartName.cpp */; }; - 294549BD1D295C5500B90302 /* PartNameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547701D295C5400B90302 /* PartNameAttributes.cpp */; }; - 294549BE1D295C5500B90302 /* PartNameDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547711D295C5400B90302 /* PartNameDisplay.cpp */; }; - 294549BF1D295C5500B90302 /* PartNameDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547721D295C5400B90302 /* PartNameDisplayAttributes.cpp */; }; - 294549C01D295C5500B90302 /* PartSymbol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547731D295C5400B90302 /* PartSymbol.cpp */; }; - 294549C11D295C5500B90302 /* PartSymbolAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547741D295C5400B90302 /* PartSymbolAttributes.cpp */; }; - 294549C21D295C5500B90302 /* PartwiseMeasure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547751D295C5400B90302 /* PartwiseMeasure.cpp */; }; - 294549C31D295C5500B90302 /* PartwisePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547761D295C5400B90302 /* PartwisePart.cpp */; }; - 294549C41D295C5500B90302 /* Pedal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547771D295C5400B90302 /* Pedal.cpp */; }; - 294549C51D295C5500B90302 /* PedalAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547781D295C5400B90302 /* PedalAlter.cpp */; }; - 294549C61D295C5500B90302 /* PedalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547791D295C5400B90302 /* PedalAttributes.cpp */; }; - 294549C71D295C5500B90302 /* PedalStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477A1D295C5400B90302 /* PedalStep.cpp */; }; - 294549C81D295C5500B90302 /* PedalTuning.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477B1D295C5400B90302 /* PedalTuning.cpp */; }; - 294549C91D295C5500B90302 /* Percussion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477C1D295C5400B90302 /* Percussion.cpp */; }; - 294549CA1D295C5500B90302 /* PercussionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477D1D295C5400B90302 /* PercussionAttributes.cpp */; }; - 294549CB1D295C5500B90302 /* PercussionChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477E1D295C5400B90302 /* PercussionChoice.cpp */; }; - 294549CC1D295C5500B90302 /* PerMinute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477F1D295C5400B90302 /* PerMinute.cpp */; }; - 294549CD1D295C5500B90302 /* PerMinuteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547801D295C5400B90302 /* PerMinuteAttributes.cpp */; }; - 294549CE1D295C5500B90302 /* PerMinuteOrBeatUnitChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547811D295C5400B90302 /* PerMinuteOrBeatUnitChoice.cpp */; }; - 294549CF1D295C5500B90302 /* Pitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547821D295C5400B90302 /* Pitch.cpp */; }; - 294549D01D295C5500B90302 /* Pitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547831D295C5400B90302 /* Pitched.cpp */; }; - 294549D11D295C5500B90302 /* Play.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547841D295C5400B90302 /* Play.cpp */; }; - 294549D21D295C5500B90302 /* PlayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547851D295C5400B90302 /* PlayAttributes.cpp */; }; - 294549D31D295C5500B90302 /* Plop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547861D295C5400B90302 /* Plop.cpp */; }; - 294549D41D295C5500B90302 /* Pluck.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547871D295C5400B90302 /* Pluck.cpp */; }; - 294549D51D295C5500B90302 /* PluckAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547881D295C5400B90302 /* PluckAttributes.cpp */; }; - 294549D61D295C5500B90302 /* PreBend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547891D295C5400B90302 /* PreBend.cpp */; }; - 294549D71D295C5500B90302 /* Prefix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478A1D295C5400B90302 /* Prefix.cpp */; }; - 294549D81D295C5500B90302 /* PrefixAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478B1D295C5400B90302 /* PrefixAttributes.cpp */; }; - 294549D91D295C5500B90302 /* PrincipalVoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478C1D295C5400B90302 /* PrincipalVoice.cpp */; }; - 294549DA1D295C5500B90302 /* PrincipalVoiceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478D1D295C5400B90302 /* PrincipalVoiceAttributes.cpp */; }; - 294549DB1D295C5500B90302 /* Print.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478E1D295C5400B90302 /* Print.cpp */; }; - 294549DC1D295C5500B90302 /* PrintAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478F1D295C5400B90302 /* PrintAttributes.cpp */; }; - 294549DD1D295C5500B90302 /* Properties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547901D295C5400B90302 /* Properties.cpp */; }; - 294549DE1D295C5500B90302 /* PullOff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547911D295C5400B90302 /* PullOff.cpp */; }; - 294549DF1D295C5500B90302 /* PullOffAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547921D295C5400B90302 /* PullOffAttributes.cpp */; }; - 294549E01D295C5500B90302 /* Rehearsal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547931D295C5400B90302 /* Rehearsal.cpp */; }; - 294549E11D295C5500B90302 /* RehearsalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547941D295C5400B90302 /* RehearsalAttributes.cpp */; }; - 294549E21D295C5500B90302 /* Relation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547951D295C5400B90302 /* Relation.cpp */; }; - 294549E31D295C5500B90302 /* RelationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547961D295C5400B90302 /* RelationAttributes.cpp */; }; - 294549E41D295C5500B90302 /* Release.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547971D295C5400B90302 /* Release.cpp */; }; - 294549E51D295C5500B90302 /* Repeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547981D295C5400B90302 /* Repeat.cpp */; }; - 294549E61D295C5500B90302 /* RepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547991D295C5400B90302 /* RepeatAttributes.cpp */; }; - 294549E71D295C5500B90302 /* Rest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479A1D295C5400B90302 /* Rest.cpp */; }; - 294549E81D295C5500B90302 /* RestAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479B1D295C5400B90302 /* RestAttributes.cpp */; }; - 294549E91D295C5500B90302 /* RightDivider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479C1D295C5400B90302 /* RightDivider.cpp */; }; - 294549EA1D295C5500B90302 /* RightMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479D1D295C5400B90302 /* RightMargin.cpp */; }; - 294549EB1D295C5500B90302 /* Rights.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479E1D295C5400B90302 /* Rights.cpp */; }; - 294549EC1D295C5500B90302 /* RightsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479F1D295C5400B90302 /* RightsAttributes.cpp */; }; - 294549ED1D295C5500B90302 /* Root.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A01D295C5400B90302 /* Root.cpp */; }; - 294549EE1D295C5500B90302 /* RootAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A11D295C5400B90302 /* RootAlter.cpp */; }; - 294549EF1D295C5500B90302 /* RootAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A21D295C5400B90302 /* RootAlterAttributes.cpp */; }; - 294549F01D295C5500B90302 /* RootStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A31D295C5400B90302 /* RootStep.cpp */; }; - 294549F11D295C5500B90302 /* RootStepAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A41D295C5400B90302 /* RootStepAttributes.cpp */; }; - 294549F21D295C5500B90302 /* Scaling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A51D295C5400B90302 /* Scaling.cpp */; }; - 294549F31D295C5500B90302 /* Schleifer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A61D295C5400B90302 /* Schleifer.cpp */; }; - 294549F41D295C5500B90302 /* Scoop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A71D295C5400B90302 /* Scoop.cpp */; }; - 294549F51D295C5500B90302 /* Scordatura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A81D295C5400B90302 /* Scordatura.cpp */; }; - 294549F61D295C5500B90302 /* ScoreHeaderGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A91D295C5400B90302 /* ScoreHeaderGroup.cpp */; }; - 294549F71D295C5500B90302 /* ScoreInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AA1D295C5400B90302 /* ScoreInstrument.cpp */; }; - 294549F81D295C5500B90302 /* ScoreInstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AB1D295C5400B90302 /* ScoreInstrumentAttributes.cpp */; }; - 294549F91D295C5500B90302 /* ScorePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AC1D295C5400B90302 /* ScorePart.cpp */; }; - 294549FA1D295C5500B90302 /* ScorePartAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AD1D295C5400B90302 /* ScorePartAttributes.cpp */; }; - 294549FB1D295C5500B90302 /* ScorePartwise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AE1D295C5400B90302 /* ScorePartwise.cpp */; }; - 294549FC1D295C5500B90302 /* ScorePartwiseAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AF1D295C5400B90302 /* ScorePartwiseAttributes.cpp */; }; - 294549FD1D295C5500B90302 /* ScoreTimewise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B01D295C5400B90302 /* ScoreTimewise.cpp */; }; - 294549FE1D295C5500B90302 /* ScoreTimewiseAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B11D295C5400B90302 /* ScoreTimewiseAttributes.cpp */; }; - 294549FF1D295C5500B90302 /* Segno.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B21D295C5400B90302 /* Segno.cpp */; }; - 29454A001D295C5500B90302 /* SemiPitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B31D295C5400B90302 /* SemiPitched.cpp */; }; - 29454A011D295C5500B90302 /* SenzaMisura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B41D295C5400B90302 /* SenzaMisura.cpp */; }; - 29454A021D295C5500B90302 /* Shake.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B51D295C5400B90302 /* Shake.cpp */; }; - 29454A031D295C5500B90302 /* Sign.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B61D295C5400B90302 /* Sign.cpp */; }; - 29454A041D295C5500B90302 /* Slash.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B71D295C5400B90302 /* Slash.cpp */; }; - 29454A051D295C5500B90302 /* SlashAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B81D295C5400B90302 /* SlashAttributes.cpp */; }; - 29454A061D295C5500B90302 /* SlashDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B91D295C5400B90302 /* SlashDot.cpp */; }; - 29454A071D295C5500B90302 /* SlashType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BA1D295C5400B90302 /* SlashType.cpp */; }; - 29454A081D295C5500B90302 /* Slide.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BB1D295C5400B90302 /* Slide.cpp */; }; - 29454A091D295C5500B90302 /* SlideAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BC1D295C5400B90302 /* SlideAttributes.cpp */; }; - 29454A0A1D295C5500B90302 /* Slur.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BD1D295C5400B90302 /* Slur.cpp */; }; - 29454A0B1D295C5500B90302 /* SlurAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BE1D295C5400B90302 /* SlurAttributes.cpp */; }; - 29454A0C1D295C5500B90302 /* SnapPizzicato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BF1D295C5400B90302 /* SnapPizzicato.cpp */; }; - 29454A0D1D295C5500B90302 /* Software.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C01D295C5400B90302 /* Software.cpp */; }; - 29454A0E1D295C5500B90302 /* Solo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C11D295C5400B90302 /* Solo.cpp */; }; - 29454A0F1D295C5500B90302 /* SoloOrEnsembleChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C21D295C5400B90302 /* SoloOrEnsembleChoice.cpp */; }; - 29454A101D295C5500B90302 /* Sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C31D295C5400B90302 /* Sound.cpp */; }; - 29454A111D295C5500B90302 /* SoundAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C41D295C5400B90302 /* SoundAttributes.cpp */; }; - 29454A121D295C5500B90302 /* SoundingPitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C51D295C5400B90302 /* SoundingPitch.cpp */; }; - 29454A131D295C5500B90302 /* Source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C61D295C5400B90302 /* Source.cpp */; }; - 29454A141D295C5500B90302 /* Spiccato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C71D295C5400B90302 /* Spiccato.cpp */; }; - 29454A151D295C5500B90302 /* Staccatissimo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C81D295C5400B90302 /* Staccatissimo.cpp */; }; - 29454A161D295C5500B90302 /* Staccato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C91D295C5400B90302 /* Staccato.cpp */; }; - 29454A171D295C5500B90302 /* Staff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CA1D295C5400B90302 /* Staff.cpp */; }; - 29454A181D295C5500B90302 /* StaffDetails.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CB1D295C5400B90302 /* StaffDetails.cpp */; }; - 29454A191D295C5500B90302 /* StaffDetailsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CC1D295C5400B90302 /* StaffDetailsAttributes.cpp */; }; - 29454A1A1D295C5500B90302 /* StaffDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CD1D295C5400B90302 /* StaffDistance.cpp */; }; - 29454A1B1D295C5500B90302 /* StaffLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CE1D295C5400B90302 /* StaffLayout.cpp */; }; - 29454A1C1D295C5500B90302 /* StaffLayoutAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CF1D295C5400B90302 /* StaffLayoutAttributes.cpp */; }; - 29454A1D1D295C5500B90302 /* StaffLines.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D01D295C5400B90302 /* StaffLines.cpp */; }; - 29454A1E1D295C5500B90302 /* StaffSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D11D295C5400B90302 /* StaffSize.cpp */; }; - 29454A1F1D295C5500B90302 /* StaffTuning.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D21D295C5400B90302 /* StaffTuning.cpp */; }; - 29454A201D295C5500B90302 /* StaffTuningAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D31D295C5400B90302 /* StaffTuningAttributes.cpp */; }; - 29454A211D295C5500B90302 /* StaffType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D41D295C5400B90302 /* StaffType.cpp */; }; - 29454A221D295C5500B90302 /* Staves.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D51D295C5400B90302 /* Staves.cpp */; }; - 29454A231D295C5500B90302 /* Stem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D61D295C5400B90302 /* Stem.cpp */; }; - 29454A241D295C5500B90302 /* StemAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D71D295C5400B90302 /* StemAttributes.cpp */; }; - 29454A251D295C5500B90302 /* Step.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D81D295C5400B90302 /* Step.cpp */; }; - 29454A261D295C5500B90302 /* Stick.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D91D295C5400B90302 /* Stick.cpp */; }; - 29454A271D295C5500B90302 /* StickAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DA1D295C5400B90302 /* StickAttributes.cpp */; }; - 29454A281D295C5500B90302 /* StickLocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DB1D295C5400B90302 /* StickLocation.cpp */; }; - 29454A291D295C5500B90302 /* StickMaterial.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DC1D295C5400B90302 /* StickMaterial.cpp */; }; - 29454A2A1D295C5500B90302 /* StickType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DD1D295C5400B90302 /* StickType.cpp */; }; - 29454A2B1D295C5500B90302 /* Stopped.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DE1D295C5400B90302 /* Stopped.cpp */; }; - 29454A2C1D295C5500B90302 /* Stress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DF1D295C5400B90302 /* Stress.cpp */; }; - 29454A2D1D295C5500B90302 /* String.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E01D295C5400B90302 /* String.cpp */; }; - 29454A2E1D295C5500B90302 /* StringAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E11D295C5400B90302 /* StringAttributes.cpp */; }; - 29454A2F1D295C5500B90302 /* StringMute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E21D295C5400B90302 /* StringMute.cpp */; }; - 29454A301D295C5500B90302 /* StringMuteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E31D295C5400B90302 /* StringMuteAttributes.cpp */; }; - 29454A311D295C5500B90302 /* StrongAccent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E41D295C5400B90302 /* StrongAccent.cpp */; }; - 29454A321D295C5500B90302 /* StrongAccentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E51D295C5400B90302 /* StrongAccentAttributes.cpp */; }; - 29454A331D295C5500B90302 /* Suffix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E61D295C5400B90302 /* Suffix.cpp */; }; - 29454A341D295C5500B90302 /* SuffixAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E71D295C5400B90302 /* SuffixAttributes.cpp */; }; - 29454A351D295C5500B90302 /* Supports.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E81D295C5400B90302 /* Supports.cpp */; }; - 29454A361D295C5500B90302 /* SupportsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E91D295C5400B90302 /* SupportsAttributes.cpp */; }; - 29454A371D295C5500B90302 /* Syllabic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EA1D295C5400B90302 /* Syllabic.cpp */; }; - 29454A381D295C5500B90302 /* SyllabicTextGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EB1D295C5400B90302 /* SyllabicTextGroup.cpp */; }; - 29454A391D295C5500B90302 /* SystemDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EC1D295C5400B90302 /* SystemDistance.cpp */; }; - 29454A3A1D295C5500B90302 /* SystemDividers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547ED1D295C5400B90302 /* SystemDividers.cpp */; }; - 29454A3B1D295C5500B90302 /* SystemLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EE1D295C5400B90302 /* SystemLayout.cpp */; }; - 29454A3C1D295C5500B90302 /* SystemMargins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EF1D295C5400B90302 /* SystemMargins.cpp */; }; - 29454A3D1D295C5500B90302 /* Tap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F01D295C5400B90302 /* Tap.cpp */; }; - 29454A3E1D295C5500B90302 /* TapAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F11D295C5400B90302 /* TapAttributes.cpp */; }; - 29454A3F1D295C5500B90302 /* Technical.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F21D295C5400B90302 /* Technical.cpp */; }; - 29454A401D295C5500B90302 /* TechnicalChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F31D295C5400B90302 /* TechnicalChoice.cpp */; }; - 29454A411D295C5500B90302 /* Tenths.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F41D295C5400B90302 /* Tenths.cpp */; }; - 29454A421D295C5500B90302 /* Tenuto.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F51D295C5400B90302 /* Tenuto.cpp */; }; - 29454A431D295C5500B90302 /* Text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F61D295C5400B90302 /* Text.cpp */; }; - 29454A441D295C5500B90302 /* TextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F71D295C5400B90302 /* TextAttributes.cpp */; }; - 29454A451D295C5500B90302 /* ThumbPosition.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F81D295C5400B90302 /* ThumbPosition.cpp */; }; - 29454A461D295C5500B90302 /* Tie.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F91D295C5400B90302 /* Tie.cpp */; }; - 29454A471D295C5500B90302 /* TieAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FA1D295C5400B90302 /* TieAttributes.cpp */; }; - 29454A481D295C5500B90302 /* Tied.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FB1D295C5400B90302 /* Tied.cpp */; }; - 29454A491D295C5500B90302 /* TiedAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FC1D295C5400B90302 /* TiedAttributes.cpp */; }; - 29454A4A1D295C5500B90302 /* Time.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FD1D295C5400B90302 /* Time.cpp */; }; - 29454A4B1D295C5500B90302 /* TimeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FE1D295C5400B90302 /* TimeAttributes.cpp */; }; - 29454A4C1D295C5500B90302 /* TimeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FF1D295C5400B90302 /* TimeChoice.cpp */; }; - 29454A4D1D295C5500B90302 /* TimeModification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548001D295C5400B90302 /* TimeModification.cpp */; }; - 29454A4E1D295C5500B90302 /* TimeModificationNormalTypeNormalDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548011D295C5400B90302 /* TimeModificationNormalTypeNormalDot.cpp */; }; - 29454A4F1D295C5500B90302 /* TimeRelation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548021D295C5400B90302 /* TimeRelation.cpp */; }; - 29454A501D295C5500B90302 /* TimeSignatureGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548031D295C5400B90302 /* TimeSignatureGroup.cpp */; }; - 29454A511D295C5500B90302 /* TimewiseMeasure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548041D295C5400B90302 /* TimewiseMeasure.cpp */; }; - 29454A521D295C5500B90302 /* TimewisePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548051D295C5400B90302 /* TimewisePart.cpp */; }; - 29454A531D295C5500B90302 /* Timpani.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548061D295C5400B90302 /* Timpani.cpp */; }; - 29454A541D295C5500B90302 /* Toe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548071D295C5400B90302 /* Toe.cpp */; }; - 29454A551D295C5500B90302 /* ToeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548081D295C5400B90302 /* ToeAttributes.cpp */; }; - 29454A561D295C5500B90302 /* TopMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548091D295C5400B90302 /* TopMargin.cpp */; }; - 29454A571D295C5500B90302 /* TopSystemDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480A1D295C5400B90302 /* TopSystemDistance.cpp */; }; - 29454A581D295C5500B90302 /* TouchingPitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480B1D295C5400B90302 /* TouchingPitch.cpp */; }; - 29454A591D295C5500B90302 /* TraditionalKey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480C1D295C5400B90302 /* TraditionalKey.cpp */; }; - 29454A5A1D295C5500B90302 /* Transpose.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480D1D295C5400B90302 /* Transpose.cpp */; }; - 29454A5B1D295C5500B90302 /* TransposeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480E1D295C5400B90302 /* TransposeAttributes.cpp */; }; - 29454A5C1D295C5500B90302 /* Tremolo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480F1D295C5400B90302 /* Tremolo.cpp */; }; - 29454A5D1D295C5500B90302 /* TremoloAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548101D295C5400B90302 /* TremoloAttributes.cpp */; }; - 29454A5E1D295C5500B90302 /* TrillMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548111D295C5400B90302 /* TrillMark.cpp */; }; - 29454A5F1D295C5500B90302 /* TripleTongue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548121D295C5400B90302 /* TripleTongue.cpp */; }; - 29454A601D295C5500B90302 /* TuningAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548131D295C5400B90302 /* TuningAlter.cpp */; }; - 29454A611D295C5500B90302 /* TuningOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548141D295C5400B90302 /* TuningOctave.cpp */; }; - 29454A621D295C5500B90302 /* TuningStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548151D295C5400B90302 /* TuningStep.cpp */; }; - 29454A631D295C5500B90302 /* Tuplet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548161D295C5400B90302 /* Tuplet.cpp */; }; - 29454A641D295C5500B90302 /* TupletActual.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548171D295C5400B90302 /* TupletActual.cpp */; }; - 29454A651D295C5500B90302 /* TupletAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548181D295C5400B90302 /* TupletAttributes.cpp */; }; - 29454A661D295C5500B90302 /* TupletDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548191D295C5400B90302 /* TupletDot.cpp */; }; - 29454A671D295C5500B90302 /* TupletDotAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481A1D295C5400B90302 /* TupletDotAttributes.cpp */; }; - 29454A681D295C5500B90302 /* TupletNormal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481B1D295C5400B90302 /* TupletNormal.cpp */; }; - 29454A691D295C5500B90302 /* TupletNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481C1D295C5500B90302 /* TupletNumber.cpp */; }; - 29454A6A1D295C5500B90302 /* TupletNumberAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481D1D295C5500B90302 /* TupletNumberAttributes.cpp */; }; - 29454A6B1D295C5500B90302 /* TupletType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481E1D295C5500B90302 /* TupletType.cpp */; }; - 29454A6C1D295C5500B90302 /* TupletTypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481F1D295C5500B90302 /* TupletTypeAttributes.cpp */; }; - 29454A6D1D295C5500B90302 /* Turn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548201D295C5500B90302 /* Turn.cpp */; }; - 29454A6E1D295C5500B90302 /* TurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548211D295C5500B90302 /* TurnAttributes.cpp */; }; - 29454A6F1D295C5500B90302 /* Type.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548221D295C5500B90302 /* Type.cpp */; }; - 29454A701D295C5500B90302 /* TypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548231D295C5500B90302 /* TypeAttributes.cpp */; }; - 29454A711D295C5500B90302 /* Unpitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548241D295C5500B90302 /* Unpitched.cpp */; }; - 29454A721D295C5500B90302 /* Unstress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548251D295C5500B90302 /* Unstress.cpp */; }; - 29454A731D295C5500B90302 /* UpBow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548261D295C5500B90302 /* UpBow.cpp */; }; - 29454A741D295C5500B90302 /* VerticalTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548271D295C5500B90302 /* VerticalTurn.cpp */; }; - 29454A751D295C5500B90302 /* VirtualInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548281D295C5500B90302 /* VirtualInstrument.cpp */; }; - 29454A761D295C5500B90302 /* VirtualLibrary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548291D295C5500B90302 /* VirtualLibrary.cpp */; }; - 29454A771D295C5500B90302 /* VirtualName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482A1D295C5500B90302 /* VirtualName.cpp */; }; - 29454A781D295C5500B90302 /* Voice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482B1D295C5500B90302 /* Voice.cpp */; }; - 29454A791D295C5500B90302 /* Volume.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482C1D295C5500B90302 /* Volume.cpp */; }; - 29454A7A1D295C5500B90302 /* WavyLine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482D1D295C5500B90302 /* WavyLine.cpp */; }; - 29454A7B1D295C5500B90302 /* WavyLineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482E1D295C5500B90302 /* WavyLineAttributes.cpp */; }; - 29454A7C1D295C5500B90302 /* Wedge.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482F1D295C5500B90302 /* Wedge.cpp */; }; - 29454A7D1D295C5500B90302 /* WedgeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548301D295C5500B90302 /* WedgeAttributes.cpp */; }; - 29454A7E1D295C5500B90302 /* WithBar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548311D295C5500B90302 /* WithBar.cpp */; }; - 29454A7F1D295C5500B90302 /* WithBarAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548321D295C5500B90302 /* WithBarAttributes.cpp */; }; - 29454A801D295C5500B90302 /* Wood.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548331D295C5500B90302 /* Wood.cpp */; }; - 29454A811D295C5500B90302 /* WordFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548341D295C5500B90302 /* WordFont.cpp */; }; - 29454A821D295C5500B90302 /* Words.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548351D295C5500B90302 /* Words.cpp */; }; - 29454A831D295C5500B90302 /* WordsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548361D295C5500B90302 /* WordsAttributes.cpp */; }; - 29454A841D295C5500B90302 /* Work.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548371D295C5500B90302 /* Work.cpp */; }; - 29454A851D295C5500B90302 /* WorkNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548381D295C5500B90302 /* WorkNumber.cpp */; }; - 29454A861D295C5500B90302 /* WorkTitle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548391D295C5500B90302 /* WorkTitle.cpp */; }; - 2951A0C51D60F3B700B49A13 /* ScoreConversions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2951A0C31D60F3B700B49A13 /* ScoreConversions.cpp */; }; - 2951E1681DBA9C7300826CEF /* WedgeData.h in Headers */ = {isa = PBXBuildFile; fileRef = 2951E1671DBA9C7300826CEF /* WedgeData.h */; }; - 295C49371D2CB41E0015E349 /* NoteheadTextChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 295C49361D2CB41E0015E349 /* NoteheadTextChoice.cpp */; }; - 295DDE101D2C0D4D00A2881D /* FromXElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 295DDE0F1D2C0D4D00A2881D /* FromXElement.cpp */; }; - 29766AC71DAC014300CCE2AC /* MetronomeReader.h in Headers */ = {isa = PBXBuildFile; fileRef = 29766AC51DAC014300CCE2AC /* MetronomeReader.h */; }; - 29766AC81DAC014300CCE2AC /* MetronomeReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29766AC61DAC014300CCE2AC /* MetronomeReader.cpp */; }; - 29766ACB1DAC149900CCE2AC /* DirectionReader.h in Headers */ = {isa = PBXBuildFile; fileRef = 29766AC91DAC149900CCE2AC /* DirectionReader.h */; }; - 29766ACC1DAC149900CCE2AC /* DirectionReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29766ACA1DAC149900CCE2AC /* DirectionReader.cpp */; }; - 29766AE01DAC39EF00CCE2AC /* KeyData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29766ADF1DAC39EF00CCE2AC /* KeyData.h */; }; - 2983E3E01EB4303C007FCC34 /* ScoreData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2983E3DF1EB4303C007FCC34 /* ScoreData.cpp */; }; - 2983E3E11EB4303C007FCC34 /* ScoreData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2983E3DF1EB4303C007FCC34 /* ScoreData.cpp */; }; - 2983E3E21EB4303C007FCC34 /* ScoreData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2983E3DF1EB4303C007FCC34 /* ScoreData.cpp */; }; - 2983E3E31EB4303C007FCC34 /* ScoreData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2983E3DF1EB4303C007FCC34 /* ScoreData.cpp */; }; - 2983E3E41EB4303C007FCC34 /* ScoreData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2983E3DF1EB4303C007FCC34 /* ScoreData.cpp */; }; - 29979D671DC830AA00707AA4 /* DynamicsWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29979D651DC830AA00707AA4 /* DynamicsWriter.cpp */; }; - 29979D681DC830AA00707AA4 /* DynamicsWriter.h in Headers */ = {isa = PBXBuildFile; fileRef = 29979D661DC830AA00707AA4 /* DynamicsWriter.h */; }; - 29A16F841EB10CDB00D59278 /* PreciseDecimal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A16F821EB10CDB00D59278 /* PreciseDecimal.cpp */; }; - 29A16F851EB10CDB00D59278 /* PreciseDecimal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A16F821EB10CDB00D59278 /* PreciseDecimal.cpp */; }; - 29A16F861EB10CDB00D59278 /* PreciseDecimal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A16F821EB10CDB00D59278 /* PreciseDecimal.cpp */; }; - 29A16F871EB10CDB00D59278 /* PreciseDecimal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A16F821EB10CDB00D59278 /* PreciseDecimal.cpp */; }; - 29A16F881EB10CDB00D59278 /* PreciseDecimal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A16F821EB10CDB00D59278 /* PreciseDecimal.cpp */; }; - 29A16F891EB10CDB00D59278 /* PreciseDecimal.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A16F831EB10CDB00D59278 /* PreciseDecimal.h */; }; - 29A16F8A1EB10CDB00D59278 /* PreciseDecimal.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A16F831EB10CDB00D59278 /* PreciseDecimal.h */; }; - 29A16F8B1EB10CDB00D59278 /* PreciseDecimal.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A16F831EB10CDB00D59278 /* PreciseDecimal.h */; }; - 29A16F8C1EB10CDB00D59278 /* PreciseDecimal.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A16F831EB10CDB00D59278 /* PreciseDecimal.h */; }; - 29A16F8D1EB10CDB00D59278 /* PreciseDecimal.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A16F831EB10CDB00D59278 /* PreciseDecimal.h */; }; - 29B48EE51DBEC9950030A974 /* BarlineData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29B48EE41DBEC9950030A974 /* BarlineData.h */; }; - 29B4E81C1DA9CA0E005DC6D1 /* TupletData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29B4E81B1DA9CA0E005DC6D1 /* TupletData.h */; }; - 29B4E8211DA9CD5D005DC6D1 /* TupletReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29B4E81F1DA9CD5D005DC6D1 /* TupletReader.cpp */; }; - 29B4E8221DA9CD5D005DC6D1 /* TupletReader.h in Headers */ = {isa = PBXBuildFile; fileRef = 29B4E8201DA9CD5D005DC6D1 /* TupletReader.h */; }; - 29B4E8241DA9CFC2005DC6D1 /* NoteAttachmentData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29B4E8231DA9CFC2005DC6D1 /* NoteAttachmentData.h */; }; - 29B7C4691DAFFDBA009D7D8F /* MeasureWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29B7C4671DAFFDBA009D7D8F /* MeasureWriter.cpp */; }; - 29B7C46A1DAFFDBA009D7D8F /* MeasureWriter.h in Headers */ = {isa = PBXBuildFile; fileRef = 29B7C4681DAFFDBA009D7D8F /* MeasureWriter.h */; }; - 29B7C46C1DB02D2F009D7D8F /* SystemData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29B7C46B1DB02D2F009D7D8F /* SystemData.h */; }; + 29A800001EF0499300AD2478 /* TransposeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1E11EF0476200AD2478 /* TransposeAttributes.cpp */; }; + 29A800011EF0499300AD2478 /* Tremolo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1E31EF0476200AD2478 /* Tremolo.cpp */; }; + 29A800021EF0499300AD2478 /* TremoloAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1E51EF0476200AD2478 /* TremoloAttributes.cpp */; }; + 29A800031EF0499300AD2478 /* TrillMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1E71EF0476200AD2478 /* TrillMark.cpp */; }; + 29A800041EF0499300AD2478 /* TripleTongue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1E91EF0476200AD2478 /* TripleTongue.cpp */; }; + 29A800051EF0499300AD2478 /* TuningAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1EB1EF0476200AD2478 /* TuningAlter.cpp */; }; + 29A800061EF0499300AD2478 /* TuningOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1ED1EF0476200AD2478 /* TuningOctave.cpp */; }; + 29A800071EF0499300AD2478 /* TuningStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1EF1EF0476200AD2478 /* TuningStep.cpp */; }; + 29A800081EF0499300AD2478 /* Tuplet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1F11EF0476200AD2478 /* Tuplet.cpp */; }; + 29A800091EF0499300AD2478 /* TupletActual.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1F31EF0476200AD2478 /* TupletActual.cpp */; }; + 29A8000A1EF0499300AD2478 /* TupletAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1F51EF0476200AD2478 /* TupletAttributes.cpp */; }; + 29A8000B1EF0499300AD2478 /* TupletDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1F71EF0476200AD2478 /* TupletDot.cpp */; }; + 29A8000C1EF0499300AD2478 /* TupletDotAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1F91EF0476200AD2478 /* TupletDotAttributes.cpp */; }; + 29A8000D1EF0499300AD2478 /* TupletNormal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1FB1EF0476200AD2478 /* TupletNormal.cpp */; }; + 29A8000E1EF0499300AD2478 /* TupletNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1FD1EF0476200AD2478 /* TupletNumber.cpp */; }; + 29A8000F1EF0499300AD2478 /* TupletNumberAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1FF1EF0476200AD2478 /* TupletNumberAttributes.cpp */; }; + 29A800101EF0499300AD2478 /* TupletType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2021EF0476200AD2478 /* TupletType.cpp */; }; + 29A800111EF0499300AD2478 /* TupletTypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2041EF0476200AD2478 /* TupletTypeAttributes.cpp */; }; + 29A800121EF0499300AD2478 /* Turn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2061EF0476200AD2478 /* Turn.cpp */; }; + 29A800131EF0499300AD2478 /* TurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2081EF0476200AD2478 /* TurnAttributes.cpp */; }; + 29A800141EF0499300AD2478 /* Type.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E20A1EF0476200AD2478 /* Type.cpp */; }; + 29A800151EF0499300AD2478 /* TypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E20C1EF0476200AD2478 /* TypeAttributes.cpp */; }; + 29A800161EF0499300AD2478 /* Unpitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E20E1EF0476200AD2478 /* Unpitched.cpp */; }; + 29A800171EF0499300AD2478 /* Unstress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2101EF0476200AD2478 /* Unstress.cpp */; }; + 29A800181EF0499300AD2478 /* UpBow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2121EF0476200AD2478 /* UpBow.cpp */; }; + 29A800191EF0499300AD2478 /* VerticalTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2141EF0476200AD2478 /* VerticalTurn.cpp */; }; + 29A8001A1EF0499300AD2478 /* VirtualInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2161EF0476200AD2478 /* VirtualInstrument.cpp */; }; + 29A8001B1EF0499300AD2478 /* VirtualLibrary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2181EF0476200AD2478 /* VirtualLibrary.cpp */; }; + 29A8001C1EF0499300AD2478 /* VirtualName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E21A1EF0476200AD2478 /* VirtualName.cpp */; }; + 29A8001D1EF0499300AD2478 /* Voice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E21C1EF0476200AD2478 /* Voice.cpp */; }; + 29A8001E1EF0499300AD2478 /* Volume.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E21E1EF0476200AD2478 /* Volume.cpp */; }; + 29A8001F1EF0499300AD2478 /* WavyLine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2201EF0476200AD2478 /* WavyLine.cpp */; }; + 29A800201EF0499300AD2478 /* WavyLineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2221EF0476200AD2478 /* WavyLineAttributes.cpp */; }; + 29A800211EF0499300AD2478 /* Wedge.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2241EF0476200AD2478 /* Wedge.cpp */; }; + 29A800221EF0499300AD2478 /* WedgeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2261EF0476200AD2478 /* WedgeAttributes.cpp */; }; + 29A800231EF0499300AD2478 /* WithBar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2281EF0476200AD2478 /* WithBar.cpp */; }; + 29A800241EF0499300AD2478 /* WithBarAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E22A1EF0476200AD2478 /* WithBarAttributes.cpp */; }; + 29A800251EF0499300AD2478 /* Wood.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E22C1EF0476200AD2478 /* Wood.cpp */; }; + 29A800261EF0499300AD2478 /* WordFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E22E1EF0476200AD2478 /* WordFont.cpp */; }; + 29A800271EF0499300AD2478 /* Words.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2301EF0476200AD2478 /* Words.cpp */; }; + 29A800281EF0499300AD2478 /* WordsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2321EF0476200AD2478 /* WordsAttributes.cpp */; }; + 29A800291EF0499300AD2478 /* Work.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2341EF0476200AD2478 /* Work.cpp */; }; + 29A8002A1EF0499300AD2478 /* WorkNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2361EF0476200AD2478 /* WorkNumber.cpp */; }; + 29A8002B1EF0499300AD2478 /* WorkTitle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2381EF0476200AD2478 /* WorkTitle.cpp */; }; + 29A8002C1EF0499300AD2478 /* Elements.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E23A1EF0476200AD2478 /* Elements.cpp */; }; + 29A8002D1EF0499300AD2478 /* EmptyPrintObjectStyleAlignAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E23C1EF0476200AD2478 /* EmptyPrintObjectStyleAlignAttributes.cpp */; }; + 29A8002E1EF0499300AD2478 /* Enums.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E23E1EF0476200AD2478 /* Enums.cpp */; }; + 29A8002F1EF0499300AD2478 /* FontSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2401EF0476200AD2478 /* FontSize.cpp */; }; + 29A800301EF0499300AD2478 /* FromXElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2441EF0476200AD2478 /* FromXElement.cpp */; }; + 29A800311EF0499300AD2478 /* Integers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2461EF0476200AD2478 /* Integers.cpp */; }; + 29A800321EF0499300AD2478 /* NumberOrNormal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2481EF0476200AD2478 /* NumberOrNormal.cpp */; }; + 29A800331EF0499300AD2478 /* PositiveIntegerOrEmpty.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E24A1EF0476200AD2478 /* PositiveIntegerOrEmpty.cpp */; }; + 29A800341EF0499300AD2478 /* PreciseDecimal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E24C1EF0476200AD2478 /* PreciseDecimal.cpp */; }; + 29A800351EF0499300AD2478 /* ScoreConversions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E24E1EF0476200AD2478 /* ScoreConversions.cpp */; }; + 29A800361EF0499300AD2478 /* Strings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2501EF0476200AD2478 /* Strings.cpp */; }; + 29A800371EF0499300AD2478 /* YesNoNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2531EF0476200AD2478 /* YesNoNumber.cpp */; }; + 29A800381EF0499300AD2478 /* AccidentalMarkFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2561EF0476200AD2478 /* AccidentalMarkFunctions.cpp */; }; + 29A800391EF0499300AD2478 /* ArticulationsFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2581EF0476200AD2478 /* ArticulationsFunctions.cpp */; }; + 29A8003A1EF0499300AD2478 /* Converter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E25A1EF0476200AD2478 /* Converter.cpp */; }; + 29A8003B1EF0499300AD2478 /* Cursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E25C1EF0476200AD2478 /* Cursor.cpp */; }; + 29A8003C1EF0499300AD2478 /* DirectionReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E25F1EF0476200AD2478 /* DirectionReader.cpp */; }; + 29A8003D1EF0499300AD2478 /* DirectionWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2611EF0476200AD2478 /* DirectionWriter.cpp */; }; + 29A8003E1EF0499300AD2478 /* DynamicsReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2631EF0476200AD2478 /* DynamicsReader.cpp */; }; + 29A8003F1EF0499300AD2478 /* DynamicsWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2651EF0476200AD2478 /* DynamicsWriter.cpp */; }; + 29A800401EF0499300AD2478 /* EncodingFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2671EF0476200AD2478 /* EncodingFunctions.cpp */; }; + 29A800411EF0499300AD2478 /* LayoutFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E26A1EF0476200AD2478 /* LayoutFunctions.cpp */; }; + 29A800421EF0499300AD2478 /* LcmGcd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E26C1EF0476200AD2478 /* LcmGcd.cpp */; }; + 29A800431EF0499300AD2478 /* MeasureReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2711EF0476200AD2478 /* MeasureReader.cpp */; }; + 29A800441EF0499300AD2478 /* MeasureWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2731EF0476200AD2478 /* MeasureWriter.cpp */; }; + 29A800451EF0499300AD2478 /* MetronomeReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2751EF0476200AD2478 /* MetronomeReader.cpp */; }; + 29A800461EF0499300AD2478 /* NotationsWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2781EF0476200AD2478 /* NotationsWriter.cpp */; }; + 29A800471EF0499300AD2478 /* NoteFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E27A1EF0476200AD2478 /* NoteFunctions.cpp */; }; + 29A800481EF0499300AD2478 /* NoteReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E27C1EF0476200AD2478 /* NoteReader.cpp */; }; + 29A800491EF0499300AD2478 /* NoteWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E27E1EF0476200AD2478 /* NoteWriter.cpp */; }; + 29A8004A1EF0499300AD2478 /* OrnamentsFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2801EF0476200AD2478 /* OrnamentsFunctions.cpp */; }; + 29A8004B1EF0499300AD2478 /* PageTextFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2821EF0476200AD2478 /* PageTextFunctions.cpp */; }; + 29A8004C1EF0499300AD2478 /* PartReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2841EF0476200AD2478 /* PartReader.cpp */; }; + 29A8004D1EF0499300AD2478 /* PartWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2861EF0476300AD2478 /* PartWriter.cpp */; }; + 29A8004E1EF0499300AD2478 /* PropertiesWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E28A1EF0476300AD2478 /* PropertiesWriter.cpp */; }; + 29A8004F1EF0499300AD2478 /* ScoreReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E28C1EF0476300AD2478 /* ScoreReader.cpp */; }; + 29A800501EF0499300AD2478 /* ScoreWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E28E1EF0476300AD2478 /* ScoreWriter.cpp */; }; + 29A800511EF0499300AD2478 /* StaffFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2921EF0476300AD2478 /* StaffFunctions.cpp */; }; + 29A800521EF0499300AD2478 /* TechnicalFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2941EF0476300AD2478 /* TechnicalFunctions.cpp */; }; + 29A800531EF0499300AD2478 /* TimeReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2961EF0476300AD2478 /* TimeReader.cpp */; }; + 29A800541EF0499300AD2478 /* TupletReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2981EF0476300AD2478 /* TupletReader.cpp */; }; + 29A800551EF0499300AD2478 /* pugixml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E29C1EF0476300AD2478 /* pugixml.cpp */; }; + 29A800561EF0499300AD2478 /* Utility.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2A71EF0476300AD2478 /* Utility.cpp */; }; + 29A800571EF0499300AD2478 /* UtilityImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2A91EF0476300AD2478 /* UtilityImpl.cpp */; }; + 29A800581EF0499300AD2478 /* PugiAttribute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2AC1EF0476300AD2478 /* PugiAttribute.cpp */; }; + 29A800591EF0499300AD2478 /* PugiAttributeIterImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2AE1EF0476300AD2478 /* PugiAttributeIterImpl.cpp */; }; + 29A8005A1EF0499300AD2478 /* PugiDoc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2B01EF0476300AD2478 /* PugiDoc.cpp */; }; + 29A8005B1EF0499300AD2478 /* PugiElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2B21EF0476300AD2478 /* PugiElement.cpp */; }; + 29A8005C1EF0499300AD2478 /* PugiElementIterImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2B41EF0476300AD2478 /* PugiElementIterImpl.cpp */; }; + 29A8005D1EF0499300AD2478 /* XAttributeIterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2B71EF0476300AD2478 /* XAttributeIterator.cpp */; }; + 29A8005E1EF0499300AD2478 /* XElementIterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2BD1EF0476300AD2478 /* XElementIterator.cpp */; }; + 29A8005F1EF0499300AD2478 /* XFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2C01EF0476300AD2478 /* XFactory.cpp */; }; + 29A8E2D31EF0476300AD2478 /* ClefData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD5C1EF0475D00AD2478 /* ClefData.cpp */; }; + 29A8E2D41EF0476300AD2478 /* ClefData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD5C1EF0475D00AD2478 /* ClefData.cpp */; }; + 29A8E2D51EF0476300AD2478 /* ClefData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD5C1EF0475D00AD2478 /* ClefData.cpp */; }; + 29A8E2D61EF0476300AD2478 /* ClefData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD5C1EF0475D00AD2478 /* ClefData.cpp */; }; + 29A8E2EC1EF0476300AD2478 /* DocumentManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD611EF0475D00AD2478 /* DocumentManager.cpp */; }; + 29A8E2ED1EF0476300AD2478 /* DocumentManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD611EF0475D00AD2478 /* DocumentManager.cpp */; }; + 29A8E2EE1EF0476300AD2478 /* DocumentManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD611EF0475D00AD2478 /* DocumentManager.cpp */; }; + 29A8E2EF1EF0476300AD2478 /* DocumentManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD611EF0475D00AD2478 /* DocumentManager.cpp */; }; + 29A8E2F61EF0476300AD2478 /* DurationData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD631EF0475D00AD2478 /* DurationData.cpp */; }; + 29A8E2F71EF0476300AD2478 /* DurationData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD631EF0475D00AD2478 /* DurationData.cpp */; }; + 29A8E2F81EF0476300AD2478 /* DurationData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD631EF0475D00AD2478 /* DurationData.cpp */; }; + 29A8E2F91EF0476300AD2478 /* DurationData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD631EF0475D00AD2478 /* DurationData.cpp */; }; + 29A8E3191EF0476300AD2478 /* MarkData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD6A1EF0475D00AD2478 /* MarkData.cpp */; }; + 29A8E31A1EF0476300AD2478 /* MarkData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD6A1EF0475D00AD2478 /* MarkData.cpp */; }; + 29A8E31B1EF0476300AD2478 /* MarkData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD6A1EF0475D00AD2478 /* MarkData.cpp */; }; + 29A8E31C1EF0476300AD2478 /* MarkData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD6A1EF0475D00AD2478 /* MarkData.cpp */; }; + 29A8E3281EF0476300AD2478 /* MeasureLocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD6D1EF0475D00AD2478 /* MeasureLocation.cpp */; }; + 29A8E3291EF0476300AD2478 /* MeasureLocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD6D1EF0475D00AD2478 /* MeasureLocation.cpp */; }; + 29A8E32A1EF0476300AD2478 /* MeasureLocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD6D1EF0475D00AD2478 /* MeasureLocation.cpp */; }; + 29A8E32B1EF0476300AD2478 /* MeasureLocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD6D1EF0475D00AD2478 /* MeasureLocation.cpp */; }; + 29A8E3371EF0476300AD2478 /* NoteData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD701EF0475D00AD2478 /* NoteData.cpp */; }; + 29A8E3381EF0476300AD2478 /* NoteData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD701EF0475D00AD2478 /* NoteData.cpp */; }; + 29A8E3391EF0476300AD2478 /* NoteData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD701EF0475D00AD2478 /* NoteData.cpp */; }; + 29A8E33A1EF0476300AD2478 /* NoteData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD701EF0475D00AD2478 /* NoteData.cpp */; }; + 29A8E3551EF0476300AD2478 /* PitchData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD761EF0475D00AD2478 /* PitchData.cpp */; }; + 29A8E3561EF0476300AD2478 /* PitchData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD761EF0475D00AD2478 /* PitchData.cpp */; }; + 29A8E3571EF0476300AD2478 /* PitchData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD761EF0475D00AD2478 /* PitchData.cpp */; }; + 29A8E3581EF0476300AD2478 /* PitchData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD761EF0475D00AD2478 /* PitchData.cpp */; }; + 29A8E3691EF0476300AD2478 /* ScoreData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD7A1EF0475D00AD2478 /* ScoreData.cpp */; }; + 29A8E36A1EF0476300AD2478 /* ScoreData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD7A1EF0475D00AD2478 /* ScoreData.cpp */; }; + 29A8E36B1EF0476300AD2478 /* ScoreData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD7A1EF0475D00AD2478 /* ScoreData.cpp */; }; + 29A8E36C1EF0476300AD2478 /* ScoreData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD7A1EF0475D00AD2478 /* ScoreData.cpp */; }; + 29A8E3731EF0476300AD2478 /* Smufl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD7C1EF0475D00AD2478 /* Smufl.cpp */; }; + 29A8E3741EF0476300AD2478 /* Smufl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD7C1EF0475D00AD2478 /* Smufl.cpp */; }; + 29A8E3751EF0476300AD2478 /* Smufl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD7C1EF0475D00AD2478 /* Smufl.cpp */; }; + 29A8E3761EF0476300AD2478 /* Smufl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD7C1EF0475D00AD2478 /* Smufl.cpp */; }; + 29A8E3A51EF0476300AD2478 /* WordsData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD861EF0475D00AD2478 /* WordsData.cpp */; }; + 29A8E3A61EF0476300AD2478 /* WordsData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD861EF0475D00AD2478 /* WordsData.cpp */; }; + 29A8E3A71EF0476300AD2478 /* WordsData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD861EF0475D00AD2478 /* WordsData.cpp */; }; + 29A8E3A81EF0476300AD2478 /* WordsData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD861EF0475D00AD2478 /* WordsData.cpp */; }; + 29A8E3AF1EF0476300AD2478 /* AttributesInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD891EF0475D00AD2478 /* AttributesInterface.cpp */; }; + 29A8E3B01EF0476300AD2478 /* AttributesInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD891EF0475D00AD2478 /* AttributesInterface.cpp */; }; + 29A8E3B11EF0476300AD2478 /* AttributesInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD891EF0475D00AD2478 /* AttributesInterface.cpp */; }; + 29A8E3B21EF0476300AD2478 /* AttributesInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD891EF0475D00AD2478 /* AttributesInterface.cpp */; }; + 29A8E3B91EF0476300AD2478 /* Color.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD8B1EF0475D00AD2478 /* Color.cpp */; }; + 29A8E3BA1EF0476300AD2478 /* Color.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD8B1EF0475D00AD2478 /* Color.cpp */; }; + 29A8E3BB1EF0476300AD2478 /* Color.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD8B1EF0475D00AD2478 /* Color.cpp */; }; + 29A8E3BC1EF0476300AD2478 /* Color.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD8B1EF0475D00AD2478 /* Color.cpp */; }; + 29A8E3C31EF0476300AD2478 /* Date.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD8D1EF0475D00AD2478 /* Date.cpp */; }; + 29A8E3C41EF0476300AD2478 /* Date.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD8D1EF0475D00AD2478 /* Date.cpp */; }; + 29A8E3C51EF0476300AD2478 /* Date.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD8D1EF0475D00AD2478 /* Date.cpp */; }; + 29A8E3C61EF0476300AD2478 /* Date.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD8D1EF0475D00AD2478 /* Date.cpp */; }; + 29A8E3CD1EF0476300AD2478 /* Decimals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD8F1EF0475D00AD2478 /* Decimals.cpp */; }; + 29A8E3CE1EF0476300AD2478 /* Decimals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD8F1EF0475D00AD2478 /* Decimals.cpp */; }; + 29A8E3CF1EF0476300AD2478 /* Decimals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD8F1EF0475D00AD2478 /* Decimals.cpp */; }; + 29A8E3D01EF0476300AD2478 /* Decimals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD8F1EF0475D00AD2478 /* Decimals.cpp */; }; + 29A8E3D71EF0476300AD2478 /* Document.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD911EF0475D00AD2478 /* Document.cpp */; }; + 29A8E3D81EF0476300AD2478 /* Document.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD911EF0475D00AD2478 /* Document.cpp */; }; + 29A8E3D91EF0476300AD2478 /* Document.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD911EF0475D00AD2478 /* Document.cpp */; }; + 29A8E3DA1EF0476300AD2478 /* Document.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD911EF0475D00AD2478 /* Document.cpp */; }; + 29A8E3E11EF0476300AD2478 /* DocumentHeader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD931EF0475D00AD2478 /* DocumentHeader.cpp */; }; + 29A8E3E21EF0476300AD2478 /* DocumentHeader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD931EF0475D00AD2478 /* DocumentHeader.cpp */; }; + 29A8E3E31EF0476300AD2478 /* DocumentHeader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD931EF0475D00AD2478 /* DocumentHeader.cpp */; }; + 29A8E3E41EF0476300AD2478 /* DocumentHeader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD931EF0475D00AD2478 /* DocumentHeader.cpp */; }; + 29A8E3EB1EF0476300AD2478 /* DocumentSpec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD951EF0475D00AD2478 /* DocumentSpec.cpp */; }; + 29A8E3EC1EF0476300AD2478 /* DocumentSpec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD951EF0475D00AD2478 /* DocumentSpec.cpp */; }; + 29A8E3ED1EF0476300AD2478 /* DocumentSpec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD951EF0475D00AD2478 /* DocumentSpec.cpp */; }; + 29A8E3EE1EF0476300AD2478 /* DocumentSpec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD951EF0475D00AD2478 /* DocumentSpec.cpp */; }; + 29A8E3F51EF0476300AD2478 /* ElementInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD971EF0475D00AD2478 /* ElementInterface.cpp */; }; + 29A8E3F61EF0476300AD2478 /* ElementInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD971EF0475D00AD2478 /* ElementInterface.cpp */; }; + 29A8E3F71EF0476300AD2478 /* ElementInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD971EF0475D00AD2478 /* ElementInterface.cpp */; }; + 29A8E3F81EF0476300AD2478 /* ElementInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD971EF0475D00AD2478 /* ElementInterface.cpp */; }; + 29A8E3FF1EF0476300AD2478 /* Accent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD9A1EF0475D00AD2478 /* Accent.cpp */; }; + 29A8E4001EF0476300AD2478 /* Accent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD9A1EF0475D00AD2478 /* Accent.cpp */; }; + 29A8E4011EF0476300AD2478 /* Accent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD9A1EF0475D00AD2478 /* Accent.cpp */; }; + 29A8E4021EF0476300AD2478 /* Accent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD9A1EF0475D00AD2478 /* Accent.cpp */; }; + 29A8E4091EF0476300AD2478 /* Accidental.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD9C1EF0475D00AD2478 /* Accidental.cpp */; }; + 29A8E40A1EF0476300AD2478 /* Accidental.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD9C1EF0475D00AD2478 /* Accidental.cpp */; }; + 29A8E40B1EF0476300AD2478 /* Accidental.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD9C1EF0475D00AD2478 /* Accidental.cpp */; }; + 29A8E40C1EF0476300AD2478 /* Accidental.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD9C1EF0475D00AD2478 /* Accidental.cpp */; }; + 29A8E4131EF0476300AD2478 /* AccidentalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD9E1EF0475D00AD2478 /* AccidentalAttributes.cpp */; }; + 29A8E4141EF0476300AD2478 /* AccidentalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD9E1EF0475D00AD2478 /* AccidentalAttributes.cpp */; }; + 29A8E4151EF0476300AD2478 /* AccidentalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD9E1EF0475D00AD2478 /* AccidentalAttributes.cpp */; }; + 29A8E4161EF0476300AD2478 /* AccidentalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD9E1EF0475D00AD2478 /* AccidentalAttributes.cpp */; }; + 29A8E41D1EF0476300AD2478 /* AccidentalMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDA01EF0475D00AD2478 /* AccidentalMark.cpp */; }; + 29A8E41E1EF0476300AD2478 /* AccidentalMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDA01EF0475D00AD2478 /* AccidentalMark.cpp */; }; + 29A8E41F1EF0476300AD2478 /* AccidentalMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDA01EF0475D00AD2478 /* AccidentalMark.cpp */; }; + 29A8E4201EF0476300AD2478 /* AccidentalMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDA01EF0475D00AD2478 /* AccidentalMark.cpp */; }; + 29A8E4271EF0476300AD2478 /* AccidentalMarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDA21EF0475D00AD2478 /* AccidentalMarkAttributes.cpp */; }; + 29A8E4281EF0476300AD2478 /* AccidentalMarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDA21EF0475D00AD2478 /* AccidentalMarkAttributes.cpp */; }; + 29A8E4291EF0476300AD2478 /* AccidentalMarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDA21EF0475D00AD2478 /* AccidentalMarkAttributes.cpp */; }; + 29A8E42A1EF0476300AD2478 /* AccidentalMarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDA21EF0475D00AD2478 /* AccidentalMarkAttributes.cpp */; }; + 29A8E4311EF0476300AD2478 /* AccidentalText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDA41EF0475D00AD2478 /* AccidentalText.cpp */; }; + 29A8E4321EF0476300AD2478 /* AccidentalText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDA41EF0475D00AD2478 /* AccidentalText.cpp */; }; + 29A8E4331EF0476300AD2478 /* AccidentalText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDA41EF0475D00AD2478 /* AccidentalText.cpp */; }; + 29A8E4341EF0476300AD2478 /* AccidentalText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDA41EF0475D00AD2478 /* AccidentalText.cpp */; }; + 29A8E43B1EF0476300AD2478 /* AccidentalTextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDA61EF0475D00AD2478 /* AccidentalTextAttributes.cpp */; }; + 29A8E43C1EF0476300AD2478 /* AccidentalTextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDA61EF0475D00AD2478 /* AccidentalTextAttributes.cpp */; }; + 29A8E43D1EF0476300AD2478 /* AccidentalTextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDA61EF0475D00AD2478 /* AccidentalTextAttributes.cpp */; }; + 29A8E43E1EF0476300AD2478 /* AccidentalTextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDA61EF0475D00AD2478 /* AccidentalTextAttributes.cpp */; }; + 29A8E4451EF0476300AD2478 /* Accord.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDA81EF0475D00AD2478 /* Accord.cpp */; }; + 29A8E4461EF0476300AD2478 /* Accord.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDA81EF0475D00AD2478 /* Accord.cpp */; }; + 29A8E4471EF0476300AD2478 /* Accord.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDA81EF0475D00AD2478 /* Accord.cpp */; }; + 29A8E4481EF0476300AD2478 /* Accord.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDA81EF0475D00AD2478 /* Accord.cpp */; }; + 29A8E44F1EF0476300AD2478 /* AccordAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDAA1EF0475D00AD2478 /* AccordAttributes.cpp */; }; + 29A8E4501EF0476300AD2478 /* AccordAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDAA1EF0475D00AD2478 /* AccordAttributes.cpp */; }; + 29A8E4511EF0476300AD2478 /* AccordAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDAA1EF0475D00AD2478 /* AccordAttributes.cpp */; }; + 29A8E4521EF0476300AD2478 /* AccordAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDAA1EF0475D00AD2478 /* AccordAttributes.cpp */; }; + 29A8E4591EF0476300AD2478 /* AccordionHigh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDAC1EF0475D00AD2478 /* AccordionHigh.cpp */; }; + 29A8E45A1EF0476300AD2478 /* AccordionHigh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDAC1EF0475D00AD2478 /* AccordionHigh.cpp */; }; + 29A8E45B1EF0476300AD2478 /* AccordionHigh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDAC1EF0475D00AD2478 /* AccordionHigh.cpp */; }; + 29A8E45C1EF0476300AD2478 /* AccordionHigh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDAC1EF0475D00AD2478 /* AccordionHigh.cpp */; }; + 29A8E4631EF0476300AD2478 /* AccordionLow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDAE1EF0475D00AD2478 /* AccordionLow.cpp */; }; + 29A8E4641EF0476300AD2478 /* AccordionLow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDAE1EF0475D00AD2478 /* AccordionLow.cpp */; }; + 29A8E4651EF0476300AD2478 /* AccordionLow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDAE1EF0475D00AD2478 /* AccordionLow.cpp */; }; + 29A8E4661EF0476300AD2478 /* AccordionLow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDAE1EF0475D00AD2478 /* AccordionLow.cpp */; }; + 29A8E46D1EF0476300AD2478 /* AccordionMiddle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDB01EF0475D00AD2478 /* AccordionMiddle.cpp */; }; + 29A8E46E1EF0476300AD2478 /* AccordionMiddle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDB01EF0475D00AD2478 /* AccordionMiddle.cpp */; }; + 29A8E46F1EF0476300AD2478 /* AccordionMiddle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDB01EF0475D00AD2478 /* AccordionMiddle.cpp */; }; + 29A8E4701EF0476300AD2478 /* AccordionMiddle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDB01EF0475D00AD2478 /* AccordionMiddle.cpp */; }; + 29A8E4771EF0476300AD2478 /* AccordionRegistration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDB21EF0475D00AD2478 /* AccordionRegistration.cpp */; }; + 29A8E4781EF0476300AD2478 /* AccordionRegistration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDB21EF0475D00AD2478 /* AccordionRegistration.cpp */; }; + 29A8E4791EF0476300AD2478 /* AccordionRegistration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDB21EF0475D00AD2478 /* AccordionRegistration.cpp */; }; + 29A8E47A1EF0476300AD2478 /* AccordionRegistration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDB21EF0475D00AD2478 /* AccordionRegistration.cpp */; }; + 29A8E4811EF0476300AD2478 /* AccordionRegistrationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDB41EF0475D00AD2478 /* AccordionRegistrationAttributes.cpp */; }; + 29A8E4821EF0476300AD2478 /* AccordionRegistrationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDB41EF0475D00AD2478 /* AccordionRegistrationAttributes.cpp */; }; + 29A8E4831EF0476300AD2478 /* AccordionRegistrationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDB41EF0475D00AD2478 /* AccordionRegistrationAttributes.cpp */; }; + 29A8E4841EF0476300AD2478 /* AccordionRegistrationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDB41EF0475D00AD2478 /* AccordionRegistrationAttributes.cpp */; }; + 29A8E48B1EF0476300AD2478 /* ActualNotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDB61EF0475D00AD2478 /* ActualNotes.cpp */; }; + 29A8E48C1EF0476300AD2478 /* ActualNotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDB61EF0475D00AD2478 /* ActualNotes.cpp */; }; + 29A8E48D1EF0476300AD2478 /* ActualNotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDB61EF0475D00AD2478 /* ActualNotes.cpp */; }; + 29A8E48E1EF0476300AD2478 /* ActualNotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDB61EF0475D00AD2478 /* ActualNotes.cpp */; }; + 29A8E4951EF0476300AD2478 /* Alter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDB81EF0475D00AD2478 /* Alter.cpp */; }; + 29A8E4961EF0476300AD2478 /* Alter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDB81EF0475D00AD2478 /* Alter.cpp */; }; + 29A8E4971EF0476300AD2478 /* Alter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDB81EF0475D00AD2478 /* Alter.cpp */; }; + 29A8E4981EF0476300AD2478 /* Alter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDB81EF0475D00AD2478 /* Alter.cpp */; }; + 29A8E49F1EF0476300AD2478 /* Appearance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDBA1EF0475D00AD2478 /* Appearance.cpp */; }; + 29A8E4A01EF0476300AD2478 /* Appearance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDBA1EF0475D00AD2478 /* Appearance.cpp */; }; + 29A8E4A11EF0476300AD2478 /* Appearance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDBA1EF0475D00AD2478 /* Appearance.cpp */; }; + 29A8E4A21EF0476300AD2478 /* Appearance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDBA1EF0475D00AD2478 /* Appearance.cpp */; }; + 29A8E4A91EF0476300AD2478 /* Arpeggiate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDBC1EF0475D00AD2478 /* Arpeggiate.cpp */; }; + 29A8E4AA1EF0476300AD2478 /* Arpeggiate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDBC1EF0475D00AD2478 /* Arpeggiate.cpp */; }; + 29A8E4AB1EF0476300AD2478 /* Arpeggiate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDBC1EF0475D00AD2478 /* Arpeggiate.cpp */; }; + 29A8E4AC1EF0476300AD2478 /* Arpeggiate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDBC1EF0475D00AD2478 /* Arpeggiate.cpp */; }; + 29A8E4B31EF0476300AD2478 /* ArpeggiateAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDBE1EF0475D00AD2478 /* ArpeggiateAttributes.cpp */; }; + 29A8E4B41EF0476300AD2478 /* ArpeggiateAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDBE1EF0475D00AD2478 /* ArpeggiateAttributes.cpp */; }; + 29A8E4B51EF0476300AD2478 /* ArpeggiateAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDBE1EF0475D00AD2478 /* ArpeggiateAttributes.cpp */; }; + 29A8E4B61EF0476300AD2478 /* ArpeggiateAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDBE1EF0475D00AD2478 /* ArpeggiateAttributes.cpp */; }; + 29A8E4BD1EF0476300AD2478 /* Arrow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDC01EF0475D00AD2478 /* Arrow.cpp */; }; + 29A8E4BE1EF0476300AD2478 /* Arrow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDC01EF0475D00AD2478 /* Arrow.cpp */; }; + 29A8E4BF1EF0476300AD2478 /* Arrow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDC01EF0475D00AD2478 /* Arrow.cpp */; }; + 29A8E4C01EF0476300AD2478 /* Arrow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDC01EF0475D00AD2478 /* Arrow.cpp */; }; + 29A8E4C71EF0476300AD2478 /* ArrowAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDC21EF0475D00AD2478 /* ArrowAttributes.cpp */; }; + 29A8E4C81EF0476300AD2478 /* ArrowAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDC21EF0475D00AD2478 /* ArrowAttributes.cpp */; }; + 29A8E4C91EF0476300AD2478 /* ArrowAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDC21EF0475D00AD2478 /* ArrowAttributes.cpp */; }; + 29A8E4CA1EF0476300AD2478 /* ArrowAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDC21EF0475D00AD2478 /* ArrowAttributes.cpp */; }; + 29A8E4D11EF0476300AD2478 /* ArrowDirection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDC41EF0475D00AD2478 /* ArrowDirection.cpp */; }; + 29A8E4D21EF0476300AD2478 /* ArrowDirection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDC41EF0475D00AD2478 /* ArrowDirection.cpp */; }; + 29A8E4D31EF0476300AD2478 /* ArrowDirection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDC41EF0475D00AD2478 /* ArrowDirection.cpp */; }; + 29A8E4D41EF0476300AD2478 /* ArrowDirection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDC41EF0475D00AD2478 /* ArrowDirection.cpp */; }; + 29A8E4DB1EF0476300AD2478 /* ArrowGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDC61EF0475D00AD2478 /* ArrowGroup.cpp */; }; + 29A8E4DC1EF0476300AD2478 /* ArrowGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDC61EF0475D00AD2478 /* ArrowGroup.cpp */; }; + 29A8E4DD1EF0476300AD2478 /* ArrowGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDC61EF0475D00AD2478 /* ArrowGroup.cpp */; }; + 29A8E4DE1EF0476300AD2478 /* ArrowGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDC61EF0475D00AD2478 /* ArrowGroup.cpp */; }; + 29A8E4E51EF0476300AD2478 /* ArrowStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDC81EF0475D00AD2478 /* ArrowStyle.cpp */; }; + 29A8E4E61EF0476300AD2478 /* ArrowStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDC81EF0475D00AD2478 /* ArrowStyle.cpp */; }; + 29A8E4E71EF0476300AD2478 /* ArrowStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDC81EF0475D00AD2478 /* ArrowStyle.cpp */; }; + 29A8E4E81EF0476300AD2478 /* ArrowStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDC81EF0475D00AD2478 /* ArrowStyle.cpp */; }; + 29A8E4EF1EF0476300AD2478 /* Articulations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDCA1EF0475D00AD2478 /* Articulations.cpp */; }; + 29A8E4F01EF0476300AD2478 /* Articulations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDCA1EF0475D00AD2478 /* Articulations.cpp */; }; + 29A8E4F11EF0476300AD2478 /* Articulations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDCA1EF0475D00AD2478 /* Articulations.cpp */; }; + 29A8E4F21EF0476300AD2478 /* Articulations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDCA1EF0475D00AD2478 /* Articulations.cpp */; }; + 29A8E4F91EF0476300AD2478 /* ArticulationsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDCC1EF0475D00AD2478 /* ArticulationsChoice.cpp */; }; + 29A8E4FA1EF0476300AD2478 /* ArticulationsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDCC1EF0475D00AD2478 /* ArticulationsChoice.cpp */; }; + 29A8E4FB1EF0476300AD2478 /* ArticulationsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDCC1EF0475D00AD2478 /* ArticulationsChoice.cpp */; }; + 29A8E4FC1EF0476300AD2478 /* ArticulationsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDCC1EF0475D00AD2478 /* ArticulationsChoice.cpp */; }; + 29A8E5031EF0476300AD2478 /* Artificial.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDCE1EF0475D00AD2478 /* Artificial.cpp */; }; + 29A8E5041EF0476300AD2478 /* Artificial.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDCE1EF0475D00AD2478 /* Artificial.cpp */; }; + 29A8E5051EF0476300AD2478 /* Artificial.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDCE1EF0475D00AD2478 /* Artificial.cpp */; }; + 29A8E5061EF0476300AD2478 /* Artificial.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDCE1EF0475D00AD2478 /* Artificial.cpp */; }; + 29A8E50D1EF0476300AD2478 /* AttributesIterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDD01EF0475D00AD2478 /* AttributesIterface.cpp */; }; + 29A8E50E1EF0476300AD2478 /* AttributesIterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDD01EF0475D00AD2478 /* AttributesIterface.cpp */; }; + 29A8E50F1EF0476300AD2478 /* AttributesIterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDD01EF0475D00AD2478 /* AttributesIterface.cpp */; }; + 29A8E5101EF0476300AD2478 /* AttributesIterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDD01EF0475D00AD2478 /* AttributesIterface.cpp */; }; + 29A8E5171EF0476300AD2478 /* Backup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDD21EF0475D00AD2478 /* Backup.cpp */; }; + 29A8E5181EF0476300AD2478 /* Backup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDD21EF0475D00AD2478 /* Backup.cpp */; }; + 29A8E5191EF0476300AD2478 /* Backup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDD21EF0475D00AD2478 /* Backup.cpp */; }; + 29A8E51A1EF0476300AD2478 /* Backup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDD21EF0475D00AD2478 /* Backup.cpp */; }; + 29A8E5211EF0476300AD2478 /* Barline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDD41EF0475D00AD2478 /* Barline.cpp */; }; + 29A8E5221EF0476300AD2478 /* Barline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDD41EF0475D00AD2478 /* Barline.cpp */; }; + 29A8E5231EF0476300AD2478 /* Barline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDD41EF0475D00AD2478 /* Barline.cpp */; }; + 29A8E5241EF0476300AD2478 /* Barline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDD41EF0475D00AD2478 /* Barline.cpp */; }; + 29A8E52B1EF0476300AD2478 /* BarlineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDD61EF0475D00AD2478 /* BarlineAttributes.cpp */; }; + 29A8E52C1EF0476300AD2478 /* BarlineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDD61EF0475D00AD2478 /* BarlineAttributes.cpp */; }; + 29A8E52D1EF0476300AD2478 /* BarlineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDD61EF0475D00AD2478 /* BarlineAttributes.cpp */; }; + 29A8E52E1EF0476300AD2478 /* BarlineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDD61EF0475D00AD2478 /* BarlineAttributes.cpp */; }; + 29A8E5351EF0476300AD2478 /* Barre.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDD81EF0475D00AD2478 /* Barre.cpp */; }; + 29A8E5361EF0476300AD2478 /* Barre.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDD81EF0475D00AD2478 /* Barre.cpp */; }; + 29A8E5371EF0476300AD2478 /* Barre.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDD81EF0475D00AD2478 /* Barre.cpp */; }; + 29A8E5381EF0476300AD2478 /* Barre.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDD81EF0475D00AD2478 /* Barre.cpp */; }; + 29A8E53F1EF0476300AD2478 /* BarreAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDDA1EF0475D00AD2478 /* BarreAttributes.cpp */; }; + 29A8E5401EF0476300AD2478 /* BarreAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDDA1EF0475D00AD2478 /* BarreAttributes.cpp */; }; + 29A8E5411EF0476300AD2478 /* BarreAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDDA1EF0475D00AD2478 /* BarreAttributes.cpp */; }; + 29A8E5421EF0476300AD2478 /* BarreAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDDA1EF0475D00AD2478 /* BarreAttributes.cpp */; }; + 29A8E5491EF0476300AD2478 /* BarStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDDC1EF0475D00AD2478 /* BarStyle.cpp */; }; + 29A8E54A1EF0476300AD2478 /* BarStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDDC1EF0475D00AD2478 /* BarStyle.cpp */; }; + 29A8E54B1EF0476300AD2478 /* BarStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDDC1EF0475D00AD2478 /* BarStyle.cpp */; }; + 29A8E54C1EF0476300AD2478 /* BarStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDDC1EF0475D00AD2478 /* BarStyle.cpp */; }; + 29A8E5531EF0476300AD2478 /* BarStyleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDDE1EF0475D00AD2478 /* BarStyleAttributes.cpp */; }; + 29A8E5541EF0476300AD2478 /* BarStyleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDDE1EF0475D00AD2478 /* BarStyleAttributes.cpp */; }; + 29A8E5551EF0476300AD2478 /* BarStyleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDDE1EF0475D00AD2478 /* BarStyleAttributes.cpp */; }; + 29A8E5561EF0476300AD2478 /* BarStyleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDDE1EF0475D00AD2478 /* BarStyleAttributes.cpp */; }; + 29A8E55D1EF0476300AD2478 /* BasePitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDE01EF0475D00AD2478 /* BasePitch.cpp */; }; + 29A8E55E1EF0476300AD2478 /* BasePitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDE01EF0475D00AD2478 /* BasePitch.cpp */; }; + 29A8E55F1EF0476300AD2478 /* BasePitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDE01EF0475D00AD2478 /* BasePitch.cpp */; }; + 29A8E5601EF0476300AD2478 /* BasePitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDE01EF0475D00AD2478 /* BasePitch.cpp */; }; + 29A8E5671EF0476300AD2478 /* Bass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDE21EF0475D00AD2478 /* Bass.cpp */; }; + 29A8E5681EF0476300AD2478 /* Bass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDE21EF0475D00AD2478 /* Bass.cpp */; }; + 29A8E5691EF0476300AD2478 /* Bass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDE21EF0475D00AD2478 /* Bass.cpp */; }; + 29A8E56A1EF0476300AD2478 /* Bass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDE21EF0475D00AD2478 /* Bass.cpp */; }; + 29A8E5711EF0476300AD2478 /* BassAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDE41EF0475D00AD2478 /* BassAlter.cpp */; }; + 29A8E5721EF0476300AD2478 /* BassAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDE41EF0475D00AD2478 /* BassAlter.cpp */; }; + 29A8E5731EF0476300AD2478 /* BassAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDE41EF0475D00AD2478 /* BassAlter.cpp */; }; + 29A8E5741EF0476300AD2478 /* BassAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDE41EF0475D00AD2478 /* BassAlter.cpp */; }; + 29A8E57B1EF0476300AD2478 /* BassAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDE61EF0475D00AD2478 /* BassAlterAttributes.cpp */; }; + 29A8E57C1EF0476300AD2478 /* BassAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDE61EF0475D00AD2478 /* BassAlterAttributes.cpp */; }; + 29A8E57D1EF0476300AD2478 /* BassAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDE61EF0475D00AD2478 /* BassAlterAttributes.cpp */; }; + 29A8E57E1EF0476300AD2478 /* BassAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDE61EF0475D00AD2478 /* BassAlterAttributes.cpp */; }; + 29A8E5851EF0476300AD2478 /* BassStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDE81EF0475D00AD2478 /* BassStep.cpp */; }; + 29A8E5861EF0476300AD2478 /* BassStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDE81EF0475D00AD2478 /* BassStep.cpp */; }; + 29A8E5871EF0476300AD2478 /* BassStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDE81EF0475D00AD2478 /* BassStep.cpp */; }; + 29A8E5881EF0476300AD2478 /* BassStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDE81EF0475D00AD2478 /* BassStep.cpp */; }; + 29A8E58F1EF0476300AD2478 /* BassStepAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDEA1EF0475D00AD2478 /* BassStepAttributes.cpp */; }; + 29A8E5901EF0476300AD2478 /* BassStepAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDEA1EF0475D00AD2478 /* BassStepAttributes.cpp */; }; + 29A8E5911EF0476300AD2478 /* BassStepAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDEA1EF0475D00AD2478 /* BassStepAttributes.cpp */; }; + 29A8E5921EF0476300AD2478 /* BassStepAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDEA1EF0475D00AD2478 /* BassStepAttributes.cpp */; }; + 29A8E5991EF0476300AD2478 /* Beam.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDEC1EF0475D00AD2478 /* Beam.cpp */; }; + 29A8E59A1EF0476300AD2478 /* Beam.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDEC1EF0475D00AD2478 /* Beam.cpp */; }; + 29A8E59B1EF0476300AD2478 /* Beam.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDEC1EF0475D00AD2478 /* Beam.cpp */; }; + 29A8E59C1EF0476300AD2478 /* Beam.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDEC1EF0475D00AD2478 /* Beam.cpp */; }; + 29A8E5A31EF0476300AD2478 /* BeamAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDEE1EF0475D00AD2478 /* BeamAttributes.cpp */; }; + 29A8E5A41EF0476300AD2478 /* BeamAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDEE1EF0475D00AD2478 /* BeamAttributes.cpp */; }; + 29A8E5A51EF0476300AD2478 /* BeamAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDEE1EF0475D00AD2478 /* BeamAttributes.cpp */; }; + 29A8E5A61EF0476300AD2478 /* BeamAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDEE1EF0475D00AD2478 /* BeamAttributes.cpp */; }; + 29A8E5AD1EF0476300AD2478 /* Beater.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDF01EF0475D00AD2478 /* Beater.cpp */; }; + 29A8E5AE1EF0476300AD2478 /* Beater.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDF01EF0475D00AD2478 /* Beater.cpp */; }; + 29A8E5AF1EF0476300AD2478 /* Beater.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDF01EF0475D00AD2478 /* Beater.cpp */; }; + 29A8E5B01EF0476300AD2478 /* Beater.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDF01EF0475D00AD2478 /* Beater.cpp */; }; + 29A8E5B71EF0476300AD2478 /* BeaterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDF21EF0475D00AD2478 /* BeaterAttributes.cpp */; }; + 29A8E5B81EF0476300AD2478 /* BeaterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDF21EF0475D00AD2478 /* BeaterAttributes.cpp */; }; + 29A8E5B91EF0476300AD2478 /* BeaterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDF21EF0475D00AD2478 /* BeaterAttributes.cpp */; }; + 29A8E5BA1EF0476300AD2478 /* BeaterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDF21EF0475D00AD2478 /* BeaterAttributes.cpp */; }; + 29A8E5C11EF0476300AD2478 /* BeatRepeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDF41EF0475D00AD2478 /* BeatRepeat.cpp */; }; + 29A8E5C21EF0476300AD2478 /* BeatRepeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDF41EF0475D00AD2478 /* BeatRepeat.cpp */; }; + 29A8E5C31EF0476300AD2478 /* BeatRepeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDF41EF0475D00AD2478 /* BeatRepeat.cpp */; }; + 29A8E5C41EF0476300AD2478 /* BeatRepeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDF41EF0475D00AD2478 /* BeatRepeat.cpp */; }; + 29A8E5CB1EF0476300AD2478 /* BeatRepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDF61EF0475D00AD2478 /* BeatRepeatAttributes.cpp */; }; + 29A8E5CC1EF0476300AD2478 /* BeatRepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDF61EF0475D00AD2478 /* BeatRepeatAttributes.cpp */; }; + 29A8E5CD1EF0476300AD2478 /* BeatRepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDF61EF0475D00AD2478 /* BeatRepeatAttributes.cpp */; }; + 29A8E5CE1EF0476300AD2478 /* BeatRepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDF61EF0475D00AD2478 /* BeatRepeatAttributes.cpp */; }; + 29A8E5D51EF0476300AD2478 /* Beats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDF81EF0475D00AD2478 /* Beats.cpp */; }; + 29A8E5D61EF0476300AD2478 /* Beats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDF81EF0475D00AD2478 /* Beats.cpp */; }; + 29A8E5D71EF0476300AD2478 /* Beats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDF81EF0475D00AD2478 /* Beats.cpp */; }; + 29A8E5D81EF0476300AD2478 /* Beats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDF81EF0475D00AD2478 /* Beats.cpp */; }; + 29A8E5DF1EF0476300AD2478 /* BeatType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDFA1EF0475D00AD2478 /* BeatType.cpp */; }; + 29A8E5E01EF0476300AD2478 /* BeatType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDFA1EF0475D00AD2478 /* BeatType.cpp */; }; + 29A8E5E11EF0476300AD2478 /* BeatType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDFA1EF0475D00AD2478 /* BeatType.cpp */; }; + 29A8E5E21EF0476300AD2478 /* BeatType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDFA1EF0475D00AD2478 /* BeatType.cpp */; }; + 29A8E5E91EF0476300AD2478 /* BeatUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDFC1EF0475D00AD2478 /* BeatUnit.cpp */; }; + 29A8E5EA1EF0476300AD2478 /* BeatUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDFC1EF0475D00AD2478 /* BeatUnit.cpp */; }; + 29A8E5EB1EF0476300AD2478 /* BeatUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDFC1EF0475D00AD2478 /* BeatUnit.cpp */; }; + 29A8E5EC1EF0476300AD2478 /* BeatUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDFC1EF0475D00AD2478 /* BeatUnit.cpp */; }; + 29A8E5F31EF0476300AD2478 /* BeatUnitDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDFE1EF0475D00AD2478 /* BeatUnitDot.cpp */; }; + 29A8E5F41EF0476300AD2478 /* BeatUnitDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDFE1EF0475D00AD2478 /* BeatUnitDot.cpp */; }; + 29A8E5F51EF0476300AD2478 /* BeatUnitDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDFE1EF0475D00AD2478 /* BeatUnitDot.cpp */; }; + 29A8E5F61EF0476300AD2478 /* BeatUnitDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDFE1EF0475D00AD2478 /* BeatUnitDot.cpp */; }; + 29A8E5FD1EF0476300AD2478 /* BeatUnitGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE001EF0475D00AD2478 /* BeatUnitGroup.cpp */; }; + 29A8E5FE1EF0476300AD2478 /* BeatUnitGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE001EF0475D00AD2478 /* BeatUnitGroup.cpp */; }; + 29A8E5FF1EF0476300AD2478 /* BeatUnitGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE001EF0475D00AD2478 /* BeatUnitGroup.cpp */; }; + 29A8E6001EF0476300AD2478 /* BeatUnitGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE001EF0475D00AD2478 /* BeatUnitGroup.cpp */; }; + 29A8E6071EF0476300AD2478 /* BeatUnitPer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE021EF0475D00AD2478 /* BeatUnitPer.cpp */; }; + 29A8E6081EF0476300AD2478 /* BeatUnitPer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE021EF0475D00AD2478 /* BeatUnitPer.cpp */; }; + 29A8E6091EF0476300AD2478 /* BeatUnitPer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE021EF0475D00AD2478 /* BeatUnitPer.cpp */; }; + 29A8E60A1EF0476300AD2478 /* BeatUnitPer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE021EF0475D00AD2478 /* BeatUnitPer.cpp */; }; + 29A8E6111EF0476300AD2478 /* BeatUnitPerOrNoteRelationNoteChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE041EF0475D00AD2478 /* BeatUnitPerOrNoteRelationNoteChoice.cpp */; }; + 29A8E6121EF0476300AD2478 /* BeatUnitPerOrNoteRelationNoteChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE041EF0475D00AD2478 /* BeatUnitPerOrNoteRelationNoteChoice.cpp */; }; + 29A8E6131EF0476300AD2478 /* BeatUnitPerOrNoteRelationNoteChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE041EF0475D00AD2478 /* BeatUnitPerOrNoteRelationNoteChoice.cpp */; }; + 29A8E6141EF0476300AD2478 /* BeatUnitPerOrNoteRelationNoteChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE041EF0475D00AD2478 /* BeatUnitPerOrNoteRelationNoteChoice.cpp */; }; + 29A8E61B1EF0476300AD2478 /* Bend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE061EF0475D00AD2478 /* Bend.cpp */; }; + 29A8E61C1EF0476300AD2478 /* Bend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE061EF0475D00AD2478 /* Bend.cpp */; }; + 29A8E61D1EF0476300AD2478 /* Bend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE061EF0475D00AD2478 /* Bend.cpp */; }; + 29A8E61E1EF0476300AD2478 /* Bend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE061EF0475D00AD2478 /* Bend.cpp */; }; + 29A8E6251EF0476300AD2478 /* BendAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE081EF0475D00AD2478 /* BendAlter.cpp */; }; + 29A8E6261EF0476300AD2478 /* BendAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE081EF0475D00AD2478 /* BendAlter.cpp */; }; + 29A8E6271EF0476300AD2478 /* BendAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE081EF0475D00AD2478 /* BendAlter.cpp */; }; + 29A8E6281EF0476300AD2478 /* BendAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE081EF0475D00AD2478 /* BendAlter.cpp */; }; + 29A8E62F1EF0476300AD2478 /* BendAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE0A1EF0475D00AD2478 /* BendAttributes.cpp */; }; + 29A8E6301EF0476300AD2478 /* BendAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE0A1EF0475D00AD2478 /* BendAttributes.cpp */; }; + 29A8E6311EF0476300AD2478 /* BendAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE0A1EF0475D00AD2478 /* BendAttributes.cpp */; }; + 29A8E6321EF0476300AD2478 /* BendAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE0A1EF0475D00AD2478 /* BendAttributes.cpp */; }; + 29A8E6391EF0476300AD2478 /* BendChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE0C1EF0475D00AD2478 /* BendChoice.cpp */; }; + 29A8E63A1EF0476300AD2478 /* BendChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE0C1EF0475D00AD2478 /* BendChoice.cpp */; }; + 29A8E63B1EF0476300AD2478 /* BendChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE0C1EF0475D00AD2478 /* BendChoice.cpp */; }; + 29A8E63C1EF0476300AD2478 /* BendChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE0C1EF0475D00AD2478 /* BendChoice.cpp */; }; + 29A8E6431EF0476300AD2478 /* Bookmark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE0E1EF0475D00AD2478 /* Bookmark.cpp */; }; + 29A8E6441EF0476300AD2478 /* Bookmark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE0E1EF0475D00AD2478 /* Bookmark.cpp */; }; + 29A8E6451EF0476300AD2478 /* Bookmark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE0E1EF0475D00AD2478 /* Bookmark.cpp */; }; + 29A8E6461EF0476300AD2478 /* Bookmark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE0E1EF0475D00AD2478 /* Bookmark.cpp */; }; + 29A8E64D1EF0476300AD2478 /* BookmarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE101EF0475D00AD2478 /* BookmarkAttributes.cpp */; }; + 29A8E64E1EF0476300AD2478 /* BookmarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE101EF0475D00AD2478 /* BookmarkAttributes.cpp */; }; + 29A8E64F1EF0476300AD2478 /* BookmarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE101EF0475D00AD2478 /* BookmarkAttributes.cpp */; }; + 29A8E6501EF0476300AD2478 /* BookmarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE101EF0475D00AD2478 /* BookmarkAttributes.cpp */; }; + 29A8E6571EF0476300AD2478 /* BottomMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE121EF0475D00AD2478 /* BottomMargin.cpp */; }; + 29A8E6581EF0476300AD2478 /* BottomMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE121EF0475D00AD2478 /* BottomMargin.cpp */; }; + 29A8E6591EF0476300AD2478 /* BottomMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE121EF0475D00AD2478 /* BottomMargin.cpp */; }; + 29A8E65A1EF0476300AD2478 /* BottomMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE121EF0475D00AD2478 /* BottomMargin.cpp */; }; + 29A8E6611EF0476300AD2478 /* Bracket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE141EF0475D00AD2478 /* Bracket.cpp */; }; + 29A8E6621EF0476300AD2478 /* Bracket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE141EF0475D00AD2478 /* Bracket.cpp */; }; + 29A8E6631EF0476300AD2478 /* Bracket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE141EF0475D00AD2478 /* Bracket.cpp */; }; + 29A8E6641EF0476300AD2478 /* Bracket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE141EF0475D00AD2478 /* Bracket.cpp */; }; + 29A8E66B1EF0476300AD2478 /* BracketAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE161EF0475D00AD2478 /* BracketAttributes.cpp */; }; + 29A8E66C1EF0476300AD2478 /* BracketAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE161EF0475D00AD2478 /* BracketAttributes.cpp */; }; + 29A8E66D1EF0476300AD2478 /* BracketAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE161EF0475D00AD2478 /* BracketAttributes.cpp */; }; + 29A8E66E1EF0476300AD2478 /* BracketAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE161EF0475D00AD2478 /* BracketAttributes.cpp */; }; + 29A8E6751EF0476300AD2478 /* BreathMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE181EF0475D00AD2478 /* BreathMark.cpp */; }; + 29A8E6761EF0476300AD2478 /* BreathMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE181EF0475D00AD2478 /* BreathMark.cpp */; }; + 29A8E6771EF0476300AD2478 /* BreathMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE181EF0475D00AD2478 /* BreathMark.cpp */; }; + 29A8E6781EF0476300AD2478 /* BreathMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE181EF0475D00AD2478 /* BreathMark.cpp */; }; + 29A8E67F1EF0476300AD2478 /* BreathMarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE1A1EF0475D00AD2478 /* BreathMarkAttributes.cpp */; }; + 29A8E6801EF0476300AD2478 /* BreathMarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE1A1EF0475D00AD2478 /* BreathMarkAttributes.cpp */; }; + 29A8E6811EF0476300AD2478 /* BreathMarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE1A1EF0475D00AD2478 /* BreathMarkAttributes.cpp */; }; + 29A8E6821EF0476300AD2478 /* BreathMarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE1A1EF0475D00AD2478 /* BreathMarkAttributes.cpp */; }; + 29A8E6891EF0476300AD2478 /* Caesura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE1C1EF0475D00AD2478 /* Caesura.cpp */; }; + 29A8E68A1EF0476300AD2478 /* Caesura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE1C1EF0475D00AD2478 /* Caesura.cpp */; }; + 29A8E68B1EF0476300AD2478 /* Caesura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE1C1EF0475D00AD2478 /* Caesura.cpp */; }; + 29A8E68C1EF0476300AD2478 /* Caesura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE1C1EF0475D00AD2478 /* Caesura.cpp */; }; + 29A8E6931EF0476300AD2478 /* Cancel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE1E1EF0475D00AD2478 /* Cancel.cpp */; }; + 29A8E6941EF0476300AD2478 /* Cancel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE1E1EF0475D00AD2478 /* Cancel.cpp */; }; + 29A8E6951EF0476300AD2478 /* Cancel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE1E1EF0475D00AD2478 /* Cancel.cpp */; }; + 29A8E6961EF0476300AD2478 /* Cancel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE1E1EF0475D00AD2478 /* Cancel.cpp */; }; + 29A8E69D1EF0476300AD2478 /* CancelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE201EF0475D00AD2478 /* CancelAttributes.cpp */; }; + 29A8E69E1EF0476300AD2478 /* CancelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE201EF0475D00AD2478 /* CancelAttributes.cpp */; }; + 29A8E69F1EF0476300AD2478 /* CancelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE201EF0475D00AD2478 /* CancelAttributes.cpp */; }; + 29A8E6A01EF0476300AD2478 /* CancelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE201EF0475D00AD2478 /* CancelAttributes.cpp */; }; + 29A8E6A71EF0476300AD2478 /* Capo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE221EF0475D00AD2478 /* Capo.cpp */; }; + 29A8E6A81EF0476400AD2478 /* Capo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE221EF0475D00AD2478 /* Capo.cpp */; }; + 29A8E6A91EF0476400AD2478 /* Capo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE221EF0475D00AD2478 /* Capo.cpp */; }; + 29A8E6AA1EF0476400AD2478 /* Capo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE221EF0475D00AD2478 /* Capo.cpp */; }; + 29A8E6B11EF0476400AD2478 /* Chord.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE241EF0475D00AD2478 /* Chord.cpp */; }; + 29A8E6B21EF0476400AD2478 /* Chord.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE241EF0475D00AD2478 /* Chord.cpp */; }; + 29A8E6B31EF0476400AD2478 /* Chord.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE241EF0475D00AD2478 /* Chord.cpp */; }; + 29A8E6B41EF0476400AD2478 /* Chord.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE241EF0475D00AD2478 /* Chord.cpp */; }; + 29A8E6BB1EF0476400AD2478 /* Chromatic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE261EF0475D00AD2478 /* Chromatic.cpp */; }; + 29A8E6BC1EF0476400AD2478 /* Chromatic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE261EF0475D00AD2478 /* Chromatic.cpp */; }; + 29A8E6BD1EF0476400AD2478 /* Chromatic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE261EF0475D00AD2478 /* Chromatic.cpp */; }; + 29A8E6BE1EF0476400AD2478 /* Chromatic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE261EF0475D00AD2478 /* Chromatic.cpp */; }; + 29A8E6C51EF0476400AD2478 /* CircularArrow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE281EF0475D00AD2478 /* CircularArrow.cpp */; }; + 29A8E6C61EF0476400AD2478 /* CircularArrow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE281EF0475D00AD2478 /* CircularArrow.cpp */; }; + 29A8E6C71EF0476400AD2478 /* CircularArrow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE281EF0475D00AD2478 /* CircularArrow.cpp */; }; + 29A8E6C81EF0476400AD2478 /* CircularArrow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE281EF0475D00AD2478 /* CircularArrow.cpp */; }; + 29A8E6CF1EF0476400AD2478 /* Clef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE2A1EF0475D00AD2478 /* Clef.cpp */; }; + 29A8E6D01EF0476400AD2478 /* Clef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE2A1EF0475D00AD2478 /* Clef.cpp */; }; + 29A8E6D11EF0476400AD2478 /* Clef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE2A1EF0475D00AD2478 /* Clef.cpp */; }; + 29A8E6D21EF0476400AD2478 /* Clef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE2A1EF0475D00AD2478 /* Clef.cpp */; }; + 29A8E6D91EF0476400AD2478 /* ClefAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE2C1EF0475D00AD2478 /* ClefAttributes.cpp */; }; + 29A8E6DA1EF0476400AD2478 /* ClefAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE2C1EF0475D00AD2478 /* ClefAttributes.cpp */; }; + 29A8E6DB1EF0476400AD2478 /* ClefAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE2C1EF0475D00AD2478 /* ClefAttributes.cpp */; }; + 29A8E6DC1EF0476400AD2478 /* ClefAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE2C1EF0475D00AD2478 /* ClefAttributes.cpp */; }; + 29A8E6E31EF0476400AD2478 /* ClefOctaveChange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE2E1EF0475D00AD2478 /* ClefOctaveChange.cpp */; }; + 29A8E6E41EF0476400AD2478 /* ClefOctaveChange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE2E1EF0475D00AD2478 /* ClefOctaveChange.cpp */; }; + 29A8E6E51EF0476400AD2478 /* ClefOctaveChange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE2E1EF0475D00AD2478 /* ClefOctaveChange.cpp */; }; + 29A8E6E61EF0476400AD2478 /* ClefOctaveChange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE2E1EF0475D00AD2478 /* ClefOctaveChange.cpp */; }; + 29A8E6ED1EF0476400AD2478 /* Coda.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE301EF0475D00AD2478 /* Coda.cpp */; }; + 29A8E6EE1EF0476400AD2478 /* Coda.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE301EF0475D00AD2478 /* Coda.cpp */; }; + 29A8E6EF1EF0476400AD2478 /* Coda.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE301EF0475D00AD2478 /* Coda.cpp */; }; + 29A8E6F01EF0476400AD2478 /* Coda.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE301EF0475D00AD2478 /* Coda.cpp */; }; + 29A8E6F71EF0476400AD2478 /* Creator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE321EF0475D00AD2478 /* Creator.cpp */; }; + 29A8E6F81EF0476400AD2478 /* Creator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE321EF0475D00AD2478 /* Creator.cpp */; }; + 29A8E6F91EF0476400AD2478 /* Creator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE321EF0475D00AD2478 /* Creator.cpp */; }; + 29A8E6FA1EF0476400AD2478 /* Creator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE321EF0475D00AD2478 /* Creator.cpp */; }; + 29A8E7011EF0476400AD2478 /* CreatorAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE341EF0475D00AD2478 /* CreatorAttributes.cpp */; }; + 29A8E7021EF0476400AD2478 /* CreatorAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE341EF0475D00AD2478 /* CreatorAttributes.cpp */; }; + 29A8E7031EF0476400AD2478 /* CreatorAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE341EF0475D00AD2478 /* CreatorAttributes.cpp */; }; + 29A8E7041EF0476400AD2478 /* CreatorAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE341EF0475D00AD2478 /* CreatorAttributes.cpp */; }; + 29A8E70B1EF0476400AD2478 /* Credit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE361EF0475D00AD2478 /* Credit.cpp */; }; + 29A8E70C1EF0476400AD2478 /* Credit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE361EF0475D00AD2478 /* Credit.cpp */; }; + 29A8E70D1EF0476400AD2478 /* Credit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE361EF0475D00AD2478 /* Credit.cpp */; }; + 29A8E70E1EF0476400AD2478 /* Credit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE361EF0475D00AD2478 /* Credit.cpp */; }; + 29A8E7151EF0476400AD2478 /* CreditAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE381EF0475D00AD2478 /* CreditAttributes.cpp */; }; + 29A8E7161EF0476400AD2478 /* CreditAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE381EF0475D00AD2478 /* CreditAttributes.cpp */; }; + 29A8E7171EF0476400AD2478 /* CreditAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE381EF0475D00AD2478 /* CreditAttributes.cpp */; }; + 29A8E7181EF0476400AD2478 /* CreditAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE381EF0475D00AD2478 /* CreditAttributes.cpp */; }; + 29A8E71F1EF0476400AD2478 /* CreditChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE3A1EF0475D00AD2478 /* CreditChoice.cpp */; }; + 29A8E7201EF0476400AD2478 /* CreditChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE3A1EF0475D00AD2478 /* CreditChoice.cpp */; }; + 29A8E7211EF0476400AD2478 /* CreditChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE3A1EF0475D00AD2478 /* CreditChoice.cpp */; }; + 29A8E7221EF0476400AD2478 /* CreditChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE3A1EF0475D00AD2478 /* CreditChoice.cpp */; }; + 29A8E7291EF0476400AD2478 /* CreditImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE3C1EF0475D00AD2478 /* CreditImage.cpp */; }; + 29A8E72A1EF0476400AD2478 /* CreditImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE3C1EF0475D00AD2478 /* CreditImage.cpp */; }; + 29A8E72B1EF0476400AD2478 /* CreditImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE3C1EF0475D00AD2478 /* CreditImage.cpp */; }; + 29A8E72C1EF0476400AD2478 /* CreditImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE3C1EF0475D00AD2478 /* CreditImage.cpp */; }; + 29A8E7331EF0476400AD2478 /* CreditImageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE3E1EF0475D00AD2478 /* CreditImageAttributes.cpp */; }; + 29A8E7341EF0476400AD2478 /* CreditImageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE3E1EF0475D00AD2478 /* CreditImageAttributes.cpp */; }; + 29A8E7351EF0476400AD2478 /* CreditImageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE3E1EF0475D00AD2478 /* CreditImageAttributes.cpp */; }; + 29A8E7361EF0476400AD2478 /* CreditImageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE3E1EF0475D00AD2478 /* CreditImageAttributes.cpp */; }; + 29A8E73D1EF0476400AD2478 /* CreditType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE401EF0475D00AD2478 /* CreditType.cpp */; }; + 29A8E73E1EF0476400AD2478 /* CreditType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE401EF0475D00AD2478 /* CreditType.cpp */; }; + 29A8E73F1EF0476400AD2478 /* CreditType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE401EF0475D00AD2478 /* CreditType.cpp */; }; + 29A8E7401EF0476400AD2478 /* CreditType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE401EF0475D00AD2478 /* CreditType.cpp */; }; + 29A8E7471EF0476400AD2478 /* CreditWords.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE421EF0475D00AD2478 /* CreditWords.cpp */; }; + 29A8E7481EF0476400AD2478 /* CreditWords.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE421EF0475D00AD2478 /* CreditWords.cpp */; }; + 29A8E7491EF0476400AD2478 /* CreditWords.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE421EF0475D00AD2478 /* CreditWords.cpp */; }; + 29A8E74A1EF0476400AD2478 /* CreditWords.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE421EF0475D00AD2478 /* CreditWords.cpp */; }; + 29A8E7511EF0476400AD2478 /* CreditWordsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE441EF0475D00AD2478 /* CreditWordsAttributes.cpp */; }; + 29A8E7521EF0476400AD2478 /* CreditWordsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE441EF0475D00AD2478 /* CreditWordsAttributes.cpp */; }; + 29A8E7531EF0476400AD2478 /* CreditWordsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE441EF0475D00AD2478 /* CreditWordsAttributes.cpp */; }; + 29A8E7541EF0476400AD2478 /* CreditWordsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE441EF0475D00AD2478 /* CreditWordsAttributes.cpp */; }; + 29A8E75B1EF0476400AD2478 /* CreditWordsGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE461EF0475D00AD2478 /* CreditWordsGroup.cpp */; }; + 29A8E75C1EF0476400AD2478 /* CreditWordsGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE461EF0475D00AD2478 /* CreditWordsGroup.cpp */; }; + 29A8E75D1EF0476400AD2478 /* CreditWordsGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE461EF0475D00AD2478 /* CreditWordsGroup.cpp */; }; + 29A8E75E1EF0476400AD2478 /* CreditWordsGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE461EF0475D00AD2478 /* CreditWordsGroup.cpp */; }; + 29A8E7651EF0476400AD2478 /* Cue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE481EF0475D00AD2478 /* Cue.cpp */; }; + 29A8E7661EF0476400AD2478 /* Cue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE481EF0475D00AD2478 /* Cue.cpp */; }; + 29A8E7671EF0476400AD2478 /* Cue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE481EF0475D00AD2478 /* Cue.cpp */; }; + 29A8E7681EF0476400AD2478 /* Cue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE481EF0475D00AD2478 /* Cue.cpp */; }; + 29A8E76F1EF0476400AD2478 /* CueNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE4A1EF0475D00AD2478 /* CueNoteGroup.cpp */; }; + 29A8E7701EF0476400AD2478 /* CueNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE4A1EF0475D00AD2478 /* CueNoteGroup.cpp */; }; + 29A8E7711EF0476400AD2478 /* CueNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE4A1EF0475D00AD2478 /* CueNoteGroup.cpp */; }; + 29A8E7721EF0476400AD2478 /* CueNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE4A1EF0475D00AD2478 /* CueNoteGroup.cpp */; }; + 29A8E7791EF0476400AD2478 /* Damp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE4C1EF0475D00AD2478 /* Damp.cpp */; }; + 29A8E77A1EF0476400AD2478 /* Damp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE4C1EF0475D00AD2478 /* Damp.cpp */; }; + 29A8E77B1EF0476400AD2478 /* Damp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE4C1EF0475D00AD2478 /* Damp.cpp */; }; + 29A8E77C1EF0476400AD2478 /* Damp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE4C1EF0475D00AD2478 /* Damp.cpp */; }; + 29A8E7831EF0476400AD2478 /* DampAll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE4E1EF0475D00AD2478 /* DampAll.cpp */; }; + 29A8E7841EF0476400AD2478 /* DampAll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE4E1EF0475D00AD2478 /* DampAll.cpp */; }; + 29A8E7851EF0476400AD2478 /* DampAll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE4E1EF0475D00AD2478 /* DampAll.cpp */; }; + 29A8E7861EF0476400AD2478 /* DampAll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE4E1EF0475D00AD2478 /* DampAll.cpp */; }; + 29A8E78D1EF0476400AD2478 /* Dashes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE501EF0475D00AD2478 /* Dashes.cpp */; }; + 29A8E78E1EF0476400AD2478 /* Dashes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE501EF0475D00AD2478 /* Dashes.cpp */; }; + 29A8E78F1EF0476400AD2478 /* Dashes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE501EF0475D00AD2478 /* Dashes.cpp */; }; + 29A8E7901EF0476400AD2478 /* Dashes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE501EF0475D00AD2478 /* Dashes.cpp */; }; + 29A8E7971EF0476400AD2478 /* DashesAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE521EF0475D00AD2478 /* DashesAttributes.cpp */; }; + 29A8E7981EF0476400AD2478 /* DashesAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE521EF0475D00AD2478 /* DashesAttributes.cpp */; }; + 29A8E7991EF0476400AD2478 /* DashesAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE521EF0475D00AD2478 /* DashesAttributes.cpp */; }; + 29A8E79A1EF0476400AD2478 /* DashesAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE521EF0475D00AD2478 /* DashesAttributes.cpp */; }; + 29A8E7A11EF0476400AD2478 /* Defaults.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE541EF0475D00AD2478 /* Defaults.cpp */; }; + 29A8E7A21EF0476400AD2478 /* Defaults.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE541EF0475D00AD2478 /* Defaults.cpp */; }; + 29A8E7A31EF0476400AD2478 /* Defaults.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE541EF0475D00AD2478 /* Defaults.cpp */; }; + 29A8E7A41EF0476400AD2478 /* Defaults.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE541EF0475D00AD2478 /* Defaults.cpp */; }; + 29A8E7AB1EF0476400AD2478 /* Degree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE561EF0475D00AD2478 /* Degree.cpp */; }; + 29A8E7AC1EF0476400AD2478 /* Degree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE561EF0475D00AD2478 /* Degree.cpp */; }; + 29A8E7AD1EF0476400AD2478 /* Degree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE561EF0475D00AD2478 /* Degree.cpp */; }; + 29A8E7AE1EF0476400AD2478 /* Degree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE561EF0475D00AD2478 /* Degree.cpp */; }; + 29A8E7B51EF0476400AD2478 /* DegreeAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE581EF0475D00AD2478 /* DegreeAlter.cpp */; }; + 29A8E7B61EF0476400AD2478 /* DegreeAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE581EF0475D00AD2478 /* DegreeAlter.cpp */; }; + 29A8E7B71EF0476400AD2478 /* DegreeAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE581EF0475D00AD2478 /* DegreeAlter.cpp */; }; + 29A8E7B81EF0476400AD2478 /* DegreeAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE581EF0475D00AD2478 /* DegreeAlter.cpp */; }; + 29A8E7BF1EF0476400AD2478 /* DegreeAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE5A1EF0475D00AD2478 /* DegreeAlterAttributes.cpp */; }; + 29A8E7C01EF0476400AD2478 /* DegreeAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE5A1EF0475D00AD2478 /* DegreeAlterAttributes.cpp */; }; + 29A8E7C11EF0476400AD2478 /* DegreeAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE5A1EF0475D00AD2478 /* DegreeAlterAttributes.cpp */; }; + 29A8E7C21EF0476400AD2478 /* DegreeAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE5A1EF0475D00AD2478 /* DegreeAlterAttributes.cpp */; }; + 29A8E7C91EF0476400AD2478 /* DegreeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE5C1EF0475D00AD2478 /* DegreeAttributes.cpp */; }; + 29A8E7CA1EF0476400AD2478 /* DegreeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE5C1EF0475D00AD2478 /* DegreeAttributes.cpp */; }; + 29A8E7CB1EF0476400AD2478 /* DegreeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE5C1EF0475D00AD2478 /* DegreeAttributes.cpp */; }; + 29A8E7CC1EF0476400AD2478 /* DegreeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE5C1EF0475D00AD2478 /* DegreeAttributes.cpp */; }; + 29A8E7D31EF0476400AD2478 /* DegreeType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE5E1EF0475D00AD2478 /* DegreeType.cpp */; }; + 29A8E7D41EF0476400AD2478 /* DegreeType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE5E1EF0475D00AD2478 /* DegreeType.cpp */; }; + 29A8E7D51EF0476400AD2478 /* DegreeType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE5E1EF0475D00AD2478 /* DegreeType.cpp */; }; + 29A8E7D61EF0476400AD2478 /* DegreeType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE5E1EF0475D00AD2478 /* DegreeType.cpp */; }; + 29A8E7DD1EF0476400AD2478 /* DegreeTypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE601EF0475E00AD2478 /* DegreeTypeAttributes.cpp */; }; + 29A8E7DE1EF0476400AD2478 /* DegreeTypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE601EF0475E00AD2478 /* DegreeTypeAttributes.cpp */; }; + 29A8E7DF1EF0476400AD2478 /* DegreeTypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE601EF0475E00AD2478 /* DegreeTypeAttributes.cpp */; }; + 29A8E7E01EF0476400AD2478 /* DegreeTypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE601EF0475E00AD2478 /* DegreeTypeAttributes.cpp */; }; + 29A8E7E71EF0476400AD2478 /* DegreeValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE621EF0475E00AD2478 /* DegreeValue.cpp */; }; + 29A8E7E81EF0476400AD2478 /* DegreeValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE621EF0475E00AD2478 /* DegreeValue.cpp */; }; + 29A8E7E91EF0476400AD2478 /* DegreeValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE621EF0475E00AD2478 /* DegreeValue.cpp */; }; + 29A8E7EA1EF0476400AD2478 /* DegreeValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE621EF0475E00AD2478 /* DegreeValue.cpp */; }; + 29A8E7F11EF0476400AD2478 /* DegreeValueAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE641EF0475E00AD2478 /* DegreeValueAttributes.cpp */; }; + 29A8E7F21EF0476400AD2478 /* DegreeValueAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE641EF0475E00AD2478 /* DegreeValueAttributes.cpp */; }; + 29A8E7F31EF0476400AD2478 /* DegreeValueAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE641EF0475E00AD2478 /* DegreeValueAttributes.cpp */; }; + 29A8E7F41EF0476400AD2478 /* DegreeValueAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE641EF0475E00AD2478 /* DegreeValueAttributes.cpp */; }; + 29A8E7FB1EF0476400AD2478 /* DelayedInvertedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE661EF0475E00AD2478 /* DelayedInvertedTurn.cpp */; }; + 29A8E7FC1EF0476400AD2478 /* DelayedInvertedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE661EF0475E00AD2478 /* DelayedInvertedTurn.cpp */; }; + 29A8E7FD1EF0476400AD2478 /* DelayedInvertedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE661EF0475E00AD2478 /* DelayedInvertedTurn.cpp */; }; + 29A8E7FE1EF0476400AD2478 /* DelayedInvertedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE661EF0475E00AD2478 /* DelayedInvertedTurn.cpp */; }; + 29A8E8051EF0476400AD2478 /* DelayedInvertedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE681EF0475E00AD2478 /* DelayedInvertedTurnAttributes.cpp */; }; + 29A8E8061EF0476400AD2478 /* DelayedInvertedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE681EF0475E00AD2478 /* DelayedInvertedTurnAttributes.cpp */; }; + 29A8E8071EF0476400AD2478 /* DelayedInvertedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE681EF0475E00AD2478 /* DelayedInvertedTurnAttributes.cpp */; }; + 29A8E8081EF0476400AD2478 /* DelayedInvertedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE681EF0475E00AD2478 /* DelayedInvertedTurnAttributes.cpp */; }; + 29A8E80F1EF0476400AD2478 /* DelayedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE6A1EF0475E00AD2478 /* DelayedTurn.cpp */; }; + 29A8E8101EF0476400AD2478 /* DelayedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE6A1EF0475E00AD2478 /* DelayedTurn.cpp */; }; + 29A8E8111EF0476400AD2478 /* DelayedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE6A1EF0475E00AD2478 /* DelayedTurn.cpp */; }; + 29A8E8121EF0476400AD2478 /* DelayedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE6A1EF0475E00AD2478 /* DelayedTurn.cpp */; }; + 29A8E8191EF0476400AD2478 /* DelayedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE6C1EF0475E00AD2478 /* DelayedTurnAttributes.cpp */; }; + 29A8E81A1EF0476400AD2478 /* DelayedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE6C1EF0475E00AD2478 /* DelayedTurnAttributes.cpp */; }; + 29A8E81B1EF0476400AD2478 /* DelayedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE6C1EF0475E00AD2478 /* DelayedTurnAttributes.cpp */; }; + 29A8E81C1EF0476400AD2478 /* DelayedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE6C1EF0475E00AD2478 /* DelayedTurnAttributes.cpp */; }; + 29A8E8231EF0476400AD2478 /* DetachedLegato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE6E1EF0475E00AD2478 /* DetachedLegato.cpp */; }; + 29A8E8241EF0476400AD2478 /* DetachedLegato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE6E1EF0475E00AD2478 /* DetachedLegato.cpp */; }; + 29A8E8251EF0476400AD2478 /* DetachedLegato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE6E1EF0475E00AD2478 /* DetachedLegato.cpp */; }; + 29A8E8261EF0476400AD2478 /* DetachedLegato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE6E1EF0475E00AD2478 /* DetachedLegato.cpp */; }; + 29A8E82D1EF0476400AD2478 /* Diatonic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE701EF0475E00AD2478 /* Diatonic.cpp */; }; + 29A8E82E1EF0476400AD2478 /* Diatonic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE701EF0475E00AD2478 /* Diatonic.cpp */; }; + 29A8E82F1EF0476400AD2478 /* Diatonic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE701EF0475E00AD2478 /* Diatonic.cpp */; }; + 29A8E8301EF0476400AD2478 /* Diatonic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE701EF0475E00AD2478 /* Diatonic.cpp */; }; + 29A8E8371EF0476400AD2478 /* Direction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE721EF0475E00AD2478 /* Direction.cpp */; }; + 29A8E8381EF0476400AD2478 /* Direction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE721EF0475E00AD2478 /* Direction.cpp */; }; + 29A8E8391EF0476400AD2478 /* Direction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE721EF0475E00AD2478 /* Direction.cpp */; }; + 29A8E83A1EF0476400AD2478 /* Direction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE721EF0475E00AD2478 /* Direction.cpp */; }; + 29A8E8411EF0476400AD2478 /* DirectionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE741EF0475E00AD2478 /* DirectionAttributes.cpp */; }; + 29A8E8421EF0476400AD2478 /* DirectionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE741EF0475E00AD2478 /* DirectionAttributes.cpp */; }; + 29A8E8431EF0476400AD2478 /* DirectionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE741EF0475E00AD2478 /* DirectionAttributes.cpp */; }; + 29A8E8441EF0476400AD2478 /* DirectionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE741EF0475E00AD2478 /* DirectionAttributes.cpp */; }; + 29A8E84B1EF0476400AD2478 /* DirectionType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE761EF0475E00AD2478 /* DirectionType.cpp */; }; + 29A8E84C1EF0476400AD2478 /* DirectionType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE761EF0475E00AD2478 /* DirectionType.cpp */; }; + 29A8E84D1EF0476400AD2478 /* DirectionType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE761EF0475E00AD2478 /* DirectionType.cpp */; }; + 29A8E84E1EF0476400AD2478 /* DirectionType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE761EF0475E00AD2478 /* DirectionType.cpp */; }; + 29A8E8551EF0476400AD2478 /* Directive.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE781EF0475E00AD2478 /* Directive.cpp */; }; + 29A8E8561EF0476400AD2478 /* Directive.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE781EF0475E00AD2478 /* Directive.cpp */; }; + 29A8E8571EF0476400AD2478 /* Directive.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE781EF0475E00AD2478 /* Directive.cpp */; }; + 29A8E8581EF0476400AD2478 /* Directive.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE781EF0475E00AD2478 /* Directive.cpp */; }; + 29A8E85F1EF0476400AD2478 /* DirectiveAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE7A1EF0475E00AD2478 /* DirectiveAttributes.cpp */; }; + 29A8E8601EF0476400AD2478 /* DirectiveAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE7A1EF0475E00AD2478 /* DirectiveAttributes.cpp */; }; + 29A8E8611EF0476400AD2478 /* DirectiveAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE7A1EF0475E00AD2478 /* DirectiveAttributes.cpp */; }; + 29A8E8621EF0476400AD2478 /* DirectiveAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE7A1EF0475E00AD2478 /* DirectiveAttributes.cpp */; }; + 29A8E8691EF0476400AD2478 /* DisplayOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE7C1EF0475E00AD2478 /* DisplayOctave.cpp */; }; + 29A8E86A1EF0476400AD2478 /* DisplayOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE7C1EF0475E00AD2478 /* DisplayOctave.cpp */; }; + 29A8E86B1EF0476400AD2478 /* DisplayOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE7C1EF0475E00AD2478 /* DisplayOctave.cpp */; }; + 29A8E86C1EF0476400AD2478 /* DisplayOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE7C1EF0475E00AD2478 /* DisplayOctave.cpp */; }; + 29A8E8731EF0476400AD2478 /* DisplayStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE7E1EF0475E00AD2478 /* DisplayStep.cpp */; }; + 29A8E8741EF0476400AD2478 /* DisplayStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE7E1EF0475E00AD2478 /* DisplayStep.cpp */; }; + 29A8E8751EF0476400AD2478 /* DisplayStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE7E1EF0475E00AD2478 /* DisplayStep.cpp */; }; + 29A8E8761EF0476400AD2478 /* DisplayStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE7E1EF0475E00AD2478 /* DisplayStep.cpp */; }; + 29A8E87D1EF0476400AD2478 /* DisplayStepOctaveGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE801EF0475E00AD2478 /* DisplayStepOctaveGroup.cpp */; }; + 29A8E87E1EF0476400AD2478 /* DisplayStepOctaveGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE801EF0475E00AD2478 /* DisplayStepOctaveGroup.cpp */; }; + 29A8E87F1EF0476400AD2478 /* DisplayStepOctaveGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE801EF0475E00AD2478 /* DisplayStepOctaveGroup.cpp */; }; + 29A8E8801EF0476400AD2478 /* DisplayStepOctaveGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE801EF0475E00AD2478 /* DisplayStepOctaveGroup.cpp */; }; + 29A8E8871EF0476400AD2478 /* DisplayText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE821EF0475E00AD2478 /* DisplayText.cpp */; }; + 29A8E8881EF0476400AD2478 /* DisplayText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE821EF0475E00AD2478 /* DisplayText.cpp */; }; + 29A8E8891EF0476400AD2478 /* DisplayText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE821EF0475E00AD2478 /* DisplayText.cpp */; }; + 29A8E88A1EF0476400AD2478 /* DisplayText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE821EF0475E00AD2478 /* DisplayText.cpp */; }; + 29A8E8911EF0476400AD2478 /* DisplayTextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE841EF0475E00AD2478 /* DisplayTextAttributes.cpp */; }; + 29A8E8921EF0476400AD2478 /* DisplayTextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE841EF0475E00AD2478 /* DisplayTextAttributes.cpp */; }; + 29A8E8931EF0476400AD2478 /* DisplayTextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE841EF0475E00AD2478 /* DisplayTextAttributes.cpp */; }; + 29A8E8941EF0476400AD2478 /* DisplayTextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE841EF0475E00AD2478 /* DisplayTextAttributes.cpp */; }; + 29A8E89B1EF0476400AD2478 /* DisplayTextOrAccidentalText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE861EF0475E00AD2478 /* DisplayTextOrAccidentalText.cpp */; }; + 29A8E89C1EF0476400AD2478 /* DisplayTextOrAccidentalText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE861EF0475E00AD2478 /* DisplayTextOrAccidentalText.cpp */; }; + 29A8E89D1EF0476400AD2478 /* DisplayTextOrAccidentalText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE861EF0475E00AD2478 /* DisplayTextOrAccidentalText.cpp */; }; + 29A8E89E1EF0476400AD2478 /* DisplayTextOrAccidentalText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE861EF0475E00AD2478 /* DisplayTextOrAccidentalText.cpp */; }; + 29A8E8A51EF0476400AD2478 /* Distance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE881EF0475E00AD2478 /* Distance.cpp */; }; + 29A8E8A61EF0476400AD2478 /* Distance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE881EF0475E00AD2478 /* Distance.cpp */; }; + 29A8E8A71EF0476400AD2478 /* Distance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE881EF0475E00AD2478 /* Distance.cpp */; }; + 29A8E8A81EF0476400AD2478 /* Distance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE881EF0475E00AD2478 /* Distance.cpp */; }; + 29A8E8AF1EF0476400AD2478 /* DistanceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE8A1EF0475E00AD2478 /* DistanceAttributes.cpp */; }; + 29A8E8B01EF0476400AD2478 /* DistanceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE8A1EF0475E00AD2478 /* DistanceAttributes.cpp */; }; + 29A8E8B11EF0476400AD2478 /* DistanceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE8A1EF0475E00AD2478 /* DistanceAttributes.cpp */; }; + 29A8E8B21EF0476400AD2478 /* DistanceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE8A1EF0475E00AD2478 /* DistanceAttributes.cpp */; }; + 29A8E8B91EF0476400AD2478 /* Divisions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE8C1EF0475E00AD2478 /* Divisions.cpp */; }; + 29A8E8BA1EF0476400AD2478 /* Divisions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE8C1EF0475E00AD2478 /* Divisions.cpp */; }; + 29A8E8BB1EF0476400AD2478 /* Divisions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE8C1EF0475E00AD2478 /* Divisions.cpp */; }; + 29A8E8BC1EF0476400AD2478 /* Divisions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE8C1EF0475E00AD2478 /* Divisions.cpp */; }; + 29A8E8C31EF0476400AD2478 /* Doit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE8E1EF0475E00AD2478 /* Doit.cpp */; }; + 29A8E8C41EF0476400AD2478 /* Doit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE8E1EF0475E00AD2478 /* Doit.cpp */; }; + 29A8E8C51EF0476400AD2478 /* Doit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE8E1EF0475E00AD2478 /* Doit.cpp */; }; + 29A8E8C61EF0476400AD2478 /* Doit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE8E1EF0475E00AD2478 /* Doit.cpp */; }; + 29A8E8CD1EF0476400AD2478 /* Dot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE901EF0475E00AD2478 /* Dot.cpp */; }; + 29A8E8CE1EF0476400AD2478 /* Dot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE901EF0475E00AD2478 /* Dot.cpp */; }; + 29A8E8CF1EF0476400AD2478 /* Dot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE901EF0475E00AD2478 /* Dot.cpp */; }; + 29A8E8D01EF0476400AD2478 /* Dot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE901EF0475E00AD2478 /* Dot.cpp */; }; + 29A8E8D71EF0476400AD2478 /* Double.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE921EF0475E00AD2478 /* Double.cpp */; }; + 29A8E8D81EF0476400AD2478 /* Double.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE921EF0475E00AD2478 /* Double.cpp */; }; + 29A8E8D91EF0476400AD2478 /* Double.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE921EF0475E00AD2478 /* Double.cpp */; }; + 29A8E8DA1EF0476400AD2478 /* Double.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE921EF0475E00AD2478 /* Double.cpp */; }; + 29A8E8E11EF0476400AD2478 /* DoubleTongue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE941EF0475E00AD2478 /* DoubleTongue.cpp */; }; + 29A8E8E21EF0476400AD2478 /* DoubleTongue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE941EF0475E00AD2478 /* DoubleTongue.cpp */; }; + 29A8E8E31EF0476400AD2478 /* DoubleTongue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE941EF0475E00AD2478 /* DoubleTongue.cpp */; }; + 29A8E8E41EF0476400AD2478 /* DoubleTongue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE941EF0475E00AD2478 /* DoubleTongue.cpp */; }; + 29A8E8EB1EF0476400AD2478 /* DownBow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE961EF0475E00AD2478 /* DownBow.cpp */; }; + 29A8E8EC1EF0476400AD2478 /* DownBow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE961EF0475E00AD2478 /* DownBow.cpp */; }; + 29A8E8ED1EF0476400AD2478 /* DownBow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE961EF0475E00AD2478 /* DownBow.cpp */; }; + 29A8E8EE1EF0476400AD2478 /* DownBow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE961EF0475E00AD2478 /* DownBow.cpp */; }; + 29A8E8F51EF0476400AD2478 /* Duration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE981EF0475E00AD2478 /* Duration.cpp */; }; + 29A8E8F61EF0476400AD2478 /* Duration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE981EF0475E00AD2478 /* Duration.cpp */; }; + 29A8E8F71EF0476400AD2478 /* Duration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE981EF0475E00AD2478 /* Duration.cpp */; }; + 29A8E8F81EF0476400AD2478 /* Duration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE981EF0475E00AD2478 /* Duration.cpp */; }; + 29A8E8FF1EF0476400AD2478 /* Dynamics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE9A1EF0475E00AD2478 /* Dynamics.cpp */; }; + 29A8E9001EF0476400AD2478 /* Dynamics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE9A1EF0475E00AD2478 /* Dynamics.cpp */; }; + 29A8E9011EF0476400AD2478 /* Dynamics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE9A1EF0475E00AD2478 /* Dynamics.cpp */; }; + 29A8E9021EF0476400AD2478 /* Dynamics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE9A1EF0475E00AD2478 /* Dynamics.cpp */; }; + 29A8E9091EF0476400AD2478 /* DynamicsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE9C1EF0475E00AD2478 /* DynamicsAttributes.cpp */; }; + 29A8E90A1EF0476400AD2478 /* DynamicsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE9C1EF0475E00AD2478 /* DynamicsAttributes.cpp */; }; + 29A8E90B1EF0476400AD2478 /* DynamicsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE9C1EF0475E00AD2478 /* DynamicsAttributes.cpp */; }; + 29A8E90C1EF0476400AD2478 /* DynamicsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE9C1EF0475E00AD2478 /* DynamicsAttributes.cpp */; }; + 29A8E9131EF0476400AD2478 /* EditorialGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE9E1EF0475E00AD2478 /* EditorialGroup.cpp */; }; + 29A8E9141EF0476400AD2478 /* EditorialGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE9E1EF0475E00AD2478 /* EditorialGroup.cpp */; }; + 29A8E9151EF0476400AD2478 /* EditorialGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE9E1EF0475E00AD2478 /* EditorialGroup.cpp */; }; + 29A8E9161EF0476400AD2478 /* EditorialGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE9E1EF0475E00AD2478 /* EditorialGroup.cpp */; }; + 29A8E91D1EF0476400AD2478 /* EditorialVoiceDirectionGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEA01EF0475E00AD2478 /* EditorialVoiceDirectionGroup.cpp */; }; + 29A8E91E1EF0476400AD2478 /* EditorialVoiceDirectionGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEA01EF0475E00AD2478 /* EditorialVoiceDirectionGroup.cpp */; }; + 29A8E91F1EF0476400AD2478 /* EditorialVoiceDirectionGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEA01EF0475E00AD2478 /* EditorialVoiceDirectionGroup.cpp */; }; + 29A8E9201EF0476400AD2478 /* EditorialVoiceDirectionGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEA01EF0475E00AD2478 /* EditorialVoiceDirectionGroup.cpp */; }; + 29A8E9271EF0476400AD2478 /* EditorialVoiceGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEA21EF0475E00AD2478 /* EditorialVoiceGroup.cpp */; }; + 29A8E9281EF0476400AD2478 /* EditorialVoiceGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEA21EF0475E00AD2478 /* EditorialVoiceGroup.cpp */; }; + 29A8E9291EF0476400AD2478 /* EditorialVoiceGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEA21EF0475E00AD2478 /* EditorialVoiceGroup.cpp */; }; + 29A8E92A1EF0476400AD2478 /* EditorialVoiceGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEA21EF0475E00AD2478 /* EditorialVoiceGroup.cpp */; }; + 29A8E9311EF0476400AD2478 /* Effect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEA41EF0475E00AD2478 /* Effect.cpp */; }; + 29A8E9321EF0476400AD2478 /* Effect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEA41EF0475E00AD2478 /* Effect.cpp */; }; + 29A8E9331EF0476400AD2478 /* Effect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEA41EF0475E00AD2478 /* Effect.cpp */; }; + 29A8E9341EF0476400AD2478 /* Effect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEA41EF0475E00AD2478 /* Effect.cpp */; }; + 29A8E93B1EF0476400AD2478 /* Elevation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEA61EF0475E00AD2478 /* Elevation.cpp */; }; + 29A8E93C1EF0476400AD2478 /* Elevation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEA61EF0475E00AD2478 /* Elevation.cpp */; }; + 29A8E93D1EF0476400AD2478 /* Elevation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEA61EF0475E00AD2478 /* Elevation.cpp */; }; + 29A8E93E1EF0476400AD2478 /* Elevation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEA61EF0475E00AD2478 /* Elevation.cpp */; }; + 29A8E9451EF0476400AD2478 /* Elision.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEA81EF0475E00AD2478 /* Elision.cpp */; }; + 29A8E9461EF0476400AD2478 /* Elision.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEA81EF0475E00AD2478 /* Elision.cpp */; }; + 29A8E9471EF0476400AD2478 /* Elision.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEA81EF0475E00AD2478 /* Elision.cpp */; }; + 29A8E9481EF0476400AD2478 /* Elision.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEA81EF0475E00AD2478 /* Elision.cpp */; }; + 29A8E94F1EF0476400AD2478 /* ElisionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEAA1EF0475E00AD2478 /* ElisionAttributes.cpp */; }; + 29A8E9501EF0476400AD2478 /* ElisionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEAA1EF0475E00AD2478 /* ElisionAttributes.cpp */; }; + 29A8E9511EF0476400AD2478 /* ElisionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEAA1EF0475E00AD2478 /* ElisionAttributes.cpp */; }; + 29A8E9521EF0476400AD2478 /* ElisionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEAA1EF0475E00AD2478 /* ElisionAttributes.cpp */; }; + 29A8E9591EF0476400AD2478 /* ElisionSyllabicGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEAC1EF0475E00AD2478 /* ElisionSyllabicGroup.cpp */; }; + 29A8E95A1EF0476400AD2478 /* ElisionSyllabicGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEAC1EF0475E00AD2478 /* ElisionSyllabicGroup.cpp */; }; + 29A8E95B1EF0476400AD2478 /* ElisionSyllabicGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEAC1EF0475E00AD2478 /* ElisionSyllabicGroup.cpp */; }; + 29A8E95C1EF0476400AD2478 /* ElisionSyllabicGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEAC1EF0475E00AD2478 /* ElisionSyllabicGroup.cpp */; }; + 29A8E9631EF0476400AD2478 /* ElisionSyllabicTextGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEAE1EF0475E00AD2478 /* ElisionSyllabicTextGroup.cpp */; }; + 29A8E9641EF0476400AD2478 /* ElisionSyllabicTextGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEAE1EF0475E00AD2478 /* ElisionSyllabicTextGroup.cpp */; }; + 29A8E9651EF0476400AD2478 /* ElisionSyllabicTextGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEAE1EF0475E00AD2478 /* ElisionSyllabicTextGroup.cpp */; }; + 29A8E9661EF0476400AD2478 /* ElisionSyllabicTextGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEAE1EF0475E00AD2478 /* ElisionSyllabicTextGroup.cpp */; }; + 29A8E96D1EF0476400AD2478 /* EmptyFontAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEB01EF0475E00AD2478 /* EmptyFontAttributes.cpp */; }; + 29A8E96E1EF0476400AD2478 /* EmptyFontAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEB01EF0475E00AD2478 /* EmptyFontAttributes.cpp */; }; + 29A8E96F1EF0476400AD2478 /* EmptyFontAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEB01EF0475E00AD2478 /* EmptyFontAttributes.cpp */; }; + 29A8E9701EF0476400AD2478 /* EmptyFontAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEB01EF0475E00AD2478 /* EmptyFontAttributes.cpp */; }; + 29A8E9771EF0476400AD2478 /* EmptyLineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEB21EF0475E00AD2478 /* EmptyLineAttributes.cpp */; }; + 29A8E9781EF0476400AD2478 /* EmptyLineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEB21EF0475E00AD2478 /* EmptyLineAttributes.cpp */; }; + 29A8E9791EF0476400AD2478 /* EmptyLineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEB21EF0475E00AD2478 /* EmptyLineAttributes.cpp */; }; + 29A8E97A1EF0476400AD2478 /* EmptyLineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEB21EF0475E00AD2478 /* EmptyLineAttributes.cpp */; }; + 29A8E9811EF0476400AD2478 /* EmptyPlacementAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEB41EF0475E00AD2478 /* EmptyPlacementAttributes.cpp */; }; + 29A8E9821EF0476400AD2478 /* EmptyPlacementAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEB41EF0475E00AD2478 /* EmptyPlacementAttributes.cpp */; }; + 29A8E9831EF0476400AD2478 /* EmptyPlacementAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEB41EF0475E00AD2478 /* EmptyPlacementAttributes.cpp */; }; + 29A8E9841EF0476400AD2478 /* EmptyPlacementAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEB41EF0475E00AD2478 /* EmptyPlacementAttributes.cpp */; }; + 29A8E98B1EF0476400AD2478 /* EmptyTrillSoundAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEB61EF0475E00AD2478 /* EmptyTrillSoundAttributes.cpp */; }; + 29A8E98C1EF0476400AD2478 /* EmptyTrillSoundAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEB61EF0475E00AD2478 /* EmptyTrillSoundAttributes.cpp */; }; + 29A8E98D1EF0476400AD2478 /* EmptyTrillSoundAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEB61EF0475E00AD2478 /* EmptyTrillSoundAttributes.cpp */; }; + 29A8E98E1EF0476400AD2478 /* EmptyTrillSoundAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEB61EF0475E00AD2478 /* EmptyTrillSoundAttributes.cpp */; }; + 29A8E9951EF0476400AD2478 /* Encoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEB81EF0475E00AD2478 /* Encoder.cpp */; }; + 29A8E9961EF0476400AD2478 /* Encoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEB81EF0475E00AD2478 /* Encoder.cpp */; }; + 29A8E9971EF0476400AD2478 /* Encoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEB81EF0475E00AD2478 /* Encoder.cpp */; }; + 29A8E9981EF0476400AD2478 /* Encoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEB81EF0475E00AD2478 /* Encoder.cpp */; }; + 29A8E99F1EF0476400AD2478 /* EncoderAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEBA1EF0475E00AD2478 /* EncoderAttributes.cpp */; }; + 29A8E9A01EF0476400AD2478 /* EncoderAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEBA1EF0475E00AD2478 /* EncoderAttributes.cpp */; }; + 29A8E9A11EF0476400AD2478 /* EncoderAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEBA1EF0475E00AD2478 /* EncoderAttributes.cpp */; }; + 29A8E9A21EF0476400AD2478 /* EncoderAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEBA1EF0475E00AD2478 /* EncoderAttributes.cpp */; }; + 29A8E9A91EF0476400AD2478 /* Encoding.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEBC1EF0475E00AD2478 /* Encoding.cpp */; }; + 29A8E9AA1EF0476400AD2478 /* Encoding.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEBC1EF0475E00AD2478 /* Encoding.cpp */; }; + 29A8E9AB1EF0476400AD2478 /* Encoding.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEBC1EF0475E00AD2478 /* Encoding.cpp */; }; + 29A8E9AC1EF0476400AD2478 /* Encoding.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEBC1EF0475E00AD2478 /* Encoding.cpp */; }; + 29A8E9B31EF0476400AD2478 /* EncodingChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEBE1EF0475E00AD2478 /* EncodingChoice.cpp */; }; + 29A8E9B41EF0476400AD2478 /* EncodingChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEBE1EF0475E00AD2478 /* EncodingChoice.cpp */; }; + 29A8E9B51EF0476400AD2478 /* EncodingChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEBE1EF0475E00AD2478 /* EncodingChoice.cpp */; }; + 29A8E9B61EF0476400AD2478 /* EncodingChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEBE1EF0475E00AD2478 /* EncodingChoice.cpp */; }; + 29A8E9BD1EF0476400AD2478 /* EncodingDate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEC01EF0475E00AD2478 /* EncodingDate.cpp */; }; + 29A8E9BE1EF0476400AD2478 /* EncodingDate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEC01EF0475E00AD2478 /* EncodingDate.cpp */; }; + 29A8E9BF1EF0476400AD2478 /* EncodingDate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEC01EF0475E00AD2478 /* EncodingDate.cpp */; }; + 29A8E9C01EF0476400AD2478 /* EncodingDate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEC01EF0475E00AD2478 /* EncodingDate.cpp */; }; + 29A8E9C71EF0476400AD2478 /* EncodingDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEC21EF0475E00AD2478 /* EncodingDescription.cpp */; }; + 29A8E9C81EF0476400AD2478 /* EncodingDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEC21EF0475E00AD2478 /* EncodingDescription.cpp */; }; + 29A8E9C91EF0476400AD2478 /* EncodingDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEC21EF0475E00AD2478 /* EncodingDescription.cpp */; }; + 29A8E9CA1EF0476400AD2478 /* EncodingDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEC21EF0475E00AD2478 /* EncodingDescription.cpp */; }; + 29A8E9D11EF0476500AD2478 /* Ending.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEC41EF0475E00AD2478 /* Ending.cpp */; }; + 29A8E9D21EF0476500AD2478 /* Ending.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEC41EF0475E00AD2478 /* Ending.cpp */; }; + 29A8E9D31EF0476500AD2478 /* Ending.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEC41EF0475E00AD2478 /* Ending.cpp */; }; + 29A8E9D41EF0476500AD2478 /* Ending.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEC41EF0475E00AD2478 /* Ending.cpp */; }; + 29A8E9DB1EF0476500AD2478 /* EndingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEC61EF0475E00AD2478 /* EndingAttributes.cpp */; }; + 29A8E9DC1EF0476500AD2478 /* EndingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEC61EF0475E00AD2478 /* EndingAttributes.cpp */; }; + 29A8E9DD1EF0476500AD2478 /* EndingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEC61EF0475E00AD2478 /* EndingAttributes.cpp */; }; + 29A8E9DE1EF0476500AD2478 /* EndingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEC61EF0475E00AD2478 /* EndingAttributes.cpp */; }; + 29A8E9E51EF0476500AD2478 /* EndLine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEC81EF0475E00AD2478 /* EndLine.cpp */; }; + 29A8E9E61EF0476500AD2478 /* EndLine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEC81EF0475E00AD2478 /* EndLine.cpp */; }; + 29A8E9E71EF0476500AD2478 /* EndLine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEC81EF0475E00AD2478 /* EndLine.cpp */; }; + 29A8E9E81EF0476500AD2478 /* EndLine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEC81EF0475E00AD2478 /* EndLine.cpp */; }; + 29A8E9EF1EF0476500AD2478 /* EndParagraph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DECA1EF0475E00AD2478 /* EndParagraph.cpp */; }; + 29A8E9F01EF0476500AD2478 /* EndParagraph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DECA1EF0475E00AD2478 /* EndParagraph.cpp */; }; + 29A8E9F11EF0476500AD2478 /* EndParagraph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DECA1EF0475E00AD2478 /* EndParagraph.cpp */; }; + 29A8E9F21EF0476500AD2478 /* EndParagraph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DECA1EF0475E00AD2478 /* EndParagraph.cpp */; }; + 29A8E9F91EF0476500AD2478 /* Ensemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DECC1EF0475E00AD2478 /* Ensemble.cpp */; }; + 29A8E9FA1EF0476500AD2478 /* Ensemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DECC1EF0475E00AD2478 /* Ensemble.cpp */; }; + 29A8E9FB1EF0476500AD2478 /* Ensemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DECC1EF0475E00AD2478 /* Ensemble.cpp */; }; + 29A8E9FC1EF0476500AD2478 /* Ensemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DECC1EF0475E00AD2478 /* Ensemble.cpp */; }; + 29A8EA031EF0476500AD2478 /* Extend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DECE1EF0475E00AD2478 /* Extend.cpp */; }; + 29A8EA041EF0476500AD2478 /* Extend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DECE1EF0475E00AD2478 /* Extend.cpp */; }; + 29A8EA051EF0476500AD2478 /* Extend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DECE1EF0475E00AD2478 /* Extend.cpp */; }; + 29A8EA061EF0476500AD2478 /* Extend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DECE1EF0475E00AD2478 /* Extend.cpp */; }; + 29A8EA0D1EF0476500AD2478 /* ExtendAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DED01EF0475E00AD2478 /* ExtendAttributes.cpp */; }; + 29A8EA0E1EF0476500AD2478 /* ExtendAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DED01EF0475E00AD2478 /* ExtendAttributes.cpp */; }; + 29A8EA0F1EF0476500AD2478 /* ExtendAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DED01EF0475E00AD2478 /* ExtendAttributes.cpp */; }; + 29A8EA101EF0476500AD2478 /* ExtendAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DED01EF0475E00AD2478 /* ExtendAttributes.cpp */; }; + 29A8EA171EF0476500AD2478 /* Eyeglasses.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DED21EF0475E00AD2478 /* Eyeglasses.cpp */; }; + 29A8EA181EF0476500AD2478 /* Eyeglasses.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DED21EF0475E00AD2478 /* Eyeglasses.cpp */; }; + 29A8EA191EF0476500AD2478 /* Eyeglasses.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DED21EF0475E00AD2478 /* Eyeglasses.cpp */; }; + 29A8EA1A1EF0476500AD2478 /* Eyeglasses.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DED21EF0475E00AD2478 /* Eyeglasses.cpp */; }; + 29A8EA211EF0476500AD2478 /* Falloff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DED41EF0475E00AD2478 /* Falloff.cpp */; }; + 29A8EA221EF0476500AD2478 /* Falloff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DED41EF0475E00AD2478 /* Falloff.cpp */; }; + 29A8EA231EF0476500AD2478 /* Falloff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DED41EF0475E00AD2478 /* Falloff.cpp */; }; + 29A8EA241EF0476500AD2478 /* Falloff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DED41EF0475E00AD2478 /* Falloff.cpp */; }; + 29A8EA2B1EF0476500AD2478 /* Feature.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DED61EF0475E00AD2478 /* Feature.cpp */; }; + 29A8EA2C1EF0476500AD2478 /* Feature.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DED61EF0475E00AD2478 /* Feature.cpp */; }; + 29A8EA2D1EF0476500AD2478 /* Feature.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DED61EF0475E00AD2478 /* Feature.cpp */; }; + 29A8EA2E1EF0476500AD2478 /* Feature.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DED61EF0475E00AD2478 /* Feature.cpp */; }; + 29A8EA351EF0476500AD2478 /* FeatureAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DED81EF0475E00AD2478 /* FeatureAttributes.cpp */; }; + 29A8EA361EF0476500AD2478 /* FeatureAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DED81EF0475E00AD2478 /* FeatureAttributes.cpp */; }; + 29A8EA371EF0476500AD2478 /* FeatureAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DED81EF0475E00AD2478 /* FeatureAttributes.cpp */; }; + 29A8EA381EF0476500AD2478 /* FeatureAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DED81EF0475E00AD2478 /* FeatureAttributes.cpp */; }; + 29A8EA3F1EF0476500AD2478 /* Fermata.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEDA1EF0475E00AD2478 /* Fermata.cpp */; }; + 29A8EA401EF0476500AD2478 /* Fermata.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEDA1EF0475E00AD2478 /* Fermata.cpp */; }; + 29A8EA411EF0476500AD2478 /* Fermata.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEDA1EF0475E00AD2478 /* Fermata.cpp */; }; + 29A8EA421EF0476500AD2478 /* Fermata.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEDA1EF0475E00AD2478 /* Fermata.cpp */; }; + 29A8EA491EF0476500AD2478 /* FermataAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEDC1EF0475E00AD2478 /* FermataAttributes.cpp */; }; + 29A8EA4A1EF0476500AD2478 /* FermataAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEDC1EF0475E00AD2478 /* FermataAttributes.cpp */; }; + 29A8EA4B1EF0476500AD2478 /* FermataAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEDC1EF0475E00AD2478 /* FermataAttributes.cpp */; }; + 29A8EA4C1EF0476500AD2478 /* FermataAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEDC1EF0475E00AD2478 /* FermataAttributes.cpp */; }; + 29A8EA531EF0476500AD2478 /* Fifths.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEDE1EF0475E00AD2478 /* Fifths.cpp */; }; + 29A8EA541EF0476500AD2478 /* Fifths.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEDE1EF0475E00AD2478 /* Fifths.cpp */; }; + 29A8EA551EF0476500AD2478 /* Fifths.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEDE1EF0475E00AD2478 /* Fifths.cpp */; }; + 29A8EA561EF0476500AD2478 /* Fifths.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEDE1EF0475E00AD2478 /* Fifths.cpp */; }; + 29A8EA5D1EF0476500AD2478 /* Figure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEE01EF0475E00AD2478 /* Figure.cpp */; }; + 29A8EA5E1EF0476500AD2478 /* Figure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEE01EF0475E00AD2478 /* Figure.cpp */; }; + 29A8EA5F1EF0476500AD2478 /* Figure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEE01EF0475E00AD2478 /* Figure.cpp */; }; + 29A8EA601EF0476500AD2478 /* Figure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEE01EF0475E00AD2478 /* Figure.cpp */; }; + 29A8EA671EF0476500AD2478 /* FiguredBass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEE21EF0475E00AD2478 /* FiguredBass.cpp */; }; + 29A8EA681EF0476500AD2478 /* FiguredBass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEE21EF0475E00AD2478 /* FiguredBass.cpp */; }; + 29A8EA691EF0476500AD2478 /* FiguredBass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEE21EF0475E00AD2478 /* FiguredBass.cpp */; }; + 29A8EA6A1EF0476500AD2478 /* FiguredBass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEE21EF0475E00AD2478 /* FiguredBass.cpp */; }; + 29A8EA711EF0476500AD2478 /* FiguredBassAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEE41EF0475E00AD2478 /* FiguredBassAttributes.cpp */; }; + 29A8EA721EF0476500AD2478 /* FiguredBassAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEE41EF0475E00AD2478 /* FiguredBassAttributes.cpp */; }; + 29A8EA731EF0476500AD2478 /* FiguredBassAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEE41EF0475E00AD2478 /* FiguredBassAttributes.cpp */; }; + 29A8EA741EF0476500AD2478 /* FiguredBassAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEE41EF0475E00AD2478 /* FiguredBassAttributes.cpp */; }; + 29A8EA7B1EF0476500AD2478 /* FigureNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEE61EF0475E00AD2478 /* FigureNumber.cpp */; }; + 29A8EA7C1EF0476500AD2478 /* FigureNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEE61EF0475E00AD2478 /* FigureNumber.cpp */; }; + 29A8EA7D1EF0476500AD2478 /* FigureNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEE61EF0475E00AD2478 /* FigureNumber.cpp */; }; + 29A8EA7E1EF0476500AD2478 /* FigureNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEE61EF0475E00AD2478 /* FigureNumber.cpp */; }; + 29A8EA851EF0476500AD2478 /* FigureNumberAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEE81EF0475E00AD2478 /* FigureNumberAttributes.cpp */; }; + 29A8EA861EF0476500AD2478 /* FigureNumberAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEE81EF0475E00AD2478 /* FigureNumberAttributes.cpp */; }; + 29A8EA871EF0476500AD2478 /* FigureNumberAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEE81EF0475E00AD2478 /* FigureNumberAttributes.cpp */; }; + 29A8EA881EF0476500AD2478 /* FigureNumberAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEE81EF0475E00AD2478 /* FigureNumberAttributes.cpp */; }; + 29A8EA8F1EF0476500AD2478 /* Fingering.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEEA1EF0475E00AD2478 /* Fingering.cpp */; }; + 29A8EA901EF0476500AD2478 /* Fingering.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEEA1EF0475E00AD2478 /* Fingering.cpp */; }; + 29A8EA911EF0476500AD2478 /* Fingering.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEEA1EF0475E00AD2478 /* Fingering.cpp */; }; + 29A8EA921EF0476500AD2478 /* Fingering.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEEA1EF0475E00AD2478 /* Fingering.cpp */; }; + 29A8EA991EF0476500AD2478 /* FingeringAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEEC1EF0475E00AD2478 /* FingeringAttributes.cpp */; }; + 29A8EA9A1EF0476500AD2478 /* FingeringAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEEC1EF0475E00AD2478 /* FingeringAttributes.cpp */; }; + 29A8EA9B1EF0476500AD2478 /* FingeringAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEEC1EF0475E00AD2478 /* FingeringAttributes.cpp */; }; + 29A8EA9C1EF0476500AD2478 /* FingeringAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEEC1EF0475E00AD2478 /* FingeringAttributes.cpp */; }; + 29A8EAA31EF0476500AD2478 /* Fingernails.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEEE1EF0475E00AD2478 /* Fingernails.cpp */; }; + 29A8EAA41EF0476500AD2478 /* Fingernails.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEEE1EF0475E00AD2478 /* Fingernails.cpp */; }; + 29A8EAA51EF0476500AD2478 /* Fingernails.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEEE1EF0475E00AD2478 /* Fingernails.cpp */; }; + 29A8EAA61EF0476500AD2478 /* Fingernails.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEEE1EF0475E00AD2478 /* Fingernails.cpp */; }; + 29A8EAAD1EF0476500AD2478 /* FirstFret.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEF01EF0475E00AD2478 /* FirstFret.cpp */; }; + 29A8EAAE1EF0476500AD2478 /* FirstFret.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEF01EF0475E00AD2478 /* FirstFret.cpp */; }; + 29A8EAAF1EF0476500AD2478 /* FirstFret.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEF01EF0475E00AD2478 /* FirstFret.cpp */; }; + 29A8EAB01EF0476500AD2478 /* FirstFret.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEF01EF0475E00AD2478 /* FirstFret.cpp */; }; + 29A8EAB71EF0476500AD2478 /* FirstFretAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEF21EF0475E00AD2478 /* FirstFretAttributes.cpp */; }; + 29A8EAB81EF0476500AD2478 /* FirstFretAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEF21EF0475E00AD2478 /* FirstFretAttributes.cpp */; }; + 29A8EAB91EF0476500AD2478 /* FirstFretAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEF21EF0475E00AD2478 /* FirstFretAttributes.cpp */; }; + 29A8EABA1EF0476500AD2478 /* FirstFretAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEF21EF0475E00AD2478 /* FirstFretAttributes.cpp */; }; + 29A8EAC11EF0476500AD2478 /* Footnote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEF41EF0475E00AD2478 /* Footnote.cpp */; }; + 29A8EAC21EF0476500AD2478 /* Footnote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEF41EF0475E00AD2478 /* Footnote.cpp */; }; + 29A8EAC31EF0476500AD2478 /* Footnote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEF41EF0475E00AD2478 /* Footnote.cpp */; }; + 29A8EAC41EF0476500AD2478 /* Footnote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEF41EF0475E00AD2478 /* Footnote.cpp */; }; + 29A8EACB1EF0476500AD2478 /* FootnoteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEF61EF0475E00AD2478 /* FootnoteAttributes.cpp */; }; + 29A8EACC1EF0476500AD2478 /* FootnoteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEF61EF0475E00AD2478 /* FootnoteAttributes.cpp */; }; + 29A8EACD1EF0476500AD2478 /* FootnoteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEF61EF0475E00AD2478 /* FootnoteAttributes.cpp */; }; + 29A8EACE1EF0476500AD2478 /* FootnoteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEF61EF0475E00AD2478 /* FootnoteAttributes.cpp */; }; + 29A8EAD51EF0476500AD2478 /* Forward.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEF81EF0475E00AD2478 /* Forward.cpp */; }; + 29A8EAD61EF0476500AD2478 /* Forward.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEF81EF0475E00AD2478 /* Forward.cpp */; }; + 29A8EAD71EF0476500AD2478 /* Forward.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEF81EF0475E00AD2478 /* Forward.cpp */; }; + 29A8EAD81EF0476500AD2478 /* Forward.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEF81EF0475E00AD2478 /* Forward.cpp */; }; + 29A8EADF1EF0476500AD2478 /* Frame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEFA1EF0475E00AD2478 /* Frame.cpp */; }; + 29A8EAE01EF0476500AD2478 /* Frame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEFA1EF0475E00AD2478 /* Frame.cpp */; }; + 29A8EAE11EF0476500AD2478 /* Frame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEFA1EF0475E00AD2478 /* Frame.cpp */; }; + 29A8EAE21EF0476500AD2478 /* Frame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEFA1EF0475E00AD2478 /* Frame.cpp */; }; + 29A8EAE91EF0476500AD2478 /* FrameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEFC1EF0475E00AD2478 /* FrameAttributes.cpp */; }; + 29A8EAEA1EF0476500AD2478 /* FrameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEFC1EF0475E00AD2478 /* FrameAttributes.cpp */; }; + 29A8EAEB1EF0476500AD2478 /* FrameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEFC1EF0475E00AD2478 /* FrameAttributes.cpp */; }; + 29A8EAEC1EF0476500AD2478 /* FrameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEFC1EF0475E00AD2478 /* FrameAttributes.cpp */; }; + 29A8EAF31EF0476500AD2478 /* FrameFrets.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEFE1EF0475E00AD2478 /* FrameFrets.cpp */; }; + 29A8EAF41EF0476500AD2478 /* FrameFrets.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEFE1EF0475E00AD2478 /* FrameFrets.cpp */; }; + 29A8EAF51EF0476500AD2478 /* FrameFrets.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEFE1EF0475E00AD2478 /* FrameFrets.cpp */; }; + 29A8EAF61EF0476500AD2478 /* FrameFrets.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEFE1EF0475E00AD2478 /* FrameFrets.cpp */; }; + 29A8EAFD1EF0476500AD2478 /* FrameNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF001EF0475E00AD2478 /* FrameNote.cpp */; }; + 29A8EAFE1EF0476500AD2478 /* FrameNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF001EF0475E00AD2478 /* FrameNote.cpp */; }; + 29A8EAFF1EF0476500AD2478 /* FrameNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF001EF0475E00AD2478 /* FrameNote.cpp */; }; + 29A8EB001EF0476500AD2478 /* FrameNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF001EF0475E00AD2478 /* FrameNote.cpp */; }; + 29A8EB071EF0476500AD2478 /* FrameStrings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF021EF0475E00AD2478 /* FrameStrings.cpp */; }; + 29A8EB081EF0476500AD2478 /* FrameStrings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF021EF0475E00AD2478 /* FrameStrings.cpp */; }; + 29A8EB091EF0476500AD2478 /* FrameStrings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF021EF0475E00AD2478 /* FrameStrings.cpp */; }; + 29A8EB0A1EF0476500AD2478 /* FrameStrings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF021EF0475E00AD2478 /* FrameStrings.cpp */; }; + 29A8EB111EF0476500AD2478 /* Fret.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF041EF0475E00AD2478 /* Fret.cpp */; }; + 29A8EB121EF0476500AD2478 /* Fret.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF041EF0475E00AD2478 /* Fret.cpp */; }; + 29A8EB131EF0476500AD2478 /* Fret.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF041EF0475E00AD2478 /* Fret.cpp */; }; + 29A8EB141EF0476500AD2478 /* Fret.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF041EF0475E00AD2478 /* Fret.cpp */; }; + 29A8EB1B1EF0476500AD2478 /* FretAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF061EF0475E00AD2478 /* FretAttributes.cpp */; }; + 29A8EB1C1EF0476500AD2478 /* FretAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF061EF0475E00AD2478 /* FretAttributes.cpp */; }; + 29A8EB1D1EF0476500AD2478 /* FretAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF061EF0475E00AD2478 /* FretAttributes.cpp */; }; + 29A8EB1E1EF0476500AD2478 /* FretAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF061EF0475E00AD2478 /* FretAttributes.cpp */; }; + 29A8EB251EF0476500AD2478 /* FullNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF081EF0475E00AD2478 /* FullNoteGroup.cpp */; }; + 29A8EB261EF0476500AD2478 /* FullNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF081EF0475E00AD2478 /* FullNoteGroup.cpp */; }; + 29A8EB271EF0476500AD2478 /* FullNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF081EF0475E00AD2478 /* FullNoteGroup.cpp */; }; + 29A8EB281EF0476500AD2478 /* FullNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF081EF0475E00AD2478 /* FullNoteGroup.cpp */; }; + 29A8EB2F1EF0476500AD2478 /* FullNoteTypeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF0A1EF0475E00AD2478 /* FullNoteTypeChoice.cpp */; }; + 29A8EB301EF0476500AD2478 /* FullNoteTypeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF0A1EF0475E00AD2478 /* FullNoteTypeChoice.cpp */; }; + 29A8EB311EF0476500AD2478 /* FullNoteTypeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF0A1EF0475E00AD2478 /* FullNoteTypeChoice.cpp */; }; + 29A8EB321EF0476500AD2478 /* FullNoteTypeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF0A1EF0475E00AD2478 /* FullNoteTypeChoice.cpp */; }; + 29A8EB391EF0476500AD2478 /* Function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF0C1EF0475E00AD2478 /* Function.cpp */; }; + 29A8EB3A1EF0476500AD2478 /* Function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF0C1EF0475E00AD2478 /* Function.cpp */; }; + 29A8EB3B1EF0476500AD2478 /* Function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF0C1EF0475E00AD2478 /* Function.cpp */; }; + 29A8EB3C1EF0476500AD2478 /* Function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF0C1EF0475E00AD2478 /* Function.cpp */; }; + 29A8EB431EF0476500AD2478 /* FunctionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF0E1EF0475E00AD2478 /* FunctionAttributes.cpp */; }; + 29A8EB441EF0476500AD2478 /* FunctionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF0E1EF0475E00AD2478 /* FunctionAttributes.cpp */; }; + 29A8EB451EF0476500AD2478 /* FunctionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF0E1EF0475E00AD2478 /* FunctionAttributes.cpp */; }; + 29A8EB461EF0476500AD2478 /* FunctionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF0E1EF0475E00AD2478 /* FunctionAttributes.cpp */; }; + 29A8EB4D1EF0476500AD2478 /* Glass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF101EF0475E00AD2478 /* Glass.cpp */; }; + 29A8EB4E1EF0476500AD2478 /* Glass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF101EF0475E00AD2478 /* Glass.cpp */; }; + 29A8EB4F1EF0476500AD2478 /* Glass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF101EF0475E00AD2478 /* Glass.cpp */; }; + 29A8EB501EF0476500AD2478 /* Glass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF101EF0475E00AD2478 /* Glass.cpp */; }; + 29A8EB571EF0476500AD2478 /* Glissando.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF121EF0475E00AD2478 /* Glissando.cpp */; }; + 29A8EB581EF0476500AD2478 /* Glissando.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF121EF0475E00AD2478 /* Glissando.cpp */; }; + 29A8EB591EF0476500AD2478 /* Glissando.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF121EF0475E00AD2478 /* Glissando.cpp */; }; + 29A8EB5A1EF0476500AD2478 /* Glissando.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF121EF0475E00AD2478 /* Glissando.cpp */; }; + 29A8EB611EF0476500AD2478 /* GlissandoAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF141EF0475E00AD2478 /* GlissandoAttributes.cpp */; }; + 29A8EB621EF0476500AD2478 /* GlissandoAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF141EF0475E00AD2478 /* GlissandoAttributes.cpp */; }; + 29A8EB631EF0476500AD2478 /* GlissandoAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF141EF0475E00AD2478 /* GlissandoAttributes.cpp */; }; + 29A8EB641EF0476500AD2478 /* GlissandoAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF141EF0475E00AD2478 /* GlissandoAttributes.cpp */; }; + 29A8EB6B1EF0476500AD2478 /* Grace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF161EF0475E00AD2478 /* Grace.cpp */; }; + 29A8EB6C1EF0476500AD2478 /* Grace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF161EF0475E00AD2478 /* Grace.cpp */; }; + 29A8EB6D1EF0476500AD2478 /* Grace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF161EF0475E00AD2478 /* Grace.cpp */; }; + 29A8EB6E1EF0476500AD2478 /* Grace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF161EF0475E00AD2478 /* Grace.cpp */; }; + 29A8EB751EF0476500AD2478 /* GraceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF181EF0475E00AD2478 /* GraceAttributes.cpp */; }; + 29A8EB761EF0476500AD2478 /* GraceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF181EF0475E00AD2478 /* GraceAttributes.cpp */; }; + 29A8EB771EF0476500AD2478 /* GraceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF181EF0475E00AD2478 /* GraceAttributes.cpp */; }; + 29A8EB781EF0476500AD2478 /* GraceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF181EF0475E00AD2478 /* GraceAttributes.cpp */; }; + 29A8EB7F1EF0476500AD2478 /* GraceNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF1A1EF0475E00AD2478 /* GraceNoteGroup.cpp */; }; + 29A8EB801EF0476500AD2478 /* GraceNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF1A1EF0475E00AD2478 /* GraceNoteGroup.cpp */; }; + 29A8EB811EF0476500AD2478 /* GraceNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF1A1EF0475E00AD2478 /* GraceNoteGroup.cpp */; }; + 29A8EB821EF0476500AD2478 /* GraceNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF1A1EF0475E00AD2478 /* GraceNoteGroup.cpp */; }; + 29A8EB891EF0476500AD2478 /* Group.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF1C1EF0475E00AD2478 /* Group.cpp */; }; + 29A8EB8A1EF0476500AD2478 /* Group.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF1C1EF0475E00AD2478 /* Group.cpp */; }; + 29A8EB8B1EF0476500AD2478 /* Group.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF1C1EF0475E00AD2478 /* Group.cpp */; }; + 29A8EB8C1EF0476500AD2478 /* Group.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF1C1EF0475E00AD2478 /* Group.cpp */; }; + 29A8EB931EF0476500AD2478 /* GroupAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF1E1EF0475E00AD2478 /* GroupAbbreviation.cpp */; }; + 29A8EB941EF0476500AD2478 /* GroupAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF1E1EF0475E00AD2478 /* GroupAbbreviation.cpp */; }; + 29A8EB951EF0476500AD2478 /* GroupAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF1E1EF0475E00AD2478 /* GroupAbbreviation.cpp */; }; + 29A8EB961EF0476500AD2478 /* GroupAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF1E1EF0475E00AD2478 /* GroupAbbreviation.cpp */; }; + 29A8EB9D1EF0476500AD2478 /* GroupAbbreviationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF201EF0475E00AD2478 /* GroupAbbreviationAttributes.cpp */; }; + 29A8EB9E1EF0476500AD2478 /* GroupAbbreviationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF201EF0475E00AD2478 /* GroupAbbreviationAttributes.cpp */; }; + 29A8EB9F1EF0476500AD2478 /* GroupAbbreviationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF201EF0475E00AD2478 /* GroupAbbreviationAttributes.cpp */; }; + 29A8EBA01EF0476500AD2478 /* GroupAbbreviationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF201EF0475E00AD2478 /* GroupAbbreviationAttributes.cpp */; }; + 29A8EBA71EF0476500AD2478 /* GroupAbbreviationDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF221EF0475E00AD2478 /* GroupAbbreviationDisplay.cpp */; }; + 29A8EBA81EF0476500AD2478 /* GroupAbbreviationDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF221EF0475E00AD2478 /* GroupAbbreviationDisplay.cpp */; }; + 29A8EBA91EF0476500AD2478 /* GroupAbbreviationDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF221EF0475E00AD2478 /* GroupAbbreviationDisplay.cpp */; }; + 29A8EBAA1EF0476500AD2478 /* GroupAbbreviationDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF221EF0475E00AD2478 /* GroupAbbreviationDisplay.cpp */; }; + 29A8EBB11EF0476500AD2478 /* GroupAbbreviationDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF241EF0475E00AD2478 /* GroupAbbreviationDisplayAttributes.cpp */; }; + 29A8EBB21EF0476500AD2478 /* GroupAbbreviationDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF241EF0475E00AD2478 /* GroupAbbreviationDisplayAttributes.cpp */; }; + 29A8EBB31EF0476500AD2478 /* GroupAbbreviationDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF241EF0475E00AD2478 /* GroupAbbreviationDisplayAttributes.cpp */; }; + 29A8EBB41EF0476500AD2478 /* GroupAbbreviationDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF241EF0475E00AD2478 /* GroupAbbreviationDisplayAttributes.cpp */; }; + 29A8EBBB1EF0476500AD2478 /* GroupBarline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF261EF0475E00AD2478 /* GroupBarline.cpp */; }; + 29A8EBBC1EF0476500AD2478 /* GroupBarline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF261EF0475E00AD2478 /* GroupBarline.cpp */; }; + 29A8EBBD1EF0476500AD2478 /* GroupBarline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF261EF0475E00AD2478 /* GroupBarline.cpp */; }; + 29A8EBBE1EF0476500AD2478 /* GroupBarline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF261EF0475E00AD2478 /* GroupBarline.cpp */; }; + 29A8EBC51EF0476500AD2478 /* GroupBarlineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF281EF0475E00AD2478 /* GroupBarlineAttributes.cpp */; }; + 29A8EBC61EF0476500AD2478 /* GroupBarlineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF281EF0475E00AD2478 /* GroupBarlineAttributes.cpp */; }; + 29A8EBC71EF0476500AD2478 /* GroupBarlineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF281EF0475E00AD2478 /* GroupBarlineAttributes.cpp */; }; + 29A8EBC81EF0476500AD2478 /* GroupBarlineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF281EF0475E00AD2478 /* GroupBarlineAttributes.cpp */; }; + 29A8EBCF1EF0476500AD2478 /* Grouping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF2A1EF0475E00AD2478 /* Grouping.cpp */; }; + 29A8EBD01EF0476500AD2478 /* Grouping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF2A1EF0475E00AD2478 /* Grouping.cpp */; }; + 29A8EBD11EF0476500AD2478 /* Grouping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF2A1EF0475E00AD2478 /* Grouping.cpp */; }; + 29A8EBD21EF0476500AD2478 /* Grouping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF2A1EF0475E00AD2478 /* Grouping.cpp */; }; + 29A8EBD91EF0476500AD2478 /* GroupingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF2C1EF0475E00AD2478 /* GroupingAttributes.cpp */; }; + 29A8EBDA1EF0476500AD2478 /* GroupingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF2C1EF0475E00AD2478 /* GroupingAttributes.cpp */; }; + 29A8EBDB1EF0476500AD2478 /* GroupingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF2C1EF0475E00AD2478 /* GroupingAttributes.cpp */; }; + 29A8EBDC1EF0476500AD2478 /* GroupingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF2C1EF0475E00AD2478 /* GroupingAttributes.cpp */; }; + 29A8EBE31EF0476500AD2478 /* GroupName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF2E1EF0475E00AD2478 /* GroupName.cpp */; }; + 29A8EBE41EF0476500AD2478 /* GroupName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF2E1EF0475E00AD2478 /* GroupName.cpp */; }; + 29A8EBE51EF0476500AD2478 /* GroupName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF2E1EF0475E00AD2478 /* GroupName.cpp */; }; + 29A8EBE61EF0476500AD2478 /* GroupName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF2E1EF0475E00AD2478 /* GroupName.cpp */; }; + 29A8EBED1EF0476500AD2478 /* GroupNameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF301EF0475E00AD2478 /* GroupNameAttributes.cpp */; }; + 29A8EBEE1EF0476500AD2478 /* GroupNameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF301EF0475E00AD2478 /* GroupNameAttributes.cpp */; }; + 29A8EBEF1EF0476500AD2478 /* GroupNameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF301EF0475E00AD2478 /* GroupNameAttributes.cpp */; }; + 29A8EBF01EF0476500AD2478 /* GroupNameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF301EF0475E00AD2478 /* GroupNameAttributes.cpp */; }; + 29A8EBF71EF0476500AD2478 /* GroupNameDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF321EF0475E00AD2478 /* GroupNameDisplay.cpp */; }; + 29A8EBF81EF0476500AD2478 /* GroupNameDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF321EF0475E00AD2478 /* GroupNameDisplay.cpp */; }; + 29A8EBF91EF0476500AD2478 /* GroupNameDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF321EF0475E00AD2478 /* GroupNameDisplay.cpp */; }; + 29A8EBFA1EF0476500AD2478 /* GroupNameDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF321EF0475E00AD2478 /* GroupNameDisplay.cpp */; }; + 29A8EC011EF0476500AD2478 /* GroupNameDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF341EF0475E00AD2478 /* GroupNameDisplayAttributes.cpp */; }; + 29A8EC021EF0476500AD2478 /* GroupNameDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF341EF0475E00AD2478 /* GroupNameDisplayAttributes.cpp */; }; + 29A8EC031EF0476500AD2478 /* GroupNameDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF341EF0475E00AD2478 /* GroupNameDisplayAttributes.cpp */; }; + 29A8EC041EF0476500AD2478 /* GroupNameDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF341EF0475E00AD2478 /* GroupNameDisplayAttributes.cpp */; }; + 29A8EC0B1EF0476500AD2478 /* GroupSymbol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF361EF0475E00AD2478 /* GroupSymbol.cpp */; }; + 29A8EC0C1EF0476500AD2478 /* GroupSymbol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF361EF0475E00AD2478 /* GroupSymbol.cpp */; }; + 29A8EC0D1EF0476500AD2478 /* GroupSymbol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF361EF0475E00AD2478 /* GroupSymbol.cpp */; }; + 29A8EC0E1EF0476500AD2478 /* GroupSymbol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF361EF0475E00AD2478 /* GroupSymbol.cpp */; }; + 29A8EC151EF0476500AD2478 /* GroupSymbolAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF381EF0475E00AD2478 /* GroupSymbolAttributes.cpp */; }; + 29A8EC161EF0476500AD2478 /* GroupSymbolAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF381EF0475E00AD2478 /* GroupSymbolAttributes.cpp */; }; + 29A8EC171EF0476500AD2478 /* GroupSymbolAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF381EF0475E00AD2478 /* GroupSymbolAttributes.cpp */; }; + 29A8EC181EF0476500AD2478 /* GroupSymbolAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF381EF0475E00AD2478 /* GroupSymbolAttributes.cpp */; }; + 29A8EC1F1EF0476500AD2478 /* GroupTime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF3A1EF0475E00AD2478 /* GroupTime.cpp */; }; + 29A8EC201EF0476500AD2478 /* GroupTime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF3A1EF0475E00AD2478 /* GroupTime.cpp */; }; + 29A8EC211EF0476500AD2478 /* GroupTime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF3A1EF0475E00AD2478 /* GroupTime.cpp */; }; + 29A8EC221EF0476500AD2478 /* GroupTime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF3A1EF0475E00AD2478 /* GroupTime.cpp */; }; + 29A8EC291EF0476500AD2478 /* HammerOn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF3C1EF0475E00AD2478 /* HammerOn.cpp */; }; + 29A8EC2A1EF0476500AD2478 /* HammerOn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF3C1EF0475E00AD2478 /* HammerOn.cpp */; }; + 29A8EC2B1EF0476500AD2478 /* HammerOn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF3C1EF0475E00AD2478 /* HammerOn.cpp */; }; + 29A8EC2C1EF0476500AD2478 /* HammerOn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF3C1EF0475E00AD2478 /* HammerOn.cpp */; }; + 29A8EC331EF0476500AD2478 /* HammerOnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF3E1EF0475E00AD2478 /* HammerOnAttributes.cpp */; }; + 29A8EC341EF0476500AD2478 /* HammerOnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF3E1EF0475E00AD2478 /* HammerOnAttributes.cpp */; }; + 29A8EC351EF0476500AD2478 /* HammerOnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF3E1EF0475E00AD2478 /* HammerOnAttributes.cpp */; }; + 29A8EC361EF0476500AD2478 /* HammerOnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF3E1EF0475E00AD2478 /* HammerOnAttributes.cpp */; }; + 29A8EC3D1EF0476500AD2478 /* Handbell.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF401EF0475E00AD2478 /* Handbell.cpp */; }; + 29A8EC3E1EF0476500AD2478 /* Handbell.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF401EF0475E00AD2478 /* Handbell.cpp */; }; + 29A8EC3F1EF0476500AD2478 /* Handbell.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF401EF0475E00AD2478 /* Handbell.cpp */; }; + 29A8EC401EF0476500AD2478 /* Handbell.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF401EF0475E00AD2478 /* Handbell.cpp */; }; + 29A8EC471EF0476500AD2478 /* HandbellAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF421EF0475E00AD2478 /* HandbellAttributes.cpp */; }; + 29A8EC481EF0476500AD2478 /* HandbellAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF421EF0475E00AD2478 /* HandbellAttributes.cpp */; }; + 29A8EC491EF0476500AD2478 /* HandbellAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF421EF0475E00AD2478 /* HandbellAttributes.cpp */; }; + 29A8EC4A1EF0476500AD2478 /* HandbellAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF421EF0475E00AD2478 /* HandbellAttributes.cpp */; }; + 29A8EC511EF0476500AD2478 /* Harmonic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF441EF0475E00AD2478 /* Harmonic.cpp */; }; + 29A8EC521EF0476500AD2478 /* Harmonic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF441EF0475E00AD2478 /* Harmonic.cpp */; }; + 29A8EC531EF0476500AD2478 /* Harmonic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF441EF0475E00AD2478 /* Harmonic.cpp */; }; + 29A8EC541EF0476500AD2478 /* Harmonic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF441EF0475E00AD2478 /* Harmonic.cpp */; }; + 29A8EC5B1EF0476500AD2478 /* HarmonicAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF461EF0475E00AD2478 /* HarmonicAttributes.cpp */; }; + 29A8EC5C1EF0476500AD2478 /* HarmonicAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF461EF0475E00AD2478 /* HarmonicAttributes.cpp */; }; + 29A8EC5D1EF0476500AD2478 /* HarmonicAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF461EF0475E00AD2478 /* HarmonicAttributes.cpp */; }; + 29A8EC5E1EF0476500AD2478 /* HarmonicAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF461EF0475E00AD2478 /* HarmonicAttributes.cpp */; }; + 29A8EC651EF0476500AD2478 /* HarmonicInfoChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF481EF0475E00AD2478 /* HarmonicInfoChoice.cpp */; }; + 29A8EC661EF0476500AD2478 /* HarmonicInfoChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF481EF0475E00AD2478 /* HarmonicInfoChoice.cpp */; }; + 29A8EC671EF0476500AD2478 /* HarmonicInfoChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF481EF0475E00AD2478 /* HarmonicInfoChoice.cpp */; }; + 29A8EC681EF0476500AD2478 /* HarmonicInfoChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF481EF0475E00AD2478 /* HarmonicInfoChoice.cpp */; }; + 29A8EC6F1EF0476500AD2478 /* HarmonicTypeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF4A1EF0475E00AD2478 /* HarmonicTypeChoice.cpp */; }; + 29A8EC701EF0476500AD2478 /* HarmonicTypeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF4A1EF0475E00AD2478 /* HarmonicTypeChoice.cpp */; }; + 29A8EC711EF0476500AD2478 /* HarmonicTypeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF4A1EF0475E00AD2478 /* HarmonicTypeChoice.cpp */; }; + 29A8EC721EF0476500AD2478 /* HarmonicTypeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF4A1EF0475E00AD2478 /* HarmonicTypeChoice.cpp */; }; + 29A8EC791EF0476500AD2478 /* Harmony.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF4C1EF0475E00AD2478 /* Harmony.cpp */; }; + 29A8EC7A1EF0476500AD2478 /* Harmony.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF4C1EF0475E00AD2478 /* Harmony.cpp */; }; + 29A8EC7B1EF0476500AD2478 /* Harmony.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF4C1EF0475E00AD2478 /* Harmony.cpp */; }; + 29A8EC7C1EF0476500AD2478 /* Harmony.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF4C1EF0475E00AD2478 /* Harmony.cpp */; }; + 29A8EC831EF0476500AD2478 /* HarmonyAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF4E1EF0475E00AD2478 /* HarmonyAttributes.cpp */; }; + 29A8EC841EF0476500AD2478 /* HarmonyAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF4E1EF0475E00AD2478 /* HarmonyAttributes.cpp */; }; + 29A8EC851EF0476500AD2478 /* HarmonyAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF4E1EF0475E00AD2478 /* HarmonyAttributes.cpp */; }; + 29A8EC861EF0476500AD2478 /* HarmonyAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF4E1EF0475E00AD2478 /* HarmonyAttributes.cpp */; }; + 29A8EC8D1EF0476500AD2478 /* HarmonyChordGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF501EF0475E00AD2478 /* HarmonyChordGroup.cpp */; }; + 29A8EC8E1EF0476600AD2478 /* HarmonyChordGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF501EF0475E00AD2478 /* HarmonyChordGroup.cpp */; }; + 29A8EC8F1EF0476600AD2478 /* HarmonyChordGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF501EF0475E00AD2478 /* HarmonyChordGroup.cpp */; }; + 29A8EC901EF0476600AD2478 /* HarmonyChordGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF501EF0475E00AD2478 /* HarmonyChordGroup.cpp */; }; + 29A8EC971EF0476600AD2478 /* HarpPedals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF521EF0475E00AD2478 /* HarpPedals.cpp */; }; + 29A8EC981EF0476600AD2478 /* HarpPedals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF521EF0475E00AD2478 /* HarpPedals.cpp */; }; + 29A8EC991EF0476600AD2478 /* HarpPedals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF521EF0475E00AD2478 /* HarpPedals.cpp */; }; + 29A8EC9A1EF0476600AD2478 /* HarpPedals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF521EF0475E00AD2478 /* HarpPedals.cpp */; }; + 29A8ECA11EF0476600AD2478 /* HarpPedalsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF541EF0475E00AD2478 /* HarpPedalsAttributes.cpp */; }; + 29A8ECA21EF0476600AD2478 /* HarpPedalsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF541EF0475E00AD2478 /* HarpPedalsAttributes.cpp */; }; + 29A8ECA31EF0476600AD2478 /* HarpPedalsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF541EF0475E00AD2478 /* HarpPedalsAttributes.cpp */; }; + 29A8ECA41EF0476600AD2478 /* HarpPedalsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF541EF0475E00AD2478 /* HarpPedalsAttributes.cpp */; }; + 29A8ECAB1EF0476600AD2478 /* Heel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF561EF0475E00AD2478 /* Heel.cpp */; }; + 29A8ECAC1EF0476600AD2478 /* Heel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF561EF0475E00AD2478 /* Heel.cpp */; }; + 29A8ECAD1EF0476600AD2478 /* Heel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF561EF0475E00AD2478 /* Heel.cpp */; }; + 29A8ECAE1EF0476600AD2478 /* Heel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF561EF0475E00AD2478 /* Heel.cpp */; }; + 29A8ECB51EF0476600AD2478 /* HeelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF581EF0475E00AD2478 /* HeelAttributes.cpp */; }; + 29A8ECB61EF0476600AD2478 /* HeelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF581EF0475E00AD2478 /* HeelAttributes.cpp */; }; + 29A8ECB71EF0476600AD2478 /* HeelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF581EF0475E00AD2478 /* HeelAttributes.cpp */; }; + 29A8ECB81EF0476600AD2478 /* HeelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF581EF0475E00AD2478 /* HeelAttributes.cpp */; }; + 29A8ECBF1EF0476600AD2478 /* Hole.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF5A1EF0475E00AD2478 /* Hole.cpp */; }; + 29A8ECC01EF0476600AD2478 /* Hole.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF5A1EF0475E00AD2478 /* Hole.cpp */; }; + 29A8ECC11EF0476600AD2478 /* Hole.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF5A1EF0475E00AD2478 /* Hole.cpp */; }; + 29A8ECC21EF0476600AD2478 /* Hole.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF5A1EF0475E00AD2478 /* Hole.cpp */; }; + 29A8ECC91EF0476600AD2478 /* HoleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF5C1EF0475E00AD2478 /* HoleAttributes.cpp */; }; + 29A8ECCA1EF0476600AD2478 /* HoleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF5C1EF0475E00AD2478 /* HoleAttributes.cpp */; }; + 29A8ECCB1EF0476600AD2478 /* HoleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF5C1EF0475E00AD2478 /* HoleAttributes.cpp */; }; + 29A8ECCC1EF0476600AD2478 /* HoleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF5C1EF0475E00AD2478 /* HoleAttributes.cpp */; }; + 29A8ECD31EF0476600AD2478 /* HoleClosed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF5E1EF0475E00AD2478 /* HoleClosed.cpp */; }; + 29A8ECD41EF0476600AD2478 /* HoleClosed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF5E1EF0475E00AD2478 /* HoleClosed.cpp */; }; + 29A8ECD51EF0476600AD2478 /* HoleClosed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF5E1EF0475E00AD2478 /* HoleClosed.cpp */; }; + 29A8ECD61EF0476600AD2478 /* HoleClosed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF5E1EF0475E00AD2478 /* HoleClosed.cpp */; }; + 29A8ECDD1EF0476600AD2478 /* HoleClosedAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF601EF0475E00AD2478 /* HoleClosedAttributes.cpp */; }; + 29A8ECDE1EF0476600AD2478 /* HoleClosedAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF601EF0475E00AD2478 /* HoleClosedAttributes.cpp */; }; + 29A8ECDF1EF0476600AD2478 /* HoleClosedAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF601EF0475E00AD2478 /* HoleClosedAttributes.cpp */; }; + 29A8ECE01EF0476600AD2478 /* HoleClosedAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF601EF0475E00AD2478 /* HoleClosedAttributes.cpp */; }; + 29A8ECE71EF0476600AD2478 /* HoleShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF621EF0475E00AD2478 /* HoleShape.cpp */; }; + 29A8ECE81EF0476600AD2478 /* HoleShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF621EF0475E00AD2478 /* HoleShape.cpp */; }; + 29A8ECE91EF0476600AD2478 /* HoleShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF621EF0475E00AD2478 /* HoleShape.cpp */; }; + 29A8ECEA1EF0476600AD2478 /* HoleShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF621EF0475E00AD2478 /* HoleShape.cpp */; }; + 29A8ECF11EF0476600AD2478 /* HoleType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF641EF0475E00AD2478 /* HoleType.cpp */; }; + 29A8ECF21EF0476600AD2478 /* HoleType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF641EF0475E00AD2478 /* HoleType.cpp */; }; + 29A8ECF31EF0476600AD2478 /* HoleType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF641EF0475E00AD2478 /* HoleType.cpp */; }; + 29A8ECF41EF0476600AD2478 /* HoleType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF641EF0475E00AD2478 /* HoleType.cpp */; }; + 29A8ECFB1EF0476600AD2478 /* Humming.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF661EF0475E00AD2478 /* Humming.cpp */; }; + 29A8ECFC1EF0476600AD2478 /* Humming.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF661EF0475E00AD2478 /* Humming.cpp */; }; + 29A8ECFD1EF0476600AD2478 /* Humming.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF661EF0475E00AD2478 /* Humming.cpp */; }; + 29A8ECFE1EF0476600AD2478 /* Humming.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF661EF0475E00AD2478 /* Humming.cpp */; }; + 29A8ED051EF0476600AD2478 /* Identification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF681EF0475E00AD2478 /* Identification.cpp */; }; + 29A8ED061EF0476600AD2478 /* Identification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF681EF0475E00AD2478 /* Identification.cpp */; }; + 29A8ED071EF0476600AD2478 /* Identification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF681EF0475E00AD2478 /* Identification.cpp */; }; + 29A8ED081EF0476600AD2478 /* Identification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF681EF0475E00AD2478 /* Identification.cpp */; }; + 29A8ED0F1EF0476600AD2478 /* Image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF6A1EF0475E00AD2478 /* Image.cpp */; }; + 29A8ED101EF0476600AD2478 /* Image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF6A1EF0475E00AD2478 /* Image.cpp */; }; + 29A8ED111EF0476600AD2478 /* Image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF6A1EF0475E00AD2478 /* Image.cpp */; }; + 29A8ED121EF0476600AD2478 /* Image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF6A1EF0475E00AD2478 /* Image.cpp */; }; + 29A8ED191EF0476600AD2478 /* ImageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF6C1EF0475E00AD2478 /* ImageAttributes.cpp */; }; + 29A8ED1A1EF0476600AD2478 /* ImageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF6C1EF0475E00AD2478 /* ImageAttributes.cpp */; }; + 29A8ED1B1EF0476600AD2478 /* ImageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF6C1EF0475E00AD2478 /* ImageAttributes.cpp */; }; + 29A8ED1C1EF0476600AD2478 /* ImageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF6C1EF0475E00AD2478 /* ImageAttributes.cpp */; }; + 29A8ED231EF0476600AD2478 /* Instrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF6E1EF0475E00AD2478 /* Instrument.cpp */; }; + 29A8ED241EF0476600AD2478 /* Instrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF6E1EF0475E00AD2478 /* Instrument.cpp */; }; + 29A8ED251EF0476600AD2478 /* Instrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF6E1EF0475E00AD2478 /* Instrument.cpp */; }; + 29A8ED261EF0476600AD2478 /* Instrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF6E1EF0475E00AD2478 /* Instrument.cpp */; }; + 29A8ED2D1EF0476600AD2478 /* InstrumentAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF701EF0475E00AD2478 /* InstrumentAbbreviation.cpp */; }; + 29A8ED2E1EF0476600AD2478 /* InstrumentAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF701EF0475E00AD2478 /* InstrumentAbbreviation.cpp */; }; + 29A8ED2F1EF0476600AD2478 /* InstrumentAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF701EF0475E00AD2478 /* InstrumentAbbreviation.cpp */; }; + 29A8ED301EF0476600AD2478 /* InstrumentAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF701EF0475E00AD2478 /* InstrumentAbbreviation.cpp */; }; + 29A8ED371EF0476600AD2478 /* InstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF721EF0475E00AD2478 /* InstrumentAttributes.cpp */; }; + 29A8ED381EF0476600AD2478 /* InstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF721EF0475E00AD2478 /* InstrumentAttributes.cpp */; }; + 29A8ED391EF0476600AD2478 /* InstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF721EF0475E00AD2478 /* InstrumentAttributes.cpp */; }; + 29A8ED3A1EF0476600AD2478 /* InstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF721EF0475E00AD2478 /* InstrumentAttributes.cpp */; }; + 29A8ED411EF0476600AD2478 /* InstrumentName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF741EF0475E00AD2478 /* InstrumentName.cpp */; }; + 29A8ED421EF0476600AD2478 /* InstrumentName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF741EF0475E00AD2478 /* InstrumentName.cpp */; }; + 29A8ED431EF0476600AD2478 /* InstrumentName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF741EF0475E00AD2478 /* InstrumentName.cpp */; }; + 29A8ED441EF0476600AD2478 /* InstrumentName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF741EF0475E00AD2478 /* InstrumentName.cpp */; }; + 29A8ED4B1EF0476600AD2478 /* Instruments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF761EF0475E00AD2478 /* Instruments.cpp */; }; + 29A8ED4C1EF0476600AD2478 /* Instruments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF761EF0475E00AD2478 /* Instruments.cpp */; }; + 29A8ED4D1EF0476600AD2478 /* Instruments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF761EF0475E00AD2478 /* Instruments.cpp */; }; + 29A8ED4E1EF0476600AD2478 /* Instruments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF761EF0475E00AD2478 /* Instruments.cpp */; }; + 29A8ED551EF0476600AD2478 /* InstrumentSound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF781EF0475E00AD2478 /* InstrumentSound.cpp */; }; + 29A8ED561EF0476600AD2478 /* InstrumentSound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF781EF0475E00AD2478 /* InstrumentSound.cpp */; }; + 29A8ED571EF0476600AD2478 /* InstrumentSound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF781EF0475E00AD2478 /* InstrumentSound.cpp */; }; + 29A8ED581EF0476600AD2478 /* InstrumentSound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF781EF0475E00AD2478 /* InstrumentSound.cpp */; }; + 29A8ED5F1EF0476600AD2478 /* Interchangeable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF7A1EF0475E00AD2478 /* Interchangeable.cpp */; }; + 29A8ED601EF0476600AD2478 /* Interchangeable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF7A1EF0475E00AD2478 /* Interchangeable.cpp */; }; + 29A8ED611EF0476600AD2478 /* Interchangeable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF7A1EF0475E00AD2478 /* Interchangeable.cpp */; }; + 29A8ED621EF0476600AD2478 /* Interchangeable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF7A1EF0475E00AD2478 /* Interchangeable.cpp */; }; + 29A8ED691EF0476600AD2478 /* InterchangeableAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF7C1EF0475E00AD2478 /* InterchangeableAttributes.cpp */; }; + 29A8ED6A1EF0476600AD2478 /* InterchangeableAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF7C1EF0475E00AD2478 /* InterchangeableAttributes.cpp */; }; + 29A8ED6B1EF0476600AD2478 /* InterchangeableAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF7C1EF0475E00AD2478 /* InterchangeableAttributes.cpp */; }; + 29A8ED6C1EF0476600AD2478 /* InterchangeableAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF7C1EF0475E00AD2478 /* InterchangeableAttributes.cpp */; }; + 29A8ED731EF0476600AD2478 /* Inversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF7E1EF0475E00AD2478 /* Inversion.cpp */; }; + 29A8ED741EF0476600AD2478 /* Inversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF7E1EF0475E00AD2478 /* Inversion.cpp */; }; + 29A8ED751EF0476600AD2478 /* Inversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF7E1EF0475E00AD2478 /* Inversion.cpp */; }; + 29A8ED761EF0476600AD2478 /* Inversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF7E1EF0475E00AD2478 /* Inversion.cpp */; }; + 29A8ED7D1EF0476600AD2478 /* InversionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF801EF0475E00AD2478 /* InversionAttributes.cpp */; }; + 29A8ED7E1EF0476600AD2478 /* InversionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF801EF0475E00AD2478 /* InversionAttributes.cpp */; }; + 29A8ED7F1EF0476600AD2478 /* InversionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF801EF0475E00AD2478 /* InversionAttributes.cpp */; }; + 29A8ED801EF0476600AD2478 /* InversionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF801EF0475E00AD2478 /* InversionAttributes.cpp */; }; + 29A8ED871EF0476600AD2478 /* InvertedMordent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF821EF0475E00AD2478 /* InvertedMordent.cpp */; }; + 29A8ED881EF0476600AD2478 /* InvertedMordent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF821EF0475E00AD2478 /* InvertedMordent.cpp */; }; + 29A8ED891EF0476600AD2478 /* InvertedMordent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF821EF0475E00AD2478 /* InvertedMordent.cpp */; }; + 29A8ED8A1EF0476600AD2478 /* InvertedMordent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF821EF0475E00AD2478 /* InvertedMordent.cpp */; }; + 29A8ED911EF0476600AD2478 /* InvertedMordentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF841EF0475E00AD2478 /* InvertedMordentAttributes.cpp */; }; + 29A8ED921EF0476600AD2478 /* InvertedMordentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF841EF0475E00AD2478 /* InvertedMordentAttributes.cpp */; }; + 29A8ED931EF0476600AD2478 /* InvertedMordentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF841EF0475E00AD2478 /* InvertedMordentAttributes.cpp */; }; + 29A8ED941EF0476600AD2478 /* InvertedMordentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF841EF0475E00AD2478 /* InvertedMordentAttributes.cpp */; }; + 29A8ED9B1EF0476600AD2478 /* InvertedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF861EF0475E00AD2478 /* InvertedTurn.cpp */; }; + 29A8ED9C1EF0476600AD2478 /* InvertedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF861EF0475E00AD2478 /* InvertedTurn.cpp */; }; + 29A8ED9D1EF0476600AD2478 /* InvertedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF861EF0475E00AD2478 /* InvertedTurn.cpp */; }; + 29A8ED9E1EF0476600AD2478 /* InvertedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF861EF0475E00AD2478 /* InvertedTurn.cpp */; }; + 29A8EDA51EF0476600AD2478 /* InvertedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF881EF0475E00AD2478 /* InvertedTurnAttributes.cpp */; }; + 29A8EDA61EF0476600AD2478 /* InvertedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF881EF0475E00AD2478 /* InvertedTurnAttributes.cpp */; }; + 29A8EDA71EF0476600AD2478 /* InvertedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF881EF0475E00AD2478 /* InvertedTurnAttributes.cpp */; }; + 29A8EDA81EF0476600AD2478 /* InvertedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF881EF0475E00AD2478 /* InvertedTurnAttributes.cpp */; }; + 29A8EDAF1EF0476600AD2478 /* Ipa.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF8A1EF0475E00AD2478 /* Ipa.cpp */; }; + 29A8EDB01EF0476600AD2478 /* Ipa.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF8A1EF0475E00AD2478 /* Ipa.cpp */; }; + 29A8EDB11EF0476600AD2478 /* Ipa.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF8A1EF0475E00AD2478 /* Ipa.cpp */; }; + 29A8EDB21EF0476600AD2478 /* Ipa.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF8A1EF0475E00AD2478 /* Ipa.cpp */; }; + 29A8EDB91EF0476600AD2478 /* Key.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF8C1EF0475E00AD2478 /* Key.cpp */; }; + 29A8EDBA1EF0476600AD2478 /* Key.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF8C1EF0475E00AD2478 /* Key.cpp */; }; + 29A8EDBB1EF0476600AD2478 /* Key.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF8C1EF0475E00AD2478 /* Key.cpp */; }; + 29A8EDBC1EF0476600AD2478 /* Key.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF8C1EF0475E00AD2478 /* Key.cpp */; }; + 29A8EDC31EF0476600AD2478 /* KeyAccidental.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF8E1EF0475E00AD2478 /* KeyAccidental.cpp */; }; + 29A8EDC41EF0476600AD2478 /* KeyAccidental.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF8E1EF0475E00AD2478 /* KeyAccidental.cpp */; }; + 29A8EDC51EF0476600AD2478 /* KeyAccidental.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF8E1EF0475E00AD2478 /* KeyAccidental.cpp */; }; + 29A8EDC61EF0476600AD2478 /* KeyAccidental.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF8E1EF0475E00AD2478 /* KeyAccidental.cpp */; }; + 29A8EDCD1EF0476600AD2478 /* KeyAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF901EF0475E00AD2478 /* KeyAlter.cpp */; }; + 29A8EDCE1EF0476600AD2478 /* KeyAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF901EF0475E00AD2478 /* KeyAlter.cpp */; }; + 29A8EDCF1EF0476600AD2478 /* KeyAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF901EF0475E00AD2478 /* KeyAlter.cpp */; }; + 29A8EDD01EF0476600AD2478 /* KeyAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF901EF0475E00AD2478 /* KeyAlter.cpp */; }; + 29A8EDD71EF0476600AD2478 /* KeyAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF921EF0475E00AD2478 /* KeyAttributes.cpp */; }; + 29A8EDD81EF0476600AD2478 /* KeyAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF921EF0475E00AD2478 /* KeyAttributes.cpp */; }; + 29A8EDD91EF0476600AD2478 /* KeyAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF921EF0475E00AD2478 /* KeyAttributes.cpp */; }; + 29A8EDDA1EF0476600AD2478 /* KeyAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF921EF0475E00AD2478 /* KeyAttributes.cpp */; }; + 29A8EDE11EF0476600AD2478 /* KeyChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF941EF0475E00AD2478 /* KeyChoice.cpp */; }; + 29A8EDE21EF0476600AD2478 /* KeyChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF941EF0475E00AD2478 /* KeyChoice.cpp */; }; + 29A8EDE31EF0476600AD2478 /* KeyChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF941EF0475E00AD2478 /* KeyChoice.cpp */; }; + 29A8EDE41EF0476600AD2478 /* KeyChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF941EF0475E00AD2478 /* KeyChoice.cpp */; }; + 29A8EDEB1EF0476600AD2478 /* KeyOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF961EF0475E00AD2478 /* KeyOctave.cpp */; }; + 29A8EDEC1EF0476600AD2478 /* KeyOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF961EF0475E00AD2478 /* KeyOctave.cpp */; }; + 29A8EDED1EF0476600AD2478 /* KeyOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF961EF0475E00AD2478 /* KeyOctave.cpp */; }; + 29A8EDEE1EF0476600AD2478 /* KeyOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF961EF0475E00AD2478 /* KeyOctave.cpp */; }; + 29A8EDF51EF0476600AD2478 /* KeyOctaveAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF981EF0475E00AD2478 /* KeyOctaveAttributes.cpp */; }; + 29A8EDF61EF0476600AD2478 /* KeyOctaveAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF981EF0475E00AD2478 /* KeyOctaveAttributes.cpp */; }; + 29A8EDF71EF0476600AD2478 /* KeyOctaveAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF981EF0475E00AD2478 /* KeyOctaveAttributes.cpp */; }; + 29A8EDF81EF0476600AD2478 /* KeyOctaveAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF981EF0475E00AD2478 /* KeyOctaveAttributes.cpp */; }; + 29A8EDFF1EF0476600AD2478 /* KeyStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF9A1EF0475E00AD2478 /* KeyStep.cpp */; }; + 29A8EE001EF0476600AD2478 /* KeyStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF9A1EF0475E00AD2478 /* KeyStep.cpp */; }; + 29A8EE011EF0476600AD2478 /* KeyStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF9A1EF0475E00AD2478 /* KeyStep.cpp */; }; + 29A8EE021EF0476600AD2478 /* KeyStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF9A1EF0475E00AD2478 /* KeyStep.cpp */; }; + 29A8EE091EF0476600AD2478 /* Kind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF9C1EF0475E00AD2478 /* Kind.cpp */; }; + 29A8EE0A1EF0476600AD2478 /* Kind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF9C1EF0475E00AD2478 /* Kind.cpp */; }; + 29A8EE0B1EF0476600AD2478 /* Kind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF9C1EF0475E00AD2478 /* Kind.cpp */; }; + 29A8EE0C1EF0476600AD2478 /* Kind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF9C1EF0475E00AD2478 /* Kind.cpp */; }; + 29A8EE131EF0476600AD2478 /* KindAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF9E1EF0475E00AD2478 /* KindAttributes.cpp */; }; + 29A8EE141EF0476600AD2478 /* KindAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF9E1EF0475E00AD2478 /* KindAttributes.cpp */; }; + 29A8EE151EF0476600AD2478 /* KindAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF9E1EF0475E00AD2478 /* KindAttributes.cpp */; }; + 29A8EE161EF0476600AD2478 /* KindAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF9E1EF0475E00AD2478 /* KindAttributes.cpp */; }; + 29A8EE1D1EF0476600AD2478 /* Laughing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFA01EF0475E00AD2478 /* Laughing.cpp */; }; + 29A8EE1E1EF0476600AD2478 /* Laughing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFA01EF0475E00AD2478 /* Laughing.cpp */; }; + 29A8EE1F1EF0476600AD2478 /* Laughing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFA01EF0475E00AD2478 /* Laughing.cpp */; }; + 29A8EE201EF0476600AD2478 /* Laughing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFA01EF0475E00AD2478 /* Laughing.cpp */; }; + 29A8EE271EF0476600AD2478 /* LayoutGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFA21EF0475E00AD2478 /* LayoutGroup.cpp */; }; + 29A8EE281EF0476600AD2478 /* LayoutGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFA21EF0475E00AD2478 /* LayoutGroup.cpp */; }; + 29A8EE291EF0476600AD2478 /* LayoutGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFA21EF0475E00AD2478 /* LayoutGroup.cpp */; }; + 29A8EE2A1EF0476600AD2478 /* LayoutGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFA21EF0475E00AD2478 /* LayoutGroup.cpp */; }; + 29A8EE311EF0476600AD2478 /* LeftDivider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFA41EF0475E00AD2478 /* LeftDivider.cpp */; }; + 29A8EE321EF0476600AD2478 /* LeftDivider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFA41EF0475E00AD2478 /* LeftDivider.cpp */; }; + 29A8EE331EF0476600AD2478 /* LeftDivider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFA41EF0475E00AD2478 /* LeftDivider.cpp */; }; + 29A8EE341EF0476600AD2478 /* LeftDivider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFA41EF0475E00AD2478 /* LeftDivider.cpp */; }; + 29A8EE3B1EF0476600AD2478 /* LeftMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFA61EF0475E00AD2478 /* LeftMargin.cpp */; }; + 29A8EE3C1EF0476600AD2478 /* LeftMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFA61EF0475E00AD2478 /* LeftMargin.cpp */; }; + 29A8EE3D1EF0476600AD2478 /* LeftMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFA61EF0475E00AD2478 /* LeftMargin.cpp */; }; + 29A8EE3E1EF0476600AD2478 /* LeftMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFA61EF0475E00AD2478 /* LeftMargin.cpp */; }; + 29A8EE451EF0476600AD2478 /* Level.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFA81EF0475E00AD2478 /* Level.cpp */; }; + 29A8EE461EF0476600AD2478 /* Level.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFA81EF0475E00AD2478 /* Level.cpp */; }; + 29A8EE471EF0476600AD2478 /* Level.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFA81EF0475E00AD2478 /* Level.cpp */; }; + 29A8EE481EF0476600AD2478 /* Level.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFA81EF0475E00AD2478 /* Level.cpp */; }; + 29A8EE4F1EF0476600AD2478 /* LevelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFAA1EF0475E00AD2478 /* LevelAttributes.cpp */; }; + 29A8EE501EF0476600AD2478 /* LevelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFAA1EF0475E00AD2478 /* LevelAttributes.cpp */; }; + 29A8EE511EF0476600AD2478 /* LevelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFAA1EF0475E00AD2478 /* LevelAttributes.cpp */; }; + 29A8EE521EF0476600AD2478 /* LevelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFAA1EF0475E00AD2478 /* LevelAttributes.cpp */; }; + 29A8EE591EF0476600AD2478 /* Line.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFAC1EF0475E00AD2478 /* Line.cpp */; }; + 29A8EE5A1EF0476600AD2478 /* Line.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFAC1EF0475E00AD2478 /* Line.cpp */; }; + 29A8EE5B1EF0476600AD2478 /* Line.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFAC1EF0475E00AD2478 /* Line.cpp */; }; + 29A8EE5C1EF0476600AD2478 /* Line.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFAC1EF0475E00AD2478 /* Line.cpp */; }; + 29A8EE631EF0476600AD2478 /* LineWidth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFAE1EF0475E00AD2478 /* LineWidth.cpp */; }; + 29A8EE641EF0476600AD2478 /* LineWidth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFAE1EF0475E00AD2478 /* LineWidth.cpp */; }; + 29A8EE651EF0476600AD2478 /* LineWidth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFAE1EF0475E00AD2478 /* LineWidth.cpp */; }; + 29A8EE661EF0476600AD2478 /* LineWidth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFAE1EF0475E00AD2478 /* LineWidth.cpp */; }; + 29A8EE6D1EF0476600AD2478 /* LineWidthAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFB01EF0475E00AD2478 /* LineWidthAttributes.cpp */; }; + 29A8EE6E1EF0476600AD2478 /* LineWidthAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFB01EF0475E00AD2478 /* LineWidthAttributes.cpp */; }; + 29A8EE6F1EF0476600AD2478 /* LineWidthAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFB01EF0475E00AD2478 /* LineWidthAttributes.cpp */; }; + 29A8EE701EF0476600AD2478 /* LineWidthAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFB01EF0475E00AD2478 /* LineWidthAttributes.cpp */; }; + 29A8EE771EF0476600AD2478 /* Link.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFB21EF0475E00AD2478 /* Link.cpp */; }; + 29A8EE781EF0476600AD2478 /* Link.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFB21EF0475E00AD2478 /* Link.cpp */; }; + 29A8EE791EF0476600AD2478 /* Link.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFB21EF0475E00AD2478 /* Link.cpp */; }; + 29A8EE7A1EF0476600AD2478 /* Link.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFB21EF0475E00AD2478 /* Link.cpp */; }; + 29A8EE811EF0476600AD2478 /* LinkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFB41EF0475E00AD2478 /* LinkAttributes.cpp */; }; + 29A8EE821EF0476600AD2478 /* LinkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFB41EF0475E00AD2478 /* LinkAttributes.cpp */; }; + 29A8EE831EF0476600AD2478 /* LinkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFB41EF0475E00AD2478 /* LinkAttributes.cpp */; }; + 29A8EE841EF0476600AD2478 /* LinkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFB41EF0475E00AD2478 /* LinkAttributes.cpp */; }; + 29A8EE8B1EF0476600AD2478 /* Lyric.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFB61EF0475E00AD2478 /* Lyric.cpp */; }; + 29A8EE8C1EF0476600AD2478 /* Lyric.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFB61EF0475E00AD2478 /* Lyric.cpp */; }; + 29A8EE8D1EF0476600AD2478 /* Lyric.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFB61EF0475E00AD2478 /* Lyric.cpp */; }; + 29A8EE8E1EF0476600AD2478 /* Lyric.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFB61EF0475E00AD2478 /* Lyric.cpp */; }; + 29A8EE951EF0476600AD2478 /* LyricAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFB81EF0475E00AD2478 /* LyricAttributes.cpp */; }; + 29A8EE961EF0476600AD2478 /* LyricAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFB81EF0475E00AD2478 /* LyricAttributes.cpp */; }; + 29A8EE971EF0476600AD2478 /* LyricAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFB81EF0475E00AD2478 /* LyricAttributes.cpp */; }; + 29A8EE981EF0476600AD2478 /* LyricAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFB81EF0475E00AD2478 /* LyricAttributes.cpp */; }; + 29A8EE9F1EF0476600AD2478 /* LyricFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFBA1EF0475E00AD2478 /* LyricFont.cpp */; }; + 29A8EEA01EF0476600AD2478 /* LyricFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFBA1EF0475E00AD2478 /* LyricFont.cpp */; }; + 29A8EEA11EF0476600AD2478 /* LyricFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFBA1EF0475E00AD2478 /* LyricFont.cpp */; }; + 29A8EEA21EF0476600AD2478 /* LyricFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFBA1EF0475E00AD2478 /* LyricFont.cpp */; }; + 29A8EEA91EF0476600AD2478 /* LyricFontAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFBC1EF0475E00AD2478 /* LyricFontAttributes.cpp */; }; + 29A8EEAA1EF0476600AD2478 /* LyricFontAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFBC1EF0475E00AD2478 /* LyricFontAttributes.cpp */; }; + 29A8EEAB1EF0476600AD2478 /* LyricFontAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFBC1EF0475E00AD2478 /* LyricFontAttributes.cpp */; }; + 29A8EEAC1EF0476600AD2478 /* LyricFontAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFBC1EF0475E00AD2478 /* LyricFontAttributes.cpp */; }; + 29A8EEB31EF0476600AD2478 /* LyricLanguage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFBE1EF0475E00AD2478 /* LyricLanguage.cpp */; }; + 29A8EEB41EF0476600AD2478 /* LyricLanguage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFBE1EF0475E00AD2478 /* LyricLanguage.cpp */; }; + 29A8EEB51EF0476600AD2478 /* LyricLanguage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFBE1EF0475E00AD2478 /* LyricLanguage.cpp */; }; + 29A8EEB61EF0476600AD2478 /* LyricLanguage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFBE1EF0475E00AD2478 /* LyricLanguage.cpp */; }; + 29A8EEBD1EF0476600AD2478 /* LyricLanguageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFC01EF0475E00AD2478 /* LyricLanguageAttributes.cpp */; }; + 29A8EEBE1EF0476600AD2478 /* LyricLanguageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFC01EF0475E00AD2478 /* LyricLanguageAttributes.cpp */; }; + 29A8EEBF1EF0476600AD2478 /* LyricLanguageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFC01EF0475E00AD2478 /* LyricLanguageAttributes.cpp */; }; + 29A8EEC01EF0476600AD2478 /* LyricLanguageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFC01EF0475E00AD2478 /* LyricLanguageAttributes.cpp */; }; + 29A8EEC71EF0476600AD2478 /* LyricTextChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFC21EF0475E00AD2478 /* LyricTextChoice.cpp */; }; + 29A8EEC81EF0476600AD2478 /* LyricTextChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFC21EF0475E00AD2478 /* LyricTextChoice.cpp */; }; + 29A8EEC91EF0476600AD2478 /* LyricTextChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFC21EF0475E00AD2478 /* LyricTextChoice.cpp */; }; + 29A8EECA1EF0476600AD2478 /* LyricTextChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFC21EF0475E00AD2478 /* LyricTextChoice.cpp */; }; + 29A8EED11EF0476600AD2478 /* MeasureAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFC41EF0475E00AD2478 /* MeasureAttributes.cpp */; }; + 29A8EED21EF0476600AD2478 /* MeasureAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFC41EF0475E00AD2478 /* MeasureAttributes.cpp */; }; + 29A8EED31EF0476600AD2478 /* MeasureAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFC41EF0475E00AD2478 /* MeasureAttributes.cpp */; }; + 29A8EED41EF0476600AD2478 /* MeasureAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFC41EF0475E00AD2478 /* MeasureAttributes.cpp */; }; + 29A8EEDB1EF0476600AD2478 /* MeasureDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFC61EF0475E00AD2478 /* MeasureDistance.cpp */; }; + 29A8EEDC1EF0476600AD2478 /* MeasureDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFC61EF0475E00AD2478 /* MeasureDistance.cpp */; }; + 29A8EEDD1EF0476600AD2478 /* MeasureDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFC61EF0475E00AD2478 /* MeasureDistance.cpp */; }; + 29A8EEDE1EF0476600AD2478 /* MeasureDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFC61EF0475E00AD2478 /* MeasureDistance.cpp */; }; + 29A8EEE51EF0476600AD2478 /* MeasureLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFC81EF0475E00AD2478 /* MeasureLayout.cpp */; }; + 29A8EEE61EF0476600AD2478 /* MeasureLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFC81EF0475E00AD2478 /* MeasureLayout.cpp */; }; + 29A8EEE71EF0476600AD2478 /* MeasureLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFC81EF0475E00AD2478 /* MeasureLayout.cpp */; }; + 29A8EEE81EF0476600AD2478 /* MeasureLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFC81EF0475E00AD2478 /* MeasureLayout.cpp */; }; + 29A8EEEF1EF0476600AD2478 /* MeasureNumbering.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFCA1EF0475F00AD2478 /* MeasureNumbering.cpp */; }; + 29A8EEF01EF0476600AD2478 /* MeasureNumbering.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFCA1EF0475F00AD2478 /* MeasureNumbering.cpp */; }; + 29A8EEF11EF0476600AD2478 /* MeasureNumbering.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFCA1EF0475F00AD2478 /* MeasureNumbering.cpp */; }; + 29A8EEF21EF0476600AD2478 /* MeasureNumbering.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFCA1EF0475F00AD2478 /* MeasureNumbering.cpp */; }; + 29A8EEF91EF0476600AD2478 /* MeasureNumberingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFCC1EF0475F00AD2478 /* MeasureNumberingAttributes.cpp */; }; + 29A8EEFA1EF0476600AD2478 /* MeasureNumberingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFCC1EF0475F00AD2478 /* MeasureNumberingAttributes.cpp */; }; + 29A8EEFB1EF0476600AD2478 /* MeasureNumberingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFCC1EF0475F00AD2478 /* MeasureNumberingAttributes.cpp */; }; + 29A8EEFC1EF0476600AD2478 /* MeasureNumberingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFCC1EF0475F00AD2478 /* MeasureNumberingAttributes.cpp */; }; + 29A8EF031EF0476600AD2478 /* MeasureRepeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFCE1EF0475F00AD2478 /* MeasureRepeat.cpp */; }; + 29A8EF041EF0476600AD2478 /* MeasureRepeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFCE1EF0475F00AD2478 /* MeasureRepeat.cpp */; }; + 29A8EF051EF0476600AD2478 /* MeasureRepeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFCE1EF0475F00AD2478 /* MeasureRepeat.cpp */; }; + 29A8EF061EF0476600AD2478 /* MeasureRepeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFCE1EF0475F00AD2478 /* MeasureRepeat.cpp */; }; + 29A8EF0D1EF0476600AD2478 /* MeasureRepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFD01EF0475F00AD2478 /* MeasureRepeatAttributes.cpp */; }; + 29A8EF0E1EF0476600AD2478 /* MeasureRepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFD01EF0475F00AD2478 /* MeasureRepeatAttributes.cpp */; }; + 29A8EF0F1EF0476600AD2478 /* MeasureRepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFD01EF0475F00AD2478 /* MeasureRepeatAttributes.cpp */; }; + 29A8EF101EF0476600AD2478 /* MeasureRepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFD01EF0475F00AD2478 /* MeasureRepeatAttributes.cpp */; }; + 29A8EF171EF0476700AD2478 /* MeasureStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFD21EF0475F00AD2478 /* MeasureStyle.cpp */; }; + 29A8EF181EF0476700AD2478 /* MeasureStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFD21EF0475F00AD2478 /* MeasureStyle.cpp */; }; + 29A8EF191EF0476700AD2478 /* MeasureStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFD21EF0475F00AD2478 /* MeasureStyle.cpp */; }; + 29A8EF1A1EF0476700AD2478 /* MeasureStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFD21EF0475F00AD2478 /* MeasureStyle.cpp */; }; + 29A8EF211EF0476700AD2478 /* MeasureStyleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFD41EF0475F00AD2478 /* MeasureStyleAttributes.cpp */; }; + 29A8EF221EF0476700AD2478 /* MeasureStyleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFD41EF0475F00AD2478 /* MeasureStyleAttributes.cpp */; }; + 29A8EF231EF0476700AD2478 /* MeasureStyleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFD41EF0475F00AD2478 /* MeasureStyleAttributes.cpp */; }; + 29A8EF241EF0476700AD2478 /* MeasureStyleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFD41EF0475F00AD2478 /* MeasureStyleAttributes.cpp */; }; + 29A8EF2B1EF0476700AD2478 /* MeasureStyleChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFD61EF0475F00AD2478 /* MeasureStyleChoice.cpp */; }; + 29A8EF2C1EF0476700AD2478 /* MeasureStyleChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFD61EF0475F00AD2478 /* MeasureStyleChoice.cpp */; }; + 29A8EF2D1EF0476700AD2478 /* MeasureStyleChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFD61EF0475F00AD2478 /* MeasureStyleChoice.cpp */; }; + 29A8EF2E1EF0476700AD2478 /* MeasureStyleChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFD61EF0475F00AD2478 /* MeasureStyleChoice.cpp */; }; + 29A8EF351EF0476700AD2478 /* Membrane.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFD81EF0475F00AD2478 /* Membrane.cpp */; }; + 29A8EF361EF0476700AD2478 /* Membrane.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFD81EF0475F00AD2478 /* Membrane.cpp */; }; + 29A8EF371EF0476700AD2478 /* Membrane.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFD81EF0475F00AD2478 /* Membrane.cpp */; }; + 29A8EF381EF0476700AD2478 /* Membrane.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFD81EF0475F00AD2478 /* Membrane.cpp */; }; + 29A8EF3F1EF0476700AD2478 /* Metal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFDA1EF0475F00AD2478 /* Metal.cpp */; }; + 29A8EF401EF0476700AD2478 /* Metal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFDA1EF0475F00AD2478 /* Metal.cpp */; }; + 29A8EF411EF0476700AD2478 /* Metal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFDA1EF0475F00AD2478 /* Metal.cpp */; }; + 29A8EF421EF0476700AD2478 /* Metal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFDA1EF0475F00AD2478 /* Metal.cpp */; }; + 29A8EF491EF0476700AD2478 /* Metronome.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFDC1EF0475F00AD2478 /* Metronome.cpp */; }; + 29A8EF4A1EF0476700AD2478 /* Metronome.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFDC1EF0475F00AD2478 /* Metronome.cpp */; }; + 29A8EF4B1EF0476700AD2478 /* Metronome.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFDC1EF0475F00AD2478 /* Metronome.cpp */; }; + 29A8EF4C1EF0476700AD2478 /* Metronome.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFDC1EF0475F00AD2478 /* Metronome.cpp */; }; + 29A8EF531EF0476700AD2478 /* MetronomeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFDE1EF0475F00AD2478 /* MetronomeAttributes.cpp */; }; + 29A8EF541EF0476700AD2478 /* MetronomeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFDE1EF0475F00AD2478 /* MetronomeAttributes.cpp */; }; + 29A8EF551EF0476700AD2478 /* MetronomeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFDE1EF0475F00AD2478 /* MetronomeAttributes.cpp */; }; + 29A8EF561EF0476700AD2478 /* MetronomeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFDE1EF0475F00AD2478 /* MetronomeAttributes.cpp */; }; + 29A8EF5D1EF0476700AD2478 /* MetronomeBeam.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFE01EF0475F00AD2478 /* MetronomeBeam.cpp */; }; + 29A8EF5E1EF0476700AD2478 /* MetronomeBeam.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFE01EF0475F00AD2478 /* MetronomeBeam.cpp */; }; + 29A8EF5F1EF0476700AD2478 /* MetronomeBeam.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFE01EF0475F00AD2478 /* MetronomeBeam.cpp */; }; + 29A8EF601EF0476700AD2478 /* MetronomeBeam.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFE01EF0475F00AD2478 /* MetronomeBeam.cpp */; }; + 29A8EF671EF0476700AD2478 /* MetronomeBeamAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFE21EF0475F00AD2478 /* MetronomeBeamAttributes.cpp */; }; + 29A8EF681EF0476700AD2478 /* MetronomeBeamAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFE21EF0475F00AD2478 /* MetronomeBeamAttributes.cpp */; }; + 29A8EF691EF0476700AD2478 /* MetronomeBeamAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFE21EF0475F00AD2478 /* MetronomeBeamAttributes.cpp */; }; + 29A8EF6A1EF0476700AD2478 /* MetronomeBeamAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFE21EF0475F00AD2478 /* MetronomeBeamAttributes.cpp */; }; + 29A8EF711EF0476700AD2478 /* MetronomeDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFE41EF0475F00AD2478 /* MetronomeDot.cpp */; }; + 29A8EF721EF0476700AD2478 /* MetronomeDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFE41EF0475F00AD2478 /* MetronomeDot.cpp */; }; + 29A8EF731EF0476700AD2478 /* MetronomeDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFE41EF0475F00AD2478 /* MetronomeDot.cpp */; }; + 29A8EF741EF0476700AD2478 /* MetronomeDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFE41EF0475F00AD2478 /* MetronomeDot.cpp */; }; + 29A8EF7B1EF0476700AD2478 /* MetronomeNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFE61EF0475F00AD2478 /* MetronomeNote.cpp */; }; + 29A8EF7C1EF0476700AD2478 /* MetronomeNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFE61EF0475F00AD2478 /* MetronomeNote.cpp */; }; + 29A8EF7D1EF0476700AD2478 /* MetronomeNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFE61EF0475F00AD2478 /* MetronomeNote.cpp */; }; + 29A8EF7E1EF0476700AD2478 /* MetronomeNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFE61EF0475F00AD2478 /* MetronomeNote.cpp */; }; + 29A8EF851EF0476700AD2478 /* MetronomeRelation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFE81EF0475F00AD2478 /* MetronomeRelation.cpp */; }; + 29A8EF861EF0476700AD2478 /* MetronomeRelation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFE81EF0475F00AD2478 /* MetronomeRelation.cpp */; }; + 29A8EF871EF0476700AD2478 /* MetronomeRelation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFE81EF0475F00AD2478 /* MetronomeRelation.cpp */; }; + 29A8EF881EF0476700AD2478 /* MetronomeRelation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFE81EF0475F00AD2478 /* MetronomeRelation.cpp */; }; + 29A8EF8F1EF0476700AD2478 /* MetronomeRelationGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFEA1EF0475F00AD2478 /* MetronomeRelationGroup.cpp */; }; + 29A8EF901EF0476700AD2478 /* MetronomeRelationGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFEA1EF0475F00AD2478 /* MetronomeRelationGroup.cpp */; }; + 29A8EF911EF0476700AD2478 /* MetronomeRelationGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFEA1EF0475F00AD2478 /* MetronomeRelationGroup.cpp */; }; + 29A8EF921EF0476700AD2478 /* MetronomeRelationGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFEA1EF0475F00AD2478 /* MetronomeRelationGroup.cpp */; }; + 29A8EF991EF0476700AD2478 /* MetronomeTuplet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFEC1EF0475F00AD2478 /* MetronomeTuplet.cpp */; }; + 29A8EF9A1EF0476700AD2478 /* MetronomeTuplet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFEC1EF0475F00AD2478 /* MetronomeTuplet.cpp */; }; + 29A8EF9B1EF0476700AD2478 /* MetronomeTuplet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFEC1EF0475F00AD2478 /* MetronomeTuplet.cpp */; }; + 29A8EF9C1EF0476700AD2478 /* MetronomeTuplet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFEC1EF0475F00AD2478 /* MetronomeTuplet.cpp */; }; + 29A8EFA31EF0476700AD2478 /* MetronomeTupletAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFEE1EF0475F00AD2478 /* MetronomeTupletAttributes.cpp */; }; + 29A8EFA41EF0476700AD2478 /* MetronomeTupletAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFEE1EF0475F00AD2478 /* MetronomeTupletAttributes.cpp */; }; + 29A8EFA51EF0476700AD2478 /* MetronomeTupletAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFEE1EF0475F00AD2478 /* MetronomeTupletAttributes.cpp */; }; + 29A8EFA61EF0476700AD2478 /* MetronomeTupletAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFEE1EF0475F00AD2478 /* MetronomeTupletAttributes.cpp */; }; + 29A8EFAD1EF0476700AD2478 /* MetronomeType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFF01EF0475F00AD2478 /* MetronomeType.cpp */; }; + 29A8EFAE1EF0476700AD2478 /* MetronomeType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFF01EF0475F00AD2478 /* MetronomeType.cpp */; }; + 29A8EFAF1EF0476700AD2478 /* MetronomeType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFF01EF0475F00AD2478 /* MetronomeType.cpp */; }; + 29A8EFB01EF0476700AD2478 /* MetronomeType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFF01EF0475F00AD2478 /* MetronomeType.cpp */; }; + 29A8EFB71EF0476700AD2478 /* MidiBank.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFF21EF0475F00AD2478 /* MidiBank.cpp */; }; + 29A8EFB81EF0476700AD2478 /* MidiBank.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFF21EF0475F00AD2478 /* MidiBank.cpp */; }; + 29A8EFB91EF0476700AD2478 /* MidiBank.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFF21EF0475F00AD2478 /* MidiBank.cpp */; }; + 29A8EFBA1EF0476700AD2478 /* MidiBank.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFF21EF0475F00AD2478 /* MidiBank.cpp */; }; + 29A8EFC11EF0476700AD2478 /* MidiChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFF41EF0475F00AD2478 /* MidiChannel.cpp */; }; + 29A8EFC21EF0476700AD2478 /* MidiChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFF41EF0475F00AD2478 /* MidiChannel.cpp */; }; + 29A8EFC31EF0476700AD2478 /* MidiChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFF41EF0475F00AD2478 /* MidiChannel.cpp */; }; + 29A8EFC41EF0476700AD2478 /* MidiChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFF41EF0475F00AD2478 /* MidiChannel.cpp */; }; + 29A8EFCB1EF0476700AD2478 /* MidiDevice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFF61EF0475F00AD2478 /* MidiDevice.cpp */; }; + 29A8EFCC1EF0476700AD2478 /* MidiDevice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFF61EF0475F00AD2478 /* MidiDevice.cpp */; }; + 29A8EFCD1EF0476700AD2478 /* MidiDevice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFF61EF0475F00AD2478 /* MidiDevice.cpp */; }; + 29A8EFCE1EF0476700AD2478 /* MidiDevice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFF61EF0475F00AD2478 /* MidiDevice.cpp */; }; + 29A8EFD51EF0476700AD2478 /* MidiDeviceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFF81EF0475F00AD2478 /* MidiDeviceAttributes.cpp */; }; + 29A8EFD61EF0476700AD2478 /* MidiDeviceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFF81EF0475F00AD2478 /* MidiDeviceAttributes.cpp */; }; + 29A8EFD71EF0476700AD2478 /* MidiDeviceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFF81EF0475F00AD2478 /* MidiDeviceAttributes.cpp */; }; + 29A8EFD81EF0476700AD2478 /* MidiDeviceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFF81EF0475F00AD2478 /* MidiDeviceAttributes.cpp */; }; + 29A8EFDF1EF0476700AD2478 /* MidiDeviceInstrumentGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFFA1EF0475F00AD2478 /* MidiDeviceInstrumentGroup.cpp */; }; + 29A8EFE01EF0476700AD2478 /* MidiDeviceInstrumentGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFFA1EF0475F00AD2478 /* MidiDeviceInstrumentGroup.cpp */; }; + 29A8EFE11EF0476700AD2478 /* MidiDeviceInstrumentGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFFA1EF0475F00AD2478 /* MidiDeviceInstrumentGroup.cpp */; }; + 29A8EFE21EF0476700AD2478 /* MidiDeviceInstrumentGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFFA1EF0475F00AD2478 /* MidiDeviceInstrumentGroup.cpp */; }; + 29A8EFE91EF0476700AD2478 /* MidiInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFFC1EF0475F00AD2478 /* MidiInstrument.cpp */; }; + 29A8EFEA1EF0476700AD2478 /* MidiInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFFC1EF0475F00AD2478 /* MidiInstrument.cpp */; }; + 29A8EFEB1EF0476700AD2478 /* MidiInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFFC1EF0475F00AD2478 /* MidiInstrument.cpp */; }; + 29A8EFEC1EF0476700AD2478 /* MidiInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFFC1EF0475F00AD2478 /* MidiInstrument.cpp */; }; + 29A8EFF31EF0476700AD2478 /* MidiInstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFFE1EF0475F00AD2478 /* MidiInstrumentAttributes.cpp */; }; + 29A8EFF41EF0476700AD2478 /* MidiInstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFFE1EF0475F00AD2478 /* MidiInstrumentAttributes.cpp */; }; + 29A8EFF51EF0476700AD2478 /* MidiInstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFFE1EF0475F00AD2478 /* MidiInstrumentAttributes.cpp */; }; + 29A8EFF61EF0476700AD2478 /* MidiInstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFFE1EF0475F00AD2478 /* MidiInstrumentAttributes.cpp */; }; + 29A8EFFD1EF0476700AD2478 /* MidiName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0001EF0475F00AD2478 /* MidiName.cpp */; }; + 29A8EFFE1EF0476700AD2478 /* MidiName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0001EF0475F00AD2478 /* MidiName.cpp */; }; + 29A8EFFF1EF0476700AD2478 /* MidiName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0001EF0475F00AD2478 /* MidiName.cpp */; }; + 29A8F0001EF0476700AD2478 /* MidiName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0001EF0475F00AD2478 /* MidiName.cpp */; }; + 29A8F0071EF0476700AD2478 /* MidiProgram.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0021EF0475F00AD2478 /* MidiProgram.cpp */; }; + 29A8F0081EF0476700AD2478 /* MidiProgram.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0021EF0475F00AD2478 /* MidiProgram.cpp */; }; + 29A8F0091EF0476700AD2478 /* MidiProgram.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0021EF0475F00AD2478 /* MidiProgram.cpp */; }; + 29A8F00A1EF0476700AD2478 /* MidiProgram.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0021EF0475F00AD2478 /* MidiProgram.cpp */; }; + 29A8F0111EF0476700AD2478 /* MidiUnpitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0041EF0475F00AD2478 /* MidiUnpitched.cpp */; }; + 29A8F0121EF0476700AD2478 /* MidiUnpitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0041EF0475F00AD2478 /* MidiUnpitched.cpp */; }; + 29A8F0131EF0476700AD2478 /* MidiUnpitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0041EF0475F00AD2478 /* MidiUnpitched.cpp */; }; + 29A8F0141EF0476700AD2478 /* MidiUnpitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0041EF0475F00AD2478 /* MidiUnpitched.cpp */; }; + 29A8F01B1EF0476700AD2478 /* Millimeters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0061EF0475F00AD2478 /* Millimeters.cpp */; }; + 29A8F01C1EF0476700AD2478 /* Millimeters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0061EF0475F00AD2478 /* Millimeters.cpp */; }; + 29A8F01D1EF0476700AD2478 /* Millimeters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0061EF0475F00AD2478 /* Millimeters.cpp */; }; + 29A8F01E1EF0476700AD2478 /* Millimeters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0061EF0475F00AD2478 /* Millimeters.cpp */; }; + 29A8F0251EF0476700AD2478 /* Miscellaneous.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0081EF0475F00AD2478 /* Miscellaneous.cpp */; }; + 29A8F0261EF0476700AD2478 /* Miscellaneous.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0081EF0475F00AD2478 /* Miscellaneous.cpp */; }; + 29A8F0271EF0476700AD2478 /* Miscellaneous.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0081EF0475F00AD2478 /* Miscellaneous.cpp */; }; + 29A8F0281EF0476700AD2478 /* Miscellaneous.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0081EF0475F00AD2478 /* Miscellaneous.cpp */; }; + 29A8F02F1EF0476700AD2478 /* MiscellaneousField.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E00A1EF0475F00AD2478 /* MiscellaneousField.cpp */; }; + 29A8F0301EF0476700AD2478 /* MiscellaneousField.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E00A1EF0475F00AD2478 /* MiscellaneousField.cpp */; }; + 29A8F0311EF0476700AD2478 /* MiscellaneousField.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E00A1EF0475F00AD2478 /* MiscellaneousField.cpp */; }; + 29A8F0321EF0476700AD2478 /* MiscellaneousField.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E00A1EF0475F00AD2478 /* MiscellaneousField.cpp */; }; + 29A8F0391EF0476700AD2478 /* MiscellaneousFieldAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E00C1EF0475F00AD2478 /* MiscellaneousFieldAttributes.cpp */; }; + 29A8F03A1EF0476700AD2478 /* MiscellaneousFieldAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E00C1EF0475F00AD2478 /* MiscellaneousFieldAttributes.cpp */; }; + 29A8F03B1EF0476700AD2478 /* MiscellaneousFieldAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E00C1EF0475F00AD2478 /* MiscellaneousFieldAttributes.cpp */; }; + 29A8F03C1EF0476700AD2478 /* MiscellaneousFieldAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E00C1EF0475F00AD2478 /* MiscellaneousFieldAttributes.cpp */; }; + 29A8F0431EF0476700AD2478 /* Mode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E00E1EF0475F00AD2478 /* Mode.cpp */; }; + 29A8F0441EF0476700AD2478 /* Mode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E00E1EF0475F00AD2478 /* Mode.cpp */; }; + 29A8F0451EF0476700AD2478 /* Mode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E00E1EF0475F00AD2478 /* Mode.cpp */; }; + 29A8F0461EF0476700AD2478 /* Mode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E00E1EF0475F00AD2478 /* Mode.cpp */; }; + 29A8F04D1EF0476700AD2478 /* Mordent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0101EF0475F00AD2478 /* Mordent.cpp */; }; + 29A8F04E1EF0476700AD2478 /* Mordent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0101EF0475F00AD2478 /* Mordent.cpp */; }; + 29A8F04F1EF0476700AD2478 /* Mordent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0101EF0475F00AD2478 /* Mordent.cpp */; }; + 29A8F0501EF0476700AD2478 /* Mordent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0101EF0475F00AD2478 /* Mordent.cpp */; }; + 29A8F0571EF0476700AD2478 /* MordentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0121EF0475F00AD2478 /* MordentAttributes.cpp */; }; + 29A8F0581EF0476700AD2478 /* MordentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0121EF0475F00AD2478 /* MordentAttributes.cpp */; }; + 29A8F0591EF0476700AD2478 /* MordentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0121EF0475F00AD2478 /* MordentAttributes.cpp */; }; + 29A8F05A1EF0476700AD2478 /* MordentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0121EF0475F00AD2478 /* MordentAttributes.cpp */; }; + 29A8F0611EF0476700AD2478 /* MovementNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0141EF0475F00AD2478 /* MovementNumber.cpp */; }; + 29A8F0621EF0476700AD2478 /* MovementNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0141EF0475F00AD2478 /* MovementNumber.cpp */; }; + 29A8F0631EF0476700AD2478 /* MovementNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0141EF0475F00AD2478 /* MovementNumber.cpp */; }; + 29A8F0641EF0476700AD2478 /* MovementNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0141EF0475F00AD2478 /* MovementNumber.cpp */; }; + 29A8F06B1EF0476700AD2478 /* MovementTitle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0161EF0475F00AD2478 /* MovementTitle.cpp */; }; + 29A8F06C1EF0476700AD2478 /* MovementTitle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0161EF0475F00AD2478 /* MovementTitle.cpp */; }; + 29A8F06D1EF0476700AD2478 /* MovementTitle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0161EF0475F00AD2478 /* MovementTitle.cpp */; }; + 29A8F06E1EF0476700AD2478 /* MovementTitle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0161EF0475F00AD2478 /* MovementTitle.cpp */; }; + 29A8F0751EF0476700AD2478 /* MultipleRest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0181EF0475F00AD2478 /* MultipleRest.cpp */; }; + 29A8F0761EF0476700AD2478 /* MultipleRest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0181EF0475F00AD2478 /* MultipleRest.cpp */; }; + 29A8F0771EF0476700AD2478 /* MultipleRest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0181EF0475F00AD2478 /* MultipleRest.cpp */; }; + 29A8F0781EF0476700AD2478 /* MultipleRest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0181EF0475F00AD2478 /* MultipleRest.cpp */; }; + 29A8F07F1EF0476700AD2478 /* MultipleRestAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E01A1EF0475F00AD2478 /* MultipleRestAttributes.cpp */; }; + 29A8F0801EF0476700AD2478 /* MultipleRestAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E01A1EF0475F00AD2478 /* MultipleRestAttributes.cpp */; }; + 29A8F0811EF0476700AD2478 /* MultipleRestAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E01A1EF0475F00AD2478 /* MultipleRestAttributes.cpp */; }; + 29A8F0821EF0476700AD2478 /* MultipleRestAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E01A1EF0475F00AD2478 /* MultipleRestAttributes.cpp */; }; + 29A8F0891EF0476700AD2478 /* MusicDataChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E01C1EF0475F00AD2478 /* MusicDataChoice.cpp */; }; + 29A8F08A1EF0476700AD2478 /* MusicDataChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E01C1EF0475F00AD2478 /* MusicDataChoice.cpp */; }; + 29A8F08B1EF0476700AD2478 /* MusicDataChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E01C1EF0475F00AD2478 /* MusicDataChoice.cpp */; }; + 29A8F08C1EF0476700AD2478 /* MusicDataChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E01C1EF0475F00AD2478 /* MusicDataChoice.cpp */; }; + 29A8F0931EF0476700AD2478 /* MusicDataGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E01E1EF0475F00AD2478 /* MusicDataGroup.cpp */; }; + 29A8F0941EF0476700AD2478 /* MusicDataGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E01E1EF0475F00AD2478 /* MusicDataGroup.cpp */; }; + 29A8F0951EF0476700AD2478 /* MusicDataGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E01E1EF0475F00AD2478 /* MusicDataGroup.cpp */; }; + 29A8F0961EF0476700AD2478 /* MusicDataGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E01E1EF0475F00AD2478 /* MusicDataGroup.cpp */; }; + 29A8F09D1EF0476700AD2478 /* MusicFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0201EF0475F00AD2478 /* MusicFont.cpp */; }; + 29A8F09E1EF0476700AD2478 /* MusicFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0201EF0475F00AD2478 /* MusicFont.cpp */; }; + 29A8F09F1EF0476700AD2478 /* MusicFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0201EF0475F00AD2478 /* MusicFont.cpp */; }; + 29A8F0A01EF0476700AD2478 /* MusicFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0201EF0475F00AD2478 /* MusicFont.cpp */; }; + 29A8F0A71EF0476700AD2478 /* Mute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0221EF0475F00AD2478 /* Mute.cpp */; }; + 29A8F0A81EF0476700AD2478 /* Mute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0221EF0475F00AD2478 /* Mute.cpp */; }; + 29A8F0A91EF0476700AD2478 /* Mute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0221EF0475F00AD2478 /* Mute.cpp */; }; + 29A8F0AA1EF0476700AD2478 /* Mute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0221EF0475F00AD2478 /* Mute.cpp */; }; + 29A8F0B11EF0476700AD2478 /* Natural.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0241EF0475F00AD2478 /* Natural.cpp */; }; + 29A8F0B21EF0476700AD2478 /* Natural.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0241EF0475F00AD2478 /* Natural.cpp */; }; + 29A8F0B31EF0476700AD2478 /* Natural.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0241EF0475F00AD2478 /* Natural.cpp */; }; + 29A8F0B41EF0476700AD2478 /* Natural.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0241EF0475F00AD2478 /* Natural.cpp */; }; + 29A8F0BB1EF0476700AD2478 /* NonArpeggiate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0261EF0475F00AD2478 /* NonArpeggiate.cpp */; }; + 29A8F0BC1EF0476700AD2478 /* NonArpeggiate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0261EF0475F00AD2478 /* NonArpeggiate.cpp */; }; + 29A8F0BD1EF0476700AD2478 /* NonArpeggiate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0261EF0475F00AD2478 /* NonArpeggiate.cpp */; }; + 29A8F0BE1EF0476700AD2478 /* NonArpeggiate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0261EF0475F00AD2478 /* NonArpeggiate.cpp */; }; + 29A8F0C51EF0476700AD2478 /* NonArpeggiateAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0281EF0475F00AD2478 /* NonArpeggiateAttributes.cpp */; }; + 29A8F0C61EF0476700AD2478 /* NonArpeggiateAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0281EF0475F00AD2478 /* NonArpeggiateAttributes.cpp */; }; + 29A8F0C71EF0476700AD2478 /* NonArpeggiateAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0281EF0475F00AD2478 /* NonArpeggiateAttributes.cpp */; }; + 29A8F0C81EF0476700AD2478 /* NonArpeggiateAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0281EF0475F00AD2478 /* NonArpeggiateAttributes.cpp */; }; + 29A8F0CF1EF0476700AD2478 /* NonTraditionalKey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E02A1EF0475F00AD2478 /* NonTraditionalKey.cpp */; }; + 29A8F0D01EF0476700AD2478 /* NonTraditionalKey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E02A1EF0475F00AD2478 /* NonTraditionalKey.cpp */; }; + 29A8F0D11EF0476700AD2478 /* NonTraditionalKey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E02A1EF0475F00AD2478 /* NonTraditionalKey.cpp */; }; + 29A8F0D21EF0476700AD2478 /* NonTraditionalKey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E02A1EF0475F00AD2478 /* NonTraditionalKey.cpp */; }; + 29A8F0D91EF0476700AD2478 /* NormalDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E02C1EF0475F00AD2478 /* NormalDot.cpp */; }; + 29A8F0DA1EF0476700AD2478 /* NormalDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E02C1EF0475F00AD2478 /* NormalDot.cpp */; }; + 29A8F0DB1EF0476700AD2478 /* NormalDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E02C1EF0475F00AD2478 /* NormalDot.cpp */; }; + 29A8F0DC1EF0476700AD2478 /* NormalDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E02C1EF0475F00AD2478 /* NormalDot.cpp */; }; + 29A8F0E31EF0476700AD2478 /* NormalNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E02E1EF0475F00AD2478 /* NormalNoteGroup.cpp */; }; + 29A8F0E41EF0476700AD2478 /* NormalNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E02E1EF0475F00AD2478 /* NormalNoteGroup.cpp */; }; + 29A8F0E51EF0476700AD2478 /* NormalNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E02E1EF0475F00AD2478 /* NormalNoteGroup.cpp */; }; + 29A8F0E61EF0476700AD2478 /* NormalNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E02E1EF0475F00AD2478 /* NormalNoteGroup.cpp */; }; + 29A8F0ED1EF0476700AD2478 /* NormalNotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0301EF0475F00AD2478 /* NormalNotes.cpp */; }; + 29A8F0EE1EF0476700AD2478 /* NormalNotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0301EF0475F00AD2478 /* NormalNotes.cpp */; }; + 29A8F0EF1EF0476700AD2478 /* NormalNotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0301EF0475F00AD2478 /* NormalNotes.cpp */; }; + 29A8F0F01EF0476700AD2478 /* NormalNotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0301EF0475F00AD2478 /* NormalNotes.cpp */; }; + 29A8F0F71EF0476700AD2478 /* NormalType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0321EF0475F00AD2478 /* NormalType.cpp */; }; + 29A8F0F81EF0476700AD2478 /* NormalType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0321EF0475F00AD2478 /* NormalType.cpp */; }; + 29A8F0F91EF0476700AD2478 /* NormalType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0321EF0475F00AD2478 /* NormalType.cpp */; }; + 29A8F0FA1EF0476700AD2478 /* NormalType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0321EF0475F00AD2478 /* NormalType.cpp */; }; + 29A8F1011EF0476700AD2478 /* NormalTypeNormalDotGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0341EF0475F00AD2478 /* NormalTypeNormalDotGroup.cpp */; }; + 29A8F1021EF0476700AD2478 /* NormalTypeNormalDotGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0341EF0475F00AD2478 /* NormalTypeNormalDotGroup.cpp */; }; + 29A8F1031EF0476700AD2478 /* NormalTypeNormalDotGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0341EF0475F00AD2478 /* NormalTypeNormalDotGroup.cpp */; }; + 29A8F1041EF0476700AD2478 /* NormalTypeNormalDotGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0341EF0475F00AD2478 /* NormalTypeNormalDotGroup.cpp */; }; + 29A8F10B1EF0476700AD2478 /* Notations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0361EF0475F00AD2478 /* Notations.cpp */; }; + 29A8F10C1EF0476700AD2478 /* Notations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0361EF0475F00AD2478 /* Notations.cpp */; }; + 29A8F10D1EF0476700AD2478 /* Notations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0361EF0475F00AD2478 /* Notations.cpp */; }; + 29A8F10E1EF0476700AD2478 /* Notations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0361EF0475F00AD2478 /* Notations.cpp */; }; + 29A8F1151EF0476700AD2478 /* NotationsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0381EF0475F00AD2478 /* NotationsAttributes.cpp */; }; + 29A8F1161EF0476700AD2478 /* NotationsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0381EF0475F00AD2478 /* NotationsAttributes.cpp */; }; + 29A8F1171EF0476700AD2478 /* NotationsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0381EF0475F00AD2478 /* NotationsAttributes.cpp */; }; + 29A8F1181EF0476700AD2478 /* NotationsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0381EF0475F00AD2478 /* NotationsAttributes.cpp */; }; + 29A8F11F1EF0476700AD2478 /* NotationsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E03A1EF0475F00AD2478 /* NotationsChoice.cpp */; }; + 29A8F1201EF0476700AD2478 /* NotationsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E03A1EF0475F00AD2478 /* NotationsChoice.cpp */; }; + 29A8F1211EF0476700AD2478 /* NotationsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E03A1EF0475F00AD2478 /* NotationsChoice.cpp */; }; + 29A8F1221EF0476700AD2478 /* NotationsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E03A1EF0475F00AD2478 /* NotationsChoice.cpp */; }; + 29A8F1291EF0476700AD2478 /* Note.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E03C1EF0475F00AD2478 /* Note.cpp */; }; + 29A8F12A1EF0476700AD2478 /* Note.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E03C1EF0475F00AD2478 /* Note.cpp */; }; + 29A8F12B1EF0476700AD2478 /* Note.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E03C1EF0475F00AD2478 /* Note.cpp */; }; + 29A8F12C1EF0476700AD2478 /* Note.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E03C1EF0475F00AD2478 /* Note.cpp */; }; + 29A8F1331EF0476700AD2478 /* NoteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E03E1EF0475F00AD2478 /* NoteAttributes.cpp */; }; + 29A8F1341EF0476700AD2478 /* NoteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E03E1EF0475F00AD2478 /* NoteAttributes.cpp */; }; + 29A8F1351EF0476700AD2478 /* NoteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E03E1EF0475F00AD2478 /* NoteAttributes.cpp */; }; + 29A8F1361EF0476700AD2478 /* NoteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E03E1EF0475F00AD2478 /* NoteAttributes.cpp */; }; + 29A8F13D1EF0476700AD2478 /* NoteChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0401EF0475F00AD2478 /* NoteChoice.cpp */; }; + 29A8F13E1EF0476700AD2478 /* NoteChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0401EF0475F00AD2478 /* NoteChoice.cpp */; }; + 29A8F13F1EF0476700AD2478 /* NoteChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0401EF0475F00AD2478 /* NoteChoice.cpp */; }; + 29A8F1401EF0476700AD2478 /* NoteChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0401EF0475F00AD2478 /* NoteChoice.cpp */; }; + 29A8F1471EF0476700AD2478 /* Notehead.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0421EF0475F00AD2478 /* Notehead.cpp */; }; + 29A8F1481EF0476700AD2478 /* Notehead.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0421EF0475F00AD2478 /* Notehead.cpp */; }; + 29A8F1491EF0476700AD2478 /* Notehead.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0421EF0475F00AD2478 /* Notehead.cpp */; }; + 29A8F14A1EF0476700AD2478 /* Notehead.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0421EF0475F00AD2478 /* Notehead.cpp */; }; + 29A8F1511EF0476800AD2478 /* NoteheadAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0441EF0475F00AD2478 /* NoteheadAttributes.cpp */; }; + 29A8F1521EF0476800AD2478 /* NoteheadAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0441EF0475F00AD2478 /* NoteheadAttributes.cpp */; }; + 29A8F1531EF0476800AD2478 /* NoteheadAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0441EF0475F00AD2478 /* NoteheadAttributes.cpp */; }; + 29A8F1541EF0476800AD2478 /* NoteheadAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0441EF0475F00AD2478 /* NoteheadAttributes.cpp */; }; + 29A8F15B1EF0476800AD2478 /* NoteheadText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0461EF0475F00AD2478 /* NoteheadText.cpp */; }; + 29A8F15C1EF0476800AD2478 /* NoteheadText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0461EF0475F00AD2478 /* NoteheadText.cpp */; }; + 29A8F15D1EF0476800AD2478 /* NoteheadText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0461EF0475F00AD2478 /* NoteheadText.cpp */; }; + 29A8F15E1EF0476800AD2478 /* NoteheadText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0461EF0475F00AD2478 /* NoteheadText.cpp */; }; + 29A8F1651EF0476800AD2478 /* NoteheadTextChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0481EF0475F00AD2478 /* NoteheadTextChoice.cpp */; }; + 29A8F1661EF0476800AD2478 /* NoteheadTextChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0481EF0475F00AD2478 /* NoteheadTextChoice.cpp */; }; + 29A8F1671EF0476800AD2478 /* NoteheadTextChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0481EF0475F00AD2478 /* NoteheadTextChoice.cpp */; }; + 29A8F1681EF0476800AD2478 /* NoteheadTextChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0481EF0475F00AD2478 /* NoteheadTextChoice.cpp */; }; + 29A8F16F1EF0476800AD2478 /* NoteRelationNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E04A1EF0475F00AD2478 /* NoteRelationNote.cpp */; }; + 29A8F1701EF0476800AD2478 /* NoteRelationNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E04A1EF0475F00AD2478 /* NoteRelationNote.cpp */; }; + 29A8F1711EF0476800AD2478 /* NoteRelationNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E04A1EF0475F00AD2478 /* NoteRelationNote.cpp */; }; + 29A8F1721EF0476800AD2478 /* NoteRelationNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E04A1EF0475F00AD2478 /* NoteRelationNote.cpp */; }; + 29A8F1791EF0476800AD2478 /* NoteSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E04C1EF0475F00AD2478 /* NoteSize.cpp */; }; + 29A8F17A1EF0476800AD2478 /* NoteSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E04C1EF0475F00AD2478 /* NoteSize.cpp */; }; + 29A8F17B1EF0476800AD2478 /* NoteSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E04C1EF0475F00AD2478 /* NoteSize.cpp */; }; + 29A8F17C1EF0476800AD2478 /* NoteSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E04C1EF0475F00AD2478 /* NoteSize.cpp */; }; + 29A8F1831EF0476800AD2478 /* NoteSizeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E04E1EF0475F00AD2478 /* NoteSizeAttributes.cpp */; }; + 29A8F1841EF0476800AD2478 /* NoteSizeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E04E1EF0475F00AD2478 /* NoteSizeAttributes.cpp */; }; + 29A8F1851EF0476800AD2478 /* NoteSizeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E04E1EF0475F00AD2478 /* NoteSizeAttributes.cpp */; }; + 29A8F1861EF0476800AD2478 /* NoteSizeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E04E1EF0475F00AD2478 /* NoteSizeAttributes.cpp */; }; + 29A8F18D1EF0476800AD2478 /* Octave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0501EF0475F00AD2478 /* Octave.cpp */; }; + 29A8F18E1EF0476800AD2478 /* Octave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0501EF0475F00AD2478 /* Octave.cpp */; }; + 29A8F18F1EF0476800AD2478 /* Octave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0501EF0475F00AD2478 /* Octave.cpp */; }; + 29A8F1901EF0476800AD2478 /* Octave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0501EF0475F00AD2478 /* Octave.cpp */; }; + 29A8F1971EF0476800AD2478 /* OctaveChange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0521EF0475F00AD2478 /* OctaveChange.cpp */; }; + 29A8F1981EF0476800AD2478 /* OctaveChange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0521EF0475F00AD2478 /* OctaveChange.cpp */; }; + 29A8F1991EF0476800AD2478 /* OctaveChange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0521EF0475F00AD2478 /* OctaveChange.cpp */; }; + 29A8F19A1EF0476800AD2478 /* OctaveChange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0521EF0475F00AD2478 /* OctaveChange.cpp */; }; + 29A8F1A11EF0476800AD2478 /* OctaveShift.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0541EF0475F00AD2478 /* OctaveShift.cpp */; }; + 29A8F1A21EF0476800AD2478 /* OctaveShift.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0541EF0475F00AD2478 /* OctaveShift.cpp */; }; + 29A8F1A31EF0476800AD2478 /* OctaveShift.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0541EF0475F00AD2478 /* OctaveShift.cpp */; }; + 29A8F1A41EF0476800AD2478 /* OctaveShift.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0541EF0475F00AD2478 /* OctaveShift.cpp */; }; + 29A8F1AB1EF0476800AD2478 /* OctaveShiftAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0561EF0475F00AD2478 /* OctaveShiftAttributes.cpp */; }; + 29A8F1AC1EF0476800AD2478 /* OctaveShiftAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0561EF0475F00AD2478 /* OctaveShiftAttributes.cpp */; }; + 29A8F1AD1EF0476800AD2478 /* OctaveShiftAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0561EF0475F00AD2478 /* OctaveShiftAttributes.cpp */; }; + 29A8F1AE1EF0476800AD2478 /* OctaveShiftAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0561EF0475F00AD2478 /* OctaveShiftAttributes.cpp */; }; + 29A8F1B51EF0476800AD2478 /* Offset.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0581EF0475F00AD2478 /* Offset.cpp */; }; + 29A8F1B61EF0476800AD2478 /* Offset.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0581EF0475F00AD2478 /* Offset.cpp */; }; + 29A8F1B71EF0476800AD2478 /* Offset.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0581EF0475F00AD2478 /* Offset.cpp */; }; + 29A8F1B81EF0476800AD2478 /* Offset.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0581EF0475F00AD2478 /* Offset.cpp */; }; + 29A8F1BF1EF0476800AD2478 /* OffsetAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E05A1EF0475F00AD2478 /* OffsetAttributes.cpp */; }; + 29A8F1C01EF0476800AD2478 /* OffsetAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E05A1EF0475F00AD2478 /* OffsetAttributes.cpp */; }; + 29A8F1C11EF0476800AD2478 /* OffsetAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E05A1EF0475F00AD2478 /* OffsetAttributes.cpp */; }; + 29A8F1C21EF0476800AD2478 /* OffsetAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E05A1EF0475F00AD2478 /* OffsetAttributes.cpp */; }; + 29A8F1C91EF0476800AD2478 /* OpenString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E05C1EF0475F00AD2478 /* OpenString.cpp */; }; + 29A8F1CA1EF0476800AD2478 /* OpenString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E05C1EF0475F00AD2478 /* OpenString.cpp */; }; + 29A8F1CB1EF0476800AD2478 /* OpenString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E05C1EF0475F00AD2478 /* OpenString.cpp */; }; + 29A8F1CC1EF0476800AD2478 /* OpenString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E05C1EF0475F00AD2478 /* OpenString.cpp */; }; + 29A8F1D31EF0476800AD2478 /* Opus.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E05E1EF0475F00AD2478 /* Opus.cpp */; }; + 29A8F1D41EF0476800AD2478 /* Opus.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E05E1EF0475F00AD2478 /* Opus.cpp */; }; + 29A8F1D51EF0476800AD2478 /* Opus.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E05E1EF0475F00AD2478 /* Opus.cpp */; }; + 29A8F1D61EF0476800AD2478 /* Opus.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E05E1EF0475F00AD2478 /* Opus.cpp */; }; + 29A8F1DD1EF0476800AD2478 /* OpusAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0601EF0475F00AD2478 /* OpusAttributes.cpp */; }; + 29A8F1DE1EF0476800AD2478 /* OpusAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0601EF0475F00AD2478 /* OpusAttributes.cpp */; }; + 29A8F1DF1EF0476800AD2478 /* OpusAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0601EF0475F00AD2478 /* OpusAttributes.cpp */; }; + 29A8F1E01EF0476800AD2478 /* OpusAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0601EF0475F00AD2478 /* OpusAttributes.cpp */; }; + 29A8F1E71EF0476800AD2478 /* Ornaments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0621EF0475F00AD2478 /* Ornaments.cpp */; }; + 29A8F1E81EF0476800AD2478 /* Ornaments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0621EF0475F00AD2478 /* Ornaments.cpp */; }; + 29A8F1E91EF0476800AD2478 /* Ornaments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0621EF0475F00AD2478 /* Ornaments.cpp */; }; + 29A8F1EA1EF0476800AD2478 /* Ornaments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0621EF0475F00AD2478 /* Ornaments.cpp */; }; + 29A8F1F11EF0476800AD2478 /* OrnamentsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0641EF0475F00AD2478 /* OrnamentsChoice.cpp */; }; + 29A8F1F21EF0476800AD2478 /* OrnamentsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0641EF0475F00AD2478 /* OrnamentsChoice.cpp */; }; + 29A8F1F31EF0476800AD2478 /* OrnamentsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0641EF0475F00AD2478 /* OrnamentsChoice.cpp */; }; + 29A8F1F41EF0476800AD2478 /* OrnamentsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0641EF0475F00AD2478 /* OrnamentsChoice.cpp */; }; + 29A8F1FB1EF0476800AD2478 /* OtherAppearance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0661EF0475F00AD2478 /* OtherAppearance.cpp */; }; + 29A8F1FC1EF0476800AD2478 /* OtherAppearance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0661EF0475F00AD2478 /* OtherAppearance.cpp */; }; + 29A8F1FD1EF0476800AD2478 /* OtherAppearance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0661EF0475F00AD2478 /* OtherAppearance.cpp */; }; + 29A8F1FE1EF0476800AD2478 /* OtherAppearance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0661EF0475F00AD2478 /* OtherAppearance.cpp */; }; + 29A8F2051EF0476800AD2478 /* OtherAppearanceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0681EF0475F00AD2478 /* OtherAppearanceAttributes.cpp */; }; + 29A8F2061EF0476800AD2478 /* OtherAppearanceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0681EF0475F00AD2478 /* OtherAppearanceAttributes.cpp */; }; + 29A8F2071EF0476800AD2478 /* OtherAppearanceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0681EF0475F00AD2478 /* OtherAppearanceAttributes.cpp */; }; + 29A8F2081EF0476800AD2478 /* OtherAppearanceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0681EF0475F00AD2478 /* OtherAppearanceAttributes.cpp */; }; + 29A8F20F1EF0476800AD2478 /* OtherArticulation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E06A1EF0475F00AD2478 /* OtherArticulation.cpp */; }; + 29A8F2101EF0476800AD2478 /* OtherArticulation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E06A1EF0475F00AD2478 /* OtherArticulation.cpp */; }; + 29A8F2111EF0476800AD2478 /* OtherArticulation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E06A1EF0475F00AD2478 /* OtherArticulation.cpp */; }; + 29A8F2121EF0476800AD2478 /* OtherArticulation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E06A1EF0475F00AD2478 /* OtherArticulation.cpp */; }; + 29A8F2191EF0476800AD2478 /* OtherArticulationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E06C1EF0475F00AD2478 /* OtherArticulationAttributes.cpp */; }; + 29A8F21A1EF0476800AD2478 /* OtherArticulationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E06C1EF0475F00AD2478 /* OtherArticulationAttributes.cpp */; }; + 29A8F21B1EF0476800AD2478 /* OtherArticulationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E06C1EF0475F00AD2478 /* OtherArticulationAttributes.cpp */; }; + 29A8F21C1EF0476800AD2478 /* OtherArticulationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E06C1EF0475F00AD2478 /* OtherArticulationAttributes.cpp */; }; + 29A8F2231EF0476800AD2478 /* OtherDirection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E06E1EF0475F00AD2478 /* OtherDirection.cpp */; }; + 29A8F2241EF0476800AD2478 /* OtherDirection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E06E1EF0475F00AD2478 /* OtherDirection.cpp */; }; + 29A8F2251EF0476800AD2478 /* OtherDirection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E06E1EF0475F00AD2478 /* OtherDirection.cpp */; }; + 29A8F2261EF0476800AD2478 /* OtherDirection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E06E1EF0475F00AD2478 /* OtherDirection.cpp */; }; + 29A8F22D1EF0476800AD2478 /* OtherDirectionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0701EF0475F00AD2478 /* OtherDirectionAttributes.cpp */; }; + 29A8F22E1EF0476800AD2478 /* OtherDirectionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0701EF0475F00AD2478 /* OtherDirectionAttributes.cpp */; }; + 29A8F22F1EF0476800AD2478 /* OtherDirectionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0701EF0475F00AD2478 /* OtherDirectionAttributes.cpp */; }; + 29A8F2301EF0476800AD2478 /* OtherDirectionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0701EF0475F00AD2478 /* OtherDirectionAttributes.cpp */; }; + 29A8F2371EF0476800AD2478 /* OtherNotation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0721EF0475F00AD2478 /* OtherNotation.cpp */; }; + 29A8F2381EF0476800AD2478 /* OtherNotation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0721EF0475F00AD2478 /* OtherNotation.cpp */; }; + 29A8F2391EF0476800AD2478 /* OtherNotation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0721EF0475F00AD2478 /* OtherNotation.cpp */; }; + 29A8F23A1EF0476800AD2478 /* OtherNotation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0721EF0475F00AD2478 /* OtherNotation.cpp */; }; + 29A8F2411EF0476800AD2478 /* OtherNotationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0741EF0475F00AD2478 /* OtherNotationAttributes.cpp */; }; + 29A8F2421EF0476800AD2478 /* OtherNotationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0741EF0475F00AD2478 /* OtherNotationAttributes.cpp */; }; + 29A8F2431EF0476800AD2478 /* OtherNotationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0741EF0475F00AD2478 /* OtherNotationAttributes.cpp */; }; + 29A8F2441EF0476800AD2478 /* OtherNotationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0741EF0475F00AD2478 /* OtherNotationAttributes.cpp */; }; + 29A8F24B1EF0476800AD2478 /* OtherOrnament.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0761EF0475F00AD2478 /* OtherOrnament.cpp */; }; + 29A8F24C1EF0476800AD2478 /* OtherOrnament.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0761EF0475F00AD2478 /* OtherOrnament.cpp */; }; + 29A8F24D1EF0476800AD2478 /* OtherOrnament.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0761EF0475F00AD2478 /* OtherOrnament.cpp */; }; + 29A8F24E1EF0476800AD2478 /* OtherOrnament.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0761EF0475F00AD2478 /* OtherOrnament.cpp */; }; + 29A8F2551EF0476800AD2478 /* OtherOrnamentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0781EF0475F00AD2478 /* OtherOrnamentAttributes.cpp */; }; + 29A8F2561EF0476800AD2478 /* OtherOrnamentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0781EF0475F00AD2478 /* OtherOrnamentAttributes.cpp */; }; + 29A8F2571EF0476800AD2478 /* OtherOrnamentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0781EF0475F00AD2478 /* OtherOrnamentAttributes.cpp */; }; + 29A8F2581EF0476800AD2478 /* OtherOrnamentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0781EF0475F00AD2478 /* OtherOrnamentAttributes.cpp */; }; + 29A8F25F1EF0476800AD2478 /* OtherPercussion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E07A1EF0475F00AD2478 /* OtherPercussion.cpp */; }; + 29A8F2601EF0476800AD2478 /* OtherPercussion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E07A1EF0475F00AD2478 /* OtherPercussion.cpp */; }; + 29A8F2611EF0476800AD2478 /* OtherPercussion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E07A1EF0475F00AD2478 /* OtherPercussion.cpp */; }; + 29A8F2621EF0476800AD2478 /* OtherPercussion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E07A1EF0475F00AD2478 /* OtherPercussion.cpp */; }; + 29A8F2691EF0476800AD2478 /* OtherPlay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E07C1EF0475F00AD2478 /* OtherPlay.cpp */; }; + 29A8F26A1EF0476800AD2478 /* OtherPlay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E07C1EF0475F00AD2478 /* OtherPlay.cpp */; }; + 29A8F26B1EF0476800AD2478 /* OtherPlay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E07C1EF0475F00AD2478 /* OtherPlay.cpp */; }; + 29A8F26C1EF0476800AD2478 /* OtherPlay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E07C1EF0475F00AD2478 /* OtherPlay.cpp */; }; + 29A8F2731EF0476800AD2478 /* OtherPlayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E07E1EF0475F00AD2478 /* OtherPlayAttributes.cpp */; }; + 29A8F2741EF0476800AD2478 /* OtherPlayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E07E1EF0475F00AD2478 /* OtherPlayAttributes.cpp */; }; + 29A8F2751EF0476800AD2478 /* OtherPlayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E07E1EF0475F00AD2478 /* OtherPlayAttributes.cpp */; }; + 29A8F2761EF0476800AD2478 /* OtherPlayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E07E1EF0475F00AD2478 /* OtherPlayAttributes.cpp */; }; + 29A8F27D1EF0476800AD2478 /* OtherTechnical.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0801EF0475F00AD2478 /* OtherTechnical.cpp */; }; + 29A8F27E1EF0476800AD2478 /* OtherTechnical.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0801EF0475F00AD2478 /* OtherTechnical.cpp */; }; + 29A8F27F1EF0476800AD2478 /* OtherTechnical.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0801EF0475F00AD2478 /* OtherTechnical.cpp */; }; + 29A8F2801EF0476800AD2478 /* OtherTechnical.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0801EF0475F00AD2478 /* OtherTechnical.cpp */; }; + 29A8F2871EF0476800AD2478 /* OtherTechnicalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0821EF0475F00AD2478 /* OtherTechnicalAttributes.cpp */; }; + 29A8F2881EF0476800AD2478 /* OtherTechnicalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0821EF0475F00AD2478 /* OtherTechnicalAttributes.cpp */; }; + 29A8F2891EF0476800AD2478 /* OtherTechnicalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0821EF0475F00AD2478 /* OtherTechnicalAttributes.cpp */; }; + 29A8F28A1EF0476800AD2478 /* OtherTechnicalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0821EF0475F00AD2478 /* OtherTechnicalAttributes.cpp */; }; + 29A8F2911EF0476800AD2478 /* PageHeight.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0841EF0475F00AD2478 /* PageHeight.cpp */; }; + 29A8F2921EF0476800AD2478 /* PageHeight.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0841EF0475F00AD2478 /* PageHeight.cpp */; }; + 29A8F2931EF0476800AD2478 /* PageHeight.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0841EF0475F00AD2478 /* PageHeight.cpp */; }; + 29A8F2941EF0476800AD2478 /* PageHeight.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0841EF0475F00AD2478 /* PageHeight.cpp */; }; + 29A8F29B1EF0476800AD2478 /* PageLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0861EF0475F00AD2478 /* PageLayout.cpp */; }; + 29A8F29C1EF0476800AD2478 /* PageLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0861EF0475F00AD2478 /* PageLayout.cpp */; }; + 29A8F29D1EF0476800AD2478 /* PageLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0861EF0475F00AD2478 /* PageLayout.cpp */; }; + 29A8F29E1EF0476800AD2478 /* PageLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0861EF0475F00AD2478 /* PageLayout.cpp */; }; + 29A8F2A51EF0476800AD2478 /* PageMargins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0881EF0475F00AD2478 /* PageMargins.cpp */; }; + 29A8F2A61EF0476800AD2478 /* PageMargins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0881EF0475F00AD2478 /* PageMargins.cpp */; }; + 29A8F2A71EF0476800AD2478 /* PageMargins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0881EF0475F00AD2478 /* PageMargins.cpp */; }; + 29A8F2A81EF0476800AD2478 /* PageMargins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0881EF0475F00AD2478 /* PageMargins.cpp */; }; + 29A8F2AF1EF0476800AD2478 /* PageMarginsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E08A1EF0475F00AD2478 /* PageMarginsAttributes.cpp */; }; + 29A8F2B01EF0476800AD2478 /* PageMarginsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E08A1EF0475F00AD2478 /* PageMarginsAttributes.cpp */; }; + 29A8F2B11EF0476800AD2478 /* PageMarginsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E08A1EF0475F00AD2478 /* PageMarginsAttributes.cpp */; }; + 29A8F2B21EF0476800AD2478 /* PageMarginsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E08A1EF0475F00AD2478 /* PageMarginsAttributes.cpp */; }; + 29A8F2B91EF0476800AD2478 /* PageWidth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E08C1EF0475F00AD2478 /* PageWidth.cpp */; }; + 29A8F2BA1EF0476800AD2478 /* PageWidth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E08C1EF0475F00AD2478 /* PageWidth.cpp */; }; + 29A8F2BB1EF0476800AD2478 /* PageWidth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E08C1EF0475F00AD2478 /* PageWidth.cpp */; }; + 29A8F2BC1EF0476800AD2478 /* PageWidth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E08C1EF0475F00AD2478 /* PageWidth.cpp */; }; + 29A8F2C31EF0476800AD2478 /* Pan.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E08E1EF0475F00AD2478 /* Pan.cpp */; }; + 29A8F2C41EF0476800AD2478 /* Pan.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E08E1EF0475F00AD2478 /* Pan.cpp */; }; + 29A8F2C51EF0476800AD2478 /* Pan.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E08E1EF0475F00AD2478 /* Pan.cpp */; }; + 29A8F2C61EF0476800AD2478 /* Pan.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E08E1EF0475F00AD2478 /* Pan.cpp */; }; + 29A8F2CD1EF0476800AD2478 /* PartAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0901EF0475F00AD2478 /* PartAbbreviation.cpp */; }; + 29A8F2CE1EF0476800AD2478 /* PartAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0901EF0475F00AD2478 /* PartAbbreviation.cpp */; }; + 29A8F2CF1EF0476800AD2478 /* PartAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0901EF0475F00AD2478 /* PartAbbreviation.cpp */; }; + 29A8F2D01EF0476800AD2478 /* PartAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0901EF0475F00AD2478 /* PartAbbreviation.cpp */; }; + 29A8F2D71EF0476800AD2478 /* PartAbbreviationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0921EF0475F00AD2478 /* PartAbbreviationAttributes.cpp */; }; + 29A8F2D81EF0476800AD2478 /* PartAbbreviationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0921EF0475F00AD2478 /* PartAbbreviationAttributes.cpp */; }; + 29A8F2D91EF0476800AD2478 /* PartAbbreviationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0921EF0475F00AD2478 /* PartAbbreviationAttributes.cpp */; }; + 29A8F2DA1EF0476800AD2478 /* PartAbbreviationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0921EF0475F00AD2478 /* PartAbbreviationAttributes.cpp */; }; + 29A8F2E11EF0476800AD2478 /* PartAbbreviationDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0941EF0475F00AD2478 /* PartAbbreviationDisplay.cpp */; }; + 29A8F2E21EF0476800AD2478 /* PartAbbreviationDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0941EF0475F00AD2478 /* PartAbbreviationDisplay.cpp */; }; + 29A8F2E31EF0476800AD2478 /* PartAbbreviationDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0941EF0475F00AD2478 /* PartAbbreviationDisplay.cpp */; }; + 29A8F2E41EF0476800AD2478 /* PartAbbreviationDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0941EF0475F00AD2478 /* PartAbbreviationDisplay.cpp */; }; + 29A8F2EB1EF0476800AD2478 /* PartAbbreviationDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0961EF0475F00AD2478 /* PartAbbreviationDisplayAttributes.cpp */; }; + 29A8F2EC1EF0476800AD2478 /* PartAbbreviationDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0961EF0475F00AD2478 /* PartAbbreviationDisplayAttributes.cpp */; }; + 29A8F2ED1EF0476800AD2478 /* PartAbbreviationDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0961EF0475F00AD2478 /* PartAbbreviationDisplayAttributes.cpp */; }; + 29A8F2EE1EF0476800AD2478 /* PartAbbreviationDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0961EF0475F00AD2478 /* PartAbbreviationDisplayAttributes.cpp */; }; + 29A8F2F51EF0476800AD2478 /* PartAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0981EF0475F00AD2478 /* PartAttributes.cpp */; }; + 29A8F2F61EF0476800AD2478 /* PartAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0981EF0475F00AD2478 /* PartAttributes.cpp */; }; + 29A8F2F71EF0476800AD2478 /* PartAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0981EF0475F00AD2478 /* PartAttributes.cpp */; }; + 29A8F2F81EF0476800AD2478 /* PartAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0981EF0475F00AD2478 /* PartAttributes.cpp */; }; + 29A8F2FF1EF0476800AD2478 /* PartGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E09A1EF0475F00AD2478 /* PartGroup.cpp */; }; + 29A8F3001EF0476800AD2478 /* PartGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E09A1EF0475F00AD2478 /* PartGroup.cpp */; }; + 29A8F3011EF0476800AD2478 /* PartGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E09A1EF0475F00AD2478 /* PartGroup.cpp */; }; + 29A8F3021EF0476800AD2478 /* PartGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E09A1EF0475F00AD2478 /* PartGroup.cpp */; }; + 29A8F3091EF0476800AD2478 /* PartGroupAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E09C1EF0475F00AD2478 /* PartGroupAttributes.cpp */; }; + 29A8F30A1EF0476800AD2478 /* PartGroupAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E09C1EF0475F00AD2478 /* PartGroupAttributes.cpp */; }; + 29A8F30B1EF0476800AD2478 /* PartGroupAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E09C1EF0475F00AD2478 /* PartGroupAttributes.cpp */; }; + 29A8F30C1EF0476800AD2478 /* PartGroupAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E09C1EF0475F00AD2478 /* PartGroupAttributes.cpp */; }; + 29A8F3131EF0476800AD2478 /* PartGroupOrScorePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E09E1EF0475F00AD2478 /* PartGroupOrScorePart.cpp */; }; + 29A8F3141EF0476800AD2478 /* PartGroupOrScorePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E09E1EF0475F00AD2478 /* PartGroupOrScorePart.cpp */; }; + 29A8F3151EF0476800AD2478 /* PartGroupOrScorePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E09E1EF0475F00AD2478 /* PartGroupOrScorePart.cpp */; }; + 29A8F3161EF0476800AD2478 /* PartGroupOrScorePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E09E1EF0475F00AD2478 /* PartGroupOrScorePart.cpp */; }; + 29A8F31D1EF0476800AD2478 /* PartList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0A01EF0475F00AD2478 /* PartList.cpp */; }; + 29A8F31E1EF0476800AD2478 /* PartList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0A01EF0475F00AD2478 /* PartList.cpp */; }; + 29A8F31F1EF0476800AD2478 /* PartList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0A01EF0475F00AD2478 /* PartList.cpp */; }; + 29A8F3201EF0476800AD2478 /* PartList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0A01EF0475F00AD2478 /* PartList.cpp */; }; + 29A8F3271EF0476800AD2478 /* PartName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0A21EF0475F00AD2478 /* PartName.cpp */; }; + 29A8F3281EF0476800AD2478 /* PartName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0A21EF0475F00AD2478 /* PartName.cpp */; }; + 29A8F3291EF0476800AD2478 /* PartName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0A21EF0475F00AD2478 /* PartName.cpp */; }; + 29A8F32A1EF0476800AD2478 /* PartName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0A21EF0475F00AD2478 /* PartName.cpp */; }; + 29A8F3311EF0476800AD2478 /* PartNameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0A41EF0476000AD2478 /* PartNameAttributes.cpp */; }; + 29A8F3321EF0476800AD2478 /* PartNameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0A41EF0476000AD2478 /* PartNameAttributes.cpp */; }; + 29A8F3331EF0476800AD2478 /* PartNameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0A41EF0476000AD2478 /* PartNameAttributes.cpp */; }; + 29A8F3341EF0476800AD2478 /* PartNameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0A41EF0476000AD2478 /* PartNameAttributes.cpp */; }; + 29A8F33B1EF0476800AD2478 /* PartNameDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0A61EF0476000AD2478 /* PartNameDisplay.cpp */; }; + 29A8F33C1EF0476800AD2478 /* PartNameDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0A61EF0476000AD2478 /* PartNameDisplay.cpp */; }; + 29A8F33D1EF0476800AD2478 /* PartNameDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0A61EF0476000AD2478 /* PartNameDisplay.cpp */; }; + 29A8F33E1EF0476800AD2478 /* PartNameDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0A61EF0476000AD2478 /* PartNameDisplay.cpp */; }; + 29A8F3451EF0476800AD2478 /* PartNameDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0A81EF0476000AD2478 /* PartNameDisplayAttributes.cpp */; }; + 29A8F3461EF0476800AD2478 /* PartNameDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0A81EF0476000AD2478 /* PartNameDisplayAttributes.cpp */; }; + 29A8F3471EF0476800AD2478 /* PartNameDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0A81EF0476000AD2478 /* PartNameDisplayAttributes.cpp */; }; + 29A8F3481EF0476800AD2478 /* PartNameDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0A81EF0476000AD2478 /* PartNameDisplayAttributes.cpp */; }; + 29A8F34F1EF0476800AD2478 /* PartSymbol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0AA1EF0476000AD2478 /* PartSymbol.cpp */; }; + 29A8F3501EF0476800AD2478 /* PartSymbol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0AA1EF0476000AD2478 /* PartSymbol.cpp */; }; + 29A8F3511EF0476800AD2478 /* PartSymbol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0AA1EF0476000AD2478 /* PartSymbol.cpp */; }; + 29A8F3521EF0476800AD2478 /* PartSymbol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0AA1EF0476000AD2478 /* PartSymbol.cpp */; }; + 29A8F3591EF0476800AD2478 /* PartSymbolAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0AC1EF0476000AD2478 /* PartSymbolAttributes.cpp */; }; + 29A8F35A1EF0476800AD2478 /* PartSymbolAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0AC1EF0476000AD2478 /* PartSymbolAttributes.cpp */; }; + 29A8F35B1EF0476800AD2478 /* PartSymbolAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0AC1EF0476000AD2478 /* PartSymbolAttributes.cpp */; }; + 29A8F35C1EF0476800AD2478 /* PartSymbolAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0AC1EF0476000AD2478 /* PartSymbolAttributes.cpp */; }; + 29A8F3631EF0476900AD2478 /* PartwiseMeasure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0AE1EF0476000AD2478 /* PartwiseMeasure.cpp */; }; + 29A8F3641EF0476900AD2478 /* PartwiseMeasure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0AE1EF0476000AD2478 /* PartwiseMeasure.cpp */; }; + 29A8F3651EF0476900AD2478 /* PartwiseMeasure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0AE1EF0476000AD2478 /* PartwiseMeasure.cpp */; }; + 29A8F3661EF0476900AD2478 /* PartwiseMeasure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0AE1EF0476000AD2478 /* PartwiseMeasure.cpp */; }; + 29A8F36D1EF0476900AD2478 /* PartwisePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0B01EF0476000AD2478 /* PartwisePart.cpp */; }; + 29A8F36E1EF0476900AD2478 /* PartwisePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0B01EF0476000AD2478 /* PartwisePart.cpp */; }; + 29A8F36F1EF0476900AD2478 /* PartwisePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0B01EF0476000AD2478 /* PartwisePart.cpp */; }; + 29A8F3701EF0476900AD2478 /* PartwisePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0B01EF0476000AD2478 /* PartwisePart.cpp */; }; + 29A8F3771EF0476900AD2478 /* Pedal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0B21EF0476000AD2478 /* Pedal.cpp */; }; + 29A8F3781EF0476900AD2478 /* Pedal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0B21EF0476000AD2478 /* Pedal.cpp */; }; + 29A8F3791EF0476900AD2478 /* Pedal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0B21EF0476000AD2478 /* Pedal.cpp */; }; + 29A8F37A1EF0476900AD2478 /* Pedal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0B21EF0476000AD2478 /* Pedal.cpp */; }; + 29A8F3811EF0476900AD2478 /* PedalAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0B41EF0476000AD2478 /* PedalAlter.cpp */; }; + 29A8F3821EF0476900AD2478 /* PedalAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0B41EF0476000AD2478 /* PedalAlter.cpp */; }; + 29A8F3831EF0476900AD2478 /* PedalAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0B41EF0476000AD2478 /* PedalAlter.cpp */; }; + 29A8F3841EF0476900AD2478 /* PedalAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0B41EF0476000AD2478 /* PedalAlter.cpp */; }; + 29A8F38B1EF0476900AD2478 /* PedalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0B61EF0476000AD2478 /* PedalAttributes.cpp */; }; + 29A8F38C1EF0476900AD2478 /* PedalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0B61EF0476000AD2478 /* PedalAttributes.cpp */; }; + 29A8F38D1EF0476900AD2478 /* PedalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0B61EF0476000AD2478 /* PedalAttributes.cpp */; }; + 29A8F38E1EF0476900AD2478 /* PedalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0B61EF0476000AD2478 /* PedalAttributes.cpp */; }; + 29A8F3951EF0476900AD2478 /* PedalStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0B81EF0476000AD2478 /* PedalStep.cpp */; }; + 29A8F3961EF0476900AD2478 /* PedalStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0B81EF0476000AD2478 /* PedalStep.cpp */; }; + 29A8F3971EF0476900AD2478 /* PedalStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0B81EF0476000AD2478 /* PedalStep.cpp */; }; + 29A8F3981EF0476900AD2478 /* PedalStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0B81EF0476000AD2478 /* PedalStep.cpp */; }; + 29A8F39F1EF0476900AD2478 /* PedalTuning.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0BA1EF0476000AD2478 /* PedalTuning.cpp */; }; + 29A8F3A01EF0476900AD2478 /* PedalTuning.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0BA1EF0476000AD2478 /* PedalTuning.cpp */; }; + 29A8F3A11EF0476900AD2478 /* PedalTuning.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0BA1EF0476000AD2478 /* PedalTuning.cpp */; }; + 29A8F3A21EF0476900AD2478 /* PedalTuning.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0BA1EF0476000AD2478 /* PedalTuning.cpp */; }; + 29A8F3A91EF0476900AD2478 /* Percussion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0BC1EF0476000AD2478 /* Percussion.cpp */; }; + 29A8F3AA1EF0476900AD2478 /* Percussion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0BC1EF0476000AD2478 /* Percussion.cpp */; }; + 29A8F3AB1EF0476900AD2478 /* Percussion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0BC1EF0476000AD2478 /* Percussion.cpp */; }; + 29A8F3AC1EF0476900AD2478 /* Percussion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0BC1EF0476000AD2478 /* Percussion.cpp */; }; + 29A8F3B31EF0476900AD2478 /* PercussionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0BE1EF0476000AD2478 /* PercussionAttributes.cpp */; }; + 29A8F3B41EF0476900AD2478 /* PercussionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0BE1EF0476000AD2478 /* PercussionAttributes.cpp */; }; + 29A8F3B51EF0476900AD2478 /* PercussionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0BE1EF0476000AD2478 /* PercussionAttributes.cpp */; }; + 29A8F3B61EF0476900AD2478 /* PercussionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0BE1EF0476000AD2478 /* PercussionAttributes.cpp */; }; + 29A8F3BD1EF0476900AD2478 /* PercussionChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0C01EF0476000AD2478 /* PercussionChoice.cpp */; }; + 29A8F3BE1EF0476900AD2478 /* PercussionChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0C01EF0476000AD2478 /* PercussionChoice.cpp */; }; + 29A8F3BF1EF0476900AD2478 /* PercussionChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0C01EF0476000AD2478 /* PercussionChoice.cpp */; }; + 29A8F3C01EF0476900AD2478 /* PercussionChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0C01EF0476000AD2478 /* PercussionChoice.cpp */; }; + 29A8F3C71EF0476900AD2478 /* PerMinute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0C21EF0476000AD2478 /* PerMinute.cpp */; }; + 29A8F3C81EF0476900AD2478 /* PerMinute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0C21EF0476000AD2478 /* PerMinute.cpp */; }; + 29A8F3C91EF0476900AD2478 /* PerMinute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0C21EF0476000AD2478 /* PerMinute.cpp */; }; + 29A8F3CA1EF0476900AD2478 /* PerMinute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0C21EF0476000AD2478 /* PerMinute.cpp */; }; + 29A8F3D11EF0476900AD2478 /* PerMinuteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0C41EF0476000AD2478 /* PerMinuteAttributes.cpp */; }; + 29A8F3D21EF0476900AD2478 /* PerMinuteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0C41EF0476000AD2478 /* PerMinuteAttributes.cpp */; }; + 29A8F3D31EF0476900AD2478 /* PerMinuteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0C41EF0476000AD2478 /* PerMinuteAttributes.cpp */; }; + 29A8F3D41EF0476900AD2478 /* PerMinuteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0C41EF0476000AD2478 /* PerMinuteAttributes.cpp */; }; + 29A8F3DB1EF0476900AD2478 /* PerMinuteOrBeatUnitChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0C61EF0476000AD2478 /* PerMinuteOrBeatUnitChoice.cpp */; }; + 29A8F3DC1EF0476900AD2478 /* PerMinuteOrBeatUnitChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0C61EF0476000AD2478 /* PerMinuteOrBeatUnitChoice.cpp */; }; + 29A8F3DD1EF0476900AD2478 /* PerMinuteOrBeatUnitChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0C61EF0476000AD2478 /* PerMinuteOrBeatUnitChoice.cpp */; }; + 29A8F3DE1EF0476900AD2478 /* PerMinuteOrBeatUnitChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0C61EF0476000AD2478 /* PerMinuteOrBeatUnitChoice.cpp */; }; + 29A8F3E51EF0476900AD2478 /* Pitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0C81EF0476000AD2478 /* Pitch.cpp */; }; + 29A8F3E61EF0476900AD2478 /* Pitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0C81EF0476000AD2478 /* Pitch.cpp */; }; + 29A8F3E71EF0476900AD2478 /* Pitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0C81EF0476000AD2478 /* Pitch.cpp */; }; + 29A8F3E81EF0476900AD2478 /* Pitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0C81EF0476000AD2478 /* Pitch.cpp */; }; + 29A8F3EF1EF0476900AD2478 /* Pitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0CA1EF0476000AD2478 /* Pitched.cpp */; }; + 29A8F3F01EF0476900AD2478 /* Pitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0CA1EF0476000AD2478 /* Pitched.cpp */; }; + 29A8F3F11EF0476900AD2478 /* Pitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0CA1EF0476000AD2478 /* Pitched.cpp */; }; + 29A8F3F21EF0476900AD2478 /* Pitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0CA1EF0476000AD2478 /* Pitched.cpp */; }; + 29A8F3F91EF0476900AD2478 /* Play.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0CC1EF0476000AD2478 /* Play.cpp */; }; + 29A8F3FA1EF0476900AD2478 /* Play.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0CC1EF0476000AD2478 /* Play.cpp */; }; + 29A8F3FB1EF0476900AD2478 /* Play.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0CC1EF0476000AD2478 /* Play.cpp */; }; + 29A8F3FC1EF0476900AD2478 /* Play.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0CC1EF0476000AD2478 /* Play.cpp */; }; + 29A8F4031EF0476900AD2478 /* PlayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0CE1EF0476000AD2478 /* PlayAttributes.cpp */; }; + 29A8F4041EF0476900AD2478 /* PlayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0CE1EF0476000AD2478 /* PlayAttributes.cpp */; }; + 29A8F4051EF0476900AD2478 /* PlayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0CE1EF0476000AD2478 /* PlayAttributes.cpp */; }; + 29A8F4061EF0476900AD2478 /* PlayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0CE1EF0476000AD2478 /* PlayAttributes.cpp */; }; + 29A8F40D1EF0476900AD2478 /* Plop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0D01EF0476000AD2478 /* Plop.cpp */; }; + 29A8F40E1EF0476900AD2478 /* Plop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0D01EF0476000AD2478 /* Plop.cpp */; }; + 29A8F40F1EF0476900AD2478 /* Plop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0D01EF0476000AD2478 /* Plop.cpp */; }; + 29A8F4101EF0476900AD2478 /* Plop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0D01EF0476000AD2478 /* Plop.cpp */; }; + 29A8F4171EF0476900AD2478 /* Pluck.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0D21EF0476000AD2478 /* Pluck.cpp */; }; + 29A8F4181EF0476900AD2478 /* Pluck.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0D21EF0476000AD2478 /* Pluck.cpp */; }; + 29A8F4191EF0476900AD2478 /* Pluck.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0D21EF0476000AD2478 /* Pluck.cpp */; }; + 29A8F41A1EF0476900AD2478 /* Pluck.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0D21EF0476000AD2478 /* Pluck.cpp */; }; + 29A8F4211EF0476900AD2478 /* PluckAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0D41EF0476000AD2478 /* PluckAttributes.cpp */; }; + 29A8F4221EF0476900AD2478 /* PluckAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0D41EF0476000AD2478 /* PluckAttributes.cpp */; }; + 29A8F4231EF0476900AD2478 /* PluckAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0D41EF0476000AD2478 /* PluckAttributes.cpp */; }; + 29A8F4241EF0476900AD2478 /* PluckAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0D41EF0476000AD2478 /* PluckAttributes.cpp */; }; + 29A8F42B1EF0476900AD2478 /* PreBend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0D61EF0476000AD2478 /* PreBend.cpp */; }; + 29A8F42C1EF0476900AD2478 /* PreBend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0D61EF0476000AD2478 /* PreBend.cpp */; }; + 29A8F42D1EF0476900AD2478 /* PreBend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0D61EF0476000AD2478 /* PreBend.cpp */; }; + 29A8F42E1EF0476900AD2478 /* PreBend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0D61EF0476000AD2478 /* PreBend.cpp */; }; + 29A8F43A1EF0476900AD2478 /* Prefix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0D91EF0476000AD2478 /* Prefix.cpp */; }; + 29A8F43B1EF0476900AD2478 /* Prefix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0D91EF0476000AD2478 /* Prefix.cpp */; }; + 29A8F43C1EF0476900AD2478 /* Prefix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0D91EF0476000AD2478 /* Prefix.cpp */; }; + 29A8F43D1EF0476900AD2478 /* Prefix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0D91EF0476000AD2478 /* Prefix.cpp */; }; + 29A8F4441EF0476900AD2478 /* PrefixAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0DB1EF0476000AD2478 /* PrefixAttributes.cpp */; }; + 29A8F4451EF0476900AD2478 /* PrefixAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0DB1EF0476000AD2478 /* PrefixAttributes.cpp */; }; + 29A8F4461EF0476900AD2478 /* PrefixAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0DB1EF0476000AD2478 /* PrefixAttributes.cpp */; }; + 29A8F4471EF0476900AD2478 /* PrefixAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0DB1EF0476000AD2478 /* PrefixAttributes.cpp */; }; + 29A8F44E1EF0476900AD2478 /* PrincipalVoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0DD1EF0476000AD2478 /* PrincipalVoice.cpp */; }; + 29A8F44F1EF0476900AD2478 /* PrincipalVoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0DD1EF0476000AD2478 /* PrincipalVoice.cpp */; }; + 29A8F4501EF0476900AD2478 /* PrincipalVoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0DD1EF0476000AD2478 /* PrincipalVoice.cpp */; }; + 29A8F4511EF0476900AD2478 /* PrincipalVoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0DD1EF0476000AD2478 /* PrincipalVoice.cpp */; }; + 29A8F4581EF0476900AD2478 /* PrincipalVoiceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0DF1EF0476000AD2478 /* PrincipalVoiceAttributes.cpp */; }; + 29A8F4591EF0476900AD2478 /* PrincipalVoiceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0DF1EF0476000AD2478 /* PrincipalVoiceAttributes.cpp */; }; + 29A8F45A1EF0476900AD2478 /* PrincipalVoiceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0DF1EF0476000AD2478 /* PrincipalVoiceAttributes.cpp */; }; + 29A8F45B1EF0476900AD2478 /* PrincipalVoiceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0DF1EF0476000AD2478 /* PrincipalVoiceAttributes.cpp */; }; + 29A8F4621EF0476900AD2478 /* Print.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0E11EF0476000AD2478 /* Print.cpp */; }; + 29A8F4631EF0476900AD2478 /* Print.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0E11EF0476000AD2478 /* Print.cpp */; }; + 29A8F4641EF0476900AD2478 /* Print.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0E11EF0476000AD2478 /* Print.cpp */; }; + 29A8F4651EF0476900AD2478 /* Print.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0E11EF0476000AD2478 /* Print.cpp */; }; + 29A8F46C1EF0476900AD2478 /* PrintAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0E31EF0476000AD2478 /* PrintAttributes.cpp */; }; + 29A8F46D1EF0476900AD2478 /* PrintAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0E31EF0476000AD2478 /* PrintAttributes.cpp */; }; + 29A8F46E1EF0476900AD2478 /* PrintAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0E31EF0476000AD2478 /* PrintAttributes.cpp */; }; + 29A8F46F1EF0476900AD2478 /* PrintAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0E31EF0476000AD2478 /* PrintAttributes.cpp */; }; + 29A8F4761EF0476900AD2478 /* Properties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0E51EF0476000AD2478 /* Properties.cpp */; }; + 29A8F4771EF0476900AD2478 /* Properties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0E51EF0476000AD2478 /* Properties.cpp */; }; + 29A8F4781EF0476900AD2478 /* Properties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0E51EF0476000AD2478 /* Properties.cpp */; }; + 29A8F4791EF0476900AD2478 /* Properties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0E51EF0476000AD2478 /* Properties.cpp */; }; + 29A8F4801EF0476900AD2478 /* PullOff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0E71EF0476000AD2478 /* PullOff.cpp */; }; + 29A8F4811EF0476900AD2478 /* PullOff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0E71EF0476000AD2478 /* PullOff.cpp */; }; + 29A8F4821EF0476900AD2478 /* PullOff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0E71EF0476000AD2478 /* PullOff.cpp */; }; + 29A8F4831EF0476900AD2478 /* PullOff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0E71EF0476000AD2478 /* PullOff.cpp */; }; + 29A8F48A1EF0476900AD2478 /* PullOffAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0E91EF0476000AD2478 /* PullOffAttributes.cpp */; }; + 29A8F48B1EF0476900AD2478 /* PullOffAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0E91EF0476000AD2478 /* PullOffAttributes.cpp */; }; + 29A8F48C1EF0476900AD2478 /* PullOffAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0E91EF0476000AD2478 /* PullOffAttributes.cpp */; }; + 29A8F48D1EF0476900AD2478 /* PullOffAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0E91EF0476000AD2478 /* PullOffAttributes.cpp */; }; + 29A8F4941EF0476900AD2478 /* Rehearsal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0EB1EF0476000AD2478 /* Rehearsal.cpp */; }; + 29A8F4951EF0476900AD2478 /* Rehearsal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0EB1EF0476000AD2478 /* Rehearsal.cpp */; }; + 29A8F4961EF0476900AD2478 /* Rehearsal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0EB1EF0476000AD2478 /* Rehearsal.cpp */; }; + 29A8F4971EF0476900AD2478 /* Rehearsal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0EB1EF0476000AD2478 /* Rehearsal.cpp */; }; + 29A8F49E1EF0476900AD2478 /* RehearsalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0ED1EF0476000AD2478 /* RehearsalAttributes.cpp */; }; + 29A8F49F1EF0476900AD2478 /* RehearsalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0ED1EF0476000AD2478 /* RehearsalAttributes.cpp */; }; + 29A8F4A01EF0476900AD2478 /* RehearsalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0ED1EF0476000AD2478 /* RehearsalAttributes.cpp */; }; + 29A8F4A11EF0476900AD2478 /* RehearsalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0ED1EF0476000AD2478 /* RehearsalAttributes.cpp */; }; + 29A8F4A81EF0476900AD2478 /* Relation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0EF1EF0476000AD2478 /* Relation.cpp */; }; + 29A8F4A91EF0476900AD2478 /* Relation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0EF1EF0476000AD2478 /* Relation.cpp */; }; + 29A8F4AA1EF0476900AD2478 /* Relation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0EF1EF0476000AD2478 /* Relation.cpp */; }; + 29A8F4AB1EF0476900AD2478 /* Relation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0EF1EF0476000AD2478 /* Relation.cpp */; }; + 29A8F4B21EF0476900AD2478 /* RelationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0F11EF0476000AD2478 /* RelationAttributes.cpp */; }; + 29A8F4B31EF0476900AD2478 /* RelationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0F11EF0476000AD2478 /* RelationAttributes.cpp */; }; + 29A8F4B41EF0476900AD2478 /* RelationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0F11EF0476000AD2478 /* RelationAttributes.cpp */; }; + 29A8F4B51EF0476900AD2478 /* RelationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0F11EF0476000AD2478 /* RelationAttributes.cpp */; }; + 29A8F4BC1EF0476900AD2478 /* Release.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0F31EF0476000AD2478 /* Release.cpp */; }; + 29A8F4BD1EF0476900AD2478 /* Release.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0F31EF0476000AD2478 /* Release.cpp */; }; + 29A8F4BE1EF0476900AD2478 /* Release.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0F31EF0476000AD2478 /* Release.cpp */; }; + 29A8F4BF1EF0476900AD2478 /* Release.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0F31EF0476000AD2478 /* Release.cpp */; }; + 29A8F4C61EF0476900AD2478 /* Repeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0F51EF0476000AD2478 /* Repeat.cpp */; }; + 29A8F4C71EF0476900AD2478 /* Repeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0F51EF0476000AD2478 /* Repeat.cpp */; }; + 29A8F4C81EF0476900AD2478 /* Repeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0F51EF0476000AD2478 /* Repeat.cpp */; }; + 29A8F4C91EF0476900AD2478 /* Repeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0F51EF0476000AD2478 /* Repeat.cpp */; }; + 29A8F4D01EF0476900AD2478 /* RepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0F71EF0476000AD2478 /* RepeatAttributes.cpp */; }; + 29A8F4D11EF0476900AD2478 /* RepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0F71EF0476000AD2478 /* RepeatAttributes.cpp */; }; + 29A8F4D21EF0476900AD2478 /* RepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0F71EF0476000AD2478 /* RepeatAttributes.cpp */; }; + 29A8F4D31EF0476900AD2478 /* RepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0F71EF0476000AD2478 /* RepeatAttributes.cpp */; }; + 29A8F4DA1EF0476900AD2478 /* Rest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0F91EF0476000AD2478 /* Rest.cpp */; }; + 29A8F4DB1EF0476900AD2478 /* Rest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0F91EF0476000AD2478 /* Rest.cpp */; }; + 29A8F4DC1EF0476900AD2478 /* Rest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0F91EF0476000AD2478 /* Rest.cpp */; }; + 29A8F4DD1EF0476900AD2478 /* Rest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0F91EF0476000AD2478 /* Rest.cpp */; }; + 29A8F4E41EF0476900AD2478 /* RestAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0FB1EF0476000AD2478 /* RestAttributes.cpp */; }; + 29A8F4E51EF0476900AD2478 /* RestAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0FB1EF0476000AD2478 /* RestAttributes.cpp */; }; + 29A8F4E61EF0476900AD2478 /* RestAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0FB1EF0476000AD2478 /* RestAttributes.cpp */; }; + 29A8F4E71EF0476900AD2478 /* RestAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0FB1EF0476000AD2478 /* RestAttributes.cpp */; }; + 29A8F4EE1EF0476900AD2478 /* RightDivider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0FD1EF0476000AD2478 /* RightDivider.cpp */; }; + 29A8F4EF1EF0476900AD2478 /* RightDivider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0FD1EF0476000AD2478 /* RightDivider.cpp */; }; + 29A8F4F01EF0476900AD2478 /* RightDivider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0FD1EF0476000AD2478 /* RightDivider.cpp */; }; + 29A8F4F11EF0476900AD2478 /* RightDivider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0FD1EF0476000AD2478 /* RightDivider.cpp */; }; + 29A8F4F81EF0476900AD2478 /* RightMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0FF1EF0476000AD2478 /* RightMargin.cpp */; }; + 29A8F4F91EF0476900AD2478 /* RightMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0FF1EF0476000AD2478 /* RightMargin.cpp */; }; + 29A8F4FA1EF0476900AD2478 /* RightMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0FF1EF0476000AD2478 /* RightMargin.cpp */; }; + 29A8F4FB1EF0476900AD2478 /* RightMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0FF1EF0476000AD2478 /* RightMargin.cpp */; }; + 29A8F5021EF0476900AD2478 /* Rights.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1011EF0476000AD2478 /* Rights.cpp */; }; + 29A8F5031EF0476900AD2478 /* Rights.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1011EF0476000AD2478 /* Rights.cpp */; }; + 29A8F5041EF0476900AD2478 /* Rights.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1011EF0476000AD2478 /* Rights.cpp */; }; + 29A8F5051EF0476900AD2478 /* Rights.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1011EF0476000AD2478 /* Rights.cpp */; }; + 29A8F50C1EF0476900AD2478 /* RightsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1031EF0476000AD2478 /* RightsAttributes.cpp */; }; + 29A8F50D1EF0476900AD2478 /* RightsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1031EF0476000AD2478 /* RightsAttributes.cpp */; }; + 29A8F50E1EF0476900AD2478 /* RightsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1031EF0476000AD2478 /* RightsAttributes.cpp */; }; + 29A8F50F1EF0476900AD2478 /* RightsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1031EF0476000AD2478 /* RightsAttributes.cpp */; }; + 29A8F5161EF0476900AD2478 /* Root.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1051EF0476000AD2478 /* Root.cpp */; }; + 29A8F5171EF0476900AD2478 /* Root.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1051EF0476000AD2478 /* Root.cpp */; }; + 29A8F5181EF0476900AD2478 /* Root.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1051EF0476000AD2478 /* Root.cpp */; }; + 29A8F5191EF0476900AD2478 /* Root.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1051EF0476000AD2478 /* Root.cpp */; }; + 29A8F5201EF0476900AD2478 /* RootAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1071EF0476000AD2478 /* RootAlter.cpp */; }; + 29A8F5211EF0476900AD2478 /* RootAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1071EF0476000AD2478 /* RootAlter.cpp */; }; + 29A8F5221EF0476900AD2478 /* RootAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1071EF0476000AD2478 /* RootAlter.cpp */; }; + 29A8F5231EF0476900AD2478 /* RootAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1071EF0476000AD2478 /* RootAlter.cpp */; }; + 29A8F52A1EF0476900AD2478 /* RootAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1091EF0476000AD2478 /* RootAlterAttributes.cpp */; }; + 29A8F52B1EF0476900AD2478 /* RootAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1091EF0476000AD2478 /* RootAlterAttributes.cpp */; }; + 29A8F52C1EF0476900AD2478 /* RootAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1091EF0476000AD2478 /* RootAlterAttributes.cpp */; }; + 29A8F52D1EF0476900AD2478 /* RootAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1091EF0476000AD2478 /* RootAlterAttributes.cpp */; }; + 29A8F5341EF0476900AD2478 /* RootStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E10B1EF0476000AD2478 /* RootStep.cpp */; }; + 29A8F5351EF0476900AD2478 /* RootStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E10B1EF0476000AD2478 /* RootStep.cpp */; }; + 29A8F5361EF0476900AD2478 /* RootStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E10B1EF0476000AD2478 /* RootStep.cpp */; }; + 29A8F5371EF0476900AD2478 /* RootStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E10B1EF0476000AD2478 /* RootStep.cpp */; }; + 29A8F53E1EF0476A00AD2478 /* RootStepAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E10D1EF0476000AD2478 /* RootStepAttributes.cpp */; }; + 29A8F53F1EF0476A00AD2478 /* RootStepAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E10D1EF0476000AD2478 /* RootStepAttributes.cpp */; }; + 29A8F5401EF0476A00AD2478 /* RootStepAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E10D1EF0476000AD2478 /* RootStepAttributes.cpp */; }; + 29A8F5411EF0476A00AD2478 /* RootStepAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E10D1EF0476000AD2478 /* RootStepAttributes.cpp */; }; + 29A8F5481EF0476A00AD2478 /* Scaling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E10F1EF0476000AD2478 /* Scaling.cpp */; }; + 29A8F5491EF0476A00AD2478 /* Scaling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E10F1EF0476000AD2478 /* Scaling.cpp */; }; + 29A8F54A1EF0476A00AD2478 /* Scaling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E10F1EF0476000AD2478 /* Scaling.cpp */; }; + 29A8F54B1EF0476A00AD2478 /* Scaling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E10F1EF0476000AD2478 /* Scaling.cpp */; }; + 29A8F5521EF0476A00AD2478 /* Schleifer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1111EF0476000AD2478 /* Schleifer.cpp */; }; + 29A8F5531EF0476A00AD2478 /* Schleifer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1111EF0476000AD2478 /* Schleifer.cpp */; }; + 29A8F5541EF0476A00AD2478 /* Schleifer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1111EF0476000AD2478 /* Schleifer.cpp */; }; + 29A8F5551EF0476A00AD2478 /* Schleifer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1111EF0476000AD2478 /* Schleifer.cpp */; }; + 29A8F55C1EF0476A00AD2478 /* Scoop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1131EF0476000AD2478 /* Scoop.cpp */; }; + 29A8F55D1EF0476A00AD2478 /* Scoop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1131EF0476000AD2478 /* Scoop.cpp */; }; + 29A8F55E1EF0476A00AD2478 /* Scoop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1131EF0476000AD2478 /* Scoop.cpp */; }; + 29A8F55F1EF0476A00AD2478 /* Scoop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1131EF0476000AD2478 /* Scoop.cpp */; }; + 29A8F5661EF0476A00AD2478 /* Scordatura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1151EF0476000AD2478 /* Scordatura.cpp */; }; + 29A8F5671EF0476A00AD2478 /* Scordatura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1151EF0476000AD2478 /* Scordatura.cpp */; }; + 29A8F5681EF0476A00AD2478 /* Scordatura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1151EF0476000AD2478 /* Scordatura.cpp */; }; + 29A8F5691EF0476A00AD2478 /* Scordatura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1151EF0476000AD2478 /* Scordatura.cpp */; }; + 29A8F5701EF0476A00AD2478 /* ScoreHeaderGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1171EF0476000AD2478 /* ScoreHeaderGroup.cpp */; }; + 29A8F5711EF0476A00AD2478 /* ScoreHeaderGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1171EF0476000AD2478 /* ScoreHeaderGroup.cpp */; }; + 29A8F5721EF0476A00AD2478 /* ScoreHeaderGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1171EF0476000AD2478 /* ScoreHeaderGroup.cpp */; }; + 29A8F5731EF0476A00AD2478 /* ScoreHeaderGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1171EF0476000AD2478 /* ScoreHeaderGroup.cpp */; }; + 29A8F57A1EF0476A00AD2478 /* ScoreInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1191EF0476000AD2478 /* ScoreInstrument.cpp */; }; + 29A8F57B1EF0476A00AD2478 /* ScoreInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1191EF0476000AD2478 /* ScoreInstrument.cpp */; }; + 29A8F57C1EF0476A00AD2478 /* ScoreInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1191EF0476000AD2478 /* ScoreInstrument.cpp */; }; + 29A8F57D1EF0476A00AD2478 /* ScoreInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1191EF0476000AD2478 /* ScoreInstrument.cpp */; }; + 29A8F5841EF0476A00AD2478 /* ScoreInstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E11B1EF0476000AD2478 /* ScoreInstrumentAttributes.cpp */; }; + 29A8F5851EF0476A00AD2478 /* ScoreInstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E11B1EF0476000AD2478 /* ScoreInstrumentAttributes.cpp */; }; + 29A8F5861EF0476A00AD2478 /* ScoreInstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E11B1EF0476000AD2478 /* ScoreInstrumentAttributes.cpp */; }; + 29A8F5871EF0476A00AD2478 /* ScoreInstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E11B1EF0476000AD2478 /* ScoreInstrumentAttributes.cpp */; }; + 29A8F58E1EF0476A00AD2478 /* ScorePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E11D1EF0476000AD2478 /* ScorePart.cpp */; }; + 29A8F58F1EF0476A00AD2478 /* ScorePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E11D1EF0476000AD2478 /* ScorePart.cpp */; }; + 29A8F5901EF0476A00AD2478 /* ScorePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E11D1EF0476000AD2478 /* ScorePart.cpp */; }; + 29A8F5911EF0476A00AD2478 /* ScorePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E11D1EF0476000AD2478 /* ScorePart.cpp */; }; + 29A8F5981EF0476A00AD2478 /* ScorePartAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E11F1EF0476000AD2478 /* ScorePartAttributes.cpp */; }; + 29A8F5991EF0476A00AD2478 /* ScorePartAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E11F1EF0476000AD2478 /* ScorePartAttributes.cpp */; }; + 29A8F59A1EF0476A00AD2478 /* ScorePartAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E11F1EF0476000AD2478 /* ScorePartAttributes.cpp */; }; + 29A8F59B1EF0476A00AD2478 /* ScorePartAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E11F1EF0476000AD2478 /* ScorePartAttributes.cpp */; }; + 29A8F5A21EF0476A00AD2478 /* ScorePartwise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1211EF0476000AD2478 /* ScorePartwise.cpp */; }; + 29A8F5A31EF0476A00AD2478 /* ScorePartwise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1211EF0476000AD2478 /* ScorePartwise.cpp */; }; + 29A8F5A41EF0476A00AD2478 /* ScorePartwise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1211EF0476000AD2478 /* ScorePartwise.cpp */; }; + 29A8F5A51EF0476A00AD2478 /* ScorePartwise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1211EF0476000AD2478 /* ScorePartwise.cpp */; }; + 29A8F5AC1EF0476A00AD2478 /* ScorePartwiseAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1231EF0476000AD2478 /* ScorePartwiseAttributes.cpp */; }; + 29A8F5AD1EF0476A00AD2478 /* ScorePartwiseAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1231EF0476000AD2478 /* ScorePartwiseAttributes.cpp */; }; + 29A8F5AE1EF0476A00AD2478 /* ScorePartwiseAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1231EF0476000AD2478 /* ScorePartwiseAttributes.cpp */; }; + 29A8F5AF1EF0476A00AD2478 /* ScorePartwiseAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1231EF0476000AD2478 /* ScorePartwiseAttributes.cpp */; }; + 29A8F5B61EF0476A00AD2478 /* ScoreTimewise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1251EF0476000AD2478 /* ScoreTimewise.cpp */; }; + 29A8F5B71EF0476A00AD2478 /* ScoreTimewise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1251EF0476000AD2478 /* ScoreTimewise.cpp */; }; + 29A8F5B81EF0476A00AD2478 /* ScoreTimewise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1251EF0476000AD2478 /* ScoreTimewise.cpp */; }; + 29A8F5B91EF0476A00AD2478 /* ScoreTimewise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1251EF0476000AD2478 /* ScoreTimewise.cpp */; }; + 29A8F5C01EF0476A00AD2478 /* ScoreTimewiseAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1271EF0476000AD2478 /* ScoreTimewiseAttributes.cpp */; }; + 29A8F5C11EF0476A00AD2478 /* ScoreTimewiseAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1271EF0476000AD2478 /* ScoreTimewiseAttributes.cpp */; }; + 29A8F5C21EF0476A00AD2478 /* ScoreTimewiseAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1271EF0476000AD2478 /* ScoreTimewiseAttributes.cpp */; }; + 29A8F5C31EF0476A00AD2478 /* ScoreTimewiseAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1271EF0476000AD2478 /* ScoreTimewiseAttributes.cpp */; }; + 29A8F5CA1EF0476A00AD2478 /* Segno.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1291EF0476000AD2478 /* Segno.cpp */; }; + 29A8F5CB1EF0476A00AD2478 /* Segno.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1291EF0476000AD2478 /* Segno.cpp */; }; + 29A8F5CC1EF0476A00AD2478 /* Segno.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1291EF0476000AD2478 /* Segno.cpp */; }; + 29A8F5CD1EF0476A00AD2478 /* Segno.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1291EF0476000AD2478 /* Segno.cpp */; }; + 29A8F5D41EF0476A00AD2478 /* SemiPitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E12B1EF0476000AD2478 /* SemiPitched.cpp */; }; + 29A8F5D51EF0476A00AD2478 /* SemiPitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E12B1EF0476000AD2478 /* SemiPitched.cpp */; }; + 29A8F5D61EF0476A00AD2478 /* SemiPitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E12B1EF0476000AD2478 /* SemiPitched.cpp */; }; + 29A8F5D71EF0476A00AD2478 /* SemiPitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E12B1EF0476000AD2478 /* SemiPitched.cpp */; }; + 29A8F5DE1EF0476A00AD2478 /* SenzaMisura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E12D1EF0476000AD2478 /* SenzaMisura.cpp */; }; + 29A8F5DF1EF0476A00AD2478 /* SenzaMisura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E12D1EF0476000AD2478 /* SenzaMisura.cpp */; }; + 29A8F5E01EF0476A00AD2478 /* SenzaMisura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E12D1EF0476000AD2478 /* SenzaMisura.cpp */; }; + 29A8F5E11EF0476A00AD2478 /* SenzaMisura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E12D1EF0476000AD2478 /* SenzaMisura.cpp */; }; + 29A8F5E81EF0476A00AD2478 /* Shake.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E12F1EF0476000AD2478 /* Shake.cpp */; }; + 29A8F5E91EF0476A00AD2478 /* Shake.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E12F1EF0476000AD2478 /* Shake.cpp */; }; + 29A8F5EA1EF0476A00AD2478 /* Shake.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E12F1EF0476000AD2478 /* Shake.cpp */; }; + 29A8F5EB1EF0476A00AD2478 /* Shake.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E12F1EF0476000AD2478 /* Shake.cpp */; }; + 29A8F5F21EF0476A00AD2478 /* Sign.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1311EF0476000AD2478 /* Sign.cpp */; }; + 29A8F5F31EF0476A00AD2478 /* Sign.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1311EF0476000AD2478 /* Sign.cpp */; }; + 29A8F5F41EF0476A00AD2478 /* Sign.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1311EF0476000AD2478 /* Sign.cpp */; }; + 29A8F5F51EF0476A00AD2478 /* Sign.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1311EF0476000AD2478 /* Sign.cpp */; }; + 29A8F5FC1EF0476A00AD2478 /* Slash.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1331EF0476000AD2478 /* Slash.cpp */; }; + 29A8F5FD1EF0476A00AD2478 /* Slash.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1331EF0476000AD2478 /* Slash.cpp */; }; + 29A8F5FE1EF0476A00AD2478 /* Slash.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1331EF0476000AD2478 /* Slash.cpp */; }; + 29A8F5FF1EF0476A00AD2478 /* Slash.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1331EF0476000AD2478 /* Slash.cpp */; }; + 29A8F6061EF0476A00AD2478 /* SlashAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1351EF0476000AD2478 /* SlashAttributes.cpp */; }; + 29A8F6071EF0476A00AD2478 /* SlashAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1351EF0476000AD2478 /* SlashAttributes.cpp */; }; + 29A8F6081EF0476A00AD2478 /* SlashAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1351EF0476000AD2478 /* SlashAttributes.cpp */; }; + 29A8F6091EF0476A00AD2478 /* SlashAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1351EF0476000AD2478 /* SlashAttributes.cpp */; }; + 29A8F6101EF0476A00AD2478 /* SlashDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1371EF0476000AD2478 /* SlashDot.cpp */; }; + 29A8F6111EF0476A00AD2478 /* SlashDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1371EF0476000AD2478 /* SlashDot.cpp */; }; + 29A8F6121EF0476A00AD2478 /* SlashDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1371EF0476000AD2478 /* SlashDot.cpp */; }; + 29A8F6131EF0476A00AD2478 /* SlashDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1371EF0476000AD2478 /* SlashDot.cpp */; }; + 29A8F61A1EF0476A00AD2478 /* SlashType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1391EF0476000AD2478 /* SlashType.cpp */; }; + 29A8F61B1EF0476A00AD2478 /* SlashType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1391EF0476000AD2478 /* SlashType.cpp */; }; + 29A8F61C1EF0476A00AD2478 /* SlashType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1391EF0476000AD2478 /* SlashType.cpp */; }; + 29A8F61D1EF0476A00AD2478 /* SlashType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1391EF0476000AD2478 /* SlashType.cpp */; }; + 29A8F6241EF0476A00AD2478 /* Slide.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E13B1EF0476000AD2478 /* Slide.cpp */; }; + 29A8F6251EF0476A00AD2478 /* Slide.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E13B1EF0476000AD2478 /* Slide.cpp */; }; + 29A8F6261EF0476A00AD2478 /* Slide.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E13B1EF0476000AD2478 /* Slide.cpp */; }; + 29A8F6271EF0476A00AD2478 /* Slide.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E13B1EF0476000AD2478 /* Slide.cpp */; }; + 29A8F62E1EF0476A00AD2478 /* SlideAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E13D1EF0476000AD2478 /* SlideAttributes.cpp */; }; + 29A8F62F1EF0476A00AD2478 /* SlideAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E13D1EF0476000AD2478 /* SlideAttributes.cpp */; }; + 29A8F6301EF0476A00AD2478 /* SlideAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E13D1EF0476000AD2478 /* SlideAttributes.cpp */; }; + 29A8F6311EF0476A00AD2478 /* SlideAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E13D1EF0476000AD2478 /* SlideAttributes.cpp */; }; + 29A8F6381EF0476A00AD2478 /* Slur.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E13F1EF0476000AD2478 /* Slur.cpp */; }; + 29A8F6391EF0476A00AD2478 /* Slur.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E13F1EF0476000AD2478 /* Slur.cpp */; }; + 29A8F63A1EF0476A00AD2478 /* Slur.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E13F1EF0476000AD2478 /* Slur.cpp */; }; + 29A8F63B1EF0476A00AD2478 /* Slur.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E13F1EF0476000AD2478 /* Slur.cpp */; }; + 29A8F6421EF0476A00AD2478 /* SlurAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1411EF0476000AD2478 /* SlurAttributes.cpp */; }; + 29A8F6431EF0476A00AD2478 /* SlurAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1411EF0476000AD2478 /* SlurAttributes.cpp */; }; + 29A8F6441EF0476A00AD2478 /* SlurAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1411EF0476000AD2478 /* SlurAttributes.cpp */; }; + 29A8F6451EF0476A00AD2478 /* SlurAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1411EF0476000AD2478 /* SlurAttributes.cpp */; }; + 29A8F64C1EF0476A00AD2478 /* SnapPizzicato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1431EF0476000AD2478 /* SnapPizzicato.cpp */; }; + 29A8F64D1EF0476A00AD2478 /* SnapPizzicato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1431EF0476000AD2478 /* SnapPizzicato.cpp */; }; + 29A8F64E1EF0476A00AD2478 /* SnapPizzicato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1431EF0476000AD2478 /* SnapPizzicato.cpp */; }; + 29A8F64F1EF0476A00AD2478 /* SnapPizzicato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1431EF0476000AD2478 /* SnapPizzicato.cpp */; }; + 29A8F6561EF0476A00AD2478 /* Software.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1451EF0476000AD2478 /* Software.cpp */; }; + 29A8F6571EF0476A00AD2478 /* Software.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1451EF0476000AD2478 /* Software.cpp */; }; + 29A8F6581EF0476A00AD2478 /* Software.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1451EF0476000AD2478 /* Software.cpp */; }; + 29A8F6591EF0476A00AD2478 /* Software.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1451EF0476000AD2478 /* Software.cpp */; }; + 29A8F6601EF0476A00AD2478 /* Solo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1471EF0476100AD2478 /* Solo.cpp */; }; + 29A8F6611EF0476A00AD2478 /* Solo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1471EF0476100AD2478 /* Solo.cpp */; }; + 29A8F6621EF0476A00AD2478 /* Solo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1471EF0476100AD2478 /* Solo.cpp */; }; + 29A8F6631EF0476A00AD2478 /* Solo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1471EF0476100AD2478 /* Solo.cpp */; }; + 29A8F66A1EF0476A00AD2478 /* SoloOrEnsembleChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1491EF0476100AD2478 /* SoloOrEnsembleChoice.cpp */; }; + 29A8F66B1EF0476A00AD2478 /* SoloOrEnsembleChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1491EF0476100AD2478 /* SoloOrEnsembleChoice.cpp */; }; + 29A8F66C1EF0476A00AD2478 /* SoloOrEnsembleChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1491EF0476100AD2478 /* SoloOrEnsembleChoice.cpp */; }; + 29A8F66D1EF0476A00AD2478 /* SoloOrEnsembleChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1491EF0476100AD2478 /* SoloOrEnsembleChoice.cpp */; }; + 29A8F6741EF0476A00AD2478 /* Sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E14B1EF0476100AD2478 /* Sound.cpp */; }; + 29A8F6751EF0476A00AD2478 /* Sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E14B1EF0476100AD2478 /* Sound.cpp */; }; + 29A8F6761EF0476A00AD2478 /* Sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E14B1EF0476100AD2478 /* Sound.cpp */; }; + 29A8F6771EF0476A00AD2478 /* Sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E14B1EF0476100AD2478 /* Sound.cpp */; }; + 29A8F67E1EF0476A00AD2478 /* SoundAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E14D1EF0476100AD2478 /* SoundAttributes.cpp */; }; + 29A8F67F1EF0476A00AD2478 /* SoundAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E14D1EF0476100AD2478 /* SoundAttributes.cpp */; }; + 29A8F6801EF0476A00AD2478 /* SoundAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E14D1EF0476100AD2478 /* SoundAttributes.cpp */; }; + 29A8F6811EF0476A00AD2478 /* SoundAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E14D1EF0476100AD2478 /* SoundAttributes.cpp */; }; + 29A8F6881EF0476A00AD2478 /* SoundingPitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E14F1EF0476100AD2478 /* SoundingPitch.cpp */; }; + 29A8F6891EF0476A00AD2478 /* SoundingPitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E14F1EF0476100AD2478 /* SoundingPitch.cpp */; }; + 29A8F68A1EF0476A00AD2478 /* SoundingPitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E14F1EF0476100AD2478 /* SoundingPitch.cpp */; }; + 29A8F68B1EF0476A00AD2478 /* SoundingPitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E14F1EF0476100AD2478 /* SoundingPitch.cpp */; }; + 29A8F6921EF0476A00AD2478 /* Source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1511EF0476100AD2478 /* Source.cpp */; }; + 29A8F6931EF0476A00AD2478 /* Source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1511EF0476100AD2478 /* Source.cpp */; }; + 29A8F6941EF0476A00AD2478 /* Source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1511EF0476100AD2478 /* Source.cpp */; }; + 29A8F6951EF0476A00AD2478 /* Source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1511EF0476100AD2478 /* Source.cpp */; }; + 29A8F69C1EF0476A00AD2478 /* Spiccato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1531EF0476100AD2478 /* Spiccato.cpp */; }; + 29A8F69D1EF0476A00AD2478 /* Spiccato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1531EF0476100AD2478 /* Spiccato.cpp */; }; + 29A8F69E1EF0476A00AD2478 /* Spiccato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1531EF0476100AD2478 /* Spiccato.cpp */; }; + 29A8F69F1EF0476A00AD2478 /* Spiccato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1531EF0476100AD2478 /* Spiccato.cpp */; }; + 29A8F6A61EF0476A00AD2478 /* Staccatissimo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1551EF0476100AD2478 /* Staccatissimo.cpp */; }; + 29A8F6A71EF0476A00AD2478 /* Staccatissimo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1551EF0476100AD2478 /* Staccatissimo.cpp */; }; + 29A8F6A81EF0476A00AD2478 /* Staccatissimo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1551EF0476100AD2478 /* Staccatissimo.cpp */; }; + 29A8F6A91EF0476A00AD2478 /* Staccatissimo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1551EF0476100AD2478 /* Staccatissimo.cpp */; }; + 29A8F6B01EF0476A00AD2478 /* Staccato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1571EF0476100AD2478 /* Staccato.cpp */; }; + 29A8F6B11EF0476A00AD2478 /* Staccato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1571EF0476100AD2478 /* Staccato.cpp */; }; + 29A8F6B21EF0476A00AD2478 /* Staccato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1571EF0476100AD2478 /* Staccato.cpp */; }; + 29A8F6B31EF0476A00AD2478 /* Staccato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1571EF0476100AD2478 /* Staccato.cpp */; }; + 29A8F6BA1EF0476A00AD2478 /* Staff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1591EF0476100AD2478 /* Staff.cpp */; }; + 29A8F6BB1EF0476A00AD2478 /* Staff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1591EF0476100AD2478 /* Staff.cpp */; }; + 29A8F6BC1EF0476A00AD2478 /* Staff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1591EF0476100AD2478 /* Staff.cpp */; }; + 29A8F6BD1EF0476A00AD2478 /* Staff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1591EF0476100AD2478 /* Staff.cpp */; }; + 29A8F6C41EF0476A00AD2478 /* StaffDetails.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E15B1EF0476100AD2478 /* StaffDetails.cpp */; }; + 29A8F6C51EF0476A00AD2478 /* StaffDetails.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E15B1EF0476100AD2478 /* StaffDetails.cpp */; }; + 29A8F6C61EF0476A00AD2478 /* StaffDetails.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E15B1EF0476100AD2478 /* StaffDetails.cpp */; }; + 29A8F6C71EF0476A00AD2478 /* StaffDetails.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E15B1EF0476100AD2478 /* StaffDetails.cpp */; }; + 29A8F6CE1EF0476A00AD2478 /* StaffDetailsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E15D1EF0476100AD2478 /* StaffDetailsAttributes.cpp */; }; + 29A8F6CF1EF0476A00AD2478 /* StaffDetailsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E15D1EF0476100AD2478 /* StaffDetailsAttributes.cpp */; }; + 29A8F6D01EF0476A00AD2478 /* StaffDetailsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E15D1EF0476100AD2478 /* StaffDetailsAttributes.cpp */; }; + 29A8F6D11EF0476A00AD2478 /* StaffDetailsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E15D1EF0476100AD2478 /* StaffDetailsAttributes.cpp */; }; + 29A8F6D81EF0476A00AD2478 /* StaffDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E15F1EF0476100AD2478 /* StaffDistance.cpp */; }; + 29A8F6D91EF0476A00AD2478 /* StaffDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E15F1EF0476100AD2478 /* StaffDistance.cpp */; }; + 29A8F6DA1EF0476A00AD2478 /* StaffDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E15F1EF0476100AD2478 /* StaffDistance.cpp */; }; + 29A8F6DB1EF0476A00AD2478 /* StaffDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E15F1EF0476100AD2478 /* StaffDistance.cpp */; }; + 29A8F6E21EF0476A00AD2478 /* StaffLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1611EF0476100AD2478 /* StaffLayout.cpp */; }; + 29A8F6E31EF0476A00AD2478 /* StaffLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1611EF0476100AD2478 /* StaffLayout.cpp */; }; + 29A8F6E41EF0476A00AD2478 /* StaffLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1611EF0476100AD2478 /* StaffLayout.cpp */; }; + 29A8F6E51EF0476A00AD2478 /* StaffLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1611EF0476100AD2478 /* StaffLayout.cpp */; }; + 29A8F6EC1EF0476A00AD2478 /* StaffLayoutAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1631EF0476100AD2478 /* StaffLayoutAttributes.cpp */; }; + 29A8F6ED1EF0476A00AD2478 /* StaffLayoutAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1631EF0476100AD2478 /* StaffLayoutAttributes.cpp */; }; + 29A8F6EE1EF0476A00AD2478 /* StaffLayoutAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1631EF0476100AD2478 /* StaffLayoutAttributes.cpp */; }; + 29A8F6EF1EF0476A00AD2478 /* StaffLayoutAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1631EF0476100AD2478 /* StaffLayoutAttributes.cpp */; }; + 29A8F6F61EF0476A00AD2478 /* StaffLines.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1651EF0476100AD2478 /* StaffLines.cpp */; }; + 29A8F6F71EF0476A00AD2478 /* StaffLines.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1651EF0476100AD2478 /* StaffLines.cpp */; }; + 29A8F6F81EF0476A00AD2478 /* StaffLines.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1651EF0476100AD2478 /* StaffLines.cpp */; }; + 29A8F6F91EF0476A00AD2478 /* StaffLines.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1651EF0476100AD2478 /* StaffLines.cpp */; }; + 29A8F7001EF0476A00AD2478 /* StaffSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1671EF0476100AD2478 /* StaffSize.cpp */; }; + 29A8F7011EF0476B00AD2478 /* StaffSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1671EF0476100AD2478 /* StaffSize.cpp */; }; + 29A8F7021EF0476B00AD2478 /* StaffSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1671EF0476100AD2478 /* StaffSize.cpp */; }; + 29A8F7031EF0476B00AD2478 /* StaffSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1671EF0476100AD2478 /* StaffSize.cpp */; }; + 29A8F70A1EF0476B00AD2478 /* StaffTuning.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1691EF0476100AD2478 /* StaffTuning.cpp */; }; + 29A8F70B1EF0476B00AD2478 /* StaffTuning.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1691EF0476100AD2478 /* StaffTuning.cpp */; }; + 29A8F70C1EF0476B00AD2478 /* StaffTuning.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1691EF0476100AD2478 /* StaffTuning.cpp */; }; + 29A8F70D1EF0476B00AD2478 /* StaffTuning.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1691EF0476100AD2478 /* StaffTuning.cpp */; }; + 29A8F7141EF0476B00AD2478 /* StaffTuningAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E16B1EF0476100AD2478 /* StaffTuningAttributes.cpp */; }; + 29A8F7151EF0476B00AD2478 /* StaffTuningAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E16B1EF0476100AD2478 /* StaffTuningAttributes.cpp */; }; + 29A8F7161EF0476B00AD2478 /* StaffTuningAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E16B1EF0476100AD2478 /* StaffTuningAttributes.cpp */; }; + 29A8F7171EF0476B00AD2478 /* StaffTuningAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E16B1EF0476100AD2478 /* StaffTuningAttributes.cpp */; }; + 29A8F71E1EF0476B00AD2478 /* StaffType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E16D1EF0476100AD2478 /* StaffType.cpp */; }; + 29A8F71F1EF0476B00AD2478 /* StaffType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E16D1EF0476100AD2478 /* StaffType.cpp */; }; + 29A8F7201EF0476B00AD2478 /* StaffType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E16D1EF0476100AD2478 /* StaffType.cpp */; }; + 29A8F7211EF0476B00AD2478 /* StaffType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E16D1EF0476100AD2478 /* StaffType.cpp */; }; + 29A8F7281EF0476B00AD2478 /* Staves.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E16F1EF0476100AD2478 /* Staves.cpp */; }; + 29A8F7291EF0476B00AD2478 /* Staves.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E16F1EF0476100AD2478 /* Staves.cpp */; }; + 29A8F72A1EF0476B00AD2478 /* Staves.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E16F1EF0476100AD2478 /* Staves.cpp */; }; + 29A8F72B1EF0476B00AD2478 /* Staves.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E16F1EF0476100AD2478 /* Staves.cpp */; }; + 29A8F7321EF0476B00AD2478 /* Stem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1711EF0476100AD2478 /* Stem.cpp */; }; + 29A8F7331EF0476B00AD2478 /* Stem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1711EF0476100AD2478 /* Stem.cpp */; }; + 29A8F7341EF0476B00AD2478 /* Stem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1711EF0476100AD2478 /* Stem.cpp */; }; + 29A8F7351EF0476B00AD2478 /* Stem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1711EF0476100AD2478 /* Stem.cpp */; }; + 29A8F73C1EF0476B00AD2478 /* StemAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1731EF0476100AD2478 /* StemAttributes.cpp */; }; + 29A8F73D1EF0476B00AD2478 /* StemAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1731EF0476100AD2478 /* StemAttributes.cpp */; }; + 29A8F73E1EF0476B00AD2478 /* StemAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1731EF0476100AD2478 /* StemAttributes.cpp */; }; + 29A8F73F1EF0476B00AD2478 /* StemAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1731EF0476100AD2478 /* StemAttributes.cpp */; }; + 29A8F7461EF0476B00AD2478 /* Step.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1751EF0476100AD2478 /* Step.cpp */; }; + 29A8F7471EF0476B00AD2478 /* Step.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1751EF0476100AD2478 /* Step.cpp */; }; + 29A8F7481EF0476B00AD2478 /* Step.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1751EF0476100AD2478 /* Step.cpp */; }; + 29A8F7491EF0476B00AD2478 /* Step.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1751EF0476100AD2478 /* Step.cpp */; }; + 29A8F7501EF0476B00AD2478 /* Stick.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1771EF0476100AD2478 /* Stick.cpp */; }; + 29A8F7511EF0476B00AD2478 /* Stick.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1771EF0476100AD2478 /* Stick.cpp */; }; + 29A8F7521EF0476B00AD2478 /* Stick.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1771EF0476100AD2478 /* Stick.cpp */; }; + 29A8F7531EF0476B00AD2478 /* Stick.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1771EF0476100AD2478 /* Stick.cpp */; }; + 29A8F75A1EF0476B00AD2478 /* StickAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1791EF0476100AD2478 /* StickAttributes.cpp */; }; + 29A8F75B1EF0476B00AD2478 /* StickAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1791EF0476100AD2478 /* StickAttributes.cpp */; }; + 29A8F75C1EF0476B00AD2478 /* StickAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1791EF0476100AD2478 /* StickAttributes.cpp */; }; + 29A8F75D1EF0476B00AD2478 /* StickAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1791EF0476100AD2478 /* StickAttributes.cpp */; }; + 29A8F7641EF0476B00AD2478 /* StickLocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E17B1EF0476100AD2478 /* StickLocation.cpp */; }; + 29A8F7651EF0476B00AD2478 /* StickLocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E17B1EF0476100AD2478 /* StickLocation.cpp */; }; + 29A8F7661EF0476B00AD2478 /* StickLocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E17B1EF0476100AD2478 /* StickLocation.cpp */; }; + 29A8F7671EF0476B00AD2478 /* StickLocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E17B1EF0476100AD2478 /* StickLocation.cpp */; }; + 29A8F76E1EF0476B00AD2478 /* StickMaterial.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E17D1EF0476100AD2478 /* StickMaterial.cpp */; }; + 29A8F76F1EF0476B00AD2478 /* StickMaterial.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E17D1EF0476100AD2478 /* StickMaterial.cpp */; }; + 29A8F7701EF0476B00AD2478 /* StickMaterial.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E17D1EF0476100AD2478 /* StickMaterial.cpp */; }; + 29A8F7711EF0476B00AD2478 /* StickMaterial.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E17D1EF0476100AD2478 /* StickMaterial.cpp */; }; + 29A8F7781EF0476B00AD2478 /* StickType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E17F1EF0476100AD2478 /* StickType.cpp */; }; + 29A8F7791EF0476B00AD2478 /* StickType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E17F1EF0476100AD2478 /* StickType.cpp */; }; + 29A8F77A1EF0476B00AD2478 /* StickType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E17F1EF0476100AD2478 /* StickType.cpp */; }; + 29A8F77B1EF0476B00AD2478 /* StickType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E17F1EF0476100AD2478 /* StickType.cpp */; }; + 29A8F7821EF0476B00AD2478 /* Stopped.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1811EF0476100AD2478 /* Stopped.cpp */; }; + 29A8F7831EF0476B00AD2478 /* Stopped.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1811EF0476100AD2478 /* Stopped.cpp */; }; + 29A8F7841EF0476B00AD2478 /* Stopped.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1811EF0476100AD2478 /* Stopped.cpp */; }; + 29A8F7851EF0476B00AD2478 /* Stopped.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1811EF0476100AD2478 /* Stopped.cpp */; }; + 29A8F78C1EF0476B00AD2478 /* Stress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1831EF0476100AD2478 /* Stress.cpp */; }; + 29A8F78D1EF0476B00AD2478 /* Stress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1831EF0476100AD2478 /* Stress.cpp */; }; + 29A8F78E1EF0476B00AD2478 /* Stress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1831EF0476100AD2478 /* Stress.cpp */; }; + 29A8F78F1EF0476B00AD2478 /* Stress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1831EF0476100AD2478 /* Stress.cpp */; }; + 29A8F7961EF0476B00AD2478 /* String.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1851EF0476100AD2478 /* String.cpp */; }; + 29A8F7971EF0476B00AD2478 /* String.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1851EF0476100AD2478 /* String.cpp */; }; + 29A8F7981EF0476B00AD2478 /* String.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1851EF0476100AD2478 /* String.cpp */; }; + 29A8F7991EF0476B00AD2478 /* String.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1851EF0476100AD2478 /* String.cpp */; }; + 29A8F7A01EF0476B00AD2478 /* StringAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1871EF0476100AD2478 /* StringAttributes.cpp */; }; + 29A8F7A11EF0476B00AD2478 /* StringAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1871EF0476100AD2478 /* StringAttributes.cpp */; }; + 29A8F7A21EF0476B00AD2478 /* StringAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1871EF0476100AD2478 /* StringAttributes.cpp */; }; + 29A8F7A31EF0476B00AD2478 /* StringAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1871EF0476100AD2478 /* StringAttributes.cpp */; }; + 29A8F7AA1EF0476B00AD2478 /* StringMute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1891EF0476100AD2478 /* StringMute.cpp */; }; + 29A8F7AB1EF0476B00AD2478 /* StringMute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1891EF0476100AD2478 /* StringMute.cpp */; }; + 29A8F7AC1EF0476B00AD2478 /* StringMute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1891EF0476100AD2478 /* StringMute.cpp */; }; + 29A8F7AD1EF0476B00AD2478 /* StringMute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1891EF0476100AD2478 /* StringMute.cpp */; }; + 29A8F7B41EF0476B00AD2478 /* StringMuteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E18B1EF0476100AD2478 /* StringMuteAttributes.cpp */; }; + 29A8F7B51EF0476B00AD2478 /* StringMuteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E18B1EF0476100AD2478 /* StringMuteAttributes.cpp */; }; + 29A8F7B61EF0476B00AD2478 /* StringMuteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E18B1EF0476100AD2478 /* StringMuteAttributes.cpp */; }; + 29A8F7B71EF0476B00AD2478 /* StringMuteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E18B1EF0476100AD2478 /* StringMuteAttributes.cpp */; }; + 29A8F7BE1EF0476B00AD2478 /* StrongAccent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E18D1EF0476100AD2478 /* StrongAccent.cpp */; }; + 29A8F7BF1EF0476B00AD2478 /* StrongAccent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E18D1EF0476100AD2478 /* StrongAccent.cpp */; }; + 29A8F7C01EF0476B00AD2478 /* StrongAccent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E18D1EF0476100AD2478 /* StrongAccent.cpp */; }; + 29A8F7C11EF0476B00AD2478 /* StrongAccent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E18D1EF0476100AD2478 /* StrongAccent.cpp */; }; + 29A8F7C81EF0476B00AD2478 /* StrongAccentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E18F1EF0476100AD2478 /* StrongAccentAttributes.cpp */; }; + 29A8F7C91EF0476B00AD2478 /* StrongAccentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E18F1EF0476100AD2478 /* StrongAccentAttributes.cpp */; }; + 29A8F7CA1EF0476B00AD2478 /* StrongAccentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E18F1EF0476100AD2478 /* StrongAccentAttributes.cpp */; }; + 29A8F7CB1EF0476B00AD2478 /* StrongAccentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E18F1EF0476100AD2478 /* StrongAccentAttributes.cpp */; }; + 29A8F7D21EF0476B00AD2478 /* Suffix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1911EF0476100AD2478 /* Suffix.cpp */; }; + 29A8F7D31EF0476B00AD2478 /* Suffix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1911EF0476100AD2478 /* Suffix.cpp */; }; + 29A8F7D41EF0476B00AD2478 /* Suffix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1911EF0476100AD2478 /* Suffix.cpp */; }; + 29A8F7D51EF0476B00AD2478 /* Suffix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1911EF0476100AD2478 /* Suffix.cpp */; }; + 29A8F7DC1EF0476B00AD2478 /* SuffixAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1931EF0476100AD2478 /* SuffixAttributes.cpp */; }; + 29A8F7DD1EF0476B00AD2478 /* SuffixAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1931EF0476100AD2478 /* SuffixAttributes.cpp */; }; + 29A8F7DE1EF0476B00AD2478 /* SuffixAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1931EF0476100AD2478 /* SuffixAttributes.cpp */; }; + 29A8F7DF1EF0476B00AD2478 /* SuffixAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1931EF0476100AD2478 /* SuffixAttributes.cpp */; }; + 29A8F7E61EF0476B00AD2478 /* Supports.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1951EF0476100AD2478 /* Supports.cpp */; }; + 29A8F7E71EF0476B00AD2478 /* Supports.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1951EF0476100AD2478 /* Supports.cpp */; }; + 29A8F7E81EF0476B00AD2478 /* Supports.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1951EF0476100AD2478 /* Supports.cpp */; }; + 29A8F7E91EF0476B00AD2478 /* Supports.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1951EF0476100AD2478 /* Supports.cpp */; }; + 29A8F7F01EF0476B00AD2478 /* SupportsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1971EF0476100AD2478 /* SupportsAttributes.cpp */; }; + 29A8F7F11EF0476B00AD2478 /* SupportsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1971EF0476100AD2478 /* SupportsAttributes.cpp */; }; + 29A8F7F21EF0476B00AD2478 /* SupportsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1971EF0476100AD2478 /* SupportsAttributes.cpp */; }; + 29A8F7F31EF0476B00AD2478 /* SupportsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1971EF0476100AD2478 /* SupportsAttributes.cpp */; }; + 29A8F7FA1EF0476B00AD2478 /* Syllabic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1991EF0476100AD2478 /* Syllabic.cpp */; }; + 29A8F7FB1EF0476B00AD2478 /* Syllabic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1991EF0476100AD2478 /* Syllabic.cpp */; }; + 29A8F7FC1EF0476B00AD2478 /* Syllabic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1991EF0476100AD2478 /* Syllabic.cpp */; }; + 29A8F7FD1EF0476B00AD2478 /* Syllabic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1991EF0476100AD2478 /* Syllabic.cpp */; }; + 29A8F8041EF0476B00AD2478 /* SyllabicTextGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E19B1EF0476100AD2478 /* SyllabicTextGroup.cpp */; }; + 29A8F8051EF0476B00AD2478 /* SyllabicTextGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E19B1EF0476100AD2478 /* SyllabicTextGroup.cpp */; }; + 29A8F8061EF0476B00AD2478 /* SyllabicTextGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E19B1EF0476100AD2478 /* SyllabicTextGroup.cpp */; }; + 29A8F8071EF0476B00AD2478 /* SyllabicTextGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E19B1EF0476100AD2478 /* SyllabicTextGroup.cpp */; }; + 29A8F80E1EF0476B00AD2478 /* SystemDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E19D1EF0476100AD2478 /* SystemDistance.cpp */; }; + 29A8F80F1EF0476B00AD2478 /* SystemDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E19D1EF0476100AD2478 /* SystemDistance.cpp */; }; + 29A8F8101EF0476B00AD2478 /* SystemDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E19D1EF0476100AD2478 /* SystemDistance.cpp */; }; + 29A8F8111EF0476B00AD2478 /* SystemDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E19D1EF0476100AD2478 /* SystemDistance.cpp */; }; + 29A8F8181EF0476B00AD2478 /* SystemDividers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E19F1EF0476100AD2478 /* SystemDividers.cpp */; }; + 29A8F8191EF0476B00AD2478 /* SystemDividers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E19F1EF0476100AD2478 /* SystemDividers.cpp */; }; + 29A8F81A1EF0476B00AD2478 /* SystemDividers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E19F1EF0476100AD2478 /* SystemDividers.cpp */; }; + 29A8F81B1EF0476B00AD2478 /* SystemDividers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E19F1EF0476100AD2478 /* SystemDividers.cpp */; }; + 29A8F8221EF0476B00AD2478 /* SystemLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1A11EF0476100AD2478 /* SystemLayout.cpp */; }; + 29A8F8231EF0476B00AD2478 /* SystemLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1A11EF0476100AD2478 /* SystemLayout.cpp */; }; + 29A8F8241EF0476B00AD2478 /* SystemLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1A11EF0476100AD2478 /* SystemLayout.cpp */; }; + 29A8F8251EF0476B00AD2478 /* SystemLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1A11EF0476100AD2478 /* SystemLayout.cpp */; }; + 29A8F82C1EF0476B00AD2478 /* SystemMargins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1A31EF0476100AD2478 /* SystemMargins.cpp */; }; + 29A8F82D1EF0476B00AD2478 /* SystemMargins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1A31EF0476100AD2478 /* SystemMargins.cpp */; }; + 29A8F82E1EF0476B00AD2478 /* SystemMargins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1A31EF0476100AD2478 /* SystemMargins.cpp */; }; + 29A8F82F1EF0476B00AD2478 /* SystemMargins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1A31EF0476100AD2478 /* SystemMargins.cpp */; }; + 29A8F8361EF0476B00AD2478 /* Tap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1A51EF0476100AD2478 /* Tap.cpp */; }; + 29A8F8371EF0476B00AD2478 /* Tap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1A51EF0476100AD2478 /* Tap.cpp */; }; + 29A8F8381EF0476B00AD2478 /* Tap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1A51EF0476100AD2478 /* Tap.cpp */; }; + 29A8F8391EF0476B00AD2478 /* Tap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1A51EF0476100AD2478 /* Tap.cpp */; }; + 29A8F8401EF0476B00AD2478 /* TapAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1A71EF0476100AD2478 /* TapAttributes.cpp */; }; + 29A8F8411EF0476B00AD2478 /* TapAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1A71EF0476100AD2478 /* TapAttributes.cpp */; }; + 29A8F8421EF0476B00AD2478 /* TapAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1A71EF0476100AD2478 /* TapAttributes.cpp */; }; + 29A8F8431EF0476B00AD2478 /* TapAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1A71EF0476100AD2478 /* TapAttributes.cpp */; }; + 29A8F84A1EF0476B00AD2478 /* Technical.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1A91EF0476100AD2478 /* Technical.cpp */; }; + 29A8F84B1EF0476B00AD2478 /* Technical.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1A91EF0476100AD2478 /* Technical.cpp */; }; + 29A8F84C1EF0476B00AD2478 /* Technical.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1A91EF0476100AD2478 /* Technical.cpp */; }; + 29A8F84D1EF0476B00AD2478 /* Technical.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1A91EF0476100AD2478 /* Technical.cpp */; }; + 29A8F8541EF0476B00AD2478 /* TechnicalChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1AB1EF0476100AD2478 /* TechnicalChoice.cpp */; }; + 29A8F8551EF0476B00AD2478 /* TechnicalChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1AB1EF0476100AD2478 /* TechnicalChoice.cpp */; }; + 29A8F8561EF0476B00AD2478 /* TechnicalChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1AB1EF0476100AD2478 /* TechnicalChoice.cpp */; }; + 29A8F8571EF0476B00AD2478 /* TechnicalChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1AB1EF0476100AD2478 /* TechnicalChoice.cpp */; }; + 29A8F85E1EF0476B00AD2478 /* Tenths.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1AD1EF0476100AD2478 /* Tenths.cpp */; }; + 29A8F85F1EF0476B00AD2478 /* Tenths.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1AD1EF0476100AD2478 /* Tenths.cpp */; }; + 29A8F8601EF0476B00AD2478 /* Tenths.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1AD1EF0476100AD2478 /* Tenths.cpp */; }; + 29A8F8611EF0476B00AD2478 /* Tenths.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1AD1EF0476100AD2478 /* Tenths.cpp */; }; + 29A8F8681EF0476B00AD2478 /* Tenuto.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1AF1EF0476100AD2478 /* Tenuto.cpp */; }; + 29A8F8691EF0476B00AD2478 /* Tenuto.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1AF1EF0476100AD2478 /* Tenuto.cpp */; }; + 29A8F86A1EF0476B00AD2478 /* Tenuto.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1AF1EF0476100AD2478 /* Tenuto.cpp */; }; + 29A8F86B1EF0476B00AD2478 /* Tenuto.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1AF1EF0476100AD2478 /* Tenuto.cpp */; }; + 29A8F8721EF0476B00AD2478 /* Text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1B11EF0476100AD2478 /* Text.cpp */; }; + 29A8F8731EF0476B00AD2478 /* Text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1B11EF0476100AD2478 /* Text.cpp */; }; + 29A8F8741EF0476B00AD2478 /* Text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1B11EF0476100AD2478 /* Text.cpp */; }; + 29A8F8751EF0476B00AD2478 /* Text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1B11EF0476100AD2478 /* Text.cpp */; }; + 29A8F87C1EF0476B00AD2478 /* TextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1B31EF0476100AD2478 /* TextAttributes.cpp */; }; + 29A8F87D1EF0476B00AD2478 /* TextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1B31EF0476100AD2478 /* TextAttributes.cpp */; }; + 29A8F87E1EF0476B00AD2478 /* TextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1B31EF0476100AD2478 /* TextAttributes.cpp */; }; + 29A8F87F1EF0476B00AD2478 /* TextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1B31EF0476100AD2478 /* TextAttributes.cpp */; }; + 29A8F8861EF0476B00AD2478 /* ThumbPosition.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1B51EF0476100AD2478 /* ThumbPosition.cpp */; }; + 29A8F8871EF0476B00AD2478 /* ThumbPosition.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1B51EF0476100AD2478 /* ThumbPosition.cpp */; }; + 29A8F8881EF0476B00AD2478 /* ThumbPosition.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1B51EF0476100AD2478 /* ThumbPosition.cpp */; }; + 29A8F8891EF0476B00AD2478 /* ThumbPosition.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1B51EF0476100AD2478 /* ThumbPosition.cpp */; }; + 29A8F8901EF0476B00AD2478 /* Tie.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1B71EF0476100AD2478 /* Tie.cpp */; }; + 29A8F8911EF0476C00AD2478 /* Tie.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1B71EF0476100AD2478 /* Tie.cpp */; }; + 29A8F8921EF0476C00AD2478 /* Tie.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1B71EF0476100AD2478 /* Tie.cpp */; }; + 29A8F8931EF0476C00AD2478 /* Tie.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1B71EF0476100AD2478 /* Tie.cpp */; }; + 29A8F89A1EF0476C00AD2478 /* TieAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1B91EF0476100AD2478 /* TieAttributes.cpp */; }; + 29A8F89B1EF0476C00AD2478 /* TieAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1B91EF0476100AD2478 /* TieAttributes.cpp */; }; + 29A8F89C1EF0476C00AD2478 /* TieAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1B91EF0476100AD2478 /* TieAttributes.cpp */; }; + 29A8F89D1EF0476C00AD2478 /* TieAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1B91EF0476100AD2478 /* TieAttributes.cpp */; }; + 29A8F8A41EF0476C00AD2478 /* Tied.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1BB1EF0476100AD2478 /* Tied.cpp */; }; + 29A8F8A51EF0476C00AD2478 /* Tied.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1BB1EF0476100AD2478 /* Tied.cpp */; }; + 29A8F8A61EF0476C00AD2478 /* Tied.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1BB1EF0476100AD2478 /* Tied.cpp */; }; + 29A8F8A71EF0476C00AD2478 /* Tied.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1BB1EF0476100AD2478 /* Tied.cpp */; }; + 29A8F8AE1EF0476C00AD2478 /* TiedAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1BD1EF0476100AD2478 /* TiedAttributes.cpp */; }; + 29A8F8AF1EF0476C00AD2478 /* TiedAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1BD1EF0476100AD2478 /* TiedAttributes.cpp */; }; + 29A8F8B01EF0476C00AD2478 /* TiedAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1BD1EF0476100AD2478 /* TiedAttributes.cpp */; }; + 29A8F8B11EF0476C00AD2478 /* TiedAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1BD1EF0476100AD2478 /* TiedAttributes.cpp */; }; + 29A8F8B81EF0476C00AD2478 /* Time.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1BF1EF0476100AD2478 /* Time.cpp */; }; + 29A8F8B91EF0476C00AD2478 /* Time.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1BF1EF0476100AD2478 /* Time.cpp */; }; + 29A8F8BA1EF0476C00AD2478 /* Time.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1BF1EF0476100AD2478 /* Time.cpp */; }; + 29A8F8BB1EF0476C00AD2478 /* Time.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1BF1EF0476100AD2478 /* Time.cpp */; }; + 29A8F8C21EF0476C00AD2478 /* TimeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1C11EF0476100AD2478 /* TimeAttributes.cpp */; }; + 29A8F8C31EF0476C00AD2478 /* TimeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1C11EF0476100AD2478 /* TimeAttributes.cpp */; }; + 29A8F8C41EF0476C00AD2478 /* TimeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1C11EF0476100AD2478 /* TimeAttributes.cpp */; }; + 29A8F8C51EF0476C00AD2478 /* TimeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1C11EF0476100AD2478 /* TimeAttributes.cpp */; }; + 29A8F8CC1EF0476C00AD2478 /* TimeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1C31EF0476100AD2478 /* TimeChoice.cpp */; }; + 29A8F8CD1EF0476C00AD2478 /* TimeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1C31EF0476100AD2478 /* TimeChoice.cpp */; }; + 29A8F8CE1EF0476C00AD2478 /* TimeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1C31EF0476100AD2478 /* TimeChoice.cpp */; }; + 29A8F8CF1EF0476C00AD2478 /* TimeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1C31EF0476100AD2478 /* TimeChoice.cpp */; }; + 29A8F8D61EF0476C00AD2478 /* TimeModification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1C51EF0476100AD2478 /* TimeModification.cpp */; }; + 29A8F8D71EF0476C00AD2478 /* TimeModification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1C51EF0476100AD2478 /* TimeModification.cpp */; }; + 29A8F8D81EF0476C00AD2478 /* TimeModification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1C51EF0476100AD2478 /* TimeModification.cpp */; }; + 29A8F8D91EF0476C00AD2478 /* TimeModification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1C51EF0476100AD2478 /* TimeModification.cpp */; }; + 29A8F8E01EF0476C00AD2478 /* TimeModificationNormalTypeNormalDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1C71EF0476100AD2478 /* TimeModificationNormalTypeNormalDot.cpp */; }; + 29A8F8E11EF0476C00AD2478 /* TimeModificationNormalTypeNormalDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1C71EF0476100AD2478 /* TimeModificationNormalTypeNormalDot.cpp */; }; + 29A8F8E21EF0476C00AD2478 /* TimeModificationNormalTypeNormalDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1C71EF0476100AD2478 /* TimeModificationNormalTypeNormalDot.cpp */; }; + 29A8F8E31EF0476C00AD2478 /* TimeModificationNormalTypeNormalDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1C71EF0476100AD2478 /* TimeModificationNormalTypeNormalDot.cpp */; }; + 29A8F8EA1EF0476C00AD2478 /* TimeRelation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1C91EF0476100AD2478 /* TimeRelation.cpp */; }; + 29A8F8EB1EF0476C00AD2478 /* TimeRelation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1C91EF0476100AD2478 /* TimeRelation.cpp */; }; + 29A8F8EC1EF0476C00AD2478 /* TimeRelation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1C91EF0476100AD2478 /* TimeRelation.cpp */; }; + 29A8F8ED1EF0476C00AD2478 /* TimeRelation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1C91EF0476100AD2478 /* TimeRelation.cpp */; }; + 29A8F8F41EF0476C00AD2478 /* TimeSignatureGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1CB1EF0476100AD2478 /* TimeSignatureGroup.cpp */; }; + 29A8F8F51EF0476C00AD2478 /* TimeSignatureGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1CB1EF0476100AD2478 /* TimeSignatureGroup.cpp */; }; + 29A8F8F61EF0476C00AD2478 /* TimeSignatureGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1CB1EF0476100AD2478 /* TimeSignatureGroup.cpp */; }; + 29A8F8F71EF0476C00AD2478 /* TimeSignatureGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1CB1EF0476100AD2478 /* TimeSignatureGroup.cpp */; }; + 29A8F8FE1EF0476C00AD2478 /* TimewiseMeasure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1CD1EF0476100AD2478 /* TimewiseMeasure.cpp */; }; + 29A8F8FF1EF0476C00AD2478 /* TimewiseMeasure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1CD1EF0476100AD2478 /* TimewiseMeasure.cpp */; }; + 29A8F9001EF0476C00AD2478 /* TimewiseMeasure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1CD1EF0476100AD2478 /* TimewiseMeasure.cpp */; }; + 29A8F9011EF0476C00AD2478 /* TimewiseMeasure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1CD1EF0476100AD2478 /* TimewiseMeasure.cpp */; }; + 29A8F9081EF0476C00AD2478 /* TimewisePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1CF1EF0476100AD2478 /* TimewisePart.cpp */; }; + 29A8F9091EF0476C00AD2478 /* TimewisePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1CF1EF0476100AD2478 /* TimewisePart.cpp */; }; + 29A8F90A1EF0476C00AD2478 /* TimewisePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1CF1EF0476100AD2478 /* TimewisePart.cpp */; }; + 29A8F90B1EF0476C00AD2478 /* TimewisePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1CF1EF0476100AD2478 /* TimewisePart.cpp */; }; + 29A8F9121EF0476C00AD2478 /* Timpani.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1D11EF0476100AD2478 /* Timpani.cpp */; }; + 29A8F9131EF0476C00AD2478 /* Timpani.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1D11EF0476100AD2478 /* Timpani.cpp */; }; + 29A8F9141EF0476C00AD2478 /* Timpani.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1D11EF0476100AD2478 /* Timpani.cpp */; }; + 29A8F9151EF0476C00AD2478 /* Timpani.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1D11EF0476100AD2478 /* Timpani.cpp */; }; + 29A8F91C1EF0476C00AD2478 /* Toe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1D31EF0476100AD2478 /* Toe.cpp */; }; + 29A8F91D1EF0476C00AD2478 /* Toe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1D31EF0476100AD2478 /* Toe.cpp */; }; + 29A8F91E1EF0476C00AD2478 /* Toe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1D31EF0476100AD2478 /* Toe.cpp */; }; + 29A8F91F1EF0476C00AD2478 /* Toe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1D31EF0476100AD2478 /* Toe.cpp */; }; + 29A8F9261EF0476C00AD2478 /* ToeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1D51EF0476100AD2478 /* ToeAttributes.cpp */; }; + 29A8F9271EF0476C00AD2478 /* ToeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1D51EF0476100AD2478 /* ToeAttributes.cpp */; }; + 29A8F9281EF0476C00AD2478 /* ToeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1D51EF0476100AD2478 /* ToeAttributes.cpp */; }; + 29A8F9291EF0476C00AD2478 /* ToeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1D51EF0476100AD2478 /* ToeAttributes.cpp */; }; + 29A8F9301EF0476C00AD2478 /* TopMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1D71EF0476100AD2478 /* TopMargin.cpp */; }; + 29A8F9311EF0476C00AD2478 /* TopMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1D71EF0476100AD2478 /* TopMargin.cpp */; }; + 29A8F9321EF0476C00AD2478 /* TopMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1D71EF0476100AD2478 /* TopMargin.cpp */; }; + 29A8F9331EF0476C00AD2478 /* TopMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1D71EF0476100AD2478 /* TopMargin.cpp */; }; + 29A8F93A1EF0476C00AD2478 /* TopSystemDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1D91EF0476100AD2478 /* TopSystemDistance.cpp */; }; + 29A8F93B1EF0476C00AD2478 /* TopSystemDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1D91EF0476100AD2478 /* TopSystemDistance.cpp */; }; + 29A8F93C1EF0476C00AD2478 /* TopSystemDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1D91EF0476100AD2478 /* TopSystemDistance.cpp */; }; + 29A8F93D1EF0476C00AD2478 /* TopSystemDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1D91EF0476100AD2478 /* TopSystemDistance.cpp */; }; + 29A8F9441EF0476C00AD2478 /* TouchingPitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1DB1EF0476100AD2478 /* TouchingPitch.cpp */; }; + 29A8F9451EF0476C00AD2478 /* TouchingPitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1DB1EF0476100AD2478 /* TouchingPitch.cpp */; }; + 29A8F9461EF0476C00AD2478 /* TouchingPitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1DB1EF0476100AD2478 /* TouchingPitch.cpp */; }; + 29A8F9471EF0476C00AD2478 /* TouchingPitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1DB1EF0476100AD2478 /* TouchingPitch.cpp */; }; + 29A8F94E1EF0476C00AD2478 /* TraditionalKey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1DD1EF0476200AD2478 /* TraditionalKey.cpp */; }; + 29A8F94F1EF0476C00AD2478 /* TraditionalKey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1DD1EF0476200AD2478 /* TraditionalKey.cpp */; }; + 29A8F9501EF0476C00AD2478 /* TraditionalKey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1DD1EF0476200AD2478 /* TraditionalKey.cpp */; }; + 29A8F9511EF0476C00AD2478 /* TraditionalKey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1DD1EF0476200AD2478 /* TraditionalKey.cpp */; }; + 29A8F9581EF0476C00AD2478 /* Transpose.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1DF1EF0476200AD2478 /* Transpose.cpp */; }; + 29A8F9591EF0476C00AD2478 /* Transpose.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1DF1EF0476200AD2478 /* Transpose.cpp */; }; + 29A8F95A1EF0476C00AD2478 /* Transpose.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1DF1EF0476200AD2478 /* Transpose.cpp */; }; + 29A8F95B1EF0476C00AD2478 /* Transpose.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1DF1EF0476200AD2478 /* Transpose.cpp */; }; + 29A8F9621EF0476C00AD2478 /* TransposeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1E11EF0476200AD2478 /* TransposeAttributes.cpp */; }; + 29A8F9631EF0476C00AD2478 /* TransposeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1E11EF0476200AD2478 /* TransposeAttributes.cpp */; }; + 29A8F9641EF0476C00AD2478 /* TransposeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1E11EF0476200AD2478 /* TransposeAttributes.cpp */; }; + 29A8F9651EF0476C00AD2478 /* TransposeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1E11EF0476200AD2478 /* TransposeAttributes.cpp */; }; + 29A8F96C1EF0476C00AD2478 /* Tremolo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1E31EF0476200AD2478 /* Tremolo.cpp */; }; + 29A8F96D1EF0476C00AD2478 /* Tremolo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1E31EF0476200AD2478 /* Tremolo.cpp */; }; + 29A8F96E1EF0476C00AD2478 /* Tremolo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1E31EF0476200AD2478 /* Tremolo.cpp */; }; + 29A8F96F1EF0476C00AD2478 /* Tremolo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1E31EF0476200AD2478 /* Tremolo.cpp */; }; + 29A8F9761EF0476C00AD2478 /* TremoloAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1E51EF0476200AD2478 /* TremoloAttributes.cpp */; }; + 29A8F9771EF0476C00AD2478 /* TremoloAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1E51EF0476200AD2478 /* TremoloAttributes.cpp */; }; + 29A8F9781EF0476C00AD2478 /* TremoloAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1E51EF0476200AD2478 /* TremoloAttributes.cpp */; }; + 29A8F9791EF0476C00AD2478 /* TremoloAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1E51EF0476200AD2478 /* TremoloAttributes.cpp */; }; + 29A8F9801EF0476C00AD2478 /* TrillMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1E71EF0476200AD2478 /* TrillMark.cpp */; }; + 29A8F9811EF0476C00AD2478 /* TrillMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1E71EF0476200AD2478 /* TrillMark.cpp */; }; + 29A8F9821EF0476C00AD2478 /* TrillMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1E71EF0476200AD2478 /* TrillMark.cpp */; }; + 29A8F9831EF0476C00AD2478 /* TrillMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1E71EF0476200AD2478 /* TrillMark.cpp */; }; + 29A8F98A1EF0476C00AD2478 /* TripleTongue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1E91EF0476200AD2478 /* TripleTongue.cpp */; }; + 29A8F98B1EF0476C00AD2478 /* TripleTongue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1E91EF0476200AD2478 /* TripleTongue.cpp */; }; + 29A8F98C1EF0476C00AD2478 /* TripleTongue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1E91EF0476200AD2478 /* TripleTongue.cpp */; }; + 29A8F98D1EF0476C00AD2478 /* TripleTongue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1E91EF0476200AD2478 /* TripleTongue.cpp */; }; + 29A8F9941EF0476C00AD2478 /* TuningAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1EB1EF0476200AD2478 /* TuningAlter.cpp */; }; + 29A8F9951EF0476C00AD2478 /* TuningAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1EB1EF0476200AD2478 /* TuningAlter.cpp */; }; + 29A8F9961EF0476C00AD2478 /* TuningAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1EB1EF0476200AD2478 /* TuningAlter.cpp */; }; + 29A8F9971EF0476C00AD2478 /* TuningAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1EB1EF0476200AD2478 /* TuningAlter.cpp */; }; + 29A8F99E1EF0476C00AD2478 /* TuningOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1ED1EF0476200AD2478 /* TuningOctave.cpp */; }; + 29A8F99F1EF0476C00AD2478 /* TuningOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1ED1EF0476200AD2478 /* TuningOctave.cpp */; }; + 29A8F9A01EF0476C00AD2478 /* TuningOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1ED1EF0476200AD2478 /* TuningOctave.cpp */; }; + 29A8F9A11EF0476C00AD2478 /* TuningOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1ED1EF0476200AD2478 /* TuningOctave.cpp */; }; + 29A8F9A81EF0476C00AD2478 /* TuningStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1EF1EF0476200AD2478 /* TuningStep.cpp */; }; + 29A8F9A91EF0476C00AD2478 /* TuningStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1EF1EF0476200AD2478 /* TuningStep.cpp */; }; + 29A8F9AA1EF0476C00AD2478 /* TuningStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1EF1EF0476200AD2478 /* TuningStep.cpp */; }; + 29A8F9AB1EF0476C00AD2478 /* TuningStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1EF1EF0476200AD2478 /* TuningStep.cpp */; }; + 29A8F9B21EF0476C00AD2478 /* Tuplet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1F11EF0476200AD2478 /* Tuplet.cpp */; }; + 29A8F9B31EF0476C00AD2478 /* Tuplet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1F11EF0476200AD2478 /* Tuplet.cpp */; }; + 29A8F9B41EF0476C00AD2478 /* Tuplet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1F11EF0476200AD2478 /* Tuplet.cpp */; }; + 29A8F9B51EF0476C00AD2478 /* Tuplet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1F11EF0476200AD2478 /* Tuplet.cpp */; }; + 29A8F9BC1EF0476C00AD2478 /* TupletActual.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1F31EF0476200AD2478 /* TupletActual.cpp */; }; + 29A8F9BD1EF0476C00AD2478 /* TupletActual.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1F31EF0476200AD2478 /* TupletActual.cpp */; }; + 29A8F9BE1EF0476C00AD2478 /* TupletActual.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1F31EF0476200AD2478 /* TupletActual.cpp */; }; + 29A8F9BF1EF0476C00AD2478 /* TupletActual.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1F31EF0476200AD2478 /* TupletActual.cpp */; }; + 29A8F9C61EF0476C00AD2478 /* TupletAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1F51EF0476200AD2478 /* TupletAttributes.cpp */; }; + 29A8F9C71EF0476C00AD2478 /* TupletAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1F51EF0476200AD2478 /* TupletAttributes.cpp */; }; + 29A8F9C81EF0476C00AD2478 /* TupletAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1F51EF0476200AD2478 /* TupletAttributes.cpp */; }; + 29A8F9C91EF0476C00AD2478 /* TupletAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1F51EF0476200AD2478 /* TupletAttributes.cpp */; }; + 29A8F9D01EF0476C00AD2478 /* TupletDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1F71EF0476200AD2478 /* TupletDot.cpp */; }; + 29A8F9D11EF0476C00AD2478 /* TupletDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1F71EF0476200AD2478 /* TupletDot.cpp */; }; + 29A8F9D21EF0476C00AD2478 /* TupletDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1F71EF0476200AD2478 /* TupletDot.cpp */; }; + 29A8F9D31EF0476C00AD2478 /* TupletDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1F71EF0476200AD2478 /* TupletDot.cpp */; }; + 29A8F9DA1EF0476C00AD2478 /* TupletDotAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1F91EF0476200AD2478 /* TupletDotAttributes.cpp */; }; + 29A8F9DB1EF0476C00AD2478 /* TupletDotAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1F91EF0476200AD2478 /* TupletDotAttributes.cpp */; }; + 29A8F9DC1EF0476C00AD2478 /* TupletDotAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1F91EF0476200AD2478 /* TupletDotAttributes.cpp */; }; + 29A8F9DD1EF0476C00AD2478 /* TupletDotAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1F91EF0476200AD2478 /* TupletDotAttributes.cpp */; }; + 29A8F9E41EF0476C00AD2478 /* TupletNormal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1FB1EF0476200AD2478 /* TupletNormal.cpp */; }; + 29A8F9E51EF0476C00AD2478 /* TupletNormal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1FB1EF0476200AD2478 /* TupletNormal.cpp */; }; + 29A8F9E61EF0476C00AD2478 /* TupletNormal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1FB1EF0476200AD2478 /* TupletNormal.cpp */; }; + 29A8F9E71EF0476C00AD2478 /* TupletNormal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1FB1EF0476200AD2478 /* TupletNormal.cpp */; }; + 29A8F9EE1EF0476C00AD2478 /* TupletNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1FD1EF0476200AD2478 /* TupletNumber.cpp */; }; + 29A8F9EF1EF0476C00AD2478 /* TupletNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1FD1EF0476200AD2478 /* TupletNumber.cpp */; }; + 29A8F9F01EF0476C00AD2478 /* TupletNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1FD1EF0476200AD2478 /* TupletNumber.cpp */; }; + 29A8F9F11EF0476C00AD2478 /* TupletNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1FD1EF0476200AD2478 /* TupletNumber.cpp */; }; + 29A8F9F81EF0476C00AD2478 /* TupletNumberAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1FF1EF0476200AD2478 /* TupletNumberAttributes.cpp */; }; + 29A8F9F91EF0476C00AD2478 /* TupletNumberAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1FF1EF0476200AD2478 /* TupletNumberAttributes.cpp */; }; + 29A8F9FA1EF0476C00AD2478 /* TupletNumberAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1FF1EF0476200AD2478 /* TupletNumberAttributes.cpp */; }; + 29A8F9FB1EF0476C00AD2478 /* TupletNumberAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1FF1EF0476200AD2478 /* TupletNumberAttributes.cpp */; }; + 29A8FA071EF0476C00AD2478 /* TupletType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2021EF0476200AD2478 /* TupletType.cpp */; }; + 29A8FA081EF0476C00AD2478 /* TupletType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2021EF0476200AD2478 /* TupletType.cpp */; }; + 29A8FA091EF0476C00AD2478 /* TupletType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2021EF0476200AD2478 /* TupletType.cpp */; }; + 29A8FA0A1EF0476C00AD2478 /* TupletType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2021EF0476200AD2478 /* TupletType.cpp */; }; + 29A8FA111EF0476C00AD2478 /* TupletTypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2041EF0476200AD2478 /* TupletTypeAttributes.cpp */; }; + 29A8FA121EF0476C00AD2478 /* TupletTypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2041EF0476200AD2478 /* TupletTypeAttributes.cpp */; }; + 29A8FA131EF0476C00AD2478 /* TupletTypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2041EF0476200AD2478 /* TupletTypeAttributes.cpp */; }; + 29A8FA141EF0476C00AD2478 /* TupletTypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2041EF0476200AD2478 /* TupletTypeAttributes.cpp */; }; + 29A8FA1B1EF0476C00AD2478 /* Turn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2061EF0476200AD2478 /* Turn.cpp */; }; + 29A8FA1C1EF0476C00AD2478 /* Turn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2061EF0476200AD2478 /* Turn.cpp */; }; + 29A8FA1D1EF0476C00AD2478 /* Turn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2061EF0476200AD2478 /* Turn.cpp */; }; + 29A8FA1E1EF0476C00AD2478 /* Turn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2061EF0476200AD2478 /* Turn.cpp */; }; + 29A8FA251EF0476C00AD2478 /* TurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2081EF0476200AD2478 /* TurnAttributes.cpp */; }; + 29A8FA261EF0476C00AD2478 /* TurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2081EF0476200AD2478 /* TurnAttributes.cpp */; }; + 29A8FA271EF0476C00AD2478 /* TurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2081EF0476200AD2478 /* TurnAttributes.cpp */; }; + 29A8FA281EF0476C00AD2478 /* TurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2081EF0476200AD2478 /* TurnAttributes.cpp */; }; + 29A8FA2F1EF0476C00AD2478 /* Type.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E20A1EF0476200AD2478 /* Type.cpp */; }; + 29A8FA301EF0476C00AD2478 /* Type.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E20A1EF0476200AD2478 /* Type.cpp */; }; + 29A8FA311EF0476C00AD2478 /* Type.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E20A1EF0476200AD2478 /* Type.cpp */; }; + 29A8FA321EF0476C00AD2478 /* Type.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E20A1EF0476200AD2478 /* Type.cpp */; }; + 29A8FA391EF0476C00AD2478 /* TypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E20C1EF0476200AD2478 /* TypeAttributes.cpp */; }; + 29A8FA3A1EF0476C00AD2478 /* TypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E20C1EF0476200AD2478 /* TypeAttributes.cpp */; }; + 29A8FA3B1EF0476C00AD2478 /* TypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E20C1EF0476200AD2478 /* TypeAttributes.cpp */; }; + 29A8FA3C1EF0476C00AD2478 /* TypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E20C1EF0476200AD2478 /* TypeAttributes.cpp */; }; + 29A8FA431EF0476C00AD2478 /* Unpitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E20E1EF0476200AD2478 /* Unpitched.cpp */; }; + 29A8FA441EF0476C00AD2478 /* Unpitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E20E1EF0476200AD2478 /* Unpitched.cpp */; }; + 29A8FA451EF0476C00AD2478 /* Unpitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E20E1EF0476200AD2478 /* Unpitched.cpp */; }; + 29A8FA461EF0476C00AD2478 /* Unpitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E20E1EF0476200AD2478 /* Unpitched.cpp */; }; + 29A8FA4D1EF0476D00AD2478 /* Unstress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2101EF0476200AD2478 /* Unstress.cpp */; }; + 29A8FA4E1EF0476D00AD2478 /* Unstress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2101EF0476200AD2478 /* Unstress.cpp */; }; + 29A8FA4F1EF0476D00AD2478 /* Unstress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2101EF0476200AD2478 /* Unstress.cpp */; }; + 29A8FA501EF0476D00AD2478 /* Unstress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2101EF0476200AD2478 /* Unstress.cpp */; }; + 29A8FA571EF0476D00AD2478 /* UpBow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2121EF0476200AD2478 /* UpBow.cpp */; }; + 29A8FA581EF0476D00AD2478 /* UpBow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2121EF0476200AD2478 /* UpBow.cpp */; }; + 29A8FA591EF0476D00AD2478 /* UpBow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2121EF0476200AD2478 /* UpBow.cpp */; }; + 29A8FA5A1EF0476D00AD2478 /* UpBow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2121EF0476200AD2478 /* UpBow.cpp */; }; + 29A8FA611EF0476D00AD2478 /* VerticalTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2141EF0476200AD2478 /* VerticalTurn.cpp */; }; + 29A8FA621EF0476D00AD2478 /* VerticalTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2141EF0476200AD2478 /* VerticalTurn.cpp */; }; + 29A8FA631EF0476D00AD2478 /* VerticalTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2141EF0476200AD2478 /* VerticalTurn.cpp */; }; + 29A8FA641EF0476D00AD2478 /* VerticalTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2141EF0476200AD2478 /* VerticalTurn.cpp */; }; + 29A8FA6B1EF0476D00AD2478 /* VirtualInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2161EF0476200AD2478 /* VirtualInstrument.cpp */; }; + 29A8FA6C1EF0476D00AD2478 /* VirtualInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2161EF0476200AD2478 /* VirtualInstrument.cpp */; }; + 29A8FA6D1EF0476D00AD2478 /* VirtualInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2161EF0476200AD2478 /* VirtualInstrument.cpp */; }; + 29A8FA6E1EF0476D00AD2478 /* VirtualInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2161EF0476200AD2478 /* VirtualInstrument.cpp */; }; + 29A8FA751EF0476D00AD2478 /* VirtualLibrary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2181EF0476200AD2478 /* VirtualLibrary.cpp */; }; + 29A8FA761EF0476D00AD2478 /* VirtualLibrary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2181EF0476200AD2478 /* VirtualLibrary.cpp */; }; + 29A8FA771EF0476D00AD2478 /* VirtualLibrary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2181EF0476200AD2478 /* VirtualLibrary.cpp */; }; + 29A8FA781EF0476D00AD2478 /* VirtualLibrary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2181EF0476200AD2478 /* VirtualLibrary.cpp */; }; + 29A8FA7F1EF0476D00AD2478 /* VirtualName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E21A1EF0476200AD2478 /* VirtualName.cpp */; }; + 29A8FA801EF0476D00AD2478 /* VirtualName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E21A1EF0476200AD2478 /* VirtualName.cpp */; }; + 29A8FA811EF0476D00AD2478 /* VirtualName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E21A1EF0476200AD2478 /* VirtualName.cpp */; }; + 29A8FA821EF0476D00AD2478 /* VirtualName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E21A1EF0476200AD2478 /* VirtualName.cpp */; }; + 29A8FA891EF0476D00AD2478 /* Voice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E21C1EF0476200AD2478 /* Voice.cpp */; }; + 29A8FA8A1EF0476D00AD2478 /* Voice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E21C1EF0476200AD2478 /* Voice.cpp */; }; + 29A8FA8B1EF0476D00AD2478 /* Voice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E21C1EF0476200AD2478 /* Voice.cpp */; }; + 29A8FA8C1EF0476D00AD2478 /* Voice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E21C1EF0476200AD2478 /* Voice.cpp */; }; + 29A8FA931EF0476D00AD2478 /* Volume.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E21E1EF0476200AD2478 /* Volume.cpp */; }; + 29A8FA941EF0476D00AD2478 /* Volume.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E21E1EF0476200AD2478 /* Volume.cpp */; }; + 29A8FA951EF0476D00AD2478 /* Volume.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E21E1EF0476200AD2478 /* Volume.cpp */; }; + 29A8FA961EF0476D00AD2478 /* Volume.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E21E1EF0476200AD2478 /* Volume.cpp */; }; + 29A8FA9D1EF0476D00AD2478 /* WavyLine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2201EF0476200AD2478 /* WavyLine.cpp */; }; + 29A8FA9E1EF0476D00AD2478 /* WavyLine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2201EF0476200AD2478 /* WavyLine.cpp */; }; + 29A8FA9F1EF0476D00AD2478 /* WavyLine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2201EF0476200AD2478 /* WavyLine.cpp */; }; + 29A8FAA01EF0476D00AD2478 /* WavyLine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2201EF0476200AD2478 /* WavyLine.cpp */; }; + 29A8FAA71EF0476D00AD2478 /* WavyLineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2221EF0476200AD2478 /* WavyLineAttributes.cpp */; }; + 29A8FAA81EF0476D00AD2478 /* WavyLineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2221EF0476200AD2478 /* WavyLineAttributes.cpp */; }; + 29A8FAA91EF0476D00AD2478 /* WavyLineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2221EF0476200AD2478 /* WavyLineAttributes.cpp */; }; + 29A8FAAA1EF0476D00AD2478 /* WavyLineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2221EF0476200AD2478 /* WavyLineAttributes.cpp */; }; + 29A8FAB11EF0476D00AD2478 /* Wedge.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2241EF0476200AD2478 /* Wedge.cpp */; }; + 29A8FAB21EF0476D00AD2478 /* Wedge.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2241EF0476200AD2478 /* Wedge.cpp */; }; + 29A8FAB31EF0476D00AD2478 /* Wedge.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2241EF0476200AD2478 /* Wedge.cpp */; }; + 29A8FAB41EF0476D00AD2478 /* Wedge.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2241EF0476200AD2478 /* Wedge.cpp */; }; + 29A8FABB1EF0476D00AD2478 /* WedgeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2261EF0476200AD2478 /* WedgeAttributes.cpp */; }; + 29A8FABC1EF0476D00AD2478 /* WedgeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2261EF0476200AD2478 /* WedgeAttributes.cpp */; }; + 29A8FABD1EF0476D00AD2478 /* WedgeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2261EF0476200AD2478 /* WedgeAttributes.cpp */; }; + 29A8FABE1EF0476D00AD2478 /* WedgeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2261EF0476200AD2478 /* WedgeAttributes.cpp */; }; + 29A8FAC51EF0476D00AD2478 /* WithBar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2281EF0476200AD2478 /* WithBar.cpp */; }; + 29A8FAC61EF0476D00AD2478 /* WithBar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2281EF0476200AD2478 /* WithBar.cpp */; }; + 29A8FAC71EF0476D00AD2478 /* WithBar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2281EF0476200AD2478 /* WithBar.cpp */; }; + 29A8FAC81EF0476D00AD2478 /* WithBar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2281EF0476200AD2478 /* WithBar.cpp */; }; + 29A8FACF1EF0476D00AD2478 /* WithBarAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E22A1EF0476200AD2478 /* WithBarAttributes.cpp */; }; + 29A8FAD01EF0476D00AD2478 /* WithBarAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E22A1EF0476200AD2478 /* WithBarAttributes.cpp */; }; + 29A8FAD11EF0476D00AD2478 /* WithBarAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E22A1EF0476200AD2478 /* WithBarAttributes.cpp */; }; + 29A8FAD21EF0476D00AD2478 /* WithBarAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E22A1EF0476200AD2478 /* WithBarAttributes.cpp */; }; + 29A8FAD91EF0476D00AD2478 /* Wood.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E22C1EF0476200AD2478 /* Wood.cpp */; }; + 29A8FADA1EF0476D00AD2478 /* Wood.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E22C1EF0476200AD2478 /* Wood.cpp */; }; + 29A8FADB1EF0476D00AD2478 /* Wood.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E22C1EF0476200AD2478 /* Wood.cpp */; }; + 29A8FADC1EF0476D00AD2478 /* Wood.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E22C1EF0476200AD2478 /* Wood.cpp */; }; + 29A8FAE31EF0476D00AD2478 /* WordFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E22E1EF0476200AD2478 /* WordFont.cpp */; }; + 29A8FAE41EF0476D00AD2478 /* WordFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E22E1EF0476200AD2478 /* WordFont.cpp */; }; + 29A8FAE51EF0476D00AD2478 /* WordFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E22E1EF0476200AD2478 /* WordFont.cpp */; }; + 29A8FAE61EF0476D00AD2478 /* WordFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E22E1EF0476200AD2478 /* WordFont.cpp */; }; + 29A8FAED1EF0476D00AD2478 /* Words.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2301EF0476200AD2478 /* Words.cpp */; }; + 29A8FAEE1EF0476D00AD2478 /* Words.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2301EF0476200AD2478 /* Words.cpp */; }; + 29A8FAEF1EF0476D00AD2478 /* Words.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2301EF0476200AD2478 /* Words.cpp */; }; + 29A8FAF01EF0476D00AD2478 /* Words.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2301EF0476200AD2478 /* Words.cpp */; }; + 29A8FAF71EF0476D00AD2478 /* WordsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2321EF0476200AD2478 /* WordsAttributes.cpp */; }; + 29A8FAF81EF0476D00AD2478 /* WordsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2321EF0476200AD2478 /* WordsAttributes.cpp */; }; + 29A8FAF91EF0476D00AD2478 /* WordsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2321EF0476200AD2478 /* WordsAttributes.cpp */; }; + 29A8FAFA1EF0476D00AD2478 /* WordsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2321EF0476200AD2478 /* WordsAttributes.cpp */; }; + 29A8FB011EF0476D00AD2478 /* Work.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2341EF0476200AD2478 /* Work.cpp */; }; + 29A8FB021EF0476D00AD2478 /* Work.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2341EF0476200AD2478 /* Work.cpp */; }; + 29A8FB031EF0476D00AD2478 /* Work.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2341EF0476200AD2478 /* Work.cpp */; }; + 29A8FB041EF0476D00AD2478 /* Work.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2341EF0476200AD2478 /* Work.cpp */; }; + 29A8FB0B1EF0476D00AD2478 /* WorkNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2361EF0476200AD2478 /* WorkNumber.cpp */; }; + 29A8FB0C1EF0476D00AD2478 /* WorkNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2361EF0476200AD2478 /* WorkNumber.cpp */; }; + 29A8FB0D1EF0476D00AD2478 /* WorkNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2361EF0476200AD2478 /* WorkNumber.cpp */; }; + 29A8FB0E1EF0476D00AD2478 /* WorkNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2361EF0476200AD2478 /* WorkNumber.cpp */; }; + 29A8FB151EF0476D00AD2478 /* WorkTitle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2381EF0476200AD2478 /* WorkTitle.cpp */; }; + 29A8FB161EF0476D00AD2478 /* WorkTitle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2381EF0476200AD2478 /* WorkTitle.cpp */; }; + 29A8FB171EF0476D00AD2478 /* WorkTitle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2381EF0476200AD2478 /* WorkTitle.cpp */; }; + 29A8FB181EF0476D00AD2478 /* WorkTitle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2381EF0476200AD2478 /* WorkTitle.cpp */; }; + 29A8FB1F1EF0476D00AD2478 /* Elements.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E23A1EF0476200AD2478 /* Elements.cpp */; }; + 29A8FB201EF0476D00AD2478 /* Elements.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E23A1EF0476200AD2478 /* Elements.cpp */; }; + 29A8FB211EF0476D00AD2478 /* Elements.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E23A1EF0476200AD2478 /* Elements.cpp */; }; + 29A8FB221EF0476D00AD2478 /* Elements.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E23A1EF0476200AD2478 /* Elements.cpp */; }; + 29A8FB291EF0476D00AD2478 /* EmptyPrintObjectStyleAlignAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E23C1EF0476200AD2478 /* EmptyPrintObjectStyleAlignAttributes.cpp */; }; + 29A8FB2A1EF0476D00AD2478 /* EmptyPrintObjectStyleAlignAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E23C1EF0476200AD2478 /* EmptyPrintObjectStyleAlignAttributes.cpp */; }; + 29A8FB2B1EF0476D00AD2478 /* EmptyPrintObjectStyleAlignAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E23C1EF0476200AD2478 /* EmptyPrintObjectStyleAlignAttributes.cpp */; }; + 29A8FB2C1EF0476D00AD2478 /* EmptyPrintObjectStyleAlignAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E23C1EF0476200AD2478 /* EmptyPrintObjectStyleAlignAttributes.cpp */; }; + 29A8FB331EF0476D00AD2478 /* Enums.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E23E1EF0476200AD2478 /* Enums.cpp */; }; + 29A8FB341EF0476D00AD2478 /* Enums.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E23E1EF0476200AD2478 /* Enums.cpp */; }; + 29A8FB351EF0476D00AD2478 /* Enums.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E23E1EF0476200AD2478 /* Enums.cpp */; }; + 29A8FB361EF0476D00AD2478 /* Enums.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E23E1EF0476200AD2478 /* Enums.cpp */; }; + 29A8FB3D1EF0476D00AD2478 /* FontSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2401EF0476200AD2478 /* FontSize.cpp */; }; + 29A8FB3E1EF0476D00AD2478 /* FontSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2401EF0476200AD2478 /* FontSize.cpp */; }; + 29A8FB3F1EF0476D00AD2478 /* FontSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2401EF0476200AD2478 /* FontSize.cpp */; }; + 29A8FB401EF0476D00AD2478 /* FontSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2401EF0476200AD2478 /* FontSize.cpp */; }; + 29A8FB511EF0476D00AD2478 /* FromXElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2441EF0476200AD2478 /* FromXElement.cpp */; }; + 29A8FB521EF0476D00AD2478 /* FromXElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2441EF0476200AD2478 /* FromXElement.cpp */; }; + 29A8FB531EF0476D00AD2478 /* FromXElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2441EF0476200AD2478 /* FromXElement.cpp */; }; + 29A8FB541EF0476D00AD2478 /* FromXElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2441EF0476200AD2478 /* FromXElement.cpp */; }; + 29A8FB5B1EF0476D00AD2478 /* Integers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2461EF0476200AD2478 /* Integers.cpp */; }; + 29A8FB5C1EF0476D00AD2478 /* Integers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2461EF0476200AD2478 /* Integers.cpp */; }; + 29A8FB5D1EF0476D00AD2478 /* Integers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2461EF0476200AD2478 /* Integers.cpp */; }; + 29A8FB5E1EF0476D00AD2478 /* Integers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2461EF0476200AD2478 /* Integers.cpp */; }; + 29A8FB651EF0476D00AD2478 /* NumberOrNormal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2481EF0476200AD2478 /* NumberOrNormal.cpp */; }; + 29A8FB661EF0476D00AD2478 /* NumberOrNormal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2481EF0476200AD2478 /* NumberOrNormal.cpp */; }; + 29A8FB671EF0476D00AD2478 /* NumberOrNormal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2481EF0476200AD2478 /* NumberOrNormal.cpp */; }; + 29A8FB681EF0476D00AD2478 /* NumberOrNormal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2481EF0476200AD2478 /* NumberOrNormal.cpp */; }; + 29A8FB6F1EF0476D00AD2478 /* PositiveIntegerOrEmpty.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E24A1EF0476200AD2478 /* PositiveIntegerOrEmpty.cpp */; }; + 29A8FB701EF0476D00AD2478 /* PositiveIntegerOrEmpty.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E24A1EF0476200AD2478 /* PositiveIntegerOrEmpty.cpp */; }; + 29A8FB711EF0476D00AD2478 /* PositiveIntegerOrEmpty.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E24A1EF0476200AD2478 /* PositiveIntegerOrEmpty.cpp */; }; + 29A8FB721EF0476D00AD2478 /* PositiveIntegerOrEmpty.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E24A1EF0476200AD2478 /* PositiveIntegerOrEmpty.cpp */; }; + 29A8FB791EF0476D00AD2478 /* PreciseDecimal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E24C1EF0476200AD2478 /* PreciseDecimal.cpp */; }; + 29A8FB7A1EF0476D00AD2478 /* PreciseDecimal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E24C1EF0476200AD2478 /* PreciseDecimal.cpp */; }; + 29A8FB7B1EF0476D00AD2478 /* PreciseDecimal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E24C1EF0476200AD2478 /* PreciseDecimal.cpp */; }; + 29A8FB7C1EF0476D00AD2478 /* PreciseDecimal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E24C1EF0476200AD2478 /* PreciseDecimal.cpp */; }; + 29A8FB831EF0476D00AD2478 /* ScoreConversions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E24E1EF0476200AD2478 /* ScoreConversions.cpp */; }; + 29A8FB841EF0476D00AD2478 /* ScoreConversions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E24E1EF0476200AD2478 /* ScoreConversions.cpp */; }; + 29A8FB851EF0476D00AD2478 /* ScoreConversions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E24E1EF0476200AD2478 /* ScoreConversions.cpp */; }; + 29A8FB861EF0476D00AD2478 /* ScoreConversions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E24E1EF0476200AD2478 /* ScoreConversions.cpp */; }; + 29A8FB8D1EF0476D00AD2478 /* Strings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2501EF0476200AD2478 /* Strings.cpp */; }; + 29A8FB8E1EF0476D00AD2478 /* Strings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2501EF0476200AD2478 /* Strings.cpp */; }; + 29A8FB8F1EF0476D00AD2478 /* Strings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2501EF0476200AD2478 /* Strings.cpp */; }; + 29A8FB901EF0476D00AD2478 /* Strings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2501EF0476200AD2478 /* Strings.cpp */; }; + 29A8FB9C1EF0476D00AD2478 /* YesNoNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2531EF0476200AD2478 /* YesNoNumber.cpp */; }; + 29A8FB9D1EF0476D00AD2478 /* YesNoNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2531EF0476200AD2478 /* YesNoNumber.cpp */; }; + 29A8FB9E1EF0476D00AD2478 /* YesNoNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2531EF0476200AD2478 /* YesNoNumber.cpp */; }; + 29A8FB9F1EF0476D00AD2478 /* YesNoNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2531EF0476200AD2478 /* YesNoNumber.cpp */; }; + 29A8FBA61EF0476D00AD2478 /* AccidentalMarkFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2561EF0476200AD2478 /* AccidentalMarkFunctions.cpp */; }; + 29A8FBA71EF0476D00AD2478 /* AccidentalMarkFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2561EF0476200AD2478 /* AccidentalMarkFunctions.cpp */; }; + 29A8FBA81EF0476D00AD2478 /* AccidentalMarkFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2561EF0476200AD2478 /* AccidentalMarkFunctions.cpp */; }; + 29A8FBA91EF0476D00AD2478 /* AccidentalMarkFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2561EF0476200AD2478 /* AccidentalMarkFunctions.cpp */; }; + 29A8FBB01EF0476D00AD2478 /* ArticulationsFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2581EF0476200AD2478 /* ArticulationsFunctions.cpp */; }; + 29A8FBB11EF0476D00AD2478 /* ArticulationsFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2581EF0476200AD2478 /* ArticulationsFunctions.cpp */; }; + 29A8FBB21EF0476D00AD2478 /* ArticulationsFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2581EF0476200AD2478 /* ArticulationsFunctions.cpp */; }; + 29A8FBB31EF0476D00AD2478 /* ArticulationsFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2581EF0476200AD2478 /* ArticulationsFunctions.cpp */; }; + 29A8FBBA1EF0476D00AD2478 /* Converter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E25A1EF0476200AD2478 /* Converter.cpp */; }; + 29A8FBBB1EF0476D00AD2478 /* Converter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E25A1EF0476200AD2478 /* Converter.cpp */; }; + 29A8FBBC1EF0476D00AD2478 /* Converter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E25A1EF0476200AD2478 /* Converter.cpp */; }; + 29A8FBBD1EF0476D00AD2478 /* Converter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E25A1EF0476200AD2478 /* Converter.cpp */; }; + 29A8FBC41EF0476D00AD2478 /* Cursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E25C1EF0476200AD2478 /* Cursor.cpp */; }; + 29A8FBC51EF0476D00AD2478 /* Cursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E25C1EF0476200AD2478 /* Cursor.cpp */; }; + 29A8FBC61EF0476D00AD2478 /* Cursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E25C1EF0476200AD2478 /* Cursor.cpp */; }; + 29A8FBC71EF0476D00AD2478 /* Cursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E25C1EF0476200AD2478 /* Cursor.cpp */; }; + 29A8FBD31EF0476D00AD2478 /* DirectionReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E25F1EF0476200AD2478 /* DirectionReader.cpp */; }; + 29A8FBD41EF0476D00AD2478 /* DirectionReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E25F1EF0476200AD2478 /* DirectionReader.cpp */; }; + 29A8FBD51EF0476D00AD2478 /* DirectionReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E25F1EF0476200AD2478 /* DirectionReader.cpp */; }; + 29A8FBD61EF0476E00AD2478 /* DirectionReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E25F1EF0476200AD2478 /* DirectionReader.cpp */; }; + 29A8FBDD1EF0476E00AD2478 /* DirectionWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2611EF0476200AD2478 /* DirectionWriter.cpp */; }; + 29A8FBDE1EF0476E00AD2478 /* DirectionWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2611EF0476200AD2478 /* DirectionWriter.cpp */; }; + 29A8FBDF1EF0476E00AD2478 /* DirectionWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2611EF0476200AD2478 /* DirectionWriter.cpp */; }; + 29A8FBE01EF0476E00AD2478 /* DirectionWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2611EF0476200AD2478 /* DirectionWriter.cpp */; }; + 29A8FBE71EF0476E00AD2478 /* DynamicsReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2631EF0476200AD2478 /* DynamicsReader.cpp */; }; + 29A8FBE81EF0476E00AD2478 /* DynamicsReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2631EF0476200AD2478 /* DynamicsReader.cpp */; }; + 29A8FBE91EF0476E00AD2478 /* DynamicsReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2631EF0476200AD2478 /* DynamicsReader.cpp */; }; + 29A8FBEA1EF0476E00AD2478 /* DynamicsReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2631EF0476200AD2478 /* DynamicsReader.cpp */; }; + 29A8FBF11EF0476E00AD2478 /* DynamicsWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2651EF0476200AD2478 /* DynamicsWriter.cpp */; }; + 29A8FBF21EF0476E00AD2478 /* DynamicsWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2651EF0476200AD2478 /* DynamicsWriter.cpp */; }; + 29A8FBF31EF0476E00AD2478 /* DynamicsWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2651EF0476200AD2478 /* DynamicsWriter.cpp */; }; + 29A8FBF41EF0476E00AD2478 /* DynamicsWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2651EF0476200AD2478 /* DynamicsWriter.cpp */; }; + 29A8FBFB1EF0476E00AD2478 /* EncodingFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2671EF0476200AD2478 /* EncodingFunctions.cpp */; }; + 29A8FBFC1EF0476E00AD2478 /* EncodingFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2671EF0476200AD2478 /* EncodingFunctions.cpp */; }; + 29A8FBFD1EF0476E00AD2478 /* EncodingFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2671EF0476200AD2478 /* EncodingFunctions.cpp */; }; + 29A8FBFE1EF0476E00AD2478 /* EncodingFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2671EF0476200AD2478 /* EncodingFunctions.cpp */; }; + 29A8FC0A1EF0476E00AD2478 /* LayoutFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E26A1EF0476200AD2478 /* LayoutFunctions.cpp */; }; + 29A8FC0B1EF0476E00AD2478 /* LayoutFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E26A1EF0476200AD2478 /* LayoutFunctions.cpp */; }; + 29A8FC0C1EF0476E00AD2478 /* LayoutFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E26A1EF0476200AD2478 /* LayoutFunctions.cpp */; }; + 29A8FC0D1EF0476E00AD2478 /* LayoutFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E26A1EF0476200AD2478 /* LayoutFunctions.cpp */; }; + 29A8FC141EF0476E00AD2478 /* LcmGcd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E26C1EF0476200AD2478 /* LcmGcd.cpp */; }; + 29A8FC151EF0476E00AD2478 /* LcmGcd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E26C1EF0476200AD2478 /* LcmGcd.cpp */; }; + 29A8FC161EF0476E00AD2478 /* LcmGcd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E26C1EF0476200AD2478 /* LcmGcd.cpp */; }; + 29A8FC171EF0476E00AD2478 /* LcmGcd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E26C1EF0476200AD2478 /* LcmGcd.cpp */; }; + 29A8FC2D1EF0476E00AD2478 /* MeasureReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2711EF0476200AD2478 /* MeasureReader.cpp */; }; + 29A8FC2E1EF0476E00AD2478 /* MeasureReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2711EF0476200AD2478 /* MeasureReader.cpp */; }; + 29A8FC2F1EF0476E00AD2478 /* MeasureReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2711EF0476200AD2478 /* MeasureReader.cpp */; }; + 29A8FC301EF0476E00AD2478 /* MeasureReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2711EF0476200AD2478 /* MeasureReader.cpp */; }; + 29A8FC371EF0476E00AD2478 /* MeasureWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2731EF0476200AD2478 /* MeasureWriter.cpp */; }; + 29A8FC381EF0476E00AD2478 /* MeasureWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2731EF0476200AD2478 /* MeasureWriter.cpp */; }; + 29A8FC391EF0476E00AD2478 /* MeasureWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2731EF0476200AD2478 /* MeasureWriter.cpp */; }; + 29A8FC3A1EF0476E00AD2478 /* MeasureWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2731EF0476200AD2478 /* MeasureWriter.cpp */; }; + 29A8FC411EF0476E00AD2478 /* MetronomeReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2751EF0476200AD2478 /* MetronomeReader.cpp */; }; + 29A8FC421EF0476E00AD2478 /* MetronomeReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2751EF0476200AD2478 /* MetronomeReader.cpp */; }; + 29A8FC431EF0476E00AD2478 /* MetronomeReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2751EF0476200AD2478 /* MetronomeReader.cpp */; }; + 29A8FC441EF0476E00AD2478 /* MetronomeReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2751EF0476200AD2478 /* MetronomeReader.cpp */; }; + 29A8FC501EF0476E00AD2478 /* NotationsWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2781EF0476200AD2478 /* NotationsWriter.cpp */; }; + 29A8FC511EF0476E00AD2478 /* NotationsWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2781EF0476200AD2478 /* NotationsWriter.cpp */; }; + 29A8FC521EF0476E00AD2478 /* NotationsWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2781EF0476200AD2478 /* NotationsWriter.cpp */; }; + 29A8FC531EF0476E00AD2478 /* NotationsWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2781EF0476200AD2478 /* NotationsWriter.cpp */; }; + 29A8FC5A1EF0476E00AD2478 /* NoteFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E27A1EF0476200AD2478 /* NoteFunctions.cpp */; }; + 29A8FC5B1EF0476E00AD2478 /* NoteFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E27A1EF0476200AD2478 /* NoteFunctions.cpp */; }; + 29A8FC5C1EF0476E00AD2478 /* NoteFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E27A1EF0476200AD2478 /* NoteFunctions.cpp */; }; + 29A8FC5D1EF0476E00AD2478 /* NoteFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E27A1EF0476200AD2478 /* NoteFunctions.cpp */; }; + 29A8FC641EF0476E00AD2478 /* NoteReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E27C1EF0476200AD2478 /* NoteReader.cpp */; }; + 29A8FC651EF0476E00AD2478 /* NoteReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E27C1EF0476200AD2478 /* NoteReader.cpp */; }; + 29A8FC661EF0476E00AD2478 /* NoteReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E27C1EF0476200AD2478 /* NoteReader.cpp */; }; + 29A8FC671EF0476E00AD2478 /* NoteReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E27C1EF0476200AD2478 /* NoteReader.cpp */; }; + 29A8FC6E1EF0476E00AD2478 /* NoteWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E27E1EF0476200AD2478 /* NoteWriter.cpp */; }; + 29A8FC6F1EF0476E00AD2478 /* NoteWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E27E1EF0476200AD2478 /* NoteWriter.cpp */; }; + 29A8FC701EF0476E00AD2478 /* NoteWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E27E1EF0476200AD2478 /* NoteWriter.cpp */; }; + 29A8FC711EF0476E00AD2478 /* NoteWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E27E1EF0476200AD2478 /* NoteWriter.cpp */; }; + 29A8FC781EF0476E00AD2478 /* OrnamentsFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2801EF0476200AD2478 /* OrnamentsFunctions.cpp */; }; + 29A8FC791EF0476E00AD2478 /* OrnamentsFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2801EF0476200AD2478 /* OrnamentsFunctions.cpp */; }; + 29A8FC7A1EF0476E00AD2478 /* OrnamentsFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2801EF0476200AD2478 /* OrnamentsFunctions.cpp */; }; + 29A8FC7B1EF0476E00AD2478 /* OrnamentsFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2801EF0476200AD2478 /* OrnamentsFunctions.cpp */; }; + 29A8FC821EF0476E00AD2478 /* PageTextFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2821EF0476200AD2478 /* PageTextFunctions.cpp */; }; + 29A8FC831EF0476E00AD2478 /* PageTextFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2821EF0476200AD2478 /* PageTextFunctions.cpp */; }; + 29A8FC841EF0476E00AD2478 /* PageTextFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2821EF0476200AD2478 /* PageTextFunctions.cpp */; }; + 29A8FC851EF0476E00AD2478 /* PageTextFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2821EF0476200AD2478 /* PageTextFunctions.cpp */; }; + 29A8FC8C1EF0476E00AD2478 /* PartReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2841EF0476200AD2478 /* PartReader.cpp */; }; + 29A8FC8D1EF0476E00AD2478 /* PartReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2841EF0476200AD2478 /* PartReader.cpp */; }; + 29A8FC8E1EF0476E00AD2478 /* PartReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2841EF0476200AD2478 /* PartReader.cpp */; }; + 29A8FC8F1EF0476E00AD2478 /* PartReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2841EF0476200AD2478 /* PartReader.cpp */; }; + 29A8FC961EF0476E00AD2478 /* PartWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2861EF0476300AD2478 /* PartWriter.cpp */; }; + 29A8FC971EF0476E00AD2478 /* PartWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2861EF0476300AD2478 /* PartWriter.cpp */; }; + 29A8FC981EF0476E00AD2478 /* PartWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2861EF0476300AD2478 /* PartWriter.cpp */; }; + 29A8FC991EF0476E00AD2478 /* PartWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2861EF0476300AD2478 /* PartWriter.cpp */; }; + 29A8FCAA1EF0476E00AD2478 /* PropertiesWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E28A1EF0476300AD2478 /* PropertiesWriter.cpp */; }; + 29A8FCAB1EF0476E00AD2478 /* PropertiesWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E28A1EF0476300AD2478 /* PropertiesWriter.cpp */; }; + 29A8FCAC1EF0476E00AD2478 /* PropertiesWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E28A1EF0476300AD2478 /* PropertiesWriter.cpp */; }; + 29A8FCAD1EF0476E00AD2478 /* PropertiesWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E28A1EF0476300AD2478 /* PropertiesWriter.cpp */; }; + 29A8FCB41EF0476E00AD2478 /* ScoreReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E28C1EF0476300AD2478 /* ScoreReader.cpp */; }; + 29A8FCB51EF0476E00AD2478 /* ScoreReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E28C1EF0476300AD2478 /* ScoreReader.cpp */; }; + 29A8FCB61EF0476E00AD2478 /* ScoreReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E28C1EF0476300AD2478 /* ScoreReader.cpp */; }; + 29A8FCB71EF0476E00AD2478 /* ScoreReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E28C1EF0476300AD2478 /* ScoreReader.cpp */; }; + 29A8FCBE1EF0476E00AD2478 /* ScoreWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E28E1EF0476300AD2478 /* ScoreWriter.cpp */; }; + 29A8FCBF1EF0476E00AD2478 /* ScoreWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E28E1EF0476300AD2478 /* ScoreWriter.cpp */; }; + 29A8FCC01EF0476E00AD2478 /* ScoreWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E28E1EF0476300AD2478 /* ScoreWriter.cpp */; }; + 29A8FCC11EF0476E00AD2478 /* ScoreWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E28E1EF0476300AD2478 /* ScoreWriter.cpp */; }; + 29A8FCD21EF0476E00AD2478 /* StaffFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2921EF0476300AD2478 /* StaffFunctions.cpp */; }; + 29A8FCD31EF0476E00AD2478 /* StaffFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2921EF0476300AD2478 /* StaffFunctions.cpp */; }; + 29A8FCD41EF0476E00AD2478 /* StaffFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2921EF0476300AD2478 /* StaffFunctions.cpp */; }; + 29A8FCD51EF0476E00AD2478 /* StaffFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2921EF0476300AD2478 /* StaffFunctions.cpp */; }; + 29A8FCDC1EF0476E00AD2478 /* TechnicalFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2941EF0476300AD2478 /* TechnicalFunctions.cpp */; }; + 29A8FCDD1EF0476E00AD2478 /* TechnicalFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2941EF0476300AD2478 /* TechnicalFunctions.cpp */; }; + 29A8FCDE1EF0476E00AD2478 /* TechnicalFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2941EF0476300AD2478 /* TechnicalFunctions.cpp */; }; + 29A8FCDF1EF0476E00AD2478 /* TechnicalFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2941EF0476300AD2478 /* TechnicalFunctions.cpp */; }; + 29A8FCE61EF0476E00AD2478 /* TimeReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2961EF0476300AD2478 /* TimeReader.cpp */; }; + 29A8FCE71EF0476E00AD2478 /* TimeReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2961EF0476300AD2478 /* TimeReader.cpp */; }; + 29A8FCE81EF0476E00AD2478 /* TimeReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2961EF0476300AD2478 /* TimeReader.cpp */; }; + 29A8FCE91EF0476E00AD2478 /* TimeReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2961EF0476300AD2478 /* TimeReader.cpp */; }; + 29A8FCF01EF0476E00AD2478 /* TupletReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2981EF0476300AD2478 /* TupletReader.cpp */; }; + 29A8FCF11EF0476E00AD2478 /* TupletReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2981EF0476300AD2478 /* TupletReader.cpp */; }; + 29A8FCF21EF0476E00AD2478 /* TupletReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2981EF0476300AD2478 /* TupletReader.cpp */; }; + 29A8FCF31EF0476E00AD2478 /* TupletReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2981EF0476300AD2478 /* TupletReader.cpp */; }; + 29A8FCFF1EF0476E00AD2478 /* pugixml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E29C1EF0476300AD2478 /* pugixml.cpp */; }; + 29A8FD001EF0476E00AD2478 /* pugixml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E29C1EF0476300AD2478 /* pugixml.cpp */; }; + 29A8FD011EF0476E00AD2478 /* pugixml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E29C1EF0476300AD2478 /* pugixml.cpp */; }; + 29A8FD021EF0476E00AD2478 /* pugixml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E29C1EF0476300AD2478 /* pugixml.cpp */; }; + 29A8FD311EF0476E00AD2478 /* Utility.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2A71EF0476300AD2478 /* Utility.cpp */; }; + 29A8FD321EF0476E00AD2478 /* Utility.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2A71EF0476300AD2478 /* Utility.cpp */; }; + 29A8FD331EF0476E00AD2478 /* Utility.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2A71EF0476300AD2478 /* Utility.cpp */; }; + 29A8FD341EF0476E00AD2478 /* Utility.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2A71EF0476300AD2478 /* Utility.cpp */; }; + 29A8FD3B1EF0476E00AD2478 /* UtilityImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2A91EF0476300AD2478 /* UtilityImpl.cpp */; }; + 29A8FD3C1EF0476E00AD2478 /* UtilityImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2A91EF0476300AD2478 /* UtilityImpl.cpp */; }; + 29A8FD3D1EF0476E00AD2478 /* UtilityImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2A91EF0476300AD2478 /* UtilityImpl.cpp */; }; + 29A8FD3E1EF0476E00AD2478 /* UtilityImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2A91EF0476300AD2478 /* UtilityImpl.cpp */; }; + 29A8FD451EF0476E00AD2478 /* PugiAttribute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2AC1EF0476300AD2478 /* PugiAttribute.cpp */; }; + 29A8FD461EF0476E00AD2478 /* PugiAttribute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2AC1EF0476300AD2478 /* PugiAttribute.cpp */; }; + 29A8FD471EF0476E00AD2478 /* PugiAttribute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2AC1EF0476300AD2478 /* PugiAttribute.cpp */; }; + 29A8FD481EF0476E00AD2478 /* PugiAttribute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2AC1EF0476300AD2478 /* PugiAttribute.cpp */; }; + 29A8FD4F1EF0476E00AD2478 /* PugiAttributeIterImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2AE1EF0476300AD2478 /* PugiAttributeIterImpl.cpp */; }; + 29A8FD501EF0476E00AD2478 /* PugiAttributeIterImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2AE1EF0476300AD2478 /* PugiAttributeIterImpl.cpp */; }; + 29A8FD511EF0476E00AD2478 /* PugiAttributeIterImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2AE1EF0476300AD2478 /* PugiAttributeIterImpl.cpp */; }; + 29A8FD521EF0476E00AD2478 /* PugiAttributeIterImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2AE1EF0476300AD2478 /* PugiAttributeIterImpl.cpp */; }; + 29A8FD591EF0476F00AD2478 /* PugiDoc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2B01EF0476300AD2478 /* PugiDoc.cpp */; }; + 29A8FD5A1EF0476F00AD2478 /* PugiDoc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2B01EF0476300AD2478 /* PugiDoc.cpp */; }; + 29A8FD5B1EF0476F00AD2478 /* PugiDoc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2B01EF0476300AD2478 /* PugiDoc.cpp */; }; + 29A8FD5C1EF0476F00AD2478 /* PugiDoc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2B01EF0476300AD2478 /* PugiDoc.cpp */; }; + 29A8FD631EF0476F00AD2478 /* PugiElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2B21EF0476300AD2478 /* PugiElement.cpp */; }; + 29A8FD641EF0476F00AD2478 /* PugiElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2B21EF0476300AD2478 /* PugiElement.cpp */; }; + 29A8FD651EF0476F00AD2478 /* PugiElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2B21EF0476300AD2478 /* PugiElement.cpp */; }; + 29A8FD661EF0476F00AD2478 /* PugiElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2B21EF0476300AD2478 /* PugiElement.cpp */; }; + 29A8FD6D1EF0476F00AD2478 /* PugiElementIterImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2B41EF0476300AD2478 /* PugiElementIterImpl.cpp */; }; + 29A8FD6E1EF0476F00AD2478 /* PugiElementIterImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2B41EF0476300AD2478 /* PugiElementIterImpl.cpp */; }; + 29A8FD6F1EF0476F00AD2478 /* PugiElementIterImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2B41EF0476300AD2478 /* PugiElementIterImpl.cpp */; }; + 29A8FD701EF0476F00AD2478 /* PugiElementIterImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2B41EF0476300AD2478 /* PugiElementIterImpl.cpp */; }; + 29A8FD7C1EF0476F00AD2478 /* XAttributeIterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2B71EF0476300AD2478 /* XAttributeIterator.cpp */; }; + 29A8FD7D1EF0476F00AD2478 /* XAttributeIterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2B71EF0476300AD2478 /* XAttributeIterator.cpp */; }; + 29A8FD7E1EF0476F00AD2478 /* XAttributeIterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2B71EF0476300AD2478 /* XAttributeIterator.cpp */; }; + 29A8FD7F1EF0476F00AD2478 /* XAttributeIterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2B71EF0476300AD2478 /* XAttributeIterator.cpp */; }; + 29A8FD9A1EF0476F00AD2478 /* XElementIterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2BD1EF0476300AD2478 /* XElementIterator.cpp */; }; + 29A8FD9B1EF0476F00AD2478 /* XElementIterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2BD1EF0476300AD2478 /* XElementIterator.cpp */; }; + 29A8FD9C1EF0476F00AD2478 /* XElementIterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2BD1EF0476300AD2478 /* XElementIterator.cpp */; }; + 29A8FD9D1EF0476F00AD2478 /* XElementIterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2BD1EF0476300AD2478 /* XElementIterator.cpp */; }; + 29A8FDA91EF0476F00AD2478 /* XFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2C01EF0476300AD2478 /* XFactory.cpp */; }; + 29A8FDAA1EF0476F00AD2478 /* XFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2C01EF0476300AD2478 /* XFactory.cpp */; }; + 29A8FDAB1EF0476F00AD2478 /* XFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2C01EF0476300AD2478 /* XFactory.cpp */; }; + 29A8FDAC1EF0476F00AD2478 /* XFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2C01EF0476300AD2478 /* XFactory.cpp */; }; + 29A8FDC61EF0497500AD2478 /* MxmacOS.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8FDC41EF0497500AD2478 /* MxmacOS.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 29A8FDCA1EF0499200AD2478 /* ClefData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD5C1EF0475D00AD2478 /* ClefData.cpp */; }; + 29A8FDCB1EF0499200AD2478 /* DocumentManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD611EF0475D00AD2478 /* DocumentManager.cpp */; }; + 29A8FDCC1EF0499200AD2478 /* DurationData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD631EF0475D00AD2478 /* DurationData.cpp */; }; + 29A8FDCD1EF0499200AD2478 /* MarkData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD6A1EF0475D00AD2478 /* MarkData.cpp */; }; + 29A8FDCE1EF0499200AD2478 /* MeasureLocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD6D1EF0475D00AD2478 /* MeasureLocation.cpp */; }; + 29A8FDCF1EF0499200AD2478 /* NoteData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD701EF0475D00AD2478 /* NoteData.cpp */; }; + 29A8FDD01EF0499200AD2478 /* PitchData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD761EF0475D00AD2478 /* PitchData.cpp */; }; + 29A8FDD11EF0499200AD2478 /* ScoreData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD7A1EF0475D00AD2478 /* ScoreData.cpp */; }; + 29A8FDD21EF0499200AD2478 /* Smufl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD7C1EF0475D00AD2478 /* Smufl.cpp */; }; + 29A8FDD31EF0499200AD2478 /* WordsData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD861EF0475D00AD2478 /* WordsData.cpp */; }; + 29A8FDD41EF0499200AD2478 /* AttributesInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD891EF0475D00AD2478 /* AttributesInterface.cpp */; }; + 29A8FDD51EF0499200AD2478 /* Color.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD8B1EF0475D00AD2478 /* Color.cpp */; }; + 29A8FDD61EF0499200AD2478 /* Date.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD8D1EF0475D00AD2478 /* Date.cpp */; }; + 29A8FDD71EF0499200AD2478 /* Decimals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD8F1EF0475D00AD2478 /* Decimals.cpp */; }; + 29A8FDD81EF0499200AD2478 /* Document.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD911EF0475D00AD2478 /* Document.cpp */; }; + 29A8FDD91EF0499200AD2478 /* DocumentHeader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD931EF0475D00AD2478 /* DocumentHeader.cpp */; }; + 29A8FDDA1EF0499200AD2478 /* DocumentSpec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD951EF0475D00AD2478 /* DocumentSpec.cpp */; }; + 29A8FDDB1EF0499200AD2478 /* ElementInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD971EF0475D00AD2478 /* ElementInterface.cpp */; }; + 29A8FDDC1EF0499200AD2478 /* Accent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD9A1EF0475D00AD2478 /* Accent.cpp */; }; + 29A8FDDD1EF0499200AD2478 /* Accidental.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD9C1EF0475D00AD2478 /* Accidental.cpp */; }; + 29A8FDDE1EF0499200AD2478 /* AccidentalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD9E1EF0475D00AD2478 /* AccidentalAttributes.cpp */; }; + 29A8FDDF1EF0499200AD2478 /* AccidentalMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDA01EF0475D00AD2478 /* AccidentalMark.cpp */; }; + 29A8FDE01EF0499200AD2478 /* AccidentalMarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDA21EF0475D00AD2478 /* AccidentalMarkAttributes.cpp */; }; + 29A8FDE11EF0499200AD2478 /* AccidentalText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDA41EF0475D00AD2478 /* AccidentalText.cpp */; }; + 29A8FDE21EF0499200AD2478 /* AccidentalTextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDA61EF0475D00AD2478 /* AccidentalTextAttributes.cpp */; }; + 29A8FDE31EF0499200AD2478 /* Accord.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDA81EF0475D00AD2478 /* Accord.cpp */; }; + 29A8FDE41EF0499200AD2478 /* AccordAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDAA1EF0475D00AD2478 /* AccordAttributes.cpp */; }; + 29A8FDE51EF0499200AD2478 /* AccordionHigh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDAC1EF0475D00AD2478 /* AccordionHigh.cpp */; }; + 29A8FDE61EF0499200AD2478 /* AccordionLow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDAE1EF0475D00AD2478 /* AccordionLow.cpp */; }; + 29A8FDE71EF0499200AD2478 /* AccordionMiddle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDB01EF0475D00AD2478 /* AccordionMiddle.cpp */; }; + 29A8FDE81EF0499200AD2478 /* AccordionRegistration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDB21EF0475D00AD2478 /* AccordionRegistration.cpp */; }; + 29A8FDE91EF0499200AD2478 /* AccordionRegistrationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDB41EF0475D00AD2478 /* AccordionRegistrationAttributes.cpp */; }; + 29A8FDEA1EF0499200AD2478 /* ActualNotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDB61EF0475D00AD2478 /* ActualNotes.cpp */; }; + 29A8FDEB1EF0499200AD2478 /* Alter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDB81EF0475D00AD2478 /* Alter.cpp */; }; + 29A8FDEC1EF0499200AD2478 /* Appearance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDBA1EF0475D00AD2478 /* Appearance.cpp */; }; + 29A8FDED1EF0499200AD2478 /* Arpeggiate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDBC1EF0475D00AD2478 /* Arpeggiate.cpp */; }; + 29A8FDEE1EF0499200AD2478 /* ArpeggiateAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDBE1EF0475D00AD2478 /* ArpeggiateAttributes.cpp */; }; + 29A8FDEF1EF0499200AD2478 /* Arrow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDC01EF0475D00AD2478 /* Arrow.cpp */; }; + 29A8FDF01EF0499200AD2478 /* ArrowAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDC21EF0475D00AD2478 /* ArrowAttributes.cpp */; }; + 29A8FDF11EF0499200AD2478 /* ArrowDirection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDC41EF0475D00AD2478 /* ArrowDirection.cpp */; }; + 29A8FDF21EF0499200AD2478 /* ArrowGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDC61EF0475D00AD2478 /* ArrowGroup.cpp */; }; + 29A8FDF31EF0499200AD2478 /* ArrowStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDC81EF0475D00AD2478 /* ArrowStyle.cpp */; }; + 29A8FDF41EF0499200AD2478 /* Articulations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDCA1EF0475D00AD2478 /* Articulations.cpp */; }; + 29A8FDF51EF0499200AD2478 /* ArticulationsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDCC1EF0475D00AD2478 /* ArticulationsChoice.cpp */; }; + 29A8FDF61EF0499200AD2478 /* Artificial.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDCE1EF0475D00AD2478 /* Artificial.cpp */; }; + 29A8FDF71EF0499200AD2478 /* AttributesIterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDD01EF0475D00AD2478 /* AttributesIterface.cpp */; }; + 29A8FDF81EF0499200AD2478 /* Backup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDD21EF0475D00AD2478 /* Backup.cpp */; }; + 29A8FDF91EF0499200AD2478 /* Barline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDD41EF0475D00AD2478 /* Barline.cpp */; }; + 29A8FDFA1EF0499200AD2478 /* BarlineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDD61EF0475D00AD2478 /* BarlineAttributes.cpp */; }; + 29A8FDFB1EF0499200AD2478 /* Barre.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDD81EF0475D00AD2478 /* Barre.cpp */; }; + 29A8FDFC1EF0499200AD2478 /* BarreAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDDA1EF0475D00AD2478 /* BarreAttributes.cpp */; }; + 29A8FDFD1EF0499200AD2478 /* BarStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDDC1EF0475D00AD2478 /* BarStyle.cpp */; }; + 29A8FDFE1EF0499200AD2478 /* BarStyleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDDE1EF0475D00AD2478 /* BarStyleAttributes.cpp */; }; + 29A8FDFF1EF0499200AD2478 /* BasePitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDE01EF0475D00AD2478 /* BasePitch.cpp */; }; + 29A8FE001EF0499200AD2478 /* Bass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDE21EF0475D00AD2478 /* Bass.cpp */; }; + 29A8FE011EF0499200AD2478 /* BassAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDE41EF0475D00AD2478 /* BassAlter.cpp */; }; + 29A8FE021EF0499200AD2478 /* BassAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDE61EF0475D00AD2478 /* BassAlterAttributes.cpp */; }; + 29A8FE031EF0499200AD2478 /* BassStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDE81EF0475D00AD2478 /* BassStep.cpp */; }; + 29A8FE041EF0499200AD2478 /* BassStepAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDEA1EF0475D00AD2478 /* BassStepAttributes.cpp */; }; + 29A8FE051EF0499200AD2478 /* Beam.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDEC1EF0475D00AD2478 /* Beam.cpp */; }; + 29A8FE061EF0499200AD2478 /* BeamAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDEE1EF0475D00AD2478 /* BeamAttributes.cpp */; }; + 29A8FE071EF0499200AD2478 /* Beater.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDF01EF0475D00AD2478 /* Beater.cpp */; }; + 29A8FE081EF0499200AD2478 /* BeaterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDF21EF0475D00AD2478 /* BeaterAttributes.cpp */; }; + 29A8FE091EF0499200AD2478 /* BeatRepeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDF41EF0475D00AD2478 /* BeatRepeat.cpp */; }; + 29A8FE0A1EF0499200AD2478 /* BeatRepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDF61EF0475D00AD2478 /* BeatRepeatAttributes.cpp */; }; + 29A8FE0B1EF0499200AD2478 /* Beats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDF81EF0475D00AD2478 /* Beats.cpp */; }; + 29A8FE0C1EF0499200AD2478 /* BeatType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDFA1EF0475D00AD2478 /* BeatType.cpp */; }; + 29A8FE0D1EF0499200AD2478 /* BeatUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDFC1EF0475D00AD2478 /* BeatUnit.cpp */; }; + 29A8FE0E1EF0499200AD2478 /* BeatUnitDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DDFE1EF0475D00AD2478 /* BeatUnitDot.cpp */; }; + 29A8FE0F1EF0499200AD2478 /* BeatUnitGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE001EF0475D00AD2478 /* BeatUnitGroup.cpp */; }; + 29A8FE101EF0499200AD2478 /* BeatUnitPer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE021EF0475D00AD2478 /* BeatUnitPer.cpp */; }; + 29A8FE111EF0499200AD2478 /* BeatUnitPerOrNoteRelationNoteChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE041EF0475D00AD2478 /* BeatUnitPerOrNoteRelationNoteChoice.cpp */; }; + 29A8FE121EF0499200AD2478 /* Bend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE061EF0475D00AD2478 /* Bend.cpp */; }; + 29A8FE131EF0499200AD2478 /* BendAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE081EF0475D00AD2478 /* BendAlter.cpp */; }; + 29A8FE141EF0499200AD2478 /* BendAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE0A1EF0475D00AD2478 /* BendAttributes.cpp */; }; + 29A8FE151EF0499200AD2478 /* BendChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE0C1EF0475D00AD2478 /* BendChoice.cpp */; }; + 29A8FE161EF0499200AD2478 /* Bookmark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE0E1EF0475D00AD2478 /* Bookmark.cpp */; }; + 29A8FE171EF0499200AD2478 /* BookmarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE101EF0475D00AD2478 /* BookmarkAttributes.cpp */; }; + 29A8FE181EF0499200AD2478 /* BottomMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE121EF0475D00AD2478 /* BottomMargin.cpp */; }; + 29A8FE191EF0499200AD2478 /* Bracket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE141EF0475D00AD2478 /* Bracket.cpp */; }; + 29A8FE1A1EF0499200AD2478 /* BracketAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE161EF0475D00AD2478 /* BracketAttributes.cpp */; }; + 29A8FE1B1EF0499200AD2478 /* BreathMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE181EF0475D00AD2478 /* BreathMark.cpp */; }; + 29A8FE1C1EF0499200AD2478 /* BreathMarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE1A1EF0475D00AD2478 /* BreathMarkAttributes.cpp */; }; + 29A8FE1D1EF0499200AD2478 /* Caesura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE1C1EF0475D00AD2478 /* Caesura.cpp */; }; + 29A8FE1E1EF0499200AD2478 /* Cancel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE1E1EF0475D00AD2478 /* Cancel.cpp */; }; + 29A8FE1F1EF0499200AD2478 /* CancelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE201EF0475D00AD2478 /* CancelAttributes.cpp */; }; + 29A8FE201EF0499200AD2478 /* Capo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE221EF0475D00AD2478 /* Capo.cpp */; }; + 29A8FE211EF0499200AD2478 /* Chord.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE241EF0475D00AD2478 /* Chord.cpp */; }; + 29A8FE221EF0499200AD2478 /* Chromatic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE261EF0475D00AD2478 /* Chromatic.cpp */; }; + 29A8FE231EF0499200AD2478 /* CircularArrow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE281EF0475D00AD2478 /* CircularArrow.cpp */; }; + 29A8FE241EF0499200AD2478 /* Clef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE2A1EF0475D00AD2478 /* Clef.cpp */; }; + 29A8FE251EF0499200AD2478 /* ClefAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE2C1EF0475D00AD2478 /* ClefAttributes.cpp */; }; + 29A8FE261EF0499200AD2478 /* ClefOctaveChange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE2E1EF0475D00AD2478 /* ClefOctaveChange.cpp */; }; + 29A8FE271EF0499200AD2478 /* Coda.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE301EF0475D00AD2478 /* Coda.cpp */; }; + 29A8FE281EF0499200AD2478 /* Creator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE321EF0475D00AD2478 /* Creator.cpp */; }; + 29A8FE291EF0499200AD2478 /* CreatorAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE341EF0475D00AD2478 /* CreatorAttributes.cpp */; }; + 29A8FE2A1EF0499200AD2478 /* Credit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE361EF0475D00AD2478 /* Credit.cpp */; }; + 29A8FE2B1EF0499200AD2478 /* CreditAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE381EF0475D00AD2478 /* CreditAttributes.cpp */; }; + 29A8FE2C1EF0499200AD2478 /* CreditChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE3A1EF0475D00AD2478 /* CreditChoice.cpp */; }; + 29A8FE2D1EF0499200AD2478 /* CreditImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE3C1EF0475D00AD2478 /* CreditImage.cpp */; }; + 29A8FE2E1EF0499200AD2478 /* CreditImageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE3E1EF0475D00AD2478 /* CreditImageAttributes.cpp */; }; + 29A8FE2F1EF0499200AD2478 /* CreditType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE401EF0475D00AD2478 /* CreditType.cpp */; }; + 29A8FE301EF0499200AD2478 /* CreditWords.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE421EF0475D00AD2478 /* CreditWords.cpp */; }; + 29A8FE311EF0499200AD2478 /* CreditWordsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE441EF0475D00AD2478 /* CreditWordsAttributes.cpp */; }; + 29A8FE321EF0499200AD2478 /* CreditWordsGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE461EF0475D00AD2478 /* CreditWordsGroup.cpp */; }; + 29A8FE331EF0499200AD2478 /* Cue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE481EF0475D00AD2478 /* Cue.cpp */; }; + 29A8FE341EF0499200AD2478 /* CueNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE4A1EF0475D00AD2478 /* CueNoteGroup.cpp */; }; + 29A8FE351EF0499200AD2478 /* Damp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE4C1EF0475D00AD2478 /* Damp.cpp */; }; + 29A8FE361EF0499200AD2478 /* DampAll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE4E1EF0475D00AD2478 /* DampAll.cpp */; }; + 29A8FE371EF0499200AD2478 /* Dashes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE501EF0475D00AD2478 /* Dashes.cpp */; }; + 29A8FE381EF0499200AD2478 /* DashesAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE521EF0475D00AD2478 /* DashesAttributes.cpp */; }; + 29A8FE391EF0499200AD2478 /* Defaults.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE541EF0475D00AD2478 /* Defaults.cpp */; }; + 29A8FE3A1EF0499200AD2478 /* Degree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE561EF0475D00AD2478 /* Degree.cpp */; }; + 29A8FE3B1EF0499200AD2478 /* DegreeAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE581EF0475D00AD2478 /* DegreeAlter.cpp */; }; + 29A8FE3C1EF0499200AD2478 /* DegreeAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE5A1EF0475D00AD2478 /* DegreeAlterAttributes.cpp */; }; + 29A8FE3D1EF0499200AD2478 /* DegreeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE5C1EF0475D00AD2478 /* DegreeAttributes.cpp */; }; + 29A8FE3E1EF0499200AD2478 /* DegreeType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE5E1EF0475D00AD2478 /* DegreeType.cpp */; }; + 29A8FE3F1EF0499200AD2478 /* DegreeTypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE601EF0475E00AD2478 /* DegreeTypeAttributes.cpp */; }; + 29A8FE401EF0499200AD2478 /* DegreeValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE621EF0475E00AD2478 /* DegreeValue.cpp */; }; + 29A8FE411EF0499200AD2478 /* DegreeValueAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE641EF0475E00AD2478 /* DegreeValueAttributes.cpp */; }; + 29A8FE421EF0499200AD2478 /* DelayedInvertedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE661EF0475E00AD2478 /* DelayedInvertedTurn.cpp */; }; + 29A8FE431EF0499200AD2478 /* DelayedInvertedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE681EF0475E00AD2478 /* DelayedInvertedTurnAttributes.cpp */; }; + 29A8FE441EF0499200AD2478 /* DelayedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE6A1EF0475E00AD2478 /* DelayedTurn.cpp */; }; + 29A8FE451EF0499200AD2478 /* DelayedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE6C1EF0475E00AD2478 /* DelayedTurnAttributes.cpp */; }; + 29A8FE461EF0499200AD2478 /* DetachedLegato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE6E1EF0475E00AD2478 /* DetachedLegato.cpp */; }; + 29A8FE471EF0499200AD2478 /* Diatonic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE701EF0475E00AD2478 /* Diatonic.cpp */; }; + 29A8FE481EF0499200AD2478 /* Direction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE721EF0475E00AD2478 /* Direction.cpp */; }; + 29A8FE491EF0499200AD2478 /* DirectionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE741EF0475E00AD2478 /* DirectionAttributes.cpp */; }; + 29A8FE4A1EF0499200AD2478 /* DirectionType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE761EF0475E00AD2478 /* DirectionType.cpp */; }; + 29A8FE4B1EF0499200AD2478 /* Directive.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE781EF0475E00AD2478 /* Directive.cpp */; }; + 29A8FE4C1EF0499200AD2478 /* DirectiveAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE7A1EF0475E00AD2478 /* DirectiveAttributes.cpp */; }; + 29A8FE4D1EF0499200AD2478 /* DisplayOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE7C1EF0475E00AD2478 /* DisplayOctave.cpp */; }; + 29A8FE4E1EF0499200AD2478 /* DisplayStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE7E1EF0475E00AD2478 /* DisplayStep.cpp */; }; + 29A8FE4F1EF0499200AD2478 /* DisplayStepOctaveGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE801EF0475E00AD2478 /* DisplayStepOctaveGroup.cpp */; }; + 29A8FE501EF0499200AD2478 /* DisplayText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE821EF0475E00AD2478 /* DisplayText.cpp */; }; + 29A8FE511EF0499200AD2478 /* DisplayTextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE841EF0475E00AD2478 /* DisplayTextAttributes.cpp */; }; + 29A8FE521EF0499200AD2478 /* DisplayTextOrAccidentalText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE861EF0475E00AD2478 /* DisplayTextOrAccidentalText.cpp */; }; + 29A8FE531EF0499200AD2478 /* Distance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE881EF0475E00AD2478 /* Distance.cpp */; }; + 29A8FE541EF0499200AD2478 /* DistanceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE8A1EF0475E00AD2478 /* DistanceAttributes.cpp */; }; + 29A8FE551EF0499200AD2478 /* Divisions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE8C1EF0475E00AD2478 /* Divisions.cpp */; }; + 29A8FE561EF0499200AD2478 /* Doit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE8E1EF0475E00AD2478 /* Doit.cpp */; }; + 29A8FE571EF0499200AD2478 /* Dot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE901EF0475E00AD2478 /* Dot.cpp */; }; + 29A8FE581EF0499200AD2478 /* Double.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE921EF0475E00AD2478 /* Double.cpp */; }; + 29A8FE591EF0499200AD2478 /* DoubleTongue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE941EF0475E00AD2478 /* DoubleTongue.cpp */; }; + 29A8FE5A1EF0499200AD2478 /* DownBow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE961EF0475E00AD2478 /* DownBow.cpp */; }; + 29A8FE5B1EF0499200AD2478 /* Duration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE981EF0475E00AD2478 /* Duration.cpp */; }; + 29A8FE5C1EF0499200AD2478 /* Dynamics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE9A1EF0475E00AD2478 /* Dynamics.cpp */; }; + 29A8FE5D1EF0499200AD2478 /* DynamicsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE9C1EF0475E00AD2478 /* DynamicsAttributes.cpp */; }; + 29A8FE5E1EF0499200AD2478 /* EditorialGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DE9E1EF0475E00AD2478 /* EditorialGroup.cpp */; }; + 29A8FE5F1EF0499200AD2478 /* EditorialVoiceDirectionGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEA01EF0475E00AD2478 /* EditorialVoiceDirectionGroup.cpp */; }; + 29A8FE601EF0499200AD2478 /* EditorialVoiceGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEA21EF0475E00AD2478 /* EditorialVoiceGroup.cpp */; }; + 29A8FE611EF0499200AD2478 /* Effect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEA41EF0475E00AD2478 /* Effect.cpp */; }; + 29A8FE621EF0499200AD2478 /* Elevation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEA61EF0475E00AD2478 /* Elevation.cpp */; }; + 29A8FE631EF0499200AD2478 /* Elision.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEA81EF0475E00AD2478 /* Elision.cpp */; }; + 29A8FE641EF0499200AD2478 /* ElisionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEAA1EF0475E00AD2478 /* ElisionAttributes.cpp */; }; + 29A8FE651EF0499200AD2478 /* ElisionSyllabicGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEAC1EF0475E00AD2478 /* ElisionSyllabicGroup.cpp */; }; + 29A8FE661EF0499200AD2478 /* ElisionSyllabicTextGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEAE1EF0475E00AD2478 /* ElisionSyllabicTextGroup.cpp */; }; + 29A8FE671EF0499200AD2478 /* EmptyFontAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEB01EF0475E00AD2478 /* EmptyFontAttributes.cpp */; }; + 29A8FE681EF0499200AD2478 /* EmptyLineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEB21EF0475E00AD2478 /* EmptyLineAttributes.cpp */; }; + 29A8FE691EF0499200AD2478 /* EmptyPlacementAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEB41EF0475E00AD2478 /* EmptyPlacementAttributes.cpp */; }; + 29A8FE6A1EF0499200AD2478 /* EmptyTrillSoundAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEB61EF0475E00AD2478 /* EmptyTrillSoundAttributes.cpp */; }; + 29A8FE6B1EF0499200AD2478 /* Encoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEB81EF0475E00AD2478 /* Encoder.cpp */; }; + 29A8FE6C1EF0499200AD2478 /* EncoderAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEBA1EF0475E00AD2478 /* EncoderAttributes.cpp */; }; + 29A8FE6D1EF0499200AD2478 /* Encoding.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEBC1EF0475E00AD2478 /* Encoding.cpp */; }; + 29A8FE6E1EF0499200AD2478 /* EncodingChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEBE1EF0475E00AD2478 /* EncodingChoice.cpp */; }; + 29A8FE6F1EF0499200AD2478 /* EncodingDate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEC01EF0475E00AD2478 /* EncodingDate.cpp */; }; + 29A8FE701EF0499200AD2478 /* EncodingDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEC21EF0475E00AD2478 /* EncodingDescription.cpp */; }; + 29A8FE711EF0499200AD2478 /* Ending.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEC41EF0475E00AD2478 /* Ending.cpp */; }; + 29A8FE721EF0499200AD2478 /* EndingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEC61EF0475E00AD2478 /* EndingAttributes.cpp */; }; + 29A8FE731EF0499200AD2478 /* EndLine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEC81EF0475E00AD2478 /* EndLine.cpp */; }; + 29A8FE741EF0499200AD2478 /* EndParagraph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DECA1EF0475E00AD2478 /* EndParagraph.cpp */; }; + 29A8FE751EF0499200AD2478 /* Ensemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DECC1EF0475E00AD2478 /* Ensemble.cpp */; }; + 29A8FE761EF0499200AD2478 /* Extend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DECE1EF0475E00AD2478 /* Extend.cpp */; }; + 29A8FE771EF0499200AD2478 /* ExtendAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DED01EF0475E00AD2478 /* ExtendAttributes.cpp */; }; + 29A8FE781EF0499200AD2478 /* Eyeglasses.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DED21EF0475E00AD2478 /* Eyeglasses.cpp */; }; + 29A8FE791EF0499200AD2478 /* Falloff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DED41EF0475E00AD2478 /* Falloff.cpp */; }; + 29A8FE7A1EF0499200AD2478 /* Feature.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DED61EF0475E00AD2478 /* Feature.cpp */; }; + 29A8FE7B1EF0499200AD2478 /* FeatureAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DED81EF0475E00AD2478 /* FeatureAttributes.cpp */; }; + 29A8FE7C1EF0499200AD2478 /* Fermata.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEDA1EF0475E00AD2478 /* Fermata.cpp */; }; + 29A8FE7D1EF0499200AD2478 /* FermataAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEDC1EF0475E00AD2478 /* FermataAttributes.cpp */; }; + 29A8FE7E1EF0499200AD2478 /* Fifths.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEDE1EF0475E00AD2478 /* Fifths.cpp */; }; + 29A8FE7F1EF0499200AD2478 /* Figure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEE01EF0475E00AD2478 /* Figure.cpp */; }; + 29A8FE801EF0499200AD2478 /* FiguredBass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEE21EF0475E00AD2478 /* FiguredBass.cpp */; }; + 29A8FE811EF0499200AD2478 /* FiguredBassAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEE41EF0475E00AD2478 /* FiguredBassAttributes.cpp */; }; + 29A8FE821EF0499200AD2478 /* FigureNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEE61EF0475E00AD2478 /* FigureNumber.cpp */; }; + 29A8FE831EF0499200AD2478 /* FigureNumberAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEE81EF0475E00AD2478 /* FigureNumberAttributes.cpp */; }; + 29A8FE841EF0499200AD2478 /* Fingering.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEEA1EF0475E00AD2478 /* Fingering.cpp */; }; + 29A8FE851EF0499200AD2478 /* FingeringAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEEC1EF0475E00AD2478 /* FingeringAttributes.cpp */; }; + 29A8FE861EF0499200AD2478 /* Fingernails.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEEE1EF0475E00AD2478 /* Fingernails.cpp */; }; + 29A8FE871EF0499200AD2478 /* FirstFret.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEF01EF0475E00AD2478 /* FirstFret.cpp */; }; + 29A8FE881EF0499200AD2478 /* FirstFretAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEF21EF0475E00AD2478 /* FirstFretAttributes.cpp */; }; + 29A8FE891EF0499200AD2478 /* Footnote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEF41EF0475E00AD2478 /* Footnote.cpp */; }; + 29A8FE8A1EF0499200AD2478 /* FootnoteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEF61EF0475E00AD2478 /* FootnoteAttributes.cpp */; }; + 29A8FE8B1EF0499200AD2478 /* Forward.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEF81EF0475E00AD2478 /* Forward.cpp */; }; + 29A8FE8C1EF0499200AD2478 /* Frame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEFA1EF0475E00AD2478 /* Frame.cpp */; }; + 29A8FE8D1EF0499200AD2478 /* FrameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEFC1EF0475E00AD2478 /* FrameAttributes.cpp */; }; + 29A8FE8E1EF0499200AD2478 /* FrameFrets.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DEFE1EF0475E00AD2478 /* FrameFrets.cpp */; }; + 29A8FE8F1EF0499200AD2478 /* FrameNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF001EF0475E00AD2478 /* FrameNote.cpp */; }; + 29A8FE901EF0499200AD2478 /* FrameStrings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF021EF0475E00AD2478 /* FrameStrings.cpp */; }; + 29A8FE911EF0499200AD2478 /* Fret.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF041EF0475E00AD2478 /* Fret.cpp */; }; + 29A8FE921EF0499200AD2478 /* FretAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF061EF0475E00AD2478 /* FretAttributes.cpp */; }; + 29A8FE931EF0499200AD2478 /* FullNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF081EF0475E00AD2478 /* FullNoteGroup.cpp */; }; + 29A8FE941EF0499200AD2478 /* FullNoteTypeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF0A1EF0475E00AD2478 /* FullNoteTypeChoice.cpp */; }; + 29A8FE951EF0499200AD2478 /* Function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF0C1EF0475E00AD2478 /* Function.cpp */; }; + 29A8FE961EF0499200AD2478 /* FunctionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF0E1EF0475E00AD2478 /* FunctionAttributes.cpp */; }; + 29A8FE971EF0499200AD2478 /* Glass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF101EF0475E00AD2478 /* Glass.cpp */; }; + 29A8FE981EF0499200AD2478 /* Glissando.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF121EF0475E00AD2478 /* Glissando.cpp */; }; + 29A8FE991EF0499200AD2478 /* GlissandoAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF141EF0475E00AD2478 /* GlissandoAttributes.cpp */; }; + 29A8FE9A1EF0499200AD2478 /* Grace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF161EF0475E00AD2478 /* Grace.cpp */; }; + 29A8FE9B1EF0499200AD2478 /* GraceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF181EF0475E00AD2478 /* GraceAttributes.cpp */; }; + 29A8FE9C1EF0499200AD2478 /* GraceNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF1A1EF0475E00AD2478 /* GraceNoteGroup.cpp */; }; + 29A8FE9D1EF0499200AD2478 /* Group.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF1C1EF0475E00AD2478 /* Group.cpp */; }; + 29A8FE9E1EF0499200AD2478 /* GroupAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF1E1EF0475E00AD2478 /* GroupAbbreviation.cpp */; }; + 29A8FE9F1EF0499200AD2478 /* GroupAbbreviationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF201EF0475E00AD2478 /* GroupAbbreviationAttributes.cpp */; }; + 29A8FEA01EF0499200AD2478 /* GroupAbbreviationDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF221EF0475E00AD2478 /* GroupAbbreviationDisplay.cpp */; }; + 29A8FEA11EF0499200AD2478 /* GroupAbbreviationDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF241EF0475E00AD2478 /* GroupAbbreviationDisplayAttributes.cpp */; }; + 29A8FEA21EF0499200AD2478 /* GroupBarline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF261EF0475E00AD2478 /* GroupBarline.cpp */; }; + 29A8FEA31EF0499200AD2478 /* GroupBarlineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF281EF0475E00AD2478 /* GroupBarlineAttributes.cpp */; }; + 29A8FEA41EF0499200AD2478 /* Grouping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF2A1EF0475E00AD2478 /* Grouping.cpp */; }; + 29A8FEA51EF0499200AD2478 /* GroupingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF2C1EF0475E00AD2478 /* GroupingAttributes.cpp */; }; + 29A8FEA61EF0499200AD2478 /* GroupName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF2E1EF0475E00AD2478 /* GroupName.cpp */; }; + 29A8FEA71EF0499200AD2478 /* GroupNameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF301EF0475E00AD2478 /* GroupNameAttributes.cpp */; }; + 29A8FEA81EF0499200AD2478 /* GroupNameDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF321EF0475E00AD2478 /* GroupNameDisplay.cpp */; }; + 29A8FEA91EF0499200AD2478 /* GroupNameDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF341EF0475E00AD2478 /* GroupNameDisplayAttributes.cpp */; }; + 29A8FEAA1EF0499200AD2478 /* GroupSymbol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF361EF0475E00AD2478 /* GroupSymbol.cpp */; }; + 29A8FEAB1EF0499200AD2478 /* GroupSymbolAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF381EF0475E00AD2478 /* GroupSymbolAttributes.cpp */; }; + 29A8FEAC1EF0499200AD2478 /* GroupTime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF3A1EF0475E00AD2478 /* GroupTime.cpp */; }; + 29A8FEAD1EF0499200AD2478 /* HammerOn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF3C1EF0475E00AD2478 /* HammerOn.cpp */; }; + 29A8FEAE1EF0499200AD2478 /* HammerOnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF3E1EF0475E00AD2478 /* HammerOnAttributes.cpp */; }; + 29A8FEAF1EF0499200AD2478 /* Handbell.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF401EF0475E00AD2478 /* Handbell.cpp */; }; + 29A8FEB01EF0499200AD2478 /* HandbellAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF421EF0475E00AD2478 /* HandbellAttributes.cpp */; }; + 29A8FEB11EF0499200AD2478 /* Harmonic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF441EF0475E00AD2478 /* Harmonic.cpp */; }; + 29A8FEB21EF0499200AD2478 /* HarmonicAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF461EF0475E00AD2478 /* HarmonicAttributes.cpp */; }; + 29A8FEB31EF0499200AD2478 /* HarmonicInfoChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF481EF0475E00AD2478 /* HarmonicInfoChoice.cpp */; }; + 29A8FEB41EF0499200AD2478 /* HarmonicTypeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF4A1EF0475E00AD2478 /* HarmonicTypeChoice.cpp */; }; + 29A8FEB51EF0499200AD2478 /* Harmony.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF4C1EF0475E00AD2478 /* Harmony.cpp */; }; + 29A8FEB61EF0499200AD2478 /* HarmonyAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF4E1EF0475E00AD2478 /* HarmonyAttributes.cpp */; }; + 29A8FEB71EF0499200AD2478 /* HarmonyChordGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF501EF0475E00AD2478 /* HarmonyChordGroup.cpp */; }; + 29A8FEB81EF0499200AD2478 /* HarpPedals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF521EF0475E00AD2478 /* HarpPedals.cpp */; }; + 29A8FEB91EF0499200AD2478 /* HarpPedalsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF541EF0475E00AD2478 /* HarpPedalsAttributes.cpp */; }; + 29A8FEBA1EF0499200AD2478 /* Heel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF561EF0475E00AD2478 /* Heel.cpp */; }; + 29A8FEBB1EF0499200AD2478 /* HeelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF581EF0475E00AD2478 /* HeelAttributes.cpp */; }; + 29A8FEBC1EF0499200AD2478 /* Hole.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF5A1EF0475E00AD2478 /* Hole.cpp */; }; + 29A8FEBD1EF0499200AD2478 /* HoleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF5C1EF0475E00AD2478 /* HoleAttributes.cpp */; }; + 29A8FEBE1EF0499200AD2478 /* HoleClosed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF5E1EF0475E00AD2478 /* HoleClosed.cpp */; }; + 29A8FEBF1EF0499200AD2478 /* HoleClosedAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF601EF0475E00AD2478 /* HoleClosedAttributes.cpp */; }; + 29A8FEC01EF0499200AD2478 /* HoleShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF621EF0475E00AD2478 /* HoleShape.cpp */; }; + 29A8FEC11EF0499200AD2478 /* HoleType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF641EF0475E00AD2478 /* HoleType.cpp */; }; + 29A8FEC21EF0499200AD2478 /* Humming.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF661EF0475E00AD2478 /* Humming.cpp */; }; + 29A8FEC31EF0499200AD2478 /* Identification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF681EF0475E00AD2478 /* Identification.cpp */; }; + 29A8FEC41EF0499200AD2478 /* Image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF6A1EF0475E00AD2478 /* Image.cpp */; }; + 29A8FEC51EF0499200AD2478 /* ImageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF6C1EF0475E00AD2478 /* ImageAttributes.cpp */; }; + 29A8FEC61EF0499200AD2478 /* Instrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF6E1EF0475E00AD2478 /* Instrument.cpp */; }; + 29A8FEC71EF0499200AD2478 /* InstrumentAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF701EF0475E00AD2478 /* InstrumentAbbreviation.cpp */; }; + 29A8FEC81EF0499200AD2478 /* InstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF721EF0475E00AD2478 /* InstrumentAttributes.cpp */; }; + 29A8FEC91EF0499200AD2478 /* InstrumentName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF741EF0475E00AD2478 /* InstrumentName.cpp */; }; + 29A8FECA1EF0499200AD2478 /* Instruments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF761EF0475E00AD2478 /* Instruments.cpp */; }; + 29A8FECB1EF0499200AD2478 /* InstrumentSound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF781EF0475E00AD2478 /* InstrumentSound.cpp */; }; + 29A8FECC1EF0499200AD2478 /* Interchangeable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF7A1EF0475E00AD2478 /* Interchangeable.cpp */; }; + 29A8FECD1EF0499200AD2478 /* InterchangeableAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF7C1EF0475E00AD2478 /* InterchangeableAttributes.cpp */; }; + 29A8FECE1EF0499200AD2478 /* Inversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF7E1EF0475E00AD2478 /* Inversion.cpp */; }; + 29A8FECF1EF0499200AD2478 /* InversionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF801EF0475E00AD2478 /* InversionAttributes.cpp */; }; + 29A8FED01EF0499200AD2478 /* InvertedMordent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF821EF0475E00AD2478 /* InvertedMordent.cpp */; }; + 29A8FED11EF0499200AD2478 /* InvertedMordentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF841EF0475E00AD2478 /* InvertedMordentAttributes.cpp */; }; + 29A8FED21EF0499200AD2478 /* InvertedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF861EF0475E00AD2478 /* InvertedTurn.cpp */; }; + 29A8FED31EF0499200AD2478 /* InvertedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF881EF0475E00AD2478 /* InvertedTurnAttributes.cpp */; }; + 29A8FED41EF0499200AD2478 /* Ipa.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF8A1EF0475E00AD2478 /* Ipa.cpp */; }; + 29A8FED51EF0499200AD2478 /* Key.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF8C1EF0475E00AD2478 /* Key.cpp */; }; + 29A8FED61EF0499200AD2478 /* KeyAccidental.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF8E1EF0475E00AD2478 /* KeyAccidental.cpp */; }; + 29A8FED71EF0499200AD2478 /* KeyAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF901EF0475E00AD2478 /* KeyAlter.cpp */; }; + 29A8FED81EF0499200AD2478 /* KeyAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF921EF0475E00AD2478 /* KeyAttributes.cpp */; }; + 29A8FED91EF0499200AD2478 /* KeyChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF941EF0475E00AD2478 /* KeyChoice.cpp */; }; + 29A8FEDA1EF0499200AD2478 /* KeyOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF961EF0475E00AD2478 /* KeyOctave.cpp */; }; + 29A8FEDB1EF0499200AD2478 /* KeyOctaveAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF981EF0475E00AD2478 /* KeyOctaveAttributes.cpp */; }; + 29A8FEDC1EF0499200AD2478 /* KeyStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF9A1EF0475E00AD2478 /* KeyStep.cpp */; }; + 29A8FEDD1EF0499200AD2478 /* Kind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF9C1EF0475E00AD2478 /* Kind.cpp */; }; + 29A8FEDE1EF0499200AD2478 /* KindAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DF9E1EF0475E00AD2478 /* KindAttributes.cpp */; }; + 29A8FEDF1EF0499200AD2478 /* Laughing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFA01EF0475E00AD2478 /* Laughing.cpp */; }; + 29A8FEE01EF0499200AD2478 /* LayoutGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFA21EF0475E00AD2478 /* LayoutGroup.cpp */; }; + 29A8FEE11EF0499200AD2478 /* LeftDivider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFA41EF0475E00AD2478 /* LeftDivider.cpp */; }; + 29A8FEE21EF0499200AD2478 /* LeftMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFA61EF0475E00AD2478 /* LeftMargin.cpp */; }; + 29A8FEE31EF0499200AD2478 /* Level.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFA81EF0475E00AD2478 /* Level.cpp */; }; + 29A8FEE41EF0499200AD2478 /* LevelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFAA1EF0475E00AD2478 /* LevelAttributes.cpp */; }; + 29A8FEE51EF0499200AD2478 /* Line.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFAC1EF0475E00AD2478 /* Line.cpp */; }; + 29A8FEE61EF0499200AD2478 /* LineWidth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFAE1EF0475E00AD2478 /* LineWidth.cpp */; }; + 29A8FEE71EF0499200AD2478 /* LineWidthAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFB01EF0475E00AD2478 /* LineWidthAttributes.cpp */; }; + 29A8FEE81EF0499200AD2478 /* Link.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFB21EF0475E00AD2478 /* Link.cpp */; }; + 29A8FEE91EF0499200AD2478 /* LinkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFB41EF0475E00AD2478 /* LinkAttributes.cpp */; }; + 29A8FEEA1EF0499200AD2478 /* Lyric.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFB61EF0475E00AD2478 /* Lyric.cpp */; }; + 29A8FEEB1EF0499200AD2478 /* LyricAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFB81EF0475E00AD2478 /* LyricAttributes.cpp */; }; + 29A8FEEC1EF0499200AD2478 /* LyricFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFBA1EF0475E00AD2478 /* LyricFont.cpp */; }; + 29A8FEED1EF0499200AD2478 /* LyricFontAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFBC1EF0475E00AD2478 /* LyricFontAttributes.cpp */; }; + 29A8FEEE1EF0499200AD2478 /* LyricLanguage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFBE1EF0475E00AD2478 /* LyricLanguage.cpp */; }; + 29A8FEEF1EF0499200AD2478 /* LyricLanguageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFC01EF0475E00AD2478 /* LyricLanguageAttributes.cpp */; }; + 29A8FEF01EF0499200AD2478 /* LyricTextChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFC21EF0475E00AD2478 /* LyricTextChoice.cpp */; }; + 29A8FEF11EF0499200AD2478 /* MeasureAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFC41EF0475E00AD2478 /* MeasureAttributes.cpp */; }; + 29A8FEF21EF0499200AD2478 /* MeasureDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFC61EF0475E00AD2478 /* MeasureDistance.cpp */; }; + 29A8FEF31EF0499200AD2478 /* MeasureLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFC81EF0475E00AD2478 /* MeasureLayout.cpp */; }; + 29A8FEF41EF0499200AD2478 /* MeasureNumbering.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFCA1EF0475F00AD2478 /* MeasureNumbering.cpp */; }; + 29A8FEF51EF0499200AD2478 /* MeasureNumberingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFCC1EF0475F00AD2478 /* MeasureNumberingAttributes.cpp */; }; + 29A8FEF61EF0499200AD2478 /* MeasureRepeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFCE1EF0475F00AD2478 /* MeasureRepeat.cpp */; }; + 29A8FEF71EF0499200AD2478 /* MeasureRepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFD01EF0475F00AD2478 /* MeasureRepeatAttributes.cpp */; }; + 29A8FEF81EF0499200AD2478 /* MeasureStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFD21EF0475F00AD2478 /* MeasureStyle.cpp */; }; + 29A8FEF91EF0499200AD2478 /* MeasureStyleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFD41EF0475F00AD2478 /* MeasureStyleAttributes.cpp */; }; + 29A8FEFA1EF0499200AD2478 /* MeasureStyleChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFD61EF0475F00AD2478 /* MeasureStyleChoice.cpp */; }; + 29A8FEFB1EF0499200AD2478 /* Membrane.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFD81EF0475F00AD2478 /* Membrane.cpp */; }; + 29A8FEFC1EF0499200AD2478 /* Metal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFDA1EF0475F00AD2478 /* Metal.cpp */; }; + 29A8FEFD1EF0499200AD2478 /* Metronome.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFDC1EF0475F00AD2478 /* Metronome.cpp */; }; + 29A8FEFE1EF0499200AD2478 /* MetronomeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFDE1EF0475F00AD2478 /* MetronomeAttributes.cpp */; }; + 29A8FEFF1EF0499200AD2478 /* MetronomeBeam.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFE01EF0475F00AD2478 /* MetronomeBeam.cpp */; }; + 29A8FF001EF0499200AD2478 /* MetronomeBeamAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFE21EF0475F00AD2478 /* MetronomeBeamAttributes.cpp */; }; + 29A8FF011EF0499200AD2478 /* MetronomeDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFE41EF0475F00AD2478 /* MetronomeDot.cpp */; }; + 29A8FF021EF0499200AD2478 /* MetronomeNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFE61EF0475F00AD2478 /* MetronomeNote.cpp */; }; + 29A8FF031EF0499200AD2478 /* MetronomeRelation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFE81EF0475F00AD2478 /* MetronomeRelation.cpp */; }; + 29A8FF041EF0499200AD2478 /* MetronomeRelationGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFEA1EF0475F00AD2478 /* MetronomeRelationGroup.cpp */; }; + 29A8FF051EF0499200AD2478 /* MetronomeTuplet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFEC1EF0475F00AD2478 /* MetronomeTuplet.cpp */; }; + 29A8FF061EF0499200AD2478 /* MetronomeTupletAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFEE1EF0475F00AD2478 /* MetronomeTupletAttributes.cpp */; }; + 29A8FF071EF0499200AD2478 /* MetronomeType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFF01EF0475F00AD2478 /* MetronomeType.cpp */; }; + 29A8FF081EF0499200AD2478 /* MidiBank.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFF21EF0475F00AD2478 /* MidiBank.cpp */; }; + 29A8FF091EF0499200AD2478 /* MidiChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFF41EF0475F00AD2478 /* MidiChannel.cpp */; }; + 29A8FF0A1EF0499200AD2478 /* MidiDevice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFF61EF0475F00AD2478 /* MidiDevice.cpp */; }; + 29A8FF0B1EF0499200AD2478 /* MidiDeviceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFF81EF0475F00AD2478 /* MidiDeviceAttributes.cpp */; }; + 29A8FF0C1EF0499200AD2478 /* MidiDeviceInstrumentGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFFA1EF0475F00AD2478 /* MidiDeviceInstrumentGroup.cpp */; }; + 29A8FF0D1EF0499200AD2478 /* MidiInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFFC1EF0475F00AD2478 /* MidiInstrument.cpp */; }; + 29A8FF0E1EF0499200AD2478 /* MidiInstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DFFE1EF0475F00AD2478 /* MidiInstrumentAttributes.cpp */; }; + 29A8FF0F1EF0499200AD2478 /* MidiName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0001EF0475F00AD2478 /* MidiName.cpp */; }; + 29A8FF101EF0499200AD2478 /* MidiProgram.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0021EF0475F00AD2478 /* MidiProgram.cpp */; }; + 29A8FF111EF0499200AD2478 /* MidiUnpitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0041EF0475F00AD2478 /* MidiUnpitched.cpp */; }; + 29A8FF121EF0499200AD2478 /* Millimeters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0061EF0475F00AD2478 /* Millimeters.cpp */; }; + 29A8FF131EF0499200AD2478 /* Miscellaneous.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0081EF0475F00AD2478 /* Miscellaneous.cpp */; }; + 29A8FF141EF0499200AD2478 /* MiscellaneousField.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E00A1EF0475F00AD2478 /* MiscellaneousField.cpp */; }; + 29A8FF151EF0499200AD2478 /* MiscellaneousFieldAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E00C1EF0475F00AD2478 /* MiscellaneousFieldAttributes.cpp */; }; + 29A8FF161EF0499200AD2478 /* Mode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E00E1EF0475F00AD2478 /* Mode.cpp */; }; + 29A8FF171EF0499200AD2478 /* Mordent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0101EF0475F00AD2478 /* Mordent.cpp */; }; + 29A8FF181EF0499200AD2478 /* MordentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0121EF0475F00AD2478 /* MordentAttributes.cpp */; }; + 29A8FF191EF0499200AD2478 /* MovementNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0141EF0475F00AD2478 /* MovementNumber.cpp */; }; + 29A8FF1A1EF0499200AD2478 /* MovementTitle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0161EF0475F00AD2478 /* MovementTitle.cpp */; }; + 29A8FF1B1EF0499200AD2478 /* MultipleRest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0181EF0475F00AD2478 /* MultipleRest.cpp */; }; + 29A8FF1C1EF0499200AD2478 /* MultipleRestAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E01A1EF0475F00AD2478 /* MultipleRestAttributes.cpp */; }; + 29A8FF1D1EF0499200AD2478 /* MusicDataChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E01C1EF0475F00AD2478 /* MusicDataChoice.cpp */; }; + 29A8FF1E1EF0499200AD2478 /* MusicDataGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E01E1EF0475F00AD2478 /* MusicDataGroup.cpp */; }; + 29A8FF1F1EF0499200AD2478 /* MusicFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0201EF0475F00AD2478 /* MusicFont.cpp */; }; + 29A8FF201EF0499200AD2478 /* Mute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0221EF0475F00AD2478 /* Mute.cpp */; }; + 29A8FF211EF0499200AD2478 /* Natural.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0241EF0475F00AD2478 /* Natural.cpp */; }; + 29A8FF221EF0499200AD2478 /* NonArpeggiate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0261EF0475F00AD2478 /* NonArpeggiate.cpp */; }; + 29A8FF231EF0499200AD2478 /* NonArpeggiateAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0281EF0475F00AD2478 /* NonArpeggiateAttributes.cpp */; }; + 29A8FF241EF0499200AD2478 /* NonTraditionalKey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E02A1EF0475F00AD2478 /* NonTraditionalKey.cpp */; }; + 29A8FF251EF0499200AD2478 /* NormalDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E02C1EF0475F00AD2478 /* NormalDot.cpp */; }; + 29A8FF261EF0499200AD2478 /* NormalNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E02E1EF0475F00AD2478 /* NormalNoteGroup.cpp */; }; + 29A8FF271EF0499200AD2478 /* NormalNotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0301EF0475F00AD2478 /* NormalNotes.cpp */; }; + 29A8FF281EF0499200AD2478 /* NormalType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0321EF0475F00AD2478 /* NormalType.cpp */; }; + 29A8FF291EF0499200AD2478 /* NormalTypeNormalDotGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0341EF0475F00AD2478 /* NormalTypeNormalDotGroup.cpp */; }; + 29A8FF2A1EF0499200AD2478 /* Notations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0361EF0475F00AD2478 /* Notations.cpp */; }; + 29A8FF2B1EF0499200AD2478 /* NotationsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0381EF0475F00AD2478 /* NotationsAttributes.cpp */; }; + 29A8FF2C1EF0499200AD2478 /* NotationsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E03A1EF0475F00AD2478 /* NotationsChoice.cpp */; }; + 29A8FF2D1EF0499200AD2478 /* Note.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E03C1EF0475F00AD2478 /* Note.cpp */; }; + 29A8FF2E1EF0499200AD2478 /* NoteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E03E1EF0475F00AD2478 /* NoteAttributes.cpp */; }; + 29A8FF2F1EF0499200AD2478 /* NoteChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0401EF0475F00AD2478 /* NoteChoice.cpp */; }; + 29A8FF301EF0499200AD2478 /* Notehead.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0421EF0475F00AD2478 /* Notehead.cpp */; }; + 29A8FF311EF0499200AD2478 /* NoteheadAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0441EF0475F00AD2478 /* NoteheadAttributes.cpp */; }; + 29A8FF321EF0499200AD2478 /* NoteheadText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0461EF0475F00AD2478 /* NoteheadText.cpp */; }; + 29A8FF331EF0499200AD2478 /* NoteheadTextChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0481EF0475F00AD2478 /* NoteheadTextChoice.cpp */; }; + 29A8FF341EF0499200AD2478 /* NoteRelationNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E04A1EF0475F00AD2478 /* NoteRelationNote.cpp */; }; + 29A8FF351EF0499200AD2478 /* NoteSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E04C1EF0475F00AD2478 /* NoteSize.cpp */; }; + 29A8FF361EF0499200AD2478 /* NoteSizeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E04E1EF0475F00AD2478 /* NoteSizeAttributes.cpp */; }; + 29A8FF371EF0499200AD2478 /* Octave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0501EF0475F00AD2478 /* Octave.cpp */; }; + 29A8FF381EF0499200AD2478 /* OctaveChange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0521EF0475F00AD2478 /* OctaveChange.cpp */; }; + 29A8FF391EF0499200AD2478 /* OctaveShift.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0541EF0475F00AD2478 /* OctaveShift.cpp */; }; + 29A8FF3A1EF0499200AD2478 /* OctaveShiftAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0561EF0475F00AD2478 /* OctaveShiftAttributes.cpp */; }; + 29A8FF3B1EF0499200AD2478 /* Offset.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0581EF0475F00AD2478 /* Offset.cpp */; }; + 29A8FF3C1EF0499200AD2478 /* OffsetAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E05A1EF0475F00AD2478 /* OffsetAttributes.cpp */; }; + 29A8FF3D1EF0499200AD2478 /* OpenString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E05C1EF0475F00AD2478 /* OpenString.cpp */; }; + 29A8FF3E1EF0499200AD2478 /* Opus.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E05E1EF0475F00AD2478 /* Opus.cpp */; }; + 29A8FF3F1EF0499200AD2478 /* OpusAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0601EF0475F00AD2478 /* OpusAttributes.cpp */; }; + 29A8FF401EF0499200AD2478 /* Ornaments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0621EF0475F00AD2478 /* Ornaments.cpp */; }; + 29A8FF411EF0499200AD2478 /* OrnamentsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0641EF0475F00AD2478 /* OrnamentsChoice.cpp */; }; + 29A8FF421EF0499200AD2478 /* OtherAppearance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0661EF0475F00AD2478 /* OtherAppearance.cpp */; }; + 29A8FF431EF0499200AD2478 /* OtherAppearanceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0681EF0475F00AD2478 /* OtherAppearanceAttributes.cpp */; }; + 29A8FF441EF0499200AD2478 /* OtherArticulation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E06A1EF0475F00AD2478 /* OtherArticulation.cpp */; }; + 29A8FF451EF0499200AD2478 /* OtherArticulationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E06C1EF0475F00AD2478 /* OtherArticulationAttributes.cpp */; }; + 29A8FF461EF0499200AD2478 /* OtherDirection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E06E1EF0475F00AD2478 /* OtherDirection.cpp */; }; + 29A8FF471EF0499200AD2478 /* OtherDirectionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0701EF0475F00AD2478 /* OtherDirectionAttributes.cpp */; }; + 29A8FF481EF0499200AD2478 /* OtherNotation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0721EF0475F00AD2478 /* OtherNotation.cpp */; }; + 29A8FF491EF0499200AD2478 /* OtherNotationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0741EF0475F00AD2478 /* OtherNotationAttributes.cpp */; }; + 29A8FF4A1EF0499200AD2478 /* OtherOrnament.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0761EF0475F00AD2478 /* OtherOrnament.cpp */; }; + 29A8FF4B1EF0499200AD2478 /* OtherOrnamentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0781EF0475F00AD2478 /* OtherOrnamentAttributes.cpp */; }; + 29A8FF4C1EF0499200AD2478 /* OtherPercussion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E07A1EF0475F00AD2478 /* OtherPercussion.cpp */; }; + 29A8FF4D1EF0499200AD2478 /* OtherPlay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E07C1EF0475F00AD2478 /* OtherPlay.cpp */; }; + 29A8FF4E1EF0499200AD2478 /* OtherPlayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E07E1EF0475F00AD2478 /* OtherPlayAttributes.cpp */; }; + 29A8FF4F1EF0499200AD2478 /* OtherTechnical.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0801EF0475F00AD2478 /* OtherTechnical.cpp */; }; + 29A8FF501EF0499200AD2478 /* OtherTechnicalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0821EF0475F00AD2478 /* OtherTechnicalAttributes.cpp */; }; + 29A8FF511EF0499200AD2478 /* PageHeight.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0841EF0475F00AD2478 /* PageHeight.cpp */; }; + 29A8FF521EF0499200AD2478 /* PageLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0861EF0475F00AD2478 /* PageLayout.cpp */; }; + 29A8FF531EF0499200AD2478 /* PageMargins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0881EF0475F00AD2478 /* PageMargins.cpp */; }; + 29A8FF541EF0499200AD2478 /* PageMarginsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E08A1EF0475F00AD2478 /* PageMarginsAttributes.cpp */; }; + 29A8FF551EF0499200AD2478 /* PageWidth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E08C1EF0475F00AD2478 /* PageWidth.cpp */; }; + 29A8FF561EF0499200AD2478 /* Pan.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E08E1EF0475F00AD2478 /* Pan.cpp */; }; + 29A8FF571EF0499200AD2478 /* PartAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0901EF0475F00AD2478 /* PartAbbreviation.cpp */; }; + 29A8FF581EF0499200AD2478 /* PartAbbreviationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0921EF0475F00AD2478 /* PartAbbreviationAttributes.cpp */; }; + 29A8FF591EF0499200AD2478 /* PartAbbreviationDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0941EF0475F00AD2478 /* PartAbbreviationDisplay.cpp */; }; + 29A8FF5A1EF0499200AD2478 /* PartAbbreviationDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0961EF0475F00AD2478 /* PartAbbreviationDisplayAttributes.cpp */; }; + 29A8FF5B1EF0499200AD2478 /* PartAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0981EF0475F00AD2478 /* PartAttributes.cpp */; }; + 29A8FF5C1EF0499200AD2478 /* PartGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E09A1EF0475F00AD2478 /* PartGroup.cpp */; }; + 29A8FF5D1EF0499200AD2478 /* PartGroupAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E09C1EF0475F00AD2478 /* PartGroupAttributes.cpp */; }; + 29A8FF5E1EF0499200AD2478 /* PartGroupOrScorePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E09E1EF0475F00AD2478 /* PartGroupOrScorePart.cpp */; }; + 29A8FF5F1EF0499200AD2478 /* PartList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0A01EF0475F00AD2478 /* PartList.cpp */; }; + 29A8FF601EF0499200AD2478 /* PartName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0A21EF0475F00AD2478 /* PartName.cpp */; }; + 29A8FF611EF0499200AD2478 /* PartNameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0A41EF0476000AD2478 /* PartNameAttributes.cpp */; }; + 29A8FF621EF0499200AD2478 /* PartNameDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0A61EF0476000AD2478 /* PartNameDisplay.cpp */; }; + 29A8FF631EF0499200AD2478 /* PartNameDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0A81EF0476000AD2478 /* PartNameDisplayAttributes.cpp */; }; + 29A8FF641EF0499200AD2478 /* PartSymbol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0AA1EF0476000AD2478 /* PartSymbol.cpp */; }; + 29A8FF651EF0499200AD2478 /* PartSymbolAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0AC1EF0476000AD2478 /* PartSymbolAttributes.cpp */; }; + 29A8FF661EF0499200AD2478 /* PartwiseMeasure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0AE1EF0476000AD2478 /* PartwiseMeasure.cpp */; }; + 29A8FF671EF0499200AD2478 /* PartwisePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0B01EF0476000AD2478 /* PartwisePart.cpp */; }; + 29A8FF681EF0499200AD2478 /* Pedal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0B21EF0476000AD2478 /* Pedal.cpp */; }; + 29A8FF691EF0499200AD2478 /* PedalAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0B41EF0476000AD2478 /* PedalAlter.cpp */; }; + 29A8FF6A1EF0499200AD2478 /* PedalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0B61EF0476000AD2478 /* PedalAttributes.cpp */; }; + 29A8FF6B1EF0499200AD2478 /* PedalStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0B81EF0476000AD2478 /* PedalStep.cpp */; }; + 29A8FF6C1EF0499200AD2478 /* PedalTuning.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0BA1EF0476000AD2478 /* PedalTuning.cpp */; }; + 29A8FF6D1EF0499200AD2478 /* Percussion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0BC1EF0476000AD2478 /* Percussion.cpp */; }; + 29A8FF6E1EF0499200AD2478 /* PercussionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0BE1EF0476000AD2478 /* PercussionAttributes.cpp */; }; + 29A8FF6F1EF0499200AD2478 /* PercussionChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0C01EF0476000AD2478 /* PercussionChoice.cpp */; }; + 29A8FF701EF0499200AD2478 /* PerMinute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0C21EF0476000AD2478 /* PerMinute.cpp */; }; + 29A8FF711EF0499300AD2478 /* PerMinuteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0C41EF0476000AD2478 /* PerMinuteAttributes.cpp */; }; + 29A8FF721EF0499300AD2478 /* PerMinuteOrBeatUnitChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0C61EF0476000AD2478 /* PerMinuteOrBeatUnitChoice.cpp */; }; + 29A8FF731EF0499300AD2478 /* Pitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0C81EF0476000AD2478 /* Pitch.cpp */; }; + 29A8FF741EF0499300AD2478 /* Pitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0CA1EF0476000AD2478 /* Pitched.cpp */; }; + 29A8FF751EF0499300AD2478 /* Play.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0CC1EF0476000AD2478 /* Play.cpp */; }; + 29A8FF761EF0499300AD2478 /* PlayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0CE1EF0476000AD2478 /* PlayAttributes.cpp */; }; + 29A8FF771EF0499300AD2478 /* Plop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0D01EF0476000AD2478 /* Plop.cpp */; }; + 29A8FF781EF0499300AD2478 /* Pluck.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0D21EF0476000AD2478 /* Pluck.cpp */; }; + 29A8FF791EF0499300AD2478 /* PluckAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0D41EF0476000AD2478 /* PluckAttributes.cpp */; }; + 29A8FF7A1EF0499300AD2478 /* PreBend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0D61EF0476000AD2478 /* PreBend.cpp */; }; + 29A8FF7C1EF0499300AD2478 /* Prefix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0D91EF0476000AD2478 /* Prefix.cpp */; }; + 29A8FF7D1EF0499300AD2478 /* PrefixAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0DB1EF0476000AD2478 /* PrefixAttributes.cpp */; }; + 29A8FF7E1EF0499300AD2478 /* PrincipalVoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0DD1EF0476000AD2478 /* PrincipalVoice.cpp */; }; + 29A8FF7F1EF0499300AD2478 /* PrincipalVoiceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0DF1EF0476000AD2478 /* PrincipalVoiceAttributes.cpp */; }; + 29A8FF801EF0499300AD2478 /* Print.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0E11EF0476000AD2478 /* Print.cpp */; }; + 29A8FF811EF0499300AD2478 /* PrintAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0E31EF0476000AD2478 /* PrintAttributes.cpp */; }; + 29A8FF821EF0499300AD2478 /* Properties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0E51EF0476000AD2478 /* Properties.cpp */; }; + 29A8FF831EF0499300AD2478 /* PullOff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0E71EF0476000AD2478 /* PullOff.cpp */; }; + 29A8FF841EF0499300AD2478 /* PullOffAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0E91EF0476000AD2478 /* PullOffAttributes.cpp */; }; + 29A8FF851EF0499300AD2478 /* Rehearsal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0EB1EF0476000AD2478 /* Rehearsal.cpp */; }; + 29A8FF861EF0499300AD2478 /* RehearsalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0ED1EF0476000AD2478 /* RehearsalAttributes.cpp */; }; + 29A8FF871EF0499300AD2478 /* Relation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0EF1EF0476000AD2478 /* Relation.cpp */; }; + 29A8FF881EF0499300AD2478 /* RelationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0F11EF0476000AD2478 /* RelationAttributes.cpp */; }; + 29A8FF891EF0499300AD2478 /* Release.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0F31EF0476000AD2478 /* Release.cpp */; }; + 29A8FF8A1EF0499300AD2478 /* Repeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0F51EF0476000AD2478 /* Repeat.cpp */; }; + 29A8FF8B1EF0499300AD2478 /* RepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0F71EF0476000AD2478 /* RepeatAttributes.cpp */; }; + 29A8FF8C1EF0499300AD2478 /* Rest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0F91EF0476000AD2478 /* Rest.cpp */; }; + 29A8FF8D1EF0499300AD2478 /* RestAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0FB1EF0476000AD2478 /* RestAttributes.cpp */; }; + 29A8FF8E1EF0499300AD2478 /* RightDivider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0FD1EF0476000AD2478 /* RightDivider.cpp */; }; + 29A8FF8F1EF0499300AD2478 /* RightMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E0FF1EF0476000AD2478 /* RightMargin.cpp */; }; + 29A8FF901EF0499300AD2478 /* Rights.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1011EF0476000AD2478 /* Rights.cpp */; }; + 29A8FF911EF0499300AD2478 /* RightsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1031EF0476000AD2478 /* RightsAttributes.cpp */; }; + 29A8FF921EF0499300AD2478 /* Root.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1051EF0476000AD2478 /* Root.cpp */; }; + 29A8FF931EF0499300AD2478 /* RootAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1071EF0476000AD2478 /* RootAlter.cpp */; }; + 29A8FF941EF0499300AD2478 /* RootAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1091EF0476000AD2478 /* RootAlterAttributes.cpp */; }; + 29A8FF951EF0499300AD2478 /* RootStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E10B1EF0476000AD2478 /* RootStep.cpp */; }; + 29A8FF961EF0499300AD2478 /* RootStepAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E10D1EF0476000AD2478 /* RootStepAttributes.cpp */; }; + 29A8FF971EF0499300AD2478 /* Scaling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E10F1EF0476000AD2478 /* Scaling.cpp */; }; + 29A8FF981EF0499300AD2478 /* Schleifer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1111EF0476000AD2478 /* Schleifer.cpp */; }; + 29A8FF991EF0499300AD2478 /* Scoop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1131EF0476000AD2478 /* Scoop.cpp */; }; + 29A8FF9A1EF0499300AD2478 /* Scordatura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1151EF0476000AD2478 /* Scordatura.cpp */; }; + 29A8FF9B1EF0499300AD2478 /* ScoreHeaderGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1171EF0476000AD2478 /* ScoreHeaderGroup.cpp */; }; + 29A8FF9C1EF0499300AD2478 /* ScoreInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1191EF0476000AD2478 /* ScoreInstrument.cpp */; }; + 29A8FF9D1EF0499300AD2478 /* ScoreInstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E11B1EF0476000AD2478 /* ScoreInstrumentAttributes.cpp */; }; + 29A8FF9E1EF0499300AD2478 /* ScorePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E11D1EF0476000AD2478 /* ScorePart.cpp */; }; + 29A8FF9F1EF0499300AD2478 /* ScorePartAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E11F1EF0476000AD2478 /* ScorePartAttributes.cpp */; }; + 29A8FFA01EF0499300AD2478 /* ScorePartwise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1211EF0476000AD2478 /* ScorePartwise.cpp */; }; + 29A8FFA11EF0499300AD2478 /* ScorePartwiseAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1231EF0476000AD2478 /* ScorePartwiseAttributes.cpp */; }; + 29A8FFA21EF0499300AD2478 /* ScoreTimewise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1251EF0476000AD2478 /* ScoreTimewise.cpp */; }; + 29A8FFA31EF0499300AD2478 /* ScoreTimewiseAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1271EF0476000AD2478 /* ScoreTimewiseAttributes.cpp */; }; + 29A8FFA41EF0499300AD2478 /* Segno.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1291EF0476000AD2478 /* Segno.cpp */; }; + 29A8FFA51EF0499300AD2478 /* SemiPitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E12B1EF0476000AD2478 /* SemiPitched.cpp */; }; + 29A8FFA61EF0499300AD2478 /* SenzaMisura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E12D1EF0476000AD2478 /* SenzaMisura.cpp */; }; + 29A8FFA71EF0499300AD2478 /* Shake.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E12F1EF0476000AD2478 /* Shake.cpp */; }; + 29A8FFA81EF0499300AD2478 /* Sign.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1311EF0476000AD2478 /* Sign.cpp */; }; + 29A8FFA91EF0499300AD2478 /* Slash.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1331EF0476000AD2478 /* Slash.cpp */; }; + 29A8FFAA1EF0499300AD2478 /* SlashAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1351EF0476000AD2478 /* SlashAttributes.cpp */; }; + 29A8FFAB1EF0499300AD2478 /* SlashDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1371EF0476000AD2478 /* SlashDot.cpp */; }; + 29A8FFAC1EF0499300AD2478 /* SlashType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1391EF0476000AD2478 /* SlashType.cpp */; }; + 29A8FFAD1EF0499300AD2478 /* Slide.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E13B1EF0476000AD2478 /* Slide.cpp */; }; + 29A8FFAE1EF0499300AD2478 /* SlideAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E13D1EF0476000AD2478 /* SlideAttributes.cpp */; }; + 29A8FFAF1EF0499300AD2478 /* Slur.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E13F1EF0476000AD2478 /* Slur.cpp */; }; + 29A8FFB01EF0499300AD2478 /* SlurAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1411EF0476000AD2478 /* SlurAttributes.cpp */; }; + 29A8FFB11EF0499300AD2478 /* SnapPizzicato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1431EF0476000AD2478 /* SnapPizzicato.cpp */; }; + 29A8FFB21EF0499300AD2478 /* Software.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1451EF0476000AD2478 /* Software.cpp */; }; + 29A8FFB31EF0499300AD2478 /* Solo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1471EF0476100AD2478 /* Solo.cpp */; }; + 29A8FFB41EF0499300AD2478 /* SoloOrEnsembleChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1491EF0476100AD2478 /* SoloOrEnsembleChoice.cpp */; }; + 29A8FFB51EF0499300AD2478 /* Sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E14B1EF0476100AD2478 /* Sound.cpp */; }; + 29A8FFB61EF0499300AD2478 /* SoundAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E14D1EF0476100AD2478 /* SoundAttributes.cpp */; }; + 29A8FFB71EF0499300AD2478 /* SoundingPitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E14F1EF0476100AD2478 /* SoundingPitch.cpp */; }; + 29A8FFB81EF0499300AD2478 /* Source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1511EF0476100AD2478 /* Source.cpp */; }; + 29A8FFB91EF0499300AD2478 /* Spiccato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1531EF0476100AD2478 /* Spiccato.cpp */; }; + 29A8FFBA1EF0499300AD2478 /* Staccatissimo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1551EF0476100AD2478 /* Staccatissimo.cpp */; }; + 29A8FFBB1EF0499300AD2478 /* Staccato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1571EF0476100AD2478 /* Staccato.cpp */; }; + 29A8FFBC1EF0499300AD2478 /* Staff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1591EF0476100AD2478 /* Staff.cpp */; }; + 29A8FFBD1EF0499300AD2478 /* StaffDetails.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E15B1EF0476100AD2478 /* StaffDetails.cpp */; }; + 29A8FFBE1EF0499300AD2478 /* StaffDetailsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E15D1EF0476100AD2478 /* StaffDetailsAttributes.cpp */; }; + 29A8FFBF1EF0499300AD2478 /* StaffDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E15F1EF0476100AD2478 /* StaffDistance.cpp */; }; + 29A8FFC01EF0499300AD2478 /* StaffLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1611EF0476100AD2478 /* StaffLayout.cpp */; }; + 29A8FFC11EF0499300AD2478 /* StaffLayoutAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1631EF0476100AD2478 /* StaffLayoutAttributes.cpp */; }; + 29A8FFC21EF0499300AD2478 /* StaffLines.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1651EF0476100AD2478 /* StaffLines.cpp */; }; + 29A8FFC31EF0499300AD2478 /* StaffSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1671EF0476100AD2478 /* StaffSize.cpp */; }; + 29A8FFC41EF0499300AD2478 /* StaffTuning.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1691EF0476100AD2478 /* StaffTuning.cpp */; }; + 29A8FFC51EF0499300AD2478 /* StaffTuningAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E16B1EF0476100AD2478 /* StaffTuningAttributes.cpp */; }; + 29A8FFC61EF0499300AD2478 /* StaffType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E16D1EF0476100AD2478 /* StaffType.cpp */; }; + 29A8FFC71EF0499300AD2478 /* Staves.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E16F1EF0476100AD2478 /* Staves.cpp */; }; + 29A8FFC81EF0499300AD2478 /* Stem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1711EF0476100AD2478 /* Stem.cpp */; }; + 29A8FFC91EF0499300AD2478 /* StemAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1731EF0476100AD2478 /* StemAttributes.cpp */; }; + 29A8FFCA1EF0499300AD2478 /* Step.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1751EF0476100AD2478 /* Step.cpp */; }; + 29A8FFCB1EF0499300AD2478 /* Stick.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1771EF0476100AD2478 /* Stick.cpp */; }; + 29A8FFCC1EF0499300AD2478 /* StickAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1791EF0476100AD2478 /* StickAttributes.cpp */; }; + 29A8FFCD1EF0499300AD2478 /* StickLocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E17B1EF0476100AD2478 /* StickLocation.cpp */; }; + 29A8FFCE1EF0499300AD2478 /* StickMaterial.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E17D1EF0476100AD2478 /* StickMaterial.cpp */; }; + 29A8FFCF1EF0499300AD2478 /* StickType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E17F1EF0476100AD2478 /* StickType.cpp */; }; + 29A8FFD01EF0499300AD2478 /* Stopped.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1811EF0476100AD2478 /* Stopped.cpp */; }; + 29A8FFD11EF0499300AD2478 /* Stress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1831EF0476100AD2478 /* Stress.cpp */; }; + 29A8FFD21EF0499300AD2478 /* String.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1851EF0476100AD2478 /* String.cpp */; }; + 29A8FFD31EF0499300AD2478 /* StringAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1871EF0476100AD2478 /* StringAttributes.cpp */; }; + 29A8FFD41EF0499300AD2478 /* StringMute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1891EF0476100AD2478 /* StringMute.cpp */; }; + 29A8FFD51EF0499300AD2478 /* StringMuteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E18B1EF0476100AD2478 /* StringMuteAttributes.cpp */; }; + 29A8FFD61EF0499300AD2478 /* StrongAccent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E18D1EF0476100AD2478 /* StrongAccent.cpp */; }; + 29A8FFD71EF0499300AD2478 /* StrongAccentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E18F1EF0476100AD2478 /* StrongAccentAttributes.cpp */; }; + 29A8FFD81EF0499300AD2478 /* Suffix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1911EF0476100AD2478 /* Suffix.cpp */; }; + 29A8FFD91EF0499300AD2478 /* SuffixAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1931EF0476100AD2478 /* SuffixAttributes.cpp */; }; + 29A8FFDA1EF0499300AD2478 /* Supports.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1951EF0476100AD2478 /* Supports.cpp */; }; + 29A8FFDB1EF0499300AD2478 /* SupportsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1971EF0476100AD2478 /* SupportsAttributes.cpp */; }; + 29A8FFDC1EF0499300AD2478 /* Syllabic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1991EF0476100AD2478 /* Syllabic.cpp */; }; + 29A8FFDD1EF0499300AD2478 /* SyllabicTextGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E19B1EF0476100AD2478 /* SyllabicTextGroup.cpp */; }; + 29A8FFDE1EF0499300AD2478 /* SystemDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E19D1EF0476100AD2478 /* SystemDistance.cpp */; }; + 29A8FFDF1EF0499300AD2478 /* SystemDividers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E19F1EF0476100AD2478 /* SystemDividers.cpp */; }; + 29A8FFE01EF0499300AD2478 /* SystemLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1A11EF0476100AD2478 /* SystemLayout.cpp */; }; + 29A8FFE11EF0499300AD2478 /* SystemMargins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1A31EF0476100AD2478 /* SystemMargins.cpp */; }; + 29A8FFE21EF0499300AD2478 /* Tap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1A51EF0476100AD2478 /* Tap.cpp */; }; + 29A8FFE31EF0499300AD2478 /* TapAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1A71EF0476100AD2478 /* TapAttributes.cpp */; }; + 29A8FFE41EF0499300AD2478 /* Technical.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1A91EF0476100AD2478 /* Technical.cpp */; }; + 29A8FFE51EF0499300AD2478 /* TechnicalChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1AB1EF0476100AD2478 /* TechnicalChoice.cpp */; }; + 29A8FFE61EF0499300AD2478 /* Tenths.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1AD1EF0476100AD2478 /* Tenths.cpp */; }; + 29A8FFE71EF0499300AD2478 /* Tenuto.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1AF1EF0476100AD2478 /* Tenuto.cpp */; }; + 29A8FFE81EF0499300AD2478 /* Text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1B11EF0476100AD2478 /* Text.cpp */; }; + 29A8FFE91EF0499300AD2478 /* TextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1B31EF0476100AD2478 /* TextAttributes.cpp */; }; + 29A8FFEA1EF0499300AD2478 /* ThumbPosition.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1B51EF0476100AD2478 /* ThumbPosition.cpp */; }; + 29A8FFEB1EF0499300AD2478 /* Tie.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1B71EF0476100AD2478 /* Tie.cpp */; }; + 29A8FFEC1EF0499300AD2478 /* TieAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1B91EF0476100AD2478 /* TieAttributes.cpp */; }; + 29A8FFED1EF0499300AD2478 /* Tied.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1BB1EF0476100AD2478 /* Tied.cpp */; }; + 29A8FFEE1EF0499300AD2478 /* TiedAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1BD1EF0476100AD2478 /* TiedAttributes.cpp */; }; + 29A8FFEF1EF0499300AD2478 /* Time.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1BF1EF0476100AD2478 /* Time.cpp */; }; + 29A8FFF01EF0499300AD2478 /* TimeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1C11EF0476100AD2478 /* TimeAttributes.cpp */; }; + 29A8FFF11EF0499300AD2478 /* TimeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1C31EF0476100AD2478 /* TimeChoice.cpp */; }; + 29A8FFF21EF0499300AD2478 /* TimeModification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1C51EF0476100AD2478 /* TimeModification.cpp */; }; + 29A8FFF31EF0499300AD2478 /* TimeModificationNormalTypeNormalDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1C71EF0476100AD2478 /* TimeModificationNormalTypeNormalDot.cpp */; }; + 29A8FFF41EF0499300AD2478 /* TimeRelation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1C91EF0476100AD2478 /* TimeRelation.cpp */; }; + 29A8FFF51EF0499300AD2478 /* TimeSignatureGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1CB1EF0476100AD2478 /* TimeSignatureGroup.cpp */; }; + 29A8FFF61EF0499300AD2478 /* TimewiseMeasure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1CD1EF0476100AD2478 /* TimewiseMeasure.cpp */; }; + 29A8FFF71EF0499300AD2478 /* TimewisePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1CF1EF0476100AD2478 /* TimewisePart.cpp */; }; + 29A8FFF81EF0499300AD2478 /* Timpani.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1D11EF0476100AD2478 /* Timpani.cpp */; }; + 29A8FFF91EF0499300AD2478 /* Toe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1D31EF0476100AD2478 /* Toe.cpp */; }; + 29A8FFFA1EF0499300AD2478 /* ToeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1D51EF0476100AD2478 /* ToeAttributes.cpp */; }; + 29A8FFFB1EF0499300AD2478 /* TopMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1D71EF0476100AD2478 /* TopMargin.cpp */; }; + 29A8FFFC1EF0499300AD2478 /* TopSystemDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1D91EF0476100AD2478 /* TopSystemDistance.cpp */; }; + 29A8FFFD1EF0499300AD2478 /* TouchingPitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1DB1EF0476100AD2478 /* TouchingPitch.cpp */; }; + 29A8FFFE1EF0499300AD2478 /* TraditionalKey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1DD1EF0476200AD2478 /* TraditionalKey.cpp */; }; + 29A8FFFF1EF0499300AD2478 /* Transpose.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1DF1EF0476200AD2478 /* Transpose.cpp */; }; 29B962851E79FF410072071D /* MxiOS.h in Headers */ = {isa = PBXBuildFile; fileRef = 29B962831E79FF410072071D /* MxiOS.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 29B962891E79FF630072071D /* ClefData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292D1DD01D9A43A500CDD9F4 /* ClefData.cpp */; }; - 29B9628A1E79FF630072071D /* DocumentManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF44091D6E70D300DBDAB9 /* DocumentManager.cpp */; }; - 29B9628B1E79FF630072071D /* DurationData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E9EA361DA4A80A0040183B /* DurationData.cpp */; }; - 29B9628C1E79FF630072071D /* MarkData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29DB30A01DA0713200031477 /* MarkData.cpp */; }; - 29B9628D1E79FF630072071D /* MeasureLocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C51A4C1D9F061600EAA308 /* MeasureLocation.cpp */; }; - 29B9628E1E79FF630072071D /* NoteData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E9EA351DA4A80A0040183B /* NoteData.cpp */; }; - 29B9628F1E79FF630072071D /* PitchData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E9EA341DA4A80A0040183B /* PitchData.cpp */; }; - 29B962901E79FF630072071D /* Smufl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C51A1D1D9ED91000EAA308 /* Smufl.cpp */; }; - 29B962911E79FF630072071D /* AttributesInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE01D130B690094BE61 /* AttributesInterface.cpp */; }; - 29B962921E79FF630072071D /* Color.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE21D130B690094BE61 /* Color.cpp */; }; - 29B962931E79FF630072071D /* Date.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE41D130B690094BE61 /* Date.cpp */; }; - 29B962941E79FF630072071D /* Decimals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE61D130B690094BE61 /* Decimals.cpp */; }; - 29B962951E79FF630072071D /* Document.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE81D130B690094BE61 /* Document.cpp */; }; - 29B962961E79FF630072071D /* DocumentHeader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AEA1D130B690094BE61 /* DocumentHeader.cpp */; }; - 29B962971E79FF630072071D /* DocumentSpec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AEE1D130B690094BE61 /* DocumentSpec.cpp */; }; - 29B962981E79FF630072071D /* ElementInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AF21D130B690094BE61 /* ElementInterface.cpp */; }; - 29B962991E79FF630072071D /* Accent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545ED1D295C5300B90302 /* Accent.cpp */; }; - 29B9629A1E79FF630072071D /* Accidental.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545EE1D295C5300B90302 /* Accidental.cpp */; }; - 29B9629B1E79FF630072071D /* AccidentalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545EF1D295C5300B90302 /* AccidentalAttributes.cpp */; }; - 29B9629C1E79FF630072071D /* AccidentalMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F01D295C5300B90302 /* AccidentalMark.cpp */; }; - 29B9629D1E79FF630072071D /* AccidentalMarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F11D295C5300B90302 /* AccidentalMarkAttributes.cpp */; }; - 29B9629E1E79FF630072071D /* AccidentalText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F21D295C5300B90302 /* AccidentalText.cpp */; }; - 29B9629F1E79FF630072071D /* AccidentalTextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F31D295C5300B90302 /* AccidentalTextAttributes.cpp */; }; - 29B962A01E79FF630072071D /* Accord.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F41D295C5300B90302 /* Accord.cpp */; }; - 29B962A11E79FF630072071D /* AccordAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F51D295C5300B90302 /* AccordAttributes.cpp */; }; - 29B962A21E79FF630072071D /* AccordionHigh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F61D295C5300B90302 /* AccordionHigh.cpp */; }; - 29B962A31E79FF630072071D /* AccordionLow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F71D295C5300B90302 /* AccordionLow.cpp */; }; - 29B962A41E79FF630072071D /* AccordionMiddle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F81D295C5300B90302 /* AccordionMiddle.cpp */; }; - 29B962A51E79FF630072071D /* AccordionRegistration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F91D295C5300B90302 /* AccordionRegistration.cpp */; }; - 29B962A61E79FF630072071D /* AccordionRegistrationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FA1D295C5300B90302 /* AccordionRegistrationAttributes.cpp */; }; - 29B962A71E79FF630072071D /* ActualNotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FB1D295C5300B90302 /* ActualNotes.cpp */; }; - 29B962A81E79FF630072071D /* Alter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FC1D295C5300B90302 /* Alter.cpp */; }; - 29B962A91E79FF630072071D /* Appearance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FD1D295C5300B90302 /* Appearance.cpp */; }; - 29B962AA1E79FF630072071D /* Arpeggiate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FE1D295C5300B90302 /* Arpeggiate.cpp */; }; - 29B962AB1E79FF630072071D /* ArpeggiateAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FF1D295C5300B90302 /* ArpeggiateAttributes.cpp */; }; - 29B962AC1E79FF630072071D /* Arrow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546001D295C5300B90302 /* Arrow.cpp */; }; - 29B962AD1E79FF630072071D /* ArrowAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546011D295C5300B90302 /* ArrowAttributes.cpp */; }; - 29B962AE1E79FF630072071D /* ArrowDirection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546021D295C5300B90302 /* ArrowDirection.cpp */; }; - 29B962AF1E79FF630072071D /* ArrowGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546031D295C5300B90302 /* ArrowGroup.cpp */; }; - 29B962B01E79FF630072071D /* ArrowStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546041D295C5300B90302 /* ArrowStyle.cpp */; }; - 29B962B11E79FF630072071D /* Articulations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546051D295C5300B90302 /* Articulations.cpp */; }; - 29B962B21E79FF630072071D /* ArticulationsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546061D295C5300B90302 /* ArticulationsChoice.cpp */; }; - 29B962B31E79FF630072071D /* Artificial.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546071D295C5300B90302 /* Artificial.cpp */; }; - 29B962B41E79FF630072071D /* AttributesIterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546081D295C5300B90302 /* AttributesIterface.cpp */; }; - 29B962B51E79FF630072071D /* Backup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546091D295C5300B90302 /* Backup.cpp */; }; - 29B962B61E79FF630072071D /* Barline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460A1D295C5300B90302 /* Barline.cpp */; }; - 29B962B71E79FF630072071D /* BarlineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460B1D295C5300B90302 /* BarlineAttributes.cpp */; }; - 29B962B81E79FF630072071D /* Barre.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460C1D295C5300B90302 /* Barre.cpp */; }; - 29B962B91E79FF630072071D /* BarreAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460D1D295C5300B90302 /* BarreAttributes.cpp */; }; - 29B962BA1E79FF630072071D /* BarStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460E1D295C5300B90302 /* BarStyle.cpp */; }; - 29B962BB1E79FF630072071D /* BarStyleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460F1D295C5300B90302 /* BarStyleAttributes.cpp */; }; - 29B962BC1E79FF630072071D /* BasePitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546101D295C5300B90302 /* BasePitch.cpp */; }; - 29B962BD1E79FF640072071D /* Bass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546111D295C5300B90302 /* Bass.cpp */; }; - 29B962BE1E79FF640072071D /* BassAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546121D295C5300B90302 /* BassAlter.cpp */; }; - 29B962BF1E79FF640072071D /* BassAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546131D295C5300B90302 /* BassAlterAttributes.cpp */; }; - 29B962C01E79FF640072071D /* BassStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546141D295C5300B90302 /* BassStep.cpp */; }; - 29B962C11E79FF640072071D /* BassStepAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546151D295C5300B90302 /* BassStepAttributes.cpp */; }; - 29B962C21E79FF640072071D /* Beam.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546161D295C5300B90302 /* Beam.cpp */; }; - 29B962C31E79FF640072071D /* BeamAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546171D295C5300B90302 /* BeamAttributes.cpp */; }; - 29B962C41E79FF640072071D /* Beater.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546181D295C5300B90302 /* Beater.cpp */; }; - 29B962C51E79FF640072071D /* BeaterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546191D295C5300B90302 /* BeaterAttributes.cpp */; }; - 29B962C61E79FF640072071D /* BeatRepeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461A1D295C5300B90302 /* BeatRepeat.cpp */; }; - 29B962C71E79FF640072071D /* BeatRepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461B1D295C5300B90302 /* BeatRepeatAttributes.cpp */; }; - 29B962C81E79FF640072071D /* Beats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461C1D295C5300B90302 /* Beats.cpp */; }; - 29B962C91E79FF640072071D /* BeatType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461D1D295C5300B90302 /* BeatType.cpp */; }; - 29B962CA1E79FF640072071D /* BeatUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461E1D295C5300B90302 /* BeatUnit.cpp */; }; - 29B962CB1E79FF640072071D /* BeatUnitDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461F1D295C5300B90302 /* BeatUnitDot.cpp */; }; - 29B962CC1E79FF640072071D /* BeatUnitGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546201D295C5300B90302 /* BeatUnitGroup.cpp */; }; - 29B962CD1E79FF640072071D /* BeatUnitPer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546211D295C5300B90302 /* BeatUnitPer.cpp */; }; - 29B962CE1E79FF640072071D /* BeatUnitPerOrNoteRelationNoteChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546221D295C5300B90302 /* BeatUnitPerOrNoteRelationNoteChoice.cpp */; }; - 29B962CF1E79FF640072071D /* Bend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546231D295C5300B90302 /* Bend.cpp */; }; - 29B962D01E79FF640072071D /* BendAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546241D295C5300B90302 /* BendAlter.cpp */; }; - 29B962D11E79FF640072071D /* BendAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546251D295C5300B90302 /* BendAttributes.cpp */; }; - 29B962D21E79FF640072071D /* BendChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546261D295C5300B90302 /* BendChoice.cpp */; }; - 29B962D31E79FF640072071D /* Bookmark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546271D295C5300B90302 /* Bookmark.cpp */; }; - 29B962D41E79FF640072071D /* BookmarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546281D295C5300B90302 /* BookmarkAttributes.cpp */; }; - 29B962D51E79FF640072071D /* BottomMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546291D295C5300B90302 /* BottomMargin.cpp */; }; - 29B962D61E79FF640072071D /* Bracket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462A1D295C5300B90302 /* Bracket.cpp */; }; - 29B962D71E79FF640072071D /* BracketAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462B1D295C5300B90302 /* BracketAttributes.cpp */; }; - 29B962D81E79FF640072071D /* BreathMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462C1D295C5300B90302 /* BreathMark.cpp */; }; - 29B962D91E79FF640072071D /* BreathMarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462D1D295C5300B90302 /* BreathMarkAttributes.cpp */; }; - 29B962DA1E79FF640072071D /* Caesura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462E1D295C5300B90302 /* Caesura.cpp */; }; - 29B962DB1E79FF640072071D /* Cancel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462F1D295C5300B90302 /* Cancel.cpp */; }; - 29B962DC1E79FF640072071D /* CancelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546301D295C5300B90302 /* CancelAttributes.cpp */; }; - 29B962DD1E79FF640072071D /* Capo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546311D295C5300B90302 /* Capo.cpp */; }; - 29B962DE1E79FF640072071D /* Chord.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546321D295C5300B90302 /* Chord.cpp */; }; - 29B962DF1E79FF640072071D /* Chromatic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546331D295C5300B90302 /* Chromatic.cpp */; }; - 29B962E01E79FF640072071D /* CircularArrow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546341D295C5300B90302 /* CircularArrow.cpp */; }; - 29B962E11E79FF640072071D /* Clef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546351D295C5300B90302 /* Clef.cpp */; }; - 29B962E21E79FF640072071D /* ClefAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546361D295C5300B90302 /* ClefAttributes.cpp */; }; - 29B962E31E79FF640072071D /* ClefOctaveChange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546371D295C5300B90302 /* ClefOctaveChange.cpp */; }; - 29B962E41E79FF640072071D /* Coda.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546381D295C5300B90302 /* Coda.cpp */; }; - 29B962E51E79FF640072071D /* Creator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546391D295C5300B90302 /* Creator.cpp */; }; - 29B962E61E79FF640072071D /* CreatorAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463A1D295C5300B90302 /* CreatorAttributes.cpp */; }; - 29B962E71E79FF640072071D /* Credit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463B1D295C5300B90302 /* Credit.cpp */; }; - 29B962E81E79FF640072071D /* CreditAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463C1D295C5300B90302 /* CreditAttributes.cpp */; }; - 29B962E91E79FF640072071D /* CreditChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463D1D295C5300B90302 /* CreditChoice.cpp */; }; - 29B962EA1E79FF640072071D /* CreditImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463E1D295C5300B90302 /* CreditImage.cpp */; }; - 29B962EB1E79FF640072071D /* CreditImageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463F1D295C5300B90302 /* CreditImageAttributes.cpp */; }; - 29B962EC1E79FF640072071D /* CreditType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546401D295C5300B90302 /* CreditType.cpp */; }; - 29B962ED1E79FF640072071D /* CreditWords.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546411D295C5300B90302 /* CreditWords.cpp */; }; - 29B962EE1E79FF640072071D /* CreditWordsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546421D295C5300B90302 /* CreditWordsAttributes.cpp */; }; - 29B962EF1E79FF640072071D /* CreditWordsGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546431D295C5300B90302 /* CreditWordsGroup.cpp */; }; - 29B962F01E79FF640072071D /* Cue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546441D295C5300B90302 /* Cue.cpp */; }; - 29B962F11E79FF640072071D /* CueNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546451D295C5300B90302 /* CueNoteGroup.cpp */; }; - 29B962F21E79FF640072071D /* Damp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546461D295C5300B90302 /* Damp.cpp */; }; - 29B962F31E79FF640072071D /* DampAll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546471D295C5300B90302 /* DampAll.cpp */; }; - 29B962F41E79FF640072071D /* Dashes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546481D295C5300B90302 /* Dashes.cpp */; }; - 29B962F51E79FF640072071D /* DashesAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546491D295C5300B90302 /* DashesAttributes.cpp */; }; - 29B962F61E79FF640072071D /* Defaults.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464A1D295C5300B90302 /* Defaults.cpp */; }; - 29B962F71E79FF640072071D /* Degree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464B1D295C5300B90302 /* Degree.cpp */; }; - 29B962F81E79FF640072071D /* DegreeAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464C1D295C5300B90302 /* DegreeAlter.cpp */; }; - 29B962F91E79FF640072071D /* DegreeAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464D1D295C5300B90302 /* DegreeAlterAttributes.cpp */; }; - 29B962FA1E79FF640072071D /* DegreeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464E1D295C5300B90302 /* DegreeAttributes.cpp */; }; - 29B962FB1E79FF640072071D /* DegreeType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464F1D295C5300B90302 /* DegreeType.cpp */; }; - 29B962FC1E79FF640072071D /* DegreeTypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546501D295C5300B90302 /* DegreeTypeAttributes.cpp */; }; - 29B962FD1E79FF640072071D /* DegreeValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546511D295C5300B90302 /* DegreeValue.cpp */; }; - 29B962FE1E79FF640072071D /* DegreeValueAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546521D295C5300B90302 /* DegreeValueAttributes.cpp */; }; - 29B962FF1E79FF640072071D /* DelayedInvertedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546531D295C5300B90302 /* DelayedInvertedTurn.cpp */; }; - 29B963001E79FF640072071D /* DelayedInvertedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546541D295C5300B90302 /* DelayedInvertedTurnAttributes.cpp */; }; - 29B963011E79FF640072071D /* DelayedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546551D295C5300B90302 /* DelayedTurn.cpp */; }; - 29B963021E79FF640072071D /* DelayedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546561D295C5300B90302 /* DelayedTurnAttributes.cpp */; }; - 29B963031E79FF640072071D /* DetachedLegato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546571D295C5300B90302 /* DetachedLegato.cpp */; }; - 29B963041E79FF640072071D /* Diatonic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546581D295C5300B90302 /* Diatonic.cpp */; }; - 29B963051E79FF640072071D /* Direction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546591D295C5300B90302 /* Direction.cpp */; }; - 29B963061E79FF640072071D /* DirectionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465A1D295C5300B90302 /* DirectionAttributes.cpp */; }; - 29B963071E79FF640072071D /* DirectionType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465B1D295C5300B90302 /* DirectionType.cpp */; }; - 29B963081E79FF640072071D /* Directive.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465C1D295C5300B90302 /* Directive.cpp */; }; - 29B963091E79FF640072071D /* DirectiveAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465D1D295C5300B90302 /* DirectiveAttributes.cpp */; }; - 29B9630A1E79FF640072071D /* DisplayOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465E1D295C5300B90302 /* DisplayOctave.cpp */; }; - 29B9630B1E79FF640072071D /* DisplayStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465F1D295C5300B90302 /* DisplayStep.cpp */; }; - 29B9630C1E79FF640072071D /* DisplayStepOctaveGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546601D295C5300B90302 /* DisplayStepOctaveGroup.cpp */; }; - 29B9630D1E79FF640072071D /* DisplayText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546611D295C5300B90302 /* DisplayText.cpp */; }; - 29B9630E1E79FF640072071D /* DisplayTextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546621D295C5300B90302 /* DisplayTextAttributes.cpp */; }; - 29B9630F1E79FF640072071D /* DisplayTextOrAccidentalText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546631D295C5300B90302 /* DisplayTextOrAccidentalText.cpp */; }; - 29B963101E79FF640072071D /* Distance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546641D295C5300B90302 /* Distance.cpp */; }; - 29B963111E79FF640072071D /* DistanceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546651D295C5300B90302 /* DistanceAttributes.cpp */; }; - 29B963121E79FF640072071D /* Divisions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546661D295C5300B90302 /* Divisions.cpp */; }; - 29B963131E79FF640072071D /* Doit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546671D295C5300B90302 /* Doit.cpp */; }; - 29B963141E79FF640072071D /* Dot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546681D295C5300B90302 /* Dot.cpp */; }; - 29B963151E79FF640072071D /* Double.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546691D295C5300B90302 /* Double.cpp */; }; - 29B963161E79FF640072071D /* DoubleTongue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466A1D295C5300B90302 /* DoubleTongue.cpp */; }; - 29B963171E79FF640072071D /* DownBow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466B1D295C5300B90302 /* DownBow.cpp */; }; - 29B963181E79FF640072071D /* Duration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466C1D295C5300B90302 /* Duration.cpp */; }; - 29B963191E79FF640072071D /* Dynamics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466D1D295C5300B90302 /* Dynamics.cpp */; }; - 29B9631A1E79FF640072071D /* DynamicsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466E1D295C5300B90302 /* DynamicsAttributes.cpp */; }; - 29B9631B1E79FF640072071D /* EditorialGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466F1D295C5300B90302 /* EditorialGroup.cpp */; }; - 29B9631C1E79FF640072071D /* EditorialVoiceDirectionGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546701D295C5300B90302 /* EditorialVoiceDirectionGroup.cpp */; }; - 29B9631D1E79FF640072071D /* EditorialVoiceGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546711D295C5300B90302 /* EditorialVoiceGroup.cpp */; }; - 29B9631E1E79FF640072071D /* Effect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546721D295C5300B90302 /* Effect.cpp */; }; - 29B9631F1E79FF640072071D /* Elevation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546731D295C5300B90302 /* Elevation.cpp */; }; - 29B963201E79FF640072071D /* Elision.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546741D295C5300B90302 /* Elision.cpp */; }; - 29B963211E79FF640072071D /* ElisionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546751D295C5300B90302 /* ElisionAttributes.cpp */; }; - 29B963221E79FF640072071D /* ElisionSyllabicGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546761D295C5300B90302 /* ElisionSyllabicGroup.cpp */; }; - 29B963231E79FF640072071D /* ElisionSyllabicTextGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546771D295C5300B90302 /* ElisionSyllabicTextGroup.cpp */; }; - 29B963241E79FF640072071D /* EmptyFontAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546781D295C5300B90302 /* EmptyFontAttributes.cpp */; }; - 29B963251E79FF640072071D /* EmptyLineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546791D295C5300B90302 /* EmptyLineAttributes.cpp */; }; - 29B963261E79FF640072071D /* EmptyPlacementAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467A1D295C5300B90302 /* EmptyPlacementAttributes.cpp */; }; - 29B963271E79FF640072071D /* EmptyTrillSoundAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467B1D295C5300B90302 /* EmptyTrillSoundAttributes.cpp */; }; - 29B963281E79FF640072071D /* Encoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467C1D295C5300B90302 /* Encoder.cpp */; }; - 29B963291E79FF640072071D /* EncoderAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467D1D295C5300B90302 /* EncoderAttributes.cpp */; }; - 29B9632A1E79FF640072071D /* Encoding.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2904A4D31D301D5A00A39CC6 /* Encoding.cpp */; }; - 29B9632B1E79FF640072071D /* EncodingChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467E1D295C5300B90302 /* EncodingChoice.cpp */; }; - 29B9632C1E79FF640072071D /* EncodingDate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467F1D295C5300B90302 /* EncodingDate.cpp */; }; - 29B9632D1E79FF640072071D /* EncodingDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546801D295C5300B90302 /* EncodingDescription.cpp */; }; - 29B9632E1E79FF640072071D /* Ending.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546811D295C5300B90302 /* Ending.cpp */; }; - 29B9632F1E79FF640072071D /* EndingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546821D295C5300B90302 /* EndingAttributes.cpp */; }; - 29B963301E79FF640072071D /* EndLine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546831D295C5300B90302 /* EndLine.cpp */; }; - 29B963311E79FF640072071D /* EndParagraph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546841D295C5300B90302 /* EndParagraph.cpp */; }; - 29B963321E79FF640072071D /* Ensemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546851D295C5300B90302 /* Ensemble.cpp */; }; - 29B963331E79FF640072071D /* Extend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546861D295C5300B90302 /* Extend.cpp */; }; - 29B963341E79FF640072071D /* ExtendAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546871D295C5300B90302 /* ExtendAttributes.cpp */; }; - 29B963351E79FF640072071D /* Eyeglasses.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546881D295C5300B90302 /* Eyeglasses.cpp */; }; - 29B963361E79FF640072071D /* Falloff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546891D295C5300B90302 /* Falloff.cpp */; }; - 29B963371E79FF640072071D /* Feature.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468A1D295C5300B90302 /* Feature.cpp */; }; - 29B963381E79FF640072071D /* FeatureAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468B1D295C5300B90302 /* FeatureAttributes.cpp */; }; - 29B963391E79FF640072071D /* Fermata.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468C1D295C5300B90302 /* Fermata.cpp */; }; - 29B9633A1E79FF640072071D /* FermataAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468D1D295C5300B90302 /* FermataAttributes.cpp */; }; - 29B9633B1E79FF640072071D /* Fifths.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468E1D295C5300B90302 /* Fifths.cpp */; }; - 29B9633C1E79FF640072071D /* Figure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468F1D295C5300B90302 /* Figure.cpp */; }; - 29B9633D1E79FF640072071D /* FiguredBass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546901D295C5300B90302 /* FiguredBass.cpp */; }; - 29B9633E1E79FF640072071D /* FiguredBassAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546911D295C5300B90302 /* FiguredBassAttributes.cpp */; }; - 29B9633F1E79FF640072071D /* FigureNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546921D295C5300B90302 /* FigureNumber.cpp */; }; - 29B963401E79FF640072071D /* FigureNumberAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546931D295C5300B90302 /* FigureNumberAttributes.cpp */; }; - 29B963411E79FF640072071D /* Fingering.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546941D295C5300B90302 /* Fingering.cpp */; }; - 29B963421E79FF640072071D /* FingeringAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546951D295C5300B90302 /* FingeringAttributes.cpp */; }; - 29B963431E79FF640072071D /* Fingernails.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546961D295C5300B90302 /* Fingernails.cpp */; }; - 29B963441E79FF640072071D /* FirstFret.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546971D295C5300B90302 /* FirstFret.cpp */; }; - 29B963451E79FF640072071D /* FirstFretAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546981D295C5300B90302 /* FirstFretAttributes.cpp */; }; - 29B963461E79FF640072071D /* Footnote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546991D295C5300B90302 /* Footnote.cpp */; }; - 29B963471E79FF640072071D /* FootnoteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469A1D295C5300B90302 /* FootnoteAttributes.cpp */; }; - 29B963481E79FF640072071D /* Forward.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469B1D295C5300B90302 /* Forward.cpp */; }; - 29B963491E79FF640072071D /* Frame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469C1D295C5300B90302 /* Frame.cpp */; }; - 29B9634A1E79FF640072071D /* FrameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469D1D295C5300B90302 /* FrameAttributes.cpp */; }; - 29B9634B1E79FF640072071D /* FrameFrets.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469E1D295C5300B90302 /* FrameFrets.cpp */; }; - 29B9634C1E79FF640072071D /* FrameNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469F1D295C5300B90302 /* FrameNote.cpp */; }; - 29B9634D1E79FF640072071D /* FrameStrings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A01D295C5300B90302 /* FrameStrings.cpp */; }; - 29B9634E1E79FF640072071D /* Fret.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A11D295C5300B90302 /* Fret.cpp */; }; - 29B9634F1E79FF640072071D /* FretAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A21D295C5300B90302 /* FretAttributes.cpp */; }; - 29B963501E79FF640072071D /* FullNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A31D295C5300B90302 /* FullNoteGroup.cpp */; }; - 29B963511E79FF640072071D /* FullNoteTypeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A41D295C5300B90302 /* FullNoteTypeChoice.cpp */; }; - 29B963521E79FF640072071D /* Function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A51D295C5300B90302 /* Function.cpp */; }; - 29B963531E79FF640072071D /* FunctionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A61D295C5300B90302 /* FunctionAttributes.cpp */; }; - 29B963541E79FF640072071D /* Glass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A71D295C5300B90302 /* Glass.cpp */; }; - 29B963551E79FF640072071D /* Glissando.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A81D295C5300B90302 /* Glissando.cpp */; }; - 29B963561E79FF640072071D /* GlissandoAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A91D295C5300B90302 /* GlissandoAttributes.cpp */; }; - 29B963571E79FF640072071D /* Grace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AA1D295C5300B90302 /* Grace.cpp */; }; - 29B963581E79FF640072071D /* GraceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AB1D295C5300B90302 /* GraceAttributes.cpp */; }; - 29B963591E79FF640072071D /* GraceNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AC1D295C5300B90302 /* GraceNoteGroup.cpp */; }; - 29B9635A1E79FF640072071D /* Group.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AD1D295C5300B90302 /* Group.cpp */; }; - 29B9635B1E79FF640072071D /* GroupAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AE1D295C5300B90302 /* GroupAbbreviation.cpp */; }; - 29B9635C1E79FF640072071D /* GroupAbbreviationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AF1D295C5300B90302 /* GroupAbbreviationAttributes.cpp */; }; - 29B9635D1E79FF640072071D /* GroupAbbreviationDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B01D295C5300B90302 /* GroupAbbreviationDisplay.cpp */; }; - 29B9635E1E79FF640072071D /* GroupAbbreviationDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B11D295C5300B90302 /* GroupAbbreviationDisplayAttributes.cpp */; }; - 29B9635F1E79FF640072071D /* GroupBarline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B21D295C5300B90302 /* GroupBarline.cpp */; }; - 29B963601E79FF640072071D /* GroupBarlineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B31D295C5300B90302 /* GroupBarlineAttributes.cpp */; }; - 29B963611E79FF640072071D /* Grouping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B41D295C5300B90302 /* Grouping.cpp */; }; - 29B963621E79FF640072071D /* GroupingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B51D295C5300B90302 /* GroupingAttributes.cpp */; }; - 29B963631E79FF640072071D /* GroupName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B61D295C5300B90302 /* GroupName.cpp */; }; - 29B963641E79FF640072071D /* GroupNameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B71D295C5300B90302 /* GroupNameAttributes.cpp */; }; - 29B963651E79FF640072071D /* GroupNameDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B81D295C5300B90302 /* GroupNameDisplay.cpp */; }; - 29B963661E79FF640072071D /* GroupNameDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B91D295C5300B90302 /* GroupNameDisplayAttributes.cpp */; }; - 29B963671E79FF640072071D /* GroupSymbol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BA1D295C5300B90302 /* GroupSymbol.cpp */; }; - 29B963681E79FF640072071D /* GroupSymbolAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BB1D295C5300B90302 /* GroupSymbolAttributes.cpp */; }; - 29B963691E79FF640072071D /* GroupTime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BC1D295C5300B90302 /* GroupTime.cpp */; }; - 29B9636A1E79FF640072071D /* HammerOn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BD1D295C5300B90302 /* HammerOn.cpp */; }; - 29B9636B1E79FF640072071D /* HammerOnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BE1D295C5300B90302 /* HammerOnAttributes.cpp */; }; - 29B9636C1E79FF640072071D /* Handbell.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BF1D295C5300B90302 /* Handbell.cpp */; }; - 29B9636D1E79FF640072071D /* HandbellAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C01D295C5300B90302 /* HandbellAttributes.cpp */; }; - 29B9636E1E79FF640072071D /* Harmonic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C11D295C5300B90302 /* Harmonic.cpp */; }; - 29B9636F1E79FF640072071D /* HarmonicAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C21D295C5300B90302 /* HarmonicAttributes.cpp */; }; - 29B963701E79FF640072071D /* HarmonicInfoChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C31D295C5300B90302 /* HarmonicInfoChoice.cpp */; }; - 29B963711E79FF640072071D /* HarmonicTypeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C41D295C5300B90302 /* HarmonicTypeChoice.cpp */; }; - 29B963721E79FF640072071D /* Harmony.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C51D295C5300B90302 /* Harmony.cpp */; }; - 29B963731E79FF640072071D /* HarmonyAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C61D295C5300B90302 /* HarmonyAttributes.cpp */; }; - 29B963741E79FF640072071D /* HarmonyChordGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C71D295C5300B90302 /* HarmonyChordGroup.cpp */; }; - 29B963751E79FF640072071D /* HarpPedals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C81D295C5300B90302 /* HarpPedals.cpp */; }; - 29B963761E79FF640072071D /* HarpPedalsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C91D295C5300B90302 /* HarpPedalsAttributes.cpp */; }; - 29B963771E79FF640072071D /* Heel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CA1D295C5300B90302 /* Heel.cpp */; }; - 29B963781E79FF640072071D /* HeelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CB1D295C5300B90302 /* HeelAttributes.cpp */; }; - 29B963791E79FF640072071D /* Hole.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CC1D295C5300B90302 /* Hole.cpp */; }; - 29B9637A1E79FF640072071D /* HoleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CD1D295C5300B90302 /* HoleAttributes.cpp */; }; - 29B9637B1E79FF640072071D /* HoleClosed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CE1D295C5300B90302 /* HoleClosed.cpp */; }; - 29B9637C1E79FF640072071D /* HoleClosedAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CF1D295C5300B90302 /* HoleClosedAttributes.cpp */; }; - 29B9637D1E79FF640072071D /* HoleShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D01D295C5300B90302 /* HoleShape.cpp */; }; - 29B9637E1E79FF640072071D /* HoleType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D11D295C5300B90302 /* HoleType.cpp */; }; - 29B9637F1E79FF640072071D /* Humming.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D21D295C5300B90302 /* Humming.cpp */; }; - 29B963801E79FF640072071D /* Identification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D31D295C5300B90302 /* Identification.cpp */; }; - 29B963811E79FF640072071D /* Image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D41D295C5300B90302 /* Image.cpp */; }; - 29B963821E79FF640072071D /* ImageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D51D295C5300B90302 /* ImageAttributes.cpp */; }; - 29B963831E79FF640072071D /* Instrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D61D295C5300B90302 /* Instrument.cpp */; }; - 29B963841E79FF640072071D /* InstrumentAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D71D295C5300B90302 /* InstrumentAbbreviation.cpp */; }; - 29B963851E79FF640072071D /* InstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D81D295C5300B90302 /* InstrumentAttributes.cpp */; }; - 29B963861E79FF640072071D /* InstrumentName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D91D295C5300B90302 /* InstrumentName.cpp */; }; - 29B963871E79FF640072071D /* Instruments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DA1D295C5300B90302 /* Instruments.cpp */; }; - 29B963881E79FF640072071D /* InstrumentSound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DB1D295C5300B90302 /* InstrumentSound.cpp */; }; - 29B963891E79FF640072071D /* Interchangeable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DC1D295C5300B90302 /* Interchangeable.cpp */; }; - 29B9638A1E79FF640072071D /* InterchangeableAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DD1D295C5300B90302 /* InterchangeableAttributes.cpp */; }; - 29B9638B1E79FF640072071D /* Inversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DE1D295C5300B90302 /* Inversion.cpp */; }; - 29B9638C1E79FF640072071D /* InversionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DF1D295C5300B90302 /* InversionAttributes.cpp */; }; - 29B9638D1E79FF640072071D /* InvertedMordent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E01D295C5300B90302 /* InvertedMordent.cpp */; }; - 29B9638E1E79FF640072071D /* InvertedMordentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E11D295C5300B90302 /* InvertedMordentAttributes.cpp */; }; - 29B9638F1E79FF640072071D /* InvertedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E21D295C5300B90302 /* InvertedTurn.cpp */; }; - 29B963901E79FF640072071D /* InvertedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E31D295C5300B90302 /* InvertedTurnAttributes.cpp */; }; - 29B963911E79FF640072071D /* Ipa.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E41D295C5300B90302 /* Ipa.cpp */; }; - 29B963921E79FF640072071D /* Key.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E51D295C5300B90302 /* Key.cpp */; }; - 29B963931E79FF640072071D /* KeyAccidental.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E61D295C5300B90302 /* KeyAccidental.cpp */; }; - 29B963941E79FF640072071D /* KeyAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E71D295C5300B90302 /* KeyAlter.cpp */; }; - 29B963951E79FF640072071D /* KeyAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E81D295C5300B90302 /* KeyAttributes.cpp */; }; - 29B963961E79FF640072071D /* KeyChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E91D295C5300B90302 /* KeyChoice.cpp */; }; - 29B963971E79FF640072071D /* KeyOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EA1D295C5300B90302 /* KeyOctave.cpp */; }; - 29B963981E79FF640072071D /* KeyOctaveAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EB1D295C5300B90302 /* KeyOctaveAttributes.cpp */; }; - 29B963991E79FF640072071D /* KeyStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EC1D295C5300B90302 /* KeyStep.cpp */; }; - 29B9639A1E79FF640072071D /* Kind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546ED1D295C5300B90302 /* Kind.cpp */; }; - 29B9639B1E79FF640072071D /* KindAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EE1D295C5300B90302 /* KindAttributes.cpp */; }; - 29B9639C1E79FF640072071D /* Laughing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EF1D295C5300B90302 /* Laughing.cpp */; }; - 29B9639D1E79FF640072071D /* LayoutGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F01D295C5300B90302 /* LayoutGroup.cpp */; }; - 29B9639E1E79FF640072071D /* LeftDivider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F11D295C5300B90302 /* LeftDivider.cpp */; }; - 29B9639F1E79FF640072071D /* LeftMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F21D295C5300B90302 /* LeftMargin.cpp */; }; - 29B963A01E79FF640072071D /* Level.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F31D295C5300B90302 /* Level.cpp */; }; - 29B963A11E79FF640072071D /* LevelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F41D295C5300B90302 /* LevelAttributes.cpp */; }; - 29B963A21E79FF640072071D /* Line.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F51D295C5300B90302 /* Line.cpp */; }; - 29B963A31E79FF640072071D /* LineWidth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F61D295C5300B90302 /* LineWidth.cpp */; }; - 29B963A41E79FF640072071D /* LineWidthAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F71D295C5300B90302 /* LineWidthAttributes.cpp */; }; - 29B963A51E79FF640072071D /* Link.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F81D295C5300B90302 /* Link.cpp */; }; - 29B963A61E79FF640072071D /* LinkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F91D295C5300B90302 /* LinkAttributes.cpp */; }; - 29B963A71E79FF640072071D /* Lyric.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FA1D295C5300B90302 /* Lyric.cpp */; }; - 29B963A81E79FF640072071D /* LyricAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FB1D295C5300B90302 /* LyricAttributes.cpp */; }; - 29B963A91E79FF640072071D /* LyricFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FC1D295C5300B90302 /* LyricFont.cpp */; }; - 29B963AA1E79FF640072071D /* LyricFontAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FD1D295C5300B90302 /* LyricFontAttributes.cpp */; }; - 29B963AB1E79FF640072071D /* LyricLanguage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FE1D295C5300B90302 /* LyricLanguage.cpp */; }; - 29B963AC1E79FF640072071D /* LyricLanguageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FF1D295C5300B90302 /* LyricLanguageAttributes.cpp */; }; - 29B963AD1E79FF640072071D /* LyricTextChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547001D295C5300B90302 /* LyricTextChoice.cpp */; }; - 29B963AE1E79FF640072071D /* MeasureAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547011D295C5300B90302 /* MeasureAttributes.cpp */; }; - 29B963AF1E79FF640072071D /* MeasureDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547021D295C5300B90302 /* MeasureDistance.cpp */; }; - 29B963B01E79FF640072071D /* MeasureLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547031D295C5300B90302 /* MeasureLayout.cpp */; }; - 29B963B11E79FF640072071D /* MeasureNumbering.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547041D295C5300B90302 /* MeasureNumbering.cpp */; }; - 29B963B21E79FF640072071D /* MeasureNumberingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547051D295C5300B90302 /* MeasureNumberingAttributes.cpp */; }; - 29B963B31E79FF640072071D /* MeasureRepeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547061D295C5300B90302 /* MeasureRepeat.cpp */; }; - 29B963B41E79FF640072071D /* MeasureRepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547071D295C5300B90302 /* MeasureRepeatAttributes.cpp */; }; - 29B963B51E79FF640072071D /* MeasureStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547081D295C5300B90302 /* MeasureStyle.cpp */; }; - 29B963B61E79FF640072071D /* MeasureStyleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547091D295C5300B90302 /* MeasureStyleAttributes.cpp */; }; - 29B963B71E79FF640072071D /* MeasureStyleChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470A1D295C5300B90302 /* MeasureStyleChoice.cpp */; }; - 29B963B81E79FF640072071D /* Membrane.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470B1D295C5300B90302 /* Membrane.cpp */; }; - 29B963B91E79FF640072071D /* Metal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470C1D295C5300B90302 /* Metal.cpp */; }; - 29B963BA1E79FF640072071D /* Metronome.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470D1D295C5300B90302 /* Metronome.cpp */; }; - 29B963BB1E79FF640072071D /* MetronomeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470E1D295C5300B90302 /* MetronomeAttributes.cpp */; }; - 29B963BC1E79FF640072071D /* MetronomeBeam.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470F1D295C5300B90302 /* MetronomeBeam.cpp */; }; - 29B963BD1E79FF640072071D /* MetronomeBeamAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547101D295C5300B90302 /* MetronomeBeamAttributes.cpp */; }; - 29B963BE1E79FF640072071D /* MetronomeDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547111D295C5300B90302 /* MetronomeDot.cpp */; }; - 29B963BF1E79FF640072071D /* MetronomeNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547121D295C5300B90302 /* MetronomeNote.cpp */; }; - 29B963C01E79FF640072071D /* MetronomeRelation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547131D295C5300B90302 /* MetronomeRelation.cpp */; }; - 29B963C11E79FF640072071D /* MetronomeRelationGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547141D295C5300B90302 /* MetronomeRelationGroup.cpp */; }; - 29B963C21E79FF640072071D /* MetronomeTuplet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547151D295C5300B90302 /* MetronomeTuplet.cpp */; }; - 29B963C31E79FF640072071D /* MetronomeTupletAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547161D295C5300B90302 /* MetronomeTupletAttributes.cpp */; }; - 29B963C41E79FF640072071D /* MetronomeType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547171D295C5300B90302 /* MetronomeType.cpp */; }; - 29B963C51E79FF640072071D /* MidiBank.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547181D295C5300B90302 /* MidiBank.cpp */; }; - 29B963C61E79FF640072071D /* MidiChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547191D295C5300B90302 /* MidiChannel.cpp */; }; - 29B963C71E79FF640072071D /* MidiDevice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471A1D295C5300B90302 /* MidiDevice.cpp */; }; - 29B963C81E79FF640072071D /* MidiDeviceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471B1D295C5300B90302 /* MidiDeviceAttributes.cpp */; }; - 29B963C91E79FF640072071D /* MidiDeviceInstrumentGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471C1D295C5300B90302 /* MidiDeviceInstrumentGroup.cpp */; }; - 29B963CA1E79FF640072071D /* MidiInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471D1D295C5300B90302 /* MidiInstrument.cpp */; }; - 29B963CB1E79FF640072071D /* MidiInstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471E1D295C5300B90302 /* MidiInstrumentAttributes.cpp */; }; - 29B963CC1E79FF640072071D /* MidiName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471F1D295C5300B90302 /* MidiName.cpp */; }; - 29B963CD1E79FF640072071D /* MidiProgram.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547201D295C5300B90302 /* MidiProgram.cpp */; }; - 29B963CE1E79FF640072071D /* MidiUnpitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547211D295C5300B90302 /* MidiUnpitched.cpp */; }; - 29B963CF1E79FF640072071D /* Millimeters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547221D295C5300B90302 /* Millimeters.cpp */; }; - 29B963D01E79FF640072071D /* Miscellaneous.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547231D295C5300B90302 /* Miscellaneous.cpp */; }; - 29B963D11E79FF640072071D /* MiscellaneousField.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547241D295C5300B90302 /* MiscellaneousField.cpp */; }; - 29B963D21E79FF640072071D /* MiscellaneousFieldAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547251D295C5300B90302 /* MiscellaneousFieldAttributes.cpp */; }; - 29B963D31E79FF640072071D /* Mode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547261D295C5300B90302 /* Mode.cpp */; }; - 29B963D41E79FF640072071D /* Mordent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547271D295C5300B90302 /* Mordent.cpp */; }; - 29B963D51E79FF640072071D /* MordentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547281D295C5300B90302 /* MordentAttributes.cpp */; }; - 29B963D61E79FF640072071D /* MovementNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547291D295C5300B90302 /* MovementNumber.cpp */; }; - 29B963D71E79FF640072071D /* MovementTitle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472A1D295C5300B90302 /* MovementTitle.cpp */; }; - 29B963D81E79FF640072071D /* MultipleRest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472B1D295C5300B90302 /* MultipleRest.cpp */; }; - 29B963D91E79FF640072071D /* MultipleRestAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472C1D295C5400B90302 /* MultipleRestAttributes.cpp */; }; - 29B963DA1E79FF640072071D /* MusicDataChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472D1D295C5400B90302 /* MusicDataChoice.cpp */; }; - 29B963DB1E79FF640072071D /* MusicDataGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472E1D295C5400B90302 /* MusicDataGroup.cpp */; }; - 29B963DC1E79FF640072071D /* MusicFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472F1D295C5400B90302 /* MusicFont.cpp */; }; - 29B963DD1E79FF640072071D /* Mute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547301D295C5400B90302 /* Mute.cpp */; }; - 29B963DE1E79FF640072071D /* Natural.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547311D295C5400B90302 /* Natural.cpp */; }; - 29B963DF1E79FF640072071D /* NonArpeggiate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547321D295C5400B90302 /* NonArpeggiate.cpp */; }; - 29B963E01E79FF640072071D /* NonArpeggiateAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547331D295C5400B90302 /* NonArpeggiateAttributes.cpp */; }; - 29B963E11E79FF640072071D /* NonTraditionalKey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547341D295C5400B90302 /* NonTraditionalKey.cpp */; }; - 29B963E21E79FF640072071D /* NormalDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547351D295C5400B90302 /* NormalDot.cpp */; }; - 29B963E31E79FF640072071D /* NormalNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547361D295C5400B90302 /* NormalNoteGroup.cpp */; }; - 29B963E41E79FF640072071D /* NormalNotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547371D295C5400B90302 /* NormalNotes.cpp */; }; - 29B963E51E79FF640072071D /* NormalType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547381D295C5400B90302 /* NormalType.cpp */; }; - 29B963E61E79FF640072071D /* NormalTypeNormalDotGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547391D295C5400B90302 /* NormalTypeNormalDotGroup.cpp */; }; - 29B963E71E79FF640072071D /* Notations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473A1D295C5400B90302 /* Notations.cpp */; }; - 29B963E81E79FF640072071D /* NotationsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473B1D295C5400B90302 /* NotationsAttributes.cpp */; }; - 29B963E91E79FF640072071D /* NotationsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473C1D295C5400B90302 /* NotationsChoice.cpp */; }; - 29B963EA1E79FF640072071D /* Note.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473D1D295C5400B90302 /* Note.cpp */; }; - 29B963EB1E79FF640072071D /* NoteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473E1D295C5400B90302 /* NoteAttributes.cpp */; }; - 29B963EC1E79FF640072071D /* NoteChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473F1D295C5400B90302 /* NoteChoice.cpp */; }; - 29B963ED1E79FF640072071D /* Notehead.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547401D295C5400B90302 /* Notehead.cpp */; }; - 29B963EE1E79FF640072071D /* NoteheadAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547411D295C5400B90302 /* NoteheadAttributes.cpp */; }; - 29B963EF1E79FF640072071D /* NoteheadText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547421D295C5400B90302 /* NoteheadText.cpp */; }; - 29B963F01E79FF640072071D /* NoteheadTextChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 295C49361D2CB41E0015E349 /* NoteheadTextChoice.cpp */; }; - 29B963F11E79FF640072071D /* NoteRelationNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547431D295C5400B90302 /* NoteRelationNote.cpp */; }; - 29B963F21E79FF640072071D /* NoteSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547441D295C5400B90302 /* NoteSize.cpp */; }; - 29B963F31E79FF640072071D /* NoteSizeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547451D295C5400B90302 /* NoteSizeAttributes.cpp */; }; - 29B963F41E79FF640072071D /* Octave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547461D295C5400B90302 /* Octave.cpp */; }; - 29B963F51E79FF640072071D /* OctaveChange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547471D295C5400B90302 /* OctaveChange.cpp */; }; - 29B963F61E79FF640072071D /* OctaveShift.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547481D295C5400B90302 /* OctaveShift.cpp */; }; - 29B963F71E79FF640072071D /* OctaveShiftAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547491D295C5400B90302 /* OctaveShiftAttributes.cpp */; }; - 29B963F81E79FF640072071D /* Offset.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474A1D295C5400B90302 /* Offset.cpp */; }; - 29B963F91E79FF640072071D /* OffsetAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474B1D295C5400B90302 /* OffsetAttributes.cpp */; }; - 29B963FA1E79FF640072071D /* OpenString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474C1D295C5400B90302 /* OpenString.cpp */; }; - 29B963FB1E79FF640072071D /* Opus.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474D1D295C5400B90302 /* Opus.cpp */; }; - 29B963FC1E79FF640072071D /* OpusAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474E1D295C5400B90302 /* OpusAttributes.cpp */; }; - 29B963FD1E79FF640072071D /* Ornaments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474F1D295C5400B90302 /* Ornaments.cpp */; }; - 29B963FE1E79FF640072071D /* OrnamentsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547501D295C5400B90302 /* OrnamentsChoice.cpp */; }; - 29B963FF1E79FF640072071D /* OtherAppearance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547511D295C5400B90302 /* OtherAppearance.cpp */; }; - 29B964001E79FF640072071D /* OtherAppearanceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547521D295C5400B90302 /* OtherAppearanceAttributes.cpp */; }; - 29B964011E79FF640072071D /* OtherArticulation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547531D295C5400B90302 /* OtherArticulation.cpp */; }; - 29B964021E79FF640072071D /* OtherArticulationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547541D295C5400B90302 /* OtherArticulationAttributes.cpp */; }; - 29B964031E79FF640072071D /* OtherDirection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547551D295C5400B90302 /* OtherDirection.cpp */; }; - 29B964041E79FF640072071D /* OtherDirectionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547561D295C5400B90302 /* OtherDirectionAttributes.cpp */; }; - 29B964051E79FF640072071D /* OtherNotation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547571D295C5400B90302 /* OtherNotation.cpp */; }; - 29B964061E79FF640072071D /* OtherNotationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547581D295C5400B90302 /* OtherNotationAttributes.cpp */; }; - 29B964071E79FF640072071D /* OtherOrnament.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547591D295C5400B90302 /* OtherOrnament.cpp */; }; - 29B964081E79FF640072071D /* OtherOrnamentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475A1D295C5400B90302 /* OtherOrnamentAttributes.cpp */; }; - 29B964091E79FF640072071D /* OtherPercussion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475B1D295C5400B90302 /* OtherPercussion.cpp */; }; - 29B9640A1E79FF640072071D /* OtherPlay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475C1D295C5400B90302 /* OtherPlay.cpp */; }; - 29B9640B1E79FF640072071D /* OtherPlayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475D1D295C5400B90302 /* OtherPlayAttributes.cpp */; }; - 29B9640C1E79FF640072071D /* OtherTechnical.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475E1D295C5400B90302 /* OtherTechnical.cpp */; }; - 29B9640D1E79FF640072071D /* OtherTechnicalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475F1D295C5400B90302 /* OtherTechnicalAttributes.cpp */; }; - 29B9640E1E79FF640072071D /* PageHeight.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547601D295C5400B90302 /* PageHeight.cpp */; }; - 29B9640F1E79FF640072071D /* PageLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547611D295C5400B90302 /* PageLayout.cpp */; }; - 29B964101E79FF640072071D /* PageMargins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547621D295C5400B90302 /* PageMargins.cpp */; }; - 29B964111E79FF640072071D /* PageMarginsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547631D295C5400B90302 /* PageMarginsAttributes.cpp */; }; - 29B964121E79FF640072071D /* PageWidth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547641D295C5400B90302 /* PageWidth.cpp */; }; - 29B964131E79FF640072071D /* Pan.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547651D295C5400B90302 /* Pan.cpp */; }; - 29B964141E79FF640072071D /* PartAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547661D295C5400B90302 /* PartAbbreviation.cpp */; }; - 29B964151E79FF640072071D /* PartAbbreviationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547671D295C5400B90302 /* PartAbbreviationAttributes.cpp */; }; - 29B964161E79FF640072071D /* PartAbbreviationDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547681D295C5400B90302 /* PartAbbreviationDisplay.cpp */; }; - 29B964171E79FF640072071D /* PartAbbreviationDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547691D295C5400B90302 /* PartAbbreviationDisplayAttributes.cpp */; }; - 29B964181E79FF640072071D /* PartAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476A1D295C5400B90302 /* PartAttributes.cpp */; }; - 29B964191E79FF640072071D /* PartGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476B1D295C5400B90302 /* PartGroup.cpp */; }; - 29B9641A1E79FF640072071D /* PartGroupAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476C1D295C5400B90302 /* PartGroupAttributes.cpp */; }; - 29B9641B1E79FF640072071D /* PartGroupOrScorePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476D1D295C5400B90302 /* PartGroupOrScorePart.cpp */; }; - 29B9641C1E79FF640072071D /* PartList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476E1D295C5400B90302 /* PartList.cpp */; }; - 29B9641D1E79FF640072071D /* PartName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476F1D295C5400B90302 /* PartName.cpp */; }; - 29B9641E1E79FF640072071D /* PartNameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547701D295C5400B90302 /* PartNameAttributes.cpp */; }; - 29B9641F1E79FF640072071D /* PartNameDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547711D295C5400B90302 /* PartNameDisplay.cpp */; }; - 29B964201E79FF640072071D /* PartNameDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547721D295C5400B90302 /* PartNameDisplayAttributes.cpp */; }; - 29B964211E79FF640072071D /* PartSymbol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547731D295C5400B90302 /* PartSymbol.cpp */; }; - 29B964221E79FF640072071D /* PartSymbolAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547741D295C5400B90302 /* PartSymbolAttributes.cpp */; }; - 29B964231E79FF640072071D /* PartwiseMeasure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547751D295C5400B90302 /* PartwiseMeasure.cpp */; }; - 29B964241E79FF640072071D /* PartwisePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547761D295C5400B90302 /* PartwisePart.cpp */; }; - 29B964251E79FF640072071D /* Pedal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547771D295C5400B90302 /* Pedal.cpp */; }; - 29B964261E79FF640072071D /* PedalAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547781D295C5400B90302 /* PedalAlter.cpp */; }; - 29B964271E79FF640072071D /* PedalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547791D295C5400B90302 /* PedalAttributes.cpp */; }; - 29B964281E79FF640072071D /* PedalStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477A1D295C5400B90302 /* PedalStep.cpp */; }; - 29B964291E79FF640072071D /* PedalTuning.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477B1D295C5400B90302 /* PedalTuning.cpp */; }; - 29B9642A1E79FF640072071D /* Percussion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477C1D295C5400B90302 /* Percussion.cpp */; }; - 29B9642B1E79FF640072071D /* PercussionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477D1D295C5400B90302 /* PercussionAttributes.cpp */; }; - 29B9642C1E79FF640072071D /* PercussionChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477E1D295C5400B90302 /* PercussionChoice.cpp */; }; - 29B9642D1E79FF640072071D /* PerMinute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477F1D295C5400B90302 /* PerMinute.cpp */; }; - 29B9642E1E79FF640072071D /* PerMinuteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547801D295C5400B90302 /* PerMinuteAttributes.cpp */; }; - 29B9642F1E79FF640072071D /* PerMinuteOrBeatUnitChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547811D295C5400B90302 /* PerMinuteOrBeatUnitChoice.cpp */; }; - 29B964301E79FF640072071D /* Pitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547821D295C5400B90302 /* Pitch.cpp */; }; - 29B964311E79FF640072071D /* Pitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547831D295C5400B90302 /* Pitched.cpp */; }; - 29B964321E79FF640072071D /* Play.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547841D295C5400B90302 /* Play.cpp */; }; - 29B964331E79FF640072071D /* PlayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547851D295C5400B90302 /* PlayAttributes.cpp */; }; - 29B964341E79FF640072071D /* Plop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547861D295C5400B90302 /* Plop.cpp */; }; - 29B964351E79FF640072071D /* Pluck.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547871D295C5400B90302 /* Pluck.cpp */; }; - 29B964361E79FF640072071D /* PluckAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547881D295C5400B90302 /* PluckAttributes.cpp */; }; - 29B964371E79FF640072071D /* PreBend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547891D295C5400B90302 /* PreBend.cpp */; }; - 29B964381E79FF640072071D /* Prefix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478A1D295C5400B90302 /* Prefix.cpp */; }; - 29B964391E79FF640072071D /* PrefixAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478B1D295C5400B90302 /* PrefixAttributes.cpp */; }; - 29B9643A1E79FF640072071D /* PrincipalVoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478C1D295C5400B90302 /* PrincipalVoice.cpp */; }; - 29B9643B1E79FF640072071D /* PrincipalVoiceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478D1D295C5400B90302 /* PrincipalVoiceAttributes.cpp */; }; - 29B9643C1E79FF640072071D /* Print.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478E1D295C5400B90302 /* Print.cpp */; }; - 29B9643D1E79FF640072071D /* PrintAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478F1D295C5400B90302 /* PrintAttributes.cpp */; }; - 29B9643E1E79FF640072071D /* Properties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547901D295C5400B90302 /* Properties.cpp */; }; - 29B9643F1E79FF640072071D /* PullOff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547911D295C5400B90302 /* PullOff.cpp */; }; - 29B964401E79FF640072071D /* PullOffAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547921D295C5400B90302 /* PullOffAttributes.cpp */; }; - 29B964411E79FF640072071D /* Rehearsal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547931D295C5400B90302 /* Rehearsal.cpp */; }; - 29B964421E79FF640072071D /* RehearsalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547941D295C5400B90302 /* RehearsalAttributes.cpp */; }; - 29B964431E79FF640072071D /* Relation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547951D295C5400B90302 /* Relation.cpp */; }; - 29B964441E79FF640072071D /* RelationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547961D295C5400B90302 /* RelationAttributes.cpp */; }; - 29B964451E79FF640072071D /* Release.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547971D295C5400B90302 /* Release.cpp */; }; - 29B964461E79FF640072071D /* Repeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547981D295C5400B90302 /* Repeat.cpp */; }; - 29B964471E79FF640072071D /* RepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547991D295C5400B90302 /* RepeatAttributes.cpp */; }; - 29B964481E79FF640072071D /* Rest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479A1D295C5400B90302 /* Rest.cpp */; }; - 29B964491E79FF640072071D /* RestAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479B1D295C5400B90302 /* RestAttributes.cpp */; }; - 29B9644A1E79FF640072071D /* RightDivider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479C1D295C5400B90302 /* RightDivider.cpp */; }; - 29B9644B1E79FF640072071D /* RightMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479D1D295C5400B90302 /* RightMargin.cpp */; }; - 29B9644C1E79FF640072071D /* Rights.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479E1D295C5400B90302 /* Rights.cpp */; }; - 29B9644D1E79FF640072071D /* RightsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479F1D295C5400B90302 /* RightsAttributes.cpp */; }; - 29B9644E1E79FF640072071D /* Root.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A01D295C5400B90302 /* Root.cpp */; }; - 29B9644F1E79FF640072071D /* RootAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A11D295C5400B90302 /* RootAlter.cpp */; }; - 29B964501E79FF640072071D /* RootAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A21D295C5400B90302 /* RootAlterAttributes.cpp */; }; - 29B964511E79FF640072071D /* RootStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A31D295C5400B90302 /* RootStep.cpp */; }; - 29B964521E79FF640072071D /* RootStepAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A41D295C5400B90302 /* RootStepAttributes.cpp */; }; - 29B964531E79FF640072071D /* Scaling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A51D295C5400B90302 /* Scaling.cpp */; }; - 29B964541E79FF640072071D /* Schleifer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A61D295C5400B90302 /* Schleifer.cpp */; }; - 29B964551E79FF640072071D /* Scoop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A71D295C5400B90302 /* Scoop.cpp */; }; - 29B964561E79FF640072071D /* Scordatura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A81D295C5400B90302 /* Scordatura.cpp */; }; - 29B964571E79FF640072071D /* ScoreHeaderGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A91D295C5400B90302 /* ScoreHeaderGroup.cpp */; }; - 29B964581E79FF640072071D /* ScoreInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AA1D295C5400B90302 /* ScoreInstrument.cpp */; }; - 29B964591E79FF640072071D /* ScoreInstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AB1D295C5400B90302 /* ScoreInstrumentAttributes.cpp */; }; - 29B9645A1E79FF640072071D /* ScorePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AC1D295C5400B90302 /* ScorePart.cpp */; }; - 29B9645B1E79FF640072071D /* ScorePartAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AD1D295C5400B90302 /* ScorePartAttributes.cpp */; }; - 29B9645C1E79FF640072071D /* ScorePartwise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AE1D295C5400B90302 /* ScorePartwise.cpp */; }; - 29B9645D1E79FF640072071D /* ScorePartwiseAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AF1D295C5400B90302 /* ScorePartwiseAttributes.cpp */; }; - 29B9645E1E79FF640072071D /* ScoreTimewise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B01D295C5400B90302 /* ScoreTimewise.cpp */; }; - 29B9645F1E79FF640072071D /* ScoreTimewiseAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B11D295C5400B90302 /* ScoreTimewiseAttributes.cpp */; }; - 29B964601E79FF640072071D /* Segno.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B21D295C5400B90302 /* Segno.cpp */; }; - 29B964611E79FF640072071D /* SemiPitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B31D295C5400B90302 /* SemiPitched.cpp */; }; - 29B964621E79FF640072071D /* SenzaMisura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B41D295C5400B90302 /* SenzaMisura.cpp */; }; - 29B964631E79FF640072071D /* Shake.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B51D295C5400B90302 /* Shake.cpp */; }; - 29B964641E79FF640072071D /* Sign.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B61D295C5400B90302 /* Sign.cpp */; }; - 29B964651E79FF640072071D /* Slash.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B71D295C5400B90302 /* Slash.cpp */; }; - 29B964661E79FF640072071D /* SlashAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B81D295C5400B90302 /* SlashAttributes.cpp */; }; - 29B964671E79FF640072071D /* SlashDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B91D295C5400B90302 /* SlashDot.cpp */; }; - 29B964681E79FF640072071D /* SlashType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BA1D295C5400B90302 /* SlashType.cpp */; }; - 29B964691E79FF640072071D /* Slide.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BB1D295C5400B90302 /* Slide.cpp */; }; - 29B9646A1E79FF640072071D /* SlideAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BC1D295C5400B90302 /* SlideAttributes.cpp */; }; - 29B9646B1E79FF640072071D /* Slur.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BD1D295C5400B90302 /* Slur.cpp */; }; - 29B9646C1E79FF640072071D /* SlurAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BE1D295C5400B90302 /* SlurAttributes.cpp */; }; - 29B9646D1E79FF640072071D /* SnapPizzicato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BF1D295C5400B90302 /* SnapPizzicato.cpp */; }; - 29B9646E1E79FF640072071D /* Software.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C01D295C5400B90302 /* Software.cpp */; }; - 29B9646F1E79FF640072071D /* Solo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C11D295C5400B90302 /* Solo.cpp */; }; - 29B964701E79FF640072071D /* SoloOrEnsembleChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C21D295C5400B90302 /* SoloOrEnsembleChoice.cpp */; }; - 29B964711E79FF640072071D /* Sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C31D295C5400B90302 /* Sound.cpp */; }; - 29B964721E79FF640072071D /* SoundAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C41D295C5400B90302 /* SoundAttributes.cpp */; }; - 29B964731E79FF640072071D /* SoundingPitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C51D295C5400B90302 /* SoundingPitch.cpp */; }; - 29B964741E79FF640072071D /* Source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C61D295C5400B90302 /* Source.cpp */; }; - 29B964751E79FF640072071D /* Spiccato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C71D295C5400B90302 /* Spiccato.cpp */; }; - 29B964761E79FF640072071D /* Staccatissimo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C81D295C5400B90302 /* Staccatissimo.cpp */; }; - 29B964771E79FF640072071D /* Staccato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C91D295C5400B90302 /* Staccato.cpp */; }; - 29B964781E79FF640072071D /* Staff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CA1D295C5400B90302 /* Staff.cpp */; }; - 29B964791E79FF640072071D /* StaffDetails.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CB1D295C5400B90302 /* StaffDetails.cpp */; }; - 29B9647A1E79FF640072071D /* StaffDetailsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CC1D295C5400B90302 /* StaffDetailsAttributes.cpp */; }; - 29B9647B1E79FF640072071D /* StaffDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CD1D295C5400B90302 /* StaffDistance.cpp */; }; - 29B9647C1E79FF640072071D /* StaffLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CE1D295C5400B90302 /* StaffLayout.cpp */; }; - 29B9647D1E79FF640072071D /* StaffLayoutAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CF1D295C5400B90302 /* StaffLayoutAttributes.cpp */; }; - 29B9647E1E79FF640072071D /* StaffLines.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D01D295C5400B90302 /* StaffLines.cpp */; }; - 29B9647F1E79FF640072071D /* StaffSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D11D295C5400B90302 /* StaffSize.cpp */; }; - 29B964801E79FF640072071D /* StaffTuning.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D21D295C5400B90302 /* StaffTuning.cpp */; }; - 29B964811E79FF640072071D /* StaffTuningAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D31D295C5400B90302 /* StaffTuningAttributes.cpp */; }; - 29B964821E79FF640072071D /* StaffType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D41D295C5400B90302 /* StaffType.cpp */; }; - 29B964831E79FF640072071D /* Staves.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D51D295C5400B90302 /* Staves.cpp */; }; - 29B964841E79FF640072071D /* Stem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D61D295C5400B90302 /* Stem.cpp */; }; - 29B964851E79FF640072071D /* StemAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D71D295C5400B90302 /* StemAttributes.cpp */; }; - 29B964861E79FF640072071D /* Step.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D81D295C5400B90302 /* Step.cpp */; }; - 29B964871E79FF640072071D /* Stick.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D91D295C5400B90302 /* Stick.cpp */; }; - 29B964881E79FF640072071D /* StickAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DA1D295C5400B90302 /* StickAttributes.cpp */; }; - 29B964891E79FF640072071D /* StickLocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DB1D295C5400B90302 /* StickLocation.cpp */; }; - 29B9648A1E79FF640072071D /* StickMaterial.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DC1D295C5400B90302 /* StickMaterial.cpp */; }; - 29B9648B1E79FF640072071D /* StickType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DD1D295C5400B90302 /* StickType.cpp */; }; - 29B9648C1E79FF640072071D /* Stopped.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DE1D295C5400B90302 /* Stopped.cpp */; }; - 29B9648D1E79FF640072071D /* Stress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DF1D295C5400B90302 /* Stress.cpp */; }; - 29B9648E1E79FF640072071D /* String.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E01D295C5400B90302 /* String.cpp */; }; - 29B9648F1E79FF640072071D /* StringAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E11D295C5400B90302 /* StringAttributes.cpp */; }; - 29B964901E79FF640072071D /* StringMute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E21D295C5400B90302 /* StringMute.cpp */; }; - 29B964911E79FF640072071D /* StringMuteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E31D295C5400B90302 /* StringMuteAttributes.cpp */; }; - 29B964921E79FF640072071D /* StrongAccent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E41D295C5400B90302 /* StrongAccent.cpp */; }; - 29B964931E79FF640072071D /* StrongAccentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E51D295C5400B90302 /* StrongAccentAttributes.cpp */; }; - 29B964941E79FF640072071D /* Suffix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E61D295C5400B90302 /* Suffix.cpp */; }; - 29B964951E79FF640072071D /* SuffixAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E71D295C5400B90302 /* SuffixAttributes.cpp */; }; - 29B964961E79FF640072071D /* Supports.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E81D295C5400B90302 /* Supports.cpp */; }; - 29B964971E79FF640072071D /* SupportsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E91D295C5400B90302 /* SupportsAttributes.cpp */; }; - 29B964981E79FF640072071D /* Syllabic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EA1D295C5400B90302 /* Syllabic.cpp */; }; - 29B964991E79FF640072071D /* SyllabicTextGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EB1D295C5400B90302 /* SyllabicTextGroup.cpp */; }; - 29B9649A1E79FF640072071D /* SystemDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EC1D295C5400B90302 /* SystemDistance.cpp */; }; - 29B9649B1E79FF640072071D /* SystemDividers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547ED1D295C5400B90302 /* SystemDividers.cpp */; }; - 29B9649C1E79FF640072071D /* SystemLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EE1D295C5400B90302 /* SystemLayout.cpp */; }; - 29B9649D1E79FF640072071D /* SystemMargins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EF1D295C5400B90302 /* SystemMargins.cpp */; }; - 29B9649E1E79FF640072071D /* Tap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F01D295C5400B90302 /* Tap.cpp */; }; - 29B9649F1E79FF640072071D /* TapAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F11D295C5400B90302 /* TapAttributes.cpp */; }; - 29B964A01E79FF640072071D /* Technical.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F21D295C5400B90302 /* Technical.cpp */; }; - 29B964A11E79FF640072071D /* TechnicalChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F31D295C5400B90302 /* TechnicalChoice.cpp */; }; - 29B964A21E79FF640072071D /* Tenths.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F41D295C5400B90302 /* Tenths.cpp */; }; - 29B964A31E79FF640072071D /* Tenuto.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F51D295C5400B90302 /* Tenuto.cpp */; }; - 29B964A41E79FF640072071D /* Text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F61D295C5400B90302 /* Text.cpp */; }; - 29B964A51E79FF640072071D /* TextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F71D295C5400B90302 /* TextAttributes.cpp */; }; - 29B964A61E79FF640072071D /* ThumbPosition.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F81D295C5400B90302 /* ThumbPosition.cpp */; }; - 29B964A71E79FF640072071D /* Tie.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F91D295C5400B90302 /* Tie.cpp */; }; - 29B964A81E79FF640072071D /* TieAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FA1D295C5400B90302 /* TieAttributes.cpp */; }; - 29B964A91E79FF640072071D /* Tied.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FB1D295C5400B90302 /* Tied.cpp */; }; - 29B964AA1E79FF640072071D /* TiedAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FC1D295C5400B90302 /* TiedAttributes.cpp */; }; - 29B964AB1E79FF640072071D /* Time.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FD1D295C5400B90302 /* Time.cpp */; }; - 29B964AC1E79FF640072071D /* TimeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FE1D295C5400B90302 /* TimeAttributes.cpp */; }; - 29B964AD1E79FF640072071D /* TimeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FF1D295C5400B90302 /* TimeChoice.cpp */; }; - 29B964AE1E79FF640072071D /* TimeModification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548001D295C5400B90302 /* TimeModification.cpp */; }; - 29B964AF1E79FF640072071D /* TimeModificationNormalTypeNormalDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548011D295C5400B90302 /* TimeModificationNormalTypeNormalDot.cpp */; }; - 29B964B01E79FF640072071D /* TimeRelation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548021D295C5400B90302 /* TimeRelation.cpp */; }; - 29B964B11E79FF640072071D /* TimeSignatureGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548031D295C5400B90302 /* TimeSignatureGroup.cpp */; }; - 29B964B21E79FF640072071D /* TimewiseMeasure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548041D295C5400B90302 /* TimewiseMeasure.cpp */; }; - 29B964B31E79FF640072071D /* TimewisePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548051D295C5400B90302 /* TimewisePart.cpp */; }; - 29B964B41E79FF640072071D /* Timpani.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548061D295C5400B90302 /* Timpani.cpp */; }; - 29B964B51E79FF640072071D /* Toe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548071D295C5400B90302 /* Toe.cpp */; }; - 29B964B61E79FF640072071D /* ToeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548081D295C5400B90302 /* ToeAttributes.cpp */; }; - 29B964B71E79FF640072071D /* TopMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548091D295C5400B90302 /* TopMargin.cpp */; }; - 29B964B81E79FF640072071D /* TopSystemDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480A1D295C5400B90302 /* TopSystemDistance.cpp */; }; - 29B964B91E79FF640072071D /* TouchingPitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480B1D295C5400B90302 /* TouchingPitch.cpp */; }; - 29B964BA1E79FF640072071D /* TraditionalKey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480C1D295C5400B90302 /* TraditionalKey.cpp */; }; - 29B964BB1E79FF640072071D /* Transpose.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480D1D295C5400B90302 /* Transpose.cpp */; }; - 29B964BC1E79FF640072071D /* TransposeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480E1D295C5400B90302 /* TransposeAttributes.cpp */; }; - 29B964BD1E79FF640072071D /* Tremolo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480F1D295C5400B90302 /* Tremolo.cpp */; }; - 29B964BE1E79FF640072071D /* TremoloAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548101D295C5400B90302 /* TremoloAttributes.cpp */; }; - 29B964BF1E79FF640072071D /* TrillMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548111D295C5400B90302 /* TrillMark.cpp */; }; - 29B964C01E79FF640072071D /* TripleTongue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548121D295C5400B90302 /* TripleTongue.cpp */; }; - 29B964C11E79FF640072071D /* TuningAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548131D295C5400B90302 /* TuningAlter.cpp */; }; - 29B964C21E79FF640072071D /* TuningOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548141D295C5400B90302 /* TuningOctave.cpp */; }; - 29B964C31E79FF640072071D /* TuningStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548151D295C5400B90302 /* TuningStep.cpp */; }; - 29B964C41E79FF640072071D /* Tuplet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548161D295C5400B90302 /* Tuplet.cpp */; }; - 29B964C51E79FF640072071D /* TupletActual.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548171D295C5400B90302 /* TupletActual.cpp */; }; - 29B964C61E79FF640072071D /* TupletAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548181D295C5400B90302 /* TupletAttributes.cpp */; }; - 29B964C71E79FF640072071D /* TupletDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548191D295C5400B90302 /* TupletDot.cpp */; }; - 29B964C81E79FF640072071D /* TupletDotAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481A1D295C5400B90302 /* TupletDotAttributes.cpp */; }; - 29B964C91E79FF640072071D /* TupletNormal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481B1D295C5400B90302 /* TupletNormal.cpp */; }; - 29B964CA1E79FF640072071D /* TupletNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481C1D295C5500B90302 /* TupletNumber.cpp */; }; - 29B964CB1E79FF640072071D /* TupletNumberAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481D1D295C5500B90302 /* TupletNumberAttributes.cpp */; }; - 29B964CC1E79FF640072071D /* TupletType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481E1D295C5500B90302 /* TupletType.cpp */; }; - 29B964CD1E79FF640072071D /* TupletTypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481F1D295C5500B90302 /* TupletTypeAttributes.cpp */; }; - 29B964CE1E79FF640072071D /* Turn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548201D295C5500B90302 /* Turn.cpp */; }; - 29B964CF1E79FF640072071D /* TurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548211D295C5500B90302 /* TurnAttributes.cpp */; }; - 29B964D01E79FF640072071D /* Type.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548221D295C5500B90302 /* Type.cpp */; }; - 29B964D11E79FF640072071D /* TypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548231D295C5500B90302 /* TypeAttributes.cpp */; }; - 29B964D21E79FF640072071D /* Unpitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548241D295C5500B90302 /* Unpitched.cpp */; }; - 29B964D31E79FF640072071D /* Unstress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548251D295C5500B90302 /* Unstress.cpp */; }; - 29B964D41E79FF640072071D /* UpBow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548261D295C5500B90302 /* UpBow.cpp */; }; - 29B964D51E79FF640072071D /* VerticalTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548271D295C5500B90302 /* VerticalTurn.cpp */; }; - 29B964D61E79FF640072071D /* VirtualInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548281D295C5500B90302 /* VirtualInstrument.cpp */; }; - 29B964D71E79FF640072071D /* VirtualLibrary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548291D295C5500B90302 /* VirtualLibrary.cpp */; }; - 29B964D81E79FF640072071D /* VirtualName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482A1D295C5500B90302 /* VirtualName.cpp */; }; - 29B964D91E79FF640072071D /* Voice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482B1D295C5500B90302 /* Voice.cpp */; }; - 29B964DA1E79FF640072071D /* Volume.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482C1D295C5500B90302 /* Volume.cpp */; }; - 29B964DB1E79FF640072071D /* WavyLine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482D1D295C5500B90302 /* WavyLine.cpp */; }; - 29B964DC1E79FF640072071D /* WavyLineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482E1D295C5500B90302 /* WavyLineAttributes.cpp */; }; - 29B964DD1E79FF640072071D /* Wedge.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482F1D295C5500B90302 /* Wedge.cpp */; }; - 29B964DE1E79FF640072071D /* WedgeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548301D295C5500B90302 /* WedgeAttributes.cpp */; }; - 29B964DF1E79FF640072071D /* WithBar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548311D295C5500B90302 /* WithBar.cpp */; }; - 29B964E01E79FF640072071D /* WithBarAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548321D295C5500B90302 /* WithBarAttributes.cpp */; }; - 29B964E11E79FF640072071D /* Wood.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548331D295C5500B90302 /* Wood.cpp */; }; - 29B964E21E79FF640072071D /* WordFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548341D295C5500B90302 /* WordFont.cpp */; }; - 29B964E31E79FF640072071D /* Words.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548351D295C5500B90302 /* Words.cpp */; }; - 29B964E41E79FF640072071D /* WordsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548361D295C5500B90302 /* WordsAttributes.cpp */; }; - 29B964E51E79FF640072071D /* Work.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548371D295C5500B90302 /* Work.cpp */; }; - 29B964E61E79FF640072071D /* WorkNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548381D295C5500B90302 /* WorkNumber.cpp */; }; - 29B964E71E79FF640072071D /* WorkTitle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548391D295C5500B90302 /* WorkTitle.cpp */; }; - 29B964E81E79FF640072071D /* EmptyPrintObjectStyleAlignAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AF61D130B690094BE61 /* EmptyPrintObjectStyleAlignAttributes.cpp */; }; - 29B964E91E79FF640072071D /* Enums.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AF81D130B690094BE61 /* Enums.cpp */; }; - 29B964EA1E79FF640072071D /* FontSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AFA1D130B690094BE61 /* FontSize.cpp */; }; - 29B964EB1E79FF640072071D /* FromXElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 295DDE0F1D2C0D4D00A2881D /* FromXElement.cpp */; }; - 29B964EC1E79FF640072071D /* Integers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AFC1D130B690094BE61 /* Integers.cpp */; }; - 29B964ED1E79FF640072071D /* NumberOrNormal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AFE1D130B690094BE61 /* NumberOrNormal.cpp */; }; - 29B964EE1E79FF640072071D /* PositiveIntegerOrEmpty.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B001D130B690094BE61 /* PositiveIntegerOrEmpty.cpp */; }; - 29B964EF1E79FF640072071D /* ScoreConversions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2951A0C31D60F3B700B49A13 /* ScoreConversions.cpp */; }; - 29B964F01E79FF640072071D /* Strings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B021D130B690094BE61 /* Strings.cpp */; }; - 29B964F11E79FF640072071D /* YesNoNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B041D130B690094BE61 /* YesNoNumber.cpp */; }; - 29B964F21E79FF640072071D /* DynamicsWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29979D651DC830AA00707AA4 /* DynamicsWriter.cpp */; }; - 29B964F31E79FF640072071D /* AccidentalMarkFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF2FE91DA307D3001FE5DF /* AccidentalMarkFunctions.cpp */; }; - 29B964F41E79FF640072071D /* ArticulationsFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF2F781DA2CC1D001FE5DF /* ArticulationsFunctions.cpp */; }; - 29B964F51E79FF640072071D /* Converter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2922CC621D9AF28400F8C9C1 /* Converter.cpp */; }; - 29B964F61E79FF640072071D /* Cursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2973065E1D89AB3300B8C0D3 /* Cursor.cpp */; }; - 29B964F71E79FF640072071D /* DirectionReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29766ACA1DAC149900CCE2AC /* DirectionReader.cpp */; }; - 29B964F81E79FF640072071D /* DirectionWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29CD722A1DB82C9200FB7153 /* DirectionWriter.cpp */; }; - 29B964F91E79FF640072071D /* DynamicsReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF2F7C1DA2D450001FE5DF /* DynamicsReader.cpp */; }; - 29B964FA1E79FF640072071D /* EncodingFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2913BB871D753FC8006C34A3 /* EncodingFunctions.cpp */; }; - 29B964FB1E79FF640072071D /* LayoutFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2913BB891D753FC8006C34A3 /* LayoutFunctions.cpp */; }; - 29B964FC1E79FF640072071D /* LcmGcd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2927ECA61D888AB30042E080 /* LcmGcd.cpp */; }; - 29B964FD1E79FF640072071D /* MeasureReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E2B3C81DA81E9700DC61EA /* MeasureReader.cpp */; }; - 29B964FE1E79FF640072071D /* MeasureWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29B7C4671DAFFDBA009D7D8F /* MeasureWriter.cpp */; }; - 29B964FF1E79FF640072071D /* MetronomeReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29766AC61DAC014300CCE2AC /* MetronomeReader.cpp */; }; - 29B965001E79FF640072071D /* NotationsWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29398BAE1DB1917B00475CD5 /* NotationsWriter.cpp */; }; - 29B965011E79FF640072071D /* NoteFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2913BB8B1D753FC8006C34A3 /* NoteFunctions.cpp */; }; - 29B965021E79FF640072071D /* NoteReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 297306661D89D08400B8C0D3 /* NoteReader.cpp */; }; - 29B965031E79FF640072071D /* NoteWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29398BA51DB1561200475CD5 /* NoteWriter.cpp */; }; - 29B965041E79FF640072071D /* OrnamentsFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF2FF11DA307D3001FE5DF /* OrnamentsFunctions.cpp */; }; - 29B965051E79FF640072071D /* PageTextFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2913BB8D1D753FC8006C34A3 /* PageTextFunctions.cpp */; }; - 29B965061E79FF640072071D /* PartReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E2B3CA1DA81E9700DC61EA /* PartReader.cpp */; }; - 29B965071E79FF640072071D /* PartWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29CDDA2B1DADCAF30022B1A3 /* PartWriter.cpp */; }; - 29B965081E79FF640072071D /* PropertiesWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29CD72261DB806FD00FB7153 /* PropertiesWriter.cpp */; }; - 29B965091E79FF640072071D /* ScoreReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C29B841DAEC00C00D3A884 /* ScoreReader.cpp */; }; - 29B9650A1E79FF640072071D /* ScoreWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C29B861DAEC00C00D3A884 /* ScoreWriter.cpp */; }; - 29B9650B1E79FF640072071D /* StaffFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 297DA0721D7F60BE0067C13A /* StaffFunctions.cpp */; }; - 29B9650C1E79FF640072071D /* TechnicalFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF30011DA32E37001FE5DF /* TechnicalFunctions.cpp */; }; - 29B9650D1E79FF640072071D /* TimeReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2927EC9E1D886E460042E080 /* TimeReader.cpp */; }; - 29B9650E1E79FF640072071D /* TupletReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29B4E81F1DA9CD5D005DC6D1 /* TupletReader.cpp */; }; - 29B9650F1E79FF640072071D /* pugixml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B5D1D130BBE0094BE61 /* pugixml.cpp */; }; - 29B965101E79FF640072071D /* Utility.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B2D1D130B910094BE61 /* Utility.cpp */; }; - 29B965111E79FF640072071D /* UtilityImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B2F1D130B910094BE61 /* UtilityImpl.cpp */; }; - 29B965121E79FF640072071D /* PugiAttribute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1451D18D403001C2A1A /* PugiAttribute.cpp */; }; - 29B965131E79FF640072071D /* PugiAttributeIterImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1471D18D403001C2A1A /* PugiAttributeIterImpl.cpp */; }; - 29B965141E79FF640072071D /* PugiDoc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1491D18D403001C2A1A /* PugiDoc.cpp */; }; - 29B965151E79FF640072071D /* PugiElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D14B1D18D403001C2A1A /* PugiElement.cpp */; }; - 29B965161E79FF640072071D /* PugiElementIterImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D14D1D18D403001C2A1A /* PugiElementIterImpl.cpp */; }; - 29B965171E79FF640072071D /* XAttributeIterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1501D18D403001C2A1A /* XAttributeIterator.cpp */; }; - 29B965181E79FF640072071D /* XElementIterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1561D18D403001C2A1A /* XElementIterator.cpp */; }; - 29B965191E79FF640072071D /* XFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1591D18D403001C2A1A /* XFactory.cpp */; }; - 29B9652D1E7A04140072071D /* MxmacOS.h in Headers */ = {isa = PBXBuildFile; fileRef = 29B9652B1E7A04140072071D /* MxmacOS.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 29B965311E7A043D0072071D /* ClefData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292D1DD01D9A43A500CDD9F4 /* ClefData.cpp */; }; - 29B965321E7A043D0072071D /* DocumentManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF44091D6E70D300DBDAB9 /* DocumentManager.cpp */; }; - 29B965331E7A043D0072071D /* DurationData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E9EA361DA4A80A0040183B /* DurationData.cpp */; }; - 29B965341E7A043D0072071D /* MarkData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29DB30A01DA0713200031477 /* MarkData.cpp */; }; - 29B965351E7A043D0072071D /* MeasureLocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C51A4C1D9F061600EAA308 /* MeasureLocation.cpp */; }; - 29B965361E7A043D0072071D /* NoteData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E9EA351DA4A80A0040183B /* NoteData.cpp */; }; - 29B965371E7A043D0072071D /* PitchData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E9EA341DA4A80A0040183B /* PitchData.cpp */; }; - 29B965381E7A043D0072071D /* Smufl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C51A1D1D9ED91000EAA308 /* Smufl.cpp */; }; - 29B965391E7A043D0072071D /* AttributesInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE01D130B690094BE61 /* AttributesInterface.cpp */; }; - 29B9653A1E7A043D0072071D /* Color.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE21D130B690094BE61 /* Color.cpp */; }; - 29B9653B1E7A043D0072071D /* Date.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE41D130B690094BE61 /* Date.cpp */; }; - 29B9653C1E7A043D0072071D /* Decimals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE61D130B690094BE61 /* Decimals.cpp */; }; - 29B9653D1E7A043D0072071D /* Document.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE81D130B690094BE61 /* Document.cpp */; }; - 29B9653E1E7A043D0072071D /* DocumentHeader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AEA1D130B690094BE61 /* DocumentHeader.cpp */; }; - 29B9653F1E7A043D0072071D /* DocumentSpec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AEE1D130B690094BE61 /* DocumentSpec.cpp */; }; - 29B965401E7A043D0072071D /* ElementInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AF21D130B690094BE61 /* ElementInterface.cpp */; }; - 29B965411E7A043D0072071D /* Accent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545ED1D295C5300B90302 /* Accent.cpp */; }; - 29B965421E7A043D0072071D /* Accidental.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545EE1D295C5300B90302 /* Accidental.cpp */; }; - 29B965431E7A043D0072071D /* AccidentalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545EF1D295C5300B90302 /* AccidentalAttributes.cpp */; }; - 29B965441E7A043D0072071D /* AccidentalMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F01D295C5300B90302 /* AccidentalMark.cpp */; }; - 29B965451E7A043D0072071D /* AccidentalMarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F11D295C5300B90302 /* AccidentalMarkAttributes.cpp */; }; - 29B965461E7A043D0072071D /* AccidentalText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F21D295C5300B90302 /* AccidentalText.cpp */; }; - 29B965471E7A043D0072071D /* AccidentalTextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F31D295C5300B90302 /* AccidentalTextAttributes.cpp */; }; - 29B965481E7A043D0072071D /* Accord.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F41D295C5300B90302 /* Accord.cpp */; }; - 29B965491E7A043D0072071D /* AccordAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F51D295C5300B90302 /* AccordAttributes.cpp */; }; - 29B9654A1E7A043D0072071D /* AccordionHigh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F61D295C5300B90302 /* AccordionHigh.cpp */; }; - 29B9654B1E7A043D0072071D /* AccordionLow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F71D295C5300B90302 /* AccordionLow.cpp */; }; - 29B9654C1E7A043D0072071D /* AccordionMiddle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F81D295C5300B90302 /* AccordionMiddle.cpp */; }; - 29B9654D1E7A043D0072071D /* AccordionRegistration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F91D295C5300B90302 /* AccordionRegistration.cpp */; }; - 29B9654E1E7A043D0072071D /* AccordionRegistrationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FA1D295C5300B90302 /* AccordionRegistrationAttributes.cpp */; }; - 29B9654F1E7A043D0072071D /* ActualNotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FB1D295C5300B90302 /* ActualNotes.cpp */; }; - 29B965501E7A043D0072071D /* Alter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FC1D295C5300B90302 /* Alter.cpp */; }; - 29B965511E7A043D0072071D /* Appearance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FD1D295C5300B90302 /* Appearance.cpp */; }; - 29B965521E7A043D0072071D /* Arpeggiate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FE1D295C5300B90302 /* Arpeggiate.cpp */; }; - 29B965531E7A043D0072071D /* ArpeggiateAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FF1D295C5300B90302 /* ArpeggiateAttributes.cpp */; }; - 29B965541E7A043D0072071D /* Arrow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546001D295C5300B90302 /* Arrow.cpp */; }; - 29B965551E7A043D0072071D /* ArrowAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546011D295C5300B90302 /* ArrowAttributes.cpp */; }; - 29B965561E7A043D0072071D /* ArrowDirection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546021D295C5300B90302 /* ArrowDirection.cpp */; }; - 29B965571E7A043D0072071D /* ArrowGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546031D295C5300B90302 /* ArrowGroup.cpp */; }; - 29B965581E7A043D0072071D /* ArrowStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546041D295C5300B90302 /* ArrowStyle.cpp */; }; - 29B965591E7A043D0072071D /* Articulations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546051D295C5300B90302 /* Articulations.cpp */; }; - 29B9655A1E7A043D0072071D /* ArticulationsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546061D295C5300B90302 /* ArticulationsChoice.cpp */; }; - 29B9655B1E7A043D0072071D /* Artificial.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546071D295C5300B90302 /* Artificial.cpp */; }; - 29B9655C1E7A043D0072071D /* AttributesIterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546081D295C5300B90302 /* AttributesIterface.cpp */; }; - 29B9655D1E7A043D0072071D /* Backup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546091D295C5300B90302 /* Backup.cpp */; }; - 29B9655E1E7A043D0072071D /* Barline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460A1D295C5300B90302 /* Barline.cpp */; }; - 29B9655F1E7A043D0072071D /* BarlineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460B1D295C5300B90302 /* BarlineAttributes.cpp */; }; - 29B965601E7A043D0072071D /* Barre.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460C1D295C5300B90302 /* Barre.cpp */; }; - 29B965611E7A043D0072071D /* BarreAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460D1D295C5300B90302 /* BarreAttributes.cpp */; }; - 29B965621E7A043D0072071D /* BarStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460E1D295C5300B90302 /* BarStyle.cpp */; }; - 29B965631E7A043D0072071D /* BarStyleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460F1D295C5300B90302 /* BarStyleAttributes.cpp */; }; - 29B965641E7A043D0072071D /* BasePitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546101D295C5300B90302 /* BasePitch.cpp */; }; - 29B965651E7A043D0072071D /* Bass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546111D295C5300B90302 /* Bass.cpp */; }; - 29B965661E7A043D0072071D /* BassAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546121D295C5300B90302 /* BassAlter.cpp */; }; - 29B965671E7A043D0072071D /* BassAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546131D295C5300B90302 /* BassAlterAttributes.cpp */; }; - 29B965681E7A043D0072071D /* BassStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546141D295C5300B90302 /* BassStep.cpp */; }; - 29B965691E7A043D0072071D /* BassStepAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546151D295C5300B90302 /* BassStepAttributes.cpp */; }; - 29B9656A1E7A043D0072071D /* Beam.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546161D295C5300B90302 /* Beam.cpp */; }; - 29B9656B1E7A043D0072071D /* BeamAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546171D295C5300B90302 /* BeamAttributes.cpp */; }; - 29B9656C1E7A043D0072071D /* Beater.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546181D295C5300B90302 /* Beater.cpp */; }; - 29B9656D1E7A043D0072071D /* BeaterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546191D295C5300B90302 /* BeaterAttributes.cpp */; }; - 29B9656E1E7A043D0072071D /* BeatRepeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461A1D295C5300B90302 /* BeatRepeat.cpp */; }; - 29B9656F1E7A043D0072071D /* BeatRepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461B1D295C5300B90302 /* BeatRepeatAttributes.cpp */; }; - 29B965701E7A043D0072071D /* Beats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461C1D295C5300B90302 /* Beats.cpp */; }; - 29B965711E7A043D0072071D /* BeatType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461D1D295C5300B90302 /* BeatType.cpp */; }; - 29B965721E7A043D0072071D /* BeatUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461E1D295C5300B90302 /* BeatUnit.cpp */; }; - 29B965731E7A043D0072071D /* BeatUnitDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461F1D295C5300B90302 /* BeatUnitDot.cpp */; }; - 29B965741E7A043D0072071D /* BeatUnitGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546201D295C5300B90302 /* BeatUnitGroup.cpp */; }; - 29B965751E7A043D0072071D /* BeatUnitPer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546211D295C5300B90302 /* BeatUnitPer.cpp */; }; - 29B965761E7A043D0072071D /* BeatUnitPerOrNoteRelationNoteChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546221D295C5300B90302 /* BeatUnitPerOrNoteRelationNoteChoice.cpp */; }; - 29B965771E7A043D0072071D /* Bend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546231D295C5300B90302 /* Bend.cpp */; }; - 29B965781E7A043D0072071D /* BendAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546241D295C5300B90302 /* BendAlter.cpp */; }; - 29B965791E7A043D0072071D /* BendAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546251D295C5300B90302 /* BendAttributes.cpp */; }; - 29B9657A1E7A043D0072071D /* BendChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546261D295C5300B90302 /* BendChoice.cpp */; }; - 29B9657B1E7A043D0072071D /* Bookmark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546271D295C5300B90302 /* Bookmark.cpp */; }; - 29B9657C1E7A043D0072071D /* BookmarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546281D295C5300B90302 /* BookmarkAttributes.cpp */; }; - 29B9657D1E7A043D0072071D /* BottomMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546291D295C5300B90302 /* BottomMargin.cpp */; }; - 29B9657E1E7A043D0072071D /* Bracket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462A1D295C5300B90302 /* Bracket.cpp */; }; - 29B9657F1E7A043D0072071D /* BracketAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462B1D295C5300B90302 /* BracketAttributes.cpp */; }; - 29B965801E7A043D0072071D /* BreathMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462C1D295C5300B90302 /* BreathMark.cpp */; }; - 29B965811E7A043D0072071D /* BreathMarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462D1D295C5300B90302 /* BreathMarkAttributes.cpp */; }; - 29B965821E7A043D0072071D /* Caesura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462E1D295C5300B90302 /* Caesura.cpp */; }; - 29B965831E7A043D0072071D /* Cancel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462F1D295C5300B90302 /* Cancel.cpp */; }; - 29B965841E7A043D0072071D /* CancelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546301D295C5300B90302 /* CancelAttributes.cpp */; }; - 29B965851E7A043D0072071D /* Capo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546311D295C5300B90302 /* Capo.cpp */; }; - 29B965861E7A043D0072071D /* Chord.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546321D295C5300B90302 /* Chord.cpp */; }; - 29B965871E7A043D0072071D /* Chromatic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546331D295C5300B90302 /* Chromatic.cpp */; }; - 29B965881E7A043D0072071D /* CircularArrow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546341D295C5300B90302 /* CircularArrow.cpp */; }; - 29B965891E7A043D0072071D /* Clef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546351D295C5300B90302 /* Clef.cpp */; }; - 29B9658A1E7A043D0072071D /* ClefAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546361D295C5300B90302 /* ClefAttributes.cpp */; }; - 29B9658B1E7A043D0072071D /* ClefOctaveChange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546371D295C5300B90302 /* ClefOctaveChange.cpp */; }; - 29B9658C1E7A043D0072071D /* Coda.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546381D295C5300B90302 /* Coda.cpp */; }; - 29B9658D1E7A043D0072071D /* Creator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546391D295C5300B90302 /* Creator.cpp */; }; - 29B9658E1E7A043D0072071D /* CreatorAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463A1D295C5300B90302 /* CreatorAttributes.cpp */; }; - 29B9658F1E7A043D0072071D /* Credit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463B1D295C5300B90302 /* Credit.cpp */; }; - 29B965901E7A043D0072071D /* CreditAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463C1D295C5300B90302 /* CreditAttributes.cpp */; }; - 29B965911E7A043D0072071D /* CreditChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463D1D295C5300B90302 /* CreditChoice.cpp */; }; - 29B965921E7A043D0072071D /* CreditImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463E1D295C5300B90302 /* CreditImage.cpp */; }; - 29B965931E7A043D0072071D /* CreditImageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463F1D295C5300B90302 /* CreditImageAttributes.cpp */; }; - 29B965941E7A043D0072071D /* CreditType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546401D295C5300B90302 /* CreditType.cpp */; }; - 29B965951E7A043D0072071D /* CreditWords.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546411D295C5300B90302 /* CreditWords.cpp */; }; - 29B965961E7A043D0072071D /* CreditWordsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546421D295C5300B90302 /* CreditWordsAttributes.cpp */; }; - 29B965971E7A043D0072071D /* CreditWordsGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546431D295C5300B90302 /* CreditWordsGroup.cpp */; }; - 29B965981E7A043D0072071D /* Cue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546441D295C5300B90302 /* Cue.cpp */; }; - 29B965991E7A043D0072071D /* CueNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546451D295C5300B90302 /* CueNoteGroup.cpp */; }; - 29B9659A1E7A043D0072071D /* Damp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546461D295C5300B90302 /* Damp.cpp */; }; - 29B9659B1E7A043D0072071D /* DampAll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546471D295C5300B90302 /* DampAll.cpp */; }; - 29B9659C1E7A043D0072071D /* Dashes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546481D295C5300B90302 /* Dashes.cpp */; }; - 29B9659D1E7A043D0072071D /* DashesAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546491D295C5300B90302 /* DashesAttributes.cpp */; }; - 29B9659E1E7A043D0072071D /* Defaults.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464A1D295C5300B90302 /* Defaults.cpp */; }; - 29B9659F1E7A043D0072071D /* Degree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464B1D295C5300B90302 /* Degree.cpp */; }; - 29B965A01E7A043D0072071D /* DegreeAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464C1D295C5300B90302 /* DegreeAlter.cpp */; }; - 29B965A11E7A043D0072071D /* DegreeAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464D1D295C5300B90302 /* DegreeAlterAttributes.cpp */; }; - 29B965A21E7A043D0072071D /* DegreeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464E1D295C5300B90302 /* DegreeAttributes.cpp */; }; - 29B965A31E7A043D0072071D /* DegreeType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464F1D295C5300B90302 /* DegreeType.cpp */; }; - 29B965A41E7A043D0072071D /* DegreeTypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546501D295C5300B90302 /* DegreeTypeAttributes.cpp */; }; - 29B965A51E7A043D0072071D /* DegreeValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546511D295C5300B90302 /* DegreeValue.cpp */; }; - 29B965A61E7A043D0072071D /* DegreeValueAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546521D295C5300B90302 /* DegreeValueAttributes.cpp */; }; - 29B965A71E7A043D0072071D /* DelayedInvertedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546531D295C5300B90302 /* DelayedInvertedTurn.cpp */; }; - 29B965A81E7A043D0072071D /* DelayedInvertedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546541D295C5300B90302 /* DelayedInvertedTurnAttributes.cpp */; }; - 29B965A91E7A043D0072071D /* DelayedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546551D295C5300B90302 /* DelayedTurn.cpp */; }; - 29B965AA1E7A043D0072071D /* DelayedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546561D295C5300B90302 /* DelayedTurnAttributes.cpp */; }; - 29B965AB1E7A043D0072071D /* DetachedLegato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546571D295C5300B90302 /* DetachedLegato.cpp */; }; - 29B965AC1E7A043D0072071D /* Diatonic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546581D295C5300B90302 /* Diatonic.cpp */; }; - 29B965AD1E7A043D0072071D /* Direction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546591D295C5300B90302 /* Direction.cpp */; }; - 29B965AE1E7A043D0072071D /* DirectionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465A1D295C5300B90302 /* DirectionAttributes.cpp */; }; - 29B965AF1E7A043D0072071D /* DirectionType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465B1D295C5300B90302 /* DirectionType.cpp */; }; - 29B965B01E7A043D0072071D /* Directive.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465C1D295C5300B90302 /* Directive.cpp */; }; - 29B965B11E7A043D0072071D /* DirectiveAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465D1D295C5300B90302 /* DirectiveAttributes.cpp */; }; - 29B965B21E7A043D0072071D /* DisplayOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465E1D295C5300B90302 /* DisplayOctave.cpp */; }; - 29B965B31E7A043D0072071D /* DisplayStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465F1D295C5300B90302 /* DisplayStep.cpp */; }; - 29B965B41E7A043D0072071D /* DisplayStepOctaveGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546601D295C5300B90302 /* DisplayStepOctaveGroup.cpp */; }; - 29B965B51E7A043D0072071D /* DisplayText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546611D295C5300B90302 /* DisplayText.cpp */; }; - 29B965B61E7A043D0072071D /* DisplayTextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546621D295C5300B90302 /* DisplayTextAttributes.cpp */; }; - 29B965B71E7A043D0072071D /* DisplayTextOrAccidentalText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546631D295C5300B90302 /* DisplayTextOrAccidentalText.cpp */; }; - 29B965B81E7A043D0072071D /* Distance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546641D295C5300B90302 /* Distance.cpp */; }; - 29B965B91E7A043D0072071D /* DistanceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546651D295C5300B90302 /* DistanceAttributes.cpp */; }; - 29B965BA1E7A043D0072071D /* Divisions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546661D295C5300B90302 /* Divisions.cpp */; }; - 29B965BB1E7A043D0072071D /* Doit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546671D295C5300B90302 /* Doit.cpp */; }; - 29B965BC1E7A043D0072071D /* Dot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546681D295C5300B90302 /* Dot.cpp */; }; - 29B965BD1E7A043D0072071D /* Double.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546691D295C5300B90302 /* Double.cpp */; }; - 29B965BE1E7A043D0072071D /* DoubleTongue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466A1D295C5300B90302 /* DoubleTongue.cpp */; }; - 29B965BF1E7A043D0072071D /* DownBow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466B1D295C5300B90302 /* DownBow.cpp */; }; - 29B965C01E7A043D0072071D /* Duration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466C1D295C5300B90302 /* Duration.cpp */; }; - 29B965C11E7A043D0072071D /* Dynamics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466D1D295C5300B90302 /* Dynamics.cpp */; }; - 29B965C21E7A043D0072071D /* DynamicsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466E1D295C5300B90302 /* DynamicsAttributes.cpp */; }; - 29B965C31E7A043D0072071D /* EditorialGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466F1D295C5300B90302 /* EditorialGroup.cpp */; }; - 29B965C41E7A043D0072071D /* EditorialVoiceDirectionGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546701D295C5300B90302 /* EditorialVoiceDirectionGroup.cpp */; }; - 29B965C51E7A043D0072071D /* EditorialVoiceGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546711D295C5300B90302 /* EditorialVoiceGroup.cpp */; }; - 29B965C61E7A043D0072071D /* Effect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546721D295C5300B90302 /* Effect.cpp */; }; - 29B965C71E7A043D0072071D /* Elevation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546731D295C5300B90302 /* Elevation.cpp */; }; - 29B965C81E7A043D0072071D /* Elision.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546741D295C5300B90302 /* Elision.cpp */; }; - 29B965C91E7A043D0072071D /* ElisionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546751D295C5300B90302 /* ElisionAttributes.cpp */; }; - 29B965CA1E7A043D0072071D /* ElisionSyllabicGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546761D295C5300B90302 /* ElisionSyllabicGroup.cpp */; }; - 29B965CB1E7A043D0072071D /* ElisionSyllabicTextGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546771D295C5300B90302 /* ElisionSyllabicTextGroup.cpp */; }; - 29B965CC1E7A043D0072071D /* EmptyFontAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546781D295C5300B90302 /* EmptyFontAttributes.cpp */; }; - 29B965CD1E7A043D0072071D /* EmptyLineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546791D295C5300B90302 /* EmptyLineAttributes.cpp */; }; - 29B965CE1E7A043D0072071D /* EmptyPlacementAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467A1D295C5300B90302 /* EmptyPlacementAttributes.cpp */; }; - 29B965CF1E7A043D0072071D /* EmptyTrillSoundAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467B1D295C5300B90302 /* EmptyTrillSoundAttributes.cpp */; }; - 29B965D01E7A043D0072071D /* Encoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467C1D295C5300B90302 /* Encoder.cpp */; }; - 29B965D11E7A043D0072071D /* EncoderAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467D1D295C5300B90302 /* EncoderAttributes.cpp */; }; - 29B965D21E7A043D0072071D /* Encoding.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2904A4D31D301D5A00A39CC6 /* Encoding.cpp */; }; - 29B965D31E7A043D0072071D /* EncodingChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467E1D295C5300B90302 /* EncodingChoice.cpp */; }; - 29B965D41E7A043D0072071D /* EncodingDate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467F1D295C5300B90302 /* EncodingDate.cpp */; }; - 29B965D51E7A043D0072071D /* EncodingDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546801D295C5300B90302 /* EncodingDescription.cpp */; }; - 29B965D61E7A043D0072071D /* Ending.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546811D295C5300B90302 /* Ending.cpp */; }; - 29B965D71E7A043D0072071D /* EndingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546821D295C5300B90302 /* EndingAttributes.cpp */; }; - 29B965D81E7A043D0072071D /* EndLine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546831D295C5300B90302 /* EndLine.cpp */; }; - 29B965D91E7A043D0072071D /* EndParagraph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546841D295C5300B90302 /* EndParagraph.cpp */; }; - 29B965DA1E7A043D0072071D /* Ensemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546851D295C5300B90302 /* Ensemble.cpp */; }; - 29B965DB1E7A043D0072071D /* Extend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546861D295C5300B90302 /* Extend.cpp */; }; - 29B965DC1E7A043D0072071D /* ExtendAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546871D295C5300B90302 /* ExtendAttributes.cpp */; }; - 29B965DD1E7A043D0072071D /* Eyeglasses.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546881D295C5300B90302 /* Eyeglasses.cpp */; }; - 29B965DE1E7A043D0072071D /* Falloff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546891D295C5300B90302 /* Falloff.cpp */; }; - 29B965DF1E7A043D0072071D /* Feature.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468A1D295C5300B90302 /* Feature.cpp */; }; - 29B965E01E7A043D0072071D /* FeatureAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468B1D295C5300B90302 /* FeatureAttributes.cpp */; }; - 29B965E11E7A043D0072071D /* Fermata.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468C1D295C5300B90302 /* Fermata.cpp */; }; - 29B965E21E7A043D0072071D /* FermataAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468D1D295C5300B90302 /* FermataAttributes.cpp */; }; - 29B965E31E7A043D0072071D /* Fifths.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468E1D295C5300B90302 /* Fifths.cpp */; }; - 29B965E41E7A043D0072071D /* Figure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468F1D295C5300B90302 /* Figure.cpp */; }; - 29B965E51E7A043D0072071D /* FiguredBass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546901D295C5300B90302 /* FiguredBass.cpp */; }; - 29B965E61E7A043D0072071D /* FiguredBassAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546911D295C5300B90302 /* FiguredBassAttributes.cpp */; }; - 29B965E71E7A043D0072071D /* FigureNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546921D295C5300B90302 /* FigureNumber.cpp */; }; - 29B965E81E7A043D0072071D /* FigureNumberAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546931D295C5300B90302 /* FigureNumberAttributes.cpp */; }; - 29B965E91E7A043D0072071D /* Fingering.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546941D295C5300B90302 /* Fingering.cpp */; }; - 29B965EA1E7A043D0072071D /* FingeringAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546951D295C5300B90302 /* FingeringAttributes.cpp */; }; - 29B965EB1E7A043D0072071D /* Fingernails.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546961D295C5300B90302 /* Fingernails.cpp */; }; - 29B965EC1E7A043D0072071D /* FirstFret.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546971D295C5300B90302 /* FirstFret.cpp */; }; - 29B965ED1E7A043D0072071D /* FirstFretAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546981D295C5300B90302 /* FirstFretAttributes.cpp */; }; - 29B965EE1E7A043D0072071D /* Footnote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546991D295C5300B90302 /* Footnote.cpp */; }; - 29B965EF1E7A043D0072071D /* FootnoteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469A1D295C5300B90302 /* FootnoteAttributes.cpp */; }; - 29B965F01E7A043D0072071D /* Forward.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469B1D295C5300B90302 /* Forward.cpp */; }; - 29B965F11E7A043D0072071D /* Frame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469C1D295C5300B90302 /* Frame.cpp */; }; - 29B965F21E7A043D0072071D /* FrameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469D1D295C5300B90302 /* FrameAttributes.cpp */; }; - 29B965F31E7A043D0072071D /* FrameFrets.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469E1D295C5300B90302 /* FrameFrets.cpp */; }; - 29B965F41E7A043D0072071D /* FrameNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469F1D295C5300B90302 /* FrameNote.cpp */; }; - 29B965F51E7A043D0072071D /* FrameStrings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A01D295C5300B90302 /* FrameStrings.cpp */; }; - 29B965F61E7A043D0072071D /* Fret.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A11D295C5300B90302 /* Fret.cpp */; }; - 29B965F71E7A043D0072071D /* FretAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A21D295C5300B90302 /* FretAttributes.cpp */; }; - 29B965F81E7A043D0072071D /* FullNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A31D295C5300B90302 /* FullNoteGroup.cpp */; }; - 29B965F91E7A043D0072071D /* FullNoteTypeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A41D295C5300B90302 /* FullNoteTypeChoice.cpp */; }; - 29B965FA1E7A043D0072071D /* Function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A51D295C5300B90302 /* Function.cpp */; }; - 29B965FB1E7A043D0072071D /* FunctionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A61D295C5300B90302 /* FunctionAttributes.cpp */; }; - 29B965FC1E7A043D0072071D /* Glass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A71D295C5300B90302 /* Glass.cpp */; }; - 29B965FD1E7A043D0072071D /* Glissando.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A81D295C5300B90302 /* Glissando.cpp */; }; - 29B965FE1E7A043D0072071D /* GlissandoAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A91D295C5300B90302 /* GlissandoAttributes.cpp */; }; - 29B965FF1E7A043D0072071D /* Grace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AA1D295C5300B90302 /* Grace.cpp */; }; - 29B966001E7A043D0072071D /* GraceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AB1D295C5300B90302 /* GraceAttributes.cpp */; }; - 29B966011E7A043D0072071D /* GraceNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AC1D295C5300B90302 /* GraceNoteGroup.cpp */; }; - 29B966021E7A043D0072071D /* Group.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AD1D295C5300B90302 /* Group.cpp */; }; - 29B966031E7A043D0072071D /* GroupAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AE1D295C5300B90302 /* GroupAbbreviation.cpp */; }; - 29B966041E7A043D0072071D /* GroupAbbreviationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AF1D295C5300B90302 /* GroupAbbreviationAttributes.cpp */; }; - 29B966051E7A043D0072071D /* GroupAbbreviationDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B01D295C5300B90302 /* GroupAbbreviationDisplay.cpp */; }; - 29B966061E7A043D0072071D /* GroupAbbreviationDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B11D295C5300B90302 /* GroupAbbreviationDisplayAttributes.cpp */; }; - 29B966071E7A043D0072071D /* GroupBarline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B21D295C5300B90302 /* GroupBarline.cpp */; }; - 29B966081E7A043D0072071D /* GroupBarlineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B31D295C5300B90302 /* GroupBarlineAttributes.cpp */; }; - 29B966091E7A043D0072071D /* Grouping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B41D295C5300B90302 /* Grouping.cpp */; }; - 29B9660A1E7A043D0072071D /* GroupingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B51D295C5300B90302 /* GroupingAttributes.cpp */; }; - 29B9660B1E7A043D0072071D /* GroupName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B61D295C5300B90302 /* GroupName.cpp */; }; - 29B9660C1E7A043D0072071D /* GroupNameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B71D295C5300B90302 /* GroupNameAttributes.cpp */; }; - 29B9660D1E7A043D0072071D /* GroupNameDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B81D295C5300B90302 /* GroupNameDisplay.cpp */; }; - 29B9660E1E7A043D0072071D /* GroupNameDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B91D295C5300B90302 /* GroupNameDisplayAttributes.cpp */; }; - 29B9660F1E7A043D0072071D /* GroupSymbol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BA1D295C5300B90302 /* GroupSymbol.cpp */; }; - 29B966101E7A043D0072071D /* GroupSymbolAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BB1D295C5300B90302 /* GroupSymbolAttributes.cpp */; }; - 29B966111E7A043D0072071D /* GroupTime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BC1D295C5300B90302 /* GroupTime.cpp */; }; - 29B966121E7A043D0072071D /* HammerOn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BD1D295C5300B90302 /* HammerOn.cpp */; }; - 29B966131E7A043D0072071D /* HammerOnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BE1D295C5300B90302 /* HammerOnAttributes.cpp */; }; - 29B966141E7A043D0072071D /* Handbell.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BF1D295C5300B90302 /* Handbell.cpp */; }; - 29B966151E7A043D0072071D /* HandbellAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C01D295C5300B90302 /* HandbellAttributes.cpp */; }; - 29B966161E7A043D0072071D /* Harmonic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C11D295C5300B90302 /* Harmonic.cpp */; }; - 29B966171E7A043D0072071D /* HarmonicAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C21D295C5300B90302 /* HarmonicAttributes.cpp */; }; - 29B966181E7A043D0072071D /* HarmonicInfoChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C31D295C5300B90302 /* HarmonicInfoChoice.cpp */; }; - 29B966191E7A043D0072071D /* HarmonicTypeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C41D295C5300B90302 /* HarmonicTypeChoice.cpp */; }; - 29B9661A1E7A043D0072071D /* Harmony.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C51D295C5300B90302 /* Harmony.cpp */; }; - 29B9661B1E7A043D0072071D /* HarmonyAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C61D295C5300B90302 /* HarmonyAttributes.cpp */; }; - 29B9661C1E7A043D0072071D /* HarmonyChordGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C71D295C5300B90302 /* HarmonyChordGroup.cpp */; }; - 29B9661D1E7A043D0072071D /* HarpPedals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C81D295C5300B90302 /* HarpPedals.cpp */; }; - 29B9661E1E7A043D0072071D /* HarpPedalsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C91D295C5300B90302 /* HarpPedalsAttributes.cpp */; }; - 29B9661F1E7A043D0072071D /* Heel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CA1D295C5300B90302 /* Heel.cpp */; }; - 29B966201E7A043D0072071D /* HeelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CB1D295C5300B90302 /* HeelAttributes.cpp */; }; - 29B966211E7A043D0072071D /* Hole.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CC1D295C5300B90302 /* Hole.cpp */; }; - 29B966221E7A043D0072071D /* HoleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CD1D295C5300B90302 /* HoleAttributes.cpp */; }; - 29B966231E7A043D0072071D /* HoleClosed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CE1D295C5300B90302 /* HoleClosed.cpp */; }; - 29B966241E7A043D0072071D /* HoleClosedAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CF1D295C5300B90302 /* HoleClosedAttributes.cpp */; }; - 29B966251E7A043D0072071D /* HoleShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D01D295C5300B90302 /* HoleShape.cpp */; }; - 29B966261E7A043D0072071D /* HoleType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D11D295C5300B90302 /* HoleType.cpp */; }; - 29B966271E7A043D0072071D /* Humming.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D21D295C5300B90302 /* Humming.cpp */; }; - 29B966281E7A043D0072071D /* Identification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D31D295C5300B90302 /* Identification.cpp */; }; - 29B966291E7A043D0072071D /* Image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D41D295C5300B90302 /* Image.cpp */; }; - 29B9662A1E7A043D0072071D /* ImageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D51D295C5300B90302 /* ImageAttributes.cpp */; }; - 29B9662B1E7A043D0072071D /* Instrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D61D295C5300B90302 /* Instrument.cpp */; }; - 29B9662C1E7A043D0072071D /* InstrumentAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D71D295C5300B90302 /* InstrumentAbbreviation.cpp */; }; - 29B9662D1E7A043D0072071D /* InstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D81D295C5300B90302 /* InstrumentAttributes.cpp */; }; - 29B9662E1E7A043D0072071D /* InstrumentName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D91D295C5300B90302 /* InstrumentName.cpp */; }; - 29B9662F1E7A043D0072071D /* Instruments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DA1D295C5300B90302 /* Instruments.cpp */; }; - 29B966301E7A043D0072071D /* InstrumentSound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DB1D295C5300B90302 /* InstrumentSound.cpp */; }; - 29B966311E7A043D0072071D /* Interchangeable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DC1D295C5300B90302 /* Interchangeable.cpp */; }; - 29B966321E7A043D0072071D /* InterchangeableAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DD1D295C5300B90302 /* InterchangeableAttributes.cpp */; }; - 29B966331E7A043D0072071D /* Inversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DE1D295C5300B90302 /* Inversion.cpp */; }; - 29B966341E7A043D0072071D /* InversionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DF1D295C5300B90302 /* InversionAttributes.cpp */; }; - 29B966351E7A043D0072071D /* InvertedMordent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E01D295C5300B90302 /* InvertedMordent.cpp */; }; - 29B966361E7A043D0072071D /* InvertedMordentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E11D295C5300B90302 /* InvertedMordentAttributes.cpp */; }; - 29B966371E7A043D0072071D /* InvertedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E21D295C5300B90302 /* InvertedTurn.cpp */; }; - 29B966381E7A043D0072071D /* InvertedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E31D295C5300B90302 /* InvertedTurnAttributes.cpp */; }; - 29B966391E7A043D0072071D /* Ipa.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E41D295C5300B90302 /* Ipa.cpp */; }; - 29B9663A1E7A043D0072071D /* Key.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E51D295C5300B90302 /* Key.cpp */; }; - 29B9663B1E7A043D0072071D /* KeyAccidental.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E61D295C5300B90302 /* KeyAccidental.cpp */; }; - 29B9663C1E7A043D0072071D /* KeyAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E71D295C5300B90302 /* KeyAlter.cpp */; }; - 29B9663D1E7A043D0072071D /* KeyAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E81D295C5300B90302 /* KeyAttributes.cpp */; }; - 29B9663E1E7A043D0072071D /* KeyChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E91D295C5300B90302 /* KeyChoice.cpp */; }; - 29B9663F1E7A043D0072071D /* KeyOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EA1D295C5300B90302 /* KeyOctave.cpp */; }; - 29B966401E7A043D0072071D /* KeyOctaveAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EB1D295C5300B90302 /* KeyOctaveAttributes.cpp */; }; - 29B966411E7A043D0072071D /* KeyStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EC1D295C5300B90302 /* KeyStep.cpp */; }; - 29B966421E7A043D0072071D /* Kind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546ED1D295C5300B90302 /* Kind.cpp */; }; - 29B966431E7A043D0072071D /* KindAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EE1D295C5300B90302 /* KindAttributes.cpp */; }; - 29B966441E7A043D0072071D /* Laughing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EF1D295C5300B90302 /* Laughing.cpp */; }; - 29B966451E7A043D0072071D /* LayoutGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F01D295C5300B90302 /* LayoutGroup.cpp */; }; - 29B966461E7A043D0072071D /* LeftDivider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F11D295C5300B90302 /* LeftDivider.cpp */; }; - 29B966471E7A043D0072071D /* LeftMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F21D295C5300B90302 /* LeftMargin.cpp */; }; - 29B966481E7A043D0072071D /* Level.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F31D295C5300B90302 /* Level.cpp */; }; - 29B966491E7A043D0072071D /* LevelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F41D295C5300B90302 /* LevelAttributes.cpp */; }; - 29B9664A1E7A043D0072071D /* Line.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F51D295C5300B90302 /* Line.cpp */; }; - 29B9664B1E7A043D0072071D /* LineWidth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F61D295C5300B90302 /* LineWidth.cpp */; }; - 29B9664C1E7A043D0072071D /* LineWidthAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F71D295C5300B90302 /* LineWidthAttributes.cpp */; }; - 29B9664D1E7A043D0072071D /* Link.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F81D295C5300B90302 /* Link.cpp */; }; - 29B9664E1E7A043D0072071D /* LinkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F91D295C5300B90302 /* LinkAttributes.cpp */; }; - 29B9664F1E7A043D0072071D /* Lyric.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FA1D295C5300B90302 /* Lyric.cpp */; }; - 29B966501E7A043D0072071D /* LyricAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FB1D295C5300B90302 /* LyricAttributes.cpp */; }; - 29B966511E7A043D0072071D /* LyricFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FC1D295C5300B90302 /* LyricFont.cpp */; }; - 29B966521E7A043D0072071D /* LyricFontAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FD1D295C5300B90302 /* LyricFontAttributes.cpp */; }; - 29B966531E7A043D0072071D /* LyricLanguage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FE1D295C5300B90302 /* LyricLanguage.cpp */; }; - 29B966541E7A043D0072071D /* LyricLanguageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FF1D295C5300B90302 /* LyricLanguageAttributes.cpp */; }; - 29B966551E7A043D0072071D /* LyricTextChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547001D295C5300B90302 /* LyricTextChoice.cpp */; }; - 29B966561E7A043D0072071D /* MeasureAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547011D295C5300B90302 /* MeasureAttributes.cpp */; }; - 29B966571E7A043D0072071D /* MeasureDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547021D295C5300B90302 /* MeasureDistance.cpp */; }; - 29B966581E7A043D0072071D /* MeasureLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547031D295C5300B90302 /* MeasureLayout.cpp */; }; - 29B966591E7A043D0072071D /* MeasureNumbering.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547041D295C5300B90302 /* MeasureNumbering.cpp */; }; - 29B9665A1E7A043D0072071D /* MeasureNumberingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547051D295C5300B90302 /* MeasureNumberingAttributes.cpp */; }; - 29B9665B1E7A043D0072071D /* MeasureRepeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547061D295C5300B90302 /* MeasureRepeat.cpp */; }; - 29B9665C1E7A043D0072071D /* MeasureRepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547071D295C5300B90302 /* MeasureRepeatAttributes.cpp */; }; - 29B9665D1E7A043D0072071D /* MeasureStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547081D295C5300B90302 /* MeasureStyle.cpp */; }; - 29B9665E1E7A043D0072071D /* MeasureStyleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547091D295C5300B90302 /* MeasureStyleAttributes.cpp */; }; - 29B9665F1E7A043D0072071D /* MeasureStyleChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470A1D295C5300B90302 /* MeasureStyleChoice.cpp */; }; - 29B966601E7A043D0072071D /* Membrane.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470B1D295C5300B90302 /* Membrane.cpp */; }; - 29B966611E7A043D0072071D /* Metal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470C1D295C5300B90302 /* Metal.cpp */; }; - 29B966621E7A043D0072071D /* Metronome.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470D1D295C5300B90302 /* Metronome.cpp */; }; - 29B966631E7A043D0072071D /* MetronomeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470E1D295C5300B90302 /* MetronomeAttributes.cpp */; }; - 29B966641E7A043D0072071D /* MetronomeBeam.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470F1D295C5300B90302 /* MetronomeBeam.cpp */; }; - 29B966651E7A043D0072071D /* MetronomeBeamAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547101D295C5300B90302 /* MetronomeBeamAttributes.cpp */; }; - 29B966661E7A043D0072071D /* MetronomeDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547111D295C5300B90302 /* MetronomeDot.cpp */; }; - 29B966671E7A043D0072071D /* MetronomeNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547121D295C5300B90302 /* MetronomeNote.cpp */; }; - 29B966681E7A043D0072071D /* MetronomeRelation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547131D295C5300B90302 /* MetronomeRelation.cpp */; }; - 29B966691E7A043D0072071D /* MetronomeRelationGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547141D295C5300B90302 /* MetronomeRelationGroup.cpp */; }; - 29B9666A1E7A043D0072071D /* MetronomeTuplet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547151D295C5300B90302 /* MetronomeTuplet.cpp */; }; - 29B9666B1E7A043D0072071D /* MetronomeTupletAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547161D295C5300B90302 /* MetronomeTupletAttributes.cpp */; }; - 29B9666C1E7A043D0072071D /* MetronomeType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547171D295C5300B90302 /* MetronomeType.cpp */; }; - 29B9666D1E7A043D0072071D /* MidiBank.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547181D295C5300B90302 /* MidiBank.cpp */; }; - 29B9666E1E7A043D0072071D /* MidiChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547191D295C5300B90302 /* MidiChannel.cpp */; }; - 29B9666F1E7A043D0072071D /* MidiDevice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471A1D295C5300B90302 /* MidiDevice.cpp */; }; - 29B966701E7A043D0072071D /* MidiDeviceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471B1D295C5300B90302 /* MidiDeviceAttributes.cpp */; }; - 29B966711E7A043D0072071D /* MidiDeviceInstrumentGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471C1D295C5300B90302 /* MidiDeviceInstrumentGroup.cpp */; }; - 29B966721E7A043D0072071D /* MidiInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471D1D295C5300B90302 /* MidiInstrument.cpp */; }; - 29B966731E7A043D0072071D /* MidiInstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471E1D295C5300B90302 /* MidiInstrumentAttributes.cpp */; }; - 29B966741E7A043D0072071D /* MidiName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471F1D295C5300B90302 /* MidiName.cpp */; }; - 29B966751E7A043D0072071D /* MidiProgram.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547201D295C5300B90302 /* MidiProgram.cpp */; }; - 29B966761E7A043D0072071D /* MidiUnpitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547211D295C5300B90302 /* MidiUnpitched.cpp */; }; - 29B966771E7A043D0072071D /* Millimeters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547221D295C5300B90302 /* Millimeters.cpp */; }; - 29B966781E7A043D0072071D /* Miscellaneous.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547231D295C5300B90302 /* Miscellaneous.cpp */; }; - 29B966791E7A043D0072071D /* MiscellaneousField.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547241D295C5300B90302 /* MiscellaneousField.cpp */; }; - 29B9667A1E7A043D0072071D /* MiscellaneousFieldAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547251D295C5300B90302 /* MiscellaneousFieldAttributes.cpp */; }; - 29B9667B1E7A043D0072071D /* Mode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547261D295C5300B90302 /* Mode.cpp */; }; - 29B9667C1E7A043D0072071D /* Mordent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547271D295C5300B90302 /* Mordent.cpp */; }; - 29B9667D1E7A043D0072071D /* MordentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547281D295C5300B90302 /* MordentAttributes.cpp */; }; - 29B9667E1E7A043D0072071D /* MovementNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547291D295C5300B90302 /* MovementNumber.cpp */; }; - 29B9667F1E7A043D0072071D /* MovementTitle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472A1D295C5300B90302 /* MovementTitle.cpp */; }; - 29B966801E7A043D0072071D /* MultipleRest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472B1D295C5300B90302 /* MultipleRest.cpp */; }; - 29B966811E7A043D0072071D /* MultipleRestAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472C1D295C5400B90302 /* MultipleRestAttributes.cpp */; }; - 29B966821E7A043D0072071D /* MusicDataChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472D1D295C5400B90302 /* MusicDataChoice.cpp */; }; - 29B966831E7A043D0072071D /* MusicDataGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472E1D295C5400B90302 /* MusicDataGroup.cpp */; }; - 29B966841E7A043D0072071D /* MusicFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472F1D295C5400B90302 /* MusicFont.cpp */; }; - 29B966851E7A043D0072071D /* Mute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547301D295C5400B90302 /* Mute.cpp */; }; - 29B966861E7A043D0072071D /* Natural.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547311D295C5400B90302 /* Natural.cpp */; }; - 29B966871E7A043D0072071D /* NonArpeggiate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547321D295C5400B90302 /* NonArpeggiate.cpp */; }; - 29B966881E7A043D0072071D /* NonArpeggiateAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547331D295C5400B90302 /* NonArpeggiateAttributes.cpp */; }; - 29B966891E7A043D0072071D /* NonTraditionalKey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547341D295C5400B90302 /* NonTraditionalKey.cpp */; }; - 29B9668A1E7A043D0072071D /* NormalDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547351D295C5400B90302 /* NormalDot.cpp */; }; - 29B9668B1E7A043D0072071D /* NormalNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547361D295C5400B90302 /* NormalNoteGroup.cpp */; }; - 29B9668C1E7A043D0072071D /* NormalNotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547371D295C5400B90302 /* NormalNotes.cpp */; }; - 29B9668D1E7A043D0072071D /* NormalType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547381D295C5400B90302 /* NormalType.cpp */; }; - 29B9668E1E7A043D0072071D /* NormalTypeNormalDotGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547391D295C5400B90302 /* NormalTypeNormalDotGroup.cpp */; }; - 29B9668F1E7A043D0072071D /* Notations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473A1D295C5400B90302 /* Notations.cpp */; }; - 29B966901E7A043D0072071D /* NotationsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473B1D295C5400B90302 /* NotationsAttributes.cpp */; }; - 29B966911E7A043D0072071D /* NotationsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473C1D295C5400B90302 /* NotationsChoice.cpp */; }; - 29B966921E7A043D0072071D /* Note.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473D1D295C5400B90302 /* Note.cpp */; }; - 29B966931E7A043D0072071D /* NoteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473E1D295C5400B90302 /* NoteAttributes.cpp */; }; - 29B966941E7A043D0072071D /* NoteChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473F1D295C5400B90302 /* NoteChoice.cpp */; }; - 29B966951E7A043D0072071D /* Notehead.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547401D295C5400B90302 /* Notehead.cpp */; }; - 29B966961E7A043D0072071D /* NoteheadAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547411D295C5400B90302 /* NoteheadAttributes.cpp */; }; - 29B966971E7A043D0072071D /* NoteheadText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547421D295C5400B90302 /* NoteheadText.cpp */; }; - 29B966981E7A043D0072071D /* NoteheadTextChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 295C49361D2CB41E0015E349 /* NoteheadTextChoice.cpp */; }; - 29B966991E7A043D0072071D /* NoteRelationNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547431D295C5400B90302 /* NoteRelationNote.cpp */; }; - 29B9669A1E7A043D0072071D /* NoteSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547441D295C5400B90302 /* NoteSize.cpp */; }; - 29B9669B1E7A043D0072071D /* NoteSizeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547451D295C5400B90302 /* NoteSizeAttributes.cpp */; }; - 29B9669C1E7A043D0072071D /* Octave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547461D295C5400B90302 /* Octave.cpp */; }; - 29B9669D1E7A043D0072071D /* OctaveChange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547471D295C5400B90302 /* OctaveChange.cpp */; }; - 29B9669E1E7A043D0072071D /* OctaveShift.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547481D295C5400B90302 /* OctaveShift.cpp */; }; - 29B9669F1E7A043D0072071D /* OctaveShiftAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547491D295C5400B90302 /* OctaveShiftAttributes.cpp */; }; - 29B966A01E7A043D0072071D /* Offset.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474A1D295C5400B90302 /* Offset.cpp */; }; - 29B966A11E7A043D0072071D /* OffsetAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474B1D295C5400B90302 /* OffsetAttributes.cpp */; }; - 29B966A21E7A043D0072071D /* OpenString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474C1D295C5400B90302 /* OpenString.cpp */; }; - 29B966A31E7A043D0072071D /* Opus.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474D1D295C5400B90302 /* Opus.cpp */; }; - 29B966A41E7A043D0072071D /* OpusAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474E1D295C5400B90302 /* OpusAttributes.cpp */; }; - 29B966A51E7A043D0072071D /* Ornaments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474F1D295C5400B90302 /* Ornaments.cpp */; }; - 29B966A61E7A043D0072071D /* OrnamentsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547501D295C5400B90302 /* OrnamentsChoice.cpp */; }; - 29B966A71E7A043D0072071D /* OtherAppearance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547511D295C5400B90302 /* OtherAppearance.cpp */; }; - 29B966A81E7A043D0072071D /* OtherAppearanceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547521D295C5400B90302 /* OtherAppearanceAttributes.cpp */; }; - 29B966A91E7A043D0072071D /* OtherArticulation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547531D295C5400B90302 /* OtherArticulation.cpp */; }; - 29B966AA1E7A043D0072071D /* OtherArticulationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547541D295C5400B90302 /* OtherArticulationAttributes.cpp */; }; - 29B966AB1E7A043D0072071D /* OtherDirection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547551D295C5400B90302 /* OtherDirection.cpp */; }; - 29B966AC1E7A043D0072071D /* OtherDirectionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547561D295C5400B90302 /* OtherDirectionAttributes.cpp */; }; - 29B966AD1E7A043D0072071D /* OtherNotation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547571D295C5400B90302 /* OtherNotation.cpp */; }; - 29B966AE1E7A043D0072071D /* OtherNotationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547581D295C5400B90302 /* OtherNotationAttributes.cpp */; }; - 29B966AF1E7A043D0072071D /* OtherOrnament.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547591D295C5400B90302 /* OtherOrnament.cpp */; }; - 29B966B01E7A043D0072071D /* OtherOrnamentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475A1D295C5400B90302 /* OtherOrnamentAttributes.cpp */; }; - 29B966B11E7A043D0072071D /* OtherPercussion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475B1D295C5400B90302 /* OtherPercussion.cpp */; }; - 29B966B21E7A043D0072071D /* OtherPlay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475C1D295C5400B90302 /* OtherPlay.cpp */; }; - 29B966B31E7A043D0072071D /* OtherPlayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475D1D295C5400B90302 /* OtherPlayAttributes.cpp */; }; - 29B966B41E7A043D0072071D /* OtherTechnical.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475E1D295C5400B90302 /* OtherTechnical.cpp */; }; - 29B966B51E7A043D0072071D /* OtherTechnicalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475F1D295C5400B90302 /* OtherTechnicalAttributes.cpp */; }; - 29B966B61E7A043D0072071D /* PageHeight.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547601D295C5400B90302 /* PageHeight.cpp */; }; - 29B966B71E7A043D0072071D /* PageLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547611D295C5400B90302 /* PageLayout.cpp */; }; - 29B966B81E7A043D0072071D /* PageMargins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547621D295C5400B90302 /* PageMargins.cpp */; }; - 29B966B91E7A043D0072071D /* PageMarginsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547631D295C5400B90302 /* PageMarginsAttributes.cpp */; }; - 29B966BA1E7A043D0072071D /* PageWidth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547641D295C5400B90302 /* PageWidth.cpp */; }; - 29B966BB1E7A043D0072071D /* Pan.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547651D295C5400B90302 /* Pan.cpp */; }; - 29B966BC1E7A043D0072071D /* PartAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547661D295C5400B90302 /* PartAbbreviation.cpp */; }; - 29B966BD1E7A043D0072071D /* PartAbbreviationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547671D295C5400B90302 /* PartAbbreviationAttributes.cpp */; }; - 29B966BE1E7A043D0072071D /* PartAbbreviationDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547681D295C5400B90302 /* PartAbbreviationDisplay.cpp */; }; - 29B966BF1E7A043D0072071D /* PartAbbreviationDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547691D295C5400B90302 /* PartAbbreviationDisplayAttributes.cpp */; }; - 29B966C01E7A043D0072071D /* PartAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476A1D295C5400B90302 /* PartAttributes.cpp */; }; - 29B966C11E7A043D0072071D /* PartGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476B1D295C5400B90302 /* PartGroup.cpp */; }; - 29B966C21E7A043D0072071D /* PartGroupAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476C1D295C5400B90302 /* PartGroupAttributes.cpp */; }; - 29B966C31E7A043D0072071D /* PartGroupOrScorePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476D1D295C5400B90302 /* PartGroupOrScorePart.cpp */; }; - 29B966C41E7A043D0072071D /* PartList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476E1D295C5400B90302 /* PartList.cpp */; }; - 29B966C51E7A043D0072071D /* PartName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476F1D295C5400B90302 /* PartName.cpp */; }; - 29B966C61E7A043D0072071D /* PartNameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547701D295C5400B90302 /* PartNameAttributes.cpp */; }; - 29B966C71E7A043D0072071D /* PartNameDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547711D295C5400B90302 /* PartNameDisplay.cpp */; }; - 29B966C81E7A043D0072071D /* PartNameDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547721D295C5400B90302 /* PartNameDisplayAttributes.cpp */; }; - 29B966C91E7A043D0072071D /* PartSymbol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547731D295C5400B90302 /* PartSymbol.cpp */; }; - 29B966CA1E7A043D0072071D /* PartSymbolAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547741D295C5400B90302 /* PartSymbolAttributes.cpp */; }; - 29B966CB1E7A043D0072071D /* PartwiseMeasure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547751D295C5400B90302 /* PartwiseMeasure.cpp */; }; - 29B966CC1E7A043D0072071D /* PartwisePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547761D295C5400B90302 /* PartwisePart.cpp */; }; - 29B966CD1E7A043D0072071D /* Pedal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547771D295C5400B90302 /* Pedal.cpp */; }; - 29B966CE1E7A043D0072071D /* PedalAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547781D295C5400B90302 /* PedalAlter.cpp */; }; - 29B966CF1E7A043D0072071D /* PedalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547791D295C5400B90302 /* PedalAttributes.cpp */; }; - 29B966D01E7A043D0072071D /* PedalStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477A1D295C5400B90302 /* PedalStep.cpp */; }; - 29B966D11E7A043E0072071D /* PedalTuning.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477B1D295C5400B90302 /* PedalTuning.cpp */; }; - 29B966D21E7A043E0072071D /* Percussion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477C1D295C5400B90302 /* Percussion.cpp */; }; - 29B966D31E7A043E0072071D /* PercussionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477D1D295C5400B90302 /* PercussionAttributes.cpp */; }; - 29B966D41E7A043E0072071D /* PercussionChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477E1D295C5400B90302 /* PercussionChoice.cpp */; }; - 29B966D51E7A043E0072071D /* PerMinute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477F1D295C5400B90302 /* PerMinute.cpp */; }; - 29B966D61E7A043E0072071D /* PerMinuteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547801D295C5400B90302 /* PerMinuteAttributes.cpp */; }; - 29B966D71E7A043E0072071D /* PerMinuteOrBeatUnitChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547811D295C5400B90302 /* PerMinuteOrBeatUnitChoice.cpp */; }; - 29B966D81E7A043E0072071D /* Pitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547821D295C5400B90302 /* Pitch.cpp */; }; - 29B966D91E7A043E0072071D /* Pitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547831D295C5400B90302 /* Pitched.cpp */; }; - 29B966DA1E7A043E0072071D /* Play.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547841D295C5400B90302 /* Play.cpp */; }; - 29B966DB1E7A043E0072071D /* PlayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547851D295C5400B90302 /* PlayAttributes.cpp */; }; - 29B966DC1E7A043E0072071D /* Plop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547861D295C5400B90302 /* Plop.cpp */; }; - 29B966DD1E7A043E0072071D /* Pluck.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547871D295C5400B90302 /* Pluck.cpp */; }; - 29B966DE1E7A043E0072071D /* PluckAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547881D295C5400B90302 /* PluckAttributes.cpp */; }; - 29B966DF1E7A043E0072071D /* PreBend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547891D295C5400B90302 /* PreBend.cpp */; }; - 29B966E01E7A043E0072071D /* Prefix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478A1D295C5400B90302 /* Prefix.cpp */; }; - 29B966E11E7A043E0072071D /* PrefixAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478B1D295C5400B90302 /* PrefixAttributes.cpp */; }; - 29B966E21E7A043E0072071D /* PrincipalVoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478C1D295C5400B90302 /* PrincipalVoice.cpp */; }; - 29B966E31E7A043E0072071D /* PrincipalVoiceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478D1D295C5400B90302 /* PrincipalVoiceAttributes.cpp */; }; - 29B966E41E7A043E0072071D /* Print.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478E1D295C5400B90302 /* Print.cpp */; }; - 29B966E51E7A043E0072071D /* PrintAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478F1D295C5400B90302 /* PrintAttributes.cpp */; }; - 29B966E61E7A043E0072071D /* Properties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547901D295C5400B90302 /* Properties.cpp */; }; - 29B966E71E7A043E0072071D /* PullOff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547911D295C5400B90302 /* PullOff.cpp */; }; - 29B966E81E7A043E0072071D /* PullOffAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547921D295C5400B90302 /* PullOffAttributes.cpp */; }; - 29B966E91E7A043E0072071D /* Rehearsal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547931D295C5400B90302 /* Rehearsal.cpp */; }; - 29B966EA1E7A043E0072071D /* RehearsalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547941D295C5400B90302 /* RehearsalAttributes.cpp */; }; - 29B966EB1E7A043E0072071D /* Relation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547951D295C5400B90302 /* Relation.cpp */; }; - 29B966EC1E7A043E0072071D /* RelationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547961D295C5400B90302 /* RelationAttributes.cpp */; }; - 29B966ED1E7A043E0072071D /* Release.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547971D295C5400B90302 /* Release.cpp */; }; - 29B966EE1E7A043E0072071D /* Repeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547981D295C5400B90302 /* Repeat.cpp */; }; - 29B966EF1E7A043E0072071D /* RepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547991D295C5400B90302 /* RepeatAttributes.cpp */; }; - 29B966F01E7A043E0072071D /* Rest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479A1D295C5400B90302 /* Rest.cpp */; }; - 29B966F11E7A043E0072071D /* RestAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479B1D295C5400B90302 /* RestAttributes.cpp */; }; - 29B966F21E7A043E0072071D /* RightDivider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479C1D295C5400B90302 /* RightDivider.cpp */; }; - 29B966F31E7A043E0072071D /* RightMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479D1D295C5400B90302 /* RightMargin.cpp */; }; - 29B966F41E7A043E0072071D /* Rights.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479E1D295C5400B90302 /* Rights.cpp */; }; - 29B966F51E7A043E0072071D /* RightsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479F1D295C5400B90302 /* RightsAttributes.cpp */; }; - 29B966F61E7A043E0072071D /* Root.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A01D295C5400B90302 /* Root.cpp */; }; - 29B966F71E7A043E0072071D /* RootAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A11D295C5400B90302 /* RootAlter.cpp */; }; - 29B966F81E7A043E0072071D /* RootAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A21D295C5400B90302 /* RootAlterAttributes.cpp */; }; - 29B966F91E7A043E0072071D /* RootStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A31D295C5400B90302 /* RootStep.cpp */; }; - 29B966FA1E7A043E0072071D /* RootStepAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A41D295C5400B90302 /* RootStepAttributes.cpp */; }; - 29B966FB1E7A043E0072071D /* Scaling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A51D295C5400B90302 /* Scaling.cpp */; }; - 29B966FC1E7A043E0072071D /* Schleifer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A61D295C5400B90302 /* Schleifer.cpp */; }; - 29B966FD1E7A043E0072071D /* Scoop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A71D295C5400B90302 /* Scoop.cpp */; }; - 29B966FE1E7A043E0072071D /* Scordatura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A81D295C5400B90302 /* Scordatura.cpp */; }; - 29B966FF1E7A043E0072071D /* ScoreHeaderGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A91D295C5400B90302 /* ScoreHeaderGroup.cpp */; }; - 29B967001E7A043E0072071D /* ScoreInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AA1D295C5400B90302 /* ScoreInstrument.cpp */; }; - 29B967011E7A043E0072071D /* ScoreInstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AB1D295C5400B90302 /* ScoreInstrumentAttributes.cpp */; }; - 29B967021E7A043E0072071D /* ScorePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AC1D295C5400B90302 /* ScorePart.cpp */; }; - 29B967031E7A043E0072071D /* ScorePartAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AD1D295C5400B90302 /* ScorePartAttributes.cpp */; }; - 29B967041E7A043E0072071D /* ScorePartwise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AE1D295C5400B90302 /* ScorePartwise.cpp */; }; - 29B967051E7A043E0072071D /* ScorePartwiseAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AF1D295C5400B90302 /* ScorePartwiseAttributes.cpp */; }; - 29B967061E7A043E0072071D /* ScoreTimewise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B01D295C5400B90302 /* ScoreTimewise.cpp */; }; - 29B967071E7A043E0072071D /* ScoreTimewiseAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B11D295C5400B90302 /* ScoreTimewiseAttributes.cpp */; }; - 29B967081E7A043E0072071D /* Segno.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B21D295C5400B90302 /* Segno.cpp */; }; - 29B967091E7A043E0072071D /* SemiPitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B31D295C5400B90302 /* SemiPitched.cpp */; }; - 29B9670A1E7A043E0072071D /* SenzaMisura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B41D295C5400B90302 /* SenzaMisura.cpp */; }; - 29B9670B1E7A043E0072071D /* Shake.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B51D295C5400B90302 /* Shake.cpp */; }; - 29B9670C1E7A043E0072071D /* Sign.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B61D295C5400B90302 /* Sign.cpp */; }; - 29B9670D1E7A043E0072071D /* Slash.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B71D295C5400B90302 /* Slash.cpp */; }; - 29B9670E1E7A043E0072071D /* SlashAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B81D295C5400B90302 /* SlashAttributes.cpp */; }; - 29B9670F1E7A043E0072071D /* SlashDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B91D295C5400B90302 /* SlashDot.cpp */; }; - 29B967101E7A043E0072071D /* SlashType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BA1D295C5400B90302 /* SlashType.cpp */; }; - 29B967111E7A043E0072071D /* Slide.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BB1D295C5400B90302 /* Slide.cpp */; }; - 29B967121E7A043E0072071D /* SlideAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BC1D295C5400B90302 /* SlideAttributes.cpp */; }; - 29B967131E7A043E0072071D /* Slur.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BD1D295C5400B90302 /* Slur.cpp */; }; - 29B967141E7A043E0072071D /* SlurAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BE1D295C5400B90302 /* SlurAttributes.cpp */; }; - 29B967151E7A043E0072071D /* SnapPizzicato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BF1D295C5400B90302 /* SnapPizzicato.cpp */; }; - 29B967161E7A043E0072071D /* Software.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C01D295C5400B90302 /* Software.cpp */; }; - 29B967171E7A043E0072071D /* Solo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C11D295C5400B90302 /* Solo.cpp */; }; - 29B967181E7A043E0072071D /* SoloOrEnsembleChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C21D295C5400B90302 /* SoloOrEnsembleChoice.cpp */; }; - 29B967191E7A043E0072071D /* Sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C31D295C5400B90302 /* Sound.cpp */; }; - 29B9671A1E7A043E0072071D /* SoundAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C41D295C5400B90302 /* SoundAttributes.cpp */; }; - 29B9671B1E7A043E0072071D /* SoundingPitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C51D295C5400B90302 /* SoundingPitch.cpp */; }; - 29B9671C1E7A043E0072071D /* Source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C61D295C5400B90302 /* Source.cpp */; }; - 29B9671D1E7A043E0072071D /* Spiccato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C71D295C5400B90302 /* Spiccato.cpp */; }; - 29B9671E1E7A043E0072071D /* Staccatissimo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C81D295C5400B90302 /* Staccatissimo.cpp */; }; - 29B9671F1E7A043E0072071D /* Staccato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C91D295C5400B90302 /* Staccato.cpp */; }; - 29B967201E7A043E0072071D /* Staff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CA1D295C5400B90302 /* Staff.cpp */; }; - 29B967211E7A043E0072071D /* StaffDetails.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CB1D295C5400B90302 /* StaffDetails.cpp */; }; - 29B967221E7A043E0072071D /* StaffDetailsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CC1D295C5400B90302 /* StaffDetailsAttributes.cpp */; }; - 29B967231E7A043E0072071D /* StaffDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CD1D295C5400B90302 /* StaffDistance.cpp */; }; - 29B967241E7A043E0072071D /* StaffLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CE1D295C5400B90302 /* StaffLayout.cpp */; }; - 29B967251E7A043E0072071D /* StaffLayoutAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CF1D295C5400B90302 /* StaffLayoutAttributes.cpp */; }; - 29B967261E7A043E0072071D /* StaffLines.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D01D295C5400B90302 /* StaffLines.cpp */; }; - 29B967271E7A043E0072071D /* StaffSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D11D295C5400B90302 /* StaffSize.cpp */; }; - 29B967281E7A043E0072071D /* StaffTuning.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D21D295C5400B90302 /* StaffTuning.cpp */; }; - 29B967291E7A043E0072071D /* StaffTuningAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D31D295C5400B90302 /* StaffTuningAttributes.cpp */; }; - 29B9672A1E7A043E0072071D /* StaffType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D41D295C5400B90302 /* StaffType.cpp */; }; - 29B9672B1E7A043E0072071D /* Staves.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D51D295C5400B90302 /* Staves.cpp */; }; - 29B9672C1E7A043E0072071D /* Stem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D61D295C5400B90302 /* Stem.cpp */; }; - 29B9672D1E7A043E0072071D /* StemAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D71D295C5400B90302 /* StemAttributes.cpp */; }; - 29B9672E1E7A043E0072071D /* Step.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D81D295C5400B90302 /* Step.cpp */; }; - 29B9672F1E7A043E0072071D /* Stick.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D91D295C5400B90302 /* Stick.cpp */; }; - 29B967301E7A043E0072071D /* StickAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DA1D295C5400B90302 /* StickAttributes.cpp */; }; - 29B967311E7A043E0072071D /* StickLocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DB1D295C5400B90302 /* StickLocation.cpp */; }; - 29B967321E7A043E0072071D /* StickMaterial.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DC1D295C5400B90302 /* StickMaterial.cpp */; }; - 29B967331E7A043E0072071D /* StickType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DD1D295C5400B90302 /* StickType.cpp */; }; - 29B967341E7A043E0072071D /* Stopped.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DE1D295C5400B90302 /* Stopped.cpp */; }; - 29B967351E7A043E0072071D /* Stress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DF1D295C5400B90302 /* Stress.cpp */; }; - 29B967361E7A043E0072071D /* String.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E01D295C5400B90302 /* String.cpp */; }; - 29B967371E7A043E0072071D /* StringAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E11D295C5400B90302 /* StringAttributes.cpp */; }; - 29B967381E7A043E0072071D /* StringMute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E21D295C5400B90302 /* StringMute.cpp */; }; - 29B967391E7A043E0072071D /* StringMuteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E31D295C5400B90302 /* StringMuteAttributes.cpp */; }; - 29B9673A1E7A043E0072071D /* StrongAccent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E41D295C5400B90302 /* StrongAccent.cpp */; }; - 29B9673B1E7A043E0072071D /* StrongAccentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E51D295C5400B90302 /* StrongAccentAttributes.cpp */; }; - 29B9673C1E7A043E0072071D /* Suffix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E61D295C5400B90302 /* Suffix.cpp */; }; - 29B9673D1E7A043E0072071D /* SuffixAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E71D295C5400B90302 /* SuffixAttributes.cpp */; }; - 29B9673E1E7A043E0072071D /* Supports.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E81D295C5400B90302 /* Supports.cpp */; }; - 29B9673F1E7A043E0072071D /* SupportsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E91D295C5400B90302 /* SupportsAttributes.cpp */; }; - 29B967401E7A043E0072071D /* Syllabic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EA1D295C5400B90302 /* Syllabic.cpp */; }; - 29B967411E7A043E0072071D /* SyllabicTextGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EB1D295C5400B90302 /* SyllabicTextGroup.cpp */; }; - 29B967421E7A043E0072071D /* SystemDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EC1D295C5400B90302 /* SystemDistance.cpp */; }; - 29B967431E7A043E0072071D /* SystemDividers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547ED1D295C5400B90302 /* SystemDividers.cpp */; }; - 29B967441E7A043E0072071D /* SystemLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EE1D295C5400B90302 /* SystemLayout.cpp */; }; - 29B967451E7A043E0072071D /* SystemMargins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EF1D295C5400B90302 /* SystemMargins.cpp */; }; - 29B967461E7A043E0072071D /* Tap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F01D295C5400B90302 /* Tap.cpp */; }; - 29B967471E7A043E0072071D /* TapAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F11D295C5400B90302 /* TapAttributes.cpp */; }; - 29B967481E7A043E0072071D /* Technical.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F21D295C5400B90302 /* Technical.cpp */; }; - 29B967491E7A043E0072071D /* TechnicalChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F31D295C5400B90302 /* TechnicalChoice.cpp */; }; - 29B9674A1E7A043E0072071D /* Tenths.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F41D295C5400B90302 /* Tenths.cpp */; }; - 29B9674B1E7A043E0072071D /* Tenuto.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F51D295C5400B90302 /* Tenuto.cpp */; }; - 29B9674C1E7A043E0072071D /* Text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F61D295C5400B90302 /* Text.cpp */; }; - 29B9674D1E7A043E0072071D /* TextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F71D295C5400B90302 /* TextAttributes.cpp */; }; - 29B9674E1E7A043E0072071D /* ThumbPosition.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F81D295C5400B90302 /* ThumbPosition.cpp */; }; - 29B9674F1E7A043E0072071D /* Tie.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F91D295C5400B90302 /* Tie.cpp */; }; - 29B967501E7A043E0072071D /* TieAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FA1D295C5400B90302 /* TieAttributes.cpp */; }; - 29B967511E7A043E0072071D /* Tied.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FB1D295C5400B90302 /* Tied.cpp */; }; - 29B967521E7A043E0072071D /* TiedAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FC1D295C5400B90302 /* TiedAttributes.cpp */; }; - 29B967531E7A043E0072071D /* Time.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FD1D295C5400B90302 /* Time.cpp */; }; - 29B967541E7A043E0072071D /* TimeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FE1D295C5400B90302 /* TimeAttributes.cpp */; }; - 29B967551E7A043E0072071D /* TimeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FF1D295C5400B90302 /* TimeChoice.cpp */; }; - 29B967561E7A043E0072071D /* TimeModification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548001D295C5400B90302 /* TimeModification.cpp */; }; - 29B967571E7A043E0072071D /* TimeModificationNormalTypeNormalDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548011D295C5400B90302 /* TimeModificationNormalTypeNormalDot.cpp */; }; - 29B967581E7A043E0072071D /* TimeRelation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548021D295C5400B90302 /* TimeRelation.cpp */; }; - 29B967591E7A043E0072071D /* TimeSignatureGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548031D295C5400B90302 /* TimeSignatureGroup.cpp */; }; - 29B9675A1E7A043E0072071D /* TimewiseMeasure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548041D295C5400B90302 /* TimewiseMeasure.cpp */; }; - 29B9675B1E7A043E0072071D /* TimewisePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548051D295C5400B90302 /* TimewisePart.cpp */; }; - 29B9675C1E7A043E0072071D /* Timpani.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548061D295C5400B90302 /* Timpani.cpp */; }; - 29B9675D1E7A043E0072071D /* Toe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548071D295C5400B90302 /* Toe.cpp */; }; - 29B9675E1E7A043E0072071D /* ToeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548081D295C5400B90302 /* ToeAttributes.cpp */; }; - 29B9675F1E7A043E0072071D /* TopMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548091D295C5400B90302 /* TopMargin.cpp */; }; - 29B967601E7A043E0072071D /* TopSystemDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480A1D295C5400B90302 /* TopSystemDistance.cpp */; }; - 29B967611E7A043E0072071D /* TouchingPitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480B1D295C5400B90302 /* TouchingPitch.cpp */; }; - 29B967621E7A043E0072071D /* TraditionalKey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480C1D295C5400B90302 /* TraditionalKey.cpp */; }; - 29B967631E7A043E0072071D /* Transpose.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480D1D295C5400B90302 /* Transpose.cpp */; }; - 29B967641E7A043E0072071D /* TransposeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480E1D295C5400B90302 /* TransposeAttributes.cpp */; }; - 29B967651E7A043E0072071D /* Tremolo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480F1D295C5400B90302 /* Tremolo.cpp */; }; - 29B967661E7A043E0072071D /* TremoloAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548101D295C5400B90302 /* TremoloAttributes.cpp */; }; - 29B967671E7A043E0072071D /* TrillMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548111D295C5400B90302 /* TrillMark.cpp */; }; - 29B967681E7A043E0072071D /* TripleTongue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548121D295C5400B90302 /* TripleTongue.cpp */; }; - 29B967691E7A043E0072071D /* TuningAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548131D295C5400B90302 /* TuningAlter.cpp */; }; - 29B9676A1E7A043E0072071D /* TuningOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548141D295C5400B90302 /* TuningOctave.cpp */; }; - 29B9676B1E7A043E0072071D /* TuningStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548151D295C5400B90302 /* TuningStep.cpp */; }; - 29B9676C1E7A043E0072071D /* Tuplet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548161D295C5400B90302 /* Tuplet.cpp */; }; - 29B9676D1E7A043E0072071D /* TupletActual.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548171D295C5400B90302 /* TupletActual.cpp */; }; - 29B9676E1E7A043E0072071D /* TupletAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548181D295C5400B90302 /* TupletAttributes.cpp */; }; - 29B9676F1E7A043E0072071D /* TupletDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548191D295C5400B90302 /* TupletDot.cpp */; }; - 29B967701E7A043E0072071D /* TupletDotAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481A1D295C5400B90302 /* TupletDotAttributes.cpp */; }; - 29B967711E7A043E0072071D /* TupletNormal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481B1D295C5400B90302 /* TupletNormal.cpp */; }; - 29B967721E7A043E0072071D /* TupletNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481C1D295C5500B90302 /* TupletNumber.cpp */; }; - 29B967731E7A043E0072071D /* TupletNumberAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481D1D295C5500B90302 /* TupletNumberAttributes.cpp */; }; - 29B967741E7A043E0072071D /* TupletType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481E1D295C5500B90302 /* TupletType.cpp */; }; - 29B967751E7A043E0072071D /* TupletTypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481F1D295C5500B90302 /* TupletTypeAttributes.cpp */; }; - 29B967761E7A043E0072071D /* Turn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548201D295C5500B90302 /* Turn.cpp */; }; - 29B967771E7A043E0072071D /* TurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548211D295C5500B90302 /* TurnAttributes.cpp */; }; - 29B967781E7A043E0072071D /* Type.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548221D295C5500B90302 /* Type.cpp */; }; - 29B967791E7A043E0072071D /* TypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548231D295C5500B90302 /* TypeAttributes.cpp */; }; - 29B9677A1E7A043E0072071D /* Unpitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548241D295C5500B90302 /* Unpitched.cpp */; }; - 29B9677B1E7A043E0072071D /* Unstress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548251D295C5500B90302 /* Unstress.cpp */; }; - 29B9677C1E7A043E0072071D /* UpBow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548261D295C5500B90302 /* UpBow.cpp */; }; - 29B9677D1E7A043E0072071D /* VerticalTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548271D295C5500B90302 /* VerticalTurn.cpp */; }; - 29B9677E1E7A043E0072071D /* VirtualInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548281D295C5500B90302 /* VirtualInstrument.cpp */; }; - 29B9677F1E7A043E0072071D /* VirtualLibrary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548291D295C5500B90302 /* VirtualLibrary.cpp */; }; - 29B967801E7A043E0072071D /* VirtualName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482A1D295C5500B90302 /* VirtualName.cpp */; }; - 29B967811E7A043E0072071D /* Voice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482B1D295C5500B90302 /* Voice.cpp */; }; - 29B967821E7A043E0072071D /* Volume.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482C1D295C5500B90302 /* Volume.cpp */; }; - 29B967831E7A043E0072071D /* WavyLine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482D1D295C5500B90302 /* WavyLine.cpp */; }; - 29B967841E7A043E0072071D /* WavyLineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482E1D295C5500B90302 /* WavyLineAttributes.cpp */; }; - 29B967851E7A043E0072071D /* Wedge.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482F1D295C5500B90302 /* Wedge.cpp */; }; - 29B967861E7A043E0072071D /* WedgeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548301D295C5500B90302 /* WedgeAttributes.cpp */; }; - 29B967871E7A043E0072071D /* WithBar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548311D295C5500B90302 /* WithBar.cpp */; }; - 29B967881E7A043E0072071D /* WithBarAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548321D295C5500B90302 /* WithBarAttributes.cpp */; }; - 29B967891E7A043E0072071D /* Wood.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548331D295C5500B90302 /* Wood.cpp */; }; - 29B9678A1E7A043E0072071D /* WordFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548341D295C5500B90302 /* WordFont.cpp */; }; - 29B9678B1E7A043E0072071D /* Words.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548351D295C5500B90302 /* Words.cpp */; }; - 29B9678C1E7A043E0072071D /* WordsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548361D295C5500B90302 /* WordsAttributes.cpp */; }; - 29B9678D1E7A043E0072071D /* Work.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548371D295C5500B90302 /* Work.cpp */; }; - 29B9678E1E7A043E0072071D /* WorkNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548381D295C5500B90302 /* WorkNumber.cpp */; }; - 29B9678F1E7A043E0072071D /* WorkTitle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548391D295C5500B90302 /* WorkTitle.cpp */; }; - 29B967901E7A043E0072071D /* EmptyPrintObjectStyleAlignAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AF61D130B690094BE61 /* EmptyPrintObjectStyleAlignAttributes.cpp */; }; - 29B967911E7A043E0072071D /* Enums.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AF81D130B690094BE61 /* Enums.cpp */; }; - 29B967921E7A043E0072071D /* FontSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AFA1D130B690094BE61 /* FontSize.cpp */; }; - 29B967931E7A043E0072071D /* FromXElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 295DDE0F1D2C0D4D00A2881D /* FromXElement.cpp */; }; - 29B967941E7A043E0072071D /* Integers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AFC1D130B690094BE61 /* Integers.cpp */; }; - 29B967951E7A043E0072071D /* NumberOrNormal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AFE1D130B690094BE61 /* NumberOrNormal.cpp */; }; - 29B967961E7A043E0072071D /* PositiveIntegerOrEmpty.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B001D130B690094BE61 /* PositiveIntegerOrEmpty.cpp */; }; - 29B967971E7A043E0072071D /* ScoreConversions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2951A0C31D60F3B700B49A13 /* ScoreConversions.cpp */; }; - 29B967981E7A043E0072071D /* Strings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B021D130B690094BE61 /* Strings.cpp */; }; - 29B967991E7A043E0072071D /* YesNoNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B041D130B690094BE61 /* YesNoNumber.cpp */; }; - 29B9679A1E7A043E0072071D /* DynamicsWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29979D651DC830AA00707AA4 /* DynamicsWriter.cpp */; }; - 29B9679B1E7A043E0072071D /* AccidentalMarkFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF2FE91DA307D3001FE5DF /* AccidentalMarkFunctions.cpp */; }; - 29B9679C1E7A043E0072071D /* ArticulationsFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF2F781DA2CC1D001FE5DF /* ArticulationsFunctions.cpp */; }; - 29B9679D1E7A043E0072071D /* Converter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2922CC621D9AF28400F8C9C1 /* Converter.cpp */; }; - 29B9679E1E7A043E0072071D /* Cursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2973065E1D89AB3300B8C0D3 /* Cursor.cpp */; }; - 29B9679F1E7A043E0072071D /* DirectionReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29766ACA1DAC149900CCE2AC /* DirectionReader.cpp */; }; - 29B967A01E7A043E0072071D /* DirectionWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29CD722A1DB82C9200FB7153 /* DirectionWriter.cpp */; }; - 29B967A11E7A043E0072071D /* DynamicsReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF2F7C1DA2D450001FE5DF /* DynamicsReader.cpp */; }; - 29B967A21E7A043E0072071D /* EncodingFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2913BB871D753FC8006C34A3 /* EncodingFunctions.cpp */; }; - 29B967A31E7A043E0072071D /* LayoutFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2913BB891D753FC8006C34A3 /* LayoutFunctions.cpp */; }; - 29B967A41E7A043E0072071D /* LcmGcd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2927ECA61D888AB30042E080 /* LcmGcd.cpp */; }; - 29B967A51E7A043E0072071D /* MeasureReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E2B3C81DA81E9700DC61EA /* MeasureReader.cpp */; }; - 29B967A61E7A043E0072071D /* MeasureWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29B7C4671DAFFDBA009D7D8F /* MeasureWriter.cpp */; }; - 29B967A71E7A043E0072071D /* MetronomeReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29766AC61DAC014300CCE2AC /* MetronomeReader.cpp */; }; - 29B967A81E7A043E0072071D /* NotationsWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29398BAE1DB1917B00475CD5 /* NotationsWriter.cpp */; }; - 29B967A91E7A043E0072071D /* NoteFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2913BB8B1D753FC8006C34A3 /* NoteFunctions.cpp */; }; - 29B967AA1E7A043E0072071D /* NoteReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 297306661D89D08400B8C0D3 /* NoteReader.cpp */; }; - 29B967AB1E7A043E0072071D /* NoteWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29398BA51DB1561200475CD5 /* NoteWriter.cpp */; }; - 29B967AC1E7A043E0072071D /* OrnamentsFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF2FF11DA307D3001FE5DF /* OrnamentsFunctions.cpp */; }; - 29B967AD1E7A043E0072071D /* PageTextFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2913BB8D1D753FC8006C34A3 /* PageTextFunctions.cpp */; }; - 29B967AE1E7A043E0072071D /* PartReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E2B3CA1DA81E9700DC61EA /* PartReader.cpp */; }; - 29B967AF1E7A043E0072071D /* PartWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29CDDA2B1DADCAF30022B1A3 /* PartWriter.cpp */; }; - 29B967B01E7A043E0072071D /* PropertiesWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29CD72261DB806FD00FB7153 /* PropertiesWriter.cpp */; }; - 29B967B11E7A043E0072071D /* ScoreReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C29B841DAEC00C00D3A884 /* ScoreReader.cpp */; }; - 29B967B21E7A043E0072071D /* ScoreWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C29B861DAEC00C00D3A884 /* ScoreWriter.cpp */; }; - 29B967B31E7A043E0072071D /* StaffFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 297DA0721D7F60BE0067C13A /* StaffFunctions.cpp */; }; - 29B967B41E7A043E0072071D /* TechnicalFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF30011DA32E37001FE5DF /* TechnicalFunctions.cpp */; }; - 29B967B51E7A043E0072071D /* TimeReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2927EC9E1D886E460042E080 /* TimeReader.cpp */; }; - 29B967B61E7A043E0072071D /* TupletReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29B4E81F1DA9CD5D005DC6D1 /* TupletReader.cpp */; }; - 29B967B71E7A043E0072071D /* pugixml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B5D1D130BBE0094BE61 /* pugixml.cpp */; }; - 29B967B81E7A043E0072071D /* Utility.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B2D1D130B910094BE61 /* Utility.cpp */; }; - 29B967B91E7A043E0072071D /* UtilityImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B2F1D130B910094BE61 /* UtilityImpl.cpp */; }; - 29B967BA1E7A043E0072071D /* PugiAttribute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1451D18D403001C2A1A /* PugiAttribute.cpp */; }; - 29B967BB1E7A043E0072071D /* PugiAttributeIterImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1471D18D403001C2A1A /* PugiAttributeIterImpl.cpp */; }; - 29B967BC1E7A043E0072071D /* PugiDoc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1491D18D403001C2A1A /* PugiDoc.cpp */; }; - 29B967BD1E7A043E0072071D /* PugiElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D14B1D18D403001C2A1A /* PugiElement.cpp */; }; - 29B967BE1E7A043E0072071D /* PugiElementIterImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D14D1D18D403001C2A1A /* PugiElementIterImpl.cpp */; }; - 29B967BF1E7A043E0072071D /* XAttributeIterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1501D18D403001C2A1A /* XAttributeIterator.cpp */; }; - 29B967C01E7A043E0072071D /* XElementIterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1561D18D403001C2A1A /* XElementIterator.cpp */; }; - 29B967C11E7A043E0072071D /* XFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1591D18D403001C2A1A /* XFactory.cpp */; }; - 29C01B061D130B690094BE61 /* AttributesInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE01D130B690094BE61 /* AttributesInterface.cpp */; }; - 29C01B081D130B690094BE61 /* Color.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE21D130B690094BE61 /* Color.cpp */; }; - 29C01B0A1D130B690094BE61 /* Date.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE41D130B690094BE61 /* Date.cpp */; }; - 29C01B0C1D130B690094BE61 /* Decimals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE61D130B690094BE61 /* Decimals.cpp */; }; - 29C01B0E1D130B690094BE61 /* Document.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE81D130B690094BE61 /* Document.cpp */; }; - 29C01B101D130B690094BE61 /* DocumentHeader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AEA1D130B690094BE61 /* DocumentHeader.cpp */; }; - 29C01B141D130B690094BE61 /* DocumentSpec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AEE1D130B690094BE61 /* DocumentSpec.cpp */; }; - 29C01B181D130B690094BE61 /* ElementInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AF21D130B690094BE61 /* ElementInterface.cpp */; }; - 29C01B1C1D130B690094BE61 /* EmptyPrintObjectStyleAlignAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AF61D130B690094BE61 /* EmptyPrintObjectStyleAlignAttributes.cpp */; }; - 29C01B1E1D130B690094BE61 /* Enums.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AF81D130B690094BE61 /* Enums.cpp */; }; - 29C01B201D130B690094BE61 /* FontSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AFA1D130B690094BE61 /* FontSize.cpp */; }; - 29C01B221D130B690094BE61 /* Integers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AFC1D130B690094BE61 /* Integers.cpp */; }; - 29C01B241D130B690094BE61 /* NumberOrNormal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AFE1D130B690094BE61 /* NumberOrNormal.cpp */; }; - 29C01B261D130B690094BE61 /* PositiveIntegerOrEmpty.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B001D130B690094BE61 /* PositiveIntegerOrEmpty.cpp */; }; - 29C01B281D130B690094BE61 /* Strings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B021D130B690094BE61 /* Strings.cpp */; }; - 29C01B2A1D130B690094BE61 /* YesNoNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B041D130B690094BE61 /* YesNoNumber.cpp */; }; - 29C01B321D130B910094BE61 /* Utility.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B2D1D130B910094BE61 /* Utility.cpp */; }; - 29C01B341D130B910094BE61 /* UtilityImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B2F1D130B910094BE61 /* UtilityImpl.cpp */; }; - 29C01B601D130BBE0094BE61 /* pugixml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B5D1D130BBE0094BE61 /* pugixml.cpp */; }; - 29C175981DC0048700CC48D7 /* OttavaData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29C175971DC0048700CC48D7 /* OttavaData.h */; }; - 29C1759B1DC00FD200CC48D7 /* SpannerFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = 29C175991DC00FD200CC48D7 /* SpannerFunctions.h */; }; - 29C1759C1DC00FD200CC48D7 /* LineFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = 29C1759A1DC00FD200CC48D7 /* LineFunctions.h */; }; - 29C29B881DAEC00C00D3A884 /* ScoreReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C29B841DAEC00C00D3A884 /* ScoreReader.cpp */; }; - 29C29B891DAEC00C00D3A884 /* ScoreReader.h in Headers */ = {isa = PBXBuildFile; fileRef = 29C29B851DAEC00C00D3A884 /* ScoreReader.h */; }; - 29C29B8A1DAEC00C00D3A884 /* ScoreWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C29B861DAEC00C00D3A884 /* ScoreWriter.cpp */; }; - 29C29B8B1DAEC00C00D3A884 /* ScoreWriter.h in Headers */ = {isa = PBXBuildFile; fileRef = 29C29B871DAEC00C00D3A884 /* ScoreWriter.h */; }; - 29C51A1E1D9ED91000EAA308 /* Smufl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C51A1D1D9ED91000EAA308 /* Smufl.cpp */; }; - 29C51A4D1D9F061600EAA308 /* MeasureLocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C51A4C1D9F061600EAA308 /* MeasureLocation.cpp */; }; - 29CD72281DB806FD00FB7153 /* PropertiesWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29CD72261DB806FD00FB7153 /* PropertiesWriter.cpp */; }; - 29CD72291DB806FD00FB7153 /* PropertiesWriter.h in Headers */ = {isa = PBXBuildFile; fileRef = 29CD72271DB806FD00FB7153 /* PropertiesWriter.h */; }; - 29CD722C1DB82C9200FB7153 /* DirectionWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29CD722A1DB82C9200FB7153 /* DirectionWriter.cpp */; }; - 29CD722D1DB82C9200FB7153 /* DirectionWriter.h in Headers */ = {isa = PBXBuildFile; fileRef = 29CD722B1DB82C9200FB7153 /* DirectionWriter.h */; }; - 29CDDA2D1DADCAF30022B1A3 /* PartWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29CDDA2B1DADCAF30022B1A3 /* PartWriter.cpp */; }; - 29CDDA2E1DADCAF30022B1A3 /* PartWriter.h in Headers */ = {isa = PBXBuildFile; fileRef = 29CDDA2C1DADCAF30022B1A3 /* PartWriter.h */; }; - 29DB30A11DA0713200031477 /* MarkData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29DB30A01DA0713200031477 /* MarkData.cpp */; }; - 29E2B4231DA8494900DC61EA /* AccidentalMarkFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF2FE91DA307D3001FE5DF /* AccidentalMarkFunctions.cpp */; }; - 29E2B4251DA8494900DC61EA /* ArticulationsFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF2F781DA2CC1D001FE5DF /* ArticulationsFunctions.cpp */; }; - 29E2B4261DA8494900DC61EA /* Converter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2922CC621D9AF28400F8C9C1 /* Converter.cpp */; }; - 29E2B4271DA8494900DC61EA /* Cursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2973065E1D89AB3300B8C0D3 /* Cursor.cpp */; }; - 29E2B4291DA8494900DC61EA /* DynamicsReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF2F7C1DA2D450001FE5DF /* DynamicsReader.cpp */; }; - 29E2B42A1DA8494900DC61EA /* EncodingFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2913BB871D753FC8006C34A3 /* EncodingFunctions.cpp */; }; - 29E2B42C1DA8494900DC61EA /* LayoutFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2913BB891D753FC8006C34A3 /* LayoutFunctions.cpp */; }; - 29E2B42D1DA8494900DC61EA /* LcmGcd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2927ECA61D888AB30042E080 /* LcmGcd.cpp */; }; - 29E2B42F1DA8494900DC61EA /* MeasureReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E2B3C81DA81E9700DC61EA /* MeasureReader.cpp */; }; - 29E2B4311DA8494900DC61EA /* NoteFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2913BB8B1D753FC8006C34A3 /* NoteFunctions.cpp */; }; - 29E2B4321DA8494900DC61EA /* NoteReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 297306661D89D08400B8C0D3 /* NoteReader.cpp */; }; - 29E2B4331DA8494900DC61EA /* OrnamentsFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF2FF11DA307D3001FE5DF /* OrnamentsFunctions.cpp */; }; - 29E2B4351DA8494900DC61EA /* PageTextFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2913BB8D1D753FC8006C34A3 /* PageTextFunctions.cpp */; }; - 29E2B4371DA8494900DC61EA /* PartReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E2B3CA1DA81E9700DC61EA /* PartReader.cpp */; }; - 29E2B43A1DA8494900DC61EA /* StaffFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 297DA0721D7F60BE0067C13A /* StaffFunctions.cpp */; }; - 29E2B43B1DA8494900DC61EA /* TechnicalFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF30011DA32E37001FE5DF /* TechnicalFunctions.cpp */; }; - 29E2B43C1DA8494900DC61EA /* TimeReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2927EC9E1D886E460042E080 /* TimeReader.cpp */; }; - 29E8BF961DD2920C00E8CEBA /* ClefData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292D1DD01D9A43A500CDD9F4 /* ClefData.cpp */; }; - 29E8BF971DD2920C00E8CEBA /* DocumentManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF44091D6E70D300DBDAB9 /* DocumentManager.cpp */; }; - 29E8BF981DD2920C00E8CEBA /* DurationData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E9EA361DA4A80A0040183B /* DurationData.cpp */; }; - 29E8BF991DD2920C00E8CEBA /* MarkData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29DB30A01DA0713200031477 /* MarkData.cpp */; }; - 29E8BF9A1DD2920C00E8CEBA /* MeasureLocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C51A4C1D9F061600EAA308 /* MeasureLocation.cpp */; }; - 29E8BF9B1DD2920C00E8CEBA /* NoteData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E9EA351DA4A80A0040183B /* NoteData.cpp */; }; - 29E8BF9C1DD2920C00E8CEBA /* PitchData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E9EA341DA4A80A0040183B /* PitchData.cpp */; }; - 29E8BF9D1DD2920C00E8CEBA /* Smufl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C51A1D1D9ED91000EAA308 /* Smufl.cpp */; }; - 29E8BF9E1DD2920C00E8CEBA /* AttributesInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE01D130B690094BE61 /* AttributesInterface.cpp */; }; - 29E8BF9F1DD2920C00E8CEBA /* Color.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE21D130B690094BE61 /* Color.cpp */; }; - 29E8BFA01DD2920C00E8CEBA /* Date.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE41D130B690094BE61 /* Date.cpp */; }; - 29E8BFA11DD2920C00E8CEBA /* Decimals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE61D130B690094BE61 /* Decimals.cpp */; }; - 29E8BFA21DD2920C00E8CEBA /* Document.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AE81D130B690094BE61 /* Document.cpp */; }; - 29E8BFA31DD2920C00E8CEBA /* DocumentHeader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AEA1D130B690094BE61 /* DocumentHeader.cpp */; }; - 29E8BFA41DD2920C00E8CEBA /* DocumentSpec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AEE1D130B690094BE61 /* DocumentSpec.cpp */; }; - 29E8BFA51DD2920C00E8CEBA /* ElementInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AF21D130B690094BE61 /* ElementInterface.cpp */; }; - 29E8BFA61DD2920C00E8CEBA /* Accent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545ED1D295C5300B90302 /* Accent.cpp */; }; - 29E8BFA71DD2920C00E8CEBA /* Accidental.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545EE1D295C5300B90302 /* Accidental.cpp */; }; - 29E8BFA81DD2920C00E8CEBA /* AccidentalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545EF1D295C5300B90302 /* AccidentalAttributes.cpp */; }; - 29E8BFA91DD2920C00E8CEBA /* AccidentalMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F01D295C5300B90302 /* AccidentalMark.cpp */; }; - 29E8BFAA1DD2920C00E8CEBA /* AccidentalMarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F11D295C5300B90302 /* AccidentalMarkAttributes.cpp */; }; - 29E8BFAB1DD2920C00E8CEBA /* AccidentalText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F21D295C5300B90302 /* AccidentalText.cpp */; }; - 29E8BFAC1DD2920C00E8CEBA /* AccidentalTextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F31D295C5300B90302 /* AccidentalTextAttributes.cpp */; }; - 29E8BFAD1DD2920C00E8CEBA /* Accord.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F41D295C5300B90302 /* Accord.cpp */; }; - 29E8BFAE1DD2920C00E8CEBA /* AccordAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F51D295C5300B90302 /* AccordAttributes.cpp */; }; - 29E8BFAF1DD2920C00E8CEBA /* AccordionHigh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F61D295C5300B90302 /* AccordionHigh.cpp */; }; - 29E8BFB01DD2920C00E8CEBA /* AccordionLow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F71D295C5300B90302 /* AccordionLow.cpp */; }; - 29E8BFB11DD2920C00E8CEBA /* AccordionMiddle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F81D295C5300B90302 /* AccordionMiddle.cpp */; }; - 29E8BFB21DD2920C00E8CEBA /* AccordionRegistration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545F91D295C5300B90302 /* AccordionRegistration.cpp */; }; - 29E8BFB31DD2920C00E8CEBA /* AccordionRegistrationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FA1D295C5300B90302 /* AccordionRegistrationAttributes.cpp */; }; - 29E8BFB41DD2920C00E8CEBA /* ActualNotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FB1D295C5300B90302 /* ActualNotes.cpp */; }; - 29E8BFB51DD2920C00E8CEBA /* Alter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FC1D295C5300B90302 /* Alter.cpp */; }; - 29E8BFB61DD2920C00E8CEBA /* Appearance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FD1D295C5300B90302 /* Appearance.cpp */; }; - 29E8BFB71DD2920C00E8CEBA /* Arpeggiate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FE1D295C5300B90302 /* Arpeggiate.cpp */; }; - 29E8BFB81DD2920C00E8CEBA /* ArpeggiateAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294545FF1D295C5300B90302 /* ArpeggiateAttributes.cpp */; }; - 29E8BFB91DD2920C00E8CEBA /* Arrow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546001D295C5300B90302 /* Arrow.cpp */; }; - 29E8BFBA1DD2920C00E8CEBA /* ArrowAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546011D295C5300B90302 /* ArrowAttributes.cpp */; }; - 29E8BFBB1DD2920C00E8CEBA /* ArrowDirection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546021D295C5300B90302 /* ArrowDirection.cpp */; }; - 29E8BFBC1DD2920C00E8CEBA /* ArrowGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546031D295C5300B90302 /* ArrowGroup.cpp */; }; - 29E8BFBD1DD2920C00E8CEBA /* ArrowStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546041D295C5300B90302 /* ArrowStyle.cpp */; }; - 29E8BFBE1DD2920C00E8CEBA /* Articulations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546051D295C5300B90302 /* Articulations.cpp */; }; - 29E8BFBF1DD2920C00E8CEBA /* ArticulationsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546061D295C5300B90302 /* ArticulationsChoice.cpp */; }; - 29E8BFC01DD2920C00E8CEBA /* Artificial.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546071D295C5300B90302 /* Artificial.cpp */; }; - 29E8BFC11DD2920C00E8CEBA /* AttributesIterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546081D295C5300B90302 /* AttributesIterface.cpp */; }; - 29E8BFC21DD2920C00E8CEBA /* Backup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546091D295C5300B90302 /* Backup.cpp */; }; - 29E8BFC31DD2920C00E8CEBA /* Barline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460A1D295C5300B90302 /* Barline.cpp */; }; - 29E8BFC41DD2920C00E8CEBA /* BarlineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460B1D295C5300B90302 /* BarlineAttributes.cpp */; }; - 29E8BFC51DD2920C00E8CEBA /* Barre.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460C1D295C5300B90302 /* Barre.cpp */; }; - 29E8BFC61DD2920C00E8CEBA /* BarreAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460D1D295C5300B90302 /* BarreAttributes.cpp */; }; - 29E8BFC71DD2920C00E8CEBA /* BarStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460E1D295C5300B90302 /* BarStyle.cpp */; }; - 29E8BFC81DD2920C00E8CEBA /* BarStyleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945460F1D295C5300B90302 /* BarStyleAttributes.cpp */; }; - 29E8BFC91DD2920C00E8CEBA /* BasePitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546101D295C5300B90302 /* BasePitch.cpp */; }; - 29E8BFCA1DD2920C00E8CEBA /* Bass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546111D295C5300B90302 /* Bass.cpp */; }; - 29E8BFCB1DD2920C00E8CEBA /* BassAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546121D295C5300B90302 /* BassAlter.cpp */; }; - 29E8BFCC1DD2920C00E8CEBA /* BassAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546131D295C5300B90302 /* BassAlterAttributes.cpp */; }; - 29E8BFCD1DD2920C00E8CEBA /* BassStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546141D295C5300B90302 /* BassStep.cpp */; }; - 29E8BFCE1DD2920C00E8CEBA /* BassStepAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546151D295C5300B90302 /* BassStepAttributes.cpp */; }; - 29E8BFCF1DD2920C00E8CEBA /* Beam.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546161D295C5300B90302 /* Beam.cpp */; }; - 29E8BFD01DD2920C00E8CEBA /* BeamAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546171D295C5300B90302 /* BeamAttributes.cpp */; }; - 29E8BFD11DD2920C00E8CEBA /* Beater.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546181D295C5300B90302 /* Beater.cpp */; }; - 29E8BFD21DD2920C00E8CEBA /* BeaterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546191D295C5300B90302 /* BeaterAttributes.cpp */; }; - 29E8BFD31DD2920C00E8CEBA /* BeatRepeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461A1D295C5300B90302 /* BeatRepeat.cpp */; }; - 29E8BFD41DD2920C00E8CEBA /* BeatRepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461B1D295C5300B90302 /* BeatRepeatAttributes.cpp */; }; - 29E8BFD51DD2920C00E8CEBA /* Beats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461C1D295C5300B90302 /* Beats.cpp */; }; - 29E8BFD61DD2920C00E8CEBA /* BeatType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461D1D295C5300B90302 /* BeatType.cpp */; }; - 29E8BFD71DD2920C00E8CEBA /* BeatUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461E1D295C5300B90302 /* BeatUnit.cpp */; }; - 29E8BFD81DD2920C00E8CEBA /* BeatUnitDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945461F1D295C5300B90302 /* BeatUnitDot.cpp */; }; - 29E8BFD91DD2920C00E8CEBA /* BeatUnitGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546201D295C5300B90302 /* BeatUnitGroup.cpp */; }; - 29E8BFDA1DD2920C00E8CEBA /* BeatUnitPer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546211D295C5300B90302 /* BeatUnitPer.cpp */; }; - 29E8BFDB1DD2920C00E8CEBA /* BeatUnitPerOrNoteRelationNoteChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546221D295C5300B90302 /* BeatUnitPerOrNoteRelationNoteChoice.cpp */; }; - 29E8BFDC1DD2920C00E8CEBA /* Bend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546231D295C5300B90302 /* Bend.cpp */; }; - 29E8BFDD1DD2920C00E8CEBA /* BendAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546241D295C5300B90302 /* BendAlter.cpp */; }; - 29E8BFDE1DD2920C00E8CEBA /* BendAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546251D295C5300B90302 /* BendAttributes.cpp */; }; - 29E8BFDF1DD2920C00E8CEBA /* BendChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546261D295C5300B90302 /* BendChoice.cpp */; }; - 29E8BFE01DD2920C00E8CEBA /* Bookmark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546271D295C5300B90302 /* Bookmark.cpp */; }; - 29E8BFE11DD2920C00E8CEBA /* BookmarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546281D295C5300B90302 /* BookmarkAttributes.cpp */; }; - 29E8BFE21DD2920C00E8CEBA /* BottomMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546291D295C5300B90302 /* BottomMargin.cpp */; }; - 29E8BFE31DD2920C00E8CEBA /* Bracket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462A1D295C5300B90302 /* Bracket.cpp */; }; - 29E8BFE41DD2920C00E8CEBA /* BracketAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462B1D295C5300B90302 /* BracketAttributes.cpp */; }; - 29E8BFE51DD2920C00E8CEBA /* BreathMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462C1D295C5300B90302 /* BreathMark.cpp */; }; - 29E8BFE61DD2920C00E8CEBA /* BreathMarkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462D1D295C5300B90302 /* BreathMarkAttributes.cpp */; }; - 29E8BFE71DD2920C00E8CEBA /* Caesura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462E1D295C5300B90302 /* Caesura.cpp */; }; - 29E8BFE81DD2920C00E8CEBA /* Cancel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945462F1D295C5300B90302 /* Cancel.cpp */; }; - 29E8BFE91DD2920C00E8CEBA /* CancelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546301D295C5300B90302 /* CancelAttributes.cpp */; }; - 29E8BFEA1DD2920C00E8CEBA /* Capo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546311D295C5300B90302 /* Capo.cpp */; }; - 29E8BFEB1DD2920C00E8CEBA /* Chord.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546321D295C5300B90302 /* Chord.cpp */; }; - 29E8BFEC1DD2920C00E8CEBA /* Chromatic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546331D295C5300B90302 /* Chromatic.cpp */; }; - 29E8BFED1DD2920C00E8CEBA /* CircularArrow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546341D295C5300B90302 /* CircularArrow.cpp */; }; - 29E8BFEE1DD2920C00E8CEBA /* Clef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546351D295C5300B90302 /* Clef.cpp */; }; - 29E8BFEF1DD2920C00E8CEBA /* ClefAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546361D295C5300B90302 /* ClefAttributes.cpp */; }; - 29E8BFF01DD2920C00E8CEBA /* ClefOctaveChange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546371D295C5300B90302 /* ClefOctaveChange.cpp */; }; - 29E8BFF11DD2920C00E8CEBA /* Coda.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546381D295C5300B90302 /* Coda.cpp */; }; - 29E8BFF21DD2920C00E8CEBA /* Creator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546391D295C5300B90302 /* Creator.cpp */; }; - 29E8BFF31DD2920C00E8CEBA /* CreatorAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463A1D295C5300B90302 /* CreatorAttributes.cpp */; }; - 29E8BFF41DD2920C00E8CEBA /* Credit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463B1D295C5300B90302 /* Credit.cpp */; }; - 29E8BFF51DD2920C00E8CEBA /* CreditAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463C1D295C5300B90302 /* CreditAttributes.cpp */; }; - 29E8BFF61DD2920C00E8CEBA /* CreditChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463D1D295C5300B90302 /* CreditChoice.cpp */; }; - 29E8BFF71DD2920C00E8CEBA /* CreditImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463E1D295C5300B90302 /* CreditImage.cpp */; }; - 29E8BFF81DD2920C00E8CEBA /* CreditImageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945463F1D295C5300B90302 /* CreditImageAttributes.cpp */; }; - 29E8BFF91DD2920C00E8CEBA /* CreditType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546401D295C5300B90302 /* CreditType.cpp */; }; - 29E8BFFA1DD2920C00E8CEBA /* CreditWords.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546411D295C5300B90302 /* CreditWords.cpp */; }; - 29E8BFFB1DD2920C00E8CEBA /* CreditWordsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546421D295C5300B90302 /* CreditWordsAttributes.cpp */; }; - 29E8BFFC1DD2920C00E8CEBA /* CreditWordsGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546431D295C5300B90302 /* CreditWordsGroup.cpp */; }; - 29E8BFFD1DD2920C00E8CEBA /* Cue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546441D295C5300B90302 /* Cue.cpp */; }; - 29E8BFFE1DD2920C00E8CEBA /* CueNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546451D295C5300B90302 /* CueNoteGroup.cpp */; }; - 29E8BFFF1DD2920C00E8CEBA /* Damp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546461D295C5300B90302 /* Damp.cpp */; }; - 29E8C0001DD2920C00E8CEBA /* DampAll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546471D295C5300B90302 /* DampAll.cpp */; }; - 29E8C0011DD2920C00E8CEBA /* Dashes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546481D295C5300B90302 /* Dashes.cpp */; }; - 29E8C0021DD2920C00E8CEBA /* DashesAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546491D295C5300B90302 /* DashesAttributes.cpp */; }; - 29E8C0031DD2920C00E8CEBA /* Defaults.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464A1D295C5300B90302 /* Defaults.cpp */; }; - 29E8C0041DD2920C00E8CEBA /* Degree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464B1D295C5300B90302 /* Degree.cpp */; }; - 29E8C0051DD2920C00E8CEBA /* DegreeAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464C1D295C5300B90302 /* DegreeAlter.cpp */; }; - 29E8C0061DD2920C00E8CEBA /* DegreeAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464D1D295C5300B90302 /* DegreeAlterAttributes.cpp */; }; - 29E8C0071DD2920C00E8CEBA /* DegreeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464E1D295C5300B90302 /* DegreeAttributes.cpp */; }; - 29E8C0081DD2920C00E8CEBA /* DegreeType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945464F1D295C5300B90302 /* DegreeType.cpp */; }; - 29E8C0091DD2920C00E8CEBA /* DegreeTypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546501D295C5300B90302 /* DegreeTypeAttributes.cpp */; }; - 29E8C00A1DD2920C00E8CEBA /* DegreeValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546511D295C5300B90302 /* DegreeValue.cpp */; }; - 29E8C00B1DD2920C00E8CEBA /* DegreeValueAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546521D295C5300B90302 /* DegreeValueAttributes.cpp */; }; - 29E8C00C1DD2920C00E8CEBA /* DelayedInvertedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546531D295C5300B90302 /* DelayedInvertedTurn.cpp */; }; - 29E8C00D1DD2920C00E8CEBA /* DelayedInvertedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546541D295C5300B90302 /* DelayedInvertedTurnAttributes.cpp */; }; - 29E8C00E1DD2920C00E8CEBA /* DelayedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546551D295C5300B90302 /* DelayedTurn.cpp */; }; - 29E8C00F1DD2920C00E8CEBA /* DelayedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546561D295C5300B90302 /* DelayedTurnAttributes.cpp */; }; - 29E8C0101DD2920C00E8CEBA /* DetachedLegato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546571D295C5300B90302 /* DetachedLegato.cpp */; }; - 29E8C0111DD2920C00E8CEBA /* Diatonic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546581D295C5300B90302 /* Diatonic.cpp */; }; - 29E8C0121DD2920C00E8CEBA /* Direction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546591D295C5300B90302 /* Direction.cpp */; }; - 29E8C0131DD2920C00E8CEBA /* DirectionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465A1D295C5300B90302 /* DirectionAttributes.cpp */; }; - 29E8C0141DD2920C00E8CEBA /* DirectionType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465B1D295C5300B90302 /* DirectionType.cpp */; }; - 29E8C0151DD2920C00E8CEBA /* Directive.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465C1D295C5300B90302 /* Directive.cpp */; }; - 29E8C0161DD2920C00E8CEBA /* DirectiveAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465D1D295C5300B90302 /* DirectiveAttributes.cpp */; }; - 29E8C0171DD2920C00E8CEBA /* DisplayOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465E1D295C5300B90302 /* DisplayOctave.cpp */; }; - 29E8C0181DD2920C00E8CEBA /* DisplayStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945465F1D295C5300B90302 /* DisplayStep.cpp */; }; - 29E8C0191DD2920C00E8CEBA /* DisplayStepOctaveGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546601D295C5300B90302 /* DisplayStepOctaveGroup.cpp */; }; - 29E8C01A1DD2920C00E8CEBA /* DisplayText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546611D295C5300B90302 /* DisplayText.cpp */; }; - 29E8C01B1DD2920C00E8CEBA /* DisplayTextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546621D295C5300B90302 /* DisplayTextAttributes.cpp */; }; - 29E8C01C1DD2920C00E8CEBA /* DisplayTextOrAccidentalText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546631D295C5300B90302 /* DisplayTextOrAccidentalText.cpp */; }; - 29E8C01D1DD2920C00E8CEBA /* Distance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546641D295C5300B90302 /* Distance.cpp */; }; - 29E8C01E1DD2920C00E8CEBA /* DistanceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546651D295C5300B90302 /* DistanceAttributes.cpp */; }; - 29E8C01F1DD2920C00E8CEBA /* Divisions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546661D295C5300B90302 /* Divisions.cpp */; }; - 29E8C0201DD2920C00E8CEBA /* Doit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546671D295C5300B90302 /* Doit.cpp */; }; - 29E8C0211DD2920C00E8CEBA /* Dot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546681D295C5300B90302 /* Dot.cpp */; }; - 29E8C0221DD2920C00E8CEBA /* Double.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546691D295C5300B90302 /* Double.cpp */; }; - 29E8C0231DD2920C00E8CEBA /* DoubleTongue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466A1D295C5300B90302 /* DoubleTongue.cpp */; }; - 29E8C0241DD2920C00E8CEBA /* DownBow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466B1D295C5300B90302 /* DownBow.cpp */; }; - 29E8C0251DD2920C00E8CEBA /* Duration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466C1D295C5300B90302 /* Duration.cpp */; }; - 29E8C0261DD2920C00E8CEBA /* Dynamics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466D1D295C5300B90302 /* Dynamics.cpp */; }; - 29E8C0271DD2920C00E8CEBA /* DynamicsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466E1D295C5300B90302 /* DynamicsAttributes.cpp */; }; - 29E8C0281DD2920C00E8CEBA /* EditorialGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945466F1D295C5300B90302 /* EditorialGroup.cpp */; }; - 29E8C0291DD2920C00E8CEBA /* EditorialVoiceDirectionGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546701D295C5300B90302 /* EditorialVoiceDirectionGroup.cpp */; }; - 29E8C02A1DD2920C00E8CEBA /* EditorialVoiceGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546711D295C5300B90302 /* EditorialVoiceGroup.cpp */; }; - 29E8C02B1DD2920C00E8CEBA /* Effect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546721D295C5300B90302 /* Effect.cpp */; }; - 29E8C02C1DD2920C00E8CEBA /* Elevation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546731D295C5300B90302 /* Elevation.cpp */; }; - 29E8C02D1DD2920C00E8CEBA /* Elision.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546741D295C5300B90302 /* Elision.cpp */; }; - 29E8C02E1DD2920C00E8CEBA /* ElisionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546751D295C5300B90302 /* ElisionAttributes.cpp */; }; - 29E8C02F1DD2920C00E8CEBA /* ElisionSyllabicGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546761D295C5300B90302 /* ElisionSyllabicGroup.cpp */; }; - 29E8C0301DD2920C00E8CEBA /* ElisionSyllabicTextGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546771D295C5300B90302 /* ElisionSyllabicTextGroup.cpp */; }; - 29E8C0311DD2920C00E8CEBA /* EmptyFontAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546781D295C5300B90302 /* EmptyFontAttributes.cpp */; }; - 29E8C0321DD2920C00E8CEBA /* EmptyLineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546791D295C5300B90302 /* EmptyLineAttributes.cpp */; }; - 29E8C0331DD2920C00E8CEBA /* EmptyPlacementAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467A1D295C5300B90302 /* EmptyPlacementAttributes.cpp */; }; - 29E8C0341DD2920C00E8CEBA /* EmptyTrillSoundAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467B1D295C5300B90302 /* EmptyTrillSoundAttributes.cpp */; }; - 29E8C0351DD2920C00E8CEBA /* Encoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467C1D295C5300B90302 /* Encoder.cpp */; }; - 29E8C0361DD2920C00E8CEBA /* EncoderAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467D1D295C5300B90302 /* EncoderAttributes.cpp */; }; - 29E8C0371DD2920C00E8CEBA /* Encoding.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2904A4D31D301D5A00A39CC6 /* Encoding.cpp */; }; - 29E8C0381DD2920C00E8CEBA /* EncodingChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467E1D295C5300B90302 /* EncodingChoice.cpp */; }; - 29E8C0391DD2920C00E8CEBA /* EncodingDate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945467F1D295C5300B90302 /* EncodingDate.cpp */; }; - 29E8C03A1DD2920C00E8CEBA /* EncodingDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546801D295C5300B90302 /* EncodingDescription.cpp */; }; - 29E8C03B1DD2920C00E8CEBA /* Ending.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546811D295C5300B90302 /* Ending.cpp */; }; - 29E8C03C1DD2920C00E8CEBA /* EndingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546821D295C5300B90302 /* EndingAttributes.cpp */; }; - 29E8C03D1DD2920C00E8CEBA /* EndLine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546831D295C5300B90302 /* EndLine.cpp */; }; - 29E8C03E1DD2920C00E8CEBA /* EndParagraph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546841D295C5300B90302 /* EndParagraph.cpp */; }; - 29E8C03F1DD2920C00E8CEBA /* Ensemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546851D295C5300B90302 /* Ensemble.cpp */; }; - 29E8C0401DD2920C00E8CEBA /* Extend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546861D295C5300B90302 /* Extend.cpp */; }; - 29E8C0411DD2920C00E8CEBA /* ExtendAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546871D295C5300B90302 /* ExtendAttributes.cpp */; }; - 29E8C0421DD2920C00E8CEBA /* Eyeglasses.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546881D295C5300B90302 /* Eyeglasses.cpp */; }; - 29E8C0431DD2920C00E8CEBA /* Falloff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546891D295C5300B90302 /* Falloff.cpp */; }; - 29E8C0441DD2920C00E8CEBA /* Feature.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468A1D295C5300B90302 /* Feature.cpp */; }; - 29E8C0451DD2920C00E8CEBA /* FeatureAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468B1D295C5300B90302 /* FeatureAttributes.cpp */; }; - 29E8C0461DD2920C00E8CEBA /* Fermata.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468C1D295C5300B90302 /* Fermata.cpp */; }; - 29E8C0471DD2920C00E8CEBA /* FermataAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468D1D295C5300B90302 /* FermataAttributes.cpp */; }; - 29E8C0481DD2920C00E8CEBA /* Fifths.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468E1D295C5300B90302 /* Fifths.cpp */; }; - 29E8C0491DD2920C00E8CEBA /* Figure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945468F1D295C5300B90302 /* Figure.cpp */; }; - 29E8C04A1DD2920C00E8CEBA /* FiguredBass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546901D295C5300B90302 /* FiguredBass.cpp */; }; - 29E8C04B1DD2920C00E8CEBA /* FiguredBassAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546911D295C5300B90302 /* FiguredBassAttributes.cpp */; }; - 29E8C04C1DD2920C00E8CEBA /* FigureNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546921D295C5300B90302 /* FigureNumber.cpp */; }; - 29E8C04D1DD2920C00E8CEBA /* FigureNumberAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546931D295C5300B90302 /* FigureNumberAttributes.cpp */; }; - 29E8C04E1DD2920C00E8CEBA /* Fingering.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546941D295C5300B90302 /* Fingering.cpp */; }; - 29E8C04F1DD2920C00E8CEBA /* FingeringAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546951D295C5300B90302 /* FingeringAttributes.cpp */; }; - 29E8C0501DD2920C00E8CEBA /* Fingernails.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546961D295C5300B90302 /* Fingernails.cpp */; }; - 29E8C0511DD2920C00E8CEBA /* FirstFret.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546971D295C5300B90302 /* FirstFret.cpp */; }; - 29E8C0521DD2920C00E8CEBA /* FirstFretAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546981D295C5300B90302 /* FirstFretAttributes.cpp */; }; - 29E8C0531DD2920C00E8CEBA /* Footnote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546991D295C5300B90302 /* Footnote.cpp */; }; - 29E8C0541DD2920C00E8CEBA /* FootnoteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469A1D295C5300B90302 /* FootnoteAttributes.cpp */; }; - 29E8C0551DD2920C00E8CEBA /* Forward.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469B1D295C5300B90302 /* Forward.cpp */; }; - 29E8C0561DD2920C00E8CEBA /* Frame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469C1D295C5300B90302 /* Frame.cpp */; }; - 29E8C0571DD2920C00E8CEBA /* FrameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469D1D295C5300B90302 /* FrameAttributes.cpp */; }; - 29E8C0581DD2920C00E8CEBA /* FrameFrets.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469E1D295C5300B90302 /* FrameFrets.cpp */; }; - 29E8C0591DD2920C00E8CEBA /* FrameNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945469F1D295C5300B90302 /* FrameNote.cpp */; }; - 29E8C05A1DD2920C00E8CEBA /* FrameStrings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A01D295C5300B90302 /* FrameStrings.cpp */; }; - 29E8C05B1DD2920C00E8CEBA /* Fret.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A11D295C5300B90302 /* Fret.cpp */; }; - 29E8C05C1DD2920C00E8CEBA /* FretAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A21D295C5300B90302 /* FretAttributes.cpp */; }; - 29E8C05D1DD2920C00E8CEBA /* FullNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A31D295C5300B90302 /* FullNoteGroup.cpp */; }; - 29E8C05E1DD2920C00E8CEBA /* FullNoteTypeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A41D295C5300B90302 /* FullNoteTypeChoice.cpp */; }; - 29E8C05F1DD2920C00E8CEBA /* Function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A51D295C5300B90302 /* Function.cpp */; }; - 29E8C0601DD2920C00E8CEBA /* FunctionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A61D295C5300B90302 /* FunctionAttributes.cpp */; }; - 29E8C0611DD2920C00E8CEBA /* Glass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A71D295C5300B90302 /* Glass.cpp */; }; - 29E8C0621DD2920C00E8CEBA /* Glissando.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A81D295C5300B90302 /* Glissando.cpp */; }; - 29E8C0631DD2920C00E8CEBA /* GlissandoAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546A91D295C5300B90302 /* GlissandoAttributes.cpp */; }; - 29E8C0641DD2920C00E8CEBA /* Grace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AA1D295C5300B90302 /* Grace.cpp */; }; - 29E8C0651DD2920C00E8CEBA /* GraceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AB1D295C5300B90302 /* GraceAttributes.cpp */; }; - 29E8C0661DD2920C00E8CEBA /* GraceNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AC1D295C5300B90302 /* GraceNoteGroup.cpp */; }; - 29E8C0671DD2920C00E8CEBA /* Group.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AD1D295C5300B90302 /* Group.cpp */; }; - 29E8C0681DD2920C00E8CEBA /* GroupAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AE1D295C5300B90302 /* GroupAbbreviation.cpp */; }; - 29E8C0691DD2920C00E8CEBA /* GroupAbbreviationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546AF1D295C5300B90302 /* GroupAbbreviationAttributes.cpp */; }; - 29E8C06A1DD2920C00E8CEBA /* GroupAbbreviationDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B01D295C5300B90302 /* GroupAbbreviationDisplay.cpp */; }; - 29E8C06B1DD2920C00E8CEBA /* GroupAbbreviationDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B11D295C5300B90302 /* GroupAbbreviationDisplayAttributes.cpp */; }; - 29E8C06C1DD2920C00E8CEBA /* GroupBarline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B21D295C5300B90302 /* GroupBarline.cpp */; }; - 29E8C06D1DD2920C00E8CEBA /* GroupBarlineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B31D295C5300B90302 /* GroupBarlineAttributes.cpp */; }; - 29E8C06E1DD2920C00E8CEBA /* Grouping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B41D295C5300B90302 /* Grouping.cpp */; }; - 29E8C06F1DD2920C00E8CEBA /* GroupingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B51D295C5300B90302 /* GroupingAttributes.cpp */; }; - 29E8C0701DD2920C00E8CEBA /* GroupName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B61D295C5300B90302 /* GroupName.cpp */; }; - 29E8C0711DD2920C00E8CEBA /* GroupNameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B71D295C5300B90302 /* GroupNameAttributes.cpp */; }; - 29E8C0721DD2920C00E8CEBA /* GroupNameDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B81D295C5300B90302 /* GroupNameDisplay.cpp */; }; - 29E8C0731DD2920C00E8CEBA /* GroupNameDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546B91D295C5300B90302 /* GroupNameDisplayAttributes.cpp */; }; - 29E8C0741DD2920C00E8CEBA /* GroupSymbol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BA1D295C5300B90302 /* GroupSymbol.cpp */; }; - 29E8C0751DD2920C00E8CEBA /* GroupSymbolAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BB1D295C5300B90302 /* GroupSymbolAttributes.cpp */; }; - 29E8C0761DD2920C00E8CEBA /* GroupTime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BC1D295C5300B90302 /* GroupTime.cpp */; }; - 29E8C0771DD2920C00E8CEBA /* HammerOn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BD1D295C5300B90302 /* HammerOn.cpp */; }; - 29E8C0781DD2920C00E8CEBA /* HammerOnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BE1D295C5300B90302 /* HammerOnAttributes.cpp */; }; - 29E8C0791DD2920C00E8CEBA /* Handbell.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546BF1D295C5300B90302 /* Handbell.cpp */; }; - 29E8C07A1DD2920C00E8CEBA /* HandbellAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C01D295C5300B90302 /* HandbellAttributes.cpp */; }; - 29E8C07B1DD2920C00E8CEBA /* Harmonic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C11D295C5300B90302 /* Harmonic.cpp */; }; - 29E8C07C1DD2920C00E8CEBA /* HarmonicAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C21D295C5300B90302 /* HarmonicAttributes.cpp */; }; - 29E8C07D1DD2920C00E8CEBA /* HarmonicInfoChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C31D295C5300B90302 /* HarmonicInfoChoice.cpp */; }; - 29E8C07E1DD2920C00E8CEBA /* HarmonicTypeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C41D295C5300B90302 /* HarmonicTypeChoice.cpp */; }; - 29E8C07F1DD2920C00E8CEBA /* Harmony.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C51D295C5300B90302 /* Harmony.cpp */; }; - 29E8C0801DD2920C00E8CEBA /* HarmonyAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C61D295C5300B90302 /* HarmonyAttributes.cpp */; }; - 29E8C0811DD2920C00E8CEBA /* HarmonyChordGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C71D295C5300B90302 /* HarmonyChordGroup.cpp */; }; - 29E8C0821DD2920C00E8CEBA /* HarpPedals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C81D295C5300B90302 /* HarpPedals.cpp */; }; - 29E8C0831DD2920C00E8CEBA /* HarpPedalsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546C91D295C5300B90302 /* HarpPedalsAttributes.cpp */; }; - 29E8C0841DD2920C00E8CEBA /* Heel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CA1D295C5300B90302 /* Heel.cpp */; }; - 29E8C0851DD2920C00E8CEBA /* HeelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CB1D295C5300B90302 /* HeelAttributes.cpp */; }; - 29E8C0861DD2920C00E8CEBA /* Hole.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CC1D295C5300B90302 /* Hole.cpp */; }; - 29E8C0871DD2920C00E8CEBA /* HoleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CD1D295C5300B90302 /* HoleAttributes.cpp */; }; - 29E8C0881DD2920C00E8CEBA /* HoleClosed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CE1D295C5300B90302 /* HoleClosed.cpp */; }; - 29E8C0891DD2920C00E8CEBA /* HoleClosedAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546CF1D295C5300B90302 /* HoleClosedAttributes.cpp */; }; - 29E8C08A1DD2920C00E8CEBA /* HoleShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D01D295C5300B90302 /* HoleShape.cpp */; }; - 29E8C08B1DD2920C00E8CEBA /* HoleType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D11D295C5300B90302 /* HoleType.cpp */; }; - 29E8C08C1DD2920C00E8CEBA /* Humming.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D21D295C5300B90302 /* Humming.cpp */; }; - 29E8C08D1DD2920C00E8CEBA /* Identification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D31D295C5300B90302 /* Identification.cpp */; }; - 29E8C08E1DD2920C00E8CEBA /* Image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D41D295C5300B90302 /* Image.cpp */; }; - 29E8C08F1DD2920C00E8CEBA /* ImageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D51D295C5300B90302 /* ImageAttributes.cpp */; }; - 29E8C0901DD2920C00E8CEBA /* Instrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D61D295C5300B90302 /* Instrument.cpp */; }; - 29E8C0911DD2920C00E8CEBA /* InstrumentAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D71D295C5300B90302 /* InstrumentAbbreviation.cpp */; }; - 29E8C0921DD2920C00E8CEBA /* InstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D81D295C5300B90302 /* InstrumentAttributes.cpp */; }; - 29E8C0931DD2920C00E8CEBA /* InstrumentName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546D91D295C5300B90302 /* InstrumentName.cpp */; }; - 29E8C0941DD2920C00E8CEBA /* Instruments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DA1D295C5300B90302 /* Instruments.cpp */; }; - 29E8C0951DD2920C00E8CEBA /* InstrumentSound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DB1D295C5300B90302 /* InstrumentSound.cpp */; }; - 29E8C0961DD2920C00E8CEBA /* Interchangeable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DC1D295C5300B90302 /* Interchangeable.cpp */; }; - 29E8C0971DD2920C00E8CEBA /* InterchangeableAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DD1D295C5300B90302 /* InterchangeableAttributes.cpp */; }; - 29E8C0981DD2920C00E8CEBA /* Inversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DE1D295C5300B90302 /* Inversion.cpp */; }; - 29E8C0991DD2920C00E8CEBA /* InversionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546DF1D295C5300B90302 /* InversionAttributes.cpp */; }; - 29E8C09A1DD2920C00E8CEBA /* InvertedMordent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E01D295C5300B90302 /* InvertedMordent.cpp */; }; - 29E8C09B1DD2920C00E8CEBA /* InvertedMordentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E11D295C5300B90302 /* InvertedMordentAttributes.cpp */; }; - 29E8C09C1DD2920C00E8CEBA /* InvertedTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E21D295C5300B90302 /* InvertedTurn.cpp */; }; - 29E8C09D1DD2920C00E8CEBA /* InvertedTurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E31D295C5300B90302 /* InvertedTurnAttributes.cpp */; }; - 29E8C09E1DD2920C00E8CEBA /* Ipa.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E41D295C5300B90302 /* Ipa.cpp */; }; - 29E8C09F1DD2920C00E8CEBA /* Key.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E51D295C5300B90302 /* Key.cpp */; }; - 29E8C0A01DD2920C00E8CEBA /* KeyAccidental.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E61D295C5300B90302 /* KeyAccidental.cpp */; }; - 29E8C0A11DD2920C00E8CEBA /* KeyAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E71D295C5300B90302 /* KeyAlter.cpp */; }; - 29E8C0A21DD2920C00E8CEBA /* KeyAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E81D295C5300B90302 /* KeyAttributes.cpp */; }; - 29E8C0A31DD2920C00E8CEBA /* KeyChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546E91D295C5300B90302 /* KeyChoice.cpp */; }; - 29E8C0A41DD2920C00E8CEBA /* KeyOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EA1D295C5300B90302 /* KeyOctave.cpp */; }; - 29E8C0A51DD2920C00E8CEBA /* KeyOctaveAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EB1D295C5300B90302 /* KeyOctaveAttributes.cpp */; }; - 29E8C0A61DD2920C00E8CEBA /* KeyStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EC1D295C5300B90302 /* KeyStep.cpp */; }; - 29E8C0A71DD2920C00E8CEBA /* Kind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546ED1D295C5300B90302 /* Kind.cpp */; }; - 29E8C0A81DD2920C00E8CEBA /* KindAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EE1D295C5300B90302 /* KindAttributes.cpp */; }; - 29E8C0A91DD2920C00E8CEBA /* Laughing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546EF1D295C5300B90302 /* Laughing.cpp */; }; - 29E8C0AA1DD2920C00E8CEBA /* LayoutGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F01D295C5300B90302 /* LayoutGroup.cpp */; }; - 29E8C0AB1DD2920C00E8CEBA /* LeftDivider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F11D295C5300B90302 /* LeftDivider.cpp */; }; - 29E8C0AC1DD2920C00E8CEBA /* LeftMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F21D295C5300B90302 /* LeftMargin.cpp */; }; - 29E8C0AD1DD2920C00E8CEBA /* Level.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F31D295C5300B90302 /* Level.cpp */; }; - 29E8C0AE1DD2920C00E8CEBA /* LevelAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F41D295C5300B90302 /* LevelAttributes.cpp */; }; - 29E8C0AF1DD2920C00E8CEBA /* Line.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F51D295C5300B90302 /* Line.cpp */; }; - 29E8C0B01DD2920C00E8CEBA /* LineWidth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F61D295C5300B90302 /* LineWidth.cpp */; }; - 29E8C0B11DD2920C00E8CEBA /* LineWidthAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F71D295C5300B90302 /* LineWidthAttributes.cpp */; }; - 29E8C0B21DD2920C00E8CEBA /* Link.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F81D295C5300B90302 /* Link.cpp */; }; - 29E8C0B31DD2920C00E8CEBA /* LinkAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546F91D295C5300B90302 /* LinkAttributes.cpp */; }; - 29E8C0B41DD2920C00E8CEBA /* Lyric.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FA1D295C5300B90302 /* Lyric.cpp */; }; - 29E8C0B51DD2920C00E8CEBA /* LyricAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FB1D295C5300B90302 /* LyricAttributes.cpp */; }; - 29E8C0B61DD2920C00E8CEBA /* LyricFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FC1D295C5300B90302 /* LyricFont.cpp */; }; - 29E8C0B71DD2920C00E8CEBA /* LyricFontAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FD1D295C5300B90302 /* LyricFontAttributes.cpp */; }; - 29E8C0B81DD2920C00E8CEBA /* LyricLanguage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FE1D295C5300B90302 /* LyricLanguage.cpp */; }; - 29E8C0B91DD2920C00E8CEBA /* LyricLanguageAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294546FF1D295C5300B90302 /* LyricLanguageAttributes.cpp */; }; - 29E8C0BA1DD2920C00E8CEBA /* LyricTextChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547001D295C5300B90302 /* LyricTextChoice.cpp */; }; - 29E8C0BB1DD2920C00E8CEBA /* MeasureAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547011D295C5300B90302 /* MeasureAttributes.cpp */; }; - 29E8C0BC1DD2920C00E8CEBA /* MeasureDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547021D295C5300B90302 /* MeasureDistance.cpp */; }; - 29E8C0BD1DD2920C00E8CEBA /* MeasureLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547031D295C5300B90302 /* MeasureLayout.cpp */; }; - 29E8C0BE1DD2920C00E8CEBA /* MeasureNumbering.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547041D295C5300B90302 /* MeasureNumbering.cpp */; }; - 29E8C0BF1DD2920C00E8CEBA /* MeasureNumberingAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547051D295C5300B90302 /* MeasureNumberingAttributes.cpp */; }; - 29E8C0C01DD2920C00E8CEBA /* MeasureRepeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547061D295C5300B90302 /* MeasureRepeat.cpp */; }; - 29E8C0C11DD2920C00E8CEBA /* MeasureRepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547071D295C5300B90302 /* MeasureRepeatAttributes.cpp */; }; - 29E8C0C21DD2920C00E8CEBA /* MeasureStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547081D295C5300B90302 /* MeasureStyle.cpp */; }; - 29E8C0C31DD2920C00E8CEBA /* MeasureStyleAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547091D295C5300B90302 /* MeasureStyleAttributes.cpp */; }; - 29E8C0C41DD2920C00E8CEBA /* MeasureStyleChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470A1D295C5300B90302 /* MeasureStyleChoice.cpp */; }; - 29E8C0C51DD2920C00E8CEBA /* Membrane.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470B1D295C5300B90302 /* Membrane.cpp */; }; - 29E8C0C61DD2920C00E8CEBA /* Metal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470C1D295C5300B90302 /* Metal.cpp */; }; - 29E8C0C71DD2920C00E8CEBA /* Metronome.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470D1D295C5300B90302 /* Metronome.cpp */; }; - 29E8C0C81DD2920C00E8CEBA /* MetronomeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470E1D295C5300B90302 /* MetronomeAttributes.cpp */; }; - 29E8C0C91DD2920C00E8CEBA /* MetronomeBeam.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945470F1D295C5300B90302 /* MetronomeBeam.cpp */; }; - 29E8C0CA1DD2920C00E8CEBA /* MetronomeBeamAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547101D295C5300B90302 /* MetronomeBeamAttributes.cpp */; }; - 29E8C0CB1DD2920C00E8CEBA /* MetronomeDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547111D295C5300B90302 /* MetronomeDot.cpp */; }; - 29E8C0CC1DD2920C00E8CEBA /* MetronomeNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547121D295C5300B90302 /* MetronomeNote.cpp */; }; - 29E8C0CD1DD2920C00E8CEBA /* MetronomeRelation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547131D295C5300B90302 /* MetronomeRelation.cpp */; }; - 29E8C0CE1DD2920C00E8CEBA /* MetronomeRelationGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547141D295C5300B90302 /* MetronomeRelationGroup.cpp */; }; - 29E8C0CF1DD2920C00E8CEBA /* MetronomeTuplet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547151D295C5300B90302 /* MetronomeTuplet.cpp */; }; - 29E8C0D01DD2920C00E8CEBA /* MetronomeTupletAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547161D295C5300B90302 /* MetronomeTupletAttributes.cpp */; }; - 29E8C0D11DD2920C00E8CEBA /* MetronomeType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547171D295C5300B90302 /* MetronomeType.cpp */; }; - 29E8C0D21DD2920C00E8CEBA /* MidiBank.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547181D295C5300B90302 /* MidiBank.cpp */; }; - 29E8C0D31DD2920C00E8CEBA /* MidiChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547191D295C5300B90302 /* MidiChannel.cpp */; }; - 29E8C0D41DD2920C00E8CEBA /* MidiDevice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471A1D295C5300B90302 /* MidiDevice.cpp */; }; - 29E8C0D51DD2920C00E8CEBA /* MidiDeviceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471B1D295C5300B90302 /* MidiDeviceAttributes.cpp */; }; - 29E8C0D61DD2920C00E8CEBA /* MidiDeviceInstrumentGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471C1D295C5300B90302 /* MidiDeviceInstrumentGroup.cpp */; }; - 29E8C0D71DD2920C00E8CEBA /* MidiInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471D1D295C5300B90302 /* MidiInstrument.cpp */; }; - 29E8C0D81DD2920C00E8CEBA /* MidiInstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471E1D295C5300B90302 /* MidiInstrumentAttributes.cpp */; }; - 29E8C0D91DD2920C00E8CEBA /* MidiName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945471F1D295C5300B90302 /* MidiName.cpp */; }; - 29E8C0DA1DD2920C00E8CEBA /* MidiProgram.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547201D295C5300B90302 /* MidiProgram.cpp */; }; - 29E8C0DB1DD2920C00E8CEBA /* MidiUnpitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547211D295C5300B90302 /* MidiUnpitched.cpp */; }; - 29E8C0DC1DD2920C00E8CEBA /* Millimeters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547221D295C5300B90302 /* Millimeters.cpp */; }; - 29E8C0DD1DD2920C00E8CEBA /* Miscellaneous.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547231D295C5300B90302 /* Miscellaneous.cpp */; }; - 29E8C0DE1DD2920C00E8CEBA /* MiscellaneousField.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547241D295C5300B90302 /* MiscellaneousField.cpp */; }; - 29E8C0DF1DD2920C00E8CEBA /* MiscellaneousFieldAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547251D295C5300B90302 /* MiscellaneousFieldAttributes.cpp */; }; - 29E8C0E01DD2920C00E8CEBA /* Mode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547261D295C5300B90302 /* Mode.cpp */; }; - 29E8C0E11DD2920C00E8CEBA /* Mordent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547271D295C5300B90302 /* Mordent.cpp */; }; - 29E8C0E21DD2920C00E8CEBA /* MordentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547281D295C5300B90302 /* MordentAttributes.cpp */; }; - 29E8C0E31DD2920C00E8CEBA /* MovementNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547291D295C5300B90302 /* MovementNumber.cpp */; }; - 29E8C0E41DD2920C00E8CEBA /* MovementTitle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472A1D295C5300B90302 /* MovementTitle.cpp */; }; - 29E8C0E51DD2920C00E8CEBA /* MultipleRest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472B1D295C5300B90302 /* MultipleRest.cpp */; }; - 29E8C0E61DD2920C00E8CEBA /* MultipleRestAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472C1D295C5400B90302 /* MultipleRestAttributes.cpp */; }; - 29E8C0E71DD2920C00E8CEBA /* MusicDataChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472D1D295C5400B90302 /* MusicDataChoice.cpp */; }; - 29E8C0E81DD2920C00E8CEBA /* MusicDataGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472E1D295C5400B90302 /* MusicDataGroup.cpp */; }; - 29E8C0E91DD2920C00E8CEBA /* MusicFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945472F1D295C5400B90302 /* MusicFont.cpp */; }; - 29E8C0EA1DD2920C00E8CEBA /* Mute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547301D295C5400B90302 /* Mute.cpp */; }; - 29E8C0EB1DD2920C00E8CEBA /* Natural.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547311D295C5400B90302 /* Natural.cpp */; }; - 29E8C0EC1DD2920C00E8CEBA /* NonArpeggiate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547321D295C5400B90302 /* NonArpeggiate.cpp */; }; - 29E8C0ED1DD2920C00E8CEBA /* NonArpeggiateAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547331D295C5400B90302 /* NonArpeggiateAttributes.cpp */; }; - 29E8C0EE1DD2920C00E8CEBA /* NonTraditionalKey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547341D295C5400B90302 /* NonTraditionalKey.cpp */; }; - 29E8C0EF1DD2920C00E8CEBA /* NormalDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547351D295C5400B90302 /* NormalDot.cpp */; }; - 29E8C0F01DD2920C00E8CEBA /* NormalNoteGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547361D295C5400B90302 /* NormalNoteGroup.cpp */; }; - 29E8C0F11DD2920C00E8CEBA /* NormalNotes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547371D295C5400B90302 /* NormalNotes.cpp */; }; - 29E8C0F21DD2920C00E8CEBA /* NormalType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547381D295C5400B90302 /* NormalType.cpp */; }; - 29E8C0F31DD2920C00E8CEBA /* NormalTypeNormalDotGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547391D295C5400B90302 /* NormalTypeNormalDotGroup.cpp */; }; - 29E8C0F41DD2920C00E8CEBA /* Notations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473A1D295C5400B90302 /* Notations.cpp */; }; - 29E8C0F51DD2920C00E8CEBA /* NotationsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473B1D295C5400B90302 /* NotationsAttributes.cpp */; }; - 29E8C0F61DD2920C00E8CEBA /* NotationsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473C1D295C5400B90302 /* NotationsChoice.cpp */; }; - 29E8C0F71DD2920C00E8CEBA /* Note.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473D1D295C5400B90302 /* Note.cpp */; }; - 29E8C0F81DD2920C00E8CEBA /* NoteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473E1D295C5400B90302 /* NoteAttributes.cpp */; }; - 29E8C0F91DD2920C00E8CEBA /* NoteChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945473F1D295C5400B90302 /* NoteChoice.cpp */; }; - 29E8C0FA1DD2920C00E8CEBA /* Notehead.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547401D295C5400B90302 /* Notehead.cpp */; }; - 29E8C0FB1DD2920C00E8CEBA /* NoteheadAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547411D295C5400B90302 /* NoteheadAttributes.cpp */; }; - 29E8C0FC1DD2920C00E8CEBA /* NoteheadText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547421D295C5400B90302 /* NoteheadText.cpp */; }; - 29E8C0FD1DD2920C00E8CEBA /* NoteheadTextChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 295C49361D2CB41E0015E349 /* NoteheadTextChoice.cpp */; }; - 29E8C0FE1DD2920C00E8CEBA /* NoteRelationNote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547431D295C5400B90302 /* NoteRelationNote.cpp */; }; - 29E8C0FF1DD2920C00E8CEBA /* NoteSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547441D295C5400B90302 /* NoteSize.cpp */; }; - 29E8C1001DD2920C00E8CEBA /* NoteSizeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547451D295C5400B90302 /* NoteSizeAttributes.cpp */; }; - 29E8C1011DD2920C00E8CEBA /* Octave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547461D295C5400B90302 /* Octave.cpp */; }; - 29E8C1021DD2920C00E8CEBA /* OctaveChange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547471D295C5400B90302 /* OctaveChange.cpp */; }; - 29E8C1031DD2920C00E8CEBA /* OctaveShift.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547481D295C5400B90302 /* OctaveShift.cpp */; }; - 29E8C1041DD2920C00E8CEBA /* OctaveShiftAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547491D295C5400B90302 /* OctaveShiftAttributes.cpp */; }; - 29E8C1051DD2920C00E8CEBA /* Offset.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474A1D295C5400B90302 /* Offset.cpp */; }; - 29E8C1061DD2920C00E8CEBA /* OffsetAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474B1D295C5400B90302 /* OffsetAttributes.cpp */; }; - 29E8C1071DD2920C00E8CEBA /* OpenString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474C1D295C5400B90302 /* OpenString.cpp */; }; - 29E8C1081DD2920C00E8CEBA /* Opus.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474D1D295C5400B90302 /* Opus.cpp */; }; - 29E8C1091DD2920C00E8CEBA /* OpusAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474E1D295C5400B90302 /* OpusAttributes.cpp */; }; - 29E8C10A1DD2920C00E8CEBA /* Ornaments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945474F1D295C5400B90302 /* Ornaments.cpp */; }; - 29E8C10B1DD2920C00E8CEBA /* OrnamentsChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547501D295C5400B90302 /* OrnamentsChoice.cpp */; }; - 29E8C10C1DD2920C00E8CEBA /* OtherAppearance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547511D295C5400B90302 /* OtherAppearance.cpp */; }; - 29E8C10D1DD2920C00E8CEBA /* OtherAppearanceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547521D295C5400B90302 /* OtherAppearanceAttributes.cpp */; }; - 29E8C10E1DD2920C00E8CEBA /* OtherArticulation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547531D295C5400B90302 /* OtherArticulation.cpp */; }; - 29E8C10F1DD2920C00E8CEBA /* OtherArticulationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547541D295C5400B90302 /* OtherArticulationAttributes.cpp */; }; - 29E8C1101DD2920C00E8CEBA /* OtherDirection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547551D295C5400B90302 /* OtherDirection.cpp */; }; - 29E8C1111DD2920C00E8CEBA /* OtherDirectionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547561D295C5400B90302 /* OtherDirectionAttributes.cpp */; }; - 29E8C1121DD2920C00E8CEBA /* OtherNotation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547571D295C5400B90302 /* OtherNotation.cpp */; }; - 29E8C1131DD2920C00E8CEBA /* OtherNotationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547581D295C5400B90302 /* OtherNotationAttributes.cpp */; }; - 29E8C1141DD2920C00E8CEBA /* OtherOrnament.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547591D295C5400B90302 /* OtherOrnament.cpp */; }; - 29E8C1151DD2920C00E8CEBA /* OtherOrnamentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475A1D295C5400B90302 /* OtherOrnamentAttributes.cpp */; }; - 29E8C1161DD2920C00E8CEBA /* OtherPercussion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475B1D295C5400B90302 /* OtherPercussion.cpp */; }; - 29E8C1171DD2920C00E8CEBA /* OtherPlay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475C1D295C5400B90302 /* OtherPlay.cpp */; }; - 29E8C1181DD2920C00E8CEBA /* OtherPlayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475D1D295C5400B90302 /* OtherPlayAttributes.cpp */; }; - 29E8C1191DD2920C00E8CEBA /* OtherTechnical.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475E1D295C5400B90302 /* OtherTechnical.cpp */; }; - 29E8C11A1DD2920C00E8CEBA /* OtherTechnicalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945475F1D295C5400B90302 /* OtherTechnicalAttributes.cpp */; }; - 29E8C11B1DD2920C00E8CEBA /* PageHeight.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547601D295C5400B90302 /* PageHeight.cpp */; }; - 29E8C11C1DD2920C00E8CEBA /* PageLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547611D295C5400B90302 /* PageLayout.cpp */; }; - 29E8C11D1DD2920C00E8CEBA /* PageMargins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547621D295C5400B90302 /* PageMargins.cpp */; }; - 29E8C11E1DD2920C00E8CEBA /* PageMarginsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547631D295C5400B90302 /* PageMarginsAttributes.cpp */; }; - 29E8C11F1DD2920C00E8CEBA /* PageWidth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547641D295C5400B90302 /* PageWidth.cpp */; }; - 29E8C1201DD2920C00E8CEBA /* Pan.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547651D295C5400B90302 /* Pan.cpp */; }; - 29E8C1211DD2920C00E8CEBA /* PartAbbreviation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547661D295C5400B90302 /* PartAbbreviation.cpp */; }; - 29E8C1221DD2920C00E8CEBA /* PartAbbreviationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547671D295C5400B90302 /* PartAbbreviationAttributes.cpp */; }; - 29E8C1231DD2920C00E8CEBA /* PartAbbreviationDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547681D295C5400B90302 /* PartAbbreviationDisplay.cpp */; }; - 29E8C1241DD2920C00E8CEBA /* PartAbbreviationDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547691D295C5400B90302 /* PartAbbreviationDisplayAttributes.cpp */; }; - 29E8C1251DD2920C00E8CEBA /* PartAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476A1D295C5400B90302 /* PartAttributes.cpp */; }; - 29E8C1261DD2920C00E8CEBA /* PartGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476B1D295C5400B90302 /* PartGroup.cpp */; }; - 29E8C1271DD2920C00E8CEBA /* PartGroupAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476C1D295C5400B90302 /* PartGroupAttributes.cpp */; }; - 29E8C1281DD2920C00E8CEBA /* PartGroupOrScorePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476D1D295C5400B90302 /* PartGroupOrScorePart.cpp */; }; - 29E8C1291DD2920C00E8CEBA /* PartList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476E1D295C5400B90302 /* PartList.cpp */; }; - 29E8C12A1DD2920C00E8CEBA /* PartName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945476F1D295C5400B90302 /* PartName.cpp */; }; - 29E8C12B1DD2920C00E8CEBA /* PartNameAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547701D295C5400B90302 /* PartNameAttributes.cpp */; }; - 29E8C12C1DD2920C00E8CEBA /* PartNameDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547711D295C5400B90302 /* PartNameDisplay.cpp */; }; - 29E8C12D1DD2920C00E8CEBA /* PartNameDisplayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547721D295C5400B90302 /* PartNameDisplayAttributes.cpp */; }; - 29E8C12E1DD2920C00E8CEBA /* PartSymbol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547731D295C5400B90302 /* PartSymbol.cpp */; }; - 29E8C12F1DD2920C00E8CEBA /* PartSymbolAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547741D295C5400B90302 /* PartSymbolAttributes.cpp */; }; - 29E8C1301DD2920C00E8CEBA /* PartwiseMeasure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547751D295C5400B90302 /* PartwiseMeasure.cpp */; }; - 29E8C1311DD2920C00E8CEBA /* PartwisePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547761D295C5400B90302 /* PartwisePart.cpp */; }; - 29E8C1321DD2920C00E8CEBA /* Pedal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547771D295C5400B90302 /* Pedal.cpp */; }; - 29E8C1331DD2920C00E8CEBA /* PedalAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547781D295C5400B90302 /* PedalAlter.cpp */; }; - 29E8C1341DD2920C00E8CEBA /* PedalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547791D295C5400B90302 /* PedalAttributes.cpp */; }; - 29E8C1351DD2920C00E8CEBA /* PedalStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477A1D295C5400B90302 /* PedalStep.cpp */; }; - 29E8C1361DD2920C00E8CEBA /* PedalTuning.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477B1D295C5400B90302 /* PedalTuning.cpp */; }; - 29E8C1371DD2920C00E8CEBA /* Percussion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477C1D295C5400B90302 /* Percussion.cpp */; }; - 29E8C1381DD2920C00E8CEBA /* PercussionAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477D1D295C5400B90302 /* PercussionAttributes.cpp */; }; - 29E8C1391DD2920C00E8CEBA /* PercussionChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477E1D295C5400B90302 /* PercussionChoice.cpp */; }; - 29E8C13A1DD2920C00E8CEBA /* PerMinute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945477F1D295C5400B90302 /* PerMinute.cpp */; }; - 29E8C13B1DD2920C00E8CEBA /* PerMinuteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547801D295C5400B90302 /* PerMinuteAttributes.cpp */; }; - 29E8C13C1DD2920C00E8CEBA /* PerMinuteOrBeatUnitChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547811D295C5400B90302 /* PerMinuteOrBeatUnitChoice.cpp */; }; - 29E8C13D1DD2920C00E8CEBA /* Pitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547821D295C5400B90302 /* Pitch.cpp */; }; - 29E8C13E1DD2920C00E8CEBA /* Pitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547831D295C5400B90302 /* Pitched.cpp */; }; - 29E8C13F1DD2920C00E8CEBA /* Play.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547841D295C5400B90302 /* Play.cpp */; }; - 29E8C1401DD2920C00E8CEBA /* PlayAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547851D295C5400B90302 /* PlayAttributes.cpp */; }; - 29E8C1411DD2920C00E8CEBA /* Plop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547861D295C5400B90302 /* Plop.cpp */; }; - 29E8C1421DD2920C00E8CEBA /* Pluck.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547871D295C5400B90302 /* Pluck.cpp */; }; - 29E8C1431DD2920C00E8CEBA /* PluckAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547881D295C5400B90302 /* PluckAttributes.cpp */; }; - 29E8C1441DD2920C00E8CEBA /* PreBend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547891D295C5400B90302 /* PreBend.cpp */; }; - 29E8C1451DD2920C00E8CEBA /* Prefix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478A1D295C5400B90302 /* Prefix.cpp */; }; - 29E8C1461DD2920C00E8CEBA /* PrefixAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478B1D295C5400B90302 /* PrefixAttributes.cpp */; }; - 29E8C1471DD2920C00E8CEBA /* PrincipalVoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478C1D295C5400B90302 /* PrincipalVoice.cpp */; }; - 29E8C1481DD2920C00E8CEBA /* PrincipalVoiceAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478D1D295C5400B90302 /* PrincipalVoiceAttributes.cpp */; }; - 29E8C1491DD2920C00E8CEBA /* Print.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478E1D295C5400B90302 /* Print.cpp */; }; - 29E8C14A1DD2920C00E8CEBA /* PrintAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945478F1D295C5400B90302 /* PrintAttributes.cpp */; }; - 29E8C14B1DD2920C00E8CEBA /* Properties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547901D295C5400B90302 /* Properties.cpp */; }; - 29E8C14C1DD2920C00E8CEBA /* PullOff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547911D295C5400B90302 /* PullOff.cpp */; }; - 29E8C14D1DD2920C00E8CEBA /* PullOffAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547921D295C5400B90302 /* PullOffAttributes.cpp */; }; - 29E8C14E1DD2920C00E8CEBA /* Rehearsal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547931D295C5400B90302 /* Rehearsal.cpp */; }; - 29E8C14F1DD2920C00E8CEBA /* RehearsalAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547941D295C5400B90302 /* RehearsalAttributes.cpp */; }; - 29E8C1501DD2920C00E8CEBA /* Relation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547951D295C5400B90302 /* Relation.cpp */; }; - 29E8C1511DD2920C00E8CEBA /* RelationAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547961D295C5400B90302 /* RelationAttributes.cpp */; }; - 29E8C1521DD2920C00E8CEBA /* Release.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547971D295C5400B90302 /* Release.cpp */; }; - 29E8C1531DD2920C00E8CEBA /* Repeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547981D295C5400B90302 /* Repeat.cpp */; }; - 29E8C1541DD2920C00E8CEBA /* RepeatAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547991D295C5400B90302 /* RepeatAttributes.cpp */; }; - 29E8C1551DD2920C00E8CEBA /* Rest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479A1D295C5400B90302 /* Rest.cpp */; }; - 29E8C1561DD2920C00E8CEBA /* RestAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479B1D295C5400B90302 /* RestAttributes.cpp */; }; - 29E8C1571DD2920C00E8CEBA /* RightDivider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479C1D295C5400B90302 /* RightDivider.cpp */; }; - 29E8C1581DD2920C00E8CEBA /* RightMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479D1D295C5400B90302 /* RightMargin.cpp */; }; - 29E8C1591DD2920C00E8CEBA /* Rights.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479E1D295C5400B90302 /* Rights.cpp */; }; - 29E8C15A1DD2920C00E8CEBA /* RightsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945479F1D295C5400B90302 /* RightsAttributes.cpp */; }; - 29E8C15B1DD2920C00E8CEBA /* Root.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A01D295C5400B90302 /* Root.cpp */; }; - 29E8C15C1DD2920C00E8CEBA /* RootAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A11D295C5400B90302 /* RootAlter.cpp */; }; - 29E8C15D1DD2920C00E8CEBA /* RootAlterAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A21D295C5400B90302 /* RootAlterAttributes.cpp */; }; - 29E8C15E1DD2920C00E8CEBA /* RootStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A31D295C5400B90302 /* RootStep.cpp */; }; - 29E8C15F1DD2920C00E8CEBA /* RootStepAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A41D295C5400B90302 /* RootStepAttributes.cpp */; }; - 29E8C1601DD2920C00E8CEBA /* Scaling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A51D295C5400B90302 /* Scaling.cpp */; }; - 29E8C1611DD2920C00E8CEBA /* Schleifer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A61D295C5400B90302 /* Schleifer.cpp */; }; - 29E8C1621DD2920C00E8CEBA /* Scoop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A71D295C5400B90302 /* Scoop.cpp */; }; - 29E8C1631DD2920C00E8CEBA /* Scordatura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A81D295C5400B90302 /* Scordatura.cpp */; }; - 29E8C1641DD2920C00E8CEBA /* ScoreHeaderGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547A91D295C5400B90302 /* ScoreHeaderGroup.cpp */; }; - 29E8C1651DD2920C00E8CEBA /* ScoreInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AA1D295C5400B90302 /* ScoreInstrument.cpp */; }; - 29E8C1661DD2920C00E8CEBA /* ScoreInstrumentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AB1D295C5400B90302 /* ScoreInstrumentAttributes.cpp */; }; - 29E8C1671DD2920C00E8CEBA /* ScorePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AC1D295C5400B90302 /* ScorePart.cpp */; }; - 29E8C1681DD2920C00E8CEBA /* ScorePartAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AD1D295C5400B90302 /* ScorePartAttributes.cpp */; }; - 29E8C1691DD2920C00E8CEBA /* ScorePartwise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AE1D295C5400B90302 /* ScorePartwise.cpp */; }; - 29E8C16A1DD2920C00E8CEBA /* ScorePartwiseAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547AF1D295C5400B90302 /* ScorePartwiseAttributes.cpp */; }; - 29E8C16B1DD2920C00E8CEBA /* ScoreTimewise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B01D295C5400B90302 /* ScoreTimewise.cpp */; }; - 29E8C16C1DD2920C00E8CEBA /* ScoreTimewiseAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B11D295C5400B90302 /* ScoreTimewiseAttributes.cpp */; }; - 29E8C16D1DD2920C00E8CEBA /* Segno.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B21D295C5400B90302 /* Segno.cpp */; }; - 29E8C16E1DD2920C00E8CEBA /* SemiPitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B31D295C5400B90302 /* SemiPitched.cpp */; }; - 29E8C16F1DD2920C00E8CEBA /* SenzaMisura.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B41D295C5400B90302 /* SenzaMisura.cpp */; }; - 29E8C1701DD2920C00E8CEBA /* Shake.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B51D295C5400B90302 /* Shake.cpp */; }; - 29E8C1711DD2920C00E8CEBA /* Sign.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B61D295C5400B90302 /* Sign.cpp */; }; - 29E8C1721DD2920C00E8CEBA /* Slash.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B71D295C5400B90302 /* Slash.cpp */; }; - 29E8C1731DD2920C00E8CEBA /* SlashAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B81D295C5400B90302 /* SlashAttributes.cpp */; }; - 29E8C1741DD2920C00E8CEBA /* SlashDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547B91D295C5400B90302 /* SlashDot.cpp */; }; - 29E8C1751DD2920C00E8CEBA /* SlashType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BA1D295C5400B90302 /* SlashType.cpp */; }; - 29E8C1761DD2920C00E8CEBA /* Slide.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BB1D295C5400B90302 /* Slide.cpp */; }; - 29E8C1771DD2920C00E8CEBA /* SlideAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BC1D295C5400B90302 /* SlideAttributes.cpp */; }; - 29E8C1781DD2920C00E8CEBA /* Slur.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BD1D295C5400B90302 /* Slur.cpp */; }; - 29E8C1791DD2920C00E8CEBA /* SlurAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BE1D295C5400B90302 /* SlurAttributes.cpp */; }; - 29E8C17A1DD2920C00E8CEBA /* SnapPizzicato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547BF1D295C5400B90302 /* SnapPizzicato.cpp */; }; - 29E8C17B1DD2920C00E8CEBA /* Software.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C01D295C5400B90302 /* Software.cpp */; }; - 29E8C17C1DD2920C00E8CEBA /* Solo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C11D295C5400B90302 /* Solo.cpp */; }; - 29E8C17D1DD2920C00E8CEBA /* SoloOrEnsembleChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C21D295C5400B90302 /* SoloOrEnsembleChoice.cpp */; }; - 29E8C17E1DD2920C00E8CEBA /* Sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C31D295C5400B90302 /* Sound.cpp */; }; - 29E8C17F1DD2920C00E8CEBA /* SoundAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C41D295C5400B90302 /* SoundAttributes.cpp */; }; - 29E8C1801DD2920C00E8CEBA /* SoundingPitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C51D295C5400B90302 /* SoundingPitch.cpp */; }; - 29E8C1811DD2920C00E8CEBA /* Source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C61D295C5400B90302 /* Source.cpp */; }; - 29E8C1821DD2920C00E8CEBA /* Spiccato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C71D295C5400B90302 /* Spiccato.cpp */; }; - 29E8C1831DD2920C00E8CEBA /* Staccatissimo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C81D295C5400B90302 /* Staccatissimo.cpp */; }; - 29E8C1841DD2920C00E8CEBA /* Staccato.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547C91D295C5400B90302 /* Staccato.cpp */; }; - 29E8C1851DD2920C00E8CEBA /* Staff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CA1D295C5400B90302 /* Staff.cpp */; }; - 29E8C1861DD2920C00E8CEBA /* StaffDetails.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CB1D295C5400B90302 /* StaffDetails.cpp */; }; - 29E8C1871DD2920C00E8CEBA /* StaffDetailsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CC1D295C5400B90302 /* StaffDetailsAttributes.cpp */; }; - 29E8C1881DD2920C00E8CEBA /* StaffDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CD1D295C5400B90302 /* StaffDistance.cpp */; }; - 29E8C1891DD2920C00E8CEBA /* StaffLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CE1D295C5400B90302 /* StaffLayout.cpp */; }; - 29E8C18A1DD2920C00E8CEBA /* StaffLayoutAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547CF1D295C5400B90302 /* StaffLayoutAttributes.cpp */; }; - 29E8C18B1DD2920C00E8CEBA /* StaffLines.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D01D295C5400B90302 /* StaffLines.cpp */; }; - 29E8C18C1DD2920C00E8CEBA /* StaffSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D11D295C5400B90302 /* StaffSize.cpp */; }; - 29E8C18D1DD2920C00E8CEBA /* StaffTuning.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D21D295C5400B90302 /* StaffTuning.cpp */; }; - 29E8C18E1DD2920C00E8CEBA /* StaffTuningAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D31D295C5400B90302 /* StaffTuningAttributes.cpp */; }; - 29E8C18F1DD2920C00E8CEBA /* StaffType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D41D295C5400B90302 /* StaffType.cpp */; }; - 29E8C1901DD2920C00E8CEBA /* Staves.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D51D295C5400B90302 /* Staves.cpp */; }; - 29E8C1911DD2920C00E8CEBA /* Stem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D61D295C5400B90302 /* Stem.cpp */; }; - 29E8C1921DD2920C00E8CEBA /* StemAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D71D295C5400B90302 /* StemAttributes.cpp */; }; - 29E8C1931DD2920C00E8CEBA /* Step.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D81D295C5400B90302 /* Step.cpp */; }; - 29E8C1941DD2920C00E8CEBA /* Stick.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547D91D295C5400B90302 /* Stick.cpp */; }; - 29E8C1951DD2920C00E8CEBA /* StickAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DA1D295C5400B90302 /* StickAttributes.cpp */; }; - 29E8C1961DD2920C00E8CEBA /* StickLocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DB1D295C5400B90302 /* StickLocation.cpp */; }; - 29E8C1971DD2920C00E8CEBA /* StickMaterial.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DC1D295C5400B90302 /* StickMaterial.cpp */; }; - 29E8C1981DD2920C00E8CEBA /* StickType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DD1D295C5400B90302 /* StickType.cpp */; }; - 29E8C1991DD2920C00E8CEBA /* Stopped.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DE1D295C5400B90302 /* Stopped.cpp */; }; - 29E8C19A1DD2920C00E8CEBA /* Stress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547DF1D295C5400B90302 /* Stress.cpp */; }; - 29E8C19B1DD2920C00E8CEBA /* String.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E01D295C5400B90302 /* String.cpp */; }; - 29E8C19C1DD2920C00E8CEBA /* StringAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E11D295C5400B90302 /* StringAttributes.cpp */; }; - 29E8C19D1DD2920C00E8CEBA /* StringMute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E21D295C5400B90302 /* StringMute.cpp */; }; - 29E8C19E1DD2920C00E8CEBA /* StringMuteAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E31D295C5400B90302 /* StringMuteAttributes.cpp */; }; - 29E8C19F1DD2920C00E8CEBA /* StrongAccent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E41D295C5400B90302 /* StrongAccent.cpp */; }; - 29E8C1A01DD2920C00E8CEBA /* StrongAccentAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E51D295C5400B90302 /* StrongAccentAttributes.cpp */; }; - 29E8C1A11DD2920C00E8CEBA /* Suffix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E61D295C5400B90302 /* Suffix.cpp */; }; - 29E8C1A21DD2920C00E8CEBA /* SuffixAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E71D295C5400B90302 /* SuffixAttributes.cpp */; }; - 29E8C1A31DD2920C00E8CEBA /* Supports.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E81D295C5400B90302 /* Supports.cpp */; }; - 29E8C1A41DD2920C00E8CEBA /* SupportsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547E91D295C5400B90302 /* SupportsAttributes.cpp */; }; - 29E8C1A51DD2920C00E8CEBA /* Syllabic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EA1D295C5400B90302 /* Syllabic.cpp */; }; - 29E8C1A61DD2920C00E8CEBA /* SyllabicTextGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EB1D295C5400B90302 /* SyllabicTextGroup.cpp */; }; - 29E8C1A71DD2920C00E8CEBA /* SystemDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EC1D295C5400B90302 /* SystemDistance.cpp */; }; - 29E8C1A81DD2920C00E8CEBA /* SystemDividers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547ED1D295C5400B90302 /* SystemDividers.cpp */; }; - 29E8C1A91DD2920C00E8CEBA /* SystemLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EE1D295C5400B90302 /* SystemLayout.cpp */; }; - 29E8C1AA1DD2920C00E8CEBA /* SystemMargins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547EF1D295C5400B90302 /* SystemMargins.cpp */; }; - 29E8C1AB1DD2920C00E8CEBA /* Tap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F01D295C5400B90302 /* Tap.cpp */; }; - 29E8C1AC1DD2920C00E8CEBA /* TapAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F11D295C5400B90302 /* TapAttributes.cpp */; }; - 29E8C1AD1DD2920C00E8CEBA /* Technical.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F21D295C5400B90302 /* Technical.cpp */; }; - 29E8C1AE1DD2920C00E8CEBA /* TechnicalChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F31D295C5400B90302 /* TechnicalChoice.cpp */; }; - 29E8C1AF1DD2920C00E8CEBA /* Tenths.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F41D295C5400B90302 /* Tenths.cpp */; }; - 29E8C1B01DD2920C00E8CEBA /* Tenuto.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F51D295C5400B90302 /* Tenuto.cpp */; }; - 29E8C1B11DD2920C00E8CEBA /* Text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F61D295C5400B90302 /* Text.cpp */; }; - 29E8C1B21DD2920C00E8CEBA /* TextAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F71D295C5400B90302 /* TextAttributes.cpp */; }; - 29E8C1B31DD2920C00E8CEBA /* ThumbPosition.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F81D295C5400B90302 /* ThumbPosition.cpp */; }; - 29E8C1B41DD2920C00E8CEBA /* Tie.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547F91D295C5400B90302 /* Tie.cpp */; }; - 29E8C1B51DD2920C00E8CEBA /* TieAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FA1D295C5400B90302 /* TieAttributes.cpp */; }; - 29E8C1B61DD2920C00E8CEBA /* Tied.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FB1D295C5400B90302 /* Tied.cpp */; }; - 29E8C1B71DD2920C00E8CEBA /* TiedAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FC1D295C5400B90302 /* TiedAttributes.cpp */; }; - 29E8C1B81DD2920C00E8CEBA /* Time.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FD1D295C5400B90302 /* Time.cpp */; }; - 29E8C1B91DD2920C00E8CEBA /* TimeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FE1D295C5400B90302 /* TimeAttributes.cpp */; }; - 29E8C1BA1DD2920C00E8CEBA /* TimeChoice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294547FF1D295C5400B90302 /* TimeChoice.cpp */; }; - 29E8C1BB1DD2920C00E8CEBA /* TimeModification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548001D295C5400B90302 /* TimeModification.cpp */; }; - 29E8C1BC1DD2920C00E8CEBA /* TimeModificationNormalTypeNormalDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548011D295C5400B90302 /* TimeModificationNormalTypeNormalDot.cpp */; }; - 29E8C1BD1DD2920C00E8CEBA /* TimeRelation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548021D295C5400B90302 /* TimeRelation.cpp */; }; - 29E8C1BE1DD2920C00E8CEBA /* TimeSignatureGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548031D295C5400B90302 /* TimeSignatureGroup.cpp */; }; - 29E8C1BF1DD2920C00E8CEBA /* TimewiseMeasure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548041D295C5400B90302 /* TimewiseMeasure.cpp */; }; - 29E8C1C01DD2920C00E8CEBA /* TimewisePart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548051D295C5400B90302 /* TimewisePart.cpp */; }; - 29E8C1C11DD2920C00E8CEBA /* Timpani.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548061D295C5400B90302 /* Timpani.cpp */; }; - 29E8C1C21DD2920C00E8CEBA /* Toe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548071D295C5400B90302 /* Toe.cpp */; }; - 29E8C1C31DD2920C00E8CEBA /* ToeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548081D295C5400B90302 /* ToeAttributes.cpp */; }; - 29E8C1C41DD2920C00E8CEBA /* TopMargin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548091D295C5400B90302 /* TopMargin.cpp */; }; - 29E8C1C51DD2920C00E8CEBA /* TopSystemDistance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480A1D295C5400B90302 /* TopSystemDistance.cpp */; }; - 29E8C1C61DD2920C00E8CEBA /* TouchingPitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480B1D295C5400B90302 /* TouchingPitch.cpp */; }; - 29E8C1C71DD2920C00E8CEBA /* TraditionalKey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480C1D295C5400B90302 /* TraditionalKey.cpp */; }; - 29E8C1C81DD2920C00E8CEBA /* Transpose.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480D1D295C5400B90302 /* Transpose.cpp */; }; - 29E8C1C91DD2920C00E8CEBA /* TransposeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480E1D295C5400B90302 /* TransposeAttributes.cpp */; }; - 29E8C1CA1DD2920C00E8CEBA /* Tremolo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945480F1D295C5400B90302 /* Tremolo.cpp */; }; - 29E8C1CB1DD2920C00E8CEBA /* TremoloAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548101D295C5400B90302 /* TremoloAttributes.cpp */; }; - 29E8C1CC1DD2920C00E8CEBA /* TrillMark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548111D295C5400B90302 /* TrillMark.cpp */; }; - 29E8C1CD1DD2920C00E8CEBA /* TripleTongue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548121D295C5400B90302 /* TripleTongue.cpp */; }; - 29E8C1CE1DD2920C00E8CEBA /* TuningAlter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548131D295C5400B90302 /* TuningAlter.cpp */; }; - 29E8C1CF1DD2920C00E8CEBA /* TuningOctave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548141D295C5400B90302 /* TuningOctave.cpp */; }; - 29E8C1D01DD2920C00E8CEBA /* TuningStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548151D295C5400B90302 /* TuningStep.cpp */; }; - 29E8C1D11DD2920C00E8CEBA /* Tuplet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548161D295C5400B90302 /* Tuplet.cpp */; }; - 29E8C1D21DD2920C00E8CEBA /* TupletActual.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548171D295C5400B90302 /* TupletActual.cpp */; }; - 29E8C1D31DD2920C00E8CEBA /* TupletAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548181D295C5400B90302 /* TupletAttributes.cpp */; }; - 29E8C1D41DD2920C00E8CEBA /* TupletDot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548191D295C5400B90302 /* TupletDot.cpp */; }; - 29E8C1D51DD2920C00E8CEBA /* TupletDotAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481A1D295C5400B90302 /* TupletDotAttributes.cpp */; }; - 29E8C1D61DD2920C00E8CEBA /* TupletNormal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481B1D295C5400B90302 /* TupletNormal.cpp */; }; - 29E8C1D71DD2920C00E8CEBA /* TupletNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481C1D295C5500B90302 /* TupletNumber.cpp */; }; - 29E8C1D81DD2920C00E8CEBA /* TupletNumberAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481D1D295C5500B90302 /* TupletNumberAttributes.cpp */; }; - 29E8C1D91DD2920C00E8CEBA /* TupletType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481E1D295C5500B90302 /* TupletType.cpp */; }; - 29E8C1DA1DD2920C00E8CEBA /* TupletTypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945481F1D295C5500B90302 /* TupletTypeAttributes.cpp */; }; - 29E8C1DB1DD2920C00E8CEBA /* Turn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548201D295C5500B90302 /* Turn.cpp */; }; - 29E8C1DC1DD2920C00E8CEBA /* TurnAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548211D295C5500B90302 /* TurnAttributes.cpp */; }; - 29E8C1DD1DD2920C00E8CEBA /* Type.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548221D295C5500B90302 /* Type.cpp */; }; - 29E8C1DE1DD2920C00E8CEBA /* TypeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548231D295C5500B90302 /* TypeAttributes.cpp */; }; - 29E8C1DF1DD2920C00E8CEBA /* Unpitched.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548241D295C5500B90302 /* Unpitched.cpp */; }; - 29E8C1E01DD2920C00E8CEBA /* Unstress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548251D295C5500B90302 /* Unstress.cpp */; }; - 29E8C1E11DD2920C00E8CEBA /* UpBow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548261D295C5500B90302 /* UpBow.cpp */; }; - 29E8C1E21DD2920C00E8CEBA /* VerticalTurn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548271D295C5500B90302 /* VerticalTurn.cpp */; }; - 29E8C1E31DD2920C00E8CEBA /* VirtualInstrument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548281D295C5500B90302 /* VirtualInstrument.cpp */; }; - 29E8C1E41DD2920C00E8CEBA /* VirtualLibrary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548291D295C5500B90302 /* VirtualLibrary.cpp */; }; - 29E8C1E51DD2920C00E8CEBA /* VirtualName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482A1D295C5500B90302 /* VirtualName.cpp */; }; - 29E8C1E61DD2920C00E8CEBA /* Voice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482B1D295C5500B90302 /* Voice.cpp */; }; - 29E8C1E71DD2920C00E8CEBA /* Volume.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482C1D295C5500B90302 /* Volume.cpp */; }; - 29E8C1E81DD2920C00E8CEBA /* WavyLine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482D1D295C5500B90302 /* WavyLine.cpp */; }; - 29E8C1E91DD2920C00E8CEBA /* WavyLineAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482E1D295C5500B90302 /* WavyLineAttributes.cpp */; }; - 29E8C1EA1DD2920C00E8CEBA /* Wedge.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2945482F1D295C5500B90302 /* Wedge.cpp */; }; - 29E8C1EB1DD2920C00E8CEBA /* WedgeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548301D295C5500B90302 /* WedgeAttributes.cpp */; }; - 29E8C1EC1DD2920C00E8CEBA /* WithBar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548311D295C5500B90302 /* WithBar.cpp */; }; - 29E8C1ED1DD2920C00E8CEBA /* WithBarAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548321D295C5500B90302 /* WithBarAttributes.cpp */; }; - 29E8C1EE1DD2920C00E8CEBA /* Wood.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548331D295C5500B90302 /* Wood.cpp */; }; - 29E8C1EF1DD2920C00E8CEBA /* WordFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548341D295C5500B90302 /* WordFont.cpp */; }; - 29E8C1F01DD2920C00E8CEBA /* Words.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548351D295C5500B90302 /* Words.cpp */; }; - 29E8C1F11DD2920C00E8CEBA /* WordsAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548361D295C5500B90302 /* WordsAttributes.cpp */; }; - 29E8C1F21DD2920C00E8CEBA /* Work.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548371D295C5500B90302 /* Work.cpp */; }; - 29E8C1F31DD2920C00E8CEBA /* WorkNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548381D295C5500B90302 /* WorkNumber.cpp */; }; - 29E8C1F41DD2920C00E8CEBA /* WorkTitle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 294548391D295C5500B90302 /* WorkTitle.cpp */; }; - 29E8C1F51DD2920C00E8CEBA /* EmptyPrintObjectStyleAlignAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AF61D130B690094BE61 /* EmptyPrintObjectStyleAlignAttributes.cpp */; }; - 29E8C1F61DD2920C00E8CEBA /* Enums.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AF81D130B690094BE61 /* Enums.cpp */; }; - 29E8C1F71DD2920C00E8CEBA /* FontSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AFA1D130B690094BE61 /* FontSize.cpp */; }; - 29E8C1F81DD2920C00E8CEBA /* FromXElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 295DDE0F1D2C0D4D00A2881D /* FromXElement.cpp */; }; - 29E8C1F91DD2920C00E8CEBA /* Integers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AFC1D130B690094BE61 /* Integers.cpp */; }; - 29E8C1FA1DD2920C00E8CEBA /* NumberOrNormal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01AFE1D130B690094BE61 /* NumberOrNormal.cpp */; }; - 29E8C1FB1DD2920C00E8CEBA /* PositiveIntegerOrEmpty.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B001D130B690094BE61 /* PositiveIntegerOrEmpty.cpp */; }; - 29E8C1FC1DD2920C00E8CEBA /* ScoreConversions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2951A0C31D60F3B700B49A13 /* ScoreConversions.cpp */; }; - 29E8C1FD1DD2920C00E8CEBA /* Strings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B021D130B690094BE61 /* Strings.cpp */; }; - 29E8C1FE1DD2920C00E8CEBA /* YesNoNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B041D130B690094BE61 /* YesNoNumber.cpp */; }; - 29E8C1FF1DD2920C00E8CEBA /* DynamicsWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29979D651DC830AA00707AA4 /* DynamicsWriter.cpp */; }; - 29E8C2001DD2920C00E8CEBA /* AccidentalMarkFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF2FE91DA307D3001FE5DF /* AccidentalMarkFunctions.cpp */; }; - 29E8C2011DD2920C00E8CEBA /* ArticulationsFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF2F781DA2CC1D001FE5DF /* ArticulationsFunctions.cpp */; }; - 29E8C2021DD2920C00E8CEBA /* Converter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2922CC621D9AF28400F8C9C1 /* Converter.cpp */; }; - 29E8C2031DD2920C00E8CEBA /* Cursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2973065E1D89AB3300B8C0D3 /* Cursor.cpp */; }; - 29E8C2041DD2920C00E8CEBA /* DirectionReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29766ACA1DAC149900CCE2AC /* DirectionReader.cpp */; }; - 29E8C2051DD2920C00E8CEBA /* DirectionWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29CD722A1DB82C9200FB7153 /* DirectionWriter.cpp */; }; - 29E8C2061DD2920C00E8CEBA /* DynamicsReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF2F7C1DA2D450001FE5DF /* DynamicsReader.cpp */; }; - 29E8C2071DD2920C00E8CEBA /* EncodingFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2913BB871D753FC8006C34A3 /* EncodingFunctions.cpp */; }; - 29E8C2081DD2920C00E8CEBA /* LayoutFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2913BB891D753FC8006C34A3 /* LayoutFunctions.cpp */; }; - 29E8C2091DD2920C00E8CEBA /* LcmGcd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2927ECA61D888AB30042E080 /* LcmGcd.cpp */; }; - 29E8C20A1DD2920C00E8CEBA /* MeasureReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E2B3C81DA81E9700DC61EA /* MeasureReader.cpp */; }; - 29E8C20B1DD2920C00E8CEBA /* MeasureWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29B7C4671DAFFDBA009D7D8F /* MeasureWriter.cpp */; }; - 29E8C20C1DD2920C00E8CEBA /* MetronomeReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29766AC61DAC014300CCE2AC /* MetronomeReader.cpp */; }; - 29E8C20D1DD2920C00E8CEBA /* NotationsWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29398BAE1DB1917B00475CD5 /* NotationsWriter.cpp */; }; - 29E8C20E1DD2920C00E8CEBA /* NoteFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2913BB8B1D753FC8006C34A3 /* NoteFunctions.cpp */; }; - 29E8C20F1DD2920C00E8CEBA /* NoteReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 297306661D89D08400B8C0D3 /* NoteReader.cpp */; }; - 29E8C2101DD2920C00E8CEBA /* NoteWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29398BA51DB1561200475CD5 /* NoteWriter.cpp */; }; - 29E8C2111DD2920C00E8CEBA /* OrnamentsFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF2FF11DA307D3001FE5DF /* OrnamentsFunctions.cpp */; }; - 29E8C2121DD2920C00E8CEBA /* PageTextFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2913BB8D1D753FC8006C34A3 /* PageTextFunctions.cpp */; }; - 29E8C2131DD2920C00E8CEBA /* PartReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E2B3CA1DA81E9700DC61EA /* PartReader.cpp */; }; - 29E8C2141DD2920C00E8CEBA /* PartWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29CDDA2B1DADCAF30022B1A3 /* PartWriter.cpp */; }; - 29E8C2151DD2920C00E8CEBA /* PropertiesWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29CD72261DB806FD00FB7153 /* PropertiesWriter.cpp */; }; - 29E8C2161DD2920C00E8CEBA /* ScoreReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C29B841DAEC00C00D3A884 /* ScoreReader.cpp */; }; - 29E8C2171DD2920C00E8CEBA /* ScoreWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C29B861DAEC00C00D3A884 /* ScoreWriter.cpp */; }; - 29E8C2181DD2920C00E8CEBA /* StaffFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 297DA0721D7F60BE0067C13A /* StaffFunctions.cpp */; }; - 29E8C2191DD2920C00E8CEBA /* TechnicalFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF30011DA32E37001FE5DF /* TechnicalFunctions.cpp */; }; - 29E8C21A1DD2920C00E8CEBA /* TimeReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2927EC9E1D886E460042E080 /* TimeReader.cpp */; }; - 29E8C21B1DD2920C00E8CEBA /* TupletReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29B4E81F1DA9CD5D005DC6D1 /* TupletReader.cpp */; }; - 29E8C21C1DD2920C00E8CEBA /* pugixml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B5D1D130BBE0094BE61 /* pugixml.cpp */; }; - 29E8C21D1DD2920C00E8CEBA /* Utility.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B2D1D130B910094BE61 /* Utility.cpp */; }; - 29E8C21E1DD2920C00E8CEBA /* UtilityImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C01B2F1D130B910094BE61 /* UtilityImpl.cpp */; }; - 29E8C21F1DD2920C00E8CEBA /* PugiAttribute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1451D18D403001C2A1A /* PugiAttribute.cpp */; }; - 29E8C2201DD2920C00E8CEBA /* PugiAttributeIterImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1471D18D403001C2A1A /* PugiAttributeIterImpl.cpp */; }; - 29E8C2211DD2920C00E8CEBA /* PugiDoc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1491D18D403001C2A1A /* PugiDoc.cpp */; }; - 29E8C2221DD2920C00E8CEBA /* PugiElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D14B1D18D403001C2A1A /* PugiElement.cpp */; }; - 29E8C2231DD2920C00E8CEBA /* PugiElementIterImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D14D1D18D403001C2A1A /* PugiElementIterImpl.cpp */; }; - 29E8C2241DD2920C00E8CEBA /* XAttributeIterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1501D18D403001C2A1A /* XAttributeIterator.cpp */; }; - 29E8C2251DD2920C00E8CEBA /* XElementIterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1561D18D403001C2A1A /* XElementIterator.cpp */; }; - 29E8C2261DD2920C00E8CEBA /* XFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2937D1591D18D403001C2A1A /* XFactory.cpp */; }; - 29E9EA371DA4A80A0040183B /* PitchData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E9EA341DA4A80A0040183B /* PitchData.cpp */; }; - 29E9EA381DA4A80A0040183B /* NoteData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E9EA351DA4A80A0040183B /* NoteData.cpp */; }; - 29E9EA391DA4A80A0040183B /* DurationData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E9EA361DA4A80A0040183B /* DurationData.cpp */; }; - 29EF44111D6E997100DBDAB9 /* DocumentManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EF44091D6E70D300DBDAB9 /* DocumentManager.cpp */; }; - 29FFAC801DB9C8B600DC8AE1 /* CurveData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29FFAC7F1DB9C8B600DC8AE1 /* CurveData.h */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ - 2904A4D31D301D5A00A39CC6 /* Encoding.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Encoding.cpp; path = ../Sourcecode/mx/core/elements/Encoding.cpp; sourceTree = ""; }; - 2904A4D41D301D5A00A39CC6 /* Encoding.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Encoding.h; path = ../Sourcecode/mx/core/elements/Encoding.h; sourceTree = ""; }; - 2913BB871D753FC8006C34A3 /* EncodingFunctions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = EncodingFunctions.cpp; path = ../Sourcecode/mx/impl/EncodingFunctions.cpp; sourceTree = ""; }; - 2913BB881D753FC8006C34A3 /* EncodingFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EncodingFunctions.h; path = ../Sourcecode/mx/impl/EncodingFunctions.h; sourceTree = ""; }; - 2913BB891D753FC8006C34A3 /* LayoutFunctions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LayoutFunctions.cpp; path = ../Sourcecode/mx/impl/LayoutFunctions.cpp; sourceTree = ""; }; - 2913BB8A1D753FC8006C34A3 /* LayoutFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LayoutFunctions.h; path = ../Sourcecode/mx/impl/LayoutFunctions.h; sourceTree = ""; }; - 2913BB8B1D753FC8006C34A3 /* NoteFunctions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NoteFunctions.cpp; path = ../Sourcecode/mx/impl/NoteFunctions.cpp; sourceTree = ""; }; - 2913BB8C1D753FC8006C34A3 /* NoteFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NoteFunctions.h; path = ../Sourcecode/mx/impl/NoteFunctions.h; sourceTree = ""; }; - 2913BB8D1D753FC8006C34A3 /* PageTextFunctions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PageTextFunctions.cpp; path = ../Sourcecode/mx/impl/PageTextFunctions.cpp; sourceTree = ""; }; - 2913BB8E1D753FC8006C34A3 /* PageTextFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PageTextFunctions.h; path = ../Sourcecode/mx/impl/PageTextFunctions.h; sourceTree = ""; }; - 2922CC621D9AF28400F8C9C1 /* Converter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Converter.cpp; path = ../Sourcecode/mx/impl/Converter.cpp; sourceTree = ""; }; - 2922CC631D9AF28400F8C9C1 /* Converter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Converter.h; path = ../Sourcecode/mx/impl/Converter.h; sourceTree = ""; }; - 29271A4E1DCC0D820036528D /* ApiEquality.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ApiEquality.h; path = ../Sourcecode/mx/api/ApiEquality.h; sourceTree = ""; }; - 2927EC9B1D886E2B0042E080 /* TimeSignatureData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TimeSignatureData.h; path = ../Sourcecode/mx/api/TimeSignatureData.h; sourceTree = ""; }; - 2927EC9D1D886E460042E080 /* TimeReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TimeReader.h; path = ../Sourcecode/mx/impl/TimeReader.h; sourceTree = ""; }; - 2927EC9E1D886E460042E080 /* TimeReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TimeReader.cpp; path = ../Sourcecode/mx/impl/TimeReader.cpp; sourceTree = ""; }; - 2927ECA51D888AB30042E080 /* LcmGcd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LcmGcd.h; path = ../Sourcecode/mx/impl/LcmGcd.h; sourceTree = ""; }; - 2927ECA61D888AB30042E080 /* LcmGcd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LcmGcd.cpp; path = ../Sourcecode/mx/impl/LcmGcd.cpp; sourceTree = ""; }; - 292C3AD91E8B13FD001A0CB9 /* WordsData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WordsData.cpp; path = ../Sourcecode/mx/api/WordsData.cpp; sourceTree = ""; }; - 292C3ADA1E8B13FD001A0CB9 /* WordsData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WordsData.h; path = ../Sourcecode/mx/api/WordsData.h; sourceTree = ""; }; - 292D1DD01D9A43A500CDD9F4 /* ClefData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ClefData.cpp; path = ../Sourcecode/mx/api/ClefData.cpp; sourceTree = ""; }; - 292D1DD11D9A43A500CDD9F4 /* ClefData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ClefData.h; path = ../Sourcecode/mx/api/ClefData.h; sourceTree = ""; }; - 2933AD601DA5B616005D7222 /* ColorData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ColorData.h; path = ../Sourcecode/mx/api/ColorData.h; sourceTree = ""; }; - 2933AD7B1DA5E850005D7222 /* CurveFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CurveFunctions.h; path = ../Sourcecode/mx/impl/CurveFunctions.h; sourceTree = ""; }; - 293488D41D94903B00D0C407 /* ApiCommon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ApiCommon.h; path = ../Sourcecode/mx/api/ApiCommon.h; sourceTree = ""; }; - 2937D1451D18D403001C2A1A /* PugiAttribute.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PugiAttribute.cpp; path = ../Sourcecode/mx/xml/PugiAttribute.cpp; sourceTree = ""; }; - 2937D1461D18D403001C2A1A /* PugiAttribute.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PugiAttribute.h; path = ../Sourcecode/mx/xml/PugiAttribute.h; sourceTree = ""; }; - 2937D1471D18D403001C2A1A /* PugiAttributeIterImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PugiAttributeIterImpl.cpp; path = ../Sourcecode/mx/xml/PugiAttributeIterImpl.cpp; sourceTree = ""; }; - 2937D1481D18D403001C2A1A /* PugiAttributeIterImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PugiAttributeIterImpl.h; path = ../Sourcecode/mx/xml/PugiAttributeIterImpl.h; sourceTree = ""; }; - 2937D1491D18D403001C2A1A /* PugiDoc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PugiDoc.cpp; path = ../Sourcecode/mx/xml/PugiDoc.cpp; sourceTree = ""; }; - 2937D14A1D18D403001C2A1A /* PugiDoc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PugiDoc.h; path = ../Sourcecode/mx/xml/PugiDoc.h; sourceTree = ""; }; - 2937D14B1D18D403001C2A1A /* PugiElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PugiElement.cpp; path = ../Sourcecode/mx/xml/PugiElement.cpp; sourceTree = ""; }; - 2937D14C1D18D403001C2A1A /* PugiElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PugiElement.h; path = ../Sourcecode/mx/xml/PugiElement.h; sourceTree = ""; }; - 2937D14D1D18D403001C2A1A /* PugiElementIterImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PugiElementIterImpl.cpp; path = ../Sourcecode/mx/xml/PugiElementIterImpl.cpp; sourceTree = ""; }; - 2937D14E1D18D403001C2A1A /* PugiElementIterImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PugiElementIterImpl.h; path = ../Sourcecode/mx/xml/PugiElementIterImpl.h; sourceTree = ""; }; - 2937D14F1D18D403001C2A1A /* XAttribute.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XAttribute.h; path = ../Sourcecode/mx/xml/XAttribute.h; sourceTree = ""; }; - 2937D1501D18D403001C2A1A /* XAttributeIterator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = XAttributeIterator.cpp; path = ../Sourcecode/mx/xml/XAttributeIterator.cpp; sourceTree = ""; }; - 2937D1511D18D403001C2A1A /* XAttributeIterator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XAttributeIterator.h; path = ../Sourcecode/mx/xml/XAttributeIterator.h; sourceTree = ""; }; - 2937D1521D18D403001C2A1A /* XAttributeIterImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XAttributeIterImpl.h; path = ../Sourcecode/mx/xml/XAttributeIterImpl.h; sourceTree = ""; }; - 2937D1531D18D403001C2A1A /* XDoc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XDoc.h; path = ../Sourcecode/mx/xml/XDoc.h; sourceTree = ""; }; - 2937D1541D18D403001C2A1A /* XDocSpec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XDocSpec.h; path = ../Sourcecode/mx/xml/XDocSpec.h; sourceTree = ""; }; - 2937D1551D18D403001C2A1A /* XElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XElement.h; path = ../Sourcecode/mx/xml/XElement.h; sourceTree = ""; }; - 2937D1561D18D403001C2A1A /* XElementIterator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = XElementIterator.cpp; path = ../Sourcecode/mx/xml/XElementIterator.cpp; sourceTree = ""; }; - 2937D1571D18D403001C2A1A /* XElementIterator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XElementIterator.h; path = ../Sourcecode/mx/xml/XElementIterator.h; sourceTree = ""; }; - 2937D1581D18D403001C2A1A /* XElementIterImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XElementIterImpl.h; path = ../Sourcecode/mx/xml/XElementIterImpl.h; sourceTree = ""; }; - 2937D1591D18D403001C2A1A /* XFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = XFactory.cpp; path = ../Sourcecode/mx/xml/XFactory.cpp; sourceTree = ""; }; - 2937D15A1D18D403001C2A1A /* XFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XFactory.h; path = ../Sourcecode/mx/xml/XFactory.h; sourceTree = ""; }; - 2937D15C1D18D403001C2A1A /* XThrow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XThrow.h; path = ../Sourcecode/mx/xml/XThrow.h; sourceTree = ""; }; - 29398BA41DB1561200475CD5 /* MeasureCursor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MeasureCursor.h; path = ../Sourcecode/mx/impl/MeasureCursor.h; sourceTree = ""; }; - 29398BA51DB1561200475CD5 /* NoteWriter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NoteWriter.cpp; path = ../Sourcecode/mx/impl/NoteWriter.cpp; sourceTree = ""; }; - 29398BA61DB1561200475CD5 /* NoteWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NoteWriter.h; path = ../Sourcecode/mx/impl/NoteWriter.h; sourceTree = ""; }; - 29398BAE1DB1917B00475CD5 /* NotationsWriter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NotationsWriter.cpp; path = ../Sourcecode/mx/impl/NotationsWriter.cpp; sourceTree = ""; }; - 29398BAF1DB1917B00475CD5 /* NotationsWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NotationsWriter.h; path = ../Sourcecode/mx/impl/NotationsWriter.h; sourceTree = ""; }; - 293AB0851DA011B100A58B36 /* FontFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FontFunctions.h; path = ../Sourcecode/mx/impl/FontFunctions.h; sourceTree = ""; }; - 293CE9F51D7B2C18003F1FEB /* PositionFunctions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PositionFunctions.h; path = ../Sourcecode/mx/impl/PositionFunctions.h; sourceTree = ""; }; 293FFED21DD25C74001477E8 /* libmx-macOS.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libmx-macOS.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; - 29421B331D27FECC00DBC7C3 /* UnusedParameter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = UnusedParameter.h; path = ../Sourcecode/mx/core/UnusedParameter.h; sourceTree = ""; }; - 294545ED1D295C5300B90302 /* Accent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Accent.cpp; path = ../Sourcecode/mx/core/elements/Accent.cpp; sourceTree = ""; }; - 294545EE1D295C5300B90302 /* Accidental.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Accidental.cpp; path = ../Sourcecode/mx/core/elements/Accidental.cpp; sourceTree = ""; }; - 294545EF1D295C5300B90302 /* AccidentalAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AccidentalAttributes.cpp; path = ../Sourcecode/mx/core/elements/AccidentalAttributes.cpp; sourceTree = ""; }; - 294545F01D295C5300B90302 /* AccidentalMark.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AccidentalMark.cpp; path = ../Sourcecode/mx/core/elements/AccidentalMark.cpp; sourceTree = ""; }; - 294545F11D295C5300B90302 /* AccidentalMarkAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AccidentalMarkAttributes.cpp; path = ../Sourcecode/mx/core/elements/AccidentalMarkAttributes.cpp; sourceTree = ""; }; - 294545F21D295C5300B90302 /* AccidentalText.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AccidentalText.cpp; path = ../Sourcecode/mx/core/elements/AccidentalText.cpp; sourceTree = ""; }; - 294545F31D295C5300B90302 /* AccidentalTextAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AccidentalTextAttributes.cpp; path = ../Sourcecode/mx/core/elements/AccidentalTextAttributes.cpp; sourceTree = ""; }; - 294545F41D295C5300B90302 /* Accord.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Accord.cpp; path = ../Sourcecode/mx/core/elements/Accord.cpp; sourceTree = ""; }; - 294545F51D295C5300B90302 /* AccordAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AccordAttributes.cpp; path = ../Sourcecode/mx/core/elements/AccordAttributes.cpp; sourceTree = ""; }; - 294545F61D295C5300B90302 /* AccordionHigh.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AccordionHigh.cpp; path = ../Sourcecode/mx/core/elements/AccordionHigh.cpp; sourceTree = ""; }; - 294545F71D295C5300B90302 /* AccordionLow.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AccordionLow.cpp; path = ../Sourcecode/mx/core/elements/AccordionLow.cpp; sourceTree = ""; }; - 294545F81D295C5300B90302 /* AccordionMiddle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AccordionMiddle.cpp; path = ../Sourcecode/mx/core/elements/AccordionMiddle.cpp; sourceTree = ""; }; - 294545F91D295C5300B90302 /* AccordionRegistration.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AccordionRegistration.cpp; path = ../Sourcecode/mx/core/elements/AccordionRegistration.cpp; sourceTree = ""; }; - 294545FA1D295C5300B90302 /* AccordionRegistrationAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AccordionRegistrationAttributes.cpp; path = ../Sourcecode/mx/core/elements/AccordionRegistrationAttributes.cpp; sourceTree = ""; }; - 294545FB1D295C5300B90302 /* ActualNotes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ActualNotes.cpp; path = ../Sourcecode/mx/core/elements/ActualNotes.cpp; sourceTree = ""; }; - 294545FC1D295C5300B90302 /* Alter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Alter.cpp; path = ../Sourcecode/mx/core/elements/Alter.cpp; sourceTree = ""; }; - 294545FD1D295C5300B90302 /* Appearance.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Appearance.cpp; path = ../Sourcecode/mx/core/elements/Appearance.cpp; sourceTree = ""; }; - 294545FE1D295C5300B90302 /* Arpeggiate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Arpeggiate.cpp; path = ../Sourcecode/mx/core/elements/Arpeggiate.cpp; sourceTree = ""; }; - 294545FF1D295C5300B90302 /* ArpeggiateAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ArpeggiateAttributes.cpp; path = ../Sourcecode/mx/core/elements/ArpeggiateAttributes.cpp; sourceTree = ""; }; - 294546001D295C5300B90302 /* Arrow.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Arrow.cpp; path = ../Sourcecode/mx/core/elements/Arrow.cpp; sourceTree = ""; }; - 294546011D295C5300B90302 /* ArrowAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ArrowAttributes.cpp; path = ../Sourcecode/mx/core/elements/ArrowAttributes.cpp; sourceTree = ""; }; - 294546021D295C5300B90302 /* ArrowDirection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ArrowDirection.cpp; path = ../Sourcecode/mx/core/elements/ArrowDirection.cpp; sourceTree = ""; }; - 294546031D295C5300B90302 /* ArrowGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ArrowGroup.cpp; path = ../Sourcecode/mx/core/elements/ArrowGroup.cpp; sourceTree = ""; }; - 294546041D295C5300B90302 /* ArrowStyle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ArrowStyle.cpp; path = ../Sourcecode/mx/core/elements/ArrowStyle.cpp; sourceTree = ""; }; - 294546051D295C5300B90302 /* Articulations.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Articulations.cpp; path = ../Sourcecode/mx/core/elements/Articulations.cpp; sourceTree = ""; }; - 294546061D295C5300B90302 /* ArticulationsChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ArticulationsChoice.cpp; path = ../Sourcecode/mx/core/elements/ArticulationsChoice.cpp; sourceTree = ""; }; - 294546071D295C5300B90302 /* Artificial.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Artificial.cpp; path = ../Sourcecode/mx/core/elements/Artificial.cpp; sourceTree = ""; }; - 294546081D295C5300B90302 /* AttributesIterface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AttributesIterface.cpp; path = ../Sourcecode/mx/core/elements/AttributesIterface.cpp; sourceTree = ""; }; - 294546091D295C5300B90302 /* Backup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Backup.cpp; path = ../Sourcecode/mx/core/elements/Backup.cpp; sourceTree = ""; }; - 2945460A1D295C5300B90302 /* Barline.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Barline.cpp; path = ../Sourcecode/mx/core/elements/Barline.cpp; sourceTree = ""; }; - 2945460B1D295C5300B90302 /* BarlineAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BarlineAttributes.cpp; path = ../Sourcecode/mx/core/elements/BarlineAttributes.cpp; sourceTree = ""; }; - 2945460C1D295C5300B90302 /* Barre.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Barre.cpp; path = ../Sourcecode/mx/core/elements/Barre.cpp; sourceTree = ""; }; - 2945460D1D295C5300B90302 /* BarreAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BarreAttributes.cpp; path = ../Sourcecode/mx/core/elements/BarreAttributes.cpp; sourceTree = ""; }; - 2945460E1D295C5300B90302 /* BarStyle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BarStyle.cpp; path = ../Sourcecode/mx/core/elements/BarStyle.cpp; sourceTree = ""; }; - 2945460F1D295C5300B90302 /* BarStyleAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BarStyleAttributes.cpp; path = ../Sourcecode/mx/core/elements/BarStyleAttributes.cpp; sourceTree = ""; }; - 294546101D295C5300B90302 /* BasePitch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BasePitch.cpp; path = ../Sourcecode/mx/core/elements/BasePitch.cpp; sourceTree = ""; }; - 294546111D295C5300B90302 /* Bass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Bass.cpp; path = ../Sourcecode/mx/core/elements/Bass.cpp; sourceTree = ""; }; - 294546121D295C5300B90302 /* BassAlter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BassAlter.cpp; path = ../Sourcecode/mx/core/elements/BassAlter.cpp; sourceTree = ""; }; - 294546131D295C5300B90302 /* BassAlterAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BassAlterAttributes.cpp; path = ../Sourcecode/mx/core/elements/BassAlterAttributes.cpp; sourceTree = ""; }; - 294546141D295C5300B90302 /* BassStep.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BassStep.cpp; path = ../Sourcecode/mx/core/elements/BassStep.cpp; sourceTree = ""; }; - 294546151D295C5300B90302 /* BassStepAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BassStepAttributes.cpp; path = ../Sourcecode/mx/core/elements/BassStepAttributes.cpp; sourceTree = ""; }; - 294546161D295C5300B90302 /* Beam.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Beam.cpp; path = ../Sourcecode/mx/core/elements/Beam.cpp; sourceTree = ""; }; - 294546171D295C5300B90302 /* BeamAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BeamAttributes.cpp; path = ../Sourcecode/mx/core/elements/BeamAttributes.cpp; sourceTree = ""; }; - 294546181D295C5300B90302 /* Beater.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Beater.cpp; path = ../Sourcecode/mx/core/elements/Beater.cpp; sourceTree = ""; }; - 294546191D295C5300B90302 /* BeaterAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BeaterAttributes.cpp; path = ../Sourcecode/mx/core/elements/BeaterAttributes.cpp; sourceTree = ""; }; - 2945461A1D295C5300B90302 /* BeatRepeat.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BeatRepeat.cpp; path = ../Sourcecode/mx/core/elements/BeatRepeat.cpp; sourceTree = ""; }; - 2945461B1D295C5300B90302 /* BeatRepeatAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BeatRepeatAttributes.cpp; path = ../Sourcecode/mx/core/elements/BeatRepeatAttributes.cpp; sourceTree = ""; }; - 2945461C1D295C5300B90302 /* Beats.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Beats.cpp; path = ../Sourcecode/mx/core/elements/Beats.cpp; sourceTree = ""; }; - 2945461D1D295C5300B90302 /* BeatType.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BeatType.cpp; path = ../Sourcecode/mx/core/elements/BeatType.cpp; sourceTree = ""; }; - 2945461E1D295C5300B90302 /* BeatUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BeatUnit.cpp; path = ../Sourcecode/mx/core/elements/BeatUnit.cpp; sourceTree = ""; }; - 2945461F1D295C5300B90302 /* BeatUnitDot.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BeatUnitDot.cpp; path = ../Sourcecode/mx/core/elements/BeatUnitDot.cpp; sourceTree = ""; }; - 294546201D295C5300B90302 /* BeatUnitGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BeatUnitGroup.cpp; path = ../Sourcecode/mx/core/elements/BeatUnitGroup.cpp; sourceTree = ""; }; - 294546211D295C5300B90302 /* BeatUnitPer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BeatUnitPer.cpp; path = ../Sourcecode/mx/core/elements/BeatUnitPer.cpp; sourceTree = ""; }; - 294546221D295C5300B90302 /* BeatUnitPerOrNoteRelationNoteChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BeatUnitPerOrNoteRelationNoteChoice.cpp; path = ../Sourcecode/mx/core/elements/BeatUnitPerOrNoteRelationNoteChoice.cpp; sourceTree = ""; }; - 294546231D295C5300B90302 /* Bend.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Bend.cpp; path = ../Sourcecode/mx/core/elements/Bend.cpp; sourceTree = ""; }; - 294546241D295C5300B90302 /* BendAlter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BendAlter.cpp; path = ../Sourcecode/mx/core/elements/BendAlter.cpp; sourceTree = ""; }; - 294546251D295C5300B90302 /* BendAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BendAttributes.cpp; path = ../Sourcecode/mx/core/elements/BendAttributes.cpp; sourceTree = ""; }; - 294546261D295C5300B90302 /* BendChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BendChoice.cpp; path = ../Sourcecode/mx/core/elements/BendChoice.cpp; sourceTree = ""; }; - 294546271D295C5300B90302 /* Bookmark.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Bookmark.cpp; path = ../Sourcecode/mx/core/elements/Bookmark.cpp; sourceTree = ""; }; - 294546281D295C5300B90302 /* BookmarkAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BookmarkAttributes.cpp; path = ../Sourcecode/mx/core/elements/BookmarkAttributes.cpp; sourceTree = ""; }; - 294546291D295C5300B90302 /* BottomMargin.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BottomMargin.cpp; path = ../Sourcecode/mx/core/elements/BottomMargin.cpp; sourceTree = ""; }; - 2945462A1D295C5300B90302 /* Bracket.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Bracket.cpp; path = ../Sourcecode/mx/core/elements/Bracket.cpp; sourceTree = ""; }; - 2945462B1D295C5300B90302 /* BracketAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BracketAttributes.cpp; path = ../Sourcecode/mx/core/elements/BracketAttributes.cpp; sourceTree = ""; }; - 2945462C1D295C5300B90302 /* BreathMark.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BreathMark.cpp; path = ../Sourcecode/mx/core/elements/BreathMark.cpp; sourceTree = ""; }; - 2945462D1D295C5300B90302 /* BreathMarkAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BreathMarkAttributes.cpp; path = ../Sourcecode/mx/core/elements/BreathMarkAttributes.cpp; sourceTree = ""; }; - 2945462E1D295C5300B90302 /* Caesura.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Caesura.cpp; path = ../Sourcecode/mx/core/elements/Caesura.cpp; sourceTree = ""; }; - 2945462F1D295C5300B90302 /* Cancel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Cancel.cpp; path = ../Sourcecode/mx/core/elements/Cancel.cpp; sourceTree = ""; }; - 294546301D295C5300B90302 /* CancelAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CancelAttributes.cpp; path = ../Sourcecode/mx/core/elements/CancelAttributes.cpp; sourceTree = ""; }; - 294546311D295C5300B90302 /* Capo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Capo.cpp; path = ../Sourcecode/mx/core/elements/Capo.cpp; sourceTree = ""; }; - 294546321D295C5300B90302 /* Chord.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Chord.cpp; path = ../Sourcecode/mx/core/elements/Chord.cpp; sourceTree = ""; }; - 294546331D295C5300B90302 /* Chromatic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Chromatic.cpp; path = ../Sourcecode/mx/core/elements/Chromatic.cpp; sourceTree = ""; }; - 294546341D295C5300B90302 /* CircularArrow.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CircularArrow.cpp; path = ../Sourcecode/mx/core/elements/CircularArrow.cpp; sourceTree = ""; }; - 294546351D295C5300B90302 /* Clef.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Clef.cpp; path = ../Sourcecode/mx/core/elements/Clef.cpp; sourceTree = ""; }; - 294546361D295C5300B90302 /* ClefAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ClefAttributes.cpp; path = ../Sourcecode/mx/core/elements/ClefAttributes.cpp; sourceTree = ""; }; - 294546371D295C5300B90302 /* ClefOctaveChange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ClefOctaveChange.cpp; path = ../Sourcecode/mx/core/elements/ClefOctaveChange.cpp; sourceTree = ""; }; - 294546381D295C5300B90302 /* Coda.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Coda.cpp; path = ../Sourcecode/mx/core/elements/Coda.cpp; sourceTree = ""; }; - 294546391D295C5300B90302 /* Creator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Creator.cpp; path = ../Sourcecode/mx/core/elements/Creator.cpp; sourceTree = ""; }; - 2945463A1D295C5300B90302 /* CreatorAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CreatorAttributes.cpp; path = ../Sourcecode/mx/core/elements/CreatorAttributes.cpp; sourceTree = ""; }; - 2945463B1D295C5300B90302 /* Credit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Credit.cpp; path = ../Sourcecode/mx/core/elements/Credit.cpp; sourceTree = ""; }; - 2945463C1D295C5300B90302 /* CreditAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CreditAttributes.cpp; path = ../Sourcecode/mx/core/elements/CreditAttributes.cpp; sourceTree = ""; }; - 2945463D1D295C5300B90302 /* CreditChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CreditChoice.cpp; path = ../Sourcecode/mx/core/elements/CreditChoice.cpp; sourceTree = ""; }; - 2945463E1D295C5300B90302 /* CreditImage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CreditImage.cpp; path = ../Sourcecode/mx/core/elements/CreditImage.cpp; sourceTree = ""; }; - 2945463F1D295C5300B90302 /* CreditImageAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CreditImageAttributes.cpp; path = ../Sourcecode/mx/core/elements/CreditImageAttributes.cpp; sourceTree = ""; }; - 294546401D295C5300B90302 /* CreditType.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CreditType.cpp; path = ../Sourcecode/mx/core/elements/CreditType.cpp; sourceTree = ""; }; - 294546411D295C5300B90302 /* CreditWords.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CreditWords.cpp; path = ../Sourcecode/mx/core/elements/CreditWords.cpp; sourceTree = ""; }; - 294546421D295C5300B90302 /* CreditWordsAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CreditWordsAttributes.cpp; path = ../Sourcecode/mx/core/elements/CreditWordsAttributes.cpp; sourceTree = ""; }; - 294546431D295C5300B90302 /* CreditWordsGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CreditWordsGroup.cpp; path = ../Sourcecode/mx/core/elements/CreditWordsGroup.cpp; sourceTree = ""; }; - 294546441D295C5300B90302 /* Cue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Cue.cpp; path = ../Sourcecode/mx/core/elements/Cue.cpp; sourceTree = ""; }; - 294546451D295C5300B90302 /* CueNoteGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CueNoteGroup.cpp; path = ../Sourcecode/mx/core/elements/CueNoteGroup.cpp; sourceTree = ""; }; - 294546461D295C5300B90302 /* Damp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Damp.cpp; path = ../Sourcecode/mx/core/elements/Damp.cpp; sourceTree = ""; }; - 294546471D295C5300B90302 /* DampAll.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DampAll.cpp; path = ../Sourcecode/mx/core/elements/DampAll.cpp; sourceTree = ""; }; - 294546481D295C5300B90302 /* Dashes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Dashes.cpp; path = ../Sourcecode/mx/core/elements/Dashes.cpp; sourceTree = ""; }; - 294546491D295C5300B90302 /* DashesAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DashesAttributes.cpp; path = ../Sourcecode/mx/core/elements/DashesAttributes.cpp; sourceTree = ""; }; - 2945464A1D295C5300B90302 /* Defaults.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Defaults.cpp; path = ../Sourcecode/mx/core/elements/Defaults.cpp; sourceTree = ""; }; - 2945464B1D295C5300B90302 /* Degree.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Degree.cpp; path = ../Sourcecode/mx/core/elements/Degree.cpp; sourceTree = ""; }; - 2945464C1D295C5300B90302 /* DegreeAlter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DegreeAlter.cpp; path = ../Sourcecode/mx/core/elements/DegreeAlter.cpp; sourceTree = ""; }; - 2945464D1D295C5300B90302 /* DegreeAlterAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DegreeAlterAttributes.cpp; path = ../Sourcecode/mx/core/elements/DegreeAlterAttributes.cpp; sourceTree = ""; }; - 2945464E1D295C5300B90302 /* DegreeAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DegreeAttributes.cpp; path = ../Sourcecode/mx/core/elements/DegreeAttributes.cpp; sourceTree = ""; }; - 2945464F1D295C5300B90302 /* DegreeType.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DegreeType.cpp; path = ../Sourcecode/mx/core/elements/DegreeType.cpp; sourceTree = ""; }; - 294546501D295C5300B90302 /* DegreeTypeAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DegreeTypeAttributes.cpp; path = ../Sourcecode/mx/core/elements/DegreeTypeAttributes.cpp; sourceTree = ""; }; - 294546511D295C5300B90302 /* DegreeValue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DegreeValue.cpp; path = ../Sourcecode/mx/core/elements/DegreeValue.cpp; sourceTree = ""; }; - 294546521D295C5300B90302 /* DegreeValueAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DegreeValueAttributes.cpp; path = ../Sourcecode/mx/core/elements/DegreeValueAttributes.cpp; sourceTree = ""; }; - 294546531D295C5300B90302 /* DelayedInvertedTurn.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DelayedInvertedTurn.cpp; path = ../Sourcecode/mx/core/elements/DelayedInvertedTurn.cpp; sourceTree = ""; }; - 294546541D295C5300B90302 /* DelayedInvertedTurnAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DelayedInvertedTurnAttributes.cpp; path = ../Sourcecode/mx/core/elements/DelayedInvertedTurnAttributes.cpp; sourceTree = ""; }; - 294546551D295C5300B90302 /* DelayedTurn.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DelayedTurn.cpp; path = ../Sourcecode/mx/core/elements/DelayedTurn.cpp; sourceTree = ""; }; - 294546561D295C5300B90302 /* DelayedTurnAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DelayedTurnAttributes.cpp; path = ../Sourcecode/mx/core/elements/DelayedTurnAttributes.cpp; sourceTree = ""; }; - 294546571D295C5300B90302 /* DetachedLegato.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DetachedLegato.cpp; path = ../Sourcecode/mx/core/elements/DetachedLegato.cpp; sourceTree = ""; }; - 294546581D295C5300B90302 /* Diatonic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Diatonic.cpp; path = ../Sourcecode/mx/core/elements/Diatonic.cpp; sourceTree = ""; }; - 294546591D295C5300B90302 /* Direction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Direction.cpp; path = ../Sourcecode/mx/core/elements/Direction.cpp; sourceTree = ""; }; - 2945465A1D295C5300B90302 /* DirectionAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DirectionAttributes.cpp; path = ../Sourcecode/mx/core/elements/DirectionAttributes.cpp; sourceTree = ""; }; - 2945465B1D295C5300B90302 /* DirectionType.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DirectionType.cpp; path = ../Sourcecode/mx/core/elements/DirectionType.cpp; sourceTree = ""; }; - 2945465C1D295C5300B90302 /* Directive.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Directive.cpp; path = ../Sourcecode/mx/core/elements/Directive.cpp; sourceTree = ""; }; - 2945465D1D295C5300B90302 /* DirectiveAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DirectiveAttributes.cpp; path = ../Sourcecode/mx/core/elements/DirectiveAttributes.cpp; sourceTree = ""; }; - 2945465E1D295C5300B90302 /* DisplayOctave.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DisplayOctave.cpp; path = ../Sourcecode/mx/core/elements/DisplayOctave.cpp; sourceTree = ""; }; - 2945465F1D295C5300B90302 /* DisplayStep.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DisplayStep.cpp; path = ../Sourcecode/mx/core/elements/DisplayStep.cpp; sourceTree = ""; }; - 294546601D295C5300B90302 /* DisplayStepOctaveGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DisplayStepOctaveGroup.cpp; path = ../Sourcecode/mx/core/elements/DisplayStepOctaveGroup.cpp; sourceTree = ""; }; - 294546611D295C5300B90302 /* DisplayText.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DisplayText.cpp; path = ../Sourcecode/mx/core/elements/DisplayText.cpp; sourceTree = ""; }; - 294546621D295C5300B90302 /* DisplayTextAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DisplayTextAttributes.cpp; path = ../Sourcecode/mx/core/elements/DisplayTextAttributes.cpp; sourceTree = ""; }; - 294546631D295C5300B90302 /* DisplayTextOrAccidentalText.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DisplayTextOrAccidentalText.cpp; path = ../Sourcecode/mx/core/elements/DisplayTextOrAccidentalText.cpp; sourceTree = ""; }; - 294546641D295C5300B90302 /* Distance.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Distance.cpp; path = ../Sourcecode/mx/core/elements/Distance.cpp; sourceTree = ""; }; - 294546651D295C5300B90302 /* DistanceAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DistanceAttributes.cpp; path = ../Sourcecode/mx/core/elements/DistanceAttributes.cpp; sourceTree = ""; }; - 294546661D295C5300B90302 /* Divisions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Divisions.cpp; path = ../Sourcecode/mx/core/elements/Divisions.cpp; sourceTree = ""; }; - 294546671D295C5300B90302 /* Doit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Doit.cpp; path = ../Sourcecode/mx/core/elements/Doit.cpp; sourceTree = ""; }; - 294546681D295C5300B90302 /* Dot.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Dot.cpp; path = ../Sourcecode/mx/core/elements/Dot.cpp; sourceTree = ""; }; - 294546691D295C5300B90302 /* Double.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Double.cpp; path = ../Sourcecode/mx/core/elements/Double.cpp; sourceTree = ""; }; - 2945466A1D295C5300B90302 /* DoubleTongue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DoubleTongue.cpp; path = ../Sourcecode/mx/core/elements/DoubleTongue.cpp; sourceTree = ""; }; - 2945466B1D295C5300B90302 /* DownBow.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DownBow.cpp; path = ../Sourcecode/mx/core/elements/DownBow.cpp; sourceTree = ""; }; - 2945466C1D295C5300B90302 /* Duration.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Duration.cpp; path = ../Sourcecode/mx/core/elements/Duration.cpp; sourceTree = ""; }; - 2945466D1D295C5300B90302 /* Dynamics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Dynamics.cpp; path = ../Sourcecode/mx/core/elements/Dynamics.cpp; sourceTree = ""; }; - 2945466E1D295C5300B90302 /* DynamicsAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DynamicsAttributes.cpp; path = ../Sourcecode/mx/core/elements/DynamicsAttributes.cpp; sourceTree = ""; }; - 2945466F1D295C5300B90302 /* EditorialGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = EditorialGroup.cpp; path = ../Sourcecode/mx/core/elements/EditorialGroup.cpp; sourceTree = ""; }; - 294546701D295C5300B90302 /* EditorialVoiceDirectionGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = EditorialVoiceDirectionGroup.cpp; path = ../Sourcecode/mx/core/elements/EditorialVoiceDirectionGroup.cpp; sourceTree = ""; }; - 294546711D295C5300B90302 /* EditorialVoiceGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = EditorialVoiceGroup.cpp; path = ../Sourcecode/mx/core/elements/EditorialVoiceGroup.cpp; sourceTree = ""; }; - 294546721D295C5300B90302 /* Effect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Effect.cpp; path = ../Sourcecode/mx/core/elements/Effect.cpp; sourceTree = ""; }; - 294546731D295C5300B90302 /* Elevation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Elevation.cpp; path = ../Sourcecode/mx/core/elements/Elevation.cpp; sourceTree = ""; }; - 294546741D295C5300B90302 /* Elision.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Elision.cpp; path = ../Sourcecode/mx/core/elements/Elision.cpp; sourceTree = ""; }; - 294546751D295C5300B90302 /* ElisionAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ElisionAttributes.cpp; path = ../Sourcecode/mx/core/elements/ElisionAttributes.cpp; sourceTree = ""; }; - 294546761D295C5300B90302 /* ElisionSyllabicGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ElisionSyllabicGroup.cpp; path = ../Sourcecode/mx/core/elements/ElisionSyllabicGroup.cpp; sourceTree = ""; }; - 294546771D295C5300B90302 /* ElisionSyllabicTextGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ElisionSyllabicTextGroup.cpp; path = ../Sourcecode/mx/core/elements/ElisionSyllabicTextGroup.cpp; sourceTree = ""; }; - 294546781D295C5300B90302 /* EmptyFontAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = EmptyFontAttributes.cpp; path = ../Sourcecode/mx/core/elements/EmptyFontAttributes.cpp; sourceTree = ""; }; - 294546791D295C5300B90302 /* EmptyLineAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = EmptyLineAttributes.cpp; path = ../Sourcecode/mx/core/elements/EmptyLineAttributes.cpp; sourceTree = ""; }; - 2945467A1D295C5300B90302 /* EmptyPlacementAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = EmptyPlacementAttributes.cpp; path = ../Sourcecode/mx/core/elements/EmptyPlacementAttributes.cpp; sourceTree = ""; }; - 2945467B1D295C5300B90302 /* EmptyTrillSoundAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = EmptyTrillSoundAttributes.cpp; path = ../Sourcecode/mx/core/elements/EmptyTrillSoundAttributes.cpp; sourceTree = ""; }; - 2945467C1D295C5300B90302 /* Encoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Encoder.cpp; path = ../Sourcecode/mx/core/elements/Encoder.cpp; sourceTree = ""; }; - 2945467D1D295C5300B90302 /* EncoderAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = EncoderAttributes.cpp; path = ../Sourcecode/mx/core/elements/EncoderAttributes.cpp; sourceTree = ""; }; - 2945467E1D295C5300B90302 /* EncodingChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = EncodingChoice.cpp; path = ../Sourcecode/mx/core/elements/EncodingChoice.cpp; sourceTree = ""; }; - 2945467F1D295C5300B90302 /* EncodingDate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = EncodingDate.cpp; path = ../Sourcecode/mx/core/elements/EncodingDate.cpp; sourceTree = ""; }; - 294546801D295C5300B90302 /* EncodingDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = EncodingDescription.cpp; path = ../Sourcecode/mx/core/elements/EncodingDescription.cpp; sourceTree = ""; }; - 294546811D295C5300B90302 /* Ending.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Ending.cpp; path = ../Sourcecode/mx/core/elements/Ending.cpp; sourceTree = ""; }; - 294546821D295C5300B90302 /* EndingAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = EndingAttributes.cpp; path = ../Sourcecode/mx/core/elements/EndingAttributes.cpp; sourceTree = ""; }; - 294546831D295C5300B90302 /* EndLine.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = EndLine.cpp; path = ../Sourcecode/mx/core/elements/EndLine.cpp; sourceTree = ""; }; - 294546841D295C5300B90302 /* EndParagraph.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = EndParagraph.cpp; path = ../Sourcecode/mx/core/elements/EndParagraph.cpp; sourceTree = ""; }; - 294546851D295C5300B90302 /* Ensemble.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Ensemble.cpp; path = ../Sourcecode/mx/core/elements/Ensemble.cpp; sourceTree = ""; }; - 294546861D295C5300B90302 /* Extend.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Extend.cpp; path = ../Sourcecode/mx/core/elements/Extend.cpp; sourceTree = ""; }; - 294546871D295C5300B90302 /* ExtendAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ExtendAttributes.cpp; path = ../Sourcecode/mx/core/elements/ExtendAttributes.cpp; sourceTree = ""; }; - 294546881D295C5300B90302 /* Eyeglasses.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Eyeglasses.cpp; path = ../Sourcecode/mx/core/elements/Eyeglasses.cpp; sourceTree = ""; }; - 294546891D295C5300B90302 /* Falloff.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Falloff.cpp; path = ../Sourcecode/mx/core/elements/Falloff.cpp; sourceTree = ""; }; - 2945468A1D295C5300B90302 /* Feature.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Feature.cpp; path = ../Sourcecode/mx/core/elements/Feature.cpp; sourceTree = ""; }; - 2945468B1D295C5300B90302 /* FeatureAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FeatureAttributes.cpp; path = ../Sourcecode/mx/core/elements/FeatureAttributes.cpp; sourceTree = ""; }; - 2945468C1D295C5300B90302 /* Fermata.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Fermata.cpp; path = ../Sourcecode/mx/core/elements/Fermata.cpp; sourceTree = ""; }; - 2945468D1D295C5300B90302 /* FermataAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FermataAttributes.cpp; path = ../Sourcecode/mx/core/elements/FermataAttributes.cpp; sourceTree = ""; }; - 2945468E1D295C5300B90302 /* Fifths.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Fifths.cpp; path = ../Sourcecode/mx/core/elements/Fifths.cpp; sourceTree = ""; }; - 2945468F1D295C5300B90302 /* Figure.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Figure.cpp; path = ../Sourcecode/mx/core/elements/Figure.cpp; sourceTree = ""; }; - 294546901D295C5300B90302 /* FiguredBass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FiguredBass.cpp; path = ../Sourcecode/mx/core/elements/FiguredBass.cpp; sourceTree = ""; }; - 294546911D295C5300B90302 /* FiguredBassAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FiguredBassAttributes.cpp; path = ../Sourcecode/mx/core/elements/FiguredBassAttributes.cpp; sourceTree = ""; }; - 294546921D295C5300B90302 /* FigureNumber.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FigureNumber.cpp; path = ../Sourcecode/mx/core/elements/FigureNumber.cpp; sourceTree = ""; }; - 294546931D295C5300B90302 /* FigureNumberAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FigureNumberAttributes.cpp; path = ../Sourcecode/mx/core/elements/FigureNumberAttributes.cpp; sourceTree = ""; }; - 294546941D295C5300B90302 /* Fingering.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Fingering.cpp; path = ../Sourcecode/mx/core/elements/Fingering.cpp; sourceTree = ""; }; - 294546951D295C5300B90302 /* FingeringAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FingeringAttributes.cpp; path = ../Sourcecode/mx/core/elements/FingeringAttributes.cpp; sourceTree = ""; }; - 294546961D295C5300B90302 /* Fingernails.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Fingernails.cpp; path = ../Sourcecode/mx/core/elements/Fingernails.cpp; sourceTree = ""; }; - 294546971D295C5300B90302 /* FirstFret.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FirstFret.cpp; path = ../Sourcecode/mx/core/elements/FirstFret.cpp; sourceTree = ""; }; - 294546981D295C5300B90302 /* FirstFretAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FirstFretAttributes.cpp; path = ../Sourcecode/mx/core/elements/FirstFretAttributes.cpp; sourceTree = ""; }; - 294546991D295C5300B90302 /* Footnote.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Footnote.cpp; path = ../Sourcecode/mx/core/elements/Footnote.cpp; sourceTree = ""; }; - 2945469A1D295C5300B90302 /* FootnoteAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FootnoteAttributes.cpp; path = ../Sourcecode/mx/core/elements/FootnoteAttributes.cpp; sourceTree = ""; }; - 2945469B1D295C5300B90302 /* Forward.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Forward.cpp; path = ../Sourcecode/mx/core/elements/Forward.cpp; sourceTree = ""; }; - 2945469C1D295C5300B90302 /* Frame.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Frame.cpp; path = ../Sourcecode/mx/core/elements/Frame.cpp; sourceTree = ""; }; - 2945469D1D295C5300B90302 /* FrameAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FrameAttributes.cpp; path = ../Sourcecode/mx/core/elements/FrameAttributes.cpp; sourceTree = ""; }; - 2945469E1D295C5300B90302 /* FrameFrets.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FrameFrets.cpp; path = ../Sourcecode/mx/core/elements/FrameFrets.cpp; sourceTree = ""; }; - 2945469F1D295C5300B90302 /* FrameNote.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FrameNote.cpp; path = ../Sourcecode/mx/core/elements/FrameNote.cpp; sourceTree = ""; }; - 294546A01D295C5300B90302 /* FrameStrings.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FrameStrings.cpp; path = ../Sourcecode/mx/core/elements/FrameStrings.cpp; sourceTree = ""; }; - 294546A11D295C5300B90302 /* Fret.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Fret.cpp; path = ../Sourcecode/mx/core/elements/Fret.cpp; sourceTree = ""; }; - 294546A21D295C5300B90302 /* FretAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FretAttributes.cpp; path = ../Sourcecode/mx/core/elements/FretAttributes.cpp; sourceTree = ""; }; - 294546A31D295C5300B90302 /* FullNoteGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FullNoteGroup.cpp; path = ../Sourcecode/mx/core/elements/FullNoteGroup.cpp; sourceTree = ""; }; - 294546A41D295C5300B90302 /* FullNoteTypeChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FullNoteTypeChoice.cpp; path = ../Sourcecode/mx/core/elements/FullNoteTypeChoice.cpp; sourceTree = ""; }; - 294546A51D295C5300B90302 /* Function.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Function.cpp; path = ../Sourcecode/mx/core/elements/Function.cpp; sourceTree = ""; }; - 294546A61D295C5300B90302 /* FunctionAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FunctionAttributes.cpp; path = ../Sourcecode/mx/core/elements/FunctionAttributes.cpp; sourceTree = ""; }; - 294546A71D295C5300B90302 /* Glass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Glass.cpp; path = ../Sourcecode/mx/core/elements/Glass.cpp; sourceTree = ""; }; - 294546A81D295C5300B90302 /* Glissando.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Glissando.cpp; path = ../Sourcecode/mx/core/elements/Glissando.cpp; sourceTree = ""; }; - 294546A91D295C5300B90302 /* GlissandoAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GlissandoAttributes.cpp; path = ../Sourcecode/mx/core/elements/GlissandoAttributes.cpp; sourceTree = ""; }; - 294546AA1D295C5300B90302 /* Grace.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Grace.cpp; path = ../Sourcecode/mx/core/elements/Grace.cpp; sourceTree = ""; }; - 294546AB1D295C5300B90302 /* GraceAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GraceAttributes.cpp; path = ../Sourcecode/mx/core/elements/GraceAttributes.cpp; sourceTree = ""; }; - 294546AC1D295C5300B90302 /* GraceNoteGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GraceNoteGroup.cpp; path = ../Sourcecode/mx/core/elements/GraceNoteGroup.cpp; sourceTree = ""; }; - 294546AD1D295C5300B90302 /* Group.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Group.cpp; path = ../Sourcecode/mx/core/elements/Group.cpp; sourceTree = ""; }; - 294546AE1D295C5300B90302 /* GroupAbbreviation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GroupAbbreviation.cpp; path = ../Sourcecode/mx/core/elements/GroupAbbreviation.cpp; sourceTree = ""; }; - 294546AF1D295C5300B90302 /* GroupAbbreviationAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GroupAbbreviationAttributes.cpp; path = ../Sourcecode/mx/core/elements/GroupAbbreviationAttributes.cpp; sourceTree = ""; }; - 294546B01D295C5300B90302 /* GroupAbbreviationDisplay.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GroupAbbreviationDisplay.cpp; path = ../Sourcecode/mx/core/elements/GroupAbbreviationDisplay.cpp; sourceTree = ""; }; - 294546B11D295C5300B90302 /* GroupAbbreviationDisplayAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GroupAbbreviationDisplayAttributes.cpp; path = ../Sourcecode/mx/core/elements/GroupAbbreviationDisplayAttributes.cpp; sourceTree = ""; }; - 294546B21D295C5300B90302 /* GroupBarline.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GroupBarline.cpp; path = ../Sourcecode/mx/core/elements/GroupBarline.cpp; sourceTree = ""; }; - 294546B31D295C5300B90302 /* GroupBarlineAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GroupBarlineAttributes.cpp; path = ../Sourcecode/mx/core/elements/GroupBarlineAttributes.cpp; sourceTree = ""; }; - 294546B41D295C5300B90302 /* Grouping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Grouping.cpp; path = ../Sourcecode/mx/core/elements/Grouping.cpp; sourceTree = ""; }; - 294546B51D295C5300B90302 /* GroupingAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GroupingAttributes.cpp; path = ../Sourcecode/mx/core/elements/GroupingAttributes.cpp; sourceTree = ""; }; - 294546B61D295C5300B90302 /* GroupName.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GroupName.cpp; path = ../Sourcecode/mx/core/elements/GroupName.cpp; sourceTree = ""; }; - 294546B71D295C5300B90302 /* GroupNameAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GroupNameAttributes.cpp; path = ../Sourcecode/mx/core/elements/GroupNameAttributes.cpp; sourceTree = ""; }; - 294546B81D295C5300B90302 /* GroupNameDisplay.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GroupNameDisplay.cpp; path = ../Sourcecode/mx/core/elements/GroupNameDisplay.cpp; sourceTree = ""; }; - 294546B91D295C5300B90302 /* GroupNameDisplayAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GroupNameDisplayAttributes.cpp; path = ../Sourcecode/mx/core/elements/GroupNameDisplayAttributes.cpp; sourceTree = ""; }; - 294546BA1D295C5300B90302 /* GroupSymbol.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GroupSymbol.cpp; path = ../Sourcecode/mx/core/elements/GroupSymbol.cpp; sourceTree = ""; }; - 294546BB1D295C5300B90302 /* GroupSymbolAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GroupSymbolAttributes.cpp; path = ../Sourcecode/mx/core/elements/GroupSymbolAttributes.cpp; sourceTree = ""; }; - 294546BC1D295C5300B90302 /* GroupTime.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GroupTime.cpp; path = ../Sourcecode/mx/core/elements/GroupTime.cpp; sourceTree = ""; }; - 294546BD1D295C5300B90302 /* HammerOn.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = HammerOn.cpp; path = ../Sourcecode/mx/core/elements/HammerOn.cpp; sourceTree = ""; }; - 294546BE1D295C5300B90302 /* HammerOnAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = HammerOnAttributes.cpp; path = ../Sourcecode/mx/core/elements/HammerOnAttributes.cpp; sourceTree = ""; }; - 294546BF1D295C5300B90302 /* Handbell.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Handbell.cpp; path = ../Sourcecode/mx/core/elements/Handbell.cpp; sourceTree = ""; }; - 294546C01D295C5300B90302 /* HandbellAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = HandbellAttributes.cpp; path = ../Sourcecode/mx/core/elements/HandbellAttributes.cpp; sourceTree = ""; }; - 294546C11D295C5300B90302 /* Harmonic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Harmonic.cpp; path = ../Sourcecode/mx/core/elements/Harmonic.cpp; sourceTree = ""; }; - 294546C21D295C5300B90302 /* HarmonicAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = HarmonicAttributes.cpp; path = ../Sourcecode/mx/core/elements/HarmonicAttributes.cpp; sourceTree = ""; }; - 294546C31D295C5300B90302 /* HarmonicInfoChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = HarmonicInfoChoice.cpp; path = ../Sourcecode/mx/core/elements/HarmonicInfoChoice.cpp; sourceTree = ""; }; - 294546C41D295C5300B90302 /* HarmonicTypeChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = HarmonicTypeChoice.cpp; path = ../Sourcecode/mx/core/elements/HarmonicTypeChoice.cpp; sourceTree = ""; }; - 294546C51D295C5300B90302 /* Harmony.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Harmony.cpp; path = ../Sourcecode/mx/core/elements/Harmony.cpp; sourceTree = ""; }; - 294546C61D295C5300B90302 /* HarmonyAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = HarmonyAttributes.cpp; path = ../Sourcecode/mx/core/elements/HarmonyAttributes.cpp; sourceTree = ""; }; - 294546C71D295C5300B90302 /* HarmonyChordGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = HarmonyChordGroup.cpp; path = ../Sourcecode/mx/core/elements/HarmonyChordGroup.cpp; sourceTree = ""; }; - 294546C81D295C5300B90302 /* HarpPedals.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = HarpPedals.cpp; path = ../Sourcecode/mx/core/elements/HarpPedals.cpp; sourceTree = ""; }; - 294546C91D295C5300B90302 /* HarpPedalsAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = HarpPedalsAttributes.cpp; path = ../Sourcecode/mx/core/elements/HarpPedalsAttributes.cpp; sourceTree = ""; }; - 294546CA1D295C5300B90302 /* Heel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Heel.cpp; path = ../Sourcecode/mx/core/elements/Heel.cpp; sourceTree = ""; }; - 294546CB1D295C5300B90302 /* HeelAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = HeelAttributes.cpp; path = ../Sourcecode/mx/core/elements/HeelAttributes.cpp; sourceTree = ""; }; - 294546CC1D295C5300B90302 /* Hole.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Hole.cpp; path = ../Sourcecode/mx/core/elements/Hole.cpp; sourceTree = ""; }; - 294546CD1D295C5300B90302 /* HoleAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = HoleAttributes.cpp; path = ../Sourcecode/mx/core/elements/HoleAttributes.cpp; sourceTree = ""; }; - 294546CE1D295C5300B90302 /* HoleClosed.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = HoleClosed.cpp; path = ../Sourcecode/mx/core/elements/HoleClosed.cpp; sourceTree = ""; }; - 294546CF1D295C5300B90302 /* HoleClosedAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = HoleClosedAttributes.cpp; path = ../Sourcecode/mx/core/elements/HoleClosedAttributes.cpp; sourceTree = ""; }; - 294546D01D295C5300B90302 /* HoleShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = HoleShape.cpp; path = ../Sourcecode/mx/core/elements/HoleShape.cpp; sourceTree = ""; }; - 294546D11D295C5300B90302 /* HoleType.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = HoleType.cpp; path = ../Sourcecode/mx/core/elements/HoleType.cpp; sourceTree = ""; }; - 294546D21D295C5300B90302 /* Humming.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Humming.cpp; path = ../Sourcecode/mx/core/elements/Humming.cpp; sourceTree = ""; }; - 294546D31D295C5300B90302 /* Identification.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Identification.cpp; path = ../Sourcecode/mx/core/elements/Identification.cpp; sourceTree = ""; }; - 294546D41D295C5300B90302 /* Image.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Image.cpp; path = ../Sourcecode/mx/core/elements/Image.cpp; sourceTree = ""; }; - 294546D51D295C5300B90302 /* ImageAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ImageAttributes.cpp; path = ../Sourcecode/mx/core/elements/ImageAttributes.cpp; sourceTree = ""; }; - 294546D61D295C5300B90302 /* Instrument.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Instrument.cpp; path = ../Sourcecode/mx/core/elements/Instrument.cpp; sourceTree = ""; }; - 294546D71D295C5300B90302 /* InstrumentAbbreviation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = InstrumentAbbreviation.cpp; path = ../Sourcecode/mx/core/elements/InstrumentAbbreviation.cpp; sourceTree = ""; }; - 294546D81D295C5300B90302 /* InstrumentAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = InstrumentAttributes.cpp; path = ../Sourcecode/mx/core/elements/InstrumentAttributes.cpp; sourceTree = ""; }; - 294546D91D295C5300B90302 /* InstrumentName.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = InstrumentName.cpp; path = ../Sourcecode/mx/core/elements/InstrumentName.cpp; sourceTree = ""; }; - 294546DA1D295C5300B90302 /* Instruments.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Instruments.cpp; path = ../Sourcecode/mx/core/elements/Instruments.cpp; sourceTree = ""; }; - 294546DB1D295C5300B90302 /* InstrumentSound.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = InstrumentSound.cpp; path = ../Sourcecode/mx/core/elements/InstrumentSound.cpp; sourceTree = ""; }; - 294546DC1D295C5300B90302 /* Interchangeable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Interchangeable.cpp; path = ../Sourcecode/mx/core/elements/Interchangeable.cpp; sourceTree = ""; }; - 294546DD1D295C5300B90302 /* InterchangeableAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = InterchangeableAttributes.cpp; path = ../Sourcecode/mx/core/elements/InterchangeableAttributes.cpp; sourceTree = ""; }; - 294546DE1D295C5300B90302 /* Inversion.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Inversion.cpp; path = ../Sourcecode/mx/core/elements/Inversion.cpp; sourceTree = ""; }; - 294546DF1D295C5300B90302 /* InversionAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = InversionAttributes.cpp; path = ../Sourcecode/mx/core/elements/InversionAttributes.cpp; sourceTree = ""; }; - 294546E01D295C5300B90302 /* InvertedMordent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = InvertedMordent.cpp; path = ../Sourcecode/mx/core/elements/InvertedMordent.cpp; sourceTree = ""; }; - 294546E11D295C5300B90302 /* InvertedMordentAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = InvertedMordentAttributes.cpp; path = ../Sourcecode/mx/core/elements/InvertedMordentAttributes.cpp; sourceTree = ""; }; - 294546E21D295C5300B90302 /* InvertedTurn.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = InvertedTurn.cpp; path = ../Sourcecode/mx/core/elements/InvertedTurn.cpp; sourceTree = ""; }; - 294546E31D295C5300B90302 /* InvertedTurnAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = InvertedTurnAttributes.cpp; path = ../Sourcecode/mx/core/elements/InvertedTurnAttributes.cpp; sourceTree = ""; }; - 294546E41D295C5300B90302 /* Ipa.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Ipa.cpp; path = ../Sourcecode/mx/core/elements/Ipa.cpp; sourceTree = ""; }; - 294546E51D295C5300B90302 /* Key.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Key.cpp; path = ../Sourcecode/mx/core/elements/Key.cpp; sourceTree = ""; }; - 294546E61D295C5300B90302 /* KeyAccidental.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = KeyAccidental.cpp; path = ../Sourcecode/mx/core/elements/KeyAccidental.cpp; sourceTree = ""; }; - 294546E71D295C5300B90302 /* KeyAlter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = KeyAlter.cpp; path = ../Sourcecode/mx/core/elements/KeyAlter.cpp; sourceTree = ""; }; - 294546E81D295C5300B90302 /* KeyAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = KeyAttributes.cpp; path = ../Sourcecode/mx/core/elements/KeyAttributes.cpp; sourceTree = ""; }; - 294546E91D295C5300B90302 /* KeyChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = KeyChoice.cpp; path = ../Sourcecode/mx/core/elements/KeyChoice.cpp; sourceTree = ""; }; - 294546EA1D295C5300B90302 /* KeyOctave.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = KeyOctave.cpp; path = ../Sourcecode/mx/core/elements/KeyOctave.cpp; sourceTree = ""; }; - 294546EB1D295C5300B90302 /* KeyOctaveAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = KeyOctaveAttributes.cpp; path = ../Sourcecode/mx/core/elements/KeyOctaveAttributes.cpp; sourceTree = ""; }; - 294546EC1D295C5300B90302 /* KeyStep.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = KeyStep.cpp; path = ../Sourcecode/mx/core/elements/KeyStep.cpp; sourceTree = ""; }; - 294546ED1D295C5300B90302 /* Kind.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Kind.cpp; path = ../Sourcecode/mx/core/elements/Kind.cpp; sourceTree = ""; }; - 294546EE1D295C5300B90302 /* KindAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = KindAttributes.cpp; path = ../Sourcecode/mx/core/elements/KindAttributes.cpp; sourceTree = ""; }; - 294546EF1D295C5300B90302 /* Laughing.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Laughing.cpp; path = ../Sourcecode/mx/core/elements/Laughing.cpp; sourceTree = ""; }; - 294546F01D295C5300B90302 /* LayoutGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LayoutGroup.cpp; path = ../Sourcecode/mx/core/elements/LayoutGroup.cpp; sourceTree = ""; }; - 294546F11D295C5300B90302 /* LeftDivider.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LeftDivider.cpp; path = ../Sourcecode/mx/core/elements/LeftDivider.cpp; sourceTree = ""; }; - 294546F21D295C5300B90302 /* LeftMargin.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LeftMargin.cpp; path = ../Sourcecode/mx/core/elements/LeftMargin.cpp; sourceTree = ""; }; - 294546F31D295C5300B90302 /* Level.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Level.cpp; path = ../Sourcecode/mx/core/elements/Level.cpp; sourceTree = ""; }; - 294546F41D295C5300B90302 /* LevelAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LevelAttributes.cpp; path = ../Sourcecode/mx/core/elements/LevelAttributes.cpp; sourceTree = ""; }; - 294546F51D295C5300B90302 /* Line.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Line.cpp; path = ../Sourcecode/mx/core/elements/Line.cpp; sourceTree = ""; }; - 294546F61D295C5300B90302 /* LineWidth.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LineWidth.cpp; path = ../Sourcecode/mx/core/elements/LineWidth.cpp; sourceTree = ""; }; - 294546F71D295C5300B90302 /* LineWidthAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LineWidthAttributes.cpp; path = ../Sourcecode/mx/core/elements/LineWidthAttributes.cpp; sourceTree = ""; }; - 294546F81D295C5300B90302 /* Link.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Link.cpp; path = ../Sourcecode/mx/core/elements/Link.cpp; sourceTree = ""; }; - 294546F91D295C5300B90302 /* LinkAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LinkAttributes.cpp; path = ../Sourcecode/mx/core/elements/LinkAttributes.cpp; sourceTree = ""; }; - 294546FA1D295C5300B90302 /* Lyric.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Lyric.cpp; path = ../Sourcecode/mx/core/elements/Lyric.cpp; sourceTree = ""; }; - 294546FB1D295C5300B90302 /* LyricAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LyricAttributes.cpp; path = ../Sourcecode/mx/core/elements/LyricAttributes.cpp; sourceTree = ""; }; - 294546FC1D295C5300B90302 /* LyricFont.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LyricFont.cpp; path = ../Sourcecode/mx/core/elements/LyricFont.cpp; sourceTree = ""; }; - 294546FD1D295C5300B90302 /* LyricFontAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LyricFontAttributes.cpp; path = ../Sourcecode/mx/core/elements/LyricFontAttributes.cpp; sourceTree = ""; }; - 294546FE1D295C5300B90302 /* LyricLanguage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LyricLanguage.cpp; path = ../Sourcecode/mx/core/elements/LyricLanguage.cpp; sourceTree = ""; }; - 294546FF1D295C5300B90302 /* LyricLanguageAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LyricLanguageAttributes.cpp; path = ../Sourcecode/mx/core/elements/LyricLanguageAttributes.cpp; sourceTree = ""; }; - 294547001D295C5300B90302 /* LyricTextChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LyricTextChoice.cpp; path = ../Sourcecode/mx/core/elements/LyricTextChoice.cpp; sourceTree = ""; }; - 294547011D295C5300B90302 /* MeasureAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MeasureAttributes.cpp; path = ../Sourcecode/mx/core/elements/MeasureAttributes.cpp; sourceTree = ""; }; - 294547021D295C5300B90302 /* MeasureDistance.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MeasureDistance.cpp; path = ../Sourcecode/mx/core/elements/MeasureDistance.cpp; sourceTree = ""; }; - 294547031D295C5300B90302 /* MeasureLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MeasureLayout.cpp; path = ../Sourcecode/mx/core/elements/MeasureLayout.cpp; sourceTree = ""; }; - 294547041D295C5300B90302 /* MeasureNumbering.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MeasureNumbering.cpp; path = ../Sourcecode/mx/core/elements/MeasureNumbering.cpp; sourceTree = ""; }; - 294547051D295C5300B90302 /* MeasureNumberingAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MeasureNumberingAttributes.cpp; path = ../Sourcecode/mx/core/elements/MeasureNumberingAttributes.cpp; sourceTree = ""; }; - 294547061D295C5300B90302 /* MeasureRepeat.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MeasureRepeat.cpp; path = ../Sourcecode/mx/core/elements/MeasureRepeat.cpp; sourceTree = ""; }; - 294547071D295C5300B90302 /* MeasureRepeatAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MeasureRepeatAttributes.cpp; path = ../Sourcecode/mx/core/elements/MeasureRepeatAttributes.cpp; sourceTree = ""; }; - 294547081D295C5300B90302 /* MeasureStyle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MeasureStyle.cpp; path = ../Sourcecode/mx/core/elements/MeasureStyle.cpp; sourceTree = ""; }; - 294547091D295C5300B90302 /* MeasureStyleAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MeasureStyleAttributes.cpp; path = ../Sourcecode/mx/core/elements/MeasureStyleAttributes.cpp; sourceTree = ""; }; - 2945470A1D295C5300B90302 /* MeasureStyleChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MeasureStyleChoice.cpp; path = ../Sourcecode/mx/core/elements/MeasureStyleChoice.cpp; sourceTree = ""; }; - 2945470B1D295C5300B90302 /* Membrane.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Membrane.cpp; path = ../Sourcecode/mx/core/elements/Membrane.cpp; sourceTree = ""; }; - 2945470C1D295C5300B90302 /* Metal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Metal.cpp; path = ../Sourcecode/mx/core/elements/Metal.cpp; sourceTree = ""; }; - 2945470D1D295C5300B90302 /* Metronome.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Metronome.cpp; path = ../Sourcecode/mx/core/elements/Metronome.cpp; sourceTree = ""; }; - 2945470E1D295C5300B90302 /* MetronomeAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MetronomeAttributes.cpp; path = ../Sourcecode/mx/core/elements/MetronomeAttributes.cpp; sourceTree = ""; }; - 2945470F1D295C5300B90302 /* MetronomeBeam.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MetronomeBeam.cpp; path = ../Sourcecode/mx/core/elements/MetronomeBeam.cpp; sourceTree = ""; }; - 294547101D295C5300B90302 /* MetronomeBeamAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MetronomeBeamAttributes.cpp; path = ../Sourcecode/mx/core/elements/MetronomeBeamAttributes.cpp; sourceTree = ""; }; - 294547111D295C5300B90302 /* MetronomeDot.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MetronomeDot.cpp; path = ../Sourcecode/mx/core/elements/MetronomeDot.cpp; sourceTree = ""; }; - 294547121D295C5300B90302 /* MetronomeNote.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MetronomeNote.cpp; path = ../Sourcecode/mx/core/elements/MetronomeNote.cpp; sourceTree = ""; }; - 294547131D295C5300B90302 /* MetronomeRelation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MetronomeRelation.cpp; path = ../Sourcecode/mx/core/elements/MetronomeRelation.cpp; sourceTree = ""; }; - 294547141D295C5300B90302 /* MetronomeRelationGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MetronomeRelationGroup.cpp; path = ../Sourcecode/mx/core/elements/MetronomeRelationGroup.cpp; sourceTree = ""; }; - 294547151D295C5300B90302 /* MetronomeTuplet.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MetronomeTuplet.cpp; path = ../Sourcecode/mx/core/elements/MetronomeTuplet.cpp; sourceTree = ""; }; - 294547161D295C5300B90302 /* MetronomeTupletAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MetronomeTupletAttributes.cpp; path = ../Sourcecode/mx/core/elements/MetronomeTupletAttributes.cpp; sourceTree = ""; }; - 294547171D295C5300B90302 /* MetronomeType.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MetronomeType.cpp; path = ../Sourcecode/mx/core/elements/MetronomeType.cpp; sourceTree = ""; }; - 294547181D295C5300B90302 /* MidiBank.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MidiBank.cpp; path = ../Sourcecode/mx/core/elements/MidiBank.cpp; sourceTree = ""; }; - 294547191D295C5300B90302 /* MidiChannel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MidiChannel.cpp; path = ../Sourcecode/mx/core/elements/MidiChannel.cpp; sourceTree = ""; }; - 2945471A1D295C5300B90302 /* MidiDevice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MidiDevice.cpp; path = ../Sourcecode/mx/core/elements/MidiDevice.cpp; sourceTree = ""; }; - 2945471B1D295C5300B90302 /* MidiDeviceAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MidiDeviceAttributes.cpp; path = ../Sourcecode/mx/core/elements/MidiDeviceAttributes.cpp; sourceTree = ""; }; - 2945471C1D295C5300B90302 /* MidiDeviceInstrumentGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MidiDeviceInstrumentGroup.cpp; path = ../Sourcecode/mx/core/elements/MidiDeviceInstrumentGroup.cpp; sourceTree = ""; }; - 2945471D1D295C5300B90302 /* MidiInstrument.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MidiInstrument.cpp; path = ../Sourcecode/mx/core/elements/MidiInstrument.cpp; sourceTree = ""; }; - 2945471E1D295C5300B90302 /* MidiInstrumentAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MidiInstrumentAttributes.cpp; path = ../Sourcecode/mx/core/elements/MidiInstrumentAttributes.cpp; sourceTree = ""; }; - 2945471F1D295C5300B90302 /* MidiName.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MidiName.cpp; path = ../Sourcecode/mx/core/elements/MidiName.cpp; sourceTree = ""; }; - 294547201D295C5300B90302 /* MidiProgram.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MidiProgram.cpp; path = ../Sourcecode/mx/core/elements/MidiProgram.cpp; sourceTree = ""; }; - 294547211D295C5300B90302 /* MidiUnpitched.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MidiUnpitched.cpp; path = ../Sourcecode/mx/core/elements/MidiUnpitched.cpp; sourceTree = ""; }; - 294547221D295C5300B90302 /* Millimeters.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Millimeters.cpp; path = ../Sourcecode/mx/core/elements/Millimeters.cpp; sourceTree = ""; }; - 294547231D295C5300B90302 /* Miscellaneous.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Miscellaneous.cpp; path = ../Sourcecode/mx/core/elements/Miscellaneous.cpp; sourceTree = ""; }; - 294547241D295C5300B90302 /* MiscellaneousField.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MiscellaneousField.cpp; path = ../Sourcecode/mx/core/elements/MiscellaneousField.cpp; sourceTree = ""; }; - 294547251D295C5300B90302 /* MiscellaneousFieldAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MiscellaneousFieldAttributes.cpp; path = ../Sourcecode/mx/core/elements/MiscellaneousFieldAttributes.cpp; sourceTree = ""; }; - 294547261D295C5300B90302 /* Mode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Mode.cpp; path = ../Sourcecode/mx/core/elements/Mode.cpp; sourceTree = ""; }; - 294547271D295C5300B90302 /* Mordent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Mordent.cpp; path = ../Sourcecode/mx/core/elements/Mordent.cpp; sourceTree = ""; }; - 294547281D295C5300B90302 /* MordentAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MordentAttributes.cpp; path = ../Sourcecode/mx/core/elements/MordentAttributes.cpp; sourceTree = ""; }; - 294547291D295C5300B90302 /* MovementNumber.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MovementNumber.cpp; path = ../Sourcecode/mx/core/elements/MovementNumber.cpp; sourceTree = ""; }; - 2945472A1D295C5300B90302 /* MovementTitle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MovementTitle.cpp; path = ../Sourcecode/mx/core/elements/MovementTitle.cpp; sourceTree = ""; }; - 2945472B1D295C5300B90302 /* MultipleRest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MultipleRest.cpp; path = ../Sourcecode/mx/core/elements/MultipleRest.cpp; sourceTree = ""; }; - 2945472C1D295C5400B90302 /* MultipleRestAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MultipleRestAttributes.cpp; path = ../Sourcecode/mx/core/elements/MultipleRestAttributes.cpp; sourceTree = ""; }; - 2945472D1D295C5400B90302 /* MusicDataChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MusicDataChoice.cpp; path = ../Sourcecode/mx/core/elements/MusicDataChoice.cpp; sourceTree = ""; }; - 2945472E1D295C5400B90302 /* MusicDataGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MusicDataGroup.cpp; path = ../Sourcecode/mx/core/elements/MusicDataGroup.cpp; sourceTree = ""; }; - 2945472F1D295C5400B90302 /* MusicFont.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MusicFont.cpp; path = ../Sourcecode/mx/core/elements/MusicFont.cpp; sourceTree = ""; }; - 294547301D295C5400B90302 /* Mute.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Mute.cpp; path = ../Sourcecode/mx/core/elements/Mute.cpp; sourceTree = ""; }; - 294547311D295C5400B90302 /* Natural.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Natural.cpp; path = ../Sourcecode/mx/core/elements/Natural.cpp; sourceTree = ""; }; - 294547321D295C5400B90302 /* NonArpeggiate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NonArpeggiate.cpp; path = ../Sourcecode/mx/core/elements/NonArpeggiate.cpp; sourceTree = ""; }; - 294547331D295C5400B90302 /* NonArpeggiateAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NonArpeggiateAttributes.cpp; path = ../Sourcecode/mx/core/elements/NonArpeggiateAttributes.cpp; sourceTree = ""; }; - 294547341D295C5400B90302 /* NonTraditionalKey.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NonTraditionalKey.cpp; path = ../Sourcecode/mx/core/elements/NonTraditionalKey.cpp; sourceTree = ""; }; - 294547351D295C5400B90302 /* NormalDot.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NormalDot.cpp; path = ../Sourcecode/mx/core/elements/NormalDot.cpp; sourceTree = ""; }; - 294547361D295C5400B90302 /* NormalNoteGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NormalNoteGroup.cpp; path = ../Sourcecode/mx/core/elements/NormalNoteGroup.cpp; sourceTree = ""; }; - 294547371D295C5400B90302 /* NormalNotes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NormalNotes.cpp; path = ../Sourcecode/mx/core/elements/NormalNotes.cpp; sourceTree = ""; }; - 294547381D295C5400B90302 /* NormalType.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NormalType.cpp; path = ../Sourcecode/mx/core/elements/NormalType.cpp; sourceTree = ""; }; - 294547391D295C5400B90302 /* NormalTypeNormalDotGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NormalTypeNormalDotGroup.cpp; path = ../Sourcecode/mx/core/elements/NormalTypeNormalDotGroup.cpp; sourceTree = ""; }; - 2945473A1D295C5400B90302 /* Notations.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Notations.cpp; path = ../Sourcecode/mx/core/elements/Notations.cpp; sourceTree = ""; }; - 2945473B1D295C5400B90302 /* NotationsAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NotationsAttributes.cpp; path = ../Sourcecode/mx/core/elements/NotationsAttributes.cpp; sourceTree = ""; }; - 2945473C1D295C5400B90302 /* NotationsChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NotationsChoice.cpp; path = ../Sourcecode/mx/core/elements/NotationsChoice.cpp; sourceTree = ""; }; - 2945473D1D295C5400B90302 /* Note.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Note.cpp; path = ../Sourcecode/mx/core/elements/Note.cpp; sourceTree = ""; }; - 2945473E1D295C5400B90302 /* NoteAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NoteAttributes.cpp; path = ../Sourcecode/mx/core/elements/NoteAttributes.cpp; sourceTree = ""; }; - 2945473F1D295C5400B90302 /* NoteChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NoteChoice.cpp; path = ../Sourcecode/mx/core/elements/NoteChoice.cpp; sourceTree = ""; }; - 294547401D295C5400B90302 /* Notehead.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Notehead.cpp; path = ../Sourcecode/mx/core/elements/Notehead.cpp; sourceTree = ""; }; - 294547411D295C5400B90302 /* NoteheadAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NoteheadAttributes.cpp; path = ../Sourcecode/mx/core/elements/NoteheadAttributes.cpp; sourceTree = ""; }; - 294547421D295C5400B90302 /* NoteheadText.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NoteheadText.cpp; path = ../Sourcecode/mx/core/elements/NoteheadText.cpp; sourceTree = ""; }; - 294547431D295C5400B90302 /* NoteRelationNote.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NoteRelationNote.cpp; path = ../Sourcecode/mx/core/elements/NoteRelationNote.cpp; sourceTree = ""; }; - 294547441D295C5400B90302 /* NoteSize.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NoteSize.cpp; path = ../Sourcecode/mx/core/elements/NoteSize.cpp; sourceTree = ""; }; - 294547451D295C5400B90302 /* NoteSizeAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NoteSizeAttributes.cpp; path = ../Sourcecode/mx/core/elements/NoteSizeAttributes.cpp; sourceTree = ""; }; - 294547461D295C5400B90302 /* Octave.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Octave.cpp; path = ../Sourcecode/mx/core/elements/Octave.cpp; sourceTree = ""; }; - 294547471D295C5400B90302 /* OctaveChange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OctaveChange.cpp; path = ../Sourcecode/mx/core/elements/OctaveChange.cpp; sourceTree = ""; }; - 294547481D295C5400B90302 /* OctaveShift.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OctaveShift.cpp; path = ../Sourcecode/mx/core/elements/OctaveShift.cpp; sourceTree = ""; }; - 294547491D295C5400B90302 /* OctaveShiftAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OctaveShiftAttributes.cpp; path = ../Sourcecode/mx/core/elements/OctaveShiftAttributes.cpp; sourceTree = ""; }; - 2945474A1D295C5400B90302 /* Offset.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Offset.cpp; path = ../Sourcecode/mx/core/elements/Offset.cpp; sourceTree = ""; }; - 2945474B1D295C5400B90302 /* OffsetAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OffsetAttributes.cpp; path = ../Sourcecode/mx/core/elements/OffsetAttributes.cpp; sourceTree = ""; }; - 2945474C1D295C5400B90302 /* OpenString.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OpenString.cpp; path = ../Sourcecode/mx/core/elements/OpenString.cpp; sourceTree = ""; }; - 2945474D1D295C5400B90302 /* Opus.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Opus.cpp; path = ../Sourcecode/mx/core/elements/Opus.cpp; sourceTree = ""; }; - 2945474E1D295C5400B90302 /* OpusAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OpusAttributes.cpp; path = ../Sourcecode/mx/core/elements/OpusAttributes.cpp; sourceTree = ""; }; - 2945474F1D295C5400B90302 /* Ornaments.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Ornaments.cpp; path = ../Sourcecode/mx/core/elements/Ornaments.cpp; sourceTree = ""; }; - 294547501D295C5400B90302 /* OrnamentsChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OrnamentsChoice.cpp; path = ../Sourcecode/mx/core/elements/OrnamentsChoice.cpp; sourceTree = ""; }; - 294547511D295C5400B90302 /* OtherAppearance.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OtherAppearance.cpp; path = ../Sourcecode/mx/core/elements/OtherAppearance.cpp; sourceTree = ""; }; - 294547521D295C5400B90302 /* OtherAppearanceAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OtherAppearanceAttributes.cpp; path = ../Sourcecode/mx/core/elements/OtherAppearanceAttributes.cpp; sourceTree = ""; }; - 294547531D295C5400B90302 /* OtherArticulation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OtherArticulation.cpp; path = ../Sourcecode/mx/core/elements/OtherArticulation.cpp; sourceTree = ""; }; - 294547541D295C5400B90302 /* OtherArticulationAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OtherArticulationAttributes.cpp; path = ../Sourcecode/mx/core/elements/OtherArticulationAttributes.cpp; sourceTree = ""; }; - 294547551D295C5400B90302 /* OtherDirection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OtherDirection.cpp; path = ../Sourcecode/mx/core/elements/OtherDirection.cpp; sourceTree = ""; }; - 294547561D295C5400B90302 /* OtherDirectionAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OtherDirectionAttributes.cpp; path = ../Sourcecode/mx/core/elements/OtherDirectionAttributes.cpp; sourceTree = ""; }; - 294547571D295C5400B90302 /* OtherNotation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OtherNotation.cpp; path = ../Sourcecode/mx/core/elements/OtherNotation.cpp; sourceTree = ""; }; - 294547581D295C5400B90302 /* OtherNotationAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OtherNotationAttributes.cpp; path = ../Sourcecode/mx/core/elements/OtherNotationAttributes.cpp; sourceTree = ""; }; - 294547591D295C5400B90302 /* OtherOrnament.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OtherOrnament.cpp; path = ../Sourcecode/mx/core/elements/OtherOrnament.cpp; sourceTree = ""; }; - 2945475A1D295C5400B90302 /* OtherOrnamentAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OtherOrnamentAttributes.cpp; path = ../Sourcecode/mx/core/elements/OtherOrnamentAttributes.cpp; sourceTree = ""; }; - 2945475B1D295C5400B90302 /* OtherPercussion.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OtherPercussion.cpp; path = ../Sourcecode/mx/core/elements/OtherPercussion.cpp; sourceTree = ""; }; - 2945475C1D295C5400B90302 /* OtherPlay.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OtherPlay.cpp; path = ../Sourcecode/mx/core/elements/OtherPlay.cpp; sourceTree = ""; }; - 2945475D1D295C5400B90302 /* OtherPlayAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OtherPlayAttributes.cpp; path = ../Sourcecode/mx/core/elements/OtherPlayAttributes.cpp; sourceTree = ""; }; - 2945475E1D295C5400B90302 /* OtherTechnical.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OtherTechnical.cpp; path = ../Sourcecode/mx/core/elements/OtherTechnical.cpp; sourceTree = ""; }; - 2945475F1D295C5400B90302 /* OtherTechnicalAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OtherTechnicalAttributes.cpp; path = ../Sourcecode/mx/core/elements/OtherTechnicalAttributes.cpp; sourceTree = ""; }; - 294547601D295C5400B90302 /* PageHeight.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PageHeight.cpp; path = ../Sourcecode/mx/core/elements/PageHeight.cpp; sourceTree = ""; }; - 294547611D295C5400B90302 /* PageLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PageLayout.cpp; path = ../Sourcecode/mx/core/elements/PageLayout.cpp; sourceTree = ""; }; - 294547621D295C5400B90302 /* PageMargins.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PageMargins.cpp; path = ../Sourcecode/mx/core/elements/PageMargins.cpp; sourceTree = ""; }; - 294547631D295C5400B90302 /* PageMarginsAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PageMarginsAttributes.cpp; path = ../Sourcecode/mx/core/elements/PageMarginsAttributes.cpp; sourceTree = ""; }; - 294547641D295C5400B90302 /* PageWidth.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PageWidth.cpp; path = ../Sourcecode/mx/core/elements/PageWidth.cpp; sourceTree = ""; }; - 294547651D295C5400B90302 /* Pan.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Pan.cpp; path = ../Sourcecode/mx/core/elements/Pan.cpp; sourceTree = ""; }; - 294547661D295C5400B90302 /* PartAbbreviation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PartAbbreviation.cpp; path = ../Sourcecode/mx/core/elements/PartAbbreviation.cpp; sourceTree = ""; }; - 294547671D295C5400B90302 /* PartAbbreviationAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PartAbbreviationAttributes.cpp; path = ../Sourcecode/mx/core/elements/PartAbbreviationAttributes.cpp; sourceTree = ""; }; - 294547681D295C5400B90302 /* PartAbbreviationDisplay.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PartAbbreviationDisplay.cpp; path = ../Sourcecode/mx/core/elements/PartAbbreviationDisplay.cpp; sourceTree = ""; }; - 294547691D295C5400B90302 /* PartAbbreviationDisplayAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PartAbbreviationDisplayAttributes.cpp; path = ../Sourcecode/mx/core/elements/PartAbbreviationDisplayAttributes.cpp; sourceTree = ""; }; - 2945476A1D295C5400B90302 /* PartAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PartAttributes.cpp; path = ../Sourcecode/mx/core/elements/PartAttributes.cpp; sourceTree = ""; }; - 2945476B1D295C5400B90302 /* PartGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PartGroup.cpp; path = ../Sourcecode/mx/core/elements/PartGroup.cpp; sourceTree = ""; }; - 2945476C1D295C5400B90302 /* PartGroupAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PartGroupAttributes.cpp; path = ../Sourcecode/mx/core/elements/PartGroupAttributes.cpp; sourceTree = ""; }; - 2945476D1D295C5400B90302 /* PartGroupOrScorePart.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PartGroupOrScorePart.cpp; path = ../Sourcecode/mx/core/elements/PartGroupOrScorePart.cpp; sourceTree = ""; }; - 2945476E1D295C5400B90302 /* PartList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PartList.cpp; path = ../Sourcecode/mx/core/elements/PartList.cpp; sourceTree = ""; }; - 2945476F1D295C5400B90302 /* PartName.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PartName.cpp; path = ../Sourcecode/mx/core/elements/PartName.cpp; sourceTree = ""; }; - 294547701D295C5400B90302 /* PartNameAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PartNameAttributes.cpp; path = ../Sourcecode/mx/core/elements/PartNameAttributes.cpp; sourceTree = ""; }; - 294547711D295C5400B90302 /* PartNameDisplay.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PartNameDisplay.cpp; path = ../Sourcecode/mx/core/elements/PartNameDisplay.cpp; sourceTree = ""; }; - 294547721D295C5400B90302 /* PartNameDisplayAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PartNameDisplayAttributes.cpp; path = ../Sourcecode/mx/core/elements/PartNameDisplayAttributes.cpp; sourceTree = ""; }; - 294547731D295C5400B90302 /* PartSymbol.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PartSymbol.cpp; path = ../Sourcecode/mx/core/elements/PartSymbol.cpp; sourceTree = ""; }; - 294547741D295C5400B90302 /* PartSymbolAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PartSymbolAttributes.cpp; path = ../Sourcecode/mx/core/elements/PartSymbolAttributes.cpp; sourceTree = ""; }; - 294547751D295C5400B90302 /* PartwiseMeasure.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PartwiseMeasure.cpp; path = ../Sourcecode/mx/core/elements/PartwiseMeasure.cpp; sourceTree = ""; }; - 294547761D295C5400B90302 /* PartwisePart.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PartwisePart.cpp; path = ../Sourcecode/mx/core/elements/PartwisePart.cpp; sourceTree = ""; }; - 294547771D295C5400B90302 /* Pedal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Pedal.cpp; path = ../Sourcecode/mx/core/elements/Pedal.cpp; sourceTree = ""; }; - 294547781D295C5400B90302 /* PedalAlter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PedalAlter.cpp; path = ../Sourcecode/mx/core/elements/PedalAlter.cpp; sourceTree = ""; }; - 294547791D295C5400B90302 /* PedalAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PedalAttributes.cpp; path = ../Sourcecode/mx/core/elements/PedalAttributes.cpp; sourceTree = ""; }; - 2945477A1D295C5400B90302 /* PedalStep.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PedalStep.cpp; path = ../Sourcecode/mx/core/elements/PedalStep.cpp; sourceTree = ""; }; - 2945477B1D295C5400B90302 /* PedalTuning.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PedalTuning.cpp; path = ../Sourcecode/mx/core/elements/PedalTuning.cpp; sourceTree = ""; }; - 2945477C1D295C5400B90302 /* Percussion.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Percussion.cpp; path = ../Sourcecode/mx/core/elements/Percussion.cpp; sourceTree = ""; }; - 2945477D1D295C5400B90302 /* PercussionAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PercussionAttributes.cpp; path = ../Sourcecode/mx/core/elements/PercussionAttributes.cpp; sourceTree = ""; }; - 2945477E1D295C5400B90302 /* PercussionChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PercussionChoice.cpp; path = ../Sourcecode/mx/core/elements/PercussionChoice.cpp; sourceTree = ""; }; - 2945477F1D295C5400B90302 /* PerMinute.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PerMinute.cpp; path = ../Sourcecode/mx/core/elements/PerMinute.cpp; sourceTree = ""; }; - 294547801D295C5400B90302 /* PerMinuteAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PerMinuteAttributes.cpp; path = ../Sourcecode/mx/core/elements/PerMinuteAttributes.cpp; sourceTree = ""; }; - 294547811D295C5400B90302 /* PerMinuteOrBeatUnitChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PerMinuteOrBeatUnitChoice.cpp; path = ../Sourcecode/mx/core/elements/PerMinuteOrBeatUnitChoice.cpp; sourceTree = ""; }; - 294547821D295C5400B90302 /* Pitch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Pitch.cpp; path = ../Sourcecode/mx/core/elements/Pitch.cpp; sourceTree = ""; }; - 294547831D295C5400B90302 /* Pitched.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Pitched.cpp; path = ../Sourcecode/mx/core/elements/Pitched.cpp; sourceTree = ""; }; - 294547841D295C5400B90302 /* Play.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Play.cpp; path = ../Sourcecode/mx/core/elements/Play.cpp; sourceTree = ""; }; - 294547851D295C5400B90302 /* PlayAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PlayAttributes.cpp; path = ../Sourcecode/mx/core/elements/PlayAttributes.cpp; sourceTree = ""; }; - 294547861D295C5400B90302 /* Plop.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Plop.cpp; path = ../Sourcecode/mx/core/elements/Plop.cpp; sourceTree = ""; }; - 294547871D295C5400B90302 /* Pluck.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Pluck.cpp; path = ../Sourcecode/mx/core/elements/Pluck.cpp; sourceTree = ""; }; - 294547881D295C5400B90302 /* PluckAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PluckAttributes.cpp; path = ../Sourcecode/mx/core/elements/PluckAttributes.cpp; sourceTree = ""; }; - 294547891D295C5400B90302 /* PreBend.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PreBend.cpp; path = ../Sourcecode/mx/core/elements/PreBend.cpp; sourceTree = ""; }; - 2945478A1D295C5400B90302 /* Prefix.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Prefix.cpp; path = ../Sourcecode/mx/core/elements/Prefix.cpp; sourceTree = ""; }; - 2945478B1D295C5400B90302 /* PrefixAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PrefixAttributes.cpp; path = ../Sourcecode/mx/core/elements/PrefixAttributes.cpp; sourceTree = ""; }; - 2945478C1D295C5400B90302 /* PrincipalVoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PrincipalVoice.cpp; path = ../Sourcecode/mx/core/elements/PrincipalVoice.cpp; sourceTree = ""; }; - 2945478D1D295C5400B90302 /* PrincipalVoiceAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PrincipalVoiceAttributes.cpp; path = ../Sourcecode/mx/core/elements/PrincipalVoiceAttributes.cpp; sourceTree = ""; }; - 2945478E1D295C5400B90302 /* Print.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Print.cpp; path = ../Sourcecode/mx/core/elements/Print.cpp; sourceTree = ""; }; - 2945478F1D295C5400B90302 /* PrintAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PrintAttributes.cpp; path = ../Sourcecode/mx/core/elements/PrintAttributes.cpp; sourceTree = ""; }; - 294547901D295C5400B90302 /* Properties.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Properties.cpp; path = ../Sourcecode/mx/core/elements/Properties.cpp; sourceTree = ""; }; - 294547911D295C5400B90302 /* PullOff.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PullOff.cpp; path = ../Sourcecode/mx/core/elements/PullOff.cpp; sourceTree = ""; }; - 294547921D295C5400B90302 /* PullOffAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PullOffAttributes.cpp; path = ../Sourcecode/mx/core/elements/PullOffAttributes.cpp; sourceTree = ""; }; - 294547931D295C5400B90302 /* Rehearsal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Rehearsal.cpp; path = ../Sourcecode/mx/core/elements/Rehearsal.cpp; sourceTree = ""; }; - 294547941D295C5400B90302 /* RehearsalAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RehearsalAttributes.cpp; path = ../Sourcecode/mx/core/elements/RehearsalAttributes.cpp; sourceTree = ""; }; - 294547951D295C5400B90302 /* Relation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Relation.cpp; path = ../Sourcecode/mx/core/elements/Relation.cpp; sourceTree = ""; }; - 294547961D295C5400B90302 /* RelationAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RelationAttributes.cpp; path = ../Sourcecode/mx/core/elements/RelationAttributes.cpp; sourceTree = ""; }; - 294547971D295C5400B90302 /* Release.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Release.cpp; path = ../Sourcecode/mx/core/elements/Release.cpp; sourceTree = ""; }; - 294547981D295C5400B90302 /* Repeat.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Repeat.cpp; path = ../Sourcecode/mx/core/elements/Repeat.cpp; sourceTree = ""; }; - 294547991D295C5400B90302 /* RepeatAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RepeatAttributes.cpp; path = ../Sourcecode/mx/core/elements/RepeatAttributes.cpp; sourceTree = ""; }; - 2945479A1D295C5400B90302 /* Rest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Rest.cpp; path = ../Sourcecode/mx/core/elements/Rest.cpp; sourceTree = ""; }; - 2945479B1D295C5400B90302 /* RestAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RestAttributes.cpp; path = ../Sourcecode/mx/core/elements/RestAttributes.cpp; sourceTree = ""; }; - 2945479C1D295C5400B90302 /* RightDivider.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RightDivider.cpp; path = ../Sourcecode/mx/core/elements/RightDivider.cpp; sourceTree = ""; }; - 2945479D1D295C5400B90302 /* RightMargin.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RightMargin.cpp; path = ../Sourcecode/mx/core/elements/RightMargin.cpp; sourceTree = ""; }; - 2945479E1D295C5400B90302 /* Rights.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Rights.cpp; path = ../Sourcecode/mx/core/elements/Rights.cpp; sourceTree = ""; }; - 2945479F1D295C5400B90302 /* RightsAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RightsAttributes.cpp; path = ../Sourcecode/mx/core/elements/RightsAttributes.cpp; sourceTree = ""; }; - 294547A01D295C5400B90302 /* Root.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Root.cpp; path = ../Sourcecode/mx/core/elements/Root.cpp; sourceTree = ""; }; - 294547A11D295C5400B90302 /* RootAlter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RootAlter.cpp; path = ../Sourcecode/mx/core/elements/RootAlter.cpp; sourceTree = ""; }; - 294547A21D295C5400B90302 /* RootAlterAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RootAlterAttributes.cpp; path = ../Sourcecode/mx/core/elements/RootAlterAttributes.cpp; sourceTree = ""; }; - 294547A31D295C5400B90302 /* RootStep.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RootStep.cpp; path = ../Sourcecode/mx/core/elements/RootStep.cpp; sourceTree = ""; }; - 294547A41D295C5400B90302 /* RootStepAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RootStepAttributes.cpp; path = ../Sourcecode/mx/core/elements/RootStepAttributes.cpp; sourceTree = ""; }; - 294547A51D295C5400B90302 /* Scaling.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Scaling.cpp; path = ../Sourcecode/mx/core/elements/Scaling.cpp; sourceTree = ""; }; - 294547A61D295C5400B90302 /* Schleifer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Schleifer.cpp; path = ../Sourcecode/mx/core/elements/Schleifer.cpp; sourceTree = ""; }; - 294547A71D295C5400B90302 /* Scoop.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Scoop.cpp; path = ../Sourcecode/mx/core/elements/Scoop.cpp; sourceTree = ""; }; - 294547A81D295C5400B90302 /* Scordatura.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Scordatura.cpp; path = ../Sourcecode/mx/core/elements/Scordatura.cpp; sourceTree = ""; }; - 294547A91D295C5400B90302 /* ScoreHeaderGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScoreHeaderGroup.cpp; path = ../Sourcecode/mx/core/elements/ScoreHeaderGroup.cpp; sourceTree = ""; }; - 294547AA1D295C5400B90302 /* ScoreInstrument.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScoreInstrument.cpp; path = ../Sourcecode/mx/core/elements/ScoreInstrument.cpp; sourceTree = ""; }; - 294547AB1D295C5400B90302 /* ScoreInstrumentAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScoreInstrumentAttributes.cpp; path = ../Sourcecode/mx/core/elements/ScoreInstrumentAttributes.cpp; sourceTree = ""; }; - 294547AC1D295C5400B90302 /* ScorePart.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScorePart.cpp; path = ../Sourcecode/mx/core/elements/ScorePart.cpp; sourceTree = ""; }; - 294547AD1D295C5400B90302 /* ScorePartAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScorePartAttributes.cpp; path = ../Sourcecode/mx/core/elements/ScorePartAttributes.cpp; sourceTree = ""; }; - 294547AE1D295C5400B90302 /* ScorePartwise.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScorePartwise.cpp; path = ../Sourcecode/mx/core/elements/ScorePartwise.cpp; sourceTree = ""; }; - 294547AF1D295C5400B90302 /* ScorePartwiseAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScorePartwiseAttributes.cpp; path = ../Sourcecode/mx/core/elements/ScorePartwiseAttributes.cpp; sourceTree = ""; }; - 294547B01D295C5400B90302 /* ScoreTimewise.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScoreTimewise.cpp; path = ../Sourcecode/mx/core/elements/ScoreTimewise.cpp; sourceTree = ""; }; - 294547B11D295C5400B90302 /* ScoreTimewiseAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScoreTimewiseAttributes.cpp; path = ../Sourcecode/mx/core/elements/ScoreTimewiseAttributes.cpp; sourceTree = ""; }; - 294547B21D295C5400B90302 /* Segno.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Segno.cpp; path = ../Sourcecode/mx/core/elements/Segno.cpp; sourceTree = ""; }; - 294547B31D295C5400B90302 /* SemiPitched.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SemiPitched.cpp; path = ../Sourcecode/mx/core/elements/SemiPitched.cpp; sourceTree = ""; }; - 294547B41D295C5400B90302 /* SenzaMisura.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SenzaMisura.cpp; path = ../Sourcecode/mx/core/elements/SenzaMisura.cpp; sourceTree = ""; }; - 294547B51D295C5400B90302 /* Shake.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Shake.cpp; path = ../Sourcecode/mx/core/elements/Shake.cpp; sourceTree = ""; }; - 294547B61D295C5400B90302 /* Sign.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Sign.cpp; path = ../Sourcecode/mx/core/elements/Sign.cpp; sourceTree = ""; }; - 294547B71D295C5400B90302 /* Slash.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Slash.cpp; path = ../Sourcecode/mx/core/elements/Slash.cpp; sourceTree = ""; }; - 294547B81D295C5400B90302 /* SlashAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SlashAttributes.cpp; path = ../Sourcecode/mx/core/elements/SlashAttributes.cpp; sourceTree = ""; }; - 294547B91D295C5400B90302 /* SlashDot.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SlashDot.cpp; path = ../Sourcecode/mx/core/elements/SlashDot.cpp; sourceTree = ""; }; - 294547BA1D295C5400B90302 /* SlashType.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SlashType.cpp; path = ../Sourcecode/mx/core/elements/SlashType.cpp; sourceTree = ""; }; - 294547BB1D295C5400B90302 /* Slide.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Slide.cpp; path = ../Sourcecode/mx/core/elements/Slide.cpp; sourceTree = ""; }; - 294547BC1D295C5400B90302 /* SlideAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SlideAttributes.cpp; path = ../Sourcecode/mx/core/elements/SlideAttributes.cpp; sourceTree = ""; }; - 294547BD1D295C5400B90302 /* Slur.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Slur.cpp; path = ../Sourcecode/mx/core/elements/Slur.cpp; sourceTree = ""; }; - 294547BE1D295C5400B90302 /* SlurAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SlurAttributes.cpp; path = ../Sourcecode/mx/core/elements/SlurAttributes.cpp; sourceTree = ""; }; - 294547BF1D295C5400B90302 /* SnapPizzicato.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SnapPizzicato.cpp; path = ../Sourcecode/mx/core/elements/SnapPizzicato.cpp; sourceTree = ""; }; - 294547C01D295C5400B90302 /* Software.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Software.cpp; path = ../Sourcecode/mx/core/elements/Software.cpp; sourceTree = ""; }; - 294547C11D295C5400B90302 /* Solo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Solo.cpp; path = ../Sourcecode/mx/core/elements/Solo.cpp; sourceTree = ""; }; - 294547C21D295C5400B90302 /* SoloOrEnsembleChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SoloOrEnsembleChoice.cpp; path = ../Sourcecode/mx/core/elements/SoloOrEnsembleChoice.cpp; sourceTree = ""; }; - 294547C31D295C5400B90302 /* Sound.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Sound.cpp; path = ../Sourcecode/mx/core/elements/Sound.cpp; sourceTree = ""; }; - 294547C41D295C5400B90302 /* SoundAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SoundAttributes.cpp; path = ../Sourcecode/mx/core/elements/SoundAttributes.cpp; sourceTree = ""; }; - 294547C51D295C5400B90302 /* SoundingPitch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SoundingPitch.cpp; path = ../Sourcecode/mx/core/elements/SoundingPitch.cpp; sourceTree = ""; }; - 294547C61D295C5400B90302 /* Source.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Source.cpp; path = ../Sourcecode/mx/core/elements/Source.cpp; sourceTree = ""; }; - 294547C71D295C5400B90302 /* Spiccato.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Spiccato.cpp; path = ../Sourcecode/mx/core/elements/Spiccato.cpp; sourceTree = ""; }; - 294547C81D295C5400B90302 /* Staccatissimo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Staccatissimo.cpp; path = ../Sourcecode/mx/core/elements/Staccatissimo.cpp; sourceTree = ""; }; - 294547C91D295C5400B90302 /* Staccato.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Staccato.cpp; path = ../Sourcecode/mx/core/elements/Staccato.cpp; sourceTree = ""; }; - 294547CA1D295C5400B90302 /* Staff.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Staff.cpp; path = ../Sourcecode/mx/core/elements/Staff.cpp; sourceTree = ""; }; - 294547CB1D295C5400B90302 /* StaffDetails.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StaffDetails.cpp; path = ../Sourcecode/mx/core/elements/StaffDetails.cpp; sourceTree = ""; }; - 294547CC1D295C5400B90302 /* StaffDetailsAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StaffDetailsAttributes.cpp; path = ../Sourcecode/mx/core/elements/StaffDetailsAttributes.cpp; sourceTree = ""; }; - 294547CD1D295C5400B90302 /* StaffDistance.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StaffDistance.cpp; path = ../Sourcecode/mx/core/elements/StaffDistance.cpp; sourceTree = ""; }; - 294547CE1D295C5400B90302 /* StaffLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StaffLayout.cpp; path = ../Sourcecode/mx/core/elements/StaffLayout.cpp; sourceTree = ""; }; - 294547CF1D295C5400B90302 /* StaffLayoutAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StaffLayoutAttributes.cpp; path = ../Sourcecode/mx/core/elements/StaffLayoutAttributes.cpp; sourceTree = ""; }; - 294547D01D295C5400B90302 /* StaffLines.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StaffLines.cpp; path = ../Sourcecode/mx/core/elements/StaffLines.cpp; sourceTree = ""; }; - 294547D11D295C5400B90302 /* StaffSize.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StaffSize.cpp; path = ../Sourcecode/mx/core/elements/StaffSize.cpp; sourceTree = ""; }; - 294547D21D295C5400B90302 /* StaffTuning.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StaffTuning.cpp; path = ../Sourcecode/mx/core/elements/StaffTuning.cpp; sourceTree = ""; }; - 294547D31D295C5400B90302 /* StaffTuningAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StaffTuningAttributes.cpp; path = ../Sourcecode/mx/core/elements/StaffTuningAttributes.cpp; sourceTree = ""; }; - 294547D41D295C5400B90302 /* StaffType.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StaffType.cpp; path = ../Sourcecode/mx/core/elements/StaffType.cpp; sourceTree = ""; }; - 294547D51D295C5400B90302 /* Staves.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Staves.cpp; path = ../Sourcecode/mx/core/elements/Staves.cpp; sourceTree = ""; }; - 294547D61D295C5400B90302 /* Stem.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Stem.cpp; path = ../Sourcecode/mx/core/elements/Stem.cpp; sourceTree = ""; }; - 294547D71D295C5400B90302 /* StemAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StemAttributes.cpp; path = ../Sourcecode/mx/core/elements/StemAttributes.cpp; sourceTree = ""; }; - 294547D81D295C5400B90302 /* Step.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Step.cpp; path = ../Sourcecode/mx/core/elements/Step.cpp; sourceTree = ""; }; - 294547D91D295C5400B90302 /* Stick.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Stick.cpp; path = ../Sourcecode/mx/core/elements/Stick.cpp; sourceTree = ""; }; - 294547DA1D295C5400B90302 /* StickAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StickAttributes.cpp; path = ../Sourcecode/mx/core/elements/StickAttributes.cpp; sourceTree = ""; }; - 294547DB1D295C5400B90302 /* StickLocation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StickLocation.cpp; path = ../Sourcecode/mx/core/elements/StickLocation.cpp; sourceTree = ""; }; - 294547DC1D295C5400B90302 /* StickMaterial.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StickMaterial.cpp; path = ../Sourcecode/mx/core/elements/StickMaterial.cpp; sourceTree = ""; }; - 294547DD1D295C5400B90302 /* StickType.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StickType.cpp; path = ../Sourcecode/mx/core/elements/StickType.cpp; sourceTree = ""; }; - 294547DE1D295C5400B90302 /* Stopped.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Stopped.cpp; path = ../Sourcecode/mx/core/elements/Stopped.cpp; sourceTree = ""; }; - 294547DF1D295C5400B90302 /* Stress.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Stress.cpp; path = ../Sourcecode/mx/core/elements/Stress.cpp; sourceTree = ""; }; - 294547E01D295C5400B90302 /* String.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = String.cpp; path = ../Sourcecode/mx/core/elements/String.cpp; sourceTree = ""; }; - 294547E11D295C5400B90302 /* StringAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StringAttributes.cpp; path = ../Sourcecode/mx/core/elements/StringAttributes.cpp; sourceTree = ""; }; - 294547E21D295C5400B90302 /* StringMute.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StringMute.cpp; path = ../Sourcecode/mx/core/elements/StringMute.cpp; sourceTree = ""; }; - 294547E31D295C5400B90302 /* StringMuteAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StringMuteAttributes.cpp; path = ../Sourcecode/mx/core/elements/StringMuteAttributes.cpp; sourceTree = ""; }; - 294547E41D295C5400B90302 /* StrongAccent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StrongAccent.cpp; path = ../Sourcecode/mx/core/elements/StrongAccent.cpp; sourceTree = ""; }; - 294547E51D295C5400B90302 /* StrongAccentAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StrongAccentAttributes.cpp; path = ../Sourcecode/mx/core/elements/StrongAccentAttributes.cpp; sourceTree = ""; }; - 294547E61D295C5400B90302 /* Suffix.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Suffix.cpp; path = ../Sourcecode/mx/core/elements/Suffix.cpp; sourceTree = ""; }; - 294547E71D295C5400B90302 /* SuffixAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SuffixAttributes.cpp; path = ../Sourcecode/mx/core/elements/SuffixAttributes.cpp; sourceTree = ""; }; - 294547E81D295C5400B90302 /* Supports.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Supports.cpp; path = ../Sourcecode/mx/core/elements/Supports.cpp; sourceTree = ""; }; - 294547E91D295C5400B90302 /* SupportsAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SupportsAttributes.cpp; path = ../Sourcecode/mx/core/elements/SupportsAttributes.cpp; sourceTree = ""; }; - 294547EA1D295C5400B90302 /* Syllabic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Syllabic.cpp; path = ../Sourcecode/mx/core/elements/Syllabic.cpp; sourceTree = ""; }; - 294547EB1D295C5400B90302 /* SyllabicTextGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SyllabicTextGroup.cpp; path = ../Sourcecode/mx/core/elements/SyllabicTextGroup.cpp; sourceTree = ""; }; - 294547EC1D295C5400B90302 /* SystemDistance.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SystemDistance.cpp; path = ../Sourcecode/mx/core/elements/SystemDistance.cpp; sourceTree = ""; }; - 294547ED1D295C5400B90302 /* SystemDividers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SystemDividers.cpp; path = ../Sourcecode/mx/core/elements/SystemDividers.cpp; sourceTree = ""; }; - 294547EE1D295C5400B90302 /* SystemLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SystemLayout.cpp; path = ../Sourcecode/mx/core/elements/SystemLayout.cpp; sourceTree = ""; }; - 294547EF1D295C5400B90302 /* SystemMargins.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SystemMargins.cpp; path = ../Sourcecode/mx/core/elements/SystemMargins.cpp; sourceTree = ""; }; - 294547F01D295C5400B90302 /* Tap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Tap.cpp; path = ../Sourcecode/mx/core/elements/Tap.cpp; sourceTree = ""; }; - 294547F11D295C5400B90302 /* TapAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TapAttributes.cpp; path = ../Sourcecode/mx/core/elements/TapAttributes.cpp; sourceTree = ""; }; - 294547F21D295C5400B90302 /* Technical.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Technical.cpp; path = ../Sourcecode/mx/core/elements/Technical.cpp; sourceTree = ""; }; - 294547F31D295C5400B90302 /* TechnicalChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TechnicalChoice.cpp; path = ../Sourcecode/mx/core/elements/TechnicalChoice.cpp; sourceTree = ""; }; - 294547F41D295C5400B90302 /* Tenths.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Tenths.cpp; path = ../Sourcecode/mx/core/elements/Tenths.cpp; sourceTree = ""; }; - 294547F51D295C5400B90302 /* Tenuto.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Tenuto.cpp; path = ../Sourcecode/mx/core/elements/Tenuto.cpp; sourceTree = ""; }; - 294547F61D295C5400B90302 /* Text.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Text.cpp; path = ../Sourcecode/mx/core/elements/Text.cpp; sourceTree = ""; }; - 294547F71D295C5400B90302 /* TextAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TextAttributes.cpp; path = ../Sourcecode/mx/core/elements/TextAttributes.cpp; sourceTree = ""; }; - 294547F81D295C5400B90302 /* ThumbPosition.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ThumbPosition.cpp; path = ../Sourcecode/mx/core/elements/ThumbPosition.cpp; sourceTree = ""; }; - 294547F91D295C5400B90302 /* Tie.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Tie.cpp; path = ../Sourcecode/mx/core/elements/Tie.cpp; sourceTree = ""; }; - 294547FA1D295C5400B90302 /* TieAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TieAttributes.cpp; path = ../Sourcecode/mx/core/elements/TieAttributes.cpp; sourceTree = ""; }; - 294547FB1D295C5400B90302 /* Tied.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Tied.cpp; path = ../Sourcecode/mx/core/elements/Tied.cpp; sourceTree = ""; }; - 294547FC1D295C5400B90302 /* TiedAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TiedAttributes.cpp; path = ../Sourcecode/mx/core/elements/TiedAttributes.cpp; sourceTree = ""; }; - 294547FD1D295C5400B90302 /* Time.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Time.cpp; path = ../Sourcecode/mx/core/elements/Time.cpp; sourceTree = ""; }; - 294547FE1D295C5400B90302 /* TimeAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TimeAttributes.cpp; path = ../Sourcecode/mx/core/elements/TimeAttributes.cpp; sourceTree = ""; }; - 294547FF1D295C5400B90302 /* TimeChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TimeChoice.cpp; path = ../Sourcecode/mx/core/elements/TimeChoice.cpp; sourceTree = ""; }; - 294548001D295C5400B90302 /* TimeModification.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TimeModification.cpp; path = ../Sourcecode/mx/core/elements/TimeModification.cpp; sourceTree = ""; }; - 294548011D295C5400B90302 /* TimeModificationNormalTypeNormalDot.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TimeModificationNormalTypeNormalDot.cpp; path = ../Sourcecode/mx/core/elements/TimeModificationNormalTypeNormalDot.cpp; sourceTree = ""; }; - 294548021D295C5400B90302 /* TimeRelation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TimeRelation.cpp; path = ../Sourcecode/mx/core/elements/TimeRelation.cpp; sourceTree = ""; }; - 294548031D295C5400B90302 /* TimeSignatureGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TimeSignatureGroup.cpp; path = ../Sourcecode/mx/core/elements/TimeSignatureGroup.cpp; sourceTree = ""; }; - 294548041D295C5400B90302 /* TimewiseMeasure.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TimewiseMeasure.cpp; path = ../Sourcecode/mx/core/elements/TimewiseMeasure.cpp; sourceTree = ""; }; - 294548051D295C5400B90302 /* TimewisePart.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TimewisePart.cpp; path = ../Sourcecode/mx/core/elements/TimewisePart.cpp; sourceTree = ""; }; - 294548061D295C5400B90302 /* Timpani.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Timpani.cpp; path = ../Sourcecode/mx/core/elements/Timpani.cpp; sourceTree = ""; }; - 294548071D295C5400B90302 /* Toe.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Toe.cpp; path = ../Sourcecode/mx/core/elements/Toe.cpp; sourceTree = ""; }; - 294548081D295C5400B90302 /* ToeAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ToeAttributes.cpp; path = ../Sourcecode/mx/core/elements/ToeAttributes.cpp; sourceTree = ""; }; - 294548091D295C5400B90302 /* TopMargin.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TopMargin.cpp; path = ../Sourcecode/mx/core/elements/TopMargin.cpp; sourceTree = ""; }; - 2945480A1D295C5400B90302 /* TopSystemDistance.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TopSystemDistance.cpp; path = ../Sourcecode/mx/core/elements/TopSystemDistance.cpp; sourceTree = ""; }; - 2945480B1D295C5400B90302 /* TouchingPitch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TouchingPitch.cpp; path = ../Sourcecode/mx/core/elements/TouchingPitch.cpp; sourceTree = ""; }; - 2945480C1D295C5400B90302 /* TraditionalKey.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TraditionalKey.cpp; path = ../Sourcecode/mx/core/elements/TraditionalKey.cpp; sourceTree = ""; }; - 2945480D1D295C5400B90302 /* Transpose.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Transpose.cpp; path = ../Sourcecode/mx/core/elements/Transpose.cpp; sourceTree = ""; }; - 2945480E1D295C5400B90302 /* TransposeAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TransposeAttributes.cpp; path = ../Sourcecode/mx/core/elements/TransposeAttributes.cpp; sourceTree = ""; }; - 2945480F1D295C5400B90302 /* Tremolo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Tremolo.cpp; path = ../Sourcecode/mx/core/elements/Tremolo.cpp; sourceTree = ""; }; - 294548101D295C5400B90302 /* TremoloAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TremoloAttributes.cpp; path = ../Sourcecode/mx/core/elements/TremoloAttributes.cpp; sourceTree = ""; }; - 294548111D295C5400B90302 /* TrillMark.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TrillMark.cpp; path = ../Sourcecode/mx/core/elements/TrillMark.cpp; sourceTree = ""; }; - 294548121D295C5400B90302 /* TripleTongue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TripleTongue.cpp; path = ../Sourcecode/mx/core/elements/TripleTongue.cpp; sourceTree = ""; }; - 294548131D295C5400B90302 /* TuningAlter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TuningAlter.cpp; path = ../Sourcecode/mx/core/elements/TuningAlter.cpp; sourceTree = ""; }; - 294548141D295C5400B90302 /* TuningOctave.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TuningOctave.cpp; path = ../Sourcecode/mx/core/elements/TuningOctave.cpp; sourceTree = ""; }; - 294548151D295C5400B90302 /* TuningStep.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TuningStep.cpp; path = ../Sourcecode/mx/core/elements/TuningStep.cpp; sourceTree = ""; }; - 294548161D295C5400B90302 /* Tuplet.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Tuplet.cpp; path = ../Sourcecode/mx/core/elements/Tuplet.cpp; sourceTree = ""; }; - 294548171D295C5400B90302 /* TupletActual.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TupletActual.cpp; path = ../Sourcecode/mx/core/elements/TupletActual.cpp; sourceTree = ""; }; - 294548181D295C5400B90302 /* TupletAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TupletAttributes.cpp; path = ../Sourcecode/mx/core/elements/TupletAttributes.cpp; sourceTree = ""; }; - 294548191D295C5400B90302 /* TupletDot.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TupletDot.cpp; path = ../Sourcecode/mx/core/elements/TupletDot.cpp; sourceTree = ""; }; - 2945481A1D295C5400B90302 /* TupletDotAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TupletDotAttributes.cpp; path = ../Sourcecode/mx/core/elements/TupletDotAttributes.cpp; sourceTree = ""; }; - 2945481B1D295C5400B90302 /* TupletNormal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TupletNormal.cpp; path = ../Sourcecode/mx/core/elements/TupletNormal.cpp; sourceTree = ""; }; - 2945481C1D295C5500B90302 /* TupletNumber.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TupletNumber.cpp; path = ../Sourcecode/mx/core/elements/TupletNumber.cpp; sourceTree = ""; }; - 2945481D1D295C5500B90302 /* TupletNumberAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TupletNumberAttributes.cpp; path = ../Sourcecode/mx/core/elements/TupletNumberAttributes.cpp; sourceTree = ""; }; - 2945481E1D295C5500B90302 /* TupletType.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TupletType.cpp; path = ../Sourcecode/mx/core/elements/TupletType.cpp; sourceTree = ""; }; - 2945481F1D295C5500B90302 /* TupletTypeAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TupletTypeAttributes.cpp; path = ../Sourcecode/mx/core/elements/TupletTypeAttributes.cpp; sourceTree = ""; }; - 294548201D295C5500B90302 /* Turn.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Turn.cpp; path = ../Sourcecode/mx/core/elements/Turn.cpp; sourceTree = ""; }; - 294548211D295C5500B90302 /* TurnAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TurnAttributes.cpp; path = ../Sourcecode/mx/core/elements/TurnAttributes.cpp; sourceTree = ""; }; - 294548221D295C5500B90302 /* Type.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Type.cpp; path = ../Sourcecode/mx/core/elements/Type.cpp; sourceTree = ""; }; - 294548231D295C5500B90302 /* TypeAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TypeAttributes.cpp; path = ../Sourcecode/mx/core/elements/TypeAttributes.cpp; sourceTree = ""; }; - 294548241D295C5500B90302 /* Unpitched.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Unpitched.cpp; path = ../Sourcecode/mx/core/elements/Unpitched.cpp; sourceTree = ""; }; - 294548251D295C5500B90302 /* Unstress.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Unstress.cpp; path = ../Sourcecode/mx/core/elements/Unstress.cpp; sourceTree = ""; }; - 294548261D295C5500B90302 /* UpBow.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = UpBow.cpp; path = ../Sourcecode/mx/core/elements/UpBow.cpp; sourceTree = ""; }; - 294548271D295C5500B90302 /* VerticalTurn.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = VerticalTurn.cpp; path = ../Sourcecode/mx/core/elements/VerticalTurn.cpp; sourceTree = ""; }; - 294548281D295C5500B90302 /* VirtualInstrument.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = VirtualInstrument.cpp; path = ../Sourcecode/mx/core/elements/VirtualInstrument.cpp; sourceTree = ""; }; - 294548291D295C5500B90302 /* VirtualLibrary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = VirtualLibrary.cpp; path = ../Sourcecode/mx/core/elements/VirtualLibrary.cpp; sourceTree = ""; }; - 2945482A1D295C5500B90302 /* VirtualName.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = VirtualName.cpp; path = ../Sourcecode/mx/core/elements/VirtualName.cpp; sourceTree = ""; }; - 2945482B1D295C5500B90302 /* Voice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Voice.cpp; path = ../Sourcecode/mx/core/elements/Voice.cpp; sourceTree = ""; }; - 2945482C1D295C5500B90302 /* Volume.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Volume.cpp; path = ../Sourcecode/mx/core/elements/Volume.cpp; sourceTree = ""; }; - 2945482D1D295C5500B90302 /* WavyLine.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WavyLine.cpp; path = ../Sourcecode/mx/core/elements/WavyLine.cpp; sourceTree = ""; }; - 2945482E1D295C5500B90302 /* WavyLineAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WavyLineAttributes.cpp; path = ../Sourcecode/mx/core/elements/WavyLineAttributes.cpp; sourceTree = ""; }; - 2945482F1D295C5500B90302 /* Wedge.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Wedge.cpp; path = ../Sourcecode/mx/core/elements/Wedge.cpp; sourceTree = ""; }; - 294548301D295C5500B90302 /* WedgeAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WedgeAttributes.cpp; path = ../Sourcecode/mx/core/elements/WedgeAttributes.cpp; sourceTree = ""; }; - 294548311D295C5500B90302 /* WithBar.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WithBar.cpp; path = ../Sourcecode/mx/core/elements/WithBar.cpp; sourceTree = ""; }; - 294548321D295C5500B90302 /* WithBarAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WithBarAttributes.cpp; path = ../Sourcecode/mx/core/elements/WithBarAttributes.cpp; sourceTree = ""; }; - 294548331D295C5500B90302 /* Wood.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Wood.cpp; path = ../Sourcecode/mx/core/elements/Wood.cpp; sourceTree = ""; }; - 294548341D295C5500B90302 /* WordFont.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WordFont.cpp; path = ../Sourcecode/mx/core/elements/WordFont.cpp; sourceTree = ""; }; - 294548351D295C5500B90302 /* Words.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Words.cpp; path = ../Sourcecode/mx/core/elements/Words.cpp; sourceTree = ""; }; - 294548361D295C5500B90302 /* WordsAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WordsAttributes.cpp; path = ../Sourcecode/mx/core/elements/WordsAttributes.cpp; sourceTree = ""; }; - 294548371D295C5500B90302 /* Work.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Work.cpp; path = ../Sourcecode/mx/core/elements/Work.cpp; sourceTree = ""; }; - 294548381D295C5500B90302 /* WorkNumber.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WorkNumber.cpp; path = ../Sourcecode/mx/core/elements/WorkNumber.cpp; sourceTree = ""; }; - 294548391D295C5500B90302 /* WorkTitle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WorkTitle.cpp; path = ../Sourcecode/mx/core/elements/WorkTitle.cpp; sourceTree = ""; }; - 294847721D5ADD550025138E /* Throw.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Throw.h; path = ../Sourcecode/mx/utility/Throw.h; sourceTree = ""; }; - 2951A0C31D60F3B700B49A13 /* ScoreConversions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScoreConversions.cpp; path = ../Sourcecode/mx/core/ScoreConversions.cpp; sourceTree = ""; }; - 2951A0C41D60F3B700B49A13 /* ScoreConversions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScoreConversions.h; path = ../Sourcecode/mx/core/ScoreConversions.h; sourceTree = ""; }; - 2951E1671DBA9C7300826CEF /* WedgeData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WedgeData.h; path = ../Sourcecode/mx/api/WedgeData.h; sourceTree = ""; }; - 295545861D28E5A30062D7E5 /* Accent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Accent.h; path = ../Sourcecode/mx/core/elements/Accent.h; sourceTree = ""; }; - 295545871D28E5A30062D7E5 /* Accidental.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Accidental.h; path = ../Sourcecode/mx/core/elements/Accidental.h; sourceTree = ""; }; - 295545881D28E5A30062D7E5 /* AccidentalAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AccidentalAttributes.h; path = ../Sourcecode/mx/core/elements/AccidentalAttributes.h; sourceTree = ""; }; - 295545891D28E5A30062D7E5 /* AccidentalMark.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AccidentalMark.h; path = ../Sourcecode/mx/core/elements/AccidentalMark.h; sourceTree = ""; }; - 2955458A1D28E5A30062D7E5 /* AccidentalMarkAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AccidentalMarkAttributes.h; path = ../Sourcecode/mx/core/elements/AccidentalMarkAttributes.h; sourceTree = ""; }; - 2955458B1D28E5A30062D7E5 /* AccidentalText.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AccidentalText.h; path = ../Sourcecode/mx/core/elements/AccidentalText.h; sourceTree = ""; }; - 2955458C1D28E5A30062D7E5 /* AccidentalTextAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AccidentalTextAttributes.h; path = ../Sourcecode/mx/core/elements/AccidentalTextAttributes.h; sourceTree = ""; }; - 2955458D1D28E5A30062D7E5 /* Accord.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Accord.h; path = ../Sourcecode/mx/core/elements/Accord.h; sourceTree = ""; }; - 2955458E1D28E5A30062D7E5 /* AccordAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AccordAttributes.h; path = ../Sourcecode/mx/core/elements/AccordAttributes.h; sourceTree = ""; }; - 2955458F1D28E5A30062D7E5 /* AccordionHigh.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AccordionHigh.h; path = ../Sourcecode/mx/core/elements/AccordionHigh.h; sourceTree = ""; }; - 295545901D28E5A30062D7E5 /* AccordionLow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AccordionLow.h; path = ../Sourcecode/mx/core/elements/AccordionLow.h; sourceTree = ""; }; - 295545911D28E5A30062D7E5 /* AccordionMiddle.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AccordionMiddle.h; path = ../Sourcecode/mx/core/elements/AccordionMiddle.h; sourceTree = ""; }; - 295545921D28E5A30062D7E5 /* AccordionRegistration.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AccordionRegistration.h; path = ../Sourcecode/mx/core/elements/AccordionRegistration.h; sourceTree = ""; }; - 295545931D28E5A30062D7E5 /* AccordionRegistrationAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AccordionRegistrationAttributes.h; path = ../Sourcecode/mx/core/elements/AccordionRegistrationAttributes.h; sourceTree = ""; }; - 295545941D28E5A30062D7E5 /* ActualNotes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ActualNotes.h; path = ../Sourcecode/mx/core/elements/ActualNotes.h; sourceTree = ""; }; - 295545951D28E5A30062D7E5 /* Alter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Alter.h; path = ../Sourcecode/mx/core/elements/Alter.h; sourceTree = ""; }; - 295545961D28E5A30062D7E5 /* Appearance.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Appearance.h; path = ../Sourcecode/mx/core/elements/Appearance.h; sourceTree = ""; }; - 295545971D28E5A30062D7E5 /* Arpeggiate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Arpeggiate.h; path = ../Sourcecode/mx/core/elements/Arpeggiate.h; sourceTree = ""; }; - 295545981D28E5A30062D7E5 /* ArpeggiateAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ArpeggiateAttributes.h; path = ../Sourcecode/mx/core/elements/ArpeggiateAttributes.h; sourceTree = ""; }; - 295545991D28E5A30062D7E5 /* Arrow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Arrow.h; path = ../Sourcecode/mx/core/elements/Arrow.h; sourceTree = ""; }; - 2955459A1D28E5A30062D7E5 /* ArrowAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ArrowAttributes.h; path = ../Sourcecode/mx/core/elements/ArrowAttributes.h; sourceTree = ""; }; - 2955459B1D28E5A30062D7E5 /* ArrowDirection.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ArrowDirection.h; path = ../Sourcecode/mx/core/elements/ArrowDirection.h; sourceTree = ""; }; - 2955459C1D28E5A30062D7E5 /* ArrowGroup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ArrowGroup.h; path = ../Sourcecode/mx/core/elements/ArrowGroup.h; sourceTree = ""; }; - 2955459D1D28E5A30062D7E5 /* ArrowStyle.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ArrowStyle.h; path = ../Sourcecode/mx/core/elements/ArrowStyle.h; sourceTree = ""; }; - 2955459E1D28E5A30062D7E5 /* Articulations.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Articulations.h; path = ../Sourcecode/mx/core/elements/Articulations.h; sourceTree = ""; }; - 2955459F1D28E5A30062D7E5 /* ArticulationsChoice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ArticulationsChoice.h; path = ../Sourcecode/mx/core/elements/ArticulationsChoice.h; sourceTree = ""; }; - 295545A01D28E5A30062D7E5 /* Artificial.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Artificial.h; path = ../Sourcecode/mx/core/elements/Artificial.h; sourceTree = ""; }; - 295545A11D28E5A30062D7E5 /* AttributesIterface.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AttributesIterface.h; path = ../Sourcecode/mx/core/elements/AttributesIterface.h; sourceTree = ""; }; - 295545A21D28E5A30062D7E5 /* Backup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Backup.h; path = ../Sourcecode/mx/core/elements/Backup.h; sourceTree = ""; }; - 295545A31D28E5A30062D7E5 /* Barline.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Barline.h; path = ../Sourcecode/mx/core/elements/Barline.h; sourceTree = ""; }; - 295545A41D28E5A30062D7E5 /* BarlineAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BarlineAttributes.h; path = ../Sourcecode/mx/core/elements/BarlineAttributes.h; sourceTree = ""; }; - 295545A51D28E5A30062D7E5 /* Barre.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Barre.h; path = ../Sourcecode/mx/core/elements/Barre.h; sourceTree = ""; }; - 295545A61D28E5A30062D7E5 /* BarreAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BarreAttributes.h; path = ../Sourcecode/mx/core/elements/BarreAttributes.h; sourceTree = ""; }; - 295545A71D28E5A30062D7E5 /* BarStyle.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BarStyle.h; path = ../Sourcecode/mx/core/elements/BarStyle.h; sourceTree = ""; }; - 295545A81D28E5A30062D7E5 /* BarStyleAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BarStyleAttributes.h; path = ../Sourcecode/mx/core/elements/BarStyleAttributes.h; sourceTree = ""; }; - 295545A91D28E5A30062D7E5 /* BasePitch.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BasePitch.h; path = ../Sourcecode/mx/core/elements/BasePitch.h; sourceTree = ""; }; - 295545AA1D28E5A30062D7E5 /* Bass.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Bass.h; path = ../Sourcecode/mx/core/elements/Bass.h; sourceTree = ""; }; - 295545AB1D28E5A30062D7E5 /* BassAlter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BassAlter.h; path = ../Sourcecode/mx/core/elements/BassAlter.h; sourceTree = ""; }; - 295545AC1D28E5A30062D7E5 /* BassAlterAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BassAlterAttributes.h; path = ../Sourcecode/mx/core/elements/BassAlterAttributes.h; sourceTree = ""; }; - 295545AD1D28E5A30062D7E5 /* BassStep.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BassStep.h; path = ../Sourcecode/mx/core/elements/BassStep.h; sourceTree = ""; }; - 295545AE1D28E5A30062D7E5 /* BassStepAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BassStepAttributes.h; path = ../Sourcecode/mx/core/elements/BassStepAttributes.h; sourceTree = ""; }; - 295545AF1D28E5A30062D7E5 /* Beam.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Beam.h; path = ../Sourcecode/mx/core/elements/Beam.h; sourceTree = ""; }; - 295545B01D28E5A30062D7E5 /* BeamAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BeamAttributes.h; path = ../Sourcecode/mx/core/elements/BeamAttributes.h; sourceTree = ""; }; - 295545B11D28E5A30062D7E5 /* Beater.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Beater.h; path = ../Sourcecode/mx/core/elements/Beater.h; sourceTree = ""; }; - 295545B21D28E5A30062D7E5 /* BeaterAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BeaterAttributes.h; path = ../Sourcecode/mx/core/elements/BeaterAttributes.h; sourceTree = ""; }; - 295545B31D28E5A30062D7E5 /* BeatRepeat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BeatRepeat.h; path = ../Sourcecode/mx/core/elements/BeatRepeat.h; sourceTree = ""; }; - 295545B41D28E5A30062D7E5 /* BeatRepeatAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BeatRepeatAttributes.h; path = ../Sourcecode/mx/core/elements/BeatRepeatAttributes.h; sourceTree = ""; }; - 295545B51D28E5A30062D7E5 /* Beats.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Beats.h; path = ../Sourcecode/mx/core/elements/Beats.h; sourceTree = ""; }; - 295545B61D28E5A30062D7E5 /* BeatType.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BeatType.h; path = ../Sourcecode/mx/core/elements/BeatType.h; sourceTree = ""; }; - 295545B71D28E5A30062D7E5 /* BeatUnit.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BeatUnit.h; path = ../Sourcecode/mx/core/elements/BeatUnit.h; sourceTree = ""; }; - 295545B81D28E5A30062D7E5 /* BeatUnitDot.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BeatUnitDot.h; path = ../Sourcecode/mx/core/elements/BeatUnitDot.h; sourceTree = ""; }; - 295545B91D28E5A30062D7E5 /* BeatUnitGroup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BeatUnitGroup.h; path = ../Sourcecode/mx/core/elements/BeatUnitGroup.h; sourceTree = ""; }; - 295545BA1D28E5A30062D7E5 /* BeatUnitPer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BeatUnitPer.h; path = ../Sourcecode/mx/core/elements/BeatUnitPer.h; sourceTree = ""; }; - 295545BB1D28E5A30062D7E5 /* BeatUnitPerOrNoteRelationNoteChoice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BeatUnitPerOrNoteRelationNoteChoice.h; path = ../Sourcecode/mx/core/elements/BeatUnitPerOrNoteRelationNoteChoice.h; sourceTree = ""; }; - 295545BC1D28E5A30062D7E5 /* Bend.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Bend.h; path = ../Sourcecode/mx/core/elements/Bend.h; sourceTree = ""; }; - 295545BD1D28E5A30062D7E5 /* BendAlter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BendAlter.h; path = ../Sourcecode/mx/core/elements/BendAlter.h; sourceTree = ""; }; - 295545BE1D28E5A30062D7E5 /* BendAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BendAttributes.h; path = ../Sourcecode/mx/core/elements/BendAttributes.h; sourceTree = ""; }; - 295545BF1D28E5A30062D7E5 /* BendChoice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BendChoice.h; path = ../Sourcecode/mx/core/elements/BendChoice.h; sourceTree = ""; }; - 295545C01D28E5A30062D7E5 /* Bookmark.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Bookmark.h; path = ../Sourcecode/mx/core/elements/Bookmark.h; sourceTree = ""; }; - 295545C11D28E5A30062D7E5 /* BookmarkAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BookmarkAttributes.h; path = ../Sourcecode/mx/core/elements/BookmarkAttributes.h; sourceTree = ""; }; - 295545C21D28E5A30062D7E5 /* BottomMargin.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BottomMargin.h; path = ../Sourcecode/mx/core/elements/BottomMargin.h; sourceTree = ""; }; - 295545C31D28E5A30062D7E5 /* Bracket.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Bracket.h; path = ../Sourcecode/mx/core/elements/Bracket.h; sourceTree = ""; }; - 295545C41D28E5A30062D7E5 /* BracketAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BracketAttributes.h; path = ../Sourcecode/mx/core/elements/BracketAttributes.h; sourceTree = ""; }; - 295545C51D28E5A30062D7E5 /* BreathMark.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BreathMark.h; path = ../Sourcecode/mx/core/elements/BreathMark.h; sourceTree = ""; }; - 295545C61D28E5A30062D7E5 /* BreathMarkAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BreathMarkAttributes.h; path = ../Sourcecode/mx/core/elements/BreathMarkAttributes.h; sourceTree = ""; }; - 295545C71D28E5A30062D7E5 /* Caesura.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Caesura.h; path = ../Sourcecode/mx/core/elements/Caesura.h; sourceTree = ""; }; - 295545C81D28E5A30062D7E5 /* Cancel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Cancel.h; path = ../Sourcecode/mx/core/elements/Cancel.h; sourceTree = ""; }; - 295545C91D28E5A30062D7E5 /* CancelAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CancelAttributes.h; path = ../Sourcecode/mx/core/elements/CancelAttributes.h; sourceTree = ""; }; - 295545CA1D28E5A30062D7E5 /* Capo.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Capo.h; path = ../Sourcecode/mx/core/elements/Capo.h; sourceTree = ""; }; - 295545CB1D28E5A30062D7E5 /* Chord.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Chord.h; path = ../Sourcecode/mx/core/elements/Chord.h; sourceTree = ""; }; - 295545CC1D28E5A30062D7E5 /* Chromatic.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Chromatic.h; path = ../Sourcecode/mx/core/elements/Chromatic.h; sourceTree = ""; }; - 295545CD1D28E5A30062D7E5 /* CircularArrow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CircularArrow.h; path = ../Sourcecode/mx/core/elements/CircularArrow.h; sourceTree = ""; }; - 295545CE1D28E5A30062D7E5 /* Clef.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Clef.h; path = ../Sourcecode/mx/core/elements/Clef.h; sourceTree = ""; }; - 295545CF1D28E5A30062D7E5 /* ClefAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ClefAttributes.h; path = ../Sourcecode/mx/core/elements/ClefAttributes.h; sourceTree = ""; }; - 295545D01D28E5A30062D7E5 /* ClefOctaveChange.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ClefOctaveChange.h; path = ../Sourcecode/mx/core/elements/ClefOctaveChange.h; sourceTree = ""; }; - 295545D11D28E5A30062D7E5 /* Coda.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Coda.h; path = ../Sourcecode/mx/core/elements/Coda.h; sourceTree = ""; }; - 295545D21D28E5A30062D7E5 /* Creator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Creator.h; path = ../Sourcecode/mx/core/elements/Creator.h; sourceTree = ""; }; - 295545D31D28E5A30062D7E5 /* CreatorAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CreatorAttributes.h; path = ../Sourcecode/mx/core/elements/CreatorAttributes.h; sourceTree = ""; }; - 295545D41D28E5A30062D7E5 /* Credit.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Credit.h; path = ../Sourcecode/mx/core/elements/Credit.h; sourceTree = ""; }; - 295545D51D28E5A30062D7E5 /* CreditAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CreditAttributes.h; path = ../Sourcecode/mx/core/elements/CreditAttributes.h; sourceTree = ""; }; - 295545D61D28E5A30062D7E5 /* CreditChoice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CreditChoice.h; path = ../Sourcecode/mx/core/elements/CreditChoice.h; sourceTree = ""; }; - 295545D71D28E5A30062D7E5 /* CreditImage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CreditImage.h; path = ../Sourcecode/mx/core/elements/CreditImage.h; sourceTree = ""; }; - 295545D81D28E5A30062D7E5 /* CreditImageAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CreditImageAttributes.h; path = ../Sourcecode/mx/core/elements/CreditImageAttributes.h; sourceTree = ""; }; - 295545D91D28E5A30062D7E5 /* CreditType.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CreditType.h; path = ../Sourcecode/mx/core/elements/CreditType.h; sourceTree = ""; }; - 295545DA1D28E5A30062D7E5 /* CreditWords.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CreditWords.h; path = ../Sourcecode/mx/core/elements/CreditWords.h; sourceTree = ""; }; - 295545DB1D28E5A30062D7E5 /* CreditWordsAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CreditWordsAttributes.h; path = ../Sourcecode/mx/core/elements/CreditWordsAttributes.h; sourceTree = ""; }; - 295545DC1D28E5A30062D7E5 /* CreditWordsGroup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CreditWordsGroup.h; path = ../Sourcecode/mx/core/elements/CreditWordsGroup.h; sourceTree = ""; }; - 295545DD1D28E5A30062D7E5 /* Cue.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Cue.h; path = ../Sourcecode/mx/core/elements/Cue.h; sourceTree = ""; }; - 295545DE1D28E5A30062D7E5 /* CueNoteGroup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CueNoteGroup.h; path = ../Sourcecode/mx/core/elements/CueNoteGroup.h; sourceTree = ""; }; - 295545DF1D28E5A30062D7E5 /* Damp.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Damp.h; path = ../Sourcecode/mx/core/elements/Damp.h; sourceTree = ""; }; - 295545E01D28E5A30062D7E5 /* DampAll.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DampAll.h; path = ../Sourcecode/mx/core/elements/DampAll.h; sourceTree = ""; }; - 295545E11D28E5A30062D7E5 /* Dashes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Dashes.h; path = ../Sourcecode/mx/core/elements/Dashes.h; sourceTree = ""; }; - 295545E21D28E5A30062D7E5 /* DashesAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DashesAttributes.h; path = ../Sourcecode/mx/core/elements/DashesAttributes.h; sourceTree = ""; }; - 295545E31D28E5A30062D7E5 /* Defaults.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Defaults.h; path = ../Sourcecode/mx/core/elements/Defaults.h; sourceTree = ""; }; - 295545E41D28E5A30062D7E5 /* Degree.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Degree.h; path = ../Sourcecode/mx/core/elements/Degree.h; sourceTree = ""; }; - 295545E51D28E5A30062D7E5 /* DegreeAlter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DegreeAlter.h; path = ../Sourcecode/mx/core/elements/DegreeAlter.h; sourceTree = ""; }; - 295545E61D28E5A30062D7E5 /* DegreeAlterAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DegreeAlterAttributes.h; path = ../Sourcecode/mx/core/elements/DegreeAlterAttributes.h; sourceTree = ""; }; - 295545E71D28E5A30062D7E5 /* DegreeAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DegreeAttributes.h; path = ../Sourcecode/mx/core/elements/DegreeAttributes.h; sourceTree = ""; }; - 295545E81D28E5A30062D7E5 /* DegreeType.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DegreeType.h; path = ../Sourcecode/mx/core/elements/DegreeType.h; sourceTree = ""; }; - 295545E91D28E5A30062D7E5 /* DegreeTypeAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DegreeTypeAttributes.h; path = ../Sourcecode/mx/core/elements/DegreeTypeAttributes.h; sourceTree = ""; }; - 295545EA1D28E5A30062D7E5 /* DegreeValue.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DegreeValue.h; path = ../Sourcecode/mx/core/elements/DegreeValue.h; sourceTree = ""; }; - 295545EB1D28E5A30062D7E5 /* DegreeValueAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DegreeValueAttributes.h; path = ../Sourcecode/mx/core/elements/DegreeValueAttributes.h; sourceTree = ""; }; - 295545EC1D28E5A30062D7E5 /* DelayedInvertedTurn.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DelayedInvertedTurn.h; path = ../Sourcecode/mx/core/elements/DelayedInvertedTurn.h; sourceTree = ""; }; - 295545ED1D28E5A30062D7E5 /* DelayedInvertedTurnAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DelayedInvertedTurnAttributes.h; path = ../Sourcecode/mx/core/elements/DelayedInvertedTurnAttributes.h; sourceTree = ""; }; - 295545EE1D28E5A30062D7E5 /* DelayedTurn.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DelayedTurn.h; path = ../Sourcecode/mx/core/elements/DelayedTurn.h; sourceTree = ""; }; - 295545EF1D28E5A30062D7E5 /* DelayedTurnAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DelayedTurnAttributes.h; path = ../Sourcecode/mx/core/elements/DelayedTurnAttributes.h; sourceTree = ""; }; - 295545F01D28E5A30062D7E5 /* DetachedLegato.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DetachedLegato.h; path = ../Sourcecode/mx/core/elements/DetachedLegato.h; sourceTree = ""; }; - 295545F11D28E5A30062D7E5 /* Diatonic.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Diatonic.h; path = ../Sourcecode/mx/core/elements/Diatonic.h; sourceTree = ""; }; - 295545F21D28E5A30062D7E5 /* Direction.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Direction.h; path = ../Sourcecode/mx/core/elements/Direction.h; sourceTree = ""; }; - 295545F31D28E5A30062D7E5 /* DirectionAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DirectionAttributes.h; path = ../Sourcecode/mx/core/elements/DirectionAttributes.h; sourceTree = ""; }; - 295545F41D28E5A30062D7E5 /* DirectionType.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DirectionType.h; path = ../Sourcecode/mx/core/elements/DirectionType.h; sourceTree = ""; }; - 295545F51D28E5A30062D7E5 /* Directive.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Directive.h; path = ../Sourcecode/mx/core/elements/Directive.h; sourceTree = ""; }; - 295545F61D28E5A30062D7E5 /* DirectiveAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DirectiveAttributes.h; path = ../Sourcecode/mx/core/elements/DirectiveAttributes.h; sourceTree = ""; }; - 295545F71D28E5A30062D7E5 /* DisplayOctave.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DisplayOctave.h; path = ../Sourcecode/mx/core/elements/DisplayOctave.h; sourceTree = ""; }; - 295545F81D28E5A30062D7E5 /* DisplayStep.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DisplayStep.h; path = ../Sourcecode/mx/core/elements/DisplayStep.h; sourceTree = ""; }; - 295545F91D28E5A30062D7E5 /* DisplayStepOctaveGroup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DisplayStepOctaveGroup.h; path = ../Sourcecode/mx/core/elements/DisplayStepOctaveGroup.h; sourceTree = ""; }; - 295545FA1D28E5A30062D7E5 /* DisplayText.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DisplayText.h; path = ../Sourcecode/mx/core/elements/DisplayText.h; sourceTree = ""; }; - 295545FB1D28E5A30062D7E5 /* DisplayTextAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DisplayTextAttributes.h; path = ../Sourcecode/mx/core/elements/DisplayTextAttributes.h; sourceTree = ""; }; - 295545FC1D28E5A30062D7E5 /* DisplayTextOrAccidentalText.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DisplayTextOrAccidentalText.h; path = ../Sourcecode/mx/core/elements/DisplayTextOrAccidentalText.h; sourceTree = ""; }; - 295545FD1D28E5A30062D7E5 /* Distance.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Distance.h; path = ../Sourcecode/mx/core/elements/Distance.h; sourceTree = ""; }; - 295545FE1D28E5A30062D7E5 /* DistanceAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DistanceAttributes.h; path = ../Sourcecode/mx/core/elements/DistanceAttributes.h; sourceTree = ""; }; - 295545FF1D28E5A30062D7E5 /* Divisions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Divisions.h; path = ../Sourcecode/mx/core/elements/Divisions.h; sourceTree = ""; }; - 295546001D28E5A30062D7E5 /* Doit.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Doit.h; path = ../Sourcecode/mx/core/elements/Doit.h; sourceTree = ""; }; - 295546011D28E5A30062D7E5 /* Dot.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Dot.h; path = ../Sourcecode/mx/core/elements/Dot.h; sourceTree = ""; }; - 295546021D28E5A30062D7E5 /* Double.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Double.h; path = ../Sourcecode/mx/core/elements/Double.h; sourceTree = ""; }; - 295546031D28E5A30062D7E5 /* DoubleTongue.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DoubleTongue.h; path = ../Sourcecode/mx/core/elements/DoubleTongue.h; sourceTree = ""; }; - 295546041D28E5A30062D7E5 /* DownBow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DownBow.h; path = ../Sourcecode/mx/core/elements/DownBow.h; sourceTree = ""; }; - 295546051D28E5A30062D7E5 /* Duration.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Duration.h; path = ../Sourcecode/mx/core/elements/Duration.h; sourceTree = ""; }; - 295546061D28E5A30062D7E5 /* Dynamics.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Dynamics.h; path = ../Sourcecode/mx/core/elements/Dynamics.h; sourceTree = ""; }; - 295546071D28E5A30062D7E5 /* DynamicsAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DynamicsAttributes.h; path = ../Sourcecode/mx/core/elements/DynamicsAttributes.h; sourceTree = ""; }; - 295546081D28E5A30062D7E5 /* EditorialGroup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = EditorialGroup.h; path = ../Sourcecode/mx/core/elements/EditorialGroup.h; sourceTree = ""; }; - 295546091D28E5A30062D7E5 /* EditorialVoiceDirectionGroup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = EditorialVoiceDirectionGroup.h; path = ../Sourcecode/mx/core/elements/EditorialVoiceDirectionGroup.h; sourceTree = ""; }; - 2955460A1D28E5A30062D7E5 /* EditorialVoiceGroup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = EditorialVoiceGroup.h; path = ../Sourcecode/mx/core/elements/EditorialVoiceGroup.h; sourceTree = ""; }; - 2955460B1D28E5A30062D7E5 /* Effect.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Effect.h; path = ../Sourcecode/mx/core/elements/Effect.h; sourceTree = ""; }; - 2955460C1D28E5A30062D7E5 /* Elevation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Elevation.h; path = ../Sourcecode/mx/core/elements/Elevation.h; sourceTree = ""; }; - 2955460D1D28E5A30062D7E5 /* Elision.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Elision.h; path = ../Sourcecode/mx/core/elements/Elision.h; sourceTree = ""; }; - 2955460E1D28E5A30062D7E5 /* ElisionAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ElisionAttributes.h; path = ../Sourcecode/mx/core/elements/ElisionAttributes.h; sourceTree = ""; }; - 2955460F1D28E5A30062D7E5 /* ElisionSyllabicGroup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ElisionSyllabicGroup.h; path = ../Sourcecode/mx/core/elements/ElisionSyllabicGroup.h; sourceTree = ""; }; - 295546101D28E5A30062D7E5 /* ElisionSyllabicTextGroup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ElisionSyllabicTextGroup.h; path = ../Sourcecode/mx/core/elements/ElisionSyllabicTextGroup.h; sourceTree = ""; }; - 295546111D28E5A30062D7E5 /* EmptyFontAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = EmptyFontAttributes.h; path = ../Sourcecode/mx/core/elements/EmptyFontAttributes.h; sourceTree = ""; }; - 295546121D28E5A30062D7E5 /* EmptyLineAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = EmptyLineAttributes.h; path = ../Sourcecode/mx/core/elements/EmptyLineAttributes.h; sourceTree = ""; }; - 295546131D28E5A30062D7E5 /* EmptyPlacementAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = EmptyPlacementAttributes.h; path = ../Sourcecode/mx/core/elements/EmptyPlacementAttributes.h; sourceTree = ""; }; - 295546141D28E5A30062D7E5 /* EmptyTrillSoundAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = EmptyTrillSoundAttributes.h; path = ../Sourcecode/mx/core/elements/EmptyTrillSoundAttributes.h; sourceTree = ""; }; - 295546151D28E5A30062D7E5 /* Encoder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Encoder.h; path = ../Sourcecode/mx/core/elements/Encoder.h; sourceTree = ""; }; - 295546161D28E5A30062D7E5 /* EncoderAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = EncoderAttributes.h; path = ../Sourcecode/mx/core/elements/EncoderAttributes.h; sourceTree = ""; }; - 295546171D28E5A30062D7E5 /* EncodingChoice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = EncodingChoice.h; path = ../Sourcecode/mx/core/elements/EncodingChoice.h; sourceTree = ""; }; - 295546181D28E5A30062D7E5 /* EncodingDate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = EncodingDate.h; path = ../Sourcecode/mx/core/elements/EncodingDate.h; sourceTree = ""; }; - 295546191D28E5A30062D7E5 /* EncodingDescription.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = EncodingDescription.h; path = ../Sourcecode/mx/core/elements/EncodingDescription.h; sourceTree = ""; }; - 2955461A1D28E5A30062D7E5 /* Ending.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Ending.h; path = ../Sourcecode/mx/core/elements/Ending.h; sourceTree = ""; }; - 2955461B1D28E5A30062D7E5 /* EndingAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = EndingAttributes.h; path = ../Sourcecode/mx/core/elements/EndingAttributes.h; sourceTree = ""; }; - 2955461C1D28E5A30062D7E5 /* EndLine.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = EndLine.h; path = ../Sourcecode/mx/core/elements/EndLine.h; sourceTree = ""; }; - 2955461D1D28E5A30062D7E5 /* EndParagraph.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = EndParagraph.h; path = ../Sourcecode/mx/core/elements/EndParagraph.h; sourceTree = ""; }; - 2955461E1D28E5A30062D7E5 /* Ensemble.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Ensemble.h; path = ../Sourcecode/mx/core/elements/Ensemble.h; sourceTree = ""; }; - 2955461F1D28E5A30062D7E5 /* Extend.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Extend.h; path = ../Sourcecode/mx/core/elements/Extend.h; sourceTree = ""; }; - 295546201D28E5A30062D7E5 /* ExtendAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ExtendAttributes.h; path = ../Sourcecode/mx/core/elements/ExtendAttributes.h; sourceTree = ""; }; - 295546211D28E5A30062D7E5 /* Eyeglasses.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Eyeglasses.h; path = ../Sourcecode/mx/core/elements/Eyeglasses.h; sourceTree = ""; }; - 295546221D28E5A30062D7E5 /* Falloff.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Falloff.h; path = ../Sourcecode/mx/core/elements/Falloff.h; sourceTree = ""; }; - 295546231D28E5A30062D7E5 /* Feature.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Feature.h; path = ../Sourcecode/mx/core/elements/Feature.h; sourceTree = ""; }; - 295546241D28E5A30062D7E5 /* FeatureAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FeatureAttributes.h; path = ../Sourcecode/mx/core/elements/FeatureAttributes.h; sourceTree = ""; }; - 295546251D28E5A30062D7E5 /* Fermata.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Fermata.h; path = ../Sourcecode/mx/core/elements/Fermata.h; sourceTree = ""; }; - 295546261D28E5A30062D7E5 /* FermataAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FermataAttributes.h; path = ../Sourcecode/mx/core/elements/FermataAttributes.h; sourceTree = ""; }; - 295546271D28E5A30062D7E5 /* Fifths.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Fifths.h; path = ../Sourcecode/mx/core/elements/Fifths.h; sourceTree = ""; }; - 295546281D28E5A30062D7E5 /* Figure.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Figure.h; path = ../Sourcecode/mx/core/elements/Figure.h; sourceTree = ""; }; - 295546291D28E5A30062D7E5 /* FiguredBass.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FiguredBass.h; path = ../Sourcecode/mx/core/elements/FiguredBass.h; sourceTree = ""; }; - 2955462A1D28E5A30062D7E5 /* FiguredBassAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FiguredBassAttributes.h; path = ../Sourcecode/mx/core/elements/FiguredBassAttributes.h; sourceTree = ""; }; - 2955462B1D28E5A30062D7E5 /* FigureNumber.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FigureNumber.h; path = ../Sourcecode/mx/core/elements/FigureNumber.h; sourceTree = ""; }; - 2955462C1D28E5A30062D7E5 /* FigureNumberAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FigureNumberAttributes.h; path = ../Sourcecode/mx/core/elements/FigureNumberAttributes.h; sourceTree = ""; }; - 2955462D1D28E5A30062D7E5 /* Fingering.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Fingering.h; path = ../Sourcecode/mx/core/elements/Fingering.h; sourceTree = ""; }; - 2955462E1D28E5A30062D7E5 /* FingeringAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FingeringAttributes.h; path = ../Sourcecode/mx/core/elements/FingeringAttributes.h; sourceTree = ""; }; - 2955462F1D28E5A30062D7E5 /* Fingernails.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Fingernails.h; path = ../Sourcecode/mx/core/elements/Fingernails.h; sourceTree = ""; }; - 295546301D28E5A30062D7E5 /* FirstFret.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FirstFret.h; path = ../Sourcecode/mx/core/elements/FirstFret.h; sourceTree = ""; }; - 295546311D28E5A30062D7E5 /* FirstFretAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FirstFretAttributes.h; path = ../Sourcecode/mx/core/elements/FirstFretAttributes.h; sourceTree = ""; }; - 295546321D28E5A30062D7E5 /* Footnote.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Footnote.h; path = ../Sourcecode/mx/core/elements/Footnote.h; sourceTree = ""; }; - 295546331D28E5A30062D7E5 /* FootnoteAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FootnoteAttributes.h; path = ../Sourcecode/mx/core/elements/FootnoteAttributes.h; sourceTree = ""; }; - 295546341D28E5A30062D7E5 /* Forward.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Forward.h; path = ../Sourcecode/mx/core/elements/Forward.h; sourceTree = ""; }; - 295546351D28E5A30062D7E5 /* Frame.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Frame.h; path = ../Sourcecode/mx/core/elements/Frame.h; sourceTree = ""; }; - 295546361D28E5A30062D7E5 /* FrameAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FrameAttributes.h; path = ../Sourcecode/mx/core/elements/FrameAttributes.h; sourceTree = ""; }; - 295546371D28E5A30062D7E5 /* FrameFrets.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FrameFrets.h; path = ../Sourcecode/mx/core/elements/FrameFrets.h; sourceTree = ""; }; - 295546381D28E5A30062D7E5 /* FrameNote.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FrameNote.h; path = ../Sourcecode/mx/core/elements/FrameNote.h; sourceTree = ""; }; - 295546391D28E5A30062D7E5 /* FrameStrings.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FrameStrings.h; path = ../Sourcecode/mx/core/elements/FrameStrings.h; sourceTree = ""; }; - 2955463A1D28E5A30062D7E5 /* Fret.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Fret.h; path = ../Sourcecode/mx/core/elements/Fret.h; sourceTree = ""; }; - 2955463B1D28E5A30062D7E5 /* FretAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FretAttributes.h; path = ../Sourcecode/mx/core/elements/FretAttributes.h; sourceTree = ""; }; - 2955463C1D28E5A30062D7E5 /* FullNoteGroup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FullNoteGroup.h; path = ../Sourcecode/mx/core/elements/FullNoteGroup.h; sourceTree = ""; }; - 2955463D1D28E5A30062D7E5 /* FullNoteTypeChoice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FullNoteTypeChoice.h; path = ../Sourcecode/mx/core/elements/FullNoteTypeChoice.h; sourceTree = ""; }; - 2955463E1D28E5A30062D7E5 /* Function.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Function.h; path = ../Sourcecode/mx/core/elements/Function.h; sourceTree = ""; }; - 2955463F1D28E5A30062D7E5 /* FunctionAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FunctionAttributes.h; path = ../Sourcecode/mx/core/elements/FunctionAttributes.h; sourceTree = ""; }; - 295546401D28E5A30062D7E5 /* Glass.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Glass.h; path = ../Sourcecode/mx/core/elements/Glass.h; sourceTree = ""; }; - 295546411D28E5A30062D7E5 /* Glissando.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Glissando.h; path = ../Sourcecode/mx/core/elements/Glissando.h; sourceTree = ""; }; - 295546421D28E5A30062D7E5 /* GlissandoAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = GlissandoAttributes.h; path = ../Sourcecode/mx/core/elements/GlissandoAttributes.h; sourceTree = ""; }; - 295546431D28E5A30062D7E5 /* Grace.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Grace.h; path = ../Sourcecode/mx/core/elements/Grace.h; sourceTree = ""; }; - 295546441D28E5A30062D7E5 /* GraceAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = GraceAttributes.h; path = ../Sourcecode/mx/core/elements/GraceAttributes.h; sourceTree = ""; }; - 295546451D28E5A30062D7E5 /* GraceNoteGroup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = GraceNoteGroup.h; path = ../Sourcecode/mx/core/elements/GraceNoteGroup.h; sourceTree = ""; }; - 295546461D28E5A30062D7E5 /* Group.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Group.h; path = ../Sourcecode/mx/core/elements/Group.h; sourceTree = ""; }; - 295546471D28E5A30062D7E5 /* GroupAbbreviation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = GroupAbbreviation.h; path = ../Sourcecode/mx/core/elements/GroupAbbreviation.h; sourceTree = ""; }; - 295546481D28E5A30062D7E5 /* GroupAbbreviationAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = GroupAbbreviationAttributes.h; path = ../Sourcecode/mx/core/elements/GroupAbbreviationAttributes.h; sourceTree = ""; }; - 295546491D28E5A30062D7E5 /* GroupAbbreviationDisplay.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = GroupAbbreviationDisplay.h; path = ../Sourcecode/mx/core/elements/GroupAbbreviationDisplay.h; sourceTree = ""; }; - 2955464A1D28E5A30062D7E5 /* GroupAbbreviationDisplayAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = GroupAbbreviationDisplayAttributes.h; path = ../Sourcecode/mx/core/elements/GroupAbbreviationDisplayAttributes.h; sourceTree = ""; }; - 2955464B1D28E5A30062D7E5 /* GroupBarline.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = GroupBarline.h; path = ../Sourcecode/mx/core/elements/GroupBarline.h; sourceTree = ""; }; - 2955464C1D28E5A30062D7E5 /* GroupBarlineAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = GroupBarlineAttributes.h; path = ../Sourcecode/mx/core/elements/GroupBarlineAttributes.h; sourceTree = ""; }; - 2955464D1D28E5A30062D7E5 /* Grouping.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Grouping.h; path = ../Sourcecode/mx/core/elements/Grouping.h; sourceTree = ""; }; - 2955464E1D28E5A30062D7E5 /* GroupingAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = GroupingAttributes.h; path = ../Sourcecode/mx/core/elements/GroupingAttributes.h; sourceTree = ""; }; - 2955464F1D28E5A30062D7E5 /* GroupName.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = GroupName.h; path = ../Sourcecode/mx/core/elements/GroupName.h; sourceTree = ""; }; - 295546501D28E5A30062D7E5 /* GroupNameAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = GroupNameAttributes.h; path = ../Sourcecode/mx/core/elements/GroupNameAttributes.h; sourceTree = ""; }; - 295546511D28E5A30062D7E5 /* GroupNameDisplay.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = GroupNameDisplay.h; path = ../Sourcecode/mx/core/elements/GroupNameDisplay.h; sourceTree = ""; }; - 295546521D28E5A30062D7E5 /* GroupNameDisplayAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = GroupNameDisplayAttributes.h; path = ../Sourcecode/mx/core/elements/GroupNameDisplayAttributes.h; sourceTree = ""; }; - 295546531D28E5A30062D7E5 /* GroupSymbol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = GroupSymbol.h; path = ../Sourcecode/mx/core/elements/GroupSymbol.h; sourceTree = ""; }; - 295546541D28E5A30062D7E5 /* GroupSymbolAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = GroupSymbolAttributes.h; path = ../Sourcecode/mx/core/elements/GroupSymbolAttributes.h; sourceTree = ""; }; - 295546551D28E5A30062D7E5 /* GroupTime.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = GroupTime.h; path = ../Sourcecode/mx/core/elements/GroupTime.h; sourceTree = ""; }; - 295546561D28E5A30062D7E5 /* HammerOn.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HammerOn.h; path = ../Sourcecode/mx/core/elements/HammerOn.h; sourceTree = ""; }; - 295546571D28E5A30062D7E5 /* HammerOnAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HammerOnAttributes.h; path = ../Sourcecode/mx/core/elements/HammerOnAttributes.h; sourceTree = ""; }; - 295546581D28E5A30062D7E5 /* Handbell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Handbell.h; path = ../Sourcecode/mx/core/elements/Handbell.h; sourceTree = ""; }; - 295546591D28E5A30062D7E5 /* HandbellAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HandbellAttributes.h; path = ../Sourcecode/mx/core/elements/HandbellAttributes.h; sourceTree = ""; }; - 2955465A1D28E5A30062D7E5 /* Harmonic.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Harmonic.h; path = ../Sourcecode/mx/core/elements/Harmonic.h; sourceTree = ""; }; - 2955465B1D28E5A30062D7E5 /* HarmonicAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HarmonicAttributes.h; path = ../Sourcecode/mx/core/elements/HarmonicAttributes.h; sourceTree = ""; }; - 2955465C1D28E5A30062D7E5 /* HarmonicInfoChoice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HarmonicInfoChoice.h; path = ../Sourcecode/mx/core/elements/HarmonicInfoChoice.h; sourceTree = ""; }; - 2955465D1D28E5A30062D7E5 /* HarmonicTypeChoice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HarmonicTypeChoice.h; path = ../Sourcecode/mx/core/elements/HarmonicTypeChoice.h; sourceTree = ""; }; - 2955465E1D28E5A30062D7E5 /* Harmony.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Harmony.h; path = ../Sourcecode/mx/core/elements/Harmony.h; sourceTree = ""; }; - 2955465F1D28E5A30062D7E5 /* HarmonyAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HarmonyAttributes.h; path = ../Sourcecode/mx/core/elements/HarmonyAttributes.h; sourceTree = ""; }; - 295546601D28E5A30062D7E5 /* HarmonyChordGroup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HarmonyChordGroup.h; path = ../Sourcecode/mx/core/elements/HarmonyChordGroup.h; sourceTree = ""; }; - 295546611D28E5A30062D7E5 /* HarpPedals.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HarpPedals.h; path = ../Sourcecode/mx/core/elements/HarpPedals.h; sourceTree = ""; }; - 295546621D28E5A30062D7E5 /* HarpPedalsAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HarpPedalsAttributes.h; path = ../Sourcecode/mx/core/elements/HarpPedalsAttributes.h; sourceTree = ""; }; - 295546631D28E5A30062D7E5 /* Heel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Heel.h; path = ../Sourcecode/mx/core/elements/Heel.h; sourceTree = ""; }; - 295546641D28E5A30062D7E5 /* HeelAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HeelAttributes.h; path = ../Sourcecode/mx/core/elements/HeelAttributes.h; sourceTree = ""; }; - 295546651D28E5A30062D7E5 /* Hole.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Hole.h; path = ../Sourcecode/mx/core/elements/Hole.h; sourceTree = ""; }; - 295546661D28E5A30062D7E5 /* HoleAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HoleAttributes.h; path = ../Sourcecode/mx/core/elements/HoleAttributes.h; sourceTree = ""; }; - 295546671D28E5A30062D7E5 /* HoleClosed.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HoleClosed.h; path = ../Sourcecode/mx/core/elements/HoleClosed.h; sourceTree = ""; }; - 295546681D28E5A30062D7E5 /* HoleClosedAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HoleClosedAttributes.h; path = ../Sourcecode/mx/core/elements/HoleClosedAttributes.h; sourceTree = ""; }; - 295546691D28E5A30062D7E5 /* HoleShape.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HoleShape.h; path = ../Sourcecode/mx/core/elements/HoleShape.h; sourceTree = ""; }; - 2955466A1D28E5A30062D7E5 /* HoleType.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HoleType.h; path = ../Sourcecode/mx/core/elements/HoleType.h; sourceTree = ""; }; - 2955466B1D28E5A30062D7E5 /* Humming.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Humming.h; path = ../Sourcecode/mx/core/elements/Humming.h; sourceTree = ""; }; - 2955466C1D28E5A30062D7E5 /* Identification.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Identification.h; path = ../Sourcecode/mx/core/elements/Identification.h; sourceTree = ""; }; - 2955466D1D28E5A30062D7E5 /* Image.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Image.h; path = ../Sourcecode/mx/core/elements/Image.h; sourceTree = ""; }; - 2955466E1D28E5A30062D7E5 /* ImageAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ImageAttributes.h; path = ../Sourcecode/mx/core/elements/ImageAttributes.h; sourceTree = ""; }; - 2955466F1D28E5A30062D7E5 /* Instrument.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Instrument.h; path = ../Sourcecode/mx/core/elements/Instrument.h; sourceTree = ""; }; - 295546701D28E5A30062D7E5 /* InstrumentAbbreviation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = InstrumentAbbreviation.h; path = ../Sourcecode/mx/core/elements/InstrumentAbbreviation.h; sourceTree = ""; }; - 295546711D28E5A30062D7E5 /* InstrumentAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = InstrumentAttributes.h; path = ../Sourcecode/mx/core/elements/InstrumentAttributes.h; sourceTree = ""; }; - 295546721D28E5A30062D7E5 /* InstrumentName.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = InstrumentName.h; path = ../Sourcecode/mx/core/elements/InstrumentName.h; sourceTree = ""; }; - 295546731D28E5A30062D7E5 /* Instruments.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Instruments.h; path = ../Sourcecode/mx/core/elements/Instruments.h; sourceTree = ""; }; - 295546741D28E5A30062D7E5 /* InstrumentSound.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = InstrumentSound.h; path = ../Sourcecode/mx/core/elements/InstrumentSound.h; sourceTree = ""; }; - 295546751D28E5A30062D7E5 /* Interchangeable.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Interchangeable.h; path = ../Sourcecode/mx/core/elements/Interchangeable.h; sourceTree = ""; }; - 295546761D28E5A30062D7E5 /* InterchangeableAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = InterchangeableAttributes.h; path = ../Sourcecode/mx/core/elements/InterchangeableAttributes.h; sourceTree = ""; }; - 295546771D28E5A30062D7E5 /* Inversion.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Inversion.h; path = ../Sourcecode/mx/core/elements/Inversion.h; sourceTree = ""; }; - 295546781D28E5A30062D7E5 /* InversionAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = InversionAttributes.h; path = ../Sourcecode/mx/core/elements/InversionAttributes.h; sourceTree = ""; }; - 295546791D28E5A30062D7E5 /* InvertedMordent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = InvertedMordent.h; path = ../Sourcecode/mx/core/elements/InvertedMordent.h; sourceTree = ""; }; - 2955467A1D28E5A30062D7E5 /* InvertedMordentAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = InvertedMordentAttributes.h; path = ../Sourcecode/mx/core/elements/InvertedMordentAttributes.h; sourceTree = ""; }; - 2955467B1D28E5A30062D7E5 /* InvertedTurn.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = InvertedTurn.h; path = ../Sourcecode/mx/core/elements/InvertedTurn.h; sourceTree = ""; }; - 2955467C1D28E5A30062D7E5 /* InvertedTurnAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = InvertedTurnAttributes.h; path = ../Sourcecode/mx/core/elements/InvertedTurnAttributes.h; sourceTree = ""; }; - 2955467D1D28E5A30062D7E5 /* Ipa.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Ipa.h; path = ../Sourcecode/mx/core/elements/Ipa.h; sourceTree = ""; }; - 2955467E1D28E5A30062D7E5 /* Key.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Key.h; path = ../Sourcecode/mx/core/elements/Key.h; sourceTree = ""; }; - 2955467F1D28E5A30062D7E5 /* KeyAccidental.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = KeyAccidental.h; path = ../Sourcecode/mx/core/elements/KeyAccidental.h; sourceTree = ""; }; - 295546801D28E5A30062D7E5 /* KeyAlter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = KeyAlter.h; path = ../Sourcecode/mx/core/elements/KeyAlter.h; sourceTree = ""; }; - 295546811D28E5A30062D7E5 /* KeyAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = KeyAttributes.h; path = ../Sourcecode/mx/core/elements/KeyAttributes.h; sourceTree = ""; }; - 295546821D28E5A30062D7E5 /* KeyChoice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = KeyChoice.h; path = ../Sourcecode/mx/core/elements/KeyChoice.h; sourceTree = ""; }; - 295546831D28E5A30062D7E5 /* KeyOctave.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = KeyOctave.h; path = ../Sourcecode/mx/core/elements/KeyOctave.h; sourceTree = ""; }; - 295546841D28E5A30062D7E5 /* KeyOctaveAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = KeyOctaveAttributes.h; path = ../Sourcecode/mx/core/elements/KeyOctaveAttributes.h; sourceTree = ""; }; - 295546851D28E5A30062D7E5 /* KeyStep.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = KeyStep.h; path = ../Sourcecode/mx/core/elements/KeyStep.h; sourceTree = ""; }; - 295546861D28E5A30062D7E5 /* Kind.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Kind.h; path = ../Sourcecode/mx/core/elements/Kind.h; sourceTree = ""; }; - 295546871D28E5A30062D7E5 /* KindAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = KindAttributes.h; path = ../Sourcecode/mx/core/elements/KindAttributes.h; sourceTree = ""; }; - 295546881D28E5A30062D7E5 /* Laughing.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Laughing.h; path = ../Sourcecode/mx/core/elements/Laughing.h; sourceTree = ""; }; - 295546891D28E5A30062D7E5 /* LayoutGroup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = LayoutGroup.h; path = ../Sourcecode/mx/core/elements/LayoutGroup.h; sourceTree = ""; }; - 2955468A1D28E5A30062D7E5 /* LeftDivider.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = LeftDivider.h; path = ../Sourcecode/mx/core/elements/LeftDivider.h; sourceTree = ""; }; - 2955468B1D28E5A30062D7E5 /* LeftMargin.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = LeftMargin.h; path = ../Sourcecode/mx/core/elements/LeftMargin.h; sourceTree = ""; }; - 2955468C1D28E5A30062D7E5 /* Level.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Level.h; path = ../Sourcecode/mx/core/elements/Level.h; sourceTree = ""; }; - 2955468D1D28E5A30062D7E5 /* LevelAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = LevelAttributes.h; path = ../Sourcecode/mx/core/elements/LevelAttributes.h; sourceTree = ""; }; - 2955468E1D28E5A30062D7E5 /* Line.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Line.h; path = ../Sourcecode/mx/core/elements/Line.h; sourceTree = ""; }; - 2955468F1D28E5A30062D7E5 /* LineWidth.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = LineWidth.h; path = ../Sourcecode/mx/core/elements/LineWidth.h; sourceTree = ""; }; - 295546901D28E5A30062D7E5 /* LineWidthAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = LineWidthAttributes.h; path = ../Sourcecode/mx/core/elements/LineWidthAttributes.h; sourceTree = ""; }; - 295546911D28E5A30062D7E5 /* Link.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Link.h; path = ../Sourcecode/mx/core/elements/Link.h; sourceTree = ""; }; - 295546921D28E5A30062D7E5 /* LinkAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = LinkAttributes.h; path = ../Sourcecode/mx/core/elements/LinkAttributes.h; sourceTree = ""; }; - 295546931D28E5A30062D7E5 /* Lyric.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Lyric.h; path = ../Sourcecode/mx/core/elements/Lyric.h; sourceTree = ""; }; - 295546941D28E5A30062D7E5 /* LyricAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = LyricAttributes.h; path = ../Sourcecode/mx/core/elements/LyricAttributes.h; sourceTree = ""; }; - 295546951D28E5A30062D7E5 /* LyricFont.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = LyricFont.h; path = ../Sourcecode/mx/core/elements/LyricFont.h; sourceTree = ""; }; - 295546961D28E5A30062D7E5 /* LyricFontAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = LyricFontAttributes.h; path = ../Sourcecode/mx/core/elements/LyricFontAttributes.h; sourceTree = ""; }; - 295546971D28E5A30062D7E5 /* LyricLanguage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = LyricLanguage.h; path = ../Sourcecode/mx/core/elements/LyricLanguage.h; sourceTree = ""; }; - 295546981D28E5A30062D7E5 /* LyricLanguageAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = LyricLanguageAttributes.h; path = ../Sourcecode/mx/core/elements/LyricLanguageAttributes.h; sourceTree = ""; }; - 295546991D28E5A30062D7E5 /* LyricTextChoice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = LyricTextChoice.h; path = ../Sourcecode/mx/core/elements/LyricTextChoice.h; sourceTree = ""; }; - 2955469A1D28E5A30062D7E5 /* MeasureAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MeasureAttributes.h; path = ../Sourcecode/mx/core/elements/MeasureAttributes.h; sourceTree = ""; }; - 2955469B1D28E5A30062D7E5 /* MeasureDistance.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MeasureDistance.h; path = ../Sourcecode/mx/core/elements/MeasureDistance.h; sourceTree = ""; }; - 2955469C1D28E5A30062D7E5 /* MeasureLayout.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MeasureLayout.h; path = ../Sourcecode/mx/core/elements/MeasureLayout.h; sourceTree = ""; }; - 2955469D1D28E5A30062D7E5 /* MeasureNumbering.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MeasureNumbering.h; path = ../Sourcecode/mx/core/elements/MeasureNumbering.h; sourceTree = ""; }; - 2955469E1D28E5A30062D7E5 /* MeasureNumberingAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MeasureNumberingAttributes.h; path = ../Sourcecode/mx/core/elements/MeasureNumberingAttributes.h; sourceTree = ""; }; - 2955469F1D28E5A30062D7E5 /* MeasureRepeat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MeasureRepeat.h; path = ../Sourcecode/mx/core/elements/MeasureRepeat.h; sourceTree = ""; }; - 295546A01D28E5A30062D7E5 /* MeasureRepeatAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MeasureRepeatAttributes.h; path = ../Sourcecode/mx/core/elements/MeasureRepeatAttributes.h; sourceTree = ""; }; - 295546A11D28E5A30062D7E5 /* MeasureStyle.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MeasureStyle.h; path = ../Sourcecode/mx/core/elements/MeasureStyle.h; sourceTree = ""; }; - 295546A21D28E5A30062D7E5 /* MeasureStyleAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MeasureStyleAttributes.h; path = ../Sourcecode/mx/core/elements/MeasureStyleAttributes.h; sourceTree = ""; }; - 295546A31D28E5A30062D7E5 /* MeasureStyleChoice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MeasureStyleChoice.h; path = ../Sourcecode/mx/core/elements/MeasureStyleChoice.h; sourceTree = ""; }; - 295546A41D28E5A30062D7E5 /* Membrane.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Membrane.h; path = ../Sourcecode/mx/core/elements/Membrane.h; sourceTree = ""; }; - 295546A51D28E5A30062D7E5 /* Metal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Metal.h; path = ../Sourcecode/mx/core/elements/Metal.h; sourceTree = ""; }; - 295546A61D28E5A30062D7E5 /* Metronome.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Metronome.h; path = ../Sourcecode/mx/core/elements/Metronome.h; sourceTree = ""; }; - 295546A71D28E5A30062D7E5 /* MetronomeAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MetronomeAttributes.h; path = ../Sourcecode/mx/core/elements/MetronomeAttributes.h; sourceTree = ""; }; - 295546A81D28E5A30062D7E5 /* MetronomeBeam.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MetronomeBeam.h; path = ../Sourcecode/mx/core/elements/MetronomeBeam.h; sourceTree = ""; }; - 295546A91D28E5A30062D7E5 /* MetronomeBeamAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MetronomeBeamAttributes.h; path = ../Sourcecode/mx/core/elements/MetronomeBeamAttributes.h; sourceTree = ""; }; - 295546AA1D28E5A30062D7E5 /* MetronomeDot.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MetronomeDot.h; path = ../Sourcecode/mx/core/elements/MetronomeDot.h; sourceTree = ""; }; - 295546AB1D28E5A30062D7E5 /* MetronomeNote.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MetronomeNote.h; path = ../Sourcecode/mx/core/elements/MetronomeNote.h; sourceTree = ""; }; - 295546AC1D28E5A30062D7E5 /* MetronomeRelation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MetronomeRelation.h; path = ../Sourcecode/mx/core/elements/MetronomeRelation.h; sourceTree = ""; }; - 295546AD1D28E5A30062D7E5 /* MetronomeRelationGroup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MetronomeRelationGroup.h; path = ../Sourcecode/mx/core/elements/MetronomeRelationGroup.h; sourceTree = ""; }; - 295546AE1D28E5A40062D7E5 /* MetronomeTuplet.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MetronomeTuplet.h; path = ../Sourcecode/mx/core/elements/MetronomeTuplet.h; sourceTree = ""; }; - 295546AF1D28E5A40062D7E5 /* MetronomeTupletAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MetronomeTupletAttributes.h; path = ../Sourcecode/mx/core/elements/MetronomeTupletAttributes.h; sourceTree = ""; }; - 295546B01D28E5A40062D7E5 /* MetronomeType.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MetronomeType.h; path = ../Sourcecode/mx/core/elements/MetronomeType.h; sourceTree = ""; }; - 295546B11D28E5A40062D7E5 /* MidiBank.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MidiBank.h; path = ../Sourcecode/mx/core/elements/MidiBank.h; sourceTree = ""; }; - 295546B21D28E5A40062D7E5 /* MidiChannel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MidiChannel.h; path = ../Sourcecode/mx/core/elements/MidiChannel.h; sourceTree = ""; }; - 295546B31D28E5A40062D7E5 /* MidiDevice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MidiDevice.h; path = ../Sourcecode/mx/core/elements/MidiDevice.h; sourceTree = ""; }; - 295546B41D28E5A40062D7E5 /* MidiDeviceAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MidiDeviceAttributes.h; path = ../Sourcecode/mx/core/elements/MidiDeviceAttributes.h; sourceTree = ""; }; - 295546B51D28E5A40062D7E5 /* MidiDeviceInstrumentGroup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MidiDeviceInstrumentGroup.h; path = ../Sourcecode/mx/core/elements/MidiDeviceInstrumentGroup.h; sourceTree = ""; }; - 295546B61D28E5A40062D7E5 /* MidiInstrument.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MidiInstrument.h; path = ../Sourcecode/mx/core/elements/MidiInstrument.h; sourceTree = ""; }; - 295546B71D28E5A40062D7E5 /* MidiInstrumentAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MidiInstrumentAttributes.h; path = ../Sourcecode/mx/core/elements/MidiInstrumentAttributes.h; sourceTree = ""; }; - 295546B81D28E5A40062D7E5 /* MidiName.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MidiName.h; path = ../Sourcecode/mx/core/elements/MidiName.h; sourceTree = ""; }; - 295546B91D28E5A40062D7E5 /* MidiProgram.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MidiProgram.h; path = ../Sourcecode/mx/core/elements/MidiProgram.h; sourceTree = ""; }; - 295546BA1D28E5A40062D7E5 /* MidiUnpitched.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MidiUnpitched.h; path = ../Sourcecode/mx/core/elements/MidiUnpitched.h; sourceTree = ""; }; - 295546BB1D28E5A40062D7E5 /* Millimeters.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Millimeters.h; path = ../Sourcecode/mx/core/elements/Millimeters.h; sourceTree = ""; }; - 295546BC1D28E5A40062D7E5 /* Miscellaneous.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Miscellaneous.h; path = ../Sourcecode/mx/core/elements/Miscellaneous.h; sourceTree = ""; }; - 295546BD1D28E5A40062D7E5 /* MiscellaneousField.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MiscellaneousField.h; path = ../Sourcecode/mx/core/elements/MiscellaneousField.h; sourceTree = ""; }; - 295546BE1D28E5A40062D7E5 /* MiscellaneousFieldAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MiscellaneousFieldAttributes.h; path = ../Sourcecode/mx/core/elements/MiscellaneousFieldAttributes.h; sourceTree = ""; }; - 295546BF1D28E5A40062D7E5 /* Mode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Mode.h; path = ../Sourcecode/mx/core/elements/Mode.h; sourceTree = ""; }; - 295546C01D28E5A40062D7E5 /* Mordent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Mordent.h; path = ../Sourcecode/mx/core/elements/Mordent.h; sourceTree = ""; }; - 295546C11D28E5A40062D7E5 /* MordentAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MordentAttributes.h; path = ../Sourcecode/mx/core/elements/MordentAttributes.h; sourceTree = ""; }; - 295546C21D28E5A40062D7E5 /* MovementNumber.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MovementNumber.h; path = ../Sourcecode/mx/core/elements/MovementNumber.h; sourceTree = ""; }; - 295546C31D28E5A40062D7E5 /* MovementTitle.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MovementTitle.h; path = ../Sourcecode/mx/core/elements/MovementTitle.h; sourceTree = ""; }; - 295546C41D28E5A40062D7E5 /* MultipleRest.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MultipleRest.h; path = ../Sourcecode/mx/core/elements/MultipleRest.h; sourceTree = ""; }; - 295546C51D28E5A40062D7E5 /* MultipleRestAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MultipleRestAttributes.h; path = ../Sourcecode/mx/core/elements/MultipleRestAttributes.h; sourceTree = ""; }; - 295546C61D28E5A40062D7E5 /* MusicDataChoice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MusicDataChoice.h; path = ../Sourcecode/mx/core/elements/MusicDataChoice.h; sourceTree = ""; }; - 295546C71D28E5A40062D7E5 /* MusicDataGroup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MusicDataGroup.h; path = ../Sourcecode/mx/core/elements/MusicDataGroup.h; sourceTree = ""; }; - 295546C81D28E5A40062D7E5 /* MusicFont.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MusicFont.h; path = ../Sourcecode/mx/core/elements/MusicFont.h; sourceTree = ""; }; - 295546C91D28E5A40062D7E5 /* Mute.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Mute.h; path = ../Sourcecode/mx/core/elements/Mute.h; sourceTree = ""; }; - 295546CA1D28E5A40062D7E5 /* Natural.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Natural.h; path = ../Sourcecode/mx/core/elements/Natural.h; sourceTree = ""; }; - 295546CB1D28E5A40062D7E5 /* NonArpeggiate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = NonArpeggiate.h; path = ../Sourcecode/mx/core/elements/NonArpeggiate.h; sourceTree = ""; }; - 295546CC1D28E5A40062D7E5 /* NonArpeggiateAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = NonArpeggiateAttributes.h; path = ../Sourcecode/mx/core/elements/NonArpeggiateAttributes.h; sourceTree = ""; }; - 295546CD1D28E5A40062D7E5 /* NonTraditionalKey.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = NonTraditionalKey.h; path = ../Sourcecode/mx/core/elements/NonTraditionalKey.h; sourceTree = ""; }; - 295546CE1D28E5A40062D7E5 /* NormalDot.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = NormalDot.h; path = ../Sourcecode/mx/core/elements/NormalDot.h; sourceTree = ""; }; - 295546CF1D28E5A40062D7E5 /* NormalNoteGroup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = NormalNoteGroup.h; path = ../Sourcecode/mx/core/elements/NormalNoteGroup.h; sourceTree = ""; }; - 295546D01D28E5A40062D7E5 /* NormalNotes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = NormalNotes.h; path = ../Sourcecode/mx/core/elements/NormalNotes.h; sourceTree = ""; }; - 295546D11D28E5A40062D7E5 /* NormalType.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = NormalType.h; path = ../Sourcecode/mx/core/elements/NormalType.h; sourceTree = ""; }; - 295546D21D28E5A40062D7E5 /* NormalTypeNormalDotGroup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = NormalTypeNormalDotGroup.h; path = ../Sourcecode/mx/core/elements/NormalTypeNormalDotGroup.h; sourceTree = ""; }; - 295546D31D28E5A40062D7E5 /* Notations.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Notations.h; path = ../Sourcecode/mx/core/elements/Notations.h; sourceTree = ""; }; - 295546D41D28E5A40062D7E5 /* NotationsAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = NotationsAttributes.h; path = ../Sourcecode/mx/core/elements/NotationsAttributes.h; sourceTree = ""; }; - 295546D51D28E5A40062D7E5 /* NotationsChoice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = NotationsChoice.h; path = ../Sourcecode/mx/core/elements/NotationsChoice.h; sourceTree = ""; }; - 295546D61D28E5A40062D7E5 /* Note.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Note.h; path = ../Sourcecode/mx/core/elements/Note.h; sourceTree = ""; }; - 295546D71D28E5A40062D7E5 /* NoteAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = NoteAttributes.h; path = ../Sourcecode/mx/core/elements/NoteAttributes.h; sourceTree = ""; }; - 295546D81D28E5A40062D7E5 /* NoteChoice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = NoteChoice.h; path = ../Sourcecode/mx/core/elements/NoteChoice.h; sourceTree = ""; }; - 295546D91D28E5A40062D7E5 /* Notehead.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Notehead.h; path = ../Sourcecode/mx/core/elements/Notehead.h; sourceTree = ""; }; - 295546DA1D28E5A40062D7E5 /* NoteheadAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = NoteheadAttributes.h; path = ../Sourcecode/mx/core/elements/NoteheadAttributes.h; sourceTree = ""; }; - 295546DB1D28E5A40062D7E5 /* NoteheadText.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = NoteheadText.h; path = ../Sourcecode/mx/core/elements/NoteheadText.h; sourceTree = ""; }; - 295546DC1D28E5A40062D7E5 /* NoteRelationNote.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = NoteRelationNote.h; path = ../Sourcecode/mx/core/elements/NoteRelationNote.h; sourceTree = ""; }; - 295546DD1D28E5A40062D7E5 /* NoteSize.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = NoteSize.h; path = ../Sourcecode/mx/core/elements/NoteSize.h; sourceTree = ""; }; - 295546DE1D28E5A40062D7E5 /* NoteSizeAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = NoteSizeAttributes.h; path = ../Sourcecode/mx/core/elements/NoteSizeAttributes.h; sourceTree = ""; }; - 295546DF1D28E5A40062D7E5 /* Octave.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Octave.h; path = ../Sourcecode/mx/core/elements/Octave.h; sourceTree = ""; }; - 295546E01D28E5A40062D7E5 /* OctaveChange.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OctaveChange.h; path = ../Sourcecode/mx/core/elements/OctaveChange.h; sourceTree = ""; }; - 295546E11D28E5A40062D7E5 /* OctaveShift.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OctaveShift.h; path = ../Sourcecode/mx/core/elements/OctaveShift.h; sourceTree = ""; }; - 295546E21D28E5A40062D7E5 /* OctaveShiftAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OctaveShiftAttributes.h; path = ../Sourcecode/mx/core/elements/OctaveShiftAttributes.h; sourceTree = ""; }; - 295546E31D28E5A40062D7E5 /* Offset.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Offset.h; path = ../Sourcecode/mx/core/elements/Offset.h; sourceTree = ""; }; - 295546E41D28E5A40062D7E5 /* OffsetAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OffsetAttributes.h; path = ../Sourcecode/mx/core/elements/OffsetAttributes.h; sourceTree = ""; }; - 295546E51D28E5A40062D7E5 /* OpenString.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OpenString.h; path = ../Sourcecode/mx/core/elements/OpenString.h; sourceTree = ""; }; - 295546E61D28E5A40062D7E5 /* Opus.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Opus.h; path = ../Sourcecode/mx/core/elements/Opus.h; sourceTree = ""; }; - 295546E71D28E5A40062D7E5 /* OpusAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OpusAttributes.h; path = ../Sourcecode/mx/core/elements/OpusAttributes.h; sourceTree = ""; }; - 295546E81D28E5A40062D7E5 /* Ornaments.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Ornaments.h; path = ../Sourcecode/mx/core/elements/Ornaments.h; sourceTree = ""; }; - 295546E91D28E5A40062D7E5 /* OrnamentsChoice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OrnamentsChoice.h; path = ../Sourcecode/mx/core/elements/OrnamentsChoice.h; sourceTree = ""; }; - 295546EA1D28E5A40062D7E5 /* OtherAppearance.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OtherAppearance.h; path = ../Sourcecode/mx/core/elements/OtherAppearance.h; sourceTree = ""; }; - 295546EB1D28E5A40062D7E5 /* OtherAppearanceAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OtherAppearanceAttributes.h; path = ../Sourcecode/mx/core/elements/OtherAppearanceAttributes.h; sourceTree = ""; }; - 295546EC1D28E5A40062D7E5 /* OtherArticulation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OtherArticulation.h; path = ../Sourcecode/mx/core/elements/OtherArticulation.h; sourceTree = ""; }; - 295546ED1D28E5A40062D7E5 /* OtherArticulationAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OtherArticulationAttributes.h; path = ../Sourcecode/mx/core/elements/OtherArticulationAttributes.h; sourceTree = ""; }; - 295546EE1D28E5A40062D7E5 /* OtherDirection.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OtherDirection.h; path = ../Sourcecode/mx/core/elements/OtherDirection.h; sourceTree = ""; }; - 295546EF1D28E5A40062D7E5 /* OtherDirectionAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OtherDirectionAttributes.h; path = ../Sourcecode/mx/core/elements/OtherDirectionAttributes.h; sourceTree = ""; }; - 295546F01D28E5A40062D7E5 /* OtherNotation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OtherNotation.h; path = ../Sourcecode/mx/core/elements/OtherNotation.h; sourceTree = ""; }; - 295546F11D28E5A40062D7E5 /* OtherNotationAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OtherNotationAttributes.h; path = ../Sourcecode/mx/core/elements/OtherNotationAttributes.h; sourceTree = ""; }; - 295546F21D28E5A40062D7E5 /* OtherOrnament.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OtherOrnament.h; path = ../Sourcecode/mx/core/elements/OtherOrnament.h; sourceTree = ""; }; - 295546F31D28E5A40062D7E5 /* OtherOrnamentAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OtherOrnamentAttributes.h; path = ../Sourcecode/mx/core/elements/OtherOrnamentAttributes.h; sourceTree = ""; }; - 295546F41D28E5A40062D7E5 /* OtherPercussion.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OtherPercussion.h; path = ../Sourcecode/mx/core/elements/OtherPercussion.h; sourceTree = ""; }; - 295546F51D28E5A40062D7E5 /* OtherPlay.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OtherPlay.h; path = ../Sourcecode/mx/core/elements/OtherPlay.h; sourceTree = ""; }; - 295546F61D28E5A40062D7E5 /* OtherPlayAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OtherPlayAttributes.h; path = ../Sourcecode/mx/core/elements/OtherPlayAttributes.h; sourceTree = ""; }; - 295546F71D28E5A40062D7E5 /* OtherTechnical.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OtherTechnical.h; path = ../Sourcecode/mx/core/elements/OtherTechnical.h; sourceTree = ""; }; - 295546F81D28E5A40062D7E5 /* OtherTechnicalAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OtherTechnicalAttributes.h; path = ../Sourcecode/mx/core/elements/OtherTechnicalAttributes.h; sourceTree = ""; }; - 295546F91D28E5A40062D7E5 /* PageHeight.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PageHeight.h; path = ../Sourcecode/mx/core/elements/PageHeight.h; sourceTree = ""; }; - 295546FA1D28E5A40062D7E5 /* PageLayout.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PageLayout.h; path = ../Sourcecode/mx/core/elements/PageLayout.h; sourceTree = ""; }; - 295546FB1D28E5A40062D7E5 /* PageMargins.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PageMargins.h; path = ../Sourcecode/mx/core/elements/PageMargins.h; sourceTree = ""; }; - 295546FC1D28E5A40062D7E5 /* PageMarginsAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PageMarginsAttributes.h; path = ../Sourcecode/mx/core/elements/PageMarginsAttributes.h; sourceTree = ""; }; - 295546FD1D28E5A40062D7E5 /* PageWidth.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PageWidth.h; path = ../Sourcecode/mx/core/elements/PageWidth.h; sourceTree = ""; }; - 295546FE1D28E5A40062D7E5 /* Pan.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Pan.h; path = ../Sourcecode/mx/core/elements/Pan.h; sourceTree = ""; }; - 295546FF1D28E5A40062D7E5 /* PartAbbreviation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PartAbbreviation.h; path = ../Sourcecode/mx/core/elements/PartAbbreviation.h; sourceTree = ""; }; - 295547001D28E5A40062D7E5 /* PartAbbreviationAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PartAbbreviationAttributes.h; path = ../Sourcecode/mx/core/elements/PartAbbreviationAttributes.h; sourceTree = ""; }; - 295547011D28E5A40062D7E5 /* PartAbbreviationDisplay.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PartAbbreviationDisplay.h; path = ../Sourcecode/mx/core/elements/PartAbbreviationDisplay.h; sourceTree = ""; }; - 295547021D28E5A40062D7E5 /* PartAbbreviationDisplayAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PartAbbreviationDisplayAttributes.h; path = ../Sourcecode/mx/core/elements/PartAbbreviationDisplayAttributes.h; sourceTree = ""; }; - 295547031D28E5A40062D7E5 /* PartAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PartAttributes.h; path = ../Sourcecode/mx/core/elements/PartAttributes.h; sourceTree = ""; }; - 295547041D28E5A40062D7E5 /* PartGroup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PartGroup.h; path = ../Sourcecode/mx/core/elements/PartGroup.h; sourceTree = ""; }; - 295547051D28E5A40062D7E5 /* PartGroupAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PartGroupAttributes.h; path = ../Sourcecode/mx/core/elements/PartGroupAttributes.h; sourceTree = ""; }; - 295547061D28E5A40062D7E5 /* PartGroupOrScorePart.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PartGroupOrScorePart.h; path = ../Sourcecode/mx/core/elements/PartGroupOrScorePart.h; sourceTree = ""; }; - 295547071D28E5A40062D7E5 /* PartList.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PartList.h; path = ../Sourcecode/mx/core/elements/PartList.h; sourceTree = ""; }; - 295547081D28E5A40062D7E5 /* PartName.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PartName.h; path = ../Sourcecode/mx/core/elements/PartName.h; sourceTree = ""; }; - 295547091D28E5A40062D7E5 /* PartNameAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PartNameAttributes.h; path = ../Sourcecode/mx/core/elements/PartNameAttributes.h; sourceTree = ""; }; - 2955470A1D28E5A40062D7E5 /* PartNameDisplay.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PartNameDisplay.h; path = ../Sourcecode/mx/core/elements/PartNameDisplay.h; sourceTree = ""; }; - 2955470B1D28E5A40062D7E5 /* PartNameDisplayAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PartNameDisplayAttributes.h; path = ../Sourcecode/mx/core/elements/PartNameDisplayAttributes.h; sourceTree = ""; }; - 2955470C1D28E5A40062D7E5 /* PartSymbol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PartSymbol.h; path = ../Sourcecode/mx/core/elements/PartSymbol.h; sourceTree = ""; }; - 2955470D1D28E5A40062D7E5 /* PartSymbolAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PartSymbolAttributes.h; path = ../Sourcecode/mx/core/elements/PartSymbolAttributes.h; sourceTree = ""; }; - 2955470E1D28E5A40062D7E5 /* PartwiseMeasure.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PartwiseMeasure.h; path = ../Sourcecode/mx/core/elements/PartwiseMeasure.h; sourceTree = ""; }; - 2955470F1D28E5A40062D7E5 /* PartwisePart.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PartwisePart.h; path = ../Sourcecode/mx/core/elements/PartwisePart.h; sourceTree = ""; }; - 295547101D28E5A40062D7E5 /* Pedal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Pedal.h; path = ../Sourcecode/mx/core/elements/Pedal.h; sourceTree = ""; }; - 295547111D28E5A40062D7E5 /* PedalAlter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PedalAlter.h; path = ../Sourcecode/mx/core/elements/PedalAlter.h; sourceTree = ""; }; - 295547121D28E5A40062D7E5 /* PedalAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PedalAttributes.h; path = ../Sourcecode/mx/core/elements/PedalAttributes.h; sourceTree = ""; }; - 295547131D28E5A40062D7E5 /* PedalStep.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PedalStep.h; path = ../Sourcecode/mx/core/elements/PedalStep.h; sourceTree = ""; }; - 295547141D28E5A40062D7E5 /* PedalTuning.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PedalTuning.h; path = ../Sourcecode/mx/core/elements/PedalTuning.h; sourceTree = ""; }; - 295547151D28E5A40062D7E5 /* Percussion.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Percussion.h; path = ../Sourcecode/mx/core/elements/Percussion.h; sourceTree = ""; }; - 295547161D28E5A40062D7E5 /* PercussionAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PercussionAttributes.h; path = ../Sourcecode/mx/core/elements/PercussionAttributes.h; sourceTree = ""; }; - 295547171D28E5A40062D7E5 /* PercussionChoice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PercussionChoice.h; path = ../Sourcecode/mx/core/elements/PercussionChoice.h; sourceTree = ""; }; - 295547181D28E5A40062D7E5 /* PerMinute.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PerMinute.h; path = ../Sourcecode/mx/core/elements/PerMinute.h; sourceTree = ""; }; - 295547191D28E5A40062D7E5 /* PerMinuteAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PerMinuteAttributes.h; path = ../Sourcecode/mx/core/elements/PerMinuteAttributes.h; sourceTree = ""; }; - 2955471A1D28E5A40062D7E5 /* PerMinuteOrBeatUnitChoice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PerMinuteOrBeatUnitChoice.h; path = ../Sourcecode/mx/core/elements/PerMinuteOrBeatUnitChoice.h; sourceTree = ""; }; - 2955471B1D28E5A40062D7E5 /* Pitch.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Pitch.h; path = ../Sourcecode/mx/core/elements/Pitch.h; sourceTree = ""; }; - 2955471C1D28E5A40062D7E5 /* Pitched.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Pitched.h; path = ../Sourcecode/mx/core/elements/Pitched.h; sourceTree = ""; }; - 2955471D1D28E5A40062D7E5 /* Play.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Play.h; path = ../Sourcecode/mx/core/elements/Play.h; sourceTree = ""; }; - 2955471E1D28E5A40062D7E5 /* PlayAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PlayAttributes.h; path = ../Sourcecode/mx/core/elements/PlayAttributes.h; sourceTree = ""; }; - 2955471F1D28E5A40062D7E5 /* Plop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Plop.h; path = ../Sourcecode/mx/core/elements/Plop.h; sourceTree = ""; }; - 295547201D28E5A40062D7E5 /* Pluck.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Pluck.h; path = ../Sourcecode/mx/core/elements/Pluck.h; sourceTree = ""; }; - 295547211D28E5A40062D7E5 /* PluckAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PluckAttributes.h; path = ../Sourcecode/mx/core/elements/PluckAttributes.h; sourceTree = ""; }; - 295547221D28E5A40062D7E5 /* PreBend.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PreBend.h; path = ../Sourcecode/mx/core/elements/PreBend.h; sourceTree = ""; }; - 295547231D28E5A40062D7E5 /* Prefix.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Prefix.h; path = ../Sourcecode/mx/core/elements/Prefix.h; sourceTree = ""; }; - 295547241D28E5A40062D7E5 /* PrefixAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PrefixAttributes.h; path = ../Sourcecode/mx/core/elements/PrefixAttributes.h; sourceTree = ""; }; - 295547251D28E5A40062D7E5 /* PrincipalVoice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PrincipalVoice.h; path = ../Sourcecode/mx/core/elements/PrincipalVoice.h; sourceTree = ""; }; - 295547261D28E5A40062D7E5 /* PrincipalVoiceAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PrincipalVoiceAttributes.h; path = ../Sourcecode/mx/core/elements/PrincipalVoiceAttributes.h; sourceTree = ""; }; - 295547271D28E5A40062D7E5 /* Print.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Print.h; path = ../Sourcecode/mx/core/elements/Print.h; sourceTree = ""; }; - 295547281D28E5A40062D7E5 /* PrintAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PrintAttributes.h; path = ../Sourcecode/mx/core/elements/PrintAttributes.h; sourceTree = ""; }; - 295547291D28E5A40062D7E5 /* Properties.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Properties.h; path = ../Sourcecode/mx/core/elements/Properties.h; sourceTree = ""; }; - 2955472A1D28E5A40062D7E5 /* PullOff.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PullOff.h; path = ../Sourcecode/mx/core/elements/PullOff.h; sourceTree = ""; }; - 2955472B1D28E5A40062D7E5 /* PullOffAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PullOffAttributes.h; path = ../Sourcecode/mx/core/elements/PullOffAttributes.h; sourceTree = ""; }; - 2955472C1D28E5A40062D7E5 /* Rehearsal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Rehearsal.h; path = ../Sourcecode/mx/core/elements/Rehearsal.h; sourceTree = ""; }; - 2955472D1D28E5A40062D7E5 /* RehearsalAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RehearsalAttributes.h; path = ../Sourcecode/mx/core/elements/RehearsalAttributes.h; sourceTree = ""; }; - 2955472E1D28E5A40062D7E5 /* Relation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Relation.h; path = ../Sourcecode/mx/core/elements/Relation.h; sourceTree = ""; }; - 2955472F1D28E5A40062D7E5 /* RelationAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RelationAttributes.h; path = ../Sourcecode/mx/core/elements/RelationAttributes.h; sourceTree = ""; }; - 295547301D28E5A40062D7E5 /* Release.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Release.h; path = ../Sourcecode/mx/core/elements/Release.h; sourceTree = ""; }; - 295547311D28E5A40062D7E5 /* Repeat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Repeat.h; path = ../Sourcecode/mx/core/elements/Repeat.h; sourceTree = ""; }; - 295547321D28E5A40062D7E5 /* RepeatAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RepeatAttributes.h; path = ../Sourcecode/mx/core/elements/RepeatAttributes.h; sourceTree = ""; }; - 295547331D28E5A40062D7E5 /* Rest.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Rest.h; path = ../Sourcecode/mx/core/elements/Rest.h; sourceTree = ""; }; - 295547341D28E5A40062D7E5 /* RestAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RestAttributes.h; path = ../Sourcecode/mx/core/elements/RestAttributes.h; sourceTree = ""; }; - 295547351D28E5A40062D7E5 /* RightDivider.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RightDivider.h; path = ../Sourcecode/mx/core/elements/RightDivider.h; sourceTree = ""; }; - 295547361D28E5A40062D7E5 /* RightMargin.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RightMargin.h; path = ../Sourcecode/mx/core/elements/RightMargin.h; sourceTree = ""; }; - 295547371D28E5A40062D7E5 /* Rights.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Rights.h; path = ../Sourcecode/mx/core/elements/Rights.h; sourceTree = ""; }; - 295547381D28E5A40062D7E5 /* RightsAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RightsAttributes.h; path = ../Sourcecode/mx/core/elements/RightsAttributes.h; sourceTree = ""; }; - 295547391D28E5A40062D7E5 /* Root.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Root.h; path = ../Sourcecode/mx/core/elements/Root.h; sourceTree = ""; }; - 2955473A1D28E5A40062D7E5 /* RootAlter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RootAlter.h; path = ../Sourcecode/mx/core/elements/RootAlter.h; sourceTree = ""; }; - 2955473B1D28E5A40062D7E5 /* RootAlterAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RootAlterAttributes.h; path = ../Sourcecode/mx/core/elements/RootAlterAttributes.h; sourceTree = ""; }; - 2955473C1D28E5A40062D7E5 /* RootStep.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RootStep.h; path = ../Sourcecode/mx/core/elements/RootStep.h; sourceTree = ""; }; - 2955473D1D28E5A40062D7E5 /* RootStepAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RootStepAttributes.h; path = ../Sourcecode/mx/core/elements/RootStepAttributes.h; sourceTree = ""; }; - 2955473E1D28E5A40062D7E5 /* Scaling.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Scaling.h; path = ../Sourcecode/mx/core/elements/Scaling.h; sourceTree = ""; }; - 2955473F1D28E5A40062D7E5 /* Schleifer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Schleifer.h; path = ../Sourcecode/mx/core/elements/Schleifer.h; sourceTree = ""; }; - 295547401D28E5A40062D7E5 /* Scoop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Scoop.h; path = ../Sourcecode/mx/core/elements/Scoop.h; sourceTree = ""; }; - 295547411D28E5A40062D7E5 /* Scordatura.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Scordatura.h; path = ../Sourcecode/mx/core/elements/Scordatura.h; sourceTree = ""; }; - 295547421D28E5A40062D7E5 /* ScoreHeaderGroup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ScoreHeaderGroup.h; path = ../Sourcecode/mx/core/elements/ScoreHeaderGroup.h; sourceTree = ""; }; - 295547431D28E5A40062D7E5 /* ScoreInstrument.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ScoreInstrument.h; path = ../Sourcecode/mx/core/elements/ScoreInstrument.h; sourceTree = ""; }; - 295547441D28E5A40062D7E5 /* ScoreInstrumentAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ScoreInstrumentAttributes.h; path = ../Sourcecode/mx/core/elements/ScoreInstrumentAttributes.h; sourceTree = ""; }; - 295547451D28E5A40062D7E5 /* ScorePart.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ScorePart.h; path = ../Sourcecode/mx/core/elements/ScorePart.h; sourceTree = ""; }; - 295547461D28E5A40062D7E5 /* ScorePartAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ScorePartAttributes.h; path = ../Sourcecode/mx/core/elements/ScorePartAttributes.h; sourceTree = ""; }; - 295547471D28E5A40062D7E5 /* ScorePartwise.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ScorePartwise.h; path = ../Sourcecode/mx/core/elements/ScorePartwise.h; sourceTree = ""; }; - 295547481D28E5A40062D7E5 /* ScorePartwiseAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ScorePartwiseAttributes.h; path = ../Sourcecode/mx/core/elements/ScorePartwiseAttributes.h; sourceTree = ""; }; - 295547491D28E5A40062D7E5 /* ScoreTimewise.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ScoreTimewise.h; path = ../Sourcecode/mx/core/elements/ScoreTimewise.h; sourceTree = ""; }; - 2955474A1D28E5A40062D7E5 /* ScoreTimewiseAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ScoreTimewiseAttributes.h; path = ../Sourcecode/mx/core/elements/ScoreTimewiseAttributes.h; sourceTree = ""; }; - 2955474B1D28E5A40062D7E5 /* Segno.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Segno.h; path = ../Sourcecode/mx/core/elements/Segno.h; sourceTree = ""; }; - 2955474C1D28E5A40062D7E5 /* SemiPitched.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SemiPitched.h; path = ../Sourcecode/mx/core/elements/SemiPitched.h; sourceTree = ""; }; - 2955474D1D28E5A40062D7E5 /* SenzaMisura.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SenzaMisura.h; path = ../Sourcecode/mx/core/elements/SenzaMisura.h; sourceTree = ""; }; - 2955474E1D28E5A40062D7E5 /* Shake.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Shake.h; path = ../Sourcecode/mx/core/elements/Shake.h; sourceTree = ""; }; - 2955474F1D28E5A40062D7E5 /* Sign.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Sign.h; path = ../Sourcecode/mx/core/elements/Sign.h; sourceTree = ""; }; - 295547501D28E5A40062D7E5 /* Slash.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Slash.h; path = ../Sourcecode/mx/core/elements/Slash.h; sourceTree = ""; }; - 295547511D28E5A40062D7E5 /* SlashAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SlashAttributes.h; path = ../Sourcecode/mx/core/elements/SlashAttributes.h; sourceTree = ""; }; - 295547521D28E5A40062D7E5 /* SlashDot.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SlashDot.h; path = ../Sourcecode/mx/core/elements/SlashDot.h; sourceTree = ""; }; - 295547531D28E5A40062D7E5 /* SlashType.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SlashType.h; path = ../Sourcecode/mx/core/elements/SlashType.h; sourceTree = ""; }; - 295547541D28E5A40062D7E5 /* Slide.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Slide.h; path = ../Sourcecode/mx/core/elements/Slide.h; sourceTree = ""; }; - 295547551D28E5A40062D7E5 /* SlideAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SlideAttributes.h; path = ../Sourcecode/mx/core/elements/SlideAttributes.h; sourceTree = ""; }; - 295547561D28E5A40062D7E5 /* Slur.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Slur.h; path = ../Sourcecode/mx/core/elements/Slur.h; sourceTree = ""; }; - 295547571D28E5A40062D7E5 /* SlurAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SlurAttributes.h; path = ../Sourcecode/mx/core/elements/SlurAttributes.h; sourceTree = ""; }; - 295547581D28E5A40062D7E5 /* SnapPizzicato.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SnapPizzicato.h; path = ../Sourcecode/mx/core/elements/SnapPizzicato.h; sourceTree = ""; }; - 295547591D28E5A40062D7E5 /* Software.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Software.h; path = ../Sourcecode/mx/core/elements/Software.h; sourceTree = ""; }; - 2955475A1D28E5A40062D7E5 /* Solo.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Solo.h; path = ../Sourcecode/mx/core/elements/Solo.h; sourceTree = ""; }; - 2955475B1D28E5A40062D7E5 /* SoloOrEnsembleChoice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SoloOrEnsembleChoice.h; path = ../Sourcecode/mx/core/elements/SoloOrEnsembleChoice.h; sourceTree = ""; }; - 2955475C1D28E5A40062D7E5 /* Sound.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Sound.h; path = ../Sourcecode/mx/core/elements/Sound.h; sourceTree = ""; }; - 2955475D1D28E5A40062D7E5 /* SoundAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SoundAttributes.h; path = ../Sourcecode/mx/core/elements/SoundAttributes.h; sourceTree = ""; }; - 2955475E1D28E5A40062D7E5 /* SoundingPitch.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SoundingPitch.h; path = ../Sourcecode/mx/core/elements/SoundingPitch.h; sourceTree = ""; }; - 2955475F1D28E5A40062D7E5 /* Source.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Source.h; path = ../Sourcecode/mx/core/elements/Source.h; sourceTree = ""; }; - 295547601D28E5A40062D7E5 /* Spiccato.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Spiccato.h; path = ../Sourcecode/mx/core/elements/Spiccato.h; sourceTree = ""; }; - 295547611D28E5A40062D7E5 /* Staccatissimo.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Staccatissimo.h; path = ../Sourcecode/mx/core/elements/Staccatissimo.h; sourceTree = ""; }; - 295547621D28E5A40062D7E5 /* Staccato.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Staccato.h; path = ../Sourcecode/mx/core/elements/Staccato.h; sourceTree = ""; }; - 295547631D28E5A40062D7E5 /* Staff.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Staff.h; path = ../Sourcecode/mx/core/elements/Staff.h; sourceTree = ""; }; - 295547641D28E5A40062D7E5 /* StaffDetails.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = StaffDetails.h; path = ../Sourcecode/mx/core/elements/StaffDetails.h; sourceTree = ""; }; - 295547651D28E5A40062D7E5 /* StaffDetailsAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = StaffDetailsAttributes.h; path = ../Sourcecode/mx/core/elements/StaffDetailsAttributes.h; sourceTree = ""; }; - 295547661D28E5A40062D7E5 /* StaffDistance.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = StaffDistance.h; path = ../Sourcecode/mx/core/elements/StaffDistance.h; sourceTree = ""; }; - 295547671D28E5A40062D7E5 /* StaffLayout.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = StaffLayout.h; path = ../Sourcecode/mx/core/elements/StaffLayout.h; sourceTree = ""; }; - 295547681D28E5A40062D7E5 /* StaffLayoutAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = StaffLayoutAttributes.h; path = ../Sourcecode/mx/core/elements/StaffLayoutAttributes.h; sourceTree = ""; }; - 295547691D28E5A40062D7E5 /* StaffLines.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = StaffLines.h; path = ../Sourcecode/mx/core/elements/StaffLines.h; sourceTree = ""; }; - 2955476A1D28E5A40062D7E5 /* StaffSize.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = StaffSize.h; path = ../Sourcecode/mx/core/elements/StaffSize.h; sourceTree = ""; }; - 2955476B1D28E5A40062D7E5 /* StaffTuning.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = StaffTuning.h; path = ../Sourcecode/mx/core/elements/StaffTuning.h; sourceTree = ""; }; - 2955476C1D28E5A40062D7E5 /* StaffTuningAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = StaffTuningAttributes.h; path = ../Sourcecode/mx/core/elements/StaffTuningAttributes.h; sourceTree = ""; }; - 2955476D1D28E5A40062D7E5 /* StaffType.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = StaffType.h; path = ../Sourcecode/mx/core/elements/StaffType.h; sourceTree = ""; }; - 2955476E1D28E5A40062D7E5 /* Staves.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Staves.h; path = ../Sourcecode/mx/core/elements/Staves.h; sourceTree = ""; }; - 2955476F1D28E5A40062D7E5 /* Stem.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Stem.h; path = ../Sourcecode/mx/core/elements/Stem.h; sourceTree = ""; }; - 295547701D28E5A40062D7E5 /* StemAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = StemAttributes.h; path = ../Sourcecode/mx/core/elements/StemAttributes.h; sourceTree = ""; }; - 295547711D28E5A40062D7E5 /* Step.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Step.h; path = ../Sourcecode/mx/core/elements/Step.h; sourceTree = ""; }; - 295547721D28E5A40062D7E5 /* Stick.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Stick.h; path = ../Sourcecode/mx/core/elements/Stick.h; sourceTree = ""; }; - 295547731D28E5A40062D7E5 /* StickAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = StickAttributes.h; path = ../Sourcecode/mx/core/elements/StickAttributes.h; sourceTree = ""; }; - 295547741D28E5A40062D7E5 /* StickLocation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = StickLocation.h; path = ../Sourcecode/mx/core/elements/StickLocation.h; sourceTree = ""; }; - 295547751D28E5A40062D7E5 /* StickMaterial.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = StickMaterial.h; path = ../Sourcecode/mx/core/elements/StickMaterial.h; sourceTree = ""; }; - 295547761D28E5A40062D7E5 /* StickType.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = StickType.h; path = ../Sourcecode/mx/core/elements/StickType.h; sourceTree = ""; }; - 295547771D28E5A40062D7E5 /* Stopped.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Stopped.h; path = ../Sourcecode/mx/core/elements/Stopped.h; sourceTree = ""; }; - 295547781D28E5A40062D7E5 /* Stress.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Stress.h; path = ../Sourcecode/mx/core/elements/Stress.h; sourceTree = ""; }; - 295547791D28E5A40062D7E5 /* String.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = String.h; path = ../Sourcecode/mx/core/elements/String.h; sourceTree = ""; }; - 2955477A1D28E5A40062D7E5 /* StringAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = StringAttributes.h; path = ../Sourcecode/mx/core/elements/StringAttributes.h; sourceTree = ""; }; - 2955477B1D28E5A40062D7E5 /* StringMute.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = StringMute.h; path = ../Sourcecode/mx/core/elements/StringMute.h; sourceTree = ""; }; - 2955477C1D28E5A40062D7E5 /* StringMuteAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = StringMuteAttributes.h; path = ../Sourcecode/mx/core/elements/StringMuteAttributes.h; sourceTree = ""; }; - 2955477D1D28E5A40062D7E5 /* StrongAccent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = StrongAccent.h; path = ../Sourcecode/mx/core/elements/StrongAccent.h; sourceTree = ""; }; - 2955477E1D28E5A40062D7E5 /* StrongAccentAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = StrongAccentAttributes.h; path = ../Sourcecode/mx/core/elements/StrongAccentAttributes.h; sourceTree = ""; }; - 2955477F1D28E5A40062D7E5 /* Suffix.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Suffix.h; path = ../Sourcecode/mx/core/elements/Suffix.h; sourceTree = ""; }; - 295547801D28E5A40062D7E5 /* SuffixAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SuffixAttributes.h; path = ../Sourcecode/mx/core/elements/SuffixAttributes.h; sourceTree = ""; }; - 295547811D28E5A40062D7E5 /* Supports.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Supports.h; path = ../Sourcecode/mx/core/elements/Supports.h; sourceTree = ""; }; - 295547821D28E5A40062D7E5 /* SupportsAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SupportsAttributes.h; path = ../Sourcecode/mx/core/elements/SupportsAttributes.h; sourceTree = ""; }; - 295547831D28E5A40062D7E5 /* Syllabic.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Syllabic.h; path = ../Sourcecode/mx/core/elements/Syllabic.h; sourceTree = ""; }; - 295547841D28E5A40062D7E5 /* SyllabicTextGroup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SyllabicTextGroup.h; path = ../Sourcecode/mx/core/elements/SyllabicTextGroup.h; sourceTree = ""; }; - 295547851D28E5A40062D7E5 /* SystemDistance.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SystemDistance.h; path = ../Sourcecode/mx/core/elements/SystemDistance.h; sourceTree = ""; }; - 295547861D28E5A40062D7E5 /* SystemDividers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SystemDividers.h; path = ../Sourcecode/mx/core/elements/SystemDividers.h; sourceTree = ""; }; - 295547871D28E5A40062D7E5 /* SystemLayout.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SystemLayout.h; path = ../Sourcecode/mx/core/elements/SystemLayout.h; sourceTree = ""; }; - 295547881D28E5A40062D7E5 /* SystemMargins.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SystemMargins.h; path = ../Sourcecode/mx/core/elements/SystemMargins.h; sourceTree = ""; }; - 295547891D28E5A40062D7E5 /* Tap.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Tap.h; path = ../Sourcecode/mx/core/elements/Tap.h; sourceTree = ""; }; - 2955478A1D28E5A40062D7E5 /* TapAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TapAttributes.h; path = ../Sourcecode/mx/core/elements/TapAttributes.h; sourceTree = ""; }; - 2955478B1D28E5A40062D7E5 /* Technical.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Technical.h; path = ../Sourcecode/mx/core/elements/Technical.h; sourceTree = ""; }; - 2955478C1D28E5A40062D7E5 /* TechnicalChoice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TechnicalChoice.h; path = ../Sourcecode/mx/core/elements/TechnicalChoice.h; sourceTree = ""; }; - 2955478D1D28E5A40062D7E5 /* Tenths.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Tenths.h; path = ../Sourcecode/mx/core/elements/Tenths.h; sourceTree = ""; }; - 2955478E1D28E5A40062D7E5 /* Tenuto.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Tenuto.h; path = ../Sourcecode/mx/core/elements/Tenuto.h; sourceTree = ""; }; - 2955478F1D28E5A40062D7E5 /* Text.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Text.h; path = ../Sourcecode/mx/core/elements/Text.h; sourceTree = ""; }; - 295547901D28E5A40062D7E5 /* TextAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TextAttributes.h; path = ../Sourcecode/mx/core/elements/TextAttributes.h; sourceTree = ""; }; - 295547911D28E5A40062D7E5 /* ThumbPosition.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ThumbPosition.h; path = ../Sourcecode/mx/core/elements/ThumbPosition.h; sourceTree = ""; }; - 295547921D28E5A40062D7E5 /* Tie.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Tie.h; path = ../Sourcecode/mx/core/elements/Tie.h; sourceTree = ""; }; - 295547931D28E5A40062D7E5 /* TieAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TieAttributes.h; path = ../Sourcecode/mx/core/elements/TieAttributes.h; sourceTree = ""; }; - 295547941D28E5A40062D7E5 /* Tied.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Tied.h; path = ../Sourcecode/mx/core/elements/Tied.h; sourceTree = ""; }; - 295547951D28E5A40062D7E5 /* TiedAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TiedAttributes.h; path = ../Sourcecode/mx/core/elements/TiedAttributes.h; sourceTree = ""; }; - 295547961D28E5A40062D7E5 /* Time.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Time.h; path = ../Sourcecode/mx/core/elements/Time.h; sourceTree = ""; }; - 295547971D28E5A40062D7E5 /* TimeAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TimeAttributes.h; path = ../Sourcecode/mx/core/elements/TimeAttributes.h; sourceTree = ""; }; - 295547981D28E5A40062D7E5 /* TimeChoice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TimeChoice.h; path = ../Sourcecode/mx/core/elements/TimeChoice.h; sourceTree = ""; }; - 295547991D28E5A40062D7E5 /* TimeModification.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TimeModification.h; path = ../Sourcecode/mx/core/elements/TimeModification.h; sourceTree = ""; }; - 2955479A1D28E5A40062D7E5 /* TimeModificationNormalTypeNormalDot.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TimeModificationNormalTypeNormalDot.h; path = ../Sourcecode/mx/core/elements/TimeModificationNormalTypeNormalDot.h; sourceTree = ""; }; - 2955479B1D28E5A40062D7E5 /* TimeRelation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TimeRelation.h; path = ../Sourcecode/mx/core/elements/TimeRelation.h; sourceTree = ""; }; - 2955479C1D28E5A40062D7E5 /* TimeSignatureGroup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TimeSignatureGroup.h; path = ../Sourcecode/mx/core/elements/TimeSignatureGroup.h; sourceTree = ""; }; - 2955479D1D28E5A40062D7E5 /* TimewiseMeasure.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TimewiseMeasure.h; path = ../Sourcecode/mx/core/elements/TimewiseMeasure.h; sourceTree = ""; }; - 2955479E1D28E5A40062D7E5 /* TimewisePart.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TimewisePart.h; path = ../Sourcecode/mx/core/elements/TimewisePart.h; sourceTree = ""; }; - 2955479F1D28E5A40062D7E5 /* Timpani.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Timpani.h; path = ../Sourcecode/mx/core/elements/Timpani.h; sourceTree = ""; }; - 295547A01D28E5A40062D7E5 /* Toe.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Toe.h; path = ../Sourcecode/mx/core/elements/Toe.h; sourceTree = ""; }; - 295547A11D28E5A50062D7E5 /* ToeAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ToeAttributes.h; path = ../Sourcecode/mx/core/elements/ToeAttributes.h; sourceTree = ""; }; - 295547A21D28E5A50062D7E5 /* TopMargin.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TopMargin.h; path = ../Sourcecode/mx/core/elements/TopMargin.h; sourceTree = ""; }; - 295547A31D28E5A50062D7E5 /* TopSystemDistance.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TopSystemDistance.h; path = ../Sourcecode/mx/core/elements/TopSystemDistance.h; sourceTree = ""; }; - 295547A41D28E5A50062D7E5 /* TouchingPitch.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TouchingPitch.h; path = ../Sourcecode/mx/core/elements/TouchingPitch.h; sourceTree = ""; }; - 295547A51D28E5A50062D7E5 /* TraditionalKey.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TraditionalKey.h; path = ../Sourcecode/mx/core/elements/TraditionalKey.h; sourceTree = ""; }; - 295547A61D28E5A50062D7E5 /* Transpose.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Transpose.h; path = ../Sourcecode/mx/core/elements/Transpose.h; sourceTree = ""; }; - 295547A71D28E5A50062D7E5 /* TransposeAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TransposeAttributes.h; path = ../Sourcecode/mx/core/elements/TransposeAttributes.h; sourceTree = ""; }; - 295547A81D28E5A50062D7E5 /* Tremolo.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Tremolo.h; path = ../Sourcecode/mx/core/elements/Tremolo.h; sourceTree = ""; }; - 295547A91D28E5A50062D7E5 /* TremoloAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TremoloAttributes.h; path = ../Sourcecode/mx/core/elements/TremoloAttributes.h; sourceTree = ""; }; - 295547AA1D28E5A50062D7E5 /* TrillMark.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TrillMark.h; path = ../Sourcecode/mx/core/elements/TrillMark.h; sourceTree = ""; }; - 295547AB1D28E5A50062D7E5 /* TripleTongue.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TripleTongue.h; path = ../Sourcecode/mx/core/elements/TripleTongue.h; sourceTree = ""; }; - 295547AC1D28E5A50062D7E5 /* TuningAlter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TuningAlter.h; path = ../Sourcecode/mx/core/elements/TuningAlter.h; sourceTree = ""; }; - 295547AD1D28E5A50062D7E5 /* TuningOctave.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TuningOctave.h; path = ../Sourcecode/mx/core/elements/TuningOctave.h; sourceTree = ""; }; - 295547AE1D28E5A50062D7E5 /* TuningStep.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TuningStep.h; path = ../Sourcecode/mx/core/elements/TuningStep.h; sourceTree = ""; }; - 295547AF1D28E5A50062D7E5 /* Tuplet.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Tuplet.h; path = ../Sourcecode/mx/core/elements/Tuplet.h; sourceTree = ""; }; - 295547B01D28E5A50062D7E5 /* TupletActual.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TupletActual.h; path = ../Sourcecode/mx/core/elements/TupletActual.h; sourceTree = ""; }; - 295547B11D28E5A50062D7E5 /* TupletAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TupletAttributes.h; path = ../Sourcecode/mx/core/elements/TupletAttributes.h; sourceTree = ""; }; - 295547B21D28E5A50062D7E5 /* TupletDot.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TupletDot.h; path = ../Sourcecode/mx/core/elements/TupletDot.h; sourceTree = ""; }; - 295547B31D28E5A50062D7E5 /* TupletDotAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TupletDotAttributes.h; path = ../Sourcecode/mx/core/elements/TupletDotAttributes.h; sourceTree = ""; }; - 295547B41D28E5A50062D7E5 /* TupletNormal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TupletNormal.h; path = ../Sourcecode/mx/core/elements/TupletNormal.h; sourceTree = ""; }; - 295547B51D28E5A50062D7E5 /* TupletNumber.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TupletNumber.h; path = ../Sourcecode/mx/core/elements/TupletNumber.h; sourceTree = ""; }; - 295547B61D28E5A50062D7E5 /* TupletNumberAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TupletNumberAttributes.h; path = ../Sourcecode/mx/core/elements/TupletNumberAttributes.h; sourceTree = ""; }; - 295547B71D28E5A50062D7E5 /* TupletType.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TupletType.h; path = ../Sourcecode/mx/core/elements/TupletType.h; sourceTree = ""; }; - 295547B81D28E5A50062D7E5 /* TupletTypeAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TupletTypeAttributes.h; path = ../Sourcecode/mx/core/elements/TupletTypeAttributes.h; sourceTree = ""; }; - 295547B91D28E5A50062D7E5 /* Turn.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Turn.h; path = ../Sourcecode/mx/core/elements/Turn.h; sourceTree = ""; }; - 295547BA1D28E5A50062D7E5 /* TurnAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TurnAttributes.h; path = ../Sourcecode/mx/core/elements/TurnAttributes.h; sourceTree = ""; }; - 295547BB1D28E5A50062D7E5 /* Type.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Type.h; path = ../Sourcecode/mx/core/elements/Type.h; sourceTree = ""; }; - 295547BC1D28E5A50062D7E5 /* TypeAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TypeAttributes.h; path = ../Sourcecode/mx/core/elements/TypeAttributes.h; sourceTree = ""; }; - 295547BD1D28E5A50062D7E5 /* Unpitched.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Unpitched.h; path = ../Sourcecode/mx/core/elements/Unpitched.h; sourceTree = ""; }; - 295547BE1D28E5A50062D7E5 /* Unstress.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Unstress.h; path = ../Sourcecode/mx/core/elements/Unstress.h; sourceTree = ""; }; - 295547BF1D28E5A50062D7E5 /* UpBow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = UpBow.h; path = ../Sourcecode/mx/core/elements/UpBow.h; sourceTree = ""; }; - 295547C01D28E5A50062D7E5 /* VerticalTurn.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = VerticalTurn.h; path = ../Sourcecode/mx/core/elements/VerticalTurn.h; sourceTree = ""; }; - 295547C11D28E5A50062D7E5 /* VirtualInstrument.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = VirtualInstrument.h; path = ../Sourcecode/mx/core/elements/VirtualInstrument.h; sourceTree = ""; }; - 295547C21D28E5A50062D7E5 /* VirtualLibrary.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = VirtualLibrary.h; path = ../Sourcecode/mx/core/elements/VirtualLibrary.h; sourceTree = ""; }; - 295547C31D28E5A50062D7E5 /* VirtualName.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = VirtualName.h; path = ../Sourcecode/mx/core/elements/VirtualName.h; sourceTree = ""; }; - 295547C41D28E5A50062D7E5 /* Voice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Voice.h; path = ../Sourcecode/mx/core/elements/Voice.h; sourceTree = ""; }; - 295547C51D28E5A50062D7E5 /* Volume.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Volume.h; path = ../Sourcecode/mx/core/elements/Volume.h; sourceTree = ""; }; - 295547C61D28E5A50062D7E5 /* WavyLine.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WavyLine.h; path = ../Sourcecode/mx/core/elements/WavyLine.h; sourceTree = ""; }; - 295547C71D28E5A50062D7E5 /* WavyLineAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WavyLineAttributes.h; path = ../Sourcecode/mx/core/elements/WavyLineAttributes.h; sourceTree = ""; }; - 295547C81D28E5A50062D7E5 /* Wedge.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Wedge.h; path = ../Sourcecode/mx/core/elements/Wedge.h; sourceTree = ""; }; - 295547C91D28E5A50062D7E5 /* WedgeAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WedgeAttributes.h; path = ../Sourcecode/mx/core/elements/WedgeAttributes.h; sourceTree = ""; }; - 295547CA1D28E5A50062D7E5 /* WithBar.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WithBar.h; path = ../Sourcecode/mx/core/elements/WithBar.h; sourceTree = ""; }; - 295547CB1D28E5A50062D7E5 /* WithBarAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WithBarAttributes.h; path = ../Sourcecode/mx/core/elements/WithBarAttributes.h; sourceTree = ""; }; - 295547CC1D28E5A50062D7E5 /* Wood.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Wood.h; path = ../Sourcecode/mx/core/elements/Wood.h; sourceTree = ""; }; - 295547CD1D28E5A50062D7E5 /* WordFont.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WordFont.h; path = ../Sourcecode/mx/core/elements/WordFont.h; sourceTree = ""; }; - 295547CE1D28E5A50062D7E5 /* Words.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Words.h; path = ../Sourcecode/mx/core/elements/Words.h; sourceTree = ""; }; - 295547CF1D28E5A50062D7E5 /* WordsAttributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WordsAttributes.h; path = ../Sourcecode/mx/core/elements/WordsAttributes.h; sourceTree = ""; }; - 295547D01D28E5A50062D7E5 /* Work.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Work.h; path = ../Sourcecode/mx/core/elements/Work.h; sourceTree = ""; }; - 295547D11D28E5A50062D7E5 /* WorkNumber.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WorkNumber.h; path = ../Sourcecode/mx/core/elements/WorkNumber.h; sourceTree = ""; }; - 295547D21D28E5A50062D7E5 /* WorkTitle.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WorkTitle.h; path = ../Sourcecode/mx/core/elements/WorkTitle.h; sourceTree = ""; }; - 295C49361D2CB41E0015E349 /* NoteheadTextChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NoteheadTextChoice.cpp; path = ../Sourcecode/mx/core/elements/NoteheadTextChoice.cpp; sourceTree = ""; }; - 295C49381D2CB4B60015E349 /* NoteheadTextChoice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = NoteheadTextChoice.h; path = ../Sourcecode/mx/core/elements/NoteheadTextChoice.h; sourceTree = ""; }; - 295DDE0E1D2C0D4400A2881D /* FromXElement.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FromXElement.h; path = ../Sourcecode/mx/core/FromXElement.h; sourceTree = ""; }; - 295DDE0F1D2C0D4D00A2881D /* FromXElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FromXElement.cpp; path = ../Sourcecode/mx/core/FromXElement.cpp; sourceTree = ""; }; - 2973065D1D89AB3300B8C0D3 /* Cursor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Cursor.h; path = ../Sourcecode/mx/impl/Cursor.h; sourceTree = ""; }; - 2973065E1D89AB3300B8C0D3 /* Cursor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Cursor.cpp; path = ../Sourcecode/mx/impl/Cursor.cpp; sourceTree = ""; }; - 297306651D89D08400B8C0D3 /* NoteReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NoteReader.h; path = ../Sourcecode/mx/impl/NoteReader.h; sourceTree = ""; }; - 297306661D89D08400B8C0D3 /* NoteReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NoteReader.cpp; path = ../Sourcecode/mx/impl/NoteReader.cpp; sourceTree = ""; }; - 2975BF041DA1843900490FAA /* PrintFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PrintFunctions.h; path = ../Sourcecode/mx/impl/PrintFunctions.h; sourceTree = ""; }; - 29766AC21DABFBA500CCE2AC /* TempoData.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TempoData.h; path = ../Sourcecode/mx/api/TempoData.h; sourceTree = ""; }; - 29766AC51DAC014300CCE2AC /* MetronomeReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MetronomeReader.h; path = ../Sourcecode/mx/impl/MetronomeReader.h; sourceTree = ""; }; - 29766AC61DAC014300CCE2AC /* MetronomeReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MetronomeReader.cpp; path = ../Sourcecode/mx/impl/MetronomeReader.cpp; sourceTree = ""; }; - 29766AC91DAC149900CCE2AC /* DirectionReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DirectionReader.h; path = ../Sourcecode/mx/impl/DirectionReader.h; sourceTree = ""; }; - 29766ACA1DAC149900CCE2AC /* DirectionReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DirectionReader.cpp; path = ../Sourcecode/mx/impl/DirectionReader.cpp; sourceTree = ""; }; - 29766AD11DAC14B900CCE2AC /* DirectionData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DirectionData.h; path = ../Sourcecode/mx/api/DirectionData.h; sourceTree = ""; }; - 29766ADF1DAC39EF00CCE2AC /* KeyData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = KeyData.h; path = ../Sourcecode/mx/api/KeyData.h; sourceTree = ""; }; - 297DA0721D7F60BE0067C13A /* StaffFunctions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StaffFunctions.cpp; path = ../Sourcecode/mx/impl/StaffFunctions.cpp; sourceTree = ""; }; - 297DA0731D7F60BE0067C13A /* StaffFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StaffFunctions.h; path = ../Sourcecode/mx/impl/StaffFunctions.h; sourceTree = ""; }; - 2983E3DF1EB4303C007FCC34 /* ScoreData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScoreData.cpp; path = ../Sourcecode/mx/api/ScoreData.cpp; sourceTree = ""; }; - 29979D651DC830AA00707AA4 /* DynamicsWriter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DynamicsWriter.cpp; path = ../Sourcecode/mx/impl/DynamicsWriter.cpp; sourceTree = ""; }; - 29979D661DC830AA00707AA4 /* DynamicsWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DynamicsWriter.h; path = ../Sourcecode/mx/impl/DynamicsWriter.h; sourceTree = ""; }; - 299A2BB01D7FA48A006A7F5C /* PartGroupData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PartGroupData.h; path = ../Sourcecode/mx/api/PartGroupData.h; sourceTree = ""; }; 299F7FE61CA8D2200084CAE5 /* libMx.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMx.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 29A16F821EB10CDB00D59278 /* PreciseDecimal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PreciseDecimal.cpp; path = ../Sourcecode/mx/core/PreciseDecimal.cpp; sourceTree = ""; }; - 29A16F831EB10CDB00D59278 /* PreciseDecimal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PreciseDecimal.h; path = ../Sourcecode/mx/core/PreciseDecimal.h; sourceTree = ""; }; - 29ADB30D1D729E1900683BEC /* EncodingData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EncodingData.h; path = ../Sourcecode/mx/api/EncodingData.h; sourceTree = ""; }; - 29ADB30E1D729E1900683BEC /* PartData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PartData.h; path = ../Sourcecode/mx/api/PartData.h; sourceTree = ""; }; - 29ADB3111D729FB700683BEC /* LayoutData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LayoutData.h; path = ../Sourcecode/mx/api/LayoutData.h; sourceTree = ""; }; - 29ADB3131D736A2B00683BEC /* PageTextData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PageTextData.h; path = ../Sourcecode/mx/api/PageTextData.h; sourceTree = ""; }; - 29ADB3141D736A2B00683BEC /* PositionData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PositionData.h; path = ../Sourcecode/mx/api/PositionData.h; sourceTree = ""; }; - 29B48EE41DBEC9950030A974 /* BarlineData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BarlineData.h; path = ../Sourcecode/mx/api/BarlineData.h; sourceTree = ""; }; - 29B4E81B1DA9CA0E005DC6D1 /* TupletData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TupletData.h; path = ../Sourcecode/mx/api/TupletData.h; sourceTree = ""; }; - 29B4E81F1DA9CD5D005DC6D1 /* TupletReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TupletReader.cpp; path = ../Sourcecode/mx/impl/TupletReader.cpp; sourceTree = ""; }; - 29B4E8201DA9CD5D005DC6D1 /* TupletReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TupletReader.h; path = ../Sourcecode/mx/impl/TupletReader.h; sourceTree = ""; }; - 29B4E8231DA9CFC2005DC6D1 /* NoteAttachmentData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NoteAttachmentData.h; path = ../Sourcecode/mx/api/NoteAttachmentData.h; sourceTree = ""; }; - 29B7C4671DAFFDBA009D7D8F /* MeasureWriter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MeasureWriter.cpp; path = ../Sourcecode/mx/impl/MeasureWriter.cpp; sourceTree = ""; }; - 29B7C4681DAFFDBA009D7D8F /* MeasureWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MeasureWriter.h; path = ../Sourcecode/mx/impl/MeasureWriter.h; sourceTree = ""; }; - 29B7C46B1DB02D2F009D7D8F /* SystemData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SystemData.h; path = ../Sourcecode/mx/api/SystemData.h; sourceTree = ""; }; + 29A8DD591EF0475D00AD2478 /* ApiCommon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ApiCommon.h; sourceTree = ""; }; + 29A8DD5A1EF0475D00AD2478 /* ApiEquality.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ApiEquality.h; sourceTree = ""; }; + 29A8DD5B1EF0475D00AD2478 /* BarlineData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BarlineData.h; sourceTree = ""; }; + 29A8DD5C1EF0475D00AD2478 /* ClefData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ClefData.cpp; sourceTree = ""; }; + 29A8DD5D1EF0475D00AD2478 /* ClefData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ClefData.h; sourceTree = ""; }; + 29A8DD5E1EF0475D00AD2478 /* ColorData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ColorData.h; sourceTree = ""; }; + 29A8DD5F1EF0475D00AD2478 /* CurveData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CurveData.h; sourceTree = ""; }; + 29A8DD601EF0475D00AD2478 /* DirectionData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DirectionData.h; sourceTree = ""; }; + 29A8DD611EF0475D00AD2478 /* DocumentManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DocumentManager.cpp; sourceTree = ""; }; + 29A8DD621EF0475D00AD2478 /* DocumentManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DocumentManager.h; sourceTree = ""; }; + 29A8DD631EF0475D00AD2478 /* DurationData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DurationData.cpp; sourceTree = ""; }; + 29A8DD641EF0475D00AD2478 /* DurationData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DurationData.h; sourceTree = ""; }; + 29A8DD651EF0475D00AD2478 /* EncodingData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EncodingData.h; sourceTree = ""; }; + 29A8DD661EF0475D00AD2478 /* FontData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FontData.h; sourceTree = ""; }; + 29A8DD671EF0475D00AD2478 /* KeyData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KeyData.h; sourceTree = ""; }; + 29A8DD681EF0475D00AD2478 /* LayoutData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LayoutData.h; sourceTree = ""; }; + 29A8DD691EF0475D00AD2478 /* LineData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LineData.h; sourceTree = ""; }; + 29A8DD6A1EF0475D00AD2478 /* MarkData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MarkData.cpp; sourceTree = ""; }; + 29A8DD6B1EF0475D00AD2478 /* MarkData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MarkData.h; sourceTree = ""; }; + 29A8DD6C1EF0475D00AD2478 /* MeasureData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MeasureData.h; sourceTree = ""; }; + 29A8DD6D1EF0475D00AD2478 /* MeasureLocation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MeasureLocation.cpp; sourceTree = ""; }; + 29A8DD6E1EF0475D00AD2478 /* MeasureLocation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MeasureLocation.h; sourceTree = ""; }; + 29A8DD6F1EF0475D00AD2478 /* NoteAttachmentData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NoteAttachmentData.h; sourceTree = ""; }; + 29A8DD701EF0475D00AD2478 /* NoteData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NoteData.cpp; sourceTree = ""; }; + 29A8DD711EF0475D00AD2478 /* NoteData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NoteData.h; sourceTree = ""; }; + 29A8DD721EF0475D00AD2478 /* OttavaData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OttavaData.h; sourceTree = ""; }; + 29A8DD731EF0475D00AD2478 /* PageTextData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PageTextData.h; sourceTree = ""; }; + 29A8DD741EF0475D00AD2478 /* PartData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PartData.h; sourceTree = ""; }; + 29A8DD751EF0475D00AD2478 /* PartGroupData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PartGroupData.h; sourceTree = ""; }; + 29A8DD761EF0475D00AD2478 /* PitchData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PitchData.cpp; sourceTree = ""; }; + 29A8DD771EF0475D00AD2478 /* PitchData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PitchData.h; sourceTree = ""; }; + 29A8DD781EF0475D00AD2478 /* PositionData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PositionData.h; sourceTree = ""; }; + 29A8DD791EF0475D00AD2478 /* PrintData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PrintData.h; sourceTree = ""; }; + 29A8DD7A1EF0475D00AD2478 /* ScoreData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScoreData.cpp; sourceTree = ""; }; + 29A8DD7B1EF0475D00AD2478 /* ScoreData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScoreData.h; sourceTree = ""; }; + 29A8DD7C1EF0475D00AD2478 /* Smufl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Smufl.cpp; sourceTree = ""; }; + 29A8DD7D1EF0475D00AD2478 /* Smufl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Smufl.h; sourceTree = ""; }; + 29A8DD7E1EF0475D00AD2478 /* SpannerData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpannerData.h; sourceTree = ""; }; + 29A8DD7F1EF0475D00AD2478 /* StaffData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StaffData.h; sourceTree = ""; }; + 29A8DD801EF0475D00AD2478 /* SystemData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SystemData.h; sourceTree = ""; }; + 29A8DD811EF0475D00AD2478 /* TempoData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TempoData.h; sourceTree = ""; }; + 29A8DD821EF0475D00AD2478 /* TimeSignatureData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TimeSignatureData.h; sourceTree = ""; }; + 29A8DD831EF0475D00AD2478 /* TupletData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TupletData.h; sourceTree = ""; }; + 29A8DD841EF0475D00AD2478 /* VoiceData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VoiceData.h; sourceTree = ""; }; + 29A8DD851EF0475D00AD2478 /* WedgeData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WedgeData.h; sourceTree = ""; }; + 29A8DD861EF0475D00AD2478 /* WordsData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WordsData.cpp; sourceTree = ""; }; + 29A8DD871EF0475D00AD2478 /* WordsData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WordsData.h; sourceTree = ""; }; + 29A8DD891EF0475D00AD2478 /* AttributesInterface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AttributesInterface.cpp; sourceTree = ""; }; + 29A8DD8A1EF0475D00AD2478 /* AttributesInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AttributesInterface.h; sourceTree = ""; }; + 29A8DD8B1EF0475D00AD2478 /* Color.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Color.cpp; sourceTree = ""; }; + 29A8DD8C1EF0475D00AD2478 /* Color.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Color.h; sourceTree = ""; }; + 29A8DD8D1EF0475D00AD2478 /* Date.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Date.cpp; sourceTree = ""; }; + 29A8DD8E1EF0475D00AD2478 /* Date.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Date.h; sourceTree = ""; }; + 29A8DD8F1EF0475D00AD2478 /* Decimals.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Decimals.cpp; sourceTree = ""; }; + 29A8DD901EF0475D00AD2478 /* Decimals.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Decimals.h; sourceTree = ""; }; + 29A8DD911EF0475D00AD2478 /* Document.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Document.cpp; sourceTree = ""; }; + 29A8DD921EF0475D00AD2478 /* Document.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Document.h; sourceTree = ""; }; + 29A8DD931EF0475D00AD2478 /* DocumentHeader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DocumentHeader.cpp; sourceTree = ""; }; + 29A8DD941EF0475D00AD2478 /* DocumentHeader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DocumentHeader.h; sourceTree = ""; }; + 29A8DD951EF0475D00AD2478 /* DocumentSpec.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DocumentSpec.cpp; sourceTree = ""; }; + 29A8DD961EF0475D00AD2478 /* DocumentSpec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DocumentSpec.h; sourceTree = ""; }; + 29A8DD971EF0475D00AD2478 /* ElementInterface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ElementInterface.cpp; sourceTree = ""; }; + 29A8DD981EF0475D00AD2478 /* ElementInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ElementInterface.h; sourceTree = ""; }; + 29A8DD9A1EF0475D00AD2478 /* Accent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Accent.cpp; sourceTree = ""; }; + 29A8DD9B1EF0475D00AD2478 /* Accent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Accent.h; sourceTree = ""; }; + 29A8DD9C1EF0475D00AD2478 /* Accidental.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Accidental.cpp; sourceTree = ""; }; + 29A8DD9D1EF0475D00AD2478 /* Accidental.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Accidental.h; sourceTree = ""; }; + 29A8DD9E1EF0475D00AD2478 /* AccidentalAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccidentalAttributes.cpp; sourceTree = ""; }; + 29A8DD9F1EF0475D00AD2478 /* AccidentalAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccidentalAttributes.h; sourceTree = ""; }; + 29A8DDA01EF0475D00AD2478 /* AccidentalMark.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccidentalMark.cpp; sourceTree = ""; }; + 29A8DDA11EF0475D00AD2478 /* AccidentalMark.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccidentalMark.h; sourceTree = ""; }; + 29A8DDA21EF0475D00AD2478 /* AccidentalMarkAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccidentalMarkAttributes.cpp; sourceTree = ""; }; + 29A8DDA31EF0475D00AD2478 /* AccidentalMarkAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccidentalMarkAttributes.h; sourceTree = ""; }; + 29A8DDA41EF0475D00AD2478 /* AccidentalText.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccidentalText.cpp; sourceTree = ""; }; + 29A8DDA51EF0475D00AD2478 /* AccidentalText.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccidentalText.h; sourceTree = ""; }; + 29A8DDA61EF0475D00AD2478 /* AccidentalTextAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccidentalTextAttributes.cpp; sourceTree = ""; }; + 29A8DDA71EF0475D00AD2478 /* AccidentalTextAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccidentalTextAttributes.h; sourceTree = ""; }; + 29A8DDA81EF0475D00AD2478 /* Accord.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Accord.cpp; sourceTree = ""; }; + 29A8DDA91EF0475D00AD2478 /* Accord.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Accord.h; sourceTree = ""; }; + 29A8DDAA1EF0475D00AD2478 /* AccordAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccordAttributes.cpp; sourceTree = ""; }; + 29A8DDAB1EF0475D00AD2478 /* AccordAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccordAttributes.h; sourceTree = ""; }; + 29A8DDAC1EF0475D00AD2478 /* AccordionHigh.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccordionHigh.cpp; sourceTree = ""; }; + 29A8DDAD1EF0475D00AD2478 /* AccordionHigh.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccordionHigh.h; sourceTree = ""; }; + 29A8DDAE1EF0475D00AD2478 /* AccordionLow.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccordionLow.cpp; sourceTree = ""; }; + 29A8DDAF1EF0475D00AD2478 /* AccordionLow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccordionLow.h; sourceTree = ""; }; + 29A8DDB01EF0475D00AD2478 /* AccordionMiddle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccordionMiddle.cpp; sourceTree = ""; }; + 29A8DDB11EF0475D00AD2478 /* AccordionMiddle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccordionMiddle.h; sourceTree = ""; }; + 29A8DDB21EF0475D00AD2478 /* AccordionRegistration.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccordionRegistration.cpp; sourceTree = ""; }; + 29A8DDB31EF0475D00AD2478 /* AccordionRegistration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccordionRegistration.h; sourceTree = ""; }; + 29A8DDB41EF0475D00AD2478 /* AccordionRegistrationAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccordionRegistrationAttributes.cpp; sourceTree = ""; }; + 29A8DDB51EF0475D00AD2478 /* AccordionRegistrationAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccordionRegistrationAttributes.h; sourceTree = ""; }; + 29A8DDB61EF0475D00AD2478 /* ActualNotes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ActualNotes.cpp; sourceTree = ""; }; + 29A8DDB71EF0475D00AD2478 /* ActualNotes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ActualNotes.h; sourceTree = ""; }; + 29A8DDB81EF0475D00AD2478 /* Alter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Alter.cpp; sourceTree = ""; }; + 29A8DDB91EF0475D00AD2478 /* Alter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Alter.h; sourceTree = ""; }; + 29A8DDBA1EF0475D00AD2478 /* Appearance.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Appearance.cpp; sourceTree = ""; }; + 29A8DDBB1EF0475D00AD2478 /* Appearance.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Appearance.h; sourceTree = ""; }; + 29A8DDBC1EF0475D00AD2478 /* Arpeggiate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Arpeggiate.cpp; sourceTree = ""; }; + 29A8DDBD1EF0475D00AD2478 /* Arpeggiate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Arpeggiate.h; sourceTree = ""; }; + 29A8DDBE1EF0475D00AD2478 /* ArpeggiateAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ArpeggiateAttributes.cpp; sourceTree = ""; }; + 29A8DDBF1EF0475D00AD2478 /* ArpeggiateAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ArpeggiateAttributes.h; sourceTree = ""; }; + 29A8DDC01EF0475D00AD2478 /* Arrow.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Arrow.cpp; sourceTree = ""; }; + 29A8DDC11EF0475D00AD2478 /* Arrow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Arrow.h; sourceTree = ""; }; + 29A8DDC21EF0475D00AD2478 /* ArrowAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ArrowAttributes.cpp; sourceTree = ""; }; + 29A8DDC31EF0475D00AD2478 /* ArrowAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ArrowAttributes.h; sourceTree = ""; }; + 29A8DDC41EF0475D00AD2478 /* ArrowDirection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ArrowDirection.cpp; sourceTree = ""; }; + 29A8DDC51EF0475D00AD2478 /* ArrowDirection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ArrowDirection.h; sourceTree = ""; }; + 29A8DDC61EF0475D00AD2478 /* ArrowGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ArrowGroup.cpp; sourceTree = ""; }; + 29A8DDC71EF0475D00AD2478 /* ArrowGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ArrowGroup.h; sourceTree = ""; }; + 29A8DDC81EF0475D00AD2478 /* ArrowStyle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ArrowStyle.cpp; sourceTree = ""; }; + 29A8DDC91EF0475D00AD2478 /* ArrowStyle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ArrowStyle.h; sourceTree = ""; }; + 29A8DDCA1EF0475D00AD2478 /* Articulations.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Articulations.cpp; sourceTree = ""; }; + 29A8DDCB1EF0475D00AD2478 /* Articulations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Articulations.h; sourceTree = ""; }; + 29A8DDCC1EF0475D00AD2478 /* ArticulationsChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ArticulationsChoice.cpp; sourceTree = ""; }; + 29A8DDCD1EF0475D00AD2478 /* ArticulationsChoice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ArticulationsChoice.h; sourceTree = ""; }; + 29A8DDCE1EF0475D00AD2478 /* Artificial.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Artificial.cpp; sourceTree = ""; }; + 29A8DDCF1EF0475D00AD2478 /* Artificial.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Artificial.h; sourceTree = ""; }; + 29A8DDD01EF0475D00AD2478 /* AttributesIterface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AttributesIterface.cpp; sourceTree = ""; }; + 29A8DDD11EF0475D00AD2478 /* AttributesIterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AttributesIterface.h; sourceTree = ""; }; + 29A8DDD21EF0475D00AD2478 /* Backup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Backup.cpp; sourceTree = ""; }; + 29A8DDD31EF0475D00AD2478 /* Backup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Backup.h; sourceTree = ""; }; + 29A8DDD41EF0475D00AD2478 /* Barline.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Barline.cpp; sourceTree = ""; }; + 29A8DDD51EF0475D00AD2478 /* Barline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Barline.h; sourceTree = ""; }; + 29A8DDD61EF0475D00AD2478 /* BarlineAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BarlineAttributes.cpp; sourceTree = ""; }; + 29A8DDD71EF0475D00AD2478 /* BarlineAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BarlineAttributes.h; sourceTree = ""; }; + 29A8DDD81EF0475D00AD2478 /* Barre.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Barre.cpp; sourceTree = ""; }; + 29A8DDD91EF0475D00AD2478 /* Barre.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Barre.h; sourceTree = ""; }; + 29A8DDDA1EF0475D00AD2478 /* BarreAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BarreAttributes.cpp; sourceTree = ""; }; + 29A8DDDB1EF0475D00AD2478 /* BarreAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BarreAttributes.h; sourceTree = ""; }; + 29A8DDDC1EF0475D00AD2478 /* BarStyle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BarStyle.cpp; sourceTree = ""; }; + 29A8DDDD1EF0475D00AD2478 /* BarStyle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BarStyle.h; sourceTree = ""; }; + 29A8DDDE1EF0475D00AD2478 /* BarStyleAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BarStyleAttributes.cpp; sourceTree = ""; }; + 29A8DDDF1EF0475D00AD2478 /* BarStyleAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BarStyleAttributes.h; sourceTree = ""; }; + 29A8DDE01EF0475D00AD2478 /* BasePitch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BasePitch.cpp; sourceTree = ""; }; + 29A8DDE11EF0475D00AD2478 /* BasePitch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BasePitch.h; sourceTree = ""; }; + 29A8DDE21EF0475D00AD2478 /* Bass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Bass.cpp; sourceTree = ""; }; + 29A8DDE31EF0475D00AD2478 /* Bass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Bass.h; sourceTree = ""; }; + 29A8DDE41EF0475D00AD2478 /* BassAlter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BassAlter.cpp; sourceTree = ""; }; + 29A8DDE51EF0475D00AD2478 /* BassAlter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BassAlter.h; sourceTree = ""; }; + 29A8DDE61EF0475D00AD2478 /* BassAlterAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BassAlterAttributes.cpp; sourceTree = ""; }; + 29A8DDE71EF0475D00AD2478 /* BassAlterAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BassAlterAttributes.h; sourceTree = ""; }; + 29A8DDE81EF0475D00AD2478 /* BassStep.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BassStep.cpp; sourceTree = ""; }; + 29A8DDE91EF0475D00AD2478 /* BassStep.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BassStep.h; sourceTree = ""; }; + 29A8DDEA1EF0475D00AD2478 /* BassStepAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BassStepAttributes.cpp; sourceTree = ""; }; + 29A8DDEB1EF0475D00AD2478 /* BassStepAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BassStepAttributes.h; sourceTree = ""; }; + 29A8DDEC1EF0475D00AD2478 /* Beam.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Beam.cpp; sourceTree = ""; }; + 29A8DDED1EF0475D00AD2478 /* Beam.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Beam.h; sourceTree = ""; }; + 29A8DDEE1EF0475D00AD2478 /* BeamAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BeamAttributes.cpp; sourceTree = ""; }; + 29A8DDEF1EF0475D00AD2478 /* BeamAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BeamAttributes.h; sourceTree = ""; }; + 29A8DDF01EF0475D00AD2478 /* Beater.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Beater.cpp; sourceTree = ""; }; + 29A8DDF11EF0475D00AD2478 /* Beater.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Beater.h; sourceTree = ""; }; + 29A8DDF21EF0475D00AD2478 /* BeaterAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BeaterAttributes.cpp; sourceTree = ""; }; + 29A8DDF31EF0475D00AD2478 /* BeaterAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BeaterAttributes.h; sourceTree = ""; }; + 29A8DDF41EF0475D00AD2478 /* BeatRepeat.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BeatRepeat.cpp; sourceTree = ""; }; + 29A8DDF51EF0475D00AD2478 /* BeatRepeat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BeatRepeat.h; sourceTree = ""; }; + 29A8DDF61EF0475D00AD2478 /* BeatRepeatAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BeatRepeatAttributes.cpp; sourceTree = ""; }; + 29A8DDF71EF0475D00AD2478 /* BeatRepeatAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BeatRepeatAttributes.h; sourceTree = ""; }; + 29A8DDF81EF0475D00AD2478 /* Beats.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Beats.cpp; sourceTree = ""; }; + 29A8DDF91EF0475D00AD2478 /* Beats.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Beats.h; sourceTree = ""; }; + 29A8DDFA1EF0475D00AD2478 /* BeatType.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BeatType.cpp; sourceTree = ""; }; + 29A8DDFB1EF0475D00AD2478 /* BeatType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BeatType.h; sourceTree = ""; }; + 29A8DDFC1EF0475D00AD2478 /* BeatUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BeatUnit.cpp; sourceTree = ""; }; + 29A8DDFD1EF0475D00AD2478 /* BeatUnit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BeatUnit.h; sourceTree = ""; }; + 29A8DDFE1EF0475D00AD2478 /* BeatUnitDot.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BeatUnitDot.cpp; sourceTree = ""; }; + 29A8DDFF1EF0475D00AD2478 /* BeatUnitDot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BeatUnitDot.h; sourceTree = ""; }; + 29A8DE001EF0475D00AD2478 /* BeatUnitGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BeatUnitGroup.cpp; sourceTree = ""; }; + 29A8DE011EF0475D00AD2478 /* BeatUnitGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BeatUnitGroup.h; sourceTree = ""; }; + 29A8DE021EF0475D00AD2478 /* BeatUnitPer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BeatUnitPer.cpp; sourceTree = ""; }; + 29A8DE031EF0475D00AD2478 /* BeatUnitPer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BeatUnitPer.h; sourceTree = ""; }; + 29A8DE041EF0475D00AD2478 /* BeatUnitPerOrNoteRelationNoteChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BeatUnitPerOrNoteRelationNoteChoice.cpp; sourceTree = ""; }; + 29A8DE051EF0475D00AD2478 /* BeatUnitPerOrNoteRelationNoteChoice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BeatUnitPerOrNoteRelationNoteChoice.h; sourceTree = ""; }; + 29A8DE061EF0475D00AD2478 /* Bend.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Bend.cpp; sourceTree = ""; }; + 29A8DE071EF0475D00AD2478 /* Bend.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Bend.h; sourceTree = ""; }; + 29A8DE081EF0475D00AD2478 /* BendAlter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BendAlter.cpp; sourceTree = ""; }; + 29A8DE091EF0475D00AD2478 /* BendAlter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BendAlter.h; sourceTree = ""; }; + 29A8DE0A1EF0475D00AD2478 /* BendAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BendAttributes.cpp; sourceTree = ""; }; + 29A8DE0B1EF0475D00AD2478 /* BendAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BendAttributes.h; sourceTree = ""; }; + 29A8DE0C1EF0475D00AD2478 /* BendChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BendChoice.cpp; sourceTree = ""; }; + 29A8DE0D1EF0475D00AD2478 /* BendChoice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BendChoice.h; sourceTree = ""; }; + 29A8DE0E1EF0475D00AD2478 /* Bookmark.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Bookmark.cpp; sourceTree = ""; }; + 29A8DE0F1EF0475D00AD2478 /* Bookmark.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Bookmark.h; sourceTree = ""; }; + 29A8DE101EF0475D00AD2478 /* BookmarkAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BookmarkAttributes.cpp; sourceTree = ""; }; + 29A8DE111EF0475D00AD2478 /* BookmarkAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BookmarkAttributes.h; sourceTree = ""; }; + 29A8DE121EF0475D00AD2478 /* BottomMargin.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BottomMargin.cpp; sourceTree = ""; }; + 29A8DE131EF0475D00AD2478 /* BottomMargin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BottomMargin.h; sourceTree = ""; }; + 29A8DE141EF0475D00AD2478 /* Bracket.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Bracket.cpp; sourceTree = ""; }; + 29A8DE151EF0475D00AD2478 /* Bracket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Bracket.h; sourceTree = ""; }; + 29A8DE161EF0475D00AD2478 /* BracketAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BracketAttributes.cpp; sourceTree = ""; }; + 29A8DE171EF0475D00AD2478 /* BracketAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BracketAttributes.h; sourceTree = ""; }; + 29A8DE181EF0475D00AD2478 /* BreathMark.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BreathMark.cpp; sourceTree = ""; }; + 29A8DE191EF0475D00AD2478 /* BreathMark.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BreathMark.h; sourceTree = ""; }; + 29A8DE1A1EF0475D00AD2478 /* BreathMarkAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BreathMarkAttributes.cpp; sourceTree = ""; }; + 29A8DE1B1EF0475D00AD2478 /* BreathMarkAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BreathMarkAttributes.h; sourceTree = ""; }; + 29A8DE1C1EF0475D00AD2478 /* Caesura.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Caesura.cpp; sourceTree = ""; }; + 29A8DE1D1EF0475D00AD2478 /* Caesura.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Caesura.h; sourceTree = ""; }; + 29A8DE1E1EF0475D00AD2478 /* Cancel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Cancel.cpp; sourceTree = ""; }; + 29A8DE1F1EF0475D00AD2478 /* Cancel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Cancel.h; sourceTree = ""; }; + 29A8DE201EF0475D00AD2478 /* CancelAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CancelAttributes.cpp; sourceTree = ""; }; + 29A8DE211EF0475D00AD2478 /* CancelAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CancelAttributes.h; sourceTree = ""; }; + 29A8DE221EF0475D00AD2478 /* Capo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Capo.cpp; sourceTree = ""; }; + 29A8DE231EF0475D00AD2478 /* Capo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Capo.h; sourceTree = ""; }; + 29A8DE241EF0475D00AD2478 /* Chord.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Chord.cpp; sourceTree = ""; }; + 29A8DE251EF0475D00AD2478 /* Chord.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Chord.h; sourceTree = ""; }; + 29A8DE261EF0475D00AD2478 /* Chromatic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Chromatic.cpp; sourceTree = ""; }; + 29A8DE271EF0475D00AD2478 /* Chromatic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Chromatic.h; sourceTree = ""; }; + 29A8DE281EF0475D00AD2478 /* CircularArrow.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CircularArrow.cpp; sourceTree = ""; }; + 29A8DE291EF0475D00AD2478 /* CircularArrow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CircularArrow.h; sourceTree = ""; }; + 29A8DE2A1EF0475D00AD2478 /* Clef.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Clef.cpp; sourceTree = ""; }; + 29A8DE2B1EF0475D00AD2478 /* Clef.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Clef.h; sourceTree = ""; }; + 29A8DE2C1EF0475D00AD2478 /* ClefAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ClefAttributes.cpp; sourceTree = ""; }; + 29A8DE2D1EF0475D00AD2478 /* ClefAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ClefAttributes.h; sourceTree = ""; }; + 29A8DE2E1EF0475D00AD2478 /* ClefOctaveChange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ClefOctaveChange.cpp; sourceTree = ""; }; + 29A8DE2F1EF0475D00AD2478 /* ClefOctaveChange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ClefOctaveChange.h; sourceTree = ""; }; + 29A8DE301EF0475D00AD2478 /* Coda.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Coda.cpp; sourceTree = ""; }; + 29A8DE311EF0475D00AD2478 /* Coda.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Coda.h; sourceTree = ""; }; + 29A8DE321EF0475D00AD2478 /* Creator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Creator.cpp; sourceTree = ""; }; + 29A8DE331EF0475D00AD2478 /* Creator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Creator.h; sourceTree = ""; }; + 29A8DE341EF0475D00AD2478 /* CreatorAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CreatorAttributes.cpp; sourceTree = ""; }; + 29A8DE351EF0475D00AD2478 /* CreatorAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CreatorAttributes.h; sourceTree = ""; }; + 29A8DE361EF0475D00AD2478 /* Credit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Credit.cpp; sourceTree = ""; }; + 29A8DE371EF0475D00AD2478 /* Credit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Credit.h; sourceTree = ""; }; + 29A8DE381EF0475D00AD2478 /* CreditAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CreditAttributes.cpp; sourceTree = ""; }; + 29A8DE391EF0475D00AD2478 /* CreditAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CreditAttributes.h; sourceTree = ""; }; + 29A8DE3A1EF0475D00AD2478 /* CreditChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CreditChoice.cpp; sourceTree = ""; }; + 29A8DE3B1EF0475D00AD2478 /* CreditChoice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CreditChoice.h; sourceTree = ""; }; + 29A8DE3C1EF0475D00AD2478 /* CreditImage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CreditImage.cpp; sourceTree = ""; }; + 29A8DE3D1EF0475D00AD2478 /* CreditImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CreditImage.h; sourceTree = ""; }; + 29A8DE3E1EF0475D00AD2478 /* CreditImageAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CreditImageAttributes.cpp; sourceTree = ""; }; + 29A8DE3F1EF0475D00AD2478 /* CreditImageAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CreditImageAttributes.h; sourceTree = ""; }; + 29A8DE401EF0475D00AD2478 /* CreditType.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CreditType.cpp; sourceTree = ""; }; + 29A8DE411EF0475D00AD2478 /* CreditType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CreditType.h; sourceTree = ""; }; + 29A8DE421EF0475D00AD2478 /* CreditWords.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CreditWords.cpp; sourceTree = ""; }; + 29A8DE431EF0475D00AD2478 /* CreditWords.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CreditWords.h; sourceTree = ""; }; + 29A8DE441EF0475D00AD2478 /* CreditWordsAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CreditWordsAttributes.cpp; sourceTree = ""; }; + 29A8DE451EF0475D00AD2478 /* CreditWordsAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CreditWordsAttributes.h; sourceTree = ""; }; + 29A8DE461EF0475D00AD2478 /* CreditWordsGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CreditWordsGroup.cpp; sourceTree = ""; }; + 29A8DE471EF0475D00AD2478 /* CreditWordsGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CreditWordsGroup.h; sourceTree = ""; }; + 29A8DE481EF0475D00AD2478 /* Cue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Cue.cpp; sourceTree = ""; }; + 29A8DE491EF0475D00AD2478 /* Cue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Cue.h; sourceTree = ""; }; + 29A8DE4A1EF0475D00AD2478 /* CueNoteGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CueNoteGroup.cpp; sourceTree = ""; }; + 29A8DE4B1EF0475D00AD2478 /* CueNoteGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CueNoteGroup.h; sourceTree = ""; }; + 29A8DE4C1EF0475D00AD2478 /* Damp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Damp.cpp; sourceTree = ""; }; + 29A8DE4D1EF0475D00AD2478 /* Damp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Damp.h; sourceTree = ""; }; + 29A8DE4E1EF0475D00AD2478 /* DampAll.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DampAll.cpp; sourceTree = ""; }; + 29A8DE4F1EF0475D00AD2478 /* DampAll.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DampAll.h; sourceTree = ""; }; + 29A8DE501EF0475D00AD2478 /* Dashes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Dashes.cpp; sourceTree = ""; }; + 29A8DE511EF0475D00AD2478 /* Dashes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Dashes.h; sourceTree = ""; }; + 29A8DE521EF0475D00AD2478 /* DashesAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DashesAttributes.cpp; sourceTree = ""; }; + 29A8DE531EF0475D00AD2478 /* DashesAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DashesAttributes.h; sourceTree = ""; }; + 29A8DE541EF0475D00AD2478 /* Defaults.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Defaults.cpp; sourceTree = ""; }; + 29A8DE551EF0475D00AD2478 /* Defaults.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Defaults.h; sourceTree = ""; }; + 29A8DE561EF0475D00AD2478 /* Degree.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Degree.cpp; sourceTree = ""; }; + 29A8DE571EF0475D00AD2478 /* Degree.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Degree.h; sourceTree = ""; }; + 29A8DE581EF0475D00AD2478 /* DegreeAlter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DegreeAlter.cpp; sourceTree = ""; }; + 29A8DE591EF0475D00AD2478 /* DegreeAlter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DegreeAlter.h; sourceTree = ""; }; + 29A8DE5A1EF0475D00AD2478 /* DegreeAlterAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DegreeAlterAttributes.cpp; sourceTree = ""; }; + 29A8DE5B1EF0475D00AD2478 /* DegreeAlterAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DegreeAlterAttributes.h; sourceTree = ""; }; + 29A8DE5C1EF0475D00AD2478 /* DegreeAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DegreeAttributes.cpp; sourceTree = ""; }; + 29A8DE5D1EF0475D00AD2478 /* DegreeAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DegreeAttributes.h; sourceTree = ""; }; + 29A8DE5E1EF0475D00AD2478 /* DegreeType.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DegreeType.cpp; sourceTree = ""; }; + 29A8DE5F1EF0475D00AD2478 /* DegreeType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DegreeType.h; sourceTree = ""; }; + 29A8DE601EF0475E00AD2478 /* DegreeTypeAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DegreeTypeAttributes.cpp; sourceTree = ""; }; + 29A8DE611EF0475E00AD2478 /* DegreeTypeAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DegreeTypeAttributes.h; sourceTree = ""; }; + 29A8DE621EF0475E00AD2478 /* DegreeValue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DegreeValue.cpp; sourceTree = ""; }; + 29A8DE631EF0475E00AD2478 /* DegreeValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DegreeValue.h; sourceTree = ""; }; + 29A8DE641EF0475E00AD2478 /* DegreeValueAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DegreeValueAttributes.cpp; sourceTree = ""; }; + 29A8DE651EF0475E00AD2478 /* DegreeValueAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DegreeValueAttributes.h; sourceTree = ""; }; + 29A8DE661EF0475E00AD2478 /* DelayedInvertedTurn.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DelayedInvertedTurn.cpp; sourceTree = ""; }; + 29A8DE671EF0475E00AD2478 /* DelayedInvertedTurn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DelayedInvertedTurn.h; sourceTree = ""; }; + 29A8DE681EF0475E00AD2478 /* DelayedInvertedTurnAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DelayedInvertedTurnAttributes.cpp; sourceTree = ""; }; + 29A8DE691EF0475E00AD2478 /* DelayedInvertedTurnAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DelayedInvertedTurnAttributes.h; sourceTree = ""; }; + 29A8DE6A1EF0475E00AD2478 /* DelayedTurn.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DelayedTurn.cpp; sourceTree = ""; }; + 29A8DE6B1EF0475E00AD2478 /* DelayedTurn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DelayedTurn.h; sourceTree = ""; }; + 29A8DE6C1EF0475E00AD2478 /* DelayedTurnAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DelayedTurnAttributes.cpp; sourceTree = ""; }; + 29A8DE6D1EF0475E00AD2478 /* DelayedTurnAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DelayedTurnAttributes.h; sourceTree = ""; }; + 29A8DE6E1EF0475E00AD2478 /* DetachedLegato.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DetachedLegato.cpp; sourceTree = ""; }; + 29A8DE6F1EF0475E00AD2478 /* DetachedLegato.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DetachedLegato.h; sourceTree = ""; }; + 29A8DE701EF0475E00AD2478 /* Diatonic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Diatonic.cpp; sourceTree = ""; }; + 29A8DE711EF0475E00AD2478 /* Diatonic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Diatonic.h; sourceTree = ""; }; + 29A8DE721EF0475E00AD2478 /* Direction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Direction.cpp; sourceTree = ""; }; + 29A8DE731EF0475E00AD2478 /* Direction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Direction.h; sourceTree = ""; }; + 29A8DE741EF0475E00AD2478 /* DirectionAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DirectionAttributes.cpp; sourceTree = ""; }; + 29A8DE751EF0475E00AD2478 /* DirectionAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DirectionAttributes.h; sourceTree = ""; }; + 29A8DE761EF0475E00AD2478 /* DirectionType.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DirectionType.cpp; sourceTree = ""; }; + 29A8DE771EF0475E00AD2478 /* DirectionType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DirectionType.h; sourceTree = ""; }; + 29A8DE781EF0475E00AD2478 /* Directive.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Directive.cpp; sourceTree = ""; }; + 29A8DE791EF0475E00AD2478 /* Directive.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Directive.h; sourceTree = ""; }; + 29A8DE7A1EF0475E00AD2478 /* DirectiveAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DirectiveAttributes.cpp; sourceTree = ""; }; + 29A8DE7B1EF0475E00AD2478 /* DirectiveAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DirectiveAttributes.h; sourceTree = ""; }; + 29A8DE7C1EF0475E00AD2478 /* DisplayOctave.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DisplayOctave.cpp; sourceTree = ""; }; + 29A8DE7D1EF0475E00AD2478 /* DisplayOctave.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DisplayOctave.h; sourceTree = ""; }; + 29A8DE7E1EF0475E00AD2478 /* DisplayStep.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DisplayStep.cpp; sourceTree = ""; }; + 29A8DE7F1EF0475E00AD2478 /* DisplayStep.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DisplayStep.h; sourceTree = ""; }; + 29A8DE801EF0475E00AD2478 /* DisplayStepOctaveGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DisplayStepOctaveGroup.cpp; sourceTree = ""; }; + 29A8DE811EF0475E00AD2478 /* DisplayStepOctaveGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DisplayStepOctaveGroup.h; sourceTree = ""; }; + 29A8DE821EF0475E00AD2478 /* DisplayText.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DisplayText.cpp; sourceTree = ""; }; + 29A8DE831EF0475E00AD2478 /* DisplayText.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DisplayText.h; sourceTree = ""; }; + 29A8DE841EF0475E00AD2478 /* DisplayTextAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DisplayTextAttributes.cpp; sourceTree = ""; }; + 29A8DE851EF0475E00AD2478 /* DisplayTextAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DisplayTextAttributes.h; sourceTree = ""; }; + 29A8DE861EF0475E00AD2478 /* DisplayTextOrAccidentalText.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DisplayTextOrAccidentalText.cpp; sourceTree = ""; }; + 29A8DE871EF0475E00AD2478 /* DisplayTextOrAccidentalText.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DisplayTextOrAccidentalText.h; sourceTree = ""; }; + 29A8DE881EF0475E00AD2478 /* Distance.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Distance.cpp; sourceTree = ""; }; + 29A8DE891EF0475E00AD2478 /* Distance.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Distance.h; sourceTree = ""; }; + 29A8DE8A1EF0475E00AD2478 /* DistanceAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DistanceAttributes.cpp; sourceTree = ""; }; + 29A8DE8B1EF0475E00AD2478 /* DistanceAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DistanceAttributes.h; sourceTree = ""; }; + 29A8DE8C1EF0475E00AD2478 /* Divisions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Divisions.cpp; sourceTree = ""; }; + 29A8DE8D1EF0475E00AD2478 /* Divisions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Divisions.h; sourceTree = ""; }; + 29A8DE8E1EF0475E00AD2478 /* Doit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Doit.cpp; sourceTree = ""; }; + 29A8DE8F1EF0475E00AD2478 /* Doit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Doit.h; sourceTree = ""; }; + 29A8DE901EF0475E00AD2478 /* Dot.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Dot.cpp; sourceTree = ""; }; + 29A8DE911EF0475E00AD2478 /* Dot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Dot.h; sourceTree = ""; }; + 29A8DE921EF0475E00AD2478 /* Double.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Double.cpp; sourceTree = ""; }; + 29A8DE931EF0475E00AD2478 /* Double.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Double.h; sourceTree = ""; }; + 29A8DE941EF0475E00AD2478 /* DoubleTongue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DoubleTongue.cpp; sourceTree = ""; }; + 29A8DE951EF0475E00AD2478 /* DoubleTongue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DoubleTongue.h; sourceTree = ""; }; + 29A8DE961EF0475E00AD2478 /* DownBow.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DownBow.cpp; sourceTree = ""; }; + 29A8DE971EF0475E00AD2478 /* DownBow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DownBow.h; sourceTree = ""; }; + 29A8DE981EF0475E00AD2478 /* Duration.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Duration.cpp; sourceTree = ""; }; + 29A8DE991EF0475E00AD2478 /* Duration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Duration.h; sourceTree = ""; }; + 29A8DE9A1EF0475E00AD2478 /* Dynamics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Dynamics.cpp; sourceTree = ""; }; + 29A8DE9B1EF0475E00AD2478 /* Dynamics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Dynamics.h; sourceTree = ""; }; + 29A8DE9C1EF0475E00AD2478 /* DynamicsAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DynamicsAttributes.cpp; sourceTree = ""; }; + 29A8DE9D1EF0475E00AD2478 /* DynamicsAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DynamicsAttributes.h; sourceTree = ""; }; + 29A8DE9E1EF0475E00AD2478 /* EditorialGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EditorialGroup.cpp; sourceTree = ""; }; + 29A8DE9F1EF0475E00AD2478 /* EditorialGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EditorialGroup.h; sourceTree = ""; }; + 29A8DEA01EF0475E00AD2478 /* EditorialVoiceDirectionGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EditorialVoiceDirectionGroup.cpp; sourceTree = ""; }; + 29A8DEA11EF0475E00AD2478 /* EditorialVoiceDirectionGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EditorialVoiceDirectionGroup.h; sourceTree = ""; }; + 29A8DEA21EF0475E00AD2478 /* EditorialVoiceGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EditorialVoiceGroup.cpp; sourceTree = ""; }; + 29A8DEA31EF0475E00AD2478 /* EditorialVoiceGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EditorialVoiceGroup.h; sourceTree = ""; }; + 29A8DEA41EF0475E00AD2478 /* Effect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Effect.cpp; sourceTree = ""; }; + 29A8DEA51EF0475E00AD2478 /* Effect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Effect.h; sourceTree = ""; }; + 29A8DEA61EF0475E00AD2478 /* Elevation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Elevation.cpp; sourceTree = ""; }; + 29A8DEA71EF0475E00AD2478 /* Elevation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Elevation.h; sourceTree = ""; }; + 29A8DEA81EF0475E00AD2478 /* Elision.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Elision.cpp; sourceTree = ""; }; + 29A8DEA91EF0475E00AD2478 /* Elision.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Elision.h; sourceTree = ""; }; + 29A8DEAA1EF0475E00AD2478 /* ElisionAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ElisionAttributes.cpp; sourceTree = ""; }; + 29A8DEAB1EF0475E00AD2478 /* ElisionAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ElisionAttributes.h; sourceTree = ""; }; + 29A8DEAC1EF0475E00AD2478 /* ElisionSyllabicGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ElisionSyllabicGroup.cpp; sourceTree = ""; }; + 29A8DEAD1EF0475E00AD2478 /* ElisionSyllabicGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ElisionSyllabicGroup.h; sourceTree = ""; }; + 29A8DEAE1EF0475E00AD2478 /* ElisionSyllabicTextGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ElisionSyllabicTextGroup.cpp; sourceTree = ""; }; + 29A8DEAF1EF0475E00AD2478 /* ElisionSyllabicTextGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ElisionSyllabicTextGroup.h; sourceTree = ""; }; + 29A8DEB01EF0475E00AD2478 /* EmptyFontAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EmptyFontAttributes.cpp; sourceTree = ""; }; + 29A8DEB11EF0475E00AD2478 /* EmptyFontAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EmptyFontAttributes.h; sourceTree = ""; }; + 29A8DEB21EF0475E00AD2478 /* EmptyLineAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EmptyLineAttributes.cpp; sourceTree = ""; }; + 29A8DEB31EF0475E00AD2478 /* EmptyLineAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EmptyLineAttributes.h; sourceTree = ""; }; + 29A8DEB41EF0475E00AD2478 /* EmptyPlacementAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EmptyPlacementAttributes.cpp; sourceTree = ""; }; + 29A8DEB51EF0475E00AD2478 /* EmptyPlacementAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EmptyPlacementAttributes.h; sourceTree = ""; }; + 29A8DEB61EF0475E00AD2478 /* EmptyTrillSoundAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EmptyTrillSoundAttributes.cpp; sourceTree = ""; }; + 29A8DEB71EF0475E00AD2478 /* EmptyTrillSoundAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EmptyTrillSoundAttributes.h; sourceTree = ""; }; + 29A8DEB81EF0475E00AD2478 /* Encoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Encoder.cpp; sourceTree = ""; }; + 29A8DEB91EF0475E00AD2478 /* Encoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Encoder.h; sourceTree = ""; }; + 29A8DEBA1EF0475E00AD2478 /* EncoderAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EncoderAttributes.cpp; sourceTree = ""; }; + 29A8DEBB1EF0475E00AD2478 /* EncoderAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EncoderAttributes.h; sourceTree = ""; }; + 29A8DEBC1EF0475E00AD2478 /* Encoding.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Encoding.cpp; sourceTree = ""; }; + 29A8DEBD1EF0475E00AD2478 /* Encoding.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Encoding.h; sourceTree = ""; }; + 29A8DEBE1EF0475E00AD2478 /* EncodingChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EncodingChoice.cpp; sourceTree = ""; }; + 29A8DEBF1EF0475E00AD2478 /* EncodingChoice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EncodingChoice.h; sourceTree = ""; }; + 29A8DEC01EF0475E00AD2478 /* EncodingDate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EncodingDate.cpp; sourceTree = ""; }; + 29A8DEC11EF0475E00AD2478 /* EncodingDate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EncodingDate.h; sourceTree = ""; }; + 29A8DEC21EF0475E00AD2478 /* EncodingDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EncodingDescription.cpp; sourceTree = ""; }; + 29A8DEC31EF0475E00AD2478 /* EncodingDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EncodingDescription.h; sourceTree = ""; }; + 29A8DEC41EF0475E00AD2478 /* Ending.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Ending.cpp; sourceTree = ""; }; + 29A8DEC51EF0475E00AD2478 /* Ending.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Ending.h; sourceTree = ""; }; + 29A8DEC61EF0475E00AD2478 /* EndingAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EndingAttributes.cpp; sourceTree = ""; }; + 29A8DEC71EF0475E00AD2478 /* EndingAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EndingAttributes.h; sourceTree = ""; }; + 29A8DEC81EF0475E00AD2478 /* EndLine.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EndLine.cpp; sourceTree = ""; }; + 29A8DEC91EF0475E00AD2478 /* EndLine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EndLine.h; sourceTree = ""; }; + 29A8DECA1EF0475E00AD2478 /* EndParagraph.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EndParagraph.cpp; sourceTree = ""; }; + 29A8DECB1EF0475E00AD2478 /* EndParagraph.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EndParagraph.h; sourceTree = ""; }; + 29A8DECC1EF0475E00AD2478 /* Ensemble.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Ensemble.cpp; sourceTree = ""; }; + 29A8DECD1EF0475E00AD2478 /* Ensemble.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Ensemble.h; sourceTree = ""; }; + 29A8DECE1EF0475E00AD2478 /* Extend.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Extend.cpp; sourceTree = ""; }; + 29A8DECF1EF0475E00AD2478 /* Extend.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Extend.h; sourceTree = ""; }; + 29A8DED01EF0475E00AD2478 /* ExtendAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExtendAttributes.cpp; sourceTree = ""; }; + 29A8DED11EF0475E00AD2478 /* ExtendAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExtendAttributes.h; sourceTree = ""; }; + 29A8DED21EF0475E00AD2478 /* Eyeglasses.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Eyeglasses.cpp; sourceTree = ""; }; + 29A8DED31EF0475E00AD2478 /* Eyeglasses.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Eyeglasses.h; sourceTree = ""; }; + 29A8DED41EF0475E00AD2478 /* Falloff.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Falloff.cpp; sourceTree = ""; }; + 29A8DED51EF0475E00AD2478 /* Falloff.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Falloff.h; sourceTree = ""; }; + 29A8DED61EF0475E00AD2478 /* Feature.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Feature.cpp; sourceTree = ""; }; + 29A8DED71EF0475E00AD2478 /* Feature.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Feature.h; sourceTree = ""; }; + 29A8DED81EF0475E00AD2478 /* FeatureAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FeatureAttributes.cpp; sourceTree = ""; }; + 29A8DED91EF0475E00AD2478 /* FeatureAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FeatureAttributes.h; sourceTree = ""; }; + 29A8DEDA1EF0475E00AD2478 /* Fermata.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Fermata.cpp; sourceTree = ""; }; + 29A8DEDB1EF0475E00AD2478 /* Fermata.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Fermata.h; sourceTree = ""; }; + 29A8DEDC1EF0475E00AD2478 /* FermataAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FermataAttributes.cpp; sourceTree = ""; }; + 29A8DEDD1EF0475E00AD2478 /* FermataAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FermataAttributes.h; sourceTree = ""; }; + 29A8DEDE1EF0475E00AD2478 /* Fifths.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Fifths.cpp; sourceTree = ""; }; + 29A8DEDF1EF0475E00AD2478 /* Fifths.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Fifths.h; sourceTree = ""; }; + 29A8DEE01EF0475E00AD2478 /* Figure.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Figure.cpp; sourceTree = ""; }; + 29A8DEE11EF0475E00AD2478 /* Figure.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Figure.h; sourceTree = ""; }; + 29A8DEE21EF0475E00AD2478 /* FiguredBass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FiguredBass.cpp; sourceTree = ""; }; + 29A8DEE31EF0475E00AD2478 /* FiguredBass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FiguredBass.h; sourceTree = ""; }; + 29A8DEE41EF0475E00AD2478 /* FiguredBassAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FiguredBassAttributes.cpp; sourceTree = ""; }; + 29A8DEE51EF0475E00AD2478 /* FiguredBassAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FiguredBassAttributes.h; sourceTree = ""; }; + 29A8DEE61EF0475E00AD2478 /* FigureNumber.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FigureNumber.cpp; sourceTree = ""; }; + 29A8DEE71EF0475E00AD2478 /* FigureNumber.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FigureNumber.h; sourceTree = ""; }; + 29A8DEE81EF0475E00AD2478 /* FigureNumberAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FigureNumberAttributes.cpp; sourceTree = ""; }; + 29A8DEE91EF0475E00AD2478 /* FigureNumberAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FigureNumberAttributes.h; sourceTree = ""; }; + 29A8DEEA1EF0475E00AD2478 /* Fingering.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Fingering.cpp; sourceTree = ""; }; + 29A8DEEB1EF0475E00AD2478 /* Fingering.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Fingering.h; sourceTree = ""; }; + 29A8DEEC1EF0475E00AD2478 /* FingeringAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FingeringAttributes.cpp; sourceTree = ""; }; + 29A8DEED1EF0475E00AD2478 /* FingeringAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FingeringAttributes.h; sourceTree = ""; }; + 29A8DEEE1EF0475E00AD2478 /* Fingernails.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Fingernails.cpp; sourceTree = ""; }; + 29A8DEEF1EF0475E00AD2478 /* Fingernails.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Fingernails.h; sourceTree = ""; }; + 29A8DEF01EF0475E00AD2478 /* FirstFret.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FirstFret.cpp; sourceTree = ""; }; + 29A8DEF11EF0475E00AD2478 /* FirstFret.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FirstFret.h; sourceTree = ""; }; + 29A8DEF21EF0475E00AD2478 /* FirstFretAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FirstFretAttributes.cpp; sourceTree = ""; }; + 29A8DEF31EF0475E00AD2478 /* FirstFretAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FirstFretAttributes.h; sourceTree = ""; }; + 29A8DEF41EF0475E00AD2478 /* Footnote.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Footnote.cpp; sourceTree = ""; }; + 29A8DEF51EF0475E00AD2478 /* Footnote.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Footnote.h; sourceTree = ""; }; + 29A8DEF61EF0475E00AD2478 /* FootnoteAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FootnoteAttributes.cpp; sourceTree = ""; }; + 29A8DEF71EF0475E00AD2478 /* FootnoteAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FootnoteAttributes.h; sourceTree = ""; }; + 29A8DEF81EF0475E00AD2478 /* Forward.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Forward.cpp; sourceTree = ""; }; + 29A8DEF91EF0475E00AD2478 /* Forward.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Forward.h; sourceTree = ""; }; + 29A8DEFA1EF0475E00AD2478 /* Frame.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Frame.cpp; sourceTree = ""; }; + 29A8DEFB1EF0475E00AD2478 /* Frame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Frame.h; sourceTree = ""; }; + 29A8DEFC1EF0475E00AD2478 /* FrameAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FrameAttributes.cpp; sourceTree = ""; }; + 29A8DEFD1EF0475E00AD2478 /* FrameAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FrameAttributes.h; sourceTree = ""; }; + 29A8DEFE1EF0475E00AD2478 /* FrameFrets.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FrameFrets.cpp; sourceTree = ""; }; + 29A8DEFF1EF0475E00AD2478 /* FrameFrets.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FrameFrets.h; sourceTree = ""; }; + 29A8DF001EF0475E00AD2478 /* FrameNote.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FrameNote.cpp; sourceTree = ""; }; + 29A8DF011EF0475E00AD2478 /* FrameNote.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FrameNote.h; sourceTree = ""; }; + 29A8DF021EF0475E00AD2478 /* FrameStrings.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FrameStrings.cpp; sourceTree = ""; }; + 29A8DF031EF0475E00AD2478 /* FrameStrings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FrameStrings.h; sourceTree = ""; }; + 29A8DF041EF0475E00AD2478 /* Fret.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Fret.cpp; sourceTree = ""; }; + 29A8DF051EF0475E00AD2478 /* Fret.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Fret.h; sourceTree = ""; }; + 29A8DF061EF0475E00AD2478 /* FretAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FretAttributes.cpp; sourceTree = ""; }; + 29A8DF071EF0475E00AD2478 /* FretAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FretAttributes.h; sourceTree = ""; }; + 29A8DF081EF0475E00AD2478 /* FullNoteGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FullNoteGroup.cpp; sourceTree = ""; }; + 29A8DF091EF0475E00AD2478 /* FullNoteGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FullNoteGroup.h; sourceTree = ""; }; + 29A8DF0A1EF0475E00AD2478 /* FullNoteTypeChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FullNoteTypeChoice.cpp; sourceTree = ""; }; + 29A8DF0B1EF0475E00AD2478 /* FullNoteTypeChoice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FullNoteTypeChoice.h; sourceTree = ""; }; + 29A8DF0C1EF0475E00AD2478 /* Function.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Function.cpp; sourceTree = ""; }; + 29A8DF0D1EF0475E00AD2478 /* Function.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Function.h; sourceTree = ""; }; + 29A8DF0E1EF0475E00AD2478 /* FunctionAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FunctionAttributes.cpp; sourceTree = ""; }; + 29A8DF0F1EF0475E00AD2478 /* FunctionAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FunctionAttributes.h; sourceTree = ""; }; + 29A8DF101EF0475E00AD2478 /* Glass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Glass.cpp; sourceTree = ""; }; + 29A8DF111EF0475E00AD2478 /* Glass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Glass.h; sourceTree = ""; }; + 29A8DF121EF0475E00AD2478 /* Glissando.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Glissando.cpp; sourceTree = ""; }; + 29A8DF131EF0475E00AD2478 /* Glissando.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Glissando.h; sourceTree = ""; }; + 29A8DF141EF0475E00AD2478 /* GlissandoAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GlissandoAttributes.cpp; sourceTree = ""; }; + 29A8DF151EF0475E00AD2478 /* GlissandoAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GlissandoAttributes.h; sourceTree = ""; }; + 29A8DF161EF0475E00AD2478 /* Grace.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Grace.cpp; sourceTree = ""; }; + 29A8DF171EF0475E00AD2478 /* Grace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Grace.h; sourceTree = ""; }; + 29A8DF181EF0475E00AD2478 /* GraceAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GraceAttributes.cpp; sourceTree = ""; }; + 29A8DF191EF0475E00AD2478 /* GraceAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GraceAttributes.h; sourceTree = ""; }; + 29A8DF1A1EF0475E00AD2478 /* GraceNoteGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GraceNoteGroup.cpp; sourceTree = ""; }; + 29A8DF1B1EF0475E00AD2478 /* GraceNoteGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GraceNoteGroup.h; sourceTree = ""; }; + 29A8DF1C1EF0475E00AD2478 /* Group.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Group.cpp; sourceTree = ""; }; + 29A8DF1D1EF0475E00AD2478 /* Group.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Group.h; sourceTree = ""; }; + 29A8DF1E1EF0475E00AD2478 /* GroupAbbreviation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GroupAbbreviation.cpp; sourceTree = ""; }; + 29A8DF1F1EF0475E00AD2478 /* GroupAbbreviation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GroupAbbreviation.h; sourceTree = ""; }; + 29A8DF201EF0475E00AD2478 /* GroupAbbreviationAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GroupAbbreviationAttributes.cpp; sourceTree = ""; }; + 29A8DF211EF0475E00AD2478 /* GroupAbbreviationAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GroupAbbreviationAttributes.h; sourceTree = ""; }; + 29A8DF221EF0475E00AD2478 /* GroupAbbreviationDisplay.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GroupAbbreviationDisplay.cpp; sourceTree = ""; }; + 29A8DF231EF0475E00AD2478 /* GroupAbbreviationDisplay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GroupAbbreviationDisplay.h; sourceTree = ""; }; + 29A8DF241EF0475E00AD2478 /* GroupAbbreviationDisplayAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GroupAbbreviationDisplayAttributes.cpp; sourceTree = ""; }; + 29A8DF251EF0475E00AD2478 /* GroupAbbreviationDisplayAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GroupAbbreviationDisplayAttributes.h; sourceTree = ""; }; + 29A8DF261EF0475E00AD2478 /* GroupBarline.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GroupBarline.cpp; sourceTree = ""; }; + 29A8DF271EF0475E00AD2478 /* GroupBarline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GroupBarline.h; sourceTree = ""; }; + 29A8DF281EF0475E00AD2478 /* GroupBarlineAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GroupBarlineAttributes.cpp; sourceTree = ""; }; + 29A8DF291EF0475E00AD2478 /* GroupBarlineAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GroupBarlineAttributes.h; sourceTree = ""; }; + 29A8DF2A1EF0475E00AD2478 /* Grouping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Grouping.cpp; sourceTree = ""; }; + 29A8DF2B1EF0475E00AD2478 /* Grouping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Grouping.h; sourceTree = ""; }; + 29A8DF2C1EF0475E00AD2478 /* GroupingAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GroupingAttributes.cpp; sourceTree = ""; }; + 29A8DF2D1EF0475E00AD2478 /* GroupingAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GroupingAttributes.h; sourceTree = ""; }; + 29A8DF2E1EF0475E00AD2478 /* GroupName.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GroupName.cpp; sourceTree = ""; }; + 29A8DF2F1EF0475E00AD2478 /* GroupName.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GroupName.h; sourceTree = ""; }; + 29A8DF301EF0475E00AD2478 /* GroupNameAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GroupNameAttributes.cpp; sourceTree = ""; }; + 29A8DF311EF0475E00AD2478 /* GroupNameAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GroupNameAttributes.h; sourceTree = ""; }; + 29A8DF321EF0475E00AD2478 /* GroupNameDisplay.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GroupNameDisplay.cpp; sourceTree = ""; }; + 29A8DF331EF0475E00AD2478 /* GroupNameDisplay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GroupNameDisplay.h; sourceTree = ""; }; + 29A8DF341EF0475E00AD2478 /* GroupNameDisplayAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GroupNameDisplayAttributes.cpp; sourceTree = ""; }; + 29A8DF351EF0475E00AD2478 /* GroupNameDisplayAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GroupNameDisplayAttributes.h; sourceTree = ""; }; + 29A8DF361EF0475E00AD2478 /* GroupSymbol.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GroupSymbol.cpp; sourceTree = ""; }; + 29A8DF371EF0475E00AD2478 /* GroupSymbol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GroupSymbol.h; sourceTree = ""; }; + 29A8DF381EF0475E00AD2478 /* GroupSymbolAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GroupSymbolAttributes.cpp; sourceTree = ""; }; + 29A8DF391EF0475E00AD2478 /* GroupSymbolAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GroupSymbolAttributes.h; sourceTree = ""; }; + 29A8DF3A1EF0475E00AD2478 /* GroupTime.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GroupTime.cpp; sourceTree = ""; }; + 29A8DF3B1EF0475E00AD2478 /* GroupTime.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GroupTime.h; sourceTree = ""; }; + 29A8DF3C1EF0475E00AD2478 /* HammerOn.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HammerOn.cpp; sourceTree = ""; }; + 29A8DF3D1EF0475E00AD2478 /* HammerOn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HammerOn.h; sourceTree = ""; }; + 29A8DF3E1EF0475E00AD2478 /* HammerOnAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HammerOnAttributes.cpp; sourceTree = ""; }; + 29A8DF3F1EF0475E00AD2478 /* HammerOnAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HammerOnAttributes.h; sourceTree = ""; }; + 29A8DF401EF0475E00AD2478 /* Handbell.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Handbell.cpp; sourceTree = ""; }; + 29A8DF411EF0475E00AD2478 /* Handbell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Handbell.h; sourceTree = ""; }; + 29A8DF421EF0475E00AD2478 /* HandbellAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HandbellAttributes.cpp; sourceTree = ""; }; + 29A8DF431EF0475E00AD2478 /* HandbellAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HandbellAttributes.h; sourceTree = ""; }; + 29A8DF441EF0475E00AD2478 /* Harmonic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Harmonic.cpp; sourceTree = ""; }; + 29A8DF451EF0475E00AD2478 /* Harmonic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Harmonic.h; sourceTree = ""; }; + 29A8DF461EF0475E00AD2478 /* HarmonicAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HarmonicAttributes.cpp; sourceTree = ""; }; + 29A8DF471EF0475E00AD2478 /* HarmonicAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HarmonicAttributes.h; sourceTree = ""; }; + 29A8DF481EF0475E00AD2478 /* HarmonicInfoChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HarmonicInfoChoice.cpp; sourceTree = ""; }; + 29A8DF491EF0475E00AD2478 /* HarmonicInfoChoice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HarmonicInfoChoice.h; sourceTree = ""; }; + 29A8DF4A1EF0475E00AD2478 /* HarmonicTypeChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HarmonicTypeChoice.cpp; sourceTree = ""; }; + 29A8DF4B1EF0475E00AD2478 /* HarmonicTypeChoice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HarmonicTypeChoice.h; sourceTree = ""; }; + 29A8DF4C1EF0475E00AD2478 /* Harmony.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Harmony.cpp; sourceTree = ""; }; + 29A8DF4D1EF0475E00AD2478 /* Harmony.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Harmony.h; sourceTree = ""; }; + 29A8DF4E1EF0475E00AD2478 /* HarmonyAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HarmonyAttributes.cpp; sourceTree = ""; }; + 29A8DF4F1EF0475E00AD2478 /* HarmonyAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HarmonyAttributes.h; sourceTree = ""; }; + 29A8DF501EF0475E00AD2478 /* HarmonyChordGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HarmonyChordGroup.cpp; sourceTree = ""; }; + 29A8DF511EF0475E00AD2478 /* HarmonyChordGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HarmonyChordGroup.h; sourceTree = ""; }; + 29A8DF521EF0475E00AD2478 /* HarpPedals.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HarpPedals.cpp; sourceTree = ""; }; + 29A8DF531EF0475E00AD2478 /* HarpPedals.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HarpPedals.h; sourceTree = ""; }; + 29A8DF541EF0475E00AD2478 /* HarpPedalsAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HarpPedalsAttributes.cpp; sourceTree = ""; }; + 29A8DF551EF0475E00AD2478 /* HarpPedalsAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HarpPedalsAttributes.h; sourceTree = ""; }; + 29A8DF561EF0475E00AD2478 /* Heel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Heel.cpp; sourceTree = ""; }; + 29A8DF571EF0475E00AD2478 /* Heel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Heel.h; sourceTree = ""; }; + 29A8DF581EF0475E00AD2478 /* HeelAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HeelAttributes.cpp; sourceTree = ""; }; + 29A8DF591EF0475E00AD2478 /* HeelAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HeelAttributes.h; sourceTree = ""; }; + 29A8DF5A1EF0475E00AD2478 /* Hole.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Hole.cpp; sourceTree = ""; }; + 29A8DF5B1EF0475E00AD2478 /* Hole.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Hole.h; sourceTree = ""; }; + 29A8DF5C1EF0475E00AD2478 /* HoleAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HoleAttributes.cpp; sourceTree = ""; }; + 29A8DF5D1EF0475E00AD2478 /* HoleAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HoleAttributes.h; sourceTree = ""; }; + 29A8DF5E1EF0475E00AD2478 /* HoleClosed.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HoleClosed.cpp; sourceTree = ""; }; + 29A8DF5F1EF0475E00AD2478 /* HoleClosed.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HoleClosed.h; sourceTree = ""; }; + 29A8DF601EF0475E00AD2478 /* HoleClosedAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HoleClosedAttributes.cpp; sourceTree = ""; }; + 29A8DF611EF0475E00AD2478 /* HoleClosedAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HoleClosedAttributes.h; sourceTree = ""; }; + 29A8DF621EF0475E00AD2478 /* HoleShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HoleShape.cpp; sourceTree = ""; }; + 29A8DF631EF0475E00AD2478 /* HoleShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HoleShape.h; sourceTree = ""; }; + 29A8DF641EF0475E00AD2478 /* HoleType.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HoleType.cpp; sourceTree = ""; }; + 29A8DF651EF0475E00AD2478 /* HoleType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HoleType.h; sourceTree = ""; }; + 29A8DF661EF0475E00AD2478 /* Humming.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Humming.cpp; sourceTree = ""; }; + 29A8DF671EF0475E00AD2478 /* Humming.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Humming.h; sourceTree = ""; }; + 29A8DF681EF0475E00AD2478 /* Identification.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Identification.cpp; sourceTree = ""; }; + 29A8DF691EF0475E00AD2478 /* Identification.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Identification.h; sourceTree = ""; }; + 29A8DF6A1EF0475E00AD2478 /* Image.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Image.cpp; sourceTree = ""; }; + 29A8DF6B1EF0475E00AD2478 /* Image.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Image.h; sourceTree = ""; }; + 29A8DF6C1EF0475E00AD2478 /* ImageAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ImageAttributes.cpp; sourceTree = ""; }; + 29A8DF6D1EF0475E00AD2478 /* ImageAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageAttributes.h; sourceTree = ""; }; + 29A8DF6E1EF0475E00AD2478 /* Instrument.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Instrument.cpp; sourceTree = ""; }; + 29A8DF6F1EF0475E00AD2478 /* Instrument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Instrument.h; sourceTree = ""; }; + 29A8DF701EF0475E00AD2478 /* InstrumentAbbreviation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InstrumentAbbreviation.cpp; sourceTree = ""; }; + 29A8DF711EF0475E00AD2478 /* InstrumentAbbreviation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InstrumentAbbreviation.h; sourceTree = ""; }; + 29A8DF721EF0475E00AD2478 /* InstrumentAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InstrumentAttributes.cpp; sourceTree = ""; }; + 29A8DF731EF0475E00AD2478 /* InstrumentAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InstrumentAttributes.h; sourceTree = ""; }; + 29A8DF741EF0475E00AD2478 /* InstrumentName.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InstrumentName.cpp; sourceTree = ""; }; + 29A8DF751EF0475E00AD2478 /* InstrumentName.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InstrumentName.h; sourceTree = ""; }; + 29A8DF761EF0475E00AD2478 /* Instruments.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Instruments.cpp; sourceTree = ""; }; + 29A8DF771EF0475E00AD2478 /* Instruments.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Instruments.h; sourceTree = ""; }; + 29A8DF781EF0475E00AD2478 /* InstrumentSound.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InstrumentSound.cpp; sourceTree = ""; }; + 29A8DF791EF0475E00AD2478 /* InstrumentSound.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InstrumentSound.h; sourceTree = ""; }; + 29A8DF7A1EF0475E00AD2478 /* Interchangeable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Interchangeable.cpp; sourceTree = ""; }; + 29A8DF7B1EF0475E00AD2478 /* Interchangeable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Interchangeable.h; sourceTree = ""; }; + 29A8DF7C1EF0475E00AD2478 /* InterchangeableAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InterchangeableAttributes.cpp; sourceTree = ""; }; + 29A8DF7D1EF0475E00AD2478 /* InterchangeableAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InterchangeableAttributes.h; sourceTree = ""; }; + 29A8DF7E1EF0475E00AD2478 /* Inversion.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Inversion.cpp; sourceTree = ""; }; + 29A8DF7F1EF0475E00AD2478 /* Inversion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Inversion.h; sourceTree = ""; }; + 29A8DF801EF0475E00AD2478 /* InversionAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InversionAttributes.cpp; sourceTree = ""; }; + 29A8DF811EF0475E00AD2478 /* InversionAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InversionAttributes.h; sourceTree = ""; }; + 29A8DF821EF0475E00AD2478 /* InvertedMordent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InvertedMordent.cpp; sourceTree = ""; }; + 29A8DF831EF0475E00AD2478 /* InvertedMordent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InvertedMordent.h; sourceTree = ""; }; + 29A8DF841EF0475E00AD2478 /* InvertedMordentAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InvertedMordentAttributes.cpp; sourceTree = ""; }; + 29A8DF851EF0475E00AD2478 /* InvertedMordentAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InvertedMordentAttributes.h; sourceTree = ""; }; + 29A8DF861EF0475E00AD2478 /* InvertedTurn.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InvertedTurn.cpp; sourceTree = ""; }; + 29A8DF871EF0475E00AD2478 /* InvertedTurn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InvertedTurn.h; sourceTree = ""; }; + 29A8DF881EF0475E00AD2478 /* InvertedTurnAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InvertedTurnAttributes.cpp; sourceTree = ""; }; + 29A8DF891EF0475E00AD2478 /* InvertedTurnAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InvertedTurnAttributes.h; sourceTree = ""; }; + 29A8DF8A1EF0475E00AD2478 /* Ipa.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Ipa.cpp; sourceTree = ""; }; + 29A8DF8B1EF0475E00AD2478 /* Ipa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Ipa.h; sourceTree = ""; }; + 29A8DF8C1EF0475E00AD2478 /* Key.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Key.cpp; sourceTree = ""; }; + 29A8DF8D1EF0475E00AD2478 /* Key.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Key.h; sourceTree = ""; }; + 29A8DF8E1EF0475E00AD2478 /* KeyAccidental.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = KeyAccidental.cpp; sourceTree = ""; }; + 29A8DF8F1EF0475E00AD2478 /* KeyAccidental.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KeyAccidental.h; sourceTree = ""; }; + 29A8DF901EF0475E00AD2478 /* KeyAlter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = KeyAlter.cpp; sourceTree = ""; }; + 29A8DF911EF0475E00AD2478 /* KeyAlter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KeyAlter.h; sourceTree = ""; }; + 29A8DF921EF0475E00AD2478 /* KeyAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = KeyAttributes.cpp; sourceTree = ""; }; + 29A8DF931EF0475E00AD2478 /* KeyAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KeyAttributes.h; sourceTree = ""; }; + 29A8DF941EF0475E00AD2478 /* KeyChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = KeyChoice.cpp; sourceTree = ""; }; + 29A8DF951EF0475E00AD2478 /* KeyChoice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KeyChoice.h; sourceTree = ""; }; + 29A8DF961EF0475E00AD2478 /* KeyOctave.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = KeyOctave.cpp; sourceTree = ""; }; + 29A8DF971EF0475E00AD2478 /* KeyOctave.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KeyOctave.h; sourceTree = ""; }; + 29A8DF981EF0475E00AD2478 /* KeyOctaveAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = KeyOctaveAttributes.cpp; sourceTree = ""; }; + 29A8DF991EF0475E00AD2478 /* KeyOctaveAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KeyOctaveAttributes.h; sourceTree = ""; }; + 29A8DF9A1EF0475E00AD2478 /* KeyStep.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = KeyStep.cpp; sourceTree = ""; }; + 29A8DF9B1EF0475E00AD2478 /* KeyStep.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KeyStep.h; sourceTree = ""; }; + 29A8DF9C1EF0475E00AD2478 /* Kind.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Kind.cpp; sourceTree = ""; }; + 29A8DF9D1EF0475E00AD2478 /* Kind.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Kind.h; sourceTree = ""; }; + 29A8DF9E1EF0475E00AD2478 /* KindAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = KindAttributes.cpp; sourceTree = ""; }; + 29A8DF9F1EF0475E00AD2478 /* KindAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KindAttributes.h; sourceTree = ""; }; + 29A8DFA01EF0475E00AD2478 /* Laughing.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Laughing.cpp; sourceTree = ""; }; + 29A8DFA11EF0475E00AD2478 /* Laughing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Laughing.h; sourceTree = ""; }; + 29A8DFA21EF0475E00AD2478 /* LayoutGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LayoutGroup.cpp; sourceTree = ""; }; + 29A8DFA31EF0475E00AD2478 /* LayoutGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LayoutGroup.h; sourceTree = ""; }; + 29A8DFA41EF0475E00AD2478 /* LeftDivider.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LeftDivider.cpp; sourceTree = ""; }; + 29A8DFA51EF0475E00AD2478 /* LeftDivider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LeftDivider.h; sourceTree = ""; }; + 29A8DFA61EF0475E00AD2478 /* LeftMargin.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LeftMargin.cpp; sourceTree = ""; }; + 29A8DFA71EF0475E00AD2478 /* LeftMargin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LeftMargin.h; sourceTree = ""; }; + 29A8DFA81EF0475E00AD2478 /* Level.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Level.cpp; sourceTree = ""; }; + 29A8DFA91EF0475E00AD2478 /* Level.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Level.h; sourceTree = ""; }; + 29A8DFAA1EF0475E00AD2478 /* LevelAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LevelAttributes.cpp; sourceTree = ""; }; + 29A8DFAB1EF0475E00AD2478 /* LevelAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LevelAttributes.h; sourceTree = ""; }; + 29A8DFAC1EF0475E00AD2478 /* Line.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Line.cpp; sourceTree = ""; }; + 29A8DFAD1EF0475E00AD2478 /* Line.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Line.h; sourceTree = ""; }; + 29A8DFAE1EF0475E00AD2478 /* LineWidth.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LineWidth.cpp; sourceTree = ""; }; + 29A8DFAF1EF0475E00AD2478 /* LineWidth.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LineWidth.h; sourceTree = ""; }; + 29A8DFB01EF0475E00AD2478 /* LineWidthAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LineWidthAttributes.cpp; sourceTree = ""; }; + 29A8DFB11EF0475E00AD2478 /* LineWidthAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LineWidthAttributes.h; sourceTree = ""; }; + 29A8DFB21EF0475E00AD2478 /* Link.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Link.cpp; sourceTree = ""; }; + 29A8DFB31EF0475E00AD2478 /* Link.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Link.h; sourceTree = ""; }; + 29A8DFB41EF0475E00AD2478 /* LinkAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LinkAttributes.cpp; sourceTree = ""; }; + 29A8DFB51EF0475E00AD2478 /* LinkAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LinkAttributes.h; sourceTree = ""; }; + 29A8DFB61EF0475E00AD2478 /* Lyric.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Lyric.cpp; sourceTree = ""; }; + 29A8DFB71EF0475E00AD2478 /* Lyric.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Lyric.h; sourceTree = ""; }; + 29A8DFB81EF0475E00AD2478 /* LyricAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LyricAttributes.cpp; sourceTree = ""; }; + 29A8DFB91EF0475E00AD2478 /* LyricAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LyricAttributes.h; sourceTree = ""; }; + 29A8DFBA1EF0475E00AD2478 /* LyricFont.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LyricFont.cpp; sourceTree = ""; }; + 29A8DFBB1EF0475E00AD2478 /* LyricFont.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LyricFont.h; sourceTree = ""; }; + 29A8DFBC1EF0475E00AD2478 /* LyricFontAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LyricFontAttributes.cpp; sourceTree = ""; }; + 29A8DFBD1EF0475E00AD2478 /* LyricFontAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LyricFontAttributes.h; sourceTree = ""; }; + 29A8DFBE1EF0475E00AD2478 /* LyricLanguage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LyricLanguage.cpp; sourceTree = ""; }; + 29A8DFBF1EF0475E00AD2478 /* LyricLanguage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LyricLanguage.h; sourceTree = ""; }; + 29A8DFC01EF0475E00AD2478 /* LyricLanguageAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LyricLanguageAttributes.cpp; sourceTree = ""; }; + 29A8DFC11EF0475E00AD2478 /* LyricLanguageAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LyricLanguageAttributes.h; sourceTree = ""; }; + 29A8DFC21EF0475E00AD2478 /* LyricTextChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LyricTextChoice.cpp; sourceTree = ""; }; + 29A8DFC31EF0475E00AD2478 /* LyricTextChoice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LyricTextChoice.h; sourceTree = ""; }; + 29A8DFC41EF0475E00AD2478 /* MeasureAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MeasureAttributes.cpp; sourceTree = ""; }; + 29A8DFC51EF0475E00AD2478 /* MeasureAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MeasureAttributes.h; sourceTree = ""; }; + 29A8DFC61EF0475E00AD2478 /* MeasureDistance.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MeasureDistance.cpp; sourceTree = ""; }; + 29A8DFC71EF0475E00AD2478 /* MeasureDistance.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MeasureDistance.h; sourceTree = ""; }; + 29A8DFC81EF0475E00AD2478 /* MeasureLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MeasureLayout.cpp; sourceTree = ""; }; + 29A8DFC91EF0475F00AD2478 /* MeasureLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MeasureLayout.h; sourceTree = ""; }; + 29A8DFCA1EF0475F00AD2478 /* MeasureNumbering.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MeasureNumbering.cpp; sourceTree = ""; }; + 29A8DFCB1EF0475F00AD2478 /* MeasureNumbering.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MeasureNumbering.h; sourceTree = ""; }; + 29A8DFCC1EF0475F00AD2478 /* MeasureNumberingAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MeasureNumberingAttributes.cpp; sourceTree = ""; }; + 29A8DFCD1EF0475F00AD2478 /* MeasureNumberingAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MeasureNumberingAttributes.h; sourceTree = ""; }; + 29A8DFCE1EF0475F00AD2478 /* MeasureRepeat.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MeasureRepeat.cpp; sourceTree = ""; }; + 29A8DFCF1EF0475F00AD2478 /* MeasureRepeat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MeasureRepeat.h; sourceTree = ""; }; + 29A8DFD01EF0475F00AD2478 /* MeasureRepeatAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MeasureRepeatAttributes.cpp; sourceTree = ""; }; + 29A8DFD11EF0475F00AD2478 /* MeasureRepeatAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MeasureRepeatAttributes.h; sourceTree = ""; }; + 29A8DFD21EF0475F00AD2478 /* MeasureStyle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MeasureStyle.cpp; sourceTree = ""; }; + 29A8DFD31EF0475F00AD2478 /* MeasureStyle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MeasureStyle.h; sourceTree = ""; }; + 29A8DFD41EF0475F00AD2478 /* MeasureStyleAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MeasureStyleAttributes.cpp; sourceTree = ""; }; + 29A8DFD51EF0475F00AD2478 /* MeasureStyleAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MeasureStyleAttributes.h; sourceTree = ""; }; + 29A8DFD61EF0475F00AD2478 /* MeasureStyleChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MeasureStyleChoice.cpp; sourceTree = ""; }; + 29A8DFD71EF0475F00AD2478 /* MeasureStyleChoice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MeasureStyleChoice.h; sourceTree = ""; }; + 29A8DFD81EF0475F00AD2478 /* Membrane.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Membrane.cpp; sourceTree = ""; }; + 29A8DFD91EF0475F00AD2478 /* Membrane.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Membrane.h; sourceTree = ""; }; + 29A8DFDA1EF0475F00AD2478 /* Metal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Metal.cpp; sourceTree = ""; }; + 29A8DFDB1EF0475F00AD2478 /* Metal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Metal.h; sourceTree = ""; }; + 29A8DFDC1EF0475F00AD2478 /* Metronome.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Metronome.cpp; sourceTree = ""; }; + 29A8DFDD1EF0475F00AD2478 /* Metronome.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Metronome.h; sourceTree = ""; }; + 29A8DFDE1EF0475F00AD2478 /* MetronomeAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MetronomeAttributes.cpp; sourceTree = ""; }; + 29A8DFDF1EF0475F00AD2478 /* MetronomeAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MetronomeAttributes.h; sourceTree = ""; }; + 29A8DFE01EF0475F00AD2478 /* MetronomeBeam.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MetronomeBeam.cpp; sourceTree = ""; }; + 29A8DFE11EF0475F00AD2478 /* MetronomeBeam.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MetronomeBeam.h; sourceTree = ""; }; + 29A8DFE21EF0475F00AD2478 /* MetronomeBeamAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MetronomeBeamAttributes.cpp; sourceTree = ""; }; + 29A8DFE31EF0475F00AD2478 /* MetronomeBeamAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MetronomeBeamAttributes.h; sourceTree = ""; }; + 29A8DFE41EF0475F00AD2478 /* MetronomeDot.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MetronomeDot.cpp; sourceTree = ""; }; + 29A8DFE51EF0475F00AD2478 /* MetronomeDot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MetronomeDot.h; sourceTree = ""; }; + 29A8DFE61EF0475F00AD2478 /* MetronomeNote.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MetronomeNote.cpp; sourceTree = ""; }; + 29A8DFE71EF0475F00AD2478 /* MetronomeNote.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MetronomeNote.h; sourceTree = ""; }; + 29A8DFE81EF0475F00AD2478 /* MetronomeRelation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MetronomeRelation.cpp; sourceTree = ""; }; + 29A8DFE91EF0475F00AD2478 /* MetronomeRelation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MetronomeRelation.h; sourceTree = ""; }; + 29A8DFEA1EF0475F00AD2478 /* MetronomeRelationGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MetronomeRelationGroup.cpp; sourceTree = ""; }; + 29A8DFEB1EF0475F00AD2478 /* MetronomeRelationGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MetronomeRelationGroup.h; sourceTree = ""; }; + 29A8DFEC1EF0475F00AD2478 /* MetronomeTuplet.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MetronomeTuplet.cpp; sourceTree = ""; }; + 29A8DFED1EF0475F00AD2478 /* MetronomeTuplet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MetronomeTuplet.h; sourceTree = ""; }; + 29A8DFEE1EF0475F00AD2478 /* MetronomeTupletAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MetronomeTupletAttributes.cpp; sourceTree = ""; }; + 29A8DFEF1EF0475F00AD2478 /* MetronomeTupletAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MetronomeTupletAttributes.h; sourceTree = ""; }; + 29A8DFF01EF0475F00AD2478 /* MetronomeType.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MetronomeType.cpp; sourceTree = ""; }; + 29A8DFF11EF0475F00AD2478 /* MetronomeType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MetronomeType.h; sourceTree = ""; }; + 29A8DFF21EF0475F00AD2478 /* MidiBank.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MidiBank.cpp; sourceTree = ""; }; + 29A8DFF31EF0475F00AD2478 /* MidiBank.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MidiBank.h; sourceTree = ""; }; + 29A8DFF41EF0475F00AD2478 /* MidiChannel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MidiChannel.cpp; sourceTree = ""; }; + 29A8DFF51EF0475F00AD2478 /* MidiChannel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MidiChannel.h; sourceTree = ""; }; + 29A8DFF61EF0475F00AD2478 /* MidiDevice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MidiDevice.cpp; sourceTree = ""; }; + 29A8DFF71EF0475F00AD2478 /* MidiDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MidiDevice.h; sourceTree = ""; }; + 29A8DFF81EF0475F00AD2478 /* MidiDeviceAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MidiDeviceAttributes.cpp; sourceTree = ""; }; + 29A8DFF91EF0475F00AD2478 /* MidiDeviceAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MidiDeviceAttributes.h; sourceTree = ""; }; + 29A8DFFA1EF0475F00AD2478 /* MidiDeviceInstrumentGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MidiDeviceInstrumentGroup.cpp; sourceTree = ""; }; + 29A8DFFB1EF0475F00AD2478 /* MidiDeviceInstrumentGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MidiDeviceInstrumentGroup.h; sourceTree = ""; }; + 29A8DFFC1EF0475F00AD2478 /* MidiInstrument.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MidiInstrument.cpp; sourceTree = ""; }; + 29A8DFFD1EF0475F00AD2478 /* MidiInstrument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MidiInstrument.h; sourceTree = ""; }; + 29A8DFFE1EF0475F00AD2478 /* MidiInstrumentAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MidiInstrumentAttributes.cpp; sourceTree = ""; }; + 29A8DFFF1EF0475F00AD2478 /* MidiInstrumentAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MidiInstrumentAttributes.h; sourceTree = ""; }; + 29A8E0001EF0475F00AD2478 /* MidiName.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MidiName.cpp; sourceTree = ""; }; + 29A8E0011EF0475F00AD2478 /* MidiName.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MidiName.h; sourceTree = ""; }; + 29A8E0021EF0475F00AD2478 /* MidiProgram.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MidiProgram.cpp; sourceTree = ""; }; + 29A8E0031EF0475F00AD2478 /* MidiProgram.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MidiProgram.h; sourceTree = ""; }; + 29A8E0041EF0475F00AD2478 /* MidiUnpitched.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MidiUnpitched.cpp; sourceTree = ""; }; + 29A8E0051EF0475F00AD2478 /* MidiUnpitched.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MidiUnpitched.h; sourceTree = ""; }; + 29A8E0061EF0475F00AD2478 /* Millimeters.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Millimeters.cpp; sourceTree = ""; }; + 29A8E0071EF0475F00AD2478 /* Millimeters.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Millimeters.h; sourceTree = ""; }; + 29A8E0081EF0475F00AD2478 /* Miscellaneous.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Miscellaneous.cpp; sourceTree = ""; }; + 29A8E0091EF0475F00AD2478 /* Miscellaneous.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Miscellaneous.h; sourceTree = ""; }; + 29A8E00A1EF0475F00AD2478 /* MiscellaneousField.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MiscellaneousField.cpp; sourceTree = ""; }; + 29A8E00B1EF0475F00AD2478 /* MiscellaneousField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MiscellaneousField.h; sourceTree = ""; }; + 29A8E00C1EF0475F00AD2478 /* MiscellaneousFieldAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MiscellaneousFieldAttributes.cpp; sourceTree = ""; }; + 29A8E00D1EF0475F00AD2478 /* MiscellaneousFieldAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MiscellaneousFieldAttributes.h; sourceTree = ""; }; + 29A8E00E1EF0475F00AD2478 /* Mode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Mode.cpp; sourceTree = ""; }; + 29A8E00F1EF0475F00AD2478 /* Mode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Mode.h; sourceTree = ""; }; + 29A8E0101EF0475F00AD2478 /* Mordent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Mordent.cpp; sourceTree = ""; }; + 29A8E0111EF0475F00AD2478 /* Mordent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Mordent.h; sourceTree = ""; }; + 29A8E0121EF0475F00AD2478 /* MordentAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MordentAttributes.cpp; sourceTree = ""; }; + 29A8E0131EF0475F00AD2478 /* MordentAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MordentAttributes.h; sourceTree = ""; }; + 29A8E0141EF0475F00AD2478 /* MovementNumber.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MovementNumber.cpp; sourceTree = ""; }; + 29A8E0151EF0475F00AD2478 /* MovementNumber.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MovementNumber.h; sourceTree = ""; }; + 29A8E0161EF0475F00AD2478 /* MovementTitle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MovementTitle.cpp; sourceTree = ""; }; + 29A8E0171EF0475F00AD2478 /* MovementTitle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MovementTitle.h; sourceTree = ""; }; + 29A8E0181EF0475F00AD2478 /* MultipleRest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MultipleRest.cpp; sourceTree = ""; }; + 29A8E0191EF0475F00AD2478 /* MultipleRest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MultipleRest.h; sourceTree = ""; }; + 29A8E01A1EF0475F00AD2478 /* MultipleRestAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MultipleRestAttributes.cpp; sourceTree = ""; }; + 29A8E01B1EF0475F00AD2478 /* MultipleRestAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MultipleRestAttributes.h; sourceTree = ""; }; + 29A8E01C1EF0475F00AD2478 /* MusicDataChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MusicDataChoice.cpp; sourceTree = ""; }; + 29A8E01D1EF0475F00AD2478 /* MusicDataChoice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MusicDataChoice.h; sourceTree = ""; }; + 29A8E01E1EF0475F00AD2478 /* MusicDataGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MusicDataGroup.cpp; sourceTree = ""; }; + 29A8E01F1EF0475F00AD2478 /* MusicDataGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MusicDataGroup.h; sourceTree = ""; }; + 29A8E0201EF0475F00AD2478 /* MusicFont.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MusicFont.cpp; sourceTree = ""; }; + 29A8E0211EF0475F00AD2478 /* MusicFont.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MusicFont.h; sourceTree = ""; }; + 29A8E0221EF0475F00AD2478 /* Mute.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Mute.cpp; sourceTree = ""; }; + 29A8E0231EF0475F00AD2478 /* Mute.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Mute.h; sourceTree = ""; }; + 29A8E0241EF0475F00AD2478 /* Natural.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Natural.cpp; sourceTree = ""; }; + 29A8E0251EF0475F00AD2478 /* Natural.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Natural.h; sourceTree = ""; }; + 29A8E0261EF0475F00AD2478 /* NonArpeggiate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NonArpeggiate.cpp; sourceTree = ""; }; + 29A8E0271EF0475F00AD2478 /* NonArpeggiate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NonArpeggiate.h; sourceTree = ""; }; + 29A8E0281EF0475F00AD2478 /* NonArpeggiateAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NonArpeggiateAttributes.cpp; sourceTree = ""; }; + 29A8E0291EF0475F00AD2478 /* NonArpeggiateAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NonArpeggiateAttributes.h; sourceTree = ""; }; + 29A8E02A1EF0475F00AD2478 /* NonTraditionalKey.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NonTraditionalKey.cpp; sourceTree = ""; }; + 29A8E02B1EF0475F00AD2478 /* NonTraditionalKey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NonTraditionalKey.h; sourceTree = ""; }; + 29A8E02C1EF0475F00AD2478 /* NormalDot.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NormalDot.cpp; sourceTree = ""; }; + 29A8E02D1EF0475F00AD2478 /* NormalDot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NormalDot.h; sourceTree = ""; }; + 29A8E02E1EF0475F00AD2478 /* NormalNoteGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NormalNoteGroup.cpp; sourceTree = ""; }; + 29A8E02F1EF0475F00AD2478 /* NormalNoteGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NormalNoteGroup.h; sourceTree = ""; }; + 29A8E0301EF0475F00AD2478 /* NormalNotes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NormalNotes.cpp; sourceTree = ""; }; + 29A8E0311EF0475F00AD2478 /* NormalNotes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NormalNotes.h; sourceTree = ""; }; + 29A8E0321EF0475F00AD2478 /* NormalType.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NormalType.cpp; sourceTree = ""; }; + 29A8E0331EF0475F00AD2478 /* NormalType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NormalType.h; sourceTree = ""; }; + 29A8E0341EF0475F00AD2478 /* NormalTypeNormalDotGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NormalTypeNormalDotGroup.cpp; sourceTree = ""; }; + 29A8E0351EF0475F00AD2478 /* NormalTypeNormalDotGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NormalTypeNormalDotGroup.h; sourceTree = ""; }; + 29A8E0361EF0475F00AD2478 /* Notations.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Notations.cpp; sourceTree = ""; }; + 29A8E0371EF0475F00AD2478 /* Notations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Notations.h; sourceTree = ""; }; + 29A8E0381EF0475F00AD2478 /* NotationsAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NotationsAttributes.cpp; sourceTree = ""; }; + 29A8E0391EF0475F00AD2478 /* NotationsAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NotationsAttributes.h; sourceTree = ""; }; + 29A8E03A1EF0475F00AD2478 /* NotationsChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NotationsChoice.cpp; sourceTree = ""; }; + 29A8E03B1EF0475F00AD2478 /* NotationsChoice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NotationsChoice.h; sourceTree = ""; }; + 29A8E03C1EF0475F00AD2478 /* Note.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Note.cpp; sourceTree = ""; }; + 29A8E03D1EF0475F00AD2478 /* Note.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Note.h; sourceTree = ""; }; + 29A8E03E1EF0475F00AD2478 /* NoteAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NoteAttributes.cpp; sourceTree = ""; }; + 29A8E03F1EF0475F00AD2478 /* NoteAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NoteAttributes.h; sourceTree = ""; }; + 29A8E0401EF0475F00AD2478 /* NoteChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NoteChoice.cpp; sourceTree = ""; }; + 29A8E0411EF0475F00AD2478 /* NoteChoice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NoteChoice.h; sourceTree = ""; }; + 29A8E0421EF0475F00AD2478 /* Notehead.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Notehead.cpp; sourceTree = ""; }; + 29A8E0431EF0475F00AD2478 /* Notehead.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Notehead.h; sourceTree = ""; }; + 29A8E0441EF0475F00AD2478 /* NoteheadAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NoteheadAttributes.cpp; sourceTree = ""; }; + 29A8E0451EF0475F00AD2478 /* NoteheadAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NoteheadAttributes.h; sourceTree = ""; }; + 29A8E0461EF0475F00AD2478 /* NoteheadText.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NoteheadText.cpp; sourceTree = ""; }; + 29A8E0471EF0475F00AD2478 /* NoteheadText.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NoteheadText.h; sourceTree = ""; }; + 29A8E0481EF0475F00AD2478 /* NoteheadTextChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NoteheadTextChoice.cpp; sourceTree = ""; }; + 29A8E0491EF0475F00AD2478 /* NoteheadTextChoice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NoteheadTextChoice.h; sourceTree = ""; }; + 29A8E04A1EF0475F00AD2478 /* NoteRelationNote.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NoteRelationNote.cpp; sourceTree = ""; }; + 29A8E04B1EF0475F00AD2478 /* NoteRelationNote.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NoteRelationNote.h; sourceTree = ""; }; + 29A8E04C1EF0475F00AD2478 /* NoteSize.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NoteSize.cpp; sourceTree = ""; }; + 29A8E04D1EF0475F00AD2478 /* NoteSize.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NoteSize.h; sourceTree = ""; }; + 29A8E04E1EF0475F00AD2478 /* NoteSizeAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NoteSizeAttributes.cpp; sourceTree = ""; }; + 29A8E04F1EF0475F00AD2478 /* NoteSizeAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NoteSizeAttributes.h; sourceTree = ""; }; + 29A8E0501EF0475F00AD2478 /* Octave.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Octave.cpp; sourceTree = ""; }; + 29A8E0511EF0475F00AD2478 /* Octave.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Octave.h; sourceTree = ""; }; + 29A8E0521EF0475F00AD2478 /* OctaveChange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OctaveChange.cpp; sourceTree = ""; }; + 29A8E0531EF0475F00AD2478 /* OctaveChange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OctaveChange.h; sourceTree = ""; }; + 29A8E0541EF0475F00AD2478 /* OctaveShift.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OctaveShift.cpp; sourceTree = ""; }; + 29A8E0551EF0475F00AD2478 /* OctaveShift.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OctaveShift.h; sourceTree = ""; }; + 29A8E0561EF0475F00AD2478 /* OctaveShiftAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OctaveShiftAttributes.cpp; sourceTree = ""; }; + 29A8E0571EF0475F00AD2478 /* OctaveShiftAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OctaveShiftAttributes.h; sourceTree = ""; }; + 29A8E0581EF0475F00AD2478 /* Offset.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Offset.cpp; sourceTree = ""; }; + 29A8E0591EF0475F00AD2478 /* Offset.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Offset.h; sourceTree = ""; }; + 29A8E05A1EF0475F00AD2478 /* OffsetAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OffsetAttributes.cpp; sourceTree = ""; }; + 29A8E05B1EF0475F00AD2478 /* OffsetAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OffsetAttributes.h; sourceTree = ""; }; + 29A8E05C1EF0475F00AD2478 /* OpenString.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OpenString.cpp; sourceTree = ""; }; + 29A8E05D1EF0475F00AD2478 /* OpenString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OpenString.h; sourceTree = ""; }; + 29A8E05E1EF0475F00AD2478 /* Opus.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Opus.cpp; sourceTree = ""; }; + 29A8E05F1EF0475F00AD2478 /* Opus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Opus.h; sourceTree = ""; }; + 29A8E0601EF0475F00AD2478 /* OpusAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OpusAttributes.cpp; sourceTree = ""; }; + 29A8E0611EF0475F00AD2478 /* OpusAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OpusAttributes.h; sourceTree = ""; }; + 29A8E0621EF0475F00AD2478 /* Ornaments.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Ornaments.cpp; sourceTree = ""; }; + 29A8E0631EF0475F00AD2478 /* Ornaments.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Ornaments.h; sourceTree = ""; }; + 29A8E0641EF0475F00AD2478 /* OrnamentsChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OrnamentsChoice.cpp; sourceTree = ""; }; + 29A8E0651EF0475F00AD2478 /* OrnamentsChoice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OrnamentsChoice.h; sourceTree = ""; }; + 29A8E0661EF0475F00AD2478 /* OtherAppearance.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OtherAppearance.cpp; sourceTree = ""; }; + 29A8E0671EF0475F00AD2478 /* OtherAppearance.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OtherAppearance.h; sourceTree = ""; }; + 29A8E0681EF0475F00AD2478 /* OtherAppearanceAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OtherAppearanceAttributes.cpp; sourceTree = ""; }; + 29A8E0691EF0475F00AD2478 /* OtherAppearanceAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OtherAppearanceAttributes.h; sourceTree = ""; }; + 29A8E06A1EF0475F00AD2478 /* OtherArticulation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OtherArticulation.cpp; sourceTree = ""; }; + 29A8E06B1EF0475F00AD2478 /* OtherArticulation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OtherArticulation.h; sourceTree = ""; }; + 29A8E06C1EF0475F00AD2478 /* OtherArticulationAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OtherArticulationAttributes.cpp; sourceTree = ""; }; + 29A8E06D1EF0475F00AD2478 /* OtherArticulationAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OtherArticulationAttributes.h; sourceTree = ""; }; + 29A8E06E1EF0475F00AD2478 /* OtherDirection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OtherDirection.cpp; sourceTree = ""; }; + 29A8E06F1EF0475F00AD2478 /* OtherDirection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OtherDirection.h; sourceTree = ""; }; + 29A8E0701EF0475F00AD2478 /* OtherDirectionAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OtherDirectionAttributes.cpp; sourceTree = ""; }; + 29A8E0711EF0475F00AD2478 /* OtherDirectionAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OtherDirectionAttributes.h; sourceTree = ""; }; + 29A8E0721EF0475F00AD2478 /* OtherNotation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OtherNotation.cpp; sourceTree = ""; }; + 29A8E0731EF0475F00AD2478 /* OtherNotation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OtherNotation.h; sourceTree = ""; }; + 29A8E0741EF0475F00AD2478 /* OtherNotationAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OtherNotationAttributes.cpp; sourceTree = ""; }; + 29A8E0751EF0475F00AD2478 /* OtherNotationAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OtherNotationAttributes.h; sourceTree = ""; }; + 29A8E0761EF0475F00AD2478 /* OtherOrnament.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OtherOrnament.cpp; sourceTree = ""; }; + 29A8E0771EF0475F00AD2478 /* OtherOrnament.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OtherOrnament.h; sourceTree = ""; }; + 29A8E0781EF0475F00AD2478 /* OtherOrnamentAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OtherOrnamentAttributes.cpp; sourceTree = ""; }; + 29A8E0791EF0475F00AD2478 /* OtherOrnamentAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OtherOrnamentAttributes.h; sourceTree = ""; }; + 29A8E07A1EF0475F00AD2478 /* OtherPercussion.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OtherPercussion.cpp; sourceTree = ""; }; + 29A8E07B1EF0475F00AD2478 /* OtherPercussion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OtherPercussion.h; sourceTree = ""; }; + 29A8E07C1EF0475F00AD2478 /* OtherPlay.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OtherPlay.cpp; sourceTree = ""; }; + 29A8E07D1EF0475F00AD2478 /* OtherPlay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OtherPlay.h; sourceTree = ""; }; + 29A8E07E1EF0475F00AD2478 /* OtherPlayAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OtherPlayAttributes.cpp; sourceTree = ""; }; + 29A8E07F1EF0475F00AD2478 /* OtherPlayAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OtherPlayAttributes.h; sourceTree = ""; }; + 29A8E0801EF0475F00AD2478 /* OtherTechnical.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OtherTechnical.cpp; sourceTree = ""; }; + 29A8E0811EF0475F00AD2478 /* OtherTechnical.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OtherTechnical.h; sourceTree = ""; }; + 29A8E0821EF0475F00AD2478 /* OtherTechnicalAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OtherTechnicalAttributes.cpp; sourceTree = ""; }; + 29A8E0831EF0475F00AD2478 /* OtherTechnicalAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OtherTechnicalAttributes.h; sourceTree = ""; }; + 29A8E0841EF0475F00AD2478 /* PageHeight.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PageHeight.cpp; sourceTree = ""; }; + 29A8E0851EF0475F00AD2478 /* PageHeight.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PageHeight.h; sourceTree = ""; }; + 29A8E0861EF0475F00AD2478 /* PageLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PageLayout.cpp; sourceTree = ""; }; + 29A8E0871EF0475F00AD2478 /* PageLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PageLayout.h; sourceTree = ""; }; + 29A8E0881EF0475F00AD2478 /* PageMargins.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PageMargins.cpp; sourceTree = ""; }; + 29A8E0891EF0475F00AD2478 /* PageMargins.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PageMargins.h; sourceTree = ""; }; + 29A8E08A1EF0475F00AD2478 /* PageMarginsAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PageMarginsAttributes.cpp; sourceTree = ""; }; + 29A8E08B1EF0475F00AD2478 /* PageMarginsAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PageMarginsAttributes.h; sourceTree = ""; }; + 29A8E08C1EF0475F00AD2478 /* PageWidth.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PageWidth.cpp; sourceTree = ""; }; + 29A8E08D1EF0475F00AD2478 /* PageWidth.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PageWidth.h; sourceTree = ""; }; + 29A8E08E1EF0475F00AD2478 /* Pan.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Pan.cpp; sourceTree = ""; }; + 29A8E08F1EF0475F00AD2478 /* Pan.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Pan.h; sourceTree = ""; }; + 29A8E0901EF0475F00AD2478 /* PartAbbreviation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PartAbbreviation.cpp; sourceTree = ""; }; + 29A8E0911EF0475F00AD2478 /* PartAbbreviation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PartAbbreviation.h; sourceTree = ""; }; + 29A8E0921EF0475F00AD2478 /* PartAbbreviationAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PartAbbreviationAttributes.cpp; sourceTree = ""; }; + 29A8E0931EF0475F00AD2478 /* PartAbbreviationAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PartAbbreviationAttributes.h; sourceTree = ""; }; + 29A8E0941EF0475F00AD2478 /* PartAbbreviationDisplay.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PartAbbreviationDisplay.cpp; sourceTree = ""; }; + 29A8E0951EF0475F00AD2478 /* PartAbbreviationDisplay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PartAbbreviationDisplay.h; sourceTree = ""; }; + 29A8E0961EF0475F00AD2478 /* PartAbbreviationDisplayAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PartAbbreviationDisplayAttributes.cpp; sourceTree = ""; }; + 29A8E0971EF0475F00AD2478 /* PartAbbreviationDisplayAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PartAbbreviationDisplayAttributes.h; sourceTree = ""; }; + 29A8E0981EF0475F00AD2478 /* PartAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PartAttributes.cpp; sourceTree = ""; }; + 29A8E0991EF0475F00AD2478 /* PartAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PartAttributes.h; sourceTree = ""; }; + 29A8E09A1EF0475F00AD2478 /* PartGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PartGroup.cpp; sourceTree = ""; }; + 29A8E09B1EF0475F00AD2478 /* PartGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PartGroup.h; sourceTree = ""; }; + 29A8E09C1EF0475F00AD2478 /* PartGroupAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PartGroupAttributes.cpp; sourceTree = ""; }; + 29A8E09D1EF0475F00AD2478 /* PartGroupAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PartGroupAttributes.h; sourceTree = ""; }; + 29A8E09E1EF0475F00AD2478 /* PartGroupOrScorePart.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PartGroupOrScorePart.cpp; sourceTree = ""; }; + 29A8E09F1EF0475F00AD2478 /* PartGroupOrScorePart.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PartGroupOrScorePart.h; sourceTree = ""; }; + 29A8E0A01EF0475F00AD2478 /* PartList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PartList.cpp; sourceTree = ""; }; + 29A8E0A11EF0475F00AD2478 /* PartList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PartList.h; sourceTree = ""; }; + 29A8E0A21EF0475F00AD2478 /* PartName.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PartName.cpp; sourceTree = ""; }; + 29A8E0A31EF0476000AD2478 /* PartName.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PartName.h; sourceTree = ""; }; + 29A8E0A41EF0476000AD2478 /* PartNameAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PartNameAttributes.cpp; sourceTree = ""; }; + 29A8E0A51EF0476000AD2478 /* PartNameAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PartNameAttributes.h; sourceTree = ""; }; + 29A8E0A61EF0476000AD2478 /* PartNameDisplay.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PartNameDisplay.cpp; sourceTree = ""; }; + 29A8E0A71EF0476000AD2478 /* PartNameDisplay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PartNameDisplay.h; sourceTree = ""; }; + 29A8E0A81EF0476000AD2478 /* PartNameDisplayAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PartNameDisplayAttributes.cpp; sourceTree = ""; }; + 29A8E0A91EF0476000AD2478 /* PartNameDisplayAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PartNameDisplayAttributes.h; sourceTree = ""; }; + 29A8E0AA1EF0476000AD2478 /* PartSymbol.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PartSymbol.cpp; sourceTree = ""; }; + 29A8E0AB1EF0476000AD2478 /* PartSymbol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PartSymbol.h; sourceTree = ""; }; + 29A8E0AC1EF0476000AD2478 /* PartSymbolAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PartSymbolAttributes.cpp; sourceTree = ""; }; + 29A8E0AD1EF0476000AD2478 /* PartSymbolAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PartSymbolAttributes.h; sourceTree = ""; }; + 29A8E0AE1EF0476000AD2478 /* PartwiseMeasure.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PartwiseMeasure.cpp; sourceTree = ""; }; + 29A8E0AF1EF0476000AD2478 /* PartwiseMeasure.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PartwiseMeasure.h; sourceTree = ""; }; + 29A8E0B01EF0476000AD2478 /* PartwisePart.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PartwisePart.cpp; sourceTree = ""; }; + 29A8E0B11EF0476000AD2478 /* PartwisePart.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PartwisePart.h; sourceTree = ""; }; + 29A8E0B21EF0476000AD2478 /* Pedal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Pedal.cpp; sourceTree = ""; }; + 29A8E0B31EF0476000AD2478 /* Pedal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Pedal.h; sourceTree = ""; }; + 29A8E0B41EF0476000AD2478 /* PedalAlter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PedalAlter.cpp; sourceTree = ""; }; + 29A8E0B51EF0476000AD2478 /* PedalAlter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PedalAlter.h; sourceTree = ""; }; + 29A8E0B61EF0476000AD2478 /* PedalAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PedalAttributes.cpp; sourceTree = ""; }; + 29A8E0B71EF0476000AD2478 /* PedalAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PedalAttributes.h; sourceTree = ""; }; + 29A8E0B81EF0476000AD2478 /* PedalStep.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PedalStep.cpp; sourceTree = ""; }; + 29A8E0B91EF0476000AD2478 /* PedalStep.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PedalStep.h; sourceTree = ""; }; + 29A8E0BA1EF0476000AD2478 /* PedalTuning.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PedalTuning.cpp; sourceTree = ""; }; + 29A8E0BB1EF0476000AD2478 /* PedalTuning.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PedalTuning.h; sourceTree = ""; }; + 29A8E0BC1EF0476000AD2478 /* Percussion.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Percussion.cpp; sourceTree = ""; }; + 29A8E0BD1EF0476000AD2478 /* Percussion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Percussion.h; sourceTree = ""; }; + 29A8E0BE1EF0476000AD2478 /* PercussionAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PercussionAttributes.cpp; sourceTree = ""; }; + 29A8E0BF1EF0476000AD2478 /* PercussionAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PercussionAttributes.h; sourceTree = ""; }; + 29A8E0C01EF0476000AD2478 /* PercussionChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PercussionChoice.cpp; sourceTree = ""; }; + 29A8E0C11EF0476000AD2478 /* PercussionChoice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PercussionChoice.h; sourceTree = ""; }; + 29A8E0C21EF0476000AD2478 /* PerMinute.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PerMinute.cpp; sourceTree = ""; }; + 29A8E0C31EF0476000AD2478 /* PerMinute.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PerMinute.h; sourceTree = ""; }; + 29A8E0C41EF0476000AD2478 /* PerMinuteAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PerMinuteAttributes.cpp; sourceTree = ""; }; + 29A8E0C51EF0476000AD2478 /* PerMinuteAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PerMinuteAttributes.h; sourceTree = ""; }; + 29A8E0C61EF0476000AD2478 /* PerMinuteOrBeatUnitChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PerMinuteOrBeatUnitChoice.cpp; sourceTree = ""; }; + 29A8E0C71EF0476000AD2478 /* PerMinuteOrBeatUnitChoice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PerMinuteOrBeatUnitChoice.h; sourceTree = ""; }; + 29A8E0C81EF0476000AD2478 /* Pitch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Pitch.cpp; sourceTree = ""; }; + 29A8E0C91EF0476000AD2478 /* Pitch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Pitch.h; sourceTree = ""; }; + 29A8E0CA1EF0476000AD2478 /* Pitched.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Pitched.cpp; sourceTree = ""; }; + 29A8E0CB1EF0476000AD2478 /* Pitched.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Pitched.h; sourceTree = ""; }; + 29A8E0CC1EF0476000AD2478 /* Play.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Play.cpp; sourceTree = ""; }; + 29A8E0CD1EF0476000AD2478 /* Play.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Play.h; sourceTree = ""; }; + 29A8E0CE1EF0476000AD2478 /* PlayAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PlayAttributes.cpp; sourceTree = ""; }; + 29A8E0CF1EF0476000AD2478 /* PlayAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlayAttributes.h; sourceTree = ""; }; + 29A8E0D01EF0476000AD2478 /* Plop.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Plop.cpp; sourceTree = ""; }; + 29A8E0D11EF0476000AD2478 /* Plop.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Plop.h; sourceTree = ""; }; + 29A8E0D21EF0476000AD2478 /* Pluck.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Pluck.cpp; sourceTree = ""; }; + 29A8E0D31EF0476000AD2478 /* Pluck.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Pluck.h; sourceTree = ""; }; + 29A8E0D41EF0476000AD2478 /* PluckAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PluckAttributes.cpp; sourceTree = ""; }; + 29A8E0D51EF0476000AD2478 /* PluckAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PluckAttributes.h; sourceTree = ""; }; + 29A8E0D61EF0476000AD2478 /* PreBend.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PreBend.cpp; sourceTree = ""; }; + 29A8E0D71EF0476000AD2478 /* PreBend.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PreBend.h; sourceTree = ""; }; + 29A8E0D91EF0476000AD2478 /* Prefix.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Prefix.cpp; sourceTree = ""; }; + 29A8E0DA1EF0476000AD2478 /* Prefix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Prefix.h; sourceTree = ""; }; + 29A8E0DB1EF0476000AD2478 /* PrefixAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PrefixAttributes.cpp; sourceTree = ""; }; + 29A8E0DC1EF0476000AD2478 /* PrefixAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PrefixAttributes.h; sourceTree = ""; }; + 29A8E0DD1EF0476000AD2478 /* PrincipalVoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PrincipalVoice.cpp; sourceTree = ""; }; + 29A8E0DE1EF0476000AD2478 /* PrincipalVoice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PrincipalVoice.h; sourceTree = ""; }; + 29A8E0DF1EF0476000AD2478 /* PrincipalVoiceAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PrincipalVoiceAttributes.cpp; sourceTree = ""; }; + 29A8E0E01EF0476000AD2478 /* PrincipalVoiceAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PrincipalVoiceAttributes.h; sourceTree = ""; }; + 29A8E0E11EF0476000AD2478 /* Print.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Print.cpp; sourceTree = ""; }; + 29A8E0E21EF0476000AD2478 /* Print.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Print.h; sourceTree = ""; }; + 29A8E0E31EF0476000AD2478 /* PrintAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PrintAttributes.cpp; sourceTree = ""; }; + 29A8E0E41EF0476000AD2478 /* PrintAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PrintAttributes.h; sourceTree = ""; }; + 29A8E0E51EF0476000AD2478 /* Properties.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Properties.cpp; sourceTree = ""; }; + 29A8E0E61EF0476000AD2478 /* Properties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Properties.h; sourceTree = ""; }; + 29A8E0E71EF0476000AD2478 /* PullOff.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PullOff.cpp; sourceTree = ""; }; + 29A8E0E81EF0476000AD2478 /* PullOff.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PullOff.h; sourceTree = ""; }; + 29A8E0E91EF0476000AD2478 /* PullOffAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PullOffAttributes.cpp; sourceTree = ""; }; + 29A8E0EA1EF0476000AD2478 /* PullOffAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PullOffAttributes.h; sourceTree = ""; }; + 29A8E0EB1EF0476000AD2478 /* Rehearsal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Rehearsal.cpp; sourceTree = ""; }; + 29A8E0EC1EF0476000AD2478 /* Rehearsal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Rehearsal.h; sourceTree = ""; }; + 29A8E0ED1EF0476000AD2478 /* RehearsalAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RehearsalAttributes.cpp; sourceTree = ""; }; + 29A8E0EE1EF0476000AD2478 /* RehearsalAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RehearsalAttributes.h; sourceTree = ""; }; + 29A8E0EF1EF0476000AD2478 /* Relation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Relation.cpp; sourceTree = ""; }; + 29A8E0F01EF0476000AD2478 /* Relation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Relation.h; sourceTree = ""; }; + 29A8E0F11EF0476000AD2478 /* RelationAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RelationAttributes.cpp; sourceTree = ""; }; + 29A8E0F21EF0476000AD2478 /* RelationAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RelationAttributes.h; sourceTree = ""; }; + 29A8E0F31EF0476000AD2478 /* Release.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Release.cpp; sourceTree = ""; }; + 29A8E0F41EF0476000AD2478 /* Release.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Release.h; sourceTree = ""; }; + 29A8E0F51EF0476000AD2478 /* Repeat.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Repeat.cpp; sourceTree = ""; }; + 29A8E0F61EF0476000AD2478 /* Repeat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Repeat.h; sourceTree = ""; }; + 29A8E0F71EF0476000AD2478 /* RepeatAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RepeatAttributes.cpp; sourceTree = ""; }; + 29A8E0F81EF0476000AD2478 /* RepeatAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RepeatAttributes.h; sourceTree = ""; }; + 29A8E0F91EF0476000AD2478 /* Rest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Rest.cpp; sourceTree = ""; }; + 29A8E0FA1EF0476000AD2478 /* Rest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Rest.h; sourceTree = ""; }; + 29A8E0FB1EF0476000AD2478 /* RestAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RestAttributes.cpp; sourceTree = ""; }; + 29A8E0FC1EF0476000AD2478 /* RestAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RestAttributes.h; sourceTree = ""; }; + 29A8E0FD1EF0476000AD2478 /* RightDivider.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RightDivider.cpp; sourceTree = ""; }; + 29A8E0FE1EF0476000AD2478 /* RightDivider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RightDivider.h; sourceTree = ""; }; + 29A8E0FF1EF0476000AD2478 /* RightMargin.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RightMargin.cpp; sourceTree = ""; }; + 29A8E1001EF0476000AD2478 /* RightMargin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RightMargin.h; sourceTree = ""; }; + 29A8E1011EF0476000AD2478 /* Rights.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Rights.cpp; sourceTree = ""; }; + 29A8E1021EF0476000AD2478 /* Rights.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Rights.h; sourceTree = ""; }; + 29A8E1031EF0476000AD2478 /* RightsAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RightsAttributes.cpp; sourceTree = ""; }; + 29A8E1041EF0476000AD2478 /* RightsAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RightsAttributes.h; sourceTree = ""; }; + 29A8E1051EF0476000AD2478 /* Root.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Root.cpp; sourceTree = ""; }; + 29A8E1061EF0476000AD2478 /* Root.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Root.h; sourceTree = ""; }; + 29A8E1071EF0476000AD2478 /* RootAlter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RootAlter.cpp; sourceTree = ""; }; + 29A8E1081EF0476000AD2478 /* RootAlter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RootAlter.h; sourceTree = ""; }; + 29A8E1091EF0476000AD2478 /* RootAlterAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RootAlterAttributes.cpp; sourceTree = ""; }; + 29A8E10A1EF0476000AD2478 /* RootAlterAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RootAlterAttributes.h; sourceTree = ""; }; + 29A8E10B1EF0476000AD2478 /* RootStep.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RootStep.cpp; sourceTree = ""; }; + 29A8E10C1EF0476000AD2478 /* RootStep.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RootStep.h; sourceTree = ""; }; + 29A8E10D1EF0476000AD2478 /* RootStepAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RootStepAttributes.cpp; sourceTree = ""; }; + 29A8E10E1EF0476000AD2478 /* RootStepAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RootStepAttributes.h; sourceTree = ""; }; + 29A8E10F1EF0476000AD2478 /* Scaling.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Scaling.cpp; sourceTree = ""; }; + 29A8E1101EF0476000AD2478 /* Scaling.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Scaling.h; sourceTree = ""; }; + 29A8E1111EF0476000AD2478 /* Schleifer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Schleifer.cpp; sourceTree = ""; }; + 29A8E1121EF0476000AD2478 /* Schleifer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Schleifer.h; sourceTree = ""; }; + 29A8E1131EF0476000AD2478 /* Scoop.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Scoop.cpp; sourceTree = ""; }; + 29A8E1141EF0476000AD2478 /* Scoop.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Scoop.h; sourceTree = ""; }; + 29A8E1151EF0476000AD2478 /* Scordatura.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Scordatura.cpp; sourceTree = ""; }; + 29A8E1161EF0476000AD2478 /* Scordatura.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Scordatura.h; sourceTree = ""; }; + 29A8E1171EF0476000AD2478 /* ScoreHeaderGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScoreHeaderGroup.cpp; sourceTree = ""; }; + 29A8E1181EF0476000AD2478 /* ScoreHeaderGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScoreHeaderGroup.h; sourceTree = ""; }; + 29A8E1191EF0476000AD2478 /* ScoreInstrument.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScoreInstrument.cpp; sourceTree = ""; }; + 29A8E11A1EF0476000AD2478 /* ScoreInstrument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScoreInstrument.h; sourceTree = ""; }; + 29A8E11B1EF0476000AD2478 /* ScoreInstrumentAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScoreInstrumentAttributes.cpp; sourceTree = ""; }; + 29A8E11C1EF0476000AD2478 /* ScoreInstrumentAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScoreInstrumentAttributes.h; sourceTree = ""; }; + 29A8E11D1EF0476000AD2478 /* ScorePart.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScorePart.cpp; sourceTree = ""; }; + 29A8E11E1EF0476000AD2478 /* ScorePart.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScorePart.h; sourceTree = ""; }; + 29A8E11F1EF0476000AD2478 /* ScorePartAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScorePartAttributes.cpp; sourceTree = ""; }; + 29A8E1201EF0476000AD2478 /* ScorePartAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScorePartAttributes.h; sourceTree = ""; }; + 29A8E1211EF0476000AD2478 /* ScorePartwise.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScorePartwise.cpp; sourceTree = ""; }; + 29A8E1221EF0476000AD2478 /* ScorePartwise.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScorePartwise.h; sourceTree = ""; }; + 29A8E1231EF0476000AD2478 /* ScorePartwiseAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScorePartwiseAttributes.cpp; sourceTree = ""; }; + 29A8E1241EF0476000AD2478 /* ScorePartwiseAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScorePartwiseAttributes.h; sourceTree = ""; }; + 29A8E1251EF0476000AD2478 /* ScoreTimewise.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScoreTimewise.cpp; sourceTree = ""; }; + 29A8E1261EF0476000AD2478 /* ScoreTimewise.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScoreTimewise.h; sourceTree = ""; }; + 29A8E1271EF0476000AD2478 /* ScoreTimewiseAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScoreTimewiseAttributes.cpp; sourceTree = ""; }; + 29A8E1281EF0476000AD2478 /* ScoreTimewiseAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScoreTimewiseAttributes.h; sourceTree = ""; }; + 29A8E1291EF0476000AD2478 /* Segno.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Segno.cpp; sourceTree = ""; }; + 29A8E12A1EF0476000AD2478 /* Segno.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Segno.h; sourceTree = ""; }; + 29A8E12B1EF0476000AD2478 /* SemiPitched.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SemiPitched.cpp; sourceTree = ""; }; + 29A8E12C1EF0476000AD2478 /* SemiPitched.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SemiPitched.h; sourceTree = ""; }; + 29A8E12D1EF0476000AD2478 /* SenzaMisura.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SenzaMisura.cpp; sourceTree = ""; }; + 29A8E12E1EF0476000AD2478 /* SenzaMisura.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SenzaMisura.h; sourceTree = ""; }; + 29A8E12F1EF0476000AD2478 /* Shake.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Shake.cpp; sourceTree = ""; }; + 29A8E1301EF0476000AD2478 /* Shake.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Shake.h; sourceTree = ""; }; + 29A8E1311EF0476000AD2478 /* Sign.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Sign.cpp; sourceTree = ""; }; + 29A8E1321EF0476000AD2478 /* Sign.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Sign.h; sourceTree = ""; }; + 29A8E1331EF0476000AD2478 /* Slash.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Slash.cpp; sourceTree = ""; }; + 29A8E1341EF0476000AD2478 /* Slash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Slash.h; sourceTree = ""; }; + 29A8E1351EF0476000AD2478 /* SlashAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SlashAttributes.cpp; sourceTree = ""; }; + 29A8E1361EF0476000AD2478 /* SlashAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SlashAttributes.h; sourceTree = ""; }; + 29A8E1371EF0476000AD2478 /* SlashDot.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SlashDot.cpp; sourceTree = ""; }; + 29A8E1381EF0476000AD2478 /* SlashDot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SlashDot.h; sourceTree = ""; }; + 29A8E1391EF0476000AD2478 /* SlashType.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SlashType.cpp; sourceTree = ""; }; + 29A8E13A1EF0476000AD2478 /* SlashType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SlashType.h; sourceTree = ""; }; + 29A8E13B1EF0476000AD2478 /* Slide.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Slide.cpp; sourceTree = ""; }; + 29A8E13C1EF0476000AD2478 /* Slide.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Slide.h; sourceTree = ""; }; + 29A8E13D1EF0476000AD2478 /* SlideAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SlideAttributes.cpp; sourceTree = ""; }; + 29A8E13E1EF0476000AD2478 /* SlideAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SlideAttributes.h; sourceTree = ""; }; + 29A8E13F1EF0476000AD2478 /* Slur.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Slur.cpp; sourceTree = ""; }; + 29A8E1401EF0476000AD2478 /* Slur.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Slur.h; sourceTree = ""; }; + 29A8E1411EF0476000AD2478 /* SlurAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SlurAttributes.cpp; sourceTree = ""; }; + 29A8E1421EF0476000AD2478 /* SlurAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SlurAttributes.h; sourceTree = ""; }; + 29A8E1431EF0476000AD2478 /* SnapPizzicato.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SnapPizzicato.cpp; sourceTree = ""; }; + 29A8E1441EF0476000AD2478 /* SnapPizzicato.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SnapPizzicato.h; sourceTree = ""; }; + 29A8E1451EF0476000AD2478 /* Software.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Software.cpp; sourceTree = ""; }; + 29A8E1461EF0476100AD2478 /* Software.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Software.h; sourceTree = ""; }; + 29A8E1471EF0476100AD2478 /* Solo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Solo.cpp; sourceTree = ""; }; + 29A8E1481EF0476100AD2478 /* Solo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Solo.h; sourceTree = ""; }; + 29A8E1491EF0476100AD2478 /* SoloOrEnsembleChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SoloOrEnsembleChoice.cpp; sourceTree = ""; }; + 29A8E14A1EF0476100AD2478 /* SoloOrEnsembleChoice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SoloOrEnsembleChoice.h; sourceTree = ""; }; + 29A8E14B1EF0476100AD2478 /* Sound.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Sound.cpp; sourceTree = ""; }; + 29A8E14C1EF0476100AD2478 /* Sound.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Sound.h; sourceTree = ""; }; + 29A8E14D1EF0476100AD2478 /* SoundAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SoundAttributes.cpp; sourceTree = ""; }; + 29A8E14E1EF0476100AD2478 /* SoundAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SoundAttributes.h; sourceTree = ""; }; + 29A8E14F1EF0476100AD2478 /* SoundingPitch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SoundingPitch.cpp; sourceTree = ""; }; + 29A8E1501EF0476100AD2478 /* SoundingPitch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SoundingPitch.h; sourceTree = ""; }; + 29A8E1511EF0476100AD2478 /* Source.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Source.cpp; sourceTree = ""; }; + 29A8E1521EF0476100AD2478 /* Source.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Source.h; sourceTree = ""; }; + 29A8E1531EF0476100AD2478 /* Spiccato.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Spiccato.cpp; sourceTree = ""; }; + 29A8E1541EF0476100AD2478 /* Spiccato.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Spiccato.h; sourceTree = ""; }; + 29A8E1551EF0476100AD2478 /* Staccatissimo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Staccatissimo.cpp; sourceTree = ""; }; + 29A8E1561EF0476100AD2478 /* Staccatissimo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Staccatissimo.h; sourceTree = ""; }; + 29A8E1571EF0476100AD2478 /* Staccato.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Staccato.cpp; sourceTree = ""; }; + 29A8E1581EF0476100AD2478 /* Staccato.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Staccato.h; sourceTree = ""; }; + 29A8E1591EF0476100AD2478 /* Staff.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Staff.cpp; sourceTree = ""; }; + 29A8E15A1EF0476100AD2478 /* Staff.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Staff.h; sourceTree = ""; }; + 29A8E15B1EF0476100AD2478 /* StaffDetails.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StaffDetails.cpp; sourceTree = ""; }; + 29A8E15C1EF0476100AD2478 /* StaffDetails.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StaffDetails.h; sourceTree = ""; }; + 29A8E15D1EF0476100AD2478 /* StaffDetailsAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StaffDetailsAttributes.cpp; sourceTree = ""; }; + 29A8E15E1EF0476100AD2478 /* StaffDetailsAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StaffDetailsAttributes.h; sourceTree = ""; }; + 29A8E15F1EF0476100AD2478 /* StaffDistance.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StaffDistance.cpp; sourceTree = ""; }; + 29A8E1601EF0476100AD2478 /* StaffDistance.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StaffDistance.h; sourceTree = ""; }; + 29A8E1611EF0476100AD2478 /* StaffLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StaffLayout.cpp; sourceTree = ""; }; + 29A8E1621EF0476100AD2478 /* StaffLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StaffLayout.h; sourceTree = ""; }; + 29A8E1631EF0476100AD2478 /* StaffLayoutAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StaffLayoutAttributes.cpp; sourceTree = ""; }; + 29A8E1641EF0476100AD2478 /* StaffLayoutAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StaffLayoutAttributes.h; sourceTree = ""; }; + 29A8E1651EF0476100AD2478 /* StaffLines.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StaffLines.cpp; sourceTree = ""; }; + 29A8E1661EF0476100AD2478 /* StaffLines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StaffLines.h; sourceTree = ""; }; + 29A8E1671EF0476100AD2478 /* StaffSize.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StaffSize.cpp; sourceTree = ""; }; + 29A8E1681EF0476100AD2478 /* StaffSize.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StaffSize.h; sourceTree = ""; }; + 29A8E1691EF0476100AD2478 /* StaffTuning.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StaffTuning.cpp; sourceTree = ""; }; + 29A8E16A1EF0476100AD2478 /* StaffTuning.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StaffTuning.h; sourceTree = ""; }; + 29A8E16B1EF0476100AD2478 /* StaffTuningAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StaffTuningAttributes.cpp; sourceTree = ""; }; + 29A8E16C1EF0476100AD2478 /* StaffTuningAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StaffTuningAttributes.h; sourceTree = ""; }; + 29A8E16D1EF0476100AD2478 /* StaffType.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StaffType.cpp; sourceTree = ""; }; + 29A8E16E1EF0476100AD2478 /* StaffType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StaffType.h; sourceTree = ""; }; + 29A8E16F1EF0476100AD2478 /* Staves.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Staves.cpp; sourceTree = ""; }; + 29A8E1701EF0476100AD2478 /* Staves.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Staves.h; sourceTree = ""; }; + 29A8E1711EF0476100AD2478 /* Stem.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Stem.cpp; sourceTree = ""; }; + 29A8E1721EF0476100AD2478 /* Stem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Stem.h; sourceTree = ""; }; + 29A8E1731EF0476100AD2478 /* StemAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StemAttributes.cpp; sourceTree = ""; }; + 29A8E1741EF0476100AD2478 /* StemAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StemAttributes.h; sourceTree = ""; }; + 29A8E1751EF0476100AD2478 /* Step.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Step.cpp; sourceTree = ""; }; + 29A8E1761EF0476100AD2478 /* Step.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Step.h; sourceTree = ""; }; + 29A8E1771EF0476100AD2478 /* Stick.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Stick.cpp; sourceTree = ""; }; + 29A8E1781EF0476100AD2478 /* Stick.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Stick.h; sourceTree = ""; }; + 29A8E1791EF0476100AD2478 /* StickAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StickAttributes.cpp; sourceTree = ""; }; + 29A8E17A1EF0476100AD2478 /* StickAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StickAttributes.h; sourceTree = ""; }; + 29A8E17B1EF0476100AD2478 /* StickLocation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StickLocation.cpp; sourceTree = ""; }; + 29A8E17C1EF0476100AD2478 /* StickLocation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StickLocation.h; sourceTree = ""; }; + 29A8E17D1EF0476100AD2478 /* StickMaterial.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StickMaterial.cpp; sourceTree = ""; }; + 29A8E17E1EF0476100AD2478 /* StickMaterial.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StickMaterial.h; sourceTree = ""; }; + 29A8E17F1EF0476100AD2478 /* StickType.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StickType.cpp; sourceTree = ""; }; + 29A8E1801EF0476100AD2478 /* StickType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StickType.h; sourceTree = ""; }; + 29A8E1811EF0476100AD2478 /* Stopped.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Stopped.cpp; sourceTree = ""; }; + 29A8E1821EF0476100AD2478 /* Stopped.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Stopped.h; sourceTree = ""; }; + 29A8E1831EF0476100AD2478 /* Stress.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Stress.cpp; sourceTree = ""; }; + 29A8E1841EF0476100AD2478 /* Stress.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Stress.h; sourceTree = ""; }; + 29A8E1851EF0476100AD2478 /* String.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = String.cpp; sourceTree = ""; }; + 29A8E1861EF0476100AD2478 /* String.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = String.h; sourceTree = ""; }; + 29A8E1871EF0476100AD2478 /* StringAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StringAttributes.cpp; sourceTree = ""; }; + 29A8E1881EF0476100AD2478 /* StringAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StringAttributes.h; sourceTree = ""; }; + 29A8E1891EF0476100AD2478 /* StringMute.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StringMute.cpp; sourceTree = ""; }; + 29A8E18A1EF0476100AD2478 /* StringMute.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StringMute.h; sourceTree = ""; }; + 29A8E18B1EF0476100AD2478 /* StringMuteAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StringMuteAttributes.cpp; sourceTree = ""; }; + 29A8E18C1EF0476100AD2478 /* StringMuteAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StringMuteAttributes.h; sourceTree = ""; }; + 29A8E18D1EF0476100AD2478 /* StrongAccent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StrongAccent.cpp; sourceTree = ""; }; + 29A8E18E1EF0476100AD2478 /* StrongAccent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StrongAccent.h; sourceTree = ""; }; + 29A8E18F1EF0476100AD2478 /* StrongAccentAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StrongAccentAttributes.cpp; sourceTree = ""; }; + 29A8E1901EF0476100AD2478 /* StrongAccentAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StrongAccentAttributes.h; sourceTree = ""; }; + 29A8E1911EF0476100AD2478 /* Suffix.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Suffix.cpp; sourceTree = ""; }; + 29A8E1921EF0476100AD2478 /* Suffix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Suffix.h; sourceTree = ""; }; + 29A8E1931EF0476100AD2478 /* SuffixAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SuffixAttributes.cpp; sourceTree = ""; }; + 29A8E1941EF0476100AD2478 /* SuffixAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SuffixAttributes.h; sourceTree = ""; }; + 29A8E1951EF0476100AD2478 /* Supports.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Supports.cpp; sourceTree = ""; }; + 29A8E1961EF0476100AD2478 /* Supports.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Supports.h; sourceTree = ""; }; + 29A8E1971EF0476100AD2478 /* SupportsAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SupportsAttributes.cpp; sourceTree = ""; }; + 29A8E1981EF0476100AD2478 /* SupportsAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SupportsAttributes.h; sourceTree = ""; }; + 29A8E1991EF0476100AD2478 /* Syllabic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Syllabic.cpp; sourceTree = ""; }; + 29A8E19A1EF0476100AD2478 /* Syllabic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Syllabic.h; sourceTree = ""; }; + 29A8E19B1EF0476100AD2478 /* SyllabicTextGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SyllabicTextGroup.cpp; sourceTree = ""; }; + 29A8E19C1EF0476100AD2478 /* SyllabicTextGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SyllabicTextGroup.h; sourceTree = ""; }; + 29A8E19D1EF0476100AD2478 /* SystemDistance.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SystemDistance.cpp; sourceTree = ""; }; + 29A8E19E1EF0476100AD2478 /* SystemDistance.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SystemDistance.h; sourceTree = ""; }; + 29A8E19F1EF0476100AD2478 /* SystemDividers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SystemDividers.cpp; sourceTree = ""; }; + 29A8E1A01EF0476100AD2478 /* SystemDividers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SystemDividers.h; sourceTree = ""; }; + 29A8E1A11EF0476100AD2478 /* SystemLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SystemLayout.cpp; sourceTree = ""; }; + 29A8E1A21EF0476100AD2478 /* SystemLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SystemLayout.h; sourceTree = ""; }; + 29A8E1A31EF0476100AD2478 /* SystemMargins.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SystemMargins.cpp; sourceTree = ""; }; + 29A8E1A41EF0476100AD2478 /* SystemMargins.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SystemMargins.h; sourceTree = ""; }; + 29A8E1A51EF0476100AD2478 /* Tap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Tap.cpp; sourceTree = ""; }; + 29A8E1A61EF0476100AD2478 /* Tap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Tap.h; sourceTree = ""; }; + 29A8E1A71EF0476100AD2478 /* TapAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TapAttributes.cpp; sourceTree = ""; }; + 29A8E1A81EF0476100AD2478 /* TapAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TapAttributes.h; sourceTree = ""; }; + 29A8E1A91EF0476100AD2478 /* Technical.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Technical.cpp; sourceTree = ""; }; + 29A8E1AA1EF0476100AD2478 /* Technical.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Technical.h; sourceTree = ""; }; + 29A8E1AB1EF0476100AD2478 /* TechnicalChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TechnicalChoice.cpp; sourceTree = ""; }; + 29A8E1AC1EF0476100AD2478 /* TechnicalChoice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TechnicalChoice.h; sourceTree = ""; }; + 29A8E1AD1EF0476100AD2478 /* Tenths.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Tenths.cpp; sourceTree = ""; }; + 29A8E1AE1EF0476100AD2478 /* Tenths.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Tenths.h; sourceTree = ""; }; + 29A8E1AF1EF0476100AD2478 /* Tenuto.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Tenuto.cpp; sourceTree = ""; }; + 29A8E1B01EF0476100AD2478 /* Tenuto.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Tenuto.h; sourceTree = ""; }; + 29A8E1B11EF0476100AD2478 /* Text.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Text.cpp; sourceTree = ""; }; + 29A8E1B21EF0476100AD2478 /* Text.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Text.h; sourceTree = ""; }; + 29A8E1B31EF0476100AD2478 /* TextAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextAttributes.cpp; sourceTree = ""; }; + 29A8E1B41EF0476100AD2478 /* TextAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextAttributes.h; sourceTree = ""; }; + 29A8E1B51EF0476100AD2478 /* ThumbPosition.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ThumbPosition.cpp; sourceTree = ""; }; + 29A8E1B61EF0476100AD2478 /* ThumbPosition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ThumbPosition.h; sourceTree = ""; }; + 29A8E1B71EF0476100AD2478 /* Tie.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Tie.cpp; sourceTree = ""; }; + 29A8E1B81EF0476100AD2478 /* Tie.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Tie.h; sourceTree = ""; }; + 29A8E1B91EF0476100AD2478 /* TieAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TieAttributes.cpp; sourceTree = ""; }; + 29A8E1BA1EF0476100AD2478 /* TieAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TieAttributes.h; sourceTree = ""; }; + 29A8E1BB1EF0476100AD2478 /* Tied.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Tied.cpp; sourceTree = ""; }; + 29A8E1BC1EF0476100AD2478 /* Tied.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Tied.h; sourceTree = ""; }; + 29A8E1BD1EF0476100AD2478 /* TiedAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TiedAttributes.cpp; sourceTree = ""; }; + 29A8E1BE1EF0476100AD2478 /* TiedAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TiedAttributes.h; sourceTree = ""; }; + 29A8E1BF1EF0476100AD2478 /* Time.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Time.cpp; sourceTree = ""; }; + 29A8E1C01EF0476100AD2478 /* Time.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Time.h; sourceTree = ""; }; + 29A8E1C11EF0476100AD2478 /* TimeAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TimeAttributes.cpp; sourceTree = ""; }; + 29A8E1C21EF0476100AD2478 /* TimeAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TimeAttributes.h; sourceTree = ""; }; + 29A8E1C31EF0476100AD2478 /* TimeChoice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TimeChoice.cpp; sourceTree = ""; }; + 29A8E1C41EF0476100AD2478 /* TimeChoice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TimeChoice.h; sourceTree = ""; }; + 29A8E1C51EF0476100AD2478 /* TimeModification.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TimeModification.cpp; sourceTree = ""; }; + 29A8E1C61EF0476100AD2478 /* TimeModification.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TimeModification.h; sourceTree = ""; }; + 29A8E1C71EF0476100AD2478 /* TimeModificationNormalTypeNormalDot.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TimeModificationNormalTypeNormalDot.cpp; sourceTree = ""; }; + 29A8E1C81EF0476100AD2478 /* TimeModificationNormalTypeNormalDot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TimeModificationNormalTypeNormalDot.h; sourceTree = ""; }; + 29A8E1C91EF0476100AD2478 /* TimeRelation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TimeRelation.cpp; sourceTree = ""; }; + 29A8E1CA1EF0476100AD2478 /* TimeRelation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TimeRelation.h; sourceTree = ""; }; + 29A8E1CB1EF0476100AD2478 /* TimeSignatureGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TimeSignatureGroup.cpp; sourceTree = ""; }; + 29A8E1CC1EF0476100AD2478 /* TimeSignatureGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TimeSignatureGroup.h; sourceTree = ""; }; + 29A8E1CD1EF0476100AD2478 /* TimewiseMeasure.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TimewiseMeasure.cpp; sourceTree = ""; }; + 29A8E1CE1EF0476100AD2478 /* TimewiseMeasure.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TimewiseMeasure.h; sourceTree = ""; }; + 29A8E1CF1EF0476100AD2478 /* TimewisePart.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TimewisePart.cpp; sourceTree = ""; }; + 29A8E1D01EF0476100AD2478 /* TimewisePart.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TimewisePart.h; sourceTree = ""; }; + 29A8E1D11EF0476100AD2478 /* Timpani.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Timpani.cpp; sourceTree = ""; }; + 29A8E1D21EF0476100AD2478 /* Timpani.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Timpani.h; sourceTree = ""; }; + 29A8E1D31EF0476100AD2478 /* Toe.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Toe.cpp; sourceTree = ""; }; + 29A8E1D41EF0476100AD2478 /* Toe.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Toe.h; sourceTree = ""; }; + 29A8E1D51EF0476100AD2478 /* ToeAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ToeAttributes.cpp; sourceTree = ""; }; + 29A8E1D61EF0476100AD2478 /* ToeAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ToeAttributes.h; sourceTree = ""; }; + 29A8E1D71EF0476100AD2478 /* TopMargin.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TopMargin.cpp; sourceTree = ""; }; + 29A8E1D81EF0476100AD2478 /* TopMargin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TopMargin.h; sourceTree = ""; }; + 29A8E1D91EF0476100AD2478 /* TopSystemDistance.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TopSystemDistance.cpp; sourceTree = ""; }; + 29A8E1DA1EF0476100AD2478 /* TopSystemDistance.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TopSystemDistance.h; sourceTree = ""; }; + 29A8E1DB1EF0476100AD2478 /* TouchingPitch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TouchingPitch.cpp; sourceTree = ""; }; + 29A8E1DC1EF0476200AD2478 /* TouchingPitch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TouchingPitch.h; sourceTree = ""; }; + 29A8E1DD1EF0476200AD2478 /* TraditionalKey.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TraditionalKey.cpp; sourceTree = ""; }; + 29A8E1DE1EF0476200AD2478 /* TraditionalKey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TraditionalKey.h; sourceTree = ""; }; + 29A8E1DF1EF0476200AD2478 /* Transpose.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Transpose.cpp; sourceTree = ""; }; + 29A8E1E01EF0476200AD2478 /* Transpose.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Transpose.h; sourceTree = ""; }; + 29A8E1E11EF0476200AD2478 /* TransposeAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TransposeAttributes.cpp; sourceTree = ""; }; + 29A8E1E21EF0476200AD2478 /* TransposeAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TransposeAttributes.h; sourceTree = ""; }; + 29A8E1E31EF0476200AD2478 /* Tremolo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Tremolo.cpp; sourceTree = ""; }; + 29A8E1E41EF0476200AD2478 /* Tremolo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Tremolo.h; sourceTree = ""; }; + 29A8E1E51EF0476200AD2478 /* TremoloAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TremoloAttributes.cpp; sourceTree = ""; }; + 29A8E1E61EF0476200AD2478 /* TremoloAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TremoloAttributes.h; sourceTree = ""; }; + 29A8E1E71EF0476200AD2478 /* TrillMark.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TrillMark.cpp; sourceTree = ""; }; + 29A8E1E81EF0476200AD2478 /* TrillMark.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TrillMark.h; sourceTree = ""; }; + 29A8E1E91EF0476200AD2478 /* TripleTongue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TripleTongue.cpp; sourceTree = ""; }; + 29A8E1EA1EF0476200AD2478 /* TripleTongue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TripleTongue.h; sourceTree = ""; }; + 29A8E1EB1EF0476200AD2478 /* TuningAlter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TuningAlter.cpp; sourceTree = ""; }; + 29A8E1EC1EF0476200AD2478 /* TuningAlter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TuningAlter.h; sourceTree = ""; }; + 29A8E1ED1EF0476200AD2478 /* TuningOctave.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TuningOctave.cpp; sourceTree = ""; }; + 29A8E1EE1EF0476200AD2478 /* TuningOctave.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TuningOctave.h; sourceTree = ""; }; + 29A8E1EF1EF0476200AD2478 /* TuningStep.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TuningStep.cpp; sourceTree = ""; }; + 29A8E1F01EF0476200AD2478 /* TuningStep.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TuningStep.h; sourceTree = ""; }; + 29A8E1F11EF0476200AD2478 /* Tuplet.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Tuplet.cpp; sourceTree = ""; }; + 29A8E1F21EF0476200AD2478 /* Tuplet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Tuplet.h; sourceTree = ""; }; + 29A8E1F31EF0476200AD2478 /* TupletActual.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TupletActual.cpp; sourceTree = ""; }; + 29A8E1F41EF0476200AD2478 /* TupletActual.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TupletActual.h; sourceTree = ""; }; + 29A8E1F51EF0476200AD2478 /* TupletAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TupletAttributes.cpp; sourceTree = ""; }; + 29A8E1F61EF0476200AD2478 /* TupletAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TupletAttributes.h; sourceTree = ""; }; + 29A8E1F71EF0476200AD2478 /* TupletDot.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TupletDot.cpp; sourceTree = ""; }; + 29A8E1F81EF0476200AD2478 /* TupletDot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TupletDot.h; sourceTree = ""; }; + 29A8E1F91EF0476200AD2478 /* TupletDotAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TupletDotAttributes.cpp; sourceTree = ""; }; + 29A8E1FA1EF0476200AD2478 /* TupletDotAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TupletDotAttributes.h; sourceTree = ""; }; + 29A8E1FB1EF0476200AD2478 /* TupletNormal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TupletNormal.cpp; sourceTree = ""; }; + 29A8E1FC1EF0476200AD2478 /* TupletNormal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TupletNormal.h; sourceTree = ""; }; + 29A8E1FD1EF0476200AD2478 /* TupletNumber.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TupletNumber.cpp; sourceTree = ""; }; + 29A8E1FE1EF0476200AD2478 /* TupletNumber.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TupletNumber.h; sourceTree = ""; }; + 29A8E1FF1EF0476200AD2478 /* TupletNumberAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TupletNumberAttributes.cpp; sourceTree = ""; }; + 29A8E2001EF0476200AD2478 /* TupletNumberAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TupletNumberAttributes.h; sourceTree = ""; }; + 29A8E2011EF0476200AD2478 /* TupletReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TupletReader.h; sourceTree = ""; }; + 29A8E2021EF0476200AD2478 /* TupletType.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TupletType.cpp; sourceTree = ""; }; + 29A8E2031EF0476200AD2478 /* TupletType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TupletType.h; sourceTree = ""; }; + 29A8E2041EF0476200AD2478 /* TupletTypeAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TupletTypeAttributes.cpp; sourceTree = ""; }; + 29A8E2051EF0476200AD2478 /* TupletTypeAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TupletTypeAttributes.h; sourceTree = ""; }; + 29A8E2061EF0476200AD2478 /* Turn.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Turn.cpp; sourceTree = ""; }; + 29A8E2071EF0476200AD2478 /* Turn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Turn.h; sourceTree = ""; }; + 29A8E2081EF0476200AD2478 /* TurnAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TurnAttributes.cpp; sourceTree = ""; }; + 29A8E2091EF0476200AD2478 /* TurnAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TurnAttributes.h; sourceTree = ""; }; + 29A8E20A1EF0476200AD2478 /* Type.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Type.cpp; sourceTree = ""; }; + 29A8E20B1EF0476200AD2478 /* Type.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Type.h; sourceTree = ""; }; + 29A8E20C1EF0476200AD2478 /* TypeAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TypeAttributes.cpp; sourceTree = ""; }; + 29A8E20D1EF0476200AD2478 /* TypeAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TypeAttributes.h; sourceTree = ""; }; + 29A8E20E1EF0476200AD2478 /* Unpitched.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Unpitched.cpp; sourceTree = ""; }; + 29A8E20F1EF0476200AD2478 /* Unpitched.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Unpitched.h; sourceTree = ""; }; + 29A8E2101EF0476200AD2478 /* Unstress.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Unstress.cpp; sourceTree = ""; }; + 29A8E2111EF0476200AD2478 /* Unstress.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Unstress.h; sourceTree = ""; }; + 29A8E2121EF0476200AD2478 /* UpBow.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UpBow.cpp; sourceTree = ""; }; + 29A8E2131EF0476200AD2478 /* UpBow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UpBow.h; sourceTree = ""; }; + 29A8E2141EF0476200AD2478 /* VerticalTurn.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VerticalTurn.cpp; sourceTree = ""; }; + 29A8E2151EF0476200AD2478 /* VerticalTurn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VerticalTurn.h; sourceTree = ""; }; + 29A8E2161EF0476200AD2478 /* VirtualInstrument.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VirtualInstrument.cpp; sourceTree = ""; }; + 29A8E2171EF0476200AD2478 /* VirtualInstrument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VirtualInstrument.h; sourceTree = ""; }; + 29A8E2181EF0476200AD2478 /* VirtualLibrary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VirtualLibrary.cpp; sourceTree = ""; }; + 29A8E2191EF0476200AD2478 /* VirtualLibrary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VirtualLibrary.h; sourceTree = ""; }; + 29A8E21A1EF0476200AD2478 /* VirtualName.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VirtualName.cpp; sourceTree = ""; }; + 29A8E21B1EF0476200AD2478 /* VirtualName.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VirtualName.h; sourceTree = ""; }; + 29A8E21C1EF0476200AD2478 /* Voice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Voice.cpp; sourceTree = ""; }; + 29A8E21D1EF0476200AD2478 /* Voice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Voice.h; sourceTree = ""; }; + 29A8E21E1EF0476200AD2478 /* Volume.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Volume.cpp; sourceTree = ""; }; + 29A8E21F1EF0476200AD2478 /* Volume.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Volume.h; sourceTree = ""; }; + 29A8E2201EF0476200AD2478 /* WavyLine.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WavyLine.cpp; sourceTree = ""; }; + 29A8E2211EF0476200AD2478 /* WavyLine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WavyLine.h; sourceTree = ""; }; + 29A8E2221EF0476200AD2478 /* WavyLineAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WavyLineAttributes.cpp; sourceTree = ""; }; + 29A8E2231EF0476200AD2478 /* WavyLineAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WavyLineAttributes.h; sourceTree = ""; }; + 29A8E2241EF0476200AD2478 /* Wedge.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Wedge.cpp; sourceTree = ""; }; + 29A8E2251EF0476200AD2478 /* Wedge.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Wedge.h; sourceTree = ""; }; + 29A8E2261EF0476200AD2478 /* WedgeAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WedgeAttributes.cpp; sourceTree = ""; }; + 29A8E2271EF0476200AD2478 /* WedgeAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WedgeAttributes.h; sourceTree = ""; }; + 29A8E2281EF0476200AD2478 /* WithBar.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WithBar.cpp; sourceTree = ""; }; + 29A8E2291EF0476200AD2478 /* WithBar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WithBar.h; sourceTree = ""; }; + 29A8E22A1EF0476200AD2478 /* WithBarAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WithBarAttributes.cpp; sourceTree = ""; }; + 29A8E22B1EF0476200AD2478 /* WithBarAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WithBarAttributes.h; sourceTree = ""; }; + 29A8E22C1EF0476200AD2478 /* Wood.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Wood.cpp; sourceTree = ""; }; + 29A8E22D1EF0476200AD2478 /* Wood.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Wood.h; sourceTree = ""; }; + 29A8E22E1EF0476200AD2478 /* WordFont.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WordFont.cpp; sourceTree = ""; }; + 29A8E22F1EF0476200AD2478 /* WordFont.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WordFont.h; sourceTree = ""; }; + 29A8E2301EF0476200AD2478 /* Words.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Words.cpp; sourceTree = ""; }; + 29A8E2311EF0476200AD2478 /* Words.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Words.h; sourceTree = ""; }; + 29A8E2321EF0476200AD2478 /* WordsAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WordsAttributes.cpp; sourceTree = ""; }; + 29A8E2331EF0476200AD2478 /* WordsAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WordsAttributes.h; sourceTree = ""; }; + 29A8E2341EF0476200AD2478 /* Work.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Work.cpp; sourceTree = ""; }; + 29A8E2351EF0476200AD2478 /* Work.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Work.h; sourceTree = ""; }; + 29A8E2361EF0476200AD2478 /* WorkNumber.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WorkNumber.cpp; sourceTree = ""; }; + 29A8E2371EF0476200AD2478 /* WorkNumber.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WorkNumber.h; sourceTree = ""; }; + 29A8E2381EF0476200AD2478 /* WorkTitle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WorkTitle.cpp; sourceTree = ""; }; + 29A8E2391EF0476200AD2478 /* WorkTitle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WorkTitle.h; sourceTree = ""; }; + 29A8E23A1EF0476200AD2478 /* Elements.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Elements.cpp; sourceTree = ""; }; + 29A8E23B1EF0476200AD2478 /* Elements.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Elements.h; sourceTree = ""; }; + 29A8E23C1EF0476200AD2478 /* EmptyPrintObjectStyleAlignAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EmptyPrintObjectStyleAlignAttributes.cpp; sourceTree = ""; }; + 29A8E23D1EF0476200AD2478 /* EmptyPrintObjectStyleAlignAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EmptyPrintObjectStyleAlignAttributes.h; sourceTree = ""; }; + 29A8E23E1EF0476200AD2478 /* Enums.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Enums.cpp; sourceTree = ""; }; + 29A8E23F1EF0476200AD2478 /* Enums.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Enums.h; sourceTree = ""; }; + 29A8E2401EF0476200AD2478 /* FontSize.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FontSize.cpp; sourceTree = ""; }; + 29A8E2411EF0476200AD2478 /* FontSize.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FontSize.h; sourceTree = ""; }; + 29A8E2421EF0476200AD2478 /* ForwardDeclare.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ForwardDeclare.h; sourceTree = ""; }; + 29A8E2431EF0476200AD2478 /* FromString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FromString.h; sourceTree = ""; }; + 29A8E2441EF0476200AD2478 /* FromXElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FromXElement.cpp; sourceTree = ""; }; + 29A8E2451EF0476200AD2478 /* FromXElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FromXElement.h; sourceTree = ""; }; + 29A8E2461EF0476200AD2478 /* Integers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Integers.cpp; sourceTree = ""; }; + 29A8E2471EF0476200AD2478 /* Integers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Integers.h; sourceTree = ""; }; + 29A8E2481EF0476200AD2478 /* NumberOrNormal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NumberOrNormal.cpp; sourceTree = ""; }; + 29A8E2491EF0476200AD2478 /* NumberOrNormal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NumberOrNormal.h; sourceTree = ""; }; + 29A8E24A1EF0476200AD2478 /* PositiveIntegerOrEmpty.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PositiveIntegerOrEmpty.cpp; sourceTree = ""; }; + 29A8E24B1EF0476200AD2478 /* PositiveIntegerOrEmpty.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PositiveIntegerOrEmpty.h; sourceTree = ""; }; + 29A8E24C1EF0476200AD2478 /* PreciseDecimal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PreciseDecimal.cpp; sourceTree = ""; }; + 29A8E24D1EF0476200AD2478 /* PreciseDecimal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PreciseDecimal.h; sourceTree = ""; }; + 29A8E24E1EF0476200AD2478 /* ScoreConversions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScoreConversions.cpp; sourceTree = ""; }; + 29A8E24F1EF0476200AD2478 /* ScoreConversions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScoreConversions.h; sourceTree = ""; }; + 29A8E2501EF0476200AD2478 /* Strings.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Strings.cpp; sourceTree = ""; }; + 29A8E2511EF0476200AD2478 /* Strings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Strings.h; sourceTree = ""; }; + 29A8E2521EF0476200AD2478 /* UnusedParameter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UnusedParameter.h; sourceTree = ""; }; + 29A8E2531EF0476200AD2478 /* YesNoNumber.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = YesNoNumber.cpp; sourceTree = ""; }; + 29A8E2541EF0476200AD2478 /* YesNoNumber.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YesNoNumber.h; sourceTree = ""; }; + 29A8E2561EF0476200AD2478 /* AccidentalMarkFunctions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccidentalMarkFunctions.cpp; sourceTree = ""; }; + 29A8E2571EF0476200AD2478 /* AccidentalMarkFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccidentalMarkFunctions.h; sourceTree = ""; }; + 29A8E2581EF0476200AD2478 /* ArticulationsFunctions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ArticulationsFunctions.cpp; sourceTree = ""; }; + 29A8E2591EF0476200AD2478 /* ArticulationsFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ArticulationsFunctions.h; sourceTree = ""; }; + 29A8E25A1EF0476200AD2478 /* Converter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Converter.cpp; sourceTree = ""; }; + 29A8E25B1EF0476200AD2478 /* Converter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Converter.h; sourceTree = ""; }; + 29A8E25C1EF0476200AD2478 /* Cursor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Cursor.cpp; sourceTree = ""; }; + 29A8E25D1EF0476200AD2478 /* Cursor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Cursor.h; sourceTree = ""; }; + 29A8E25E1EF0476200AD2478 /* CurveFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CurveFunctions.h; sourceTree = ""; }; + 29A8E25F1EF0476200AD2478 /* DirectionReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DirectionReader.cpp; sourceTree = ""; }; + 29A8E2601EF0476200AD2478 /* DirectionReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DirectionReader.h; sourceTree = ""; }; + 29A8E2611EF0476200AD2478 /* DirectionWriter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DirectionWriter.cpp; sourceTree = ""; }; + 29A8E2621EF0476200AD2478 /* DirectionWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DirectionWriter.h; sourceTree = ""; }; + 29A8E2631EF0476200AD2478 /* DynamicsReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DynamicsReader.cpp; sourceTree = ""; }; + 29A8E2641EF0476200AD2478 /* DynamicsReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DynamicsReader.h; sourceTree = ""; }; + 29A8E2651EF0476200AD2478 /* DynamicsWriter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DynamicsWriter.cpp; sourceTree = ""; }; + 29A8E2661EF0476200AD2478 /* DynamicsWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DynamicsWriter.h; sourceTree = ""; }; + 29A8E2671EF0476200AD2478 /* EncodingFunctions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EncodingFunctions.cpp; sourceTree = ""; }; + 29A8E2681EF0476200AD2478 /* EncodingFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EncodingFunctions.h; sourceTree = ""; }; + 29A8E2691EF0476200AD2478 /* FontFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FontFunctions.h; sourceTree = ""; }; + 29A8E26A1EF0476200AD2478 /* LayoutFunctions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LayoutFunctions.cpp; sourceTree = ""; }; + 29A8E26B1EF0476200AD2478 /* LayoutFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LayoutFunctions.h; sourceTree = ""; }; + 29A8E26C1EF0476200AD2478 /* LcmGcd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LcmGcd.cpp; sourceTree = ""; }; + 29A8E26D1EF0476200AD2478 /* LcmGcd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LcmGcd.h; sourceTree = ""; }; + 29A8E26E1EF0476200AD2478 /* LineFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LineFunctions.h; sourceTree = ""; }; + 29A8E26F1EF0476200AD2478 /* MarkDataFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MarkDataFunctions.h; sourceTree = ""; }; + 29A8E2701EF0476200AD2478 /* MeasureCursor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MeasureCursor.h; sourceTree = ""; }; + 29A8E2711EF0476200AD2478 /* MeasureReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MeasureReader.cpp; sourceTree = ""; }; + 29A8E2721EF0476200AD2478 /* MeasureReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MeasureReader.h; sourceTree = ""; }; + 29A8E2731EF0476200AD2478 /* MeasureWriter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MeasureWriter.cpp; sourceTree = ""; }; + 29A8E2741EF0476200AD2478 /* MeasureWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MeasureWriter.h; sourceTree = ""; }; + 29A8E2751EF0476200AD2478 /* MetronomeReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MetronomeReader.cpp; sourceTree = ""; }; + 29A8E2761EF0476200AD2478 /* MetronomeReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MetronomeReader.h; sourceTree = ""; }; + 29A8E2771EF0476200AD2478 /* MxVersionDefines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MxVersionDefines.h; sourceTree = ""; }; + 29A8E2781EF0476200AD2478 /* NotationsWriter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NotationsWriter.cpp; sourceTree = ""; }; + 29A8E2791EF0476200AD2478 /* NotationsWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NotationsWriter.h; sourceTree = ""; }; + 29A8E27A1EF0476200AD2478 /* NoteFunctions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NoteFunctions.cpp; sourceTree = ""; }; + 29A8E27B1EF0476200AD2478 /* NoteFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NoteFunctions.h; sourceTree = ""; }; + 29A8E27C1EF0476200AD2478 /* NoteReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NoteReader.cpp; sourceTree = ""; }; + 29A8E27D1EF0476200AD2478 /* NoteReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NoteReader.h; sourceTree = ""; }; + 29A8E27E1EF0476200AD2478 /* NoteWriter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NoteWriter.cpp; sourceTree = ""; }; + 29A8E27F1EF0476200AD2478 /* NoteWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NoteWriter.h; sourceTree = ""; }; + 29A8E2801EF0476200AD2478 /* OrnamentsFunctions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OrnamentsFunctions.cpp; sourceTree = ""; }; + 29A8E2811EF0476200AD2478 /* OrnamentsFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OrnamentsFunctions.h; sourceTree = ""; }; + 29A8E2821EF0476200AD2478 /* PageTextFunctions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PageTextFunctions.cpp; sourceTree = ""; }; + 29A8E2831EF0476200AD2478 /* PageTextFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PageTextFunctions.h; sourceTree = ""; }; + 29A8E2841EF0476200AD2478 /* PartReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PartReader.cpp; sourceTree = ""; }; + 29A8E2851EF0476200AD2478 /* PartReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PartReader.h; sourceTree = ""; }; + 29A8E2861EF0476300AD2478 /* PartWriter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PartWriter.cpp; sourceTree = ""; }; + 29A8E2871EF0476300AD2478 /* PartWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PartWriter.h; sourceTree = ""; }; + 29A8E2881EF0476300AD2478 /* PositionFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PositionFunctions.h; sourceTree = ""; }; + 29A8E2891EF0476300AD2478 /* PrintFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PrintFunctions.h; sourceTree = ""; }; + 29A8E28A1EF0476300AD2478 /* PropertiesWriter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PropertiesWriter.cpp; sourceTree = ""; }; + 29A8E28B1EF0476300AD2478 /* PropertiesWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PropertiesWriter.h; sourceTree = ""; }; + 29A8E28C1EF0476300AD2478 /* ScoreReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScoreReader.cpp; sourceTree = ""; }; + 29A8E28D1EF0476300AD2478 /* ScoreReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScoreReader.h; sourceTree = ""; }; + 29A8E28E1EF0476300AD2478 /* ScoreWriter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScoreWriter.cpp; sourceTree = ""; }; + 29A8E28F1EF0476300AD2478 /* ScoreWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScoreWriter.h; sourceTree = ""; }; + 29A8E2901EF0476300AD2478 /* SmuflGlyphMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SmuflGlyphMap.h; sourceTree = ""; }; + 29A8E2911EF0476300AD2478 /* SpannerFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpannerFunctions.h; sourceTree = ""; }; + 29A8E2921EF0476300AD2478 /* StaffFunctions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StaffFunctions.cpp; sourceTree = ""; }; + 29A8E2931EF0476300AD2478 /* StaffFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StaffFunctions.h; sourceTree = ""; }; + 29A8E2941EF0476300AD2478 /* TechnicalFunctions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TechnicalFunctions.cpp; sourceTree = ""; }; + 29A8E2951EF0476300AD2478 /* TechnicalFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TechnicalFunctions.h; sourceTree = ""; }; + 29A8E2961EF0476300AD2478 /* TimeReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TimeReader.cpp; sourceTree = ""; }; + 29A8E2971EF0476300AD2478 /* TimeReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TimeReader.h; sourceTree = ""; }; + 29A8E2981EF0476300AD2478 /* TupletReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TupletReader.cpp; sourceTree = ""; }; + 29A8E2991EF0476300AD2478 /* TupletReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TupletReader.h; sourceTree = ""; }; + 29A8E29B1EF0476300AD2478 /* pugiconfig.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = pugiconfig.hpp; sourceTree = ""; }; + 29A8E29C1EF0476300AD2478 /* pugixml.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pugixml.cpp; sourceTree = ""; }; + 29A8E29D1EF0476300AD2478 /* pugixml.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = pugixml.hpp; sourceTree = ""; }; + 29A8E29F1EF0476300AD2478 /* Enum.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Enum.h; sourceTree = ""; }; + 29A8E2A01EF0476300AD2478 /* EnumWithString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EnumWithString.h; sourceTree = ""; }; + 29A8E2A11EF0476300AD2478 /* JitAllocate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JitAllocate.h; sourceTree = ""; }; + 29A8E2A21EF0476300AD2478 /* Lock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Lock.h; sourceTree = ""; }; + 29A8E2A31EF0476300AD2478 /* OptionalMembers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OptionalMembers.h; sourceTree = ""; }; + 29A8E2A41EF0476300AD2478 /* Parse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Parse.h; sourceTree = ""; }; + 29A8E2A51EF0476300AD2478 /* StringToInt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StringToInt.h; sourceTree = ""; }; + 29A8E2A61EF0476300AD2478 /* Throw.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Throw.h; sourceTree = ""; }; + 29A8E2A71EF0476300AD2478 /* Utility.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Utility.cpp; sourceTree = ""; }; + 29A8E2A81EF0476300AD2478 /* Utility.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Utility.h; sourceTree = ""; }; + 29A8E2A91EF0476300AD2478 /* UtilityImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UtilityImpl.cpp; sourceTree = ""; }; + 29A8E2AA1EF0476300AD2478 /* UtilityImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UtilityImpl.h; sourceTree = ""; }; + 29A8E2AC1EF0476300AD2478 /* PugiAttribute.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PugiAttribute.cpp; sourceTree = ""; }; + 29A8E2AD1EF0476300AD2478 /* PugiAttribute.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PugiAttribute.h; sourceTree = ""; }; + 29A8E2AE1EF0476300AD2478 /* PugiAttributeIterImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PugiAttributeIterImpl.cpp; sourceTree = ""; }; + 29A8E2AF1EF0476300AD2478 /* PugiAttributeIterImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PugiAttributeIterImpl.h; sourceTree = ""; }; + 29A8E2B01EF0476300AD2478 /* PugiDoc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PugiDoc.cpp; sourceTree = ""; }; + 29A8E2B11EF0476300AD2478 /* PugiDoc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PugiDoc.h; sourceTree = ""; }; + 29A8E2B21EF0476300AD2478 /* PugiElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PugiElement.cpp; sourceTree = ""; }; + 29A8E2B31EF0476300AD2478 /* PugiElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PugiElement.h; sourceTree = ""; }; + 29A8E2B41EF0476300AD2478 /* PugiElementIterImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PugiElementIterImpl.cpp; sourceTree = ""; }; + 29A8E2B51EF0476300AD2478 /* PugiElementIterImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PugiElementIterImpl.h; sourceTree = ""; }; + 29A8E2B61EF0476300AD2478 /* XAttribute.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XAttribute.h; sourceTree = ""; }; + 29A8E2B71EF0476300AD2478 /* XAttributeIterator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = XAttributeIterator.cpp; sourceTree = ""; }; + 29A8E2B81EF0476300AD2478 /* XAttributeIterator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XAttributeIterator.h; sourceTree = ""; }; + 29A8E2B91EF0476300AD2478 /* XAttributeIterImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XAttributeIterImpl.h; sourceTree = ""; }; + 29A8E2BA1EF0476300AD2478 /* XDoc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XDoc.h; sourceTree = ""; }; + 29A8E2BB1EF0476300AD2478 /* XDocSpec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XDocSpec.h; sourceTree = ""; }; + 29A8E2BC1EF0476300AD2478 /* XElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XElement.h; sourceTree = ""; }; + 29A8E2BD1EF0476300AD2478 /* XElementIterator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = XElementIterator.cpp; sourceTree = ""; }; + 29A8E2BE1EF0476300AD2478 /* XElementIterator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XElementIterator.h; sourceTree = ""; }; + 29A8E2BF1EF0476300AD2478 /* XElementIterImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XElementIterImpl.h; sourceTree = ""; }; + 29A8E2C01EF0476300AD2478 /* XFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = XFactory.cpp; sourceTree = ""; }; + 29A8E2C11EF0476300AD2478 /* XFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XFactory.h; sourceTree = ""; }; + 29A8E2C21EF0476300AD2478 /* XForwardDeclare.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XForwardDeclare.h; sourceTree = ""; }; + 29A8E2C31EF0476300AD2478 /* XThrow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XThrow.h; sourceTree = ""; }; + 29A8FDC21EF0497400AD2478 /* MxmacOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MxmacOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 29A8FDC41EF0497500AD2478 /* MxmacOS.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MxmacOS.h; sourceTree = ""; }; + 29A8FDC51EF0497500AD2478 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 29B962811E79FF410072071D /* MxiOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MxiOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 29B962831E79FF410072071D /* MxiOS.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MxiOS.h; sourceTree = ""; }; 29B962841E79FF410072071D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 29B965291E7A04140072071D /* MxmacOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MxmacOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 29B9652B1E7A04140072071D /* MxmacOS.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MxmacOS.h; sourceTree = ""; }; - 29B9652C1E7A04140072071D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 29C01AE01D130B690094BE61 /* AttributesInterface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AttributesInterface.cpp; path = ../Sourcecode/Mx/core/AttributesInterface.cpp; sourceTree = ""; }; - 29C01AE11D130B690094BE61 /* AttributesInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AttributesInterface.h; path = ../Sourcecode/Mx/core/AttributesInterface.h; sourceTree = ""; }; - 29C01AE21D130B690094BE61 /* Color.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Color.cpp; path = ../Sourcecode/Mx/core/Color.cpp; sourceTree = ""; }; - 29C01AE31D130B690094BE61 /* Color.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Color.h; path = ../Sourcecode/Mx/core/Color.h; sourceTree = ""; }; - 29C01AE41D130B690094BE61 /* Date.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Date.cpp; path = ../Sourcecode/Mx/core/Date.cpp; sourceTree = ""; }; - 29C01AE51D130B690094BE61 /* Date.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Date.h; path = ../Sourcecode/Mx/core/Date.h; sourceTree = ""; }; - 29C01AE61D130B690094BE61 /* Decimals.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Decimals.cpp; path = ../Sourcecode/Mx/core/Decimals.cpp; sourceTree = ""; }; - 29C01AE71D130B690094BE61 /* Decimals.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Decimals.h; path = ../Sourcecode/Mx/core/Decimals.h; sourceTree = ""; }; - 29C01AE81D130B690094BE61 /* Document.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Document.cpp; path = ../Sourcecode/Mx/core/Document.cpp; sourceTree = ""; }; - 29C01AE91D130B690094BE61 /* Document.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Document.h; path = ../Sourcecode/Mx/core/Document.h; sourceTree = ""; }; - 29C01AEA1D130B690094BE61 /* DocumentHeader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DocumentHeader.cpp; path = ../Sourcecode/Mx/core/DocumentHeader.cpp; sourceTree = ""; }; - 29C01AEB1D130B690094BE61 /* DocumentHeader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DocumentHeader.h; path = ../Sourcecode/Mx/core/DocumentHeader.h; sourceTree = ""; }; - 29C01AEE1D130B690094BE61 /* DocumentSpec.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DocumentSpec.cpp; path = ../Sourcecode/Mx/core/DocumentSpec.cpp; sourceTree = ""; }; - 29C01AEF1D130B690094BE61 /* DocumentSpec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DocumentSpec.h; path = ../Sourcecode/Mx/core/DocumentSpec.h; sourceTree = ""; }; - 29C01AF21D130B690094BE61 /* ElementInterface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ElementInterface.cpp; path = ../Sourcecode/Mx/core/ElementInterface.cpp; sourceTree = ""; }; - 29C01AF31D130B690094BE61 /* ElementInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ElementInterface.h; path = ../Sourcecode/Mx/core/ElementInterface.h; sourceTree = ""; }; - 29C01AF51D130B690094BE61 /* Elements.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Elements.h; path = ../Sourcecode/Mx/core/Elements.h; sourceTree = ""; }; - 29C01AF61D130B690094BE61 /* EmptyPrintObjectStyleAlignAttributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = EmptyPrintObjectStyleAlignAttributes.cpp; path = ../Sourcecode/Mx/core/EmptyPrintObjectStyleAlignAttributes.cpp; sourceTree = ""; }; - 29C01AF71D130B690094BE61 /* EmptyPrintObjectStyleAlignAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EmptyPrintObjectStyleAlignAttributes.h; path = ../Sourcecode/Mx/core/EmptyPrintObjectStyleAlignAttributes.h; sourceTree = ""; }; - 29C01AF81D130B690094BE61 /* Enums.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Enums.cpp; path = ../Sourcecode/Mx/core/Enums.cpp; sourceTree = ""; }; - 29C01AF91D130B690094BE61 /* Enums.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Enums.h; path = ../Sourcecode/Mx/core/Enums.h; sourceTree = ""; }; - 29C01AFA1D130B690094BE61 /* FontSize.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FontSize.cpp; path = ../Sourcecode/Mx/core/FontSize.cpp; sourceTree = ""; }; - 29C01AFB1D130B690094BE61 /* FontSize.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FontSize.h; path = ../Sourcecode/Mx/core/FontSize.h; sourceTree = ""; }; - 29C01AFC1D130B690094BE61 /* Integers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Integers.cpp; path = ../Sourcecode/Mx/core/Integers.cpp; sourceTree = ""; }; - 29C01AFD1D130B690094BE61 /* Integers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Integers.h; path = ../Sourcecode/Mx/core/Integers.h; sourceTree = ""; }; - 29C01AFE1D130B690094BE61 /* NumberOrNormal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NumberOrNormal.cpp; path = ../Sourcecode/Mx/core/NumberOrNormal.cpp; sourceTree = ""; }; - 29C01AFF1D130B690094BE61 /* NumberOrNormal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NumberOrNormal.h; path = ../Sourcecode/Mx/core/NumberOrNormal.h; sourceTree = ""; }; - 29C01B001D130B690094BE61 /* PositiveIntegerOrEmpty.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PositiveIntegerOrEmpty.cpp; path = ../Sourcecode/Mx/core/PositiveIntegerOrEmpty.cpp; sourceTree = ""; }; - 29C01B011D130B690094BE61 /* PositiveIntegerOrEmpty.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PositiveIntegerOrEmpty.h; path = ../Sourcecode/Mx/core/PositiveIntegerOrEmpty.h; sourceTree = ""; }; - 29C01B021D130B690094BE61 /* Strings.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Strings.cpp; path = ../Sourcecode/Mx/core/Strings.cpp; sourceTree = ""; }; - 29C01B031D130B690094BE61 /* Strings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Strings.h; path = ../Sourcecode/Mx/core/Strings.h; sourceTree = ""; }; - 29C01B041D130B690094BE61 /* YesNoNumber.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = YesNoNumber.cpp; path = ../Sourcecode/Mx/core/YesNoNumber.cpp; sourceTree = ""; }; - 29C01B051D130B690094BE61 /* YesNoNumber.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = YesNoNumber.h; path = ../Sourcecode/Mx/core/YesNoNumber.h; sourceTree = ""; }; - 29C01B2C1D130B910094BE61 /* Parse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Parse.h; path = ../Sourcecode/Mx/utility/Parse.h; sourceTree = ""; }; - 29C01B2D1D130B910094BE61 /* Utility.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Utility.cpp; path = ../Sourcecode/Mx/utility/Utility.cpp; sourceTree = ""; }; - 29C01B2E1D130B910094BE61 /* Utility.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Utility.h; path = ../Sourcecode/Mx/utility/Utility.h; sourceTree = ""; }; - 29C01B2F1D130B910094BE61 /* UtilityImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = UtilityImpl.cpp; path = ../Sourcecode/Mx/utility/UtilityImpl.cpp; sourceTree = ""; }; - 29C01B301D130B910094BE61 /* UtilityImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UtilityImpl.h; path = ../Sourcecode/Mx/utility/UtilityImpl.h; sourceTree = ""; }; - 29C01B5C1D130BBE0094BE61 /* pugiconfig.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = pugiconfig.hpp; path = ../Sourcecode/Mx/pugixml/pugiconfig.hpp; sourceTree = ""; }; - 29C01B5D1D130BBE0094BE61 /* pugixml.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = pugixml.cpp; path = ../Sourcecode/Mx/pugixml/pugixml.cpp; sourceTree = ""; }; - 29C01B5E1D130BBE0094BE61 /* pugixml.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = pugixml.hpp; path = ../Sourcecode/Mx/pugixml/pugixml.hpp; sourceTree = ""; }; - 29C175971DC0048700CC48D7 /* OttavaData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OttavaData.h; path = ../Sourcecode/mx/api/OttavaData.h; sourceTree = ""; }; - 29C175991DC00FD200CC48D7 /* SpannerFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SpannerFunctions.h; path = ../Sourcecode/mx/impl/SpannerFunctions.h; sourceTree = ""; }; - 29C1759A1DC00FD200CC48D7 /* LineFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LineFunctions.h; path = ../Sourcecode/mx/impl/LineFunctions.h; sourceTree = ""; }; - 29C29B841DAEC00C00D3A884 /* ScoreReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScoreReader.cpp; path = ../Sourcecode/mx/impl/ScoreReader.cpp; sourceTree = ""; }; - 29C29B851DAEC00C00D3A884 /* ScoreReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScoreReader.h; path = ../Sourcecode/mx/impl/ScoreReader.h; sourceTree = ""; }; - 29C29B861DAEC00C00D3A884 /* ScoreWriter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScoreWriter.cpp; path = ../Sourcecode/mx/impl/ScoreWriter.cpp; sourceTree = ""; }; - 29C29B871DAEC00C00D3A884 /* ScoreWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScoreWriter.h; path = ../Sourcecode/mx/impl/ScoreWriter.h; sourceTree = ""; }; - 29C51A1C1D9ED3A200EAA308 /* Smufl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Smufl.h; path = ../Sourcecode/mx/api/Smufl.h; sourceTree = ""; }; - 29C51A1D1D9ED91000EAA308 /* Smufl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Smufl.cpp; path = ../Sourcecode/mx/api/Smufl.cpp; sourceTree = ""; }; - 29C51A201D9EFCB000EAA308 /* SmuflGlyphMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SmuflGlyphMap.h; path = ../Sourcecode/mx/impl/SmuflGlyphMap.h; sourceTree = ""; }; - 29C51A221D9F05AD00EAA308 /* MeasureLocation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MeasureLocation.h; path = ../Sourcecode/mx/api/MeasureLocation.h; sourceTree = ""; }; - 29C51A4C1D9F061600EAA308 /* MeasureLocation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MeasureLocation.cpp; path = ../Sourcecode/mx/api/MeasureLocation.cpp; sourceTree = ""; }; - 29C51A4E1D9F0B6000EAA308 /* MarkData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MarkData.h; path = ../Sourcecode/mx/api/MarkData.h; sourceTree = ""; }; - 29C51A501D9F18BA00EAA308 /* FontData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FontData.h; path = ../Sourcecode/mx/api/FontData.h; sourceTree = ""; }; - 29C51A521D9F18C600EAA308 /* PrintData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PrintData.h; path = ../Sourcecode/mx/api/PrintData.h; sourceTree = ""; }; - 29CD72261DB806FD00FB7153 /* PropertiesWriter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PropertiesWriter.cpp; path = ../Sourcecode/mx/impl/PropertiesWriter.cpp; sourceTree = ""; }; - 29CD72271DB806FD00FB7153 /* PropertiesWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PropertiesWriter.h; path = ../Sourcecode/mx/impl/PropertiesWriter.h; sourceTree = ""; }; - 29CD722A1DB82C9200FB7153 /* DirectionWriter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DirectionWriter.cpp; path = ../Sourcecode/mx/impl/DirectionWriter.cpp; sourceTree = ""; }; - 29CD722B1DB82C9200FB7153 /* DirectionWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DirectionWriter.h; path = ../Sourcecode/mx/impl/DirectionWriter.h; sourceTree = ""; }; - 29CDDA2B1DADCAF30022B1A3 /* PartWriter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PartWriter.cpp; path = ../Sourcecode/mx/impl/PartWriter.cpp; sourceTree = ""; }; - 29CDDA2C1DADCAF30022B1A3 /* PartWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PartWriter.h; path = ../Sourcecode/mx/impl/PartWriter.h; sourceTree = ""; }; - 29D35E7A1D28DD8E00EC2CAE /* ForwardDeclare.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ForwardDeclare.h; path = ../Sourcecode/mx/core/ForwardDeclare.h; sourceTree = ""; }; - 29DB30A01DA0713200031477 /* MarkData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MarkData.cpp; path = ../Sourcecode/mx/api/MarkData.cpp; sourceTree = ""; }; - 29DC06EE1D7E5A8300210B7E /* StaffData.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = StaffData.h; path = ../Sourcecode/mx/api/StaffData.h; sourceTree = ""; }; - 29DC06EF1D7E5B2A00210B7E /* MeasureData.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MeasureData.h; path = ../Sourcecode/mx/api/MeasureData.h; sourceTree = ""; }; - 29DC06F01D7E5BBF00210B7E /* VoiceData.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = VoiceData.h; path = ../Sourcecode/mx/api/VoiceData.h; sourceTree = ""; }; - 29E2B3C81DA81E9700DC61EA /* MeasureReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MeasureReader.cpp; path = ../Sourcecode/mx/impl/MeasureReader.cpp; sourceTree = ""; }; - 29E2B3C91DA81E9700DC61EA /* MeasureReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MeasureReader.h; path = ../Sourcecode/mx/impl/MeasureReader.h; sourceTree = ""; }; - 29E2B3CA1DA81E9700DC61EA /* PartReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PartReader.cpp; path = ../Sourcecode/mx/impl/PartReader.cpp; sourceTree = ""; }; - 29E2B3CB1DA81E9700DC61EA /* PartReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PartReader.h; path = ../Sourcecode/mx/impl/PartReader.h; sourceTree = ""; }; - 29E33EA21D99C9AA001BD2EE /* StringToInt.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = StringToInt.h; path = ../Sourcecode/mx/utility/StringToInt.h; sourceTree = ""; }; 29E8C22C1DD2920C00E8CEBA /* libmx-iOS.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libmx-iOS.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; - 29E9C5391DA470BC0040183B /* SpannerData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SpannerData.h; path = ../Sourcecode/mx/api/SpannerData.h; sourceTree = ""; }; - 29E9C55D1DA49DAF0040183B /* LineData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LineData.h; path = ../Sourcecode/mx/api/LineData.h; sourceTree = ""; }; - 29E9C55E1DA49DAF0040183B /* DurationData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DurationData.h; path = ../Sourcecode/mx/api/DurationData.h; sourceTree = ""; }; - 29E9C5611DA49F2D0040183B /* PitchData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PitchData.h; path = ../Sourcecode/mx/api/PitchData.h; sourceTree = ""; }; - 29E9EA341DA4A80A0040183B /* PitchData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PitchData.cpp; path = ../Sourcecode/mx/api/PitchData.cpp; sourceTree = ""; }; - 29E9EA351DA4A80A0040183B /* NoteData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NoteData.cpp; path = ../Sourcecode/mx/api/NoteData.cpp; sourceTree = ""; }; - 29E9EA361DA4A80A0040183B /* DurationData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DurationData.cpp; path = ../Sourcecode/mx/api/DurationData.cpp; sourceTree = ""; }; - 29EF2F781DA2CC1D001FE5DF /* ArticulationsFunctions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ArticulationsFunctions.cpp; path = ../Sourcecode/mx/impl/ArticulationsFunctions.cpp; sourceTree = ""; }; - 29EF2F791DA2CC1D001FE5DF /* ArticulationsFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ArticulationsFunctions.h; path = ../Sourcecode/mx/impl/ArticulationsFunctions.h; sourceTree = ""; }; - 29EF2F7C1DA2D450001FE5DF /* DynamicsReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DynamicsReader.cpp; path = ../Sourcecode/mx/impl/DynamicsReader.cpp; sourceTree = ""; }; - 29EF2F7D1DA2D450001FE5DF /* DynamicsReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DynamicsReader.h; path = ../Sourcecode/mx/impl/DynamicsReader.h; sourceTree = ""; }; - 29EF2F801DA2E966001FE5DF /* MarkDataFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MarkDataFunctions.h; path = ../Sourcecode/mx/impl/MarkDataFunctions.h; sourceTree = ""; }; - 29EF2FE91DA307D3001FE5DF /* AccidentalMarkFunctions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AccidentalMarkFunctions.cpp; path = ../Sourcecode/mx/impl/AccidentalMarkFunctions.cpp; sourceTree = ""; }; - 29EF2FEA1DA307D3001FE5DF /* AccidentalMarkFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AccidentalMarkFunctions.h; path = ../Sourcecode/mx/impl/AccidentalMarkFunctions.h; sourceTree = ""; }; - 29EF2FF11DA307D3001FE5DF /* OrnamentsFunctions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OrnamentsFunctions.cpp; path = ../Sourcecode/mx/impl/OrnamentsFunctions.cpp; sourceTree = ""; }; - 29EF2FF21DA307D3001FE5DF /* OrnamentsFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OrnamentsFunctions.h; path = ../Sourcecode/mx/impl/OrnamentsFunctions.h; sourceTree = ""; }; - 29EF30011DA32E37001FE5DF /* TechnicalFunctions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TechnicalFunctions.cpp; path = ../Sourcecode/mx/impl/TechnicalFunctions.cpp; sourceTree = ""; }; - 29EF30021DA32E37001FE5DF /* TechnicalFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TechnicalFunctions.h; path = ../Sourcecode/mx/impl/TechnicalFunctions.h; sourceTree = ""; }; - 29EF44081D6E6D2600DBDAB9 /* NoteData.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = NoteData.h; path = ../Sourcecode/mx/api/NoteData.h; sourceTree = ""; }; - 29EF44091D6E70D300DBDAB9 /* DocumentManager.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = DocumentManager.cpp; path = ../Sourcecode/mx/api/DocumentManager.cpp; sourceTree = ""; }; - 29EF440A1D6E70D300DBDAB9 /* DocumentManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DocumentManager.h; path = ../Sourcecode/mx/api/DocumentManager.h; sourceTree = ""; }; - 29EF440C1D6E70D300DBDAB9 /* ScoreData.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ScoreData.h; path = ../Sourcecode/mx/api/ScoreData.h; sourceTree = ""; }; - 29F492B01D792B2F00C7C4B8 /* Lock.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Lock.h; path = ../Sourcecode/mx/utility/Lock.h; sourceTree = ""; }; - 29FFAC7F1DB9C8B600DC8AE1 /* CurveData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CurveData.h; path = ../Sourcecode/mx/api/CurveData.h; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -4742,14 +4723,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 29B9627D1E79FF410072071D /* Frameworks */ = { + 29A8FDBE1EF0497400AD2478 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 29B965251E7A04140072071D /* Frameworks */ = { + 29B9627D1E79FF410072071D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( @@ -4766,1502 +4747,1496 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 291200E31D0BD5A4000B5033 /* pugixml */ = { - isa = PBXGroup; - children = ( - 29C01B5C1D130BBE0094BE61 /* pugiconfig.hpp */, - 29C01B5D1D130BBE0094BE61 /* pugixml.cpp */, - 29C01B5E1D130BBE0094BE61 /* pugixml.hpp */, - ); - name = pugixml; - sourceTree = ""; - }; - 2912011E1D0C9A17000B5033 /* core */ = { - isa = PBXGroup; - children = ( - 29C01AE01D130B690094BE61 /* AttributesInterface.cpp */, - 29C01AE11D130B690094BE61 /* AttributesInterface.h */, - 29C01AE21D130B690094BE61 /* Color.cpp */, - 29C01AE31D130B690094BE61 /* Color.h */, - 29C01AE41D130B690094BE61 /* Date.cpp */, - 29C01AE51D130B690094BE61 /* Date.h */, - 29C01AE61D130B690094BE61 /* Decimals.cpp */, - 29C01AE71D130B690094BE61 /* Decimals.h */, - 29C01AE81D130B690094BE61 /* Document.cpp */, - 29C01AE91D130B690094BE61 /* Document.h */, - 29C01AEA1D130B690094BE61 /* DocumentHeader.cpp */, - 29C01AEB1D130B690094BE61 /* DocumentHeader.h */, - 29C01AEE1D130B690094BE61 /* DocumentSpec.cpp */, - 29C01AEF1D130B690094BE61 /* DocumentSpec.h */, - 29C01AF21D130B690094BE61 /* ElementInterface.cpp */, - 29C01AF31D130B690094BE61 /* ElementInterface.h */, - 296AA54A1D28768300711005 /* elements */, - 29C01AF51D130B690094BE61 /* Elements.h */, - 29C01AF61D130B690094BE61 /* EmptyPrintObjectStyleAlignAttributes.cpp */, - 29C01AF71D130B690094BE61 /* EmptyPrintObjectStyleAlignAttributes.h */, - 29C01AF81D130B690094BE61 /* Enums.cpp */, - 29C01AF91D130B690094BE61 /* Enums.h */, - 29C01AFA1D130B690094BE61 /* FontSize.cpp */, - 29C01AFB1D130B690094BE61 /* FontSize.h */, - 29D35E7A1D28DD8E00EC2CAE /* ForwardDeclare.h */, - 295DDE0F1D2C0D4D00A2881D /* FromXElement.cpp */, - 295DDE0E1D2C0D4400A2881D /* FromXElement.h */, - 29C01AFC1D130B690094BE61 /* Integers.cpp */, - 29C01AFD1D130B690094BE61 /* Integers.h */, - 29C01AFE1D130B690094BE61 /* NumberOrNormal.cpp */, - 29C01AFF1D130B690094BE61 /* NumberOrNormal.h */, - 29C01B001D130B690094BE61 /* PositiveIntegerOrEmpty.cpp */, - 29C01B011D130B690094BE61 /* PositiveIntegerOrEmpty.h */, - 29A16F821EB10CDB00D59278 /* PreciseDecimal.cpp */, - 29A16F831EB10CDB00D59278 /* PreciseDecimal.h */, - 2951A0C31D60F3B700B49A13 /* ScoreConversions.cpp */, - 2951A0C41D60F3B700B49A13 /* ScoreConversions.h */, - 29C01B021D130B690094BE61 /* Strings.cpp */, - 29C01B031D130B690094BE61 /* Strings.h */, - 29421B331D27FECC00DBC7C3 /* UnusedParameter.h */, - 29C01B041D130B690094BE61 /* YesNoNumber.cpp */, - 29C01B051D130B690094BE61 /* YesNoNumber.h */, - ); - name = core; - sourceTree = ""; - }; - 2912011F1D0C9A2F000B5033 /* utility */ = { + 2933AA911DA5A51D005D7222 /* build */ = { isa = PBXGroup; children = ( - 294847721D5ADD550025138E /* Throw.h */, - 29C01B2C1D130B910094BE61 /* Parse.h */, - 29C01B2D1D130B910094BE61 /* Utility.cpp */, - 29C01B2E1D130B910094BE61 /* Utility.h */, - 29C01B2F1D130B910094BE61 /* UtilityImpl.cpp */, - 29C01B301D130B910094BE61 /* UtilityImpl.h */, - 29F492B01D792B2F00C7C4B8 /* Lock.h */, - 29E33EA21D99C9AA001BD2EE /* StringToInt.h */, + 299F7FE71CA8D2200084CAE5 /* Products */, ); - name = utility; + name = build; sourceTree = ""; }; - 2912013D1D0CA700000B5033 /* xml */ = { + 299F7FDD1CA8D2200084CAE5 = { isa = PBXGroup; children = ( - 2937D1451D18D403001C2A1A /* PugiAttribute.cpp */, - 2937D1461D18D403001C2A1A /* PugiAttribute.h */, - 2937D1471D18D403001C2A1A /* PugiAttributeIterImpl.cpp */, - 2937D1481D18D403001C2A1A /* PugiAttributeIterImpl.h */, - 2937D1491D18D403001C2A1A /* PugiDoc.cpp */, - 2937D14A1D18D403001C2A1A /* PugiDoc.h */, - 2937D14B1D18D403001C2A1A /* PugiElement.cpp */, - 2937D14C1D18D403001C2A1A /* PugiElement.h */, - 2937D14D1D18D403001C2A1A /* PugiElementIterImpl.cpp */, - 2937D14E1D18D403001C2A1A /* PugiElementIterImpl.h */, - 2937D14F1D18D403001C2A1A /* XAttribute.h */, - 2937D1501D18D403001C2A1A /* XAttributeIterator.cpp */, - 2937D1511D18D403001C2A1A /* XAttributeIterator.h */, - 2937D1521D18D403001C2A1A /* XAttributeIterImpl.h */, - 2937D1531D18D403001C2A1A /* XDoc.h */, - 2937D1541D18D403001C2A1A /* XDocSpec.h */, - 2937D1551D18D403001C2A1A /* XElement.h */, - 2937D1561D18D403001C2A1A /* XElementIterator.cpp */, - 2937D1571D18D403001C2A1A /* XElementIterator.h */, - 2937D1581D18D403001C2A1A /* XElementIterImpl.h */, - 2937D1591D18D403001C2A1A /* XFactory.cpp */, - 2937D15A1D18D403001C2A1A /* XFactory.h */, - 2937D15C1D18D403001C2A1A /* XThrow.h */, + 29A8DD571EF0475D00AD2478 /* mx */, + 2933AA911DA5A51D005D7222 /* build */, + 29B962821E79FF410072071D /* MxiOS */, + 29A8FDC31EF0497500AD2478 /* MxmacOS */, ); - name = xml; sourceTree = ""; }; - 292255D51D712B26002D8E48 /* impl */ = { + 299F7FE71CA8D2200084CAE5 /* Products */ = { isa = PBXGroup; children = ( - 29979D651DC830AA00707AA4 /* DynamicsWriter.cpp */, - 29979D661DC830AA00707AA4 /* DynamicsWriter.h */, - 29EF2FE91DA307D3001FE5DF /* AccidentalMarkFunctions.cpp */, - 29EF2FEA1DA307D3001FE5DF /* AccidentalMarkFunctions.h */, - 29EF2F781DA2CC1D001FE5DF /* ArticulationsFunctions.cpp */, - 29EF2F791DA2CC1D001FE5DF /* ArticulationsFunctions.h */, - 2922CC621D9AF28400F8C9C1 /* Converter.cpp */, - 2922CC631D9AF28400F8C9C1 /* Converter.h */, - 2973065E1D89AB3300B8C0D3 /* Cursor.cpp */, - 2973065D1D89AB3300B8C0D3 /* Cursor.h */, - 2933AD7B1DA5E850005D7222 /* CurveFunctions.h */, - 29766ACA1DAC149900CCE2AC /* DirectionReader.cpp */, - 29766AC91DAC149900CCE2AC /* DirectionReader.h */, - 29CD722A1DB82C9200FB7153 /* DirectionWriter.cpp */, - 29CD722B1DB82C9200FB7153 /* DirectionWriter.h */, - 29EF2F7C1DA2D450001FE5DF /* DynamicsReader.cpp */, - 29EF2F7D1DA2D450001FE5DF /* DynamicsReader.h */, - 2913BB871D753FC8006C34A3 /* EncodingFunctions.cpp */, - 2913BB881D753FC8006C34A3 /* EncodingFunctions.h */, - 293AB0851DA011B100A58B36 /* FontFunctions.h */, - 2913BB891D753FC8006C34A3 /* LayoutFunctions.cpp */, - 2913BB8A1D753FC8006C34A3 /* LayoutFunctions.h */, - 2927ECA61D888AB30042E080 /* LcmGcd.cpp */, - 2927ECA51D888AB30042E080 /* LcmGcd.h */, - 29398BA41DB1561200475CD5 /* MeasureCursor.h */, - 29E2B3C81DA81E9700DC61EA /* MeasureReader.cpp */, - 29E2B3C91DA81E9700DC61EA /* MeasureReader.h */, - 29B7C4671DAFFDBA009D7D8F /* MeasureWriter.cpp */, - 29B7C4681DAFFDBA009D7D8F /* MeasureWriter.h */, - 29766AC61DAC014300CCE2AC /* MetronomeReader.cpp */, - 29766AC51DAC014300CCE2AC /* MetronomeReader.h */, - 29398BAE1DB1917B00475CD5 /* NotationsWriter.cpp */, - 29398BAF1DB1917B00475CD5 /* NotationsWriter.h */, - 2913BB8B1D753FC8006C34A3 /* NoteFunctions.cpp */, - 2913BB8C1D753FC8006C34A3 /* NoteFunctions.h */, - 297306661D89D08400B8C0D3 /* NoteReader.cpp */, - 297306651D89D08400B8C0D3 /* NoteReader.h */, - 29398BA51DB1561200475CD5 /* NoteWriter.cpp */, - 29398BA61DB1561200475CD5 /* NoteWriter.h */, - 29EF2FF11DA307D3001FE5DF /* OrnamentsFunctions.cpp */, - 29EF2FF21DA307D3001FE5DF /* OrnamentsFunctions.h */, - 2913BB8D1D753FC8006C34A3 /* PageTextFunctions.cpp */, - 2913BB8E1D753FC8006C34A3 /* PageTextFunctions.h */, - 29EF2F801DA2E966001FE5DF /* MarkDataFunctions.h */, - 29E2B3CA1DA81E9700DC61EA /* PartReader.cpp */, - 29E2B3CB1DA81E9700DC61EA /* PartReader.h */, - 29CDDA2B1DADCAF30022B1A3 /* PartWriter.cpp */, - 29CDDA2C1DADCAF30022B1A3 /* PartWriter.h */, - 293CE9F51D7B2C18003F1FEB /* PositionFunctions.h */, - 2975BF041DA1843900490FAA /* PrintFunctions.h */, - 29CD72261DB806FD00FB7153 /* PropertiesWriter.cpp */, - 29CD72271DB806FD00FB7153 /* PropertiesWriter.h */, - 29C29B841DAEC00C00D3A884 /* ScoreReader.cpp */, - 29C29B851DAEC00C00D3A884 /* ScoreReader.h */, - 29C29B861DAEC00C00D3A884 /* ScoreWriter.cpp */, - 29C29B871DAEC00C00D3A884 /* ScoreWriter.h */, - 29C51A201D9EFCB000EAA308 /* SmuflGlyphMap.h */, - 297DA0721D7F60BE0067C13A /* StaffFunctions.cpp */, - 297DA0731D7F60BE0067C13A /* StaffFunctions.h */, - 29EF30011DA32E37001FE5DF /* TechnicalFunctions.cpp */, - 29EF30021DA32E37001FE5DF /* TechnicalFunctions.h */, - 2927EC9E1D886E460042E080 /* TimeReader.cpp */, - 2927EC9D1D886E460042E080 /* TimeReader.h */, - 29B4E81F1DA9CD5D005DC6D1 /* TupletReader.cpp */, - 29B4E8201DA9CD5D005DC6D1 /* TupletReader.h */, + 299F7FE61CA8D2200084CAE5 /* libMx.a */, + 293FFED21DD25C74001477E8 /* libmx-macOS.dylib */, + 29E8C22C1DD2920C00E8CEBA /* libmx-iOS.dylib */, + 29B962811E79FF410072071D /* MxiOS.framework */, + 29A8FDC21EF0497400AD2478 /* MxmacOS.framework */, ); - name = impl; + name = Products; sourceTree = ""; }; - 2933AA901DA5A510005D7222 /* mx */ = { + 29A8DD571EF0475D00AD2478 /* mx */ = { isa = PBXGroup; children = ( - 29EF44071D6E6CE900DBDAB9 /* api */, - 2912011E1D0C9A17000B5033 /* core */, - 292255D51D712B26002D8E48 /* impl */, - 291200E31D0BD5A4000B5033 /* pugixml */, - 2912011F1D0C9A2F000B5033 /* utility */, - 2912013D1D0CA700000B5033 /* xml */, + 29A8DD581EF0475D00AD2478 /* api */, + 29A8DD881EF0475D00AD2478 /* core */, + 29A8E2551EF0476200AD2478 /* impl */, + 29A8E29A1EF0476300AD2478 /* pugixml */, + 29A8E29E1EF0476300AD2478 /* utility */, + 29A8E2AB1EF0476300AD2478 /* xml */, ); name = mx; + path = ../Sourcecode/mx; sourceTree = ""; }; - 2933AA911DA5A51D005D7222 /* build */ = { + 29A8DD581EF0475D00AD2478 /* api */ = { isa = PBXGroup; children = ( - 299F7FE71CA8D2200084CAE5 /* Products */, + 29A8DD591EF0475D00AD2478 /* ApiCommon.h */, + 29A8DD5A1EF0475D00AD2478 /* ApiEquality.h */, + 29A8DD5B1EF0475D00AD2478 /* BarlineData.h */, + 29A8DD5C1EF0475D00AD2478 /* ClefData.cpp */, + 29A8DD5D1EF0475D00AD2478 /* ClefData.h */, + 29A8DD5E1EF0475D00AD2478 /* ColorData.h */, + 29A8DD5F1EF0475D00AD2478 /* CurveData.h */, + 29A8DD601EF0475D00AD2478 /* DirectionData.h */, + 29A8DD611EF0475D00AD2478 /* DocumentManager.cpp */, + 29A8DD621EF0475D00AD2478 /* DocumentManager.h */, + 29A8DD631EF0475D00AD2478 /* DurationData.cpp */, + 29A8DD641EF0475D00AD2478 /* DurationData.h */, + 29A8DD651EF0475D00AD2478 /* EncodingData.h */, + 29A8DD661EF0475D00AD2478 /* FontData.h */, + 29A8DD671EF0475D00AD2478 /* KeyData.h */, + 29A8DD681EF0475D00AD2478 /* LayoutData.h */, + 29A8DD691EF0475D00AD2478 /* LineData.h */, + 29A8DD6A1EF0475D00AD2478 /* MarkData.cpp */, + 29A8DD6B1EF0475D00AD2478 /* MarkData.h */, + 29A8DD6C1EF0475D00AD2478 /* MeasureData.h */, + 29A8DD6D1EF0475D00AD2478 /* MeasureLocation.cpp */, + 29A8DD6E1EF0475D00AD2478 /* MeasureLocation.h */, + 29A8DD6F1EF0475D00AD2478 /* NoteAttachmentData.h */, + 29A8DD701EF0475D00AD2478 /* NoteData.cpp */, + 29A8DD711EF0475D00AD2478 /* NoteData.h */, + 29A8DD721EF0475D00AD2478 /* OttavaData.h */, + 29A8DD731EF0475D00AD2478 /* PageTextData.h */, + 29A8DD741EF0475D00AD2478 /* PartData.h */, + 29A8DD751EF0475D00AD2478 /* PartGroupData.h */, + 29A8DD761EF0475D00AD2478 /* PitchData.cpp */, + 29A8DD771EF0475D00AD2478 /* PitchData.h */, + 29A8DD781EF0475D00AD2478 /* PositionData.h */, + 29A8DD791EF0475D00AD2478 /* PrintData.h */, + 29A8DD7A1EF0475D00AD2478 /* ScoreData.cpp */, + 29A8DD7B1EF0475D00AD2478 /* ScoreData.h */, + 29A8DD7C1EF0475D00AD2478 /* Smufl.cpp */, + 29A8DD7D1EF0475D00AD2478 /* Smufl.h */, + 29A8DD7E1EF0475D00AD2478 /* SpannerData.h */, + 29A8DD7F1EF0475D00AD2478 /* StaffData.h */, + 29A8DD801EF0475D00AD2478 /* SystemData.h */, + 29A8DD811EF0475D00AD2478 /* TempoData.h */, + 29A8DD821EF0475D00AD2478 /* TimeSignatureData.h */, + 29A8DD831EF0475D00AD2478 /* TupletData.h */, + 29A8DD841EF0475D00AD2478 /* VoiceData.h */, + 29A8DD851EF0475D00AD2478 /* WedgeData.h */, + 29A8DD861EF0475D00AD2478 /* WordsData.cpp */, + 29A8DD871EF0475D00AD2478 /* WordsData.h */, ); - name = build; + path = api; sourceTree = ""; }; - 296AA54A1D28768300711005 /* elements */ = { + 29A8DD881EF0475D00AD2478 /* core */ = { isa = PBXGroup; children = ( - 29D1BD3C1D28899D0092C299 /* h */, - 29D1BD3B1D2886EA0092C299 /* cpp */, + 29A8DD891EF0475D00AD2478 /* AttributesInterface.cpp */, + 29A8DD8A1EF0475D00AD2478 /* AttributesInterface.h */, + 29A8DD8B1EF0475D00AD2478 /* Color.cpp */, + 29A8DD8C1EF0475D00AD2478 /* Color.h */, + 29A8DD8D1EF0475D00AD2478 /* Date.cpp */, + 29A8DD8E1EF0475D00AD2478 /* Date.h */, + 29A8DD8F1EF0475D00AD2478 /* Decimals.cpp */, + 29A8DD901EF0475D00AD2478 /* Decimals.h */, + 29A8DD911EF0475D00AD2478 /* Document.cpp */, + 29A8DD921EF0475D00AD2478 /* Document.h */, + 29A8DD931EF0475D00AD2478 /* DocumentHeader.cpp */, + 29A8DD941EF0475D00AD2478 /* DocumentHeader.h */, + 29A8DD951EF0475D00AD2478 /* DocumentSpec.cpp */, + 29A8DD961EF0475D00AD2478 /* DocumentSpec.h */, + 29A8DD971EF0475D00AD2478 /* ElementInterface.cpp */, + 29A8DD981EF0475D00AD2478 /* ElementInterface.h */, + 29A8DD991EF0475D00AD2478 /* elements */, + 29A8E23A1EF0476200AD2478 /* Elements.cpp */, + 29A8E23B1EF0476200AD2478 /* Elements.h */, + 29A8E23C1EF0476200AD2478 /* EmptyPrintObjectStyleAlignAttributes.cpp */, + 29A8E23D1EF0476200AD2478 /* EmptyPrintObjectStyleAlignAttributes.h */, + 29A8E23E1EF0476200AD2478 /* Enums.cpp */, + 29A8E23F1EF0476200AD2478 /* Enums.h */, + 29A8E2401EF0476200AD2478 /* FontSize.cpp */, + 29A8E2411EF0476200AD2478 /* FontSize.h */, + 29A8E2421EF0476200AD2478 /* ForwardDeclare.h */, + 29A8E2431EF0476200AD2478 /* FromString.h */, + 29A8E2441EF0476200AD2478 /* FromXElement.cpp */, + 29A8E2451EF0476200AD2478 /* FromXElement.h */, + 29A8E2461EF0476200AD2478 /* Integers.cpp */, + 29A8E2471EF0476200AD2478 /* Integers.h */, + 29A8E2481EF0476200AD2478 /* NumberOrNormal.cpp */, + 29A8E2491EF0476200AD2478 /* NumberOrNormal.h */, + 29A8E24A1EF0476200AD2478 /* PositiveIntegerOrEmpty.cpp */, + 29A8E24B1EF0476200AD2478 /* PositiveIntegerOrEmpty.h */, + 29A8E24C1EF0476200AD2478 /* PreciseDecimal.cpp */, + 29A8E24D1EF0476200AD2478 /* PreciseDecimal.h */, + 29A8E24E1EF0476200AD2478 /* ScoreConversions.cpp */, + 29A8E24F1EF0476200AD2478 /* ScoreConversions.h */, + 29A8E2501EF0476200AD2478 /* Strings.cpp */, + 29A8E2511EF0476200AD2478 /* Strings.h */, + 29A8E2521EF0476200AD2478 /* UnusedParameter.h */, + 29A8E2531EF0476200AD2478 /* YesNoNumber.cpp */, + 29A8E2541EF0476200AD2478 /* YesNoNumber.h */, ); - name = elements; + path = core; sourceTree = ""; }; - 299F7FDD1CA8D2200084CAE5 = { + 29A8DD991EF0475D00AD2478 /* elements */ = { isa = PBXGroup; children = ( - 2933AA911DA5A51D005D7222 /* build */, - 2933AA901DA5A510005D7222 /* mx */, - 29B962821E79FF410072071D /* MxiOS */, - 29B9652A1E7A04140072071D /* MxmacOS */, + 29A8DD9A1EF0475D00AD2478 /* Accent.cpp */, + 29A8DD9B1EF0475D00AD2478 /* Accent.h */, + 29A8DD9C1EF0475D00AD2478 /* Accidental.cpp */, + 29A8DD9D1EF0475D00AD2478 /* Accidental.h */, + 29A8DD9E1EF0475D00AD2478 /* AccidentalAttributes.cpp */, + 29A8DD9F1EF0475D00AD2478 /* AccidentalAttributes.h */, + 29A8DDA01EF0475D00AD2478 /* AccidentalMark.cpp */, + 29A8DDA11EF0475D00AD2478 /* AccidentalMark.h */, + 29A8DDA21EF0475D00AD2478 /* AccidentalMarkAttributes.cpp */, + 29A8DDA31EF0475D00AD2478 /* AccidentalMarkAttributes.h */, + 29A8DDA41EF0475D00AD2478 /* AccidentalText.cpp */, + 29A8DDA51EF0475D00AD2478 /* AccidentalText.h */, + 29A8DDA61EF0475D00AD2478 /* AccidentalTextAttributes.cpp */, + 29A8DDA71EF0475D00AD2478 /* AccidentalTextAttributes.h */, + 29A8DDA81EF0475D00AD2478 /* Accord.cpp */, + 29A8DDA91EF0475D00AD2478 /* Accord.h */, + 29A8DDAA1EF0475D00AD2478 /* AccordAttributes.cpp */, + 29A8DDAB1EF0475D00AD2478 /* AccordAttributes.h */, + 29A8DDAC1EF0475D00AD2478 /* AccordionHigh.cpp */, + 29A8DDAD1EF0475D00AD2478 /* AccordionHigh.h */, + 29A8DDAE1EF0475D00AD2478 /* AccordionLow.cpp */, + 29A8DDAF1EF0475D00AD2478 /* AccordionLow.h */, + 29A8DDB01EF0475D00AD2478 /* AccordionMiddle.cpp */, + 29A8DDB11EF0475D00AD2478 /* AccordionMiddle.h */, + 29A8DDB21EF0475D00AD2478 /* AccordionRegistration.cpp */, + 29A8DDB31EF0475D00AD2478 /* AccordionRegistration.h */, + 29A8DDB41EF0475D00AD2478 /* AccordionRegistrationAttributes.cpp */, + 29A8DDB51EF0475D00AD2478 /* AccordionRegistrationAttributes.h */, + 29A8DDB61EF0475D00AD2478 /* ActualNotes.cpp */, + 29A8DDB71EF0475D00AD2478 /* ActualNotes.h */, + 29A8DDB81EF0475D00AD2478 /* Alter.cpp */, + 29A8DDB91EF0475D00AD2478 /* Alter.h */, + 29A8DDBA1EF0475D00AD2478 /* Appearance.cpp */, + 29A8DDBB1EF0475D00AD2478 /* Appearance.h */, + 29A8DDBC1EF0475D00AD2478 /* Arpeggiate.cpp */, + 29A8DDBD1EF0475D00AD2478 /* Arpeggiate.h */, + 29A8DDBE1EF0475D00AD2478 /* ArpeggiateAttributes.cpp */, + 29A8DDBF1EF0475D00AD2478 /* ArpeggiateAttributes.h */, + 29A8DDC01EF0475D00AD2478 /* Arrow.cpp */, + 29A8DDC11EF0475D00AD2478 /* Arrow.h */, + 29A8DDC21EF0475D00AD2478 /* ArrowAttributes.cpp */, + 29A8DDC31EF0475D00AD2478 /* ArrowAttributes.h */, + 29A8DDC41EF0475D00AD2478 /* ArrowDirection.cpp */, + 29A8DDC51EF0475D00AD2478 /* ArrowDirection.h */, + 29A8DDC61EF0475D00AD2478 /* ArrowGroup.cpp */, + 29A8DDC71EF0475D00AD2478 /* ArrowGroup.h */, + 29A8DDC81EF0475D00AD2478 /* ArrowStyle.cpp */, + 29A8DDC91EF0475D00AD2478 /* ArrowStyle.h */, + 29A8DDCA1EF0475D00AD2478 /* Articulations.cpp */, + 29A8DDCB1EF0475D00AD2478 /* Articulations.h */, + 29A8DDCC1EF0475D00AD2478 /* ArticulationsChoice.cpp */, + 29A8DDCD1EF0475D00AD2478 /* ArticulationsChoice.h */, + 29A8DDCE1EF0475D00AD2478 /* Artificial.cpp */, + 29A8DDCF1EF0475D00AD2478 /* Artificial.h */, + 29A8DDD01EF0475D00AD2478 /* AttributesIterface.cpp */, + 29A8DDD11EF0475D00AD2478 /* AttributesIterface.h */, + 29A8DDD21EF0475D00AD2478 /* Backup.cpp */, + 29A8DDD31EF0475D00AD2478 /* Backup.h */, + 29A8DDD41EF0475D00AD2478 /* Barline.cpp */, + 29A8DDD51EF0475D00AD2478 /* Barline.h */, + 29A8DDD61EF0475D00AD2478 /* BarlineAttributes.cpp */, + 29A8DDD71EF0475D00AD2478 /* BarlineAttributes.h */, + 29A8DDD81EF0475D00AD2478 /* Barre.cpp */, + 29A8DDD91EF0475D00AD2478 /* Barre.h */, + 29A8DDDA1EF0475D00AD2478 /* BarreAttributes.cpp */, + 29A8DDDB1EF0475D00AD2478 /* BarreAttributes.h */, + 29A8DDDC1EF0475D00AD2478 /* BarStyle.cpp */, + 29A8DDDD1EF0475D00AD2478 /* BarStyle.h */, + 29A8DDDE1EF0475D00AD2478 /* BarStyleAttributes.cpp */, + 29A8DDDF1EF0475D00AD2478 /* BarStyleAttributes.h */, + 29A8DDE01EF0475D00AD2478 /* BasePitch.cpp */, + 29A8DDE11EF0475D00AD2478 /* BasePitch.h */, + 29A8DDE21EF0475D00AD2478 /* Bass.cpp */, + 29A8DDE31EF0475D00AD2478 /* Bass.h */, + 29A8DDE41EF0475D00AD2478 /* BassAlter.cpp */, + 29A8DDE51EF0475D00AD2478 /* BassAlter.h */, + 29A8DDE61EF0475D00AD2478 /* BassAlterAttributes.cpp */, + 29A8DDE71EF0475D00AD2478 /* BassAlterAttributes.h */, + 29A8DDE81EF0475D00AD2478 /* BassStep.cpp */, + 29A8DDE91EF0475D00AD2478 /* BassStep.h */, + 29A8DDEA1EF0475D00AD2478 /* BassStepAttributes.cpp */, + 29A8DDEB1EF0475D00AD2478 /* BassStepAttributes.h */, + 29A8DDEC1EF0475D00AD2478 /* Beam.cpp */, + 29A8DDED1EF0475D00AD2478 /* Beam.h */, + 29A8DDEE1EF0475D00AD2478 /* BeamAttributes.cpp */, + 29A8DDEF1EF0475D00AD2478 /* BeamAttributes.h */, + 29A8DDF01EF0475D00AD2478 /* Beater.cpp */, + 29A8DDF11EF0475D00AD2478 /* Beater.h */, + 29A8DDF21EF0475D00AD2478 /* BeaterAttributes.cpp */, + 29A8DDF31EF0475D00AD2478 /* BeaterAttributes.h */, + 29A8DDF41EF0475D00AD2478 /* BeatRepeat.cpp */, + 29A8DDF51EF0475D00AD2478 /* BeatRepeat.h */, + 29A8DDF61EF0475D00AD2478 /* BeatRepeatAttributes.cpp */, + 29A8DDF71EF0475D00AD2478 /* BeatRepeatAttributes.h */, + 29A8DDF81EF0475D00AD2478 /* Beats.cpp */, + 29A8DDF91EF0475D00AD2478 /* Beats.h */, + 29A8DDFA1EF0475D00AD2478 /* BeatType.cpp */, + 29A8DDFB1EF0475D00AD2478 /* BeatType.h */, + 29A8DDFC1EF0475D00AD2478 /* BeatUnit.cpp */, + 29A8DDFD1EF0475D00AD2478 /* BeatUnit.h */, + 29A8DDFE1EF0475D00AD2478 /* BeatUnitDot.cpp */, + 29A8DDFF1EF0475D00AD2478 /* BeatUnitDot.h */, + 29A8DE001EF0475D00AD2478 /* BeatUnitGroup.cpp */, + 29A8DE011EF0475D00AD2478 /* BeatUnitGroup.h */, + 29A8DE021EF0475D00AD2478 /* BeatUnitPer.cpp */, + 29A8DE031EF0475D00AD2478 /* BeatUnitPer.h */, + 29A8DE041EF0475D00AD2478 /* BeatUnitPerOrNoteRelationNoteChoice.cpp */, + 29A8DE051EF0475D00AD2478 /* BeatUnitPerOrNoteRelationNoteChoice.h */, + 29A8DE061EF0475D00AD2478 /* Bend.cpp */, + 29A8DE071EF0475D00AD2478 /* Bend.h */, + 29A8DE081EF0475D00AD2478 /* BendAlter.cpp */, + 29A8DE091EF0475D00AD2478 /* BendAlter.h */, + 29A8DE0A1EF0475D00AD2478 /* BendAttributes.cpp */, + 29A8DE0B1EF0475D00AD2478 /* BendAttributes.h */, + 29A8DE0C1EF0475D00AD2478 /* BendChoice.cpp */, + 29A8DE0D1EF0475D00AD2478 /* BendChoice.h */, + 29A8DE0E1EF0475D00AD2478 /* Bookmark.cpp */, + 29A8DE0F1EF0475D00AD2478 /* Bookmark.h */, + 29A8DE101EF0475D00AD2478 /* BookmarkAttributes.cpp */, + 29A8DE111EF0475D00AD2478 /* BookmarkAttributes.h */, + 29A8DE121EF0475D00AD2478 /* BottomMargin.cpp */, + 29A8DE131EF0475D00AD2478 /* BottomMargin.h */, + 29A8DE141EF0475D00AD2478 /* Bracket.cpp */, + 29A8DE151EF0475D00AD2478 /* Bracket.h */, + 29A8DE161EF0475D00AD2478 /* BracketAttributes.cpp */, + 29A8DE171EF0475D00AD2478 /* BracketAttributes.h */, + 29A8DE181EF0475D00AD2478 /* BreathMark.cpp */, + 29A8DE191EF0475D00AD2478 /* BreathMark.h */, + 29A8DE1A1EF0475D00AD2478 /* BreathMarkAttributes.cpp */, + 29A8DE1B1EF0475D00AD2478 /* BreathMarkAttributes.h */, + 29A8DE1C1EF0475D00AD2478 /* Caesura.cpp */, + 29A8DE1D1EF0475D00AD2478 /* Caesura.h */, + 29A8DE1E1EF0475D00AD2478 /* Cancel.cpp */, + 29A8DE1F1EF0475D00AD2478 /* Cancel.h */, + 29A8DE201EF0475D00AD2478 /* CancelAttributes.cpp */, + 29A8DE211EF0475D00AD2478 /* CancelAttributes.h */, + 29A8DE221EF0475D00AD2478 /* Capo.cpp */, + 29A8DE231EF0475D00AD2478 /* Capo.h */, + 29A8DE241EF0475D00AD2478 /* Chord.cpp */, + 29A8DE251EF0475D00AD2478 /* Chord.h */, + 29A8DE261EF0475D00AD2478 /* Chromatic.cpp */, + 29A8DE271EF0475D00AD2478 /* Chromatic.h */, + 29A8DE281EF0475D00AD2478 /* CircularArrow.cpp */, + 29A8DE291EF0475D00AD2478 /* CircularArrow.h */, + 29A8DE2A1EF0475D00AD2478 /* Clef.cpp */, + 29A8DE2B1EF0475D00AD2478 /* Clef.h */, + 29A8DE2C1EF0475D00AD2478 /* ClefAttributes.cpp */, + 29A8DE2D1EF0475D00AD2478 /* ClefAttributes.h */, + 29A8DE2E1EF0475D00AD2478 /* ClefOctaveChange.cpp */, + 29A8DE2F1EF0475D00AD2478 /* ClefOctaveChange.h */, + 29A8DE301EF0475D00AD2478 /* Coda.cpp */, + 29A8DE311EF0475D00AD2478 /* Coda.h */, + 29A8DE321EF0475D00AD2478 /* Creator.cpp */, + 29A8DE331EF0475D00AD2478 /* Creator.h */, + 29A8DE341EF0475D00AD2478 /* CreatorAttributes.cpp */, + 29A8DE351EF0475D00AD2478 /* CreatorAttributes.h */, + 29A8DE361EF0475D00AD2478 /* Credit.cpp */, + 29A8DE371EF0475D00AD2478 /* Credit.h */, + 29A8DE381EF0475D00AD2478 /* CreditAttributes.cpp */, + 29A8DE391EF0475D00AD2478 /* CreditAttributes.h */, + 29A8DE3A1EF0475D00AD2478 /* CreditChoice.cpp */, + 29A8DE3B1EF0475D00AD2478 /* CreditChoice.h */, + 29A8DE3C1EF0475D00AD2478 /* CreditImage.cpp */, + 29A8DE3D1EF0475D00AD2478 /* CreditImage.h */, + 29A8DE3E1EF0475D00AD2478 /* CreditImageAttributes.cpp */, + 29A8DE3F1EF0475D00AD2478 /* CreditImageAttributes.h */, + 29A8DE401EF0475D00AD2478 /* CreditType.cpp */, + 29A8DE411EF0475D00AD2478 /* CreditType.h */, + 29A8DE421EF0475D00AD2478 /* CreditWords.cpp */, + 29A8DE431EF0475D00AD2478 /* CreditWords.h */, + 29A8DE441EF0475D00AD2478 /* CreditWordsAttributes.cpp */, + 29A8DE451EF0475D00AD2478 /* CreditWordsAttributes.h */, + 29A8DE461EF0475D00AD2478 /* CreditWordsGroup.cpp */, + 29A8DE471EF0475D00AD2478 /* CreditWordsGroup.h */, + 29A8DE481EF0475D00AD2478 /* Cue.cpp */, + 29A8DE491EF0475D00AD2478 /* Cue.h */, + 29A8DE4A1EF0475D00AD2478 /* CueNoteGroup.cpp */, + 29A8DE4B1EF0475D00AD2478 /* CueNoteGroup.h */, + 29A8DE4C1EF0475D00AD2478 /* Damp.cpp */, + 29A8DE4D1EF0475D00AD2478 /* Damp.h */, + 29A8DE4E1EF0475D00AD2478 /* DampAll.cpp */, + 29A8DE4F1EF0475D00AD2478 /* DampAll.h */, + 29A8DE501EF0475D00AD2478 /* Dashes.cpp */, + 29A8DE511EF0475D00AD2478 /* Dashes.h */, + 29A8DE521EF0475D00AD2478 /* DashesAttributes.cpp */, + 29A8DE531EF0475D00AD2478 /* DashesAttributes.h */, + 29A8DE541EF0475D00AD2478 /* Defaults.cpp */, + 29A8DE551EF0475D00AD2478 /* Defaults.h */, + 29A8DE561EF0475D00AD2478 /* Degree.cpp */, + 29A8DE571EF0475D00AD2478 /* Degree.h */, + 29A8DE581EF0475D00AD2478 /* DegreeAlter.cpp */, + 29A8DE591EF0475D00AD2478 /* DegreeAlter.h */, + 29A8DE5A1EF0475D00AD2478 /* DegreeAlterAttributes.cpp */, + 29A8DE5B1EF0475D00AD2478 /* DegreeAlterAttributes.h */, + 29A8DE5C1EF0475D00AD2478 /* DegreeAttributes.cpp */, + 29A8DE5D1EF0475D00AD2478 /* DegreeAttributes.h */, + 29A8DE5E1EF0475D00AD2478 /* DegreeType.cpp */, + 29A8DE5F1EF0475D00AD2478 /* DegreeType.h */, + 29A8DE601EF0475E00AD2478 /* DegreeTypeAttributes.cpp */, + 29A8DE611EF0475E00AD2478 /* DegreeTypeAttributes.h */, + 29A8DE621EF0475E00AD2478 /* DegreeValue.cpp */, + 29A8DE631EF0475E00AD2478 /* DegreeValue.h */, + 29A8DE641EF0475E00AD2478 /* DegreeValueAttributes.cpp */, + 29A8DE651EF0475E00AD2478 /* DegreeValueAttributes.h */, + 29A8DE661EF0475E00AD2478 /* DelayedInvertedTurn.cpp */, + 29A8DE671EF0475E00AD2478 /* DelayedInvertedTurn.h */, + 29A8DE681EF0475E00AD2478 /* DelayedInvertedTurnAttributes.cpp */, + 29A8DE691EF0475E00AD2478 /* DelayedInvertedTurnAttributes.h */, + 29A8DE6A1EF0475E00AD2478 /* DelayedTurn.cpp */, + 29A8DE6B1EF0475E00AD2478 /* DelayedTurn.h */, + 29A8DE6C1EF0475E00AD2478 /* DelayedTurnAttributes.cpp */, + 29A8DE6D1EF0475E00AD2478 /* DelayedTurnAttributes.h */, + 29A8DE6E1EF0475E00AD2478 /* DetachedLegato.cpp */, + 29A8DE6F1EF0475E00AD2478 /* DetachedLegato.h */, + 29A8DE701EF0475E00AD2478 /* Diatonic.cpp */, + 29A8DE711EF0475E00AD2478 /* Diatonic.h */, + 29A8DE721EF0475E00AD2478 /* Direction.cpp */, + 29A8DE731EF0475E00AD2478 /* Direction.h */, + 29A8DE741EF0475E00AD2478 /* DirectionAttributes.cpp */, + 29A8DE751EF0475E00AD2478 /* DirectionAttributes.h */, + 29A8DE761EF0475E00AD2478 /* DirectionType.cpp */, + 29A8DE771EF0475E00AD2478 /* DirectionType.h */, + 29A8DE781EF0475E00AD2478 /* Directive.cpp */, + 29A8DE791EF0475E00AD2478 /* Directive.h */, + 29A8DE7A1EF0475E00AD2478 /* DirectiveAttributes.cpp */, + 29A8DE7B1EF0475E00AD2478 /* DirectiveAttributes.h */, + 29A8DE7C1EF0475E00AD2478 /* DisplayOctave.cpp */, + 29A8DE7D1EF0475E00AD2478 /* DisplayOctave.h */, + 29A8DE7E1EF0475E00AD2478 /* DisplayStep.cpp */, + 29A8DE7F1EF0475E00AD2478 /* DisplayStep.h */, + 29A8DE801EF0475E00AD2478 /* DisplayStepOctaveGroup.cpp */, + 29A8DE811EF0475E00AD2478 /* DisplayStepOctaveGroup.h */, + 29A8DE821EF0475E00AD2478 /* DisplayText.cpp */, + 29A8DE831EF0475E00AD2478 /* DisplayText.h */, + 29A8DE841EF0475E00AD2478 /* DisplayTextAttributes.cpp */, + 29A8DE851EF0475E00AD2478 /* DisplayTextAttributes.h */, + 29A8DE861EF0475E00AD2478 /* DisplayTextOrAccidentalText.cpp */, + 29A8DE871EF0475E00AD2478 /* DisplayTextOrAccidentalText.h */, + 29A8DE881EF0475E00AD2478 /* Distance.cpp */, + 29A8DE891EF0475E00AD2478 /* Distance.h */, + 29A8DE8A1EF0475E00AD2478 /* DistanceAttributes.cpp */, + 29A8DE8B1EF0475E00AD2478 /* DistanceAttributes.h */, + 29A8DE8C1EF0475E00AD2478 /* Divisions.cpp */, + 29A8DE8D1EF0475E00AD2478 /* Divisions.h */, + 29A8DE8E1EF0475E00AD2478 /* Doit.cpp */, + 29A8DE8F1EF0475E00AD2478 /* Doit.h */, + 29A8DE901EF0475E00AD2478 /* Dot.cpp */, + 29A8DE911EF0475E00AD2478 /* Dot.h */, + 29A8DE921EF0475E00AD2478 /* Double.cpp */, + 29A8DE931EF0475E00AD2478 /* Double.h */, + 29A8DE941EF0475E00AD2478 /* DoubleTongue.cpp */, + 29A8DE951EF0475E00AD2478 /* DoubleTongue.h */, + 29A8DE961EF0475E00AD2478 /* DownBow.cpp */, + 29A8DE971EF0475E00AD2478 /* DownBow.h */, + 29A8DE981EF0475E00AD2478 /* Duration.cpp */, + 29A8DE991EF0475E00AD2478 /* Duration.h */, + 29A8DE9A1EF0475E00AD2478 /* Dynamics.cpp */, + 29A8DE9B1EF0475E00AD2478 /* Dynamics.h */, + 29A8DE9C1EF0475E00AD2478 /* DynamicsAttributes.cpp */, + 29A8DE9D1EF0475E00AD2478 /* DynamicsAttributes.h */, + 29A8DE9E1EF0475E00AD2478 /* EditorialGroup.cpp */, + 29A8DE9F1EF0475E00AD2478 /* EditorialGroup.h */, + 29A8DEA01EF0475E00AD2478 /* EditorialVoiceDirectionGroup.cpp */, + 29A8DEA11EF0475E00AD2478 /* EditorialVoiceDirectionGroup.h */, + 29A8DEA21EF0475E00AD2478 /* EditorialVoiceGroup.cpp */, + 29A8DEA31EF0475E00AD2478 /* EditorialVoiceGroup.h */, + 29A8DEA41EF0475E00AD2478 /* Effect.cpp */, + 29A8DEA51EF0475E00AD2478 /* Effect.h */, + 29A8DEA61EF0475E00AD2478 /* Elevation.cpp */, + 29A8DEA71EF0475E00AD2478 /* Elevation.h */, + 29A8DEA81EF0475E00AD2478 /* Elision.cpp */, + 29A8DEA91EF0475E00AD2478 /* Elision.h */, + 29A8DEAA1EF0475E00AD2478 /* ElisionAttributes.cpp */, + 29A8DEAB1EF0475E00AD2478 /* ElisionAttributes.h */, + 29A8DEAC1EF0475E00AD2478 /* ElisionSyllabicGroup.cpp */, + 29A8DEAD1EF0475E00AD2478 /* ElisionSyllabicGroup.h */, + 29A8DEAE1EF0475E00AD2478 /* ElisionSyllabicTextGroup.cpp */, + 29A8DEAF1EF0475E00AD2478 /* ElisionSyllabicTextGroup.h */, + 29A8DEB01EF0475E00AD2478 /* EmptyFontAttributes.cpp */, + 29A8DEB11EF0475E00AD2478 /* EmptyFontAttributes.h */, + 29A8DEB21EF0475E00AD2478 /* EmptyLineAttributes.cpp */, + 29A8DEB31EF0475E00AD2478 /* EmptyLineAttributes.h */, + 29A8DEB41EF0475E00AD2478 /* EmptyPlacementAttributes.cpp */, + 29A8DEB51EF0475E00AD2478 /* EmptyPlacementAttributes.h */, + 29A8DEB61EF0475E00AD2478 /* EmptyTrillSoundAttributes.cpp */, + 29A8DEB71EF0475E00AD2478 /* EmptyTrillSoundAttributes.h */, + 29A8DEB81EF0475E00AD2478 /* Encoder.cpp */, + 29A8DEB91EF0475E00AD2478 /* Encoder.h */, + 29A8DEBA1EF0475E00AD2478 /* EncoderAttributes.cpp */, + 29A8DEBB1EF0475E00AD2478 /* EncoderAttributes.h */, + 29A8DEBC1EF0475E00AD2478 /* Encoding.cpp */, + 29A8DEBD1EF0475E00AD2478 /* Encoding.h */, + 29A8DEBE1EF0475E00AD2478 /* EncodingChoice.cpp */, + 29A8DEBF1EF0475E00AD2478 /* EncodingChoice.h */, + 29A8DEC01EF0475E00AD2478 /* EncodingDate.cpp */, + 29A8DEC11EF0475E00AD2478 /* EncodingDate.h */, + 29A8DEC21EF0475E00AD2478 /* EncodingDescription.cpp */, + 29A8DEC31EF0475E00AD2478 /* EncodingDescription.h */, + 29A8DEC41EF0475E00AD2478 /* Ending.cpp */, + 29A8DEC51EF0475E00AD2478 /* Ending.h */, + 29A8DEC61EF0475E00AD2478 /* EndingAttributes.cpp */, + 29A8DEC71EF0475E00AD2478 /* EndingAttributes.h */, + 29A8DEC81EF0475E00AD2478 /* EndLine.cpp */, + 29A8DEC91EF0475E00AD2478 /* EndLine.h */, + 29A8DECA1EF0475E00AD2478 /* EndParagraph.cpp */, + 29A8DECB1EF0475E00AD2478 /* EndParagraph.h */, + 29A8DECC1EF0475E00AD2478 /* Ensemble.cpp */, + 29A8DECD1EF0475E00AD2478 /* Ensemble.h */, + 29A8DECE1EF0475E00AD2478 /* Extend.cpp */, + 29A8DECF1EF0475E00AD2478 /* Extend.h */, + 29A8DED01EF0475E00AD2478 /* ExtendAttributes.cpp */, + 29A8DED11EF0475E00AD2478 /* ExtendAttributes.h */, + 29A8DED21EF0475E00AD2478 /* Eyeglasses.cpp */, + 29A8DED31EF0475E00AD2478 /* Eyeglasses.h */, + 29A8DED41EF0475E00AD2478 /* Falloff.cpp */, + 29A8DED51EF0475E00AD2478 /* Falloff.h */, + 29A8DED61EF0475E00AD2478 /* Feature.cpp */, + 29A8DED71EF0475E00AD2478 /* Feature.h */, + 29A8DED81EF0475E00AD2478 /* FeatureAttributes.cpp */, + 29A8DED91EF0475E00AD2478 /* FeatureAttributes.h */, + 29A8DEDA1EF0475E00AD2478 /* Fermata.cpp */, + 29A8DEDB1EF0475E00AD2478 /* Fermata.h */, + 29A8DEDC1EF0475E00AD2478 /* FermataAttributes.cpp */, + 29A8DEDD1EF0475E00AD2478 /* FermataAttributes.h */, + 29A8DEDE1EF0475E00AD2478 /* Fifths.cpp */, + 29A8DEDF1EF0475E00AD2478 /* Fifths.h */, + 29A8DEE01EF0475E00AD2478 /* Figure.cpp */, + 29A8DEE11EF0475E00AD2478 /* Figure.h */, + 29A8DEE21EF0475E00AD2478 /* FiguredBass.cpp */, + 29A8DEE31EF0475E00AD2478 /* FiguredBass.h */, + 29A8DEE41EF0475E00AD2478 /* FiguredBassAttributes.cpp */, + 29A8DEE51EF0475E00AD2478 /* FiguredBassAttributes.h */, + 29A8DEE61EF0475E00AD2478 /* FigureNumber.cpp */, + 29A8DEE71EF0475E00AD2478 /* FigureNumber.h */, + 29A8DEE81EF0475E00AD2478 /* FigureNumberAttributes.cpp */, + 29A8DEE91EF0475E00AD2478 /* FigureNumberAttributes.h */, + 29A8DEEA1EF0475E00AD2478 /* Fingering.cpp */, + 29A8DEEB1EF0475E00AD2478 /* Fingering.h */, + 29A8DEEC1EF0475E00AD2478 /* FingeringAttributes.cpp */, + 29A8DEED1EF0475E00AD2478 /* FingeringAttributes.h */, + 29A8DEEE1EF0475E00AD2478 /* Fingernails.cpp */, + 29A8DEEF1EF0475E00AD2478 /* Fingernails.h */, + 29A8DEF01EF0475E00AD2478 /* FirstFret.cpp */, + 29A8DEF11EF0475E00AD2478 /* FirstFret.h */, + 29A8DEF21EF0475E00AD2478 /* FirstFretAttributes.cpp */, + 29A8DEF31EF0475E00AD2478 /* FirstFretAttributes.h */, + 29A8DEF41EF0475E00AD2478 /* Footnote.cpp */, + 29A8DEF51EF0475E00AD2478 /* Footnote.h */, + 29A8DEF61EF0475E00AD2478 /* FootnoteAttributes.cpp */, + 29A8DEF71EF0475E00AD2478 /* FootnoteAttributes.h */, + 29A8DEF81EF0475E00AD2478 /* Forward.cpp */, + 29A8DEF91EF0475E00AD2478 /* Forward.h */, + 29A8DEFA1EF0475E00AD2478 /* Frame.cpp */, + 29A8DEFB1EF0475E00AD2478 /* Frame.h */, + 29A8DEFC1EF0475E00AD2478 /* FrameAttributes.cpp */, + 29A8DEFD1EF0475E00AD2478 /* FrameAttributes.h */, + 29A8DEFE1EF0475E00AD2478 /* FrameFrets.cpp */, + 29A8DEFF1EF0475E00AD2478 /* FrameFrets.h */, + 29A8DF001EF0475E00AD2478 /* FrameNote.cpp */, + 29A8DF011EF0475E00AD2478 /* FrameNote.h */, + 29A8DF021EF0475E00AD2478 /* FrameStrings.cpp */, + 29A8DF031EF0475E00AD2478 /* FrameStrings.h */, + 29A8DF041EF0475E00AD2478 /* Fret.cpp */, + 29A8DF051EF0475E00AD2478 /* Fret.h */, + 29A8DF061EF0475E00AD2478 /* FretAttributes.cpp */, + 29A8DF071EF0475E00AD2478 /* FretAttributes.h */, + 29A8DF081EF0475E00AD2478 /* FullNoteGroup.cpp */, + 29A8DF091EF0475E00AD2478 /* FullNoteGroup.h */, + 29A8DF0A1EF0475E00AD2478 /* FullNoteTypeChoice.cpp */, + 29A8DF0B1EF0475E00AD2478 /* FullNoteTypeChoice.h */, + 29A8DF0C1EF0475E00AD2478 /* Function.cpp */, + 29A8DF0D1EF0475E00AD2478 /* Function.h */, + 29A8DF0E1EF0475E00AD2478 /* FunctionAttributes.cpp */, + 29A8DF0F1EF0475E00AD2478 /* FunctionAttributes.h */, + 29A8DF101EF0475E00AD2478 /* Glass.cpp */, + 29A8DF111EF0475E00AD2478 /* Glass.h */, + 29A8DF121EF0475E00AD2478 /* Glissando.cpp */, + 29A8DF131EF0475E00AD2478 /* Glissando.h */, + 29A8DF141EF0475E00AD2478 /* GlissandoAttributes.cpp */, + 29A8DF151EF0475E00AD2478 /* GlissandoAttributes.h */, + 29A8DF161EF0475E00AD2478 /* Grace.cpp */, + 29A8DF171EF0475E00AD2478 /* Grace.h */, + 29A8DF181EF0475E00AD2478 /* GraceAttributes.cpp */, + 29A8DF191EF0475E00AD2478 /* GraceAttributes.h */, + 29A8DF1A1EF0475E00AD2478 /* GraceNoteGroup.cpp */, + 29A8DF1B1EF0475E00AD2478 /* GraceNoteGroup.h */, + 29A8DF1C1EF0475E00AD2478 /* Group.cpp */, + 29A8DF1D1EF0475E00AD2478 /* Group.h */, + 29A8DF1E1EF0475E00AD2478 /* GroupAbbreviation.cpp */, + 29A8DF1F1EF0475E00AD2478 /* GroupAbbreviation.h */, + 29A8DF201EF0475E00AD2478 /* GroupAbbreviationAttributes.cpp */, + 29A8DF211EF0475E00AD2478 /* GroupAbbreviationAttributes.h */, + 29A8DF221EF0475E00AD2478 /* GroupAbbreviationDisplay.cpp */, + 29A8DF231EF0475E00AD2478 /* GroupAbbreviationDisplay.h */, + 29A8DF241EF0475E00AD2478 /* GroupAbbreviationDisplayAttributes.cpp */, + 29A8DF251EF0475E00AD2478 /* GroupAbbreviationDisplayAttributes.h */, + 29A8DF261EF0475E00AD2478 /* GroupBarline.cpp */, + 29A8DF271EF0475E00AD2478 /* GroupBarline.h */, + 29A8DF281EF0475E00AD2478 /* GroupBarlineAttributes.cpp */, + 29A8DF291EF0475E00AD2478 /* GroupBarlineAttributes.h */, + 29A8DF2A1EF0475E00AD2478 /* Grouping.cpp */, + 29A8DF2B1EF0475E00AD2478 /* Grouping.h */, + 29A8DF2C1EF0475E00AD2478 /* GroupingAttributes.cpp */, + 29A8DF2D1EF0475E00AD2478 /* GroupingAttributes.h */, + 29A8DF2E1EF0475E00AD2478 /* GroupName.cpp */, + 29A8DF2F1EF0475E00AD2478 /* GroupName.h */, + 29A8DF301EF0475E00AD2478 /* GroupNameAttributes.cpp */, + 29A8DF311EF0475E00AD2478 /* GroupNameAttributes.h */, + 29A8DF321EF0475E00AD2478 /* GroupNameDisplay.cpp */, + 29A8DF331EF0475E00AD2478 /* GroupNameDisplay.h */, + 29A8DF341EF0475E00AD2478 /* GroupNameDisplayAttributes.cpp */, + 29A8DF351EF0475E00AD2478 /* GroupNameDisplayAttributes.h */, + 29A8DF361EF0475E00AD2478 /* GroupSymbol.cpp */, + 29A8DF371EF0475E00AD2478 /* GroupSymbol.h */, + 29A8DF381EF0475E00AD2478 /* GroupSymbolAttributes.cpp */, + 29A8DF391EF0475E00AD2478 /* GroupSymbolAttributes.h */, + 29A8DF3A1EF0475E00AD2478 /* GroupTime.cpp */, + 29A8DF3B1EF0475E00AD2478 /* GroupTime.h */, + 29A8DF3C1EF0475E00AD2478 /* HammerOn.cpp */, + 29A8DF3D1EF0475E00AD2478 /* HammerOn.h */, + 29A8DF3E1EF0475E00AD2478 /* HammerOnAttributes.cpp */, + 29A8DF3F1EF0475E00AD2478 /* HammerOnAttributes.h */, + 29A8DF401EF0475E00AD2478 /* Handbell.cpp */, + 29A8DF411EF0475E00AD2478 /* Handbell.h */, + 29A8DF421EF0475E00AD2478 /* HandbellAttributes.cpp */, + 29A8DF431EF0475E00AD2478 /* HandbellAttributes.h */, + 29A8DF441EF0475E00AD2478 /* Harmonic.cpp */, + 29A8DF451EF0475E00AD2478 /* Harmonic.h */, + 29A8DF461EF0475E00AD2478 /* HarmonicAttributes.cpp */, + 29A8DF471EF0475E00AD2478 /* HarmonicAttributes.h */, + 29A8DF481EF0475E00AD2478 /* HarmonicInfoChoice.cpp */, + 29A8DF491EF0475E00AD2478 /* HarmonicInfoChoice.h */, + 29A8DF4A1EF0475E00AD2478 /* HarmonicTypeChoice.cpp */, + 29A8DF4B1EF0475E00AD2478 /* HarmonicTypeChoice.h */, + 29A8DF4C1EF0475E00AD2478 /* Harmony.cpp */, + 29A8DF4D1EF0475E00AD2478 /* Harmony.h */, + 29A8DF4E1EF0475E00AD2478 /* HarmonyAttributes.cpp */, + 29A8DF4F1EF0475E00AD2478 /* HarmonyAttributes.h */, + 29A8DF501EF0475E00AD2478 /* HarmonyChordGroup.cpp */, + 29A8DF511EF0475E00AD2478 /* HarmonyChordGroup.h */, + 29A8DF521EF0475E00AD2478 /* HarpPedals.cpp */, + 29A8DF531EF0475E00AD2478 /* HarpPedals.h */, + 29A8DF541EF0475E00AD2478 /* HarpPedalsAttributes.cpp */, + 29A8DF551EF0475E00AD2478 /* HarpPedalsAttributes.h */, + 29A8DF561EF0475E00AD2478 /* Heel.cpp */, + 29A8DF571EF0475E00AD2478 /* Heel.h */, + 29A8DF581EF0475E00AD2478 /* HeelAttributes.cpp */, + 29A8DF591EF0475E00AD2478 /* HeelAttributes.h */, + 29A8DF5A1EF0475E00AD2478 /* Hole.cpp */, + 29A8DF5B1EF0475E00AD2478 /* Hole.h */, + 29A8DF5C1EF0475E00AD2478 /* HoleAttributes.cpp */, + 29A8DF5D1EF0475E00AD2478 /* HoleAttributes.h */, + 29A8DF5E1EF0475E00AD2478 /* HoleClosed.cpp */, + 29A8DF5F1EF0475E00AD2478 /* HoleClosed.h */, + 29A8DF601EF0475E00AD2478 /* HoleClosedAttributes.cpp */, + 29A8DF611EF0475E00AD2478 /* HoleClosedAttributes.h */, + 29A8DF621EF0475E00AD2478 /* HoleShape.cpp */, + 29A8DF631EF0475E00AD2478 /* HoleShape.h */, + 29A8DF641EF0475E00AD2478 /* HoleType.cpp */, + 29A8DF651EF0475E00AD2478 /* HoleType.h */, + 29A8DF661EF0475E00AD2478 /* Humming.cpp */, + 29A8DF671EF0475E00AD2478 /* Humming.h */, + 29A8DF681EF0475E00AD2478 /* Identification.cpp */, + 29A8DF691EF0475E00AD2478 /* Identification.h */, + 29A8DF6A1EF0475E00AD2478 /* Image.cpp */, + 29A8DF6B1EF0475E00AD2478 /* Image.h */, + 29A8DF6C1EF0475E00AD2478 /* ImageAttributes.cpp */, + 29A8DF6D1EF0475E00AD2478 /* ImageAttributes.h */, + 29A8DF6E1EF0475E00AD2478 /* Instrument.cpp */, + 29A8DF6F1EF0475E00AD2478 /* Instrument.h */, + 29A8DF701EF0475E00AD2478 /* InstrumentAbbreviation.cpp */, + 29A8DF711EF0475E00AD2478 /* InstrumentAbbreviation.h */, + 29A8DF721EF0475E00AD2478 /* InstrumentAttributes.cpp */, + 29A8DF731EF0475E00AD2478 /* InstrumentAttributes.h */, + 29A8DF741EF0475E00AD2478 /* InstrumentName.cpp */, + 29A8DF751EF0475E00AD2478 /* InstrumentName.h */, + 29A8DF761EF0475E00AD2478 /* Instruments.cpp */, + 29A8DF771EF0475E00AD2478 /* Instruments.h */, + 29A8DF781EF0475E00AD2478 /* InstrumentSound.cpp */, + 29A8DF791EF0475E00AD2478 /* InstrumentSound.h */, + 29A8DF7A1EF0475E00AD2478 /* Interchangeable.cpp */, + 29A8DF7B1EF0475E00AD2478 /* Interchangeable.h */, + 29A8DF7C1EF0475E00AD2478 /* InterchangeableAttributes.cpp */, + 29A8DF7D1EF0475E00AD2478 /* InterchangeableAttributes.h */, + 29A8DF7E1EF0475E00AD2478 /* Inversion.cpp */, + 29A8DF7F1EF0475E00AD2478 /* Inversion.h */, + 29A8DF801EF0475E00AD2478 /* InversionAttributes.cpp */, + 29A8DF811EF0475E00AD2478 /* InversionAttributes.h */, + 29A8DF821EF0475E00AD2478 /* InvertedMordent.cpp */, + 29A8DF831EF0475E00AD2478 /* InvertedMordent.h */, + 29A8DF841EF0475E00AD2478 /* InvertedMordentAttributes.cpp */, + 29A8DF851EF0475E00AD2478 /* InvertedMordentAttributes.h */, + 29A8DF861EF0475E00AD2478 /* InvertedTurn.cpp */, + 29A8DF871EF0475E00AD2478 /* InvertedTurn.h */, + 29A8DF881EF0475E00AD2478 /* InvertedTurnAttributes.cpp */, + 29A8DF891EF0475E00AD2478 /* InvertedTurnAttributes.h */, + 29A8DF8A1EF0475E00AD2478 /* Ipa.cpp */, + 29A8DF8B1EF0475E00AD2478 /* Ipa.h */, + 29A8DF8C1EF0475E00AD2478 /* Key.cpp */, + 29A8DF8D1EF0475E00AD2478 /* Key.h */, + 29A8DF8E1EF0475E00AD2478 /* KeyAccidental.cpp */, + 29A8DF8F1EF0475E00AD2478 /* KeyAccidental.h */, + 29A8DF901EF0475E00AD2478 /* KeyAlter.cpp */, + 29A8DF911EF0475E00AD2478 /* KeyAlter.h */, + 29A8DF921EF0475E00AD2478 /* KeyAttributes.cpp */, + 29A8DF931EF0475E00AD2478 /* KeyAttributes.h */, + 29A8DF941EF0475E00AD2478 /* KeyChoice.cpp */, + 29A8DF951EF0475E00AD2478 /* KeyChoice.h */, + 29A8DF961EF0475E00AD2478 /* KeyOctave.cpp */, + 29A8DF971EF0475E00AD2478 /* KeyOctave.h */, + 29A8DF981EF0475E00AD2478 /* KeyOctaveAttributes.cpp */, + 29A8DF991EF0475E00AD2478 /* KeyOctaveAttributes.h */, + 29A8DF9A1EF0475E00AD2478 /* KeyStep.cpp */, + 29A8DF9B1EF0475E00AD2478 /* KeyStep.h */, + 29A8DF9C1EF0475E00AD2478 /* Kind.cpp */, + 29A8DF9D1EF0475E00AD2478 /* Kind.h */, + 29A8DF9E1EF0475E00AD2478 /* KindAttributes.cpp */, + 29A8DF9F1EF0475E00AD2478 /* KindAttributes.h */, + 29A8DFA01EF0475E00AD2478 /* Laughing.cpp */, + 29A8DFA11EF0475E00AD2478 /* Laughing.h */, + 29A8DFA21EF0475E00AD2478 /* LayoutGroup.cpp */, + 29A8DFA31EF0475E00AD2478 /* LayoutGroup.h */, + 29A8DFA41EF0475E00AD2478 /* LeftDivider.cpp */, + 29A8DFA51EF0475E00AD2478 /* LeftDivider.h */, + 29A8DFA61EF0475E00AD2478 /* LeftMargin.cpp */, + 29A8DFA71EF0475E00AD2478 /* LeftMargin.h */, + 29A8DFA81EF0475E00AD2478 /* Level.cpp */, + 29A8DFA91EF0475E00AD2478 /* Level.h */, + 29A8DFAA1EF0475E00AD2478 /* LevelAttributes.cpp */, + 29A8DFAB1EF0475E00AD2478 /* LevelAttributes.h */, + 29A8DFAC1EF0475E00AD2478 /* Line.cpp */, + 29A8DFAD1EF0475E00AD2478 /* Line.h */, + 29A8DFAE1EF0475E00AD2478 /* LineWidth.cpp */, + 29A8DFAF1EF0475E00AD2478 /* LineWidth.h */, + 29A8DFB01EF0475E00AD2478 /* LineWidthAttributes.cpp */, + 29A8DFB11EF0475E00AD2478 /* LineWidthAttributes.h */, + 29A8DFB21EF0475E00AD2478 /* Link.cpp */, + 29A8DFB31EF0475E00AD2478 /* Link.h */, + 29A8DFB41EF0475E00AD2478 /* LinkAttributes.cpp */, + 29A8DFB51EF0475E00AD2478 /* LinkAttributes.h */, + 29A8DFB61EF0475E00AD2478 /* Lyric.cpp */, + 29A8DFB71EF0475E00AD2478 /* Lyric.h */, + 29A8DFB81EF0475E00AD2478 /* LyricAttributes.cpp */, + 29A8DFB91EF0475E00AD2478 /* LyricAttributes.h */, + 29A8DFBA1EF0475E00AD2478 /* LyricFont.cpp */, + 29A8DFBB1EF0475E00AD2478 /* LyricFont.h */, + 29A8DFBC1EF0475E00AD2478 /* LyricFontAttributes.cpp */, + 29A8DFBD1EF0475E00AD2478 /* LyricFontAttributes.h */, + 29A8DFBE1EF0475E00AD2478 /* LyricLanguage.cpp */, + 29A8DFBF1EF0475E00AD2478 /* LyricLanguage.h */, + 29A8DFC01EF0475E00AD2478 /* LyricLanguageAttributes.cpp */, + 29A8DFC11EF0475E00AD2478 /* LyricLanguageAttributes.h */, + 29A8DFC21EF0475E00AD2478 /* LyricTextChoice.cpp */, + 29A8DFC31EF0475E00AD2478 /* LyricTextChoice.h */, + 29A8DFC41EF0475E00AD2478 /* MeasureAttributes.cpp */, + 29A8DFC51EF0475E00AD2478 /* MeasureAttributes.h */, + 29A8DFC61EF0475E00AD2478 /* MeasureDistance.cpp */, + 29A8DFC71EF0475E00AD2478 /* MeasureDistance.h */, + 29A8DFC81EF0475E00AD2478 /* MeasureLayout.cpp */, + 29A8DFC91EF0475F00AD2478 /* MeasureLayout.h */, + 29A8DFCA1EF0475F00AD2478 /* MeasureNumbering.cpp */, + 29A8DFCB1EF0475F00AD2478 /* MeasureNumbering.h */, + 29A8DFCC1EF0475F00AD2478 /* MeasureNumberingAttributes.cpp */, + 29A8DFCD1EF0475F00AD2478 /* MeasureNumberingAttributes.h */, + 29A8DFCE1EF0475F00AD2478 /* MeasureRepeat.cpp */, + 29A8DFCF1EF0475F00AD2478 /* MeasureRepeat.h */, + 29A8DFD01EF0475F00AD2478 /* MeasureRepeatAttributes.cpp */, + 29A8DFD11EF0475F00AD2478 /* MeasureRepeatAttributes.h */, + 29A8DFD21EF0475F00AD2478 /* MeasureStyle.cpp */, + 29A8DFD31EF0475F00AD2478 /* MeasureStyle.h */, + 29A8DFD41EF0475F00AD2478 /* MeasureStyleAttributes.cpp */, + 29A8DFD51EF0475F00AD2478 /* MeasureStyleAttributes.h */, + 29A8DFD61EF0475F00AD2478 /* MeasureStyleChoice.cpp */, + 29A8DFD71EF0475F00AD2478 /* MeasureStyleChoice.h */, + 29A8DFD81EF0475F00AD2478 /* Membrane.cpp */, + 29A8DFD91EF0475F00AD2478 /* Membrane.h */, + 29A8DFDA1EF0475F00AD2478 /* Metal.cpp */, + 29A8DFDB1EF0475F00AD2478 /* Metal.h */, + 29A8DFDC1EF0475F00AD2478 /* Metronome.cpp */, + 29A8DFDD1EF0475F00AD2478 /* Metronome.h */, + 29A8DFDE1EF0475F00AD2478 /* MetronomeAttributes.cpp */, + 29A8DFDF1EF0475F00AD2478 /* MetronomeAttributes.h */, + 29A8DFE01EF0475F00AD2478 /* MetronomeBeam.cpp */, + 29A8DFE11EF0475F00AD2478 /* MetronomeBeam.h */, + 29A8DFE21EF0475F00AD2478 /* MetronomeBeamAttributes.cpp */, + 29A8DFE31EF0475F00AD2478 /* MetronomeBeamAttributes.h */, + 29A8DFE41EF0475F00AD2478 /* MetronomeDot.cpp */, + 29A8DFE51EF0475F00AD2478 /* MetronomeDot.h */, + 29A8DFE61EF0475F00AD2478 /* MetronomeNote.cpp */, + 29A8DFE71EF0475F00AD2478 /* MetronomeNote.h */, + 29A8DFE81EF0475F00AD2478 /* MetronomeRelation.cpp */, + 29A8DFE91EF0475F00AD2478 /* MetronomeRelation.h */, + 29A8DFEA1EF0475F00AD2478 /* MetronomeRelationGroup.cpp */, + 29A8DFEB1EF0475F00AD2478 /* MetronomeRelationGroup.h */, + 29A8DFEC1EF0475F00AD2478 /* MetronomeTuplet.cpp */, + 29A8DFED1EF0475F00AD2478 /* MetronomeTuplet.h */, + 29A8DFEE1EF0475F00AD2478 /* MetronomeTupletAttributes.cpp */, + 29A8DFEF1EF0475F00AD2478 /* MetronomeTupletAttributes.h */, + 29A8DFF01EF0475F00AD2478 /* MetronomeType.cpp */, + 29A8DFF11EF0475F00AD2478 /* MetronomeType.h */, + 29A8DFF21EF0475F00AD2478 /* MidiBank.cpp */, + 29A8DFF31EF0475F00AD2478 /* MidiBank.h */, + 29A8DFF41EF0475F00AD2478 /* MidiChannel.cpp */, + 29A8DFF51EF0475F00AD2478 /* MidiChannel.h */, + 29A8DFF61EF0475F00AD2478 /* MidiDevice.cpp */, + 29A8DFF71EF0475F00AD2478 /* MidiDevice.h */, + 29A8DFF81EF0475F00AD2478 /* MidiDeviceAttributes.cpp */, + 29A8DFF91EF0475F00AD2478 /* MidiDeviceAttributes.h */, + 29A8DFFA1EF0475F00AD2478 /* MidiDeviceInstrumentGroup.cpp */, + 29A8DFFB1EF0475F00AD2478 /* MidiDeviceInstrumentGroup.h */, + 29A8DFFC1EF0475F00AD2478 /* MidiInstrument.cpp */, + 29A8DFFD1EF0475F00AD2478 /* MidiInstrument.h */, + 29A8DFFE1EF0475F00AD2478 /* MidiInstrumentAttributes.cpp */, + 29A8DFFF1EF0475F00AD2478 /* MidiInstrumentAttributes.h */, + 29A8E0001EF0475F00AD2478 /* MidiName.cpp */, + 29A8E0011EF0475F00AD2478 /* MidiName.h */, + 29A8E0021EF0475F00AD2478 /* MidiProgram.cpp */, + 29A8E0031EF0475F00AD2478 /* MidiProgram.h */, + 29A8E0041EF0475F00AD2478 /* MidiUnpitched.cpp */, + 29A8E0051EF0475F00AD2478 /* MidiUnpitched.h */, + 29A8E0061EF0475F00AD2478 /* Millimeters.cpp */, + 29A8E0071EF0475F00AD2478 /* Millimeters.h */, + 29A8E0081EF0475F00AD2478 /* Miscellaneous.cpp */, + 29A8E0091EF0475F00AD2478 /* Miscellaneous.h */, + 29A8E00A1EF0475F00AD2478 /* MiscellaneousField.cpp */, + 29A8E00B1EF0475F00AD2478 /* MiscellaneousField.h */, + 29A8E00C1EF0475F00AD2478 /* MiscellaneousFieldAttributes.cpp */, + 29A8E00D1EF0475F00AD2478 /* MiscellaneousFieldAttributes.h */, + 29A8E00E1EF0475F00AD2478 /* Mode.cpp */, + 29A8E00F1EF0475F00AD2478 /* Mode.h */, + 29A8E0101EF0475F00AD2478 /* Mordent.cpp */, + 29A8E0111EF0475F00AD2478 /* Mordent.h */, + 29A8E0121EF0475F00AD2478 /* MordentAttributes.cpp */, + 29A8E0131EF0475F00AD2478 /* MordentAttributes.h */, + 29A8E0141EF0475F00AD2478 /* MovementNumber.cpp */, + 29A8E0151EF0475F00AD2478 /* MovementNumber.h */, + 29A8E0161EF0475F00AD2478 /* MovementTitle.cpp */, + 29A8E0171EF0475F00AD2478 /* MovementTitle.h */, + 29A8E0181EF0475F00AD2478 /* MultipleRest.cpp */, + 29A8E0191EF0475F00AD2478 /* MultipleRest.h */, + 29A8E01A1EF0475F00AD2478 /* MultipleRestAttributes.cpp */, + 29A8E01B1EF0475F00AD2478 /* MultipleRestAttributes.h */, + 29A8E01C1EF0475F00AD2478 /* MusicDataChoice.cpp */, + 29A8E01D1EF0475F00AD2478 /* MusicDataChoice.h */, + 29A8E01E1EF0475F00AD2478 /* MusicDataGroup.cpp */, + 29A8E01F1EF0475F00AD2478 /* MusicDataGroup.h */, + 29A8E0201EF0475F00AD2478 /* MusicFont.cpp */, + 29A8E0211EF0475F00AD2478 /* MusicFont.h */, + 29A8E0221EF0475F00AD2478 /* Mute.cpp */, + 29A8E0231EF0475F00AD2478 /* Mute.h */, + 29A8E0241EF0475F00AD2478 /* Natural.cpp */, + 29A8E0251EF0475F00AD2478 /* Natural.h */, + 29A8E0261EF0475F00AD2478 /* NonArpeggiate.cpp */, + 29A8E0271EF0475F00AD2478 /* NonArpeggiate.h */, + 29A8E0281EF0475F00AD2478 /* NonArpeggiateAttributes.cpp */, + 29A8E0291EF0475F00AD2478 /* NonArpeggiateAttributes.h */, + 29A8E02A1EF0475F00AD2478 /* NonTraditionalKey.cpp */, + 29A8E02B1EF0475F00AD2478 /* NonTraditionalKey.h */, + 29A8E02C1EF0475F00AD2478 /* NormalDot.cpp */, + 29A8E02D1EF0475F00AD2478 /* NormalDot.h */, + 29A8E02E1EF0475F00AD2478 /* NormalNoteGroup.cpp */, + 29A8E02F1EF0475F00AD2478 /* NormalNoteGroup.h */, + 29A8E0301EF0475F00AD2478 /* NormalNotes.cpp */, + 29A8E0311EF0475F00AD2478 /* NormalNotes.h */, + 29A8E0321EF0475F00AD2478 /* NormalType.cpp */, + 29A8E0331EF0475F00AD2478 /* NormalType.h */, + 29A8E0341EF0475F00AD2478 /* NormalTypeNormalDotGroup.cpp */, + 29A8E0351EF0475F00AD2478 /* NormalTypeNormalDotGroup.h */, + 29A8E0361EF0475F00AD2478 /* Notations.cpp */, + 29A8E0371EF0475F00AD2478 /* Notations.h */, + 29A8E0381EF0475F00AD2478 /* NotationsAttributes.cpp */, + 29A8E0391EF0475F00AD2478 /* NotationsAttributes.h */, + 29A8E03A1EF0475F00AD2478 /* NotationsChoice.cpp */, + 29A8E03B1EF0475F00AD2478 /* NotationsChoice.h */, + 29A8E03C1EF0475F00AD2478 /* Note.cpp */, + 29A8E03D1EF0475F00AD2478 /* Note.h */, + 29A8E03E1EF0475F00AD2478 /* NoteAttributes.cpp */, + 29A8E03F1EF0475F00AD2478 /* NoteAttributes.h */, + 29A8E0401EF0475F00AD2478 /* NoteChoice.cpp */, + 29A8E0411EF0475F00AD2478 /* NoteChoice.h */, + 29A8E0421EF0475F00AD2478 /* Notehead.cpp */, + 29A8E0431EF0475F00AD2478 /* Notehead.h */, + 29A8E0441EF0475F00AD2478 /* NoteheadAttributes.cpp */, + 29A8E0451EF0475F00AD2478 /* NoteheadAttributes.h */, + 29A8E0461EF0475F00AD2478 /* NoteheadText.cpp */, + 29A8E0471EF0475F00AD2478 /* NoteheadText.h */, + 29A8E0481EF0475F00AD2478 /* NoteheadTextChoice.cpp */, + 29A8E0491EF0475F00AD2478 /* NoteheadTextChoice.h */, + 29A8E04A1EF0475F00AD2478 /* NoteRelationNote.cpp */, + 29A8E04B1EF0475F00AD2478 /* NoteRelationNote.h */, + 29A8E04C1EF0475F00AD2478 /* NoteSize.cpp */, + 29A8E04D1EF0475F00AD2478 /* NoteSize.h */, + 29A8E04E1EF0475F00AD2478 /* NoteSizeAttributes.cpp */, + 29A8E04F1EF0475F00AD2478 /* NoteSizeAttributes.h */, + 29A8E0501EF0475F00AD2478 /* Octave.cpp */, + 29A8E0511EF0475F00AD2478 /* Octave.h */, + 29A8E0521EF0475F00AD2478 /* OctaveChange.cpp */, + 29A8E0531EF0475F00AD2478 /* OctaveChange.h */, + 29A8E0541EF0475F00AD2478 /* OctaveShift.cpp */, + 29A8E0551EF0475F00AD2478 /* OctaveShift.h */, + 29A8E0561EF0475F00AD2478 /* OctaveShiftAttributes.cpp */, + 29A8E0571EF0475F00AD2478 /* OctaveShiftAttributes.h */, + 29A8E0581EF0475F00AD2478 /* Offset.cpp */, + 29A8E0591EF0475F00AD2478 /* Offset.h */, + 29A8E05A1EF0475F00AD2478 /* OffsetAttributes.cpp */, + 29A8E05B1EF0475F00AD2478 /* OffsetAttributes.h */, + 29A8E05C1EF0475F00AD2478 /* OpenString.cpp */, + 29A8E05D1EF0475F00AD2478 /* OpenString.h */, + 29A8E05E1EF0475F00AD2478 /* Opus.cpp */, + 29A8E05F1EF0475F00AD2478 /* Opus.h */, + 29A8E0601EF0475F00AD2478 /* OpusAttributes.cpp */, + 29A8E0611EF0475F00AD2478 /* OpusAttributes.h */, + 29A8E0621EF0475F00AD2478 /* Ornaments.cpp */, + 29A8E0631EF0475F00AD2478 /* Ornaments.h */, + 29A8E0641EF0475F00AD2478 /* OrnamentsChoice.cpp */, + 29A8E0651EF0475F00AD2478 /* OrnamentsChoice.h */, + 29A8E0661EF0475F00AD2478 /* OtherAppearance.cpp */, + 29A8E0671EF0475F00AD2478 /* OtherAppearance.h */, + 29A8E0681EF0475F00AD2478 /* OtherAppearanceAttributes.cpp */, + 29A8E0691EF0475F00AD2478 /* OtherAppearanceAttributes.h */, + 29A8E06A1EF0475F00AD2478 /* OtherArticulation.cpp */, + 29A8E06B1EF0475F00AD2478 /* OtherArticulation.h */, + 29A8E06C1EF0475F00AD2478 /* OtherArticulationAttributes.cpp */, + 29A8E06D1EF0475F00AD2478 /* OtherArticulationAttributes.h */, + 29A8E06E1EF0475F00AD2478 /* OtherDirection.cpp */, + 29A8E06F1EF0475F00AD2478 /* OtherDirection.h */, + 29A8E0701EF0475F00AD2478 /* OtherDirectionAttributes.cpp */, + 29A8E0711EF0475F00AD2478 /* OtherDirectionAttributes.h */, + 29A8E0721EF0475F00AD2478 /* OtherNotation.cpp */, + 29A8E0731EF0475F00AD2478 /* OtherNotation.h */, + 29A8E0741EF0475F00AD2478 /* OtherNotationAttributes.cpp */, + 29A8E0751EF0475F00AD2478 /* OtherNotationAttributes.h */, + 29A8E0761EF0475F00AD2478 /* OtherOrnament.cpp */, + 29A8E0771EF0475F00AD2478 /* OtherOrnament.h */, + 29A8E0781EF0475F00AD2478 /* OtherOrnamentAttributes.cpp */, + 29A8E0791EF0475F00AD2478 /* OtherOrnamentAttributes.h */, + 29A8E07A1EF0475F00AD2478 /* OtherPercussion.cpp */, + 29A8E07B1EF0475F00AD2478 /* OtherPercussion.h */, + 29A8E07C1EF0475F00AD2478 /* OtherPlay.cpp */, + 29A8E07D1EF0475F00AD2478 /* OtherPlay.h */, + 29A8E07E1EF0475F00AD2478 /* OtherPlayAttributes.cpp */, + 29A8E07F1EF0475F00AD2478 /* OtherPlayAttributes.h */, + 29A8E0801EF0475F00AD2478 /* OtherTechnical.cpp */, + 29A8E0811EF0475F00AD2478 /* OtherTechnical.h */, + 29A8E0821EF0475F00AD2478 /* OtherTechnicalAttributes.cpp */, + 29A8E0831EF0475F00AD2478 /* OtherTechnicalAttributes.h */, + 29A8E0841EF0475F00AD2478 /* PageHeight.cpp */, + 29A8E0851EF0475F00AD2478 /* PageHeight.h */, + 29A8E0861EF0475F00AD2478 /* PageLayout.cpp */, + 29A8E0871EF0475F00AD2478 /* PageLayout.h */, + 29A8E0881EF0475F00AD2478 /* PageMargins.cpp */, + 29A8E0891EF0475F00AD2478 /* PageMargins.h */, + 29A8E08A1EF0475F00AD2478 /* PageMarginsAttributes.cpp */, + 29A8E08B1EF0475F00AD2478 /* PageMarginsAttributes.h */, + 29A8E08C1EF0475F00AD2478 /* PageWidth.cpp */, + 29A8E08D1EF0475F00AD2478 /* PageWidth.h */, + 29A8E08E1EF0475F00AD2478 /* Pan.cpp */, + 29A8E08F1EF0475F00AD2478 /* Pan.h */, + 29A8E0901EF0475F00AD2478 /* PartAbbreviation.cpp */, + 29A8E0911EF0475F00AD2478 /* PartAbbreviation.h */, + 29A8E0921EF0475F00AD2478 /* PartAbbreviationAttributes.cpp */, + 29A8E0931EF0475F00AD2478 /* PartAbbreviationAttributes.h */, + 29A8E0941EF0475F00AD2478 /* PartAbbreviationDisplay.cpp */, + 29A8E0951EF0475F00AD2478 /* PartAbbreviationDisplay.h */, + 29A8E0961EF0475F00AD2478 /* PartAbbreviationDisplayAttributes.cpp */, + 29A8E0971EF0475F00AD2478 /* PartAbbreviationDisplayAttributes.h */, + 29A8E0981EF0475F00AD2478 /* PartAttributes.cpp */, + 29A8E0991EF0475F00AD2478 /* PartAttributes.h */, + 29A8E09A1EF0475F00AD2478 /* PartGroup.cpp */, + 29A8E09B1EF0475F00AD2478 /* PartGroup.h */, + 29A8E09C1EF0475F00AD2478 /* PartGroupAttributes.cpp */, + 29A8E09D1EF0475F00AD2478 /* PartGroupAttributes.h */, + 29A8E09E1EF0475F00AD2478 /* PartGroupOrScorePart.cpp */, + 29A8E09F1EF0475F00AD2478 /* PartGroupOrScorePart.h */, + 29A8E0A01EF0475F00AD2478 /* PartList.cpp */, + 29A8E0A11EF0475F00AD2478 /* PartList.h */, + 29A8E0A21EF0475F00AD2478 /* PartName.cpp */, + 29A8E0A31EF0476000AD2478 /* PartName.h */, + 29A8E0A41EF0476000AD2478 /* PartNameAttributes.cpp */, + 29A8E0A51EF0476000AD2478 /* PartNameAttributes.h */, + 29A8E0A61EF0476000AD2478 /* PartNameDisplay.cpp */, + 29A8E0A71EF0476000AD2478 /* PartNameDisplay.h */, + 29A8E0A81EF0476000AD2478 /* PartNameDisplayAttributes.cpp */, + 29A8E0A91EF0476000AD2478 /* PartNameDisplayAttributes.h */, + 29A8E0AA1EF0476000AD2478 /* PartSymbol.cpp */, + 29A8E0AB1EF0476000AD2478 /* PartSymbol.h */, + 29A8E0AC1EF0476000AD2478 /* PartSymbolAttributes.cpp */, + 29A8E0AD1EF0476000AD2478 /* PartSymbolAttributes.h */, + 29A8E0AE1EF0476000AD2478 /* PartwiseMeasure.cpp */, + 29A8E0AF1EF0476000AD2478 /* PartwiseMeasure.h */, + 29A8E0B01EF0476000AD2478 /* PartwisePart.cpp */, + 29A8E0B11EF0476000AD2478 /* PartwisePart.h */, + 29A8E0B21EF0476000AD2478 /* Pedal.cpp */, + 29A8E0B31EF0476000AD2478 /* Pedal.h */, + 29A8E0B41EF0476000AD2478 /* PedalAlter.cpp */, + 29A8E0B51EF0476000AD2478 /* PedalAlter.h */, + 29A8E0B61EF0476000AD2478 /* PedalAttributes.cpp */, + 29A8E0B71EF0476000AD2478 /* PedalAttributes.h */, + 29A8E0B81EF0476000AD2478 /* PedalStep.cpp */, + 29A8E0B91EF0476000AD2478 /* PedalStep.h */, + 29A8E0BA1EF0476000AD2478 /* PedalTuning.cpp */, + 29A8E0BB1EF0476000AD2478 /* PedalTuning.h */, + 29A8E0BC1EF0476000AD2478 /* Percussion.cpp */, + 29A8E0BD1EF0476000AD2478 /* Percussion.h */, + 29A8E0BE1EF0476000AD2478 /* PercussionAttributes.cpp */, + 29A8E0BF1EF0476000AD2478 /* PercussionAttributes.h */, + 29A8E0C01EF0476000AD2478 /* PercussionChoice.cpp */, + 29A8E0C11EF0476000AD2478 /* PercussionChoice.h */, + 29A8E0C21EF0476000AD2478 /* PerMinute.cpp */, + 29A8E0C31EF0476000AD2478 /* PerMinute.h */, + 29A8E0C41EF0476000AD2478 /* PerMinuteAttributes.cpp */, + 29A8E0C51EF0476000AD2478 /* PerMinuteAttributes.h */, + 29A8E0C61EF0476000AD2478 /* PerMinuteOrBeatUnitChoice.cpp */, + 29A8E0C71EF0476000AD2478 /* PerMinuteOrBeatUnitChoice.h */, + 29A8E0C81EF0476000AD2478 /* Pitch.cpp */, + 29A8E0C91EF0476000AD2478 /* Pitch.h */, + 29A8E0CA1EF0476000AD2478 /* Pitched.cpp */, + 29A8E0CB1EF0476000AD2478 /* Pitched.h */, + 29A8E0CC1EF0476000AD2478 /* Play.cpp */, + 29A8E0CD1EF0476000AD2478 /* Play.h */, + 29A8E0CE1EF0476000AD2478 /* PlayAttributes.cpp */, + 29A8E0CF1EF0476000AD2478 /* PlayAttributes.h */, + 29A8E0D01EF0476000AD2478 /* Plop.cpp */, + 29A8E0D11EF0476000AD2478 /* Plop.h */, + 29A8E0D21EF0476000AD2478 /* Pluck.cpp */, + 29A8E0D31EF0476000AD2478 /* Pluck.h */, + 29A8E0D41EF0476000AD2478 /* PluckAttributes.cpp */, + 29A8E0D51EF0476000AD2478 /* PluckAttributes.h */, + 29A8E0D61EF0476000AD2478 /* PreBend.cpp */, + 29A8E0D71EF0476000AD2478 /* PreBend.h */, + 29A8E0D91EF0476000AD2478 /* Prefix.cpp */, + 29A8E0DA1EF0476000AD2478 /* Prefix.h */, + 29A8E0DB1EF0476000AD2478 /* PrefixAttributes.cpp */, + 29A8E0DC1EF0476000AD2478 /* PrefixAttributes.h */, + 29A8E0DD1EF0476000AD2478 /* PrincipalVoice.cpp */, + 29A8E0DE1EF0476000AD2478 /* PrincipalVoice.h */, + 29A8E0DF1EF0476000AD2478 /* PrincipalVoiceAttributes.cpp */, + 29A8E0E01EF0476000AD2478 /* PrincipalVoiceAttributes.h */, + 29A8E0E11EF0476000AD2478 /* Print.cpp */, + 29A8E0E21EF0476000AD2478 /* Print.h */, + 29A8E0E31EF0476000AD2478 /* PrintAttributes.cpp */, + 29A8E0E41EF0476000AD2478 /* PrintAttributes.h */, + 29A8E0E51EF0476000AD2478 /* Properties.cpp */, + 29A8E0E61EF0476000AD2478 /* Properties.h */, + 29A8E0E71EF0476000AD2478 /* PullOff.cpp */, + 29A8E0E81EF0476000AD2478 /* PullOff.h */, + 29A8E0E91EF0476000AD2478 /* PullOffAttributes.cpp */, + 29A8E0EA1EF0476000AD2478 /* PullOffAttributes.h */, + 29A8E0EB1EF0476000AD2478 /* Rehearsal.cpp */, + 29A8E0EC1EF0476000AD2478 /* Rehearsal.h */, + 29A8E0ED1EF0476000AD2478 /* RehearsalAttributes.cpp */, + 29A8E0EE1EF0476000AD2478 /* RehearsalAttributes.h */, + 29A8E0EF1EF0476000AD2478 /* Relation.cpp */, + 29A8E0F01EF0476000AD2478 /* Relation.h */, + 29A8E0F11EF0476000AD2478 /* RelationAttributes.cpp */, + 29A8E0F21EF0476000AD2478 /* RelationAttributes.h */, + 29A8E0F31EF0476000AD2478 /* Release.cpp */, + 29A8E0F41EF0476000AD2478 /* Release.h */, + 29A8E0F51EF0476000AD2478 /* Repeat.cpp */, + 29A8E0F61EF0476000AD2478 /* Repeat.h */, + 29A8E0F71EF0476000AD2478 /* RepeatAttributes.cpp */, + 29A8E0F81EF0476000AD2478 /* RepeatAttributes.h */, + 29A8E0F91EF0476000AD2478 /* Rest.cpp */, + 29A8E0FA1EF0476000AD2478 /* Rest.h */, + 29A8E0FB1EF0476000AD2478 /* RestAttributes.cpp */, + 29A8E0FC1EF0476000AD2478 /* RestAttributes.h */, + 29A8E0FD1EF0476000AD2478 /* RightDivider.cpp */, + 29A8E0FE1EF0476000AD2478 /* RightDivider.h */, + 29A8E0FF1EF0476000AD2478 /* RightMargin.cpp */, + 29A8E1001EF0476000AD2478 /* RightMargin.h */, + 29A8E1011EF0476000AD2478 /* Rights.cpp */, + 29A8E1021EF0476000AD2478 /* Rights.h */, + 29A8E1031EF0476000AD2478 /* RightsAttributes.cpp */, + 29A8E1041EF0476000AD2478 /* RightsAttributes.h */, + 29A8E1051EF0476000AD2478 /* Root.cpp */, + 29A8E1061EF0476000AD2478 /* Root.h */, + 29A8E1071EF0476000AD2478 /* RootAlter.cpp */, + 29A8E1081EF0476000AD2478 /* RootAlter.h */, + 29A8E1091EF0476000AD2478 /* RootAlterAttributes.cpp */, + 29A8E10A1EF0476000AD2478 /* RootAlterAttributes.h */, + 29A8E10B1EF0476000AD2478 /* RootStep.cpp */, + 29A8E10C1EF0476000AD2478 /* RootStep.h */, + 29A8E10D1EF0476000AD2478 /* RootStepAttributes.cpp */, + 29A8E10E1EF0476000AD2478 /* RootStepAttributes.h */, + 29A8E10F1EF0476000AD2478 /* Scaling.cpp */, + 29A8E1101EF0476000AD2478 /* Scaling.h */, + 29A8E1111EF0476000AD2478 /* Schleifer.cpp */, + 29A8E1121EF0476000AD2478 /* Schleifer.h */, + 29A8E1131EF0476000AD2478 /* Scoop.cpp */, + 29A8E1141EF0476000AD2478 /* Scoop.h */, + 29A8E1151EF0476000AD2478 /* Scordatura.cpp */, + 29A8E1161EF0476000AD2478 /* Scordatura.h */, + 29A8E1171EF0476000AD2478 /* ScoreHeaderGroup.cpp */, + 29A8E1181EF0476000AD2478 /* ScoreHeaderGroup.h */, + 29A8E1191EF0476000AD2478 /* ScoreInstrument.cpp */, + 29A8E11A1EF0476000AD2478 /* ScoreInstrument.h */, + 29A8E11B1EF0476000AD2478 /* ScoreInstrumentAttributes.cpp */, + 29A8E11C1EF0476000AD2478 /* ScoreInstrumentAttributes.h */, + 29A8E11D1EF0476000AD2478 /* ScorePart.cpp */, + 29A8E11E1EF0476000AD2478 /* ScorePart.h */, + 29A8E11F1EF0476000AD2478 /* ScorePartAttributes.cpp */, + 29A8E1201EF0476000AD2478 /* ScorePartAttributes.h */, + 29A8E1211EF0476000AD2478 /* ScorePartwise.cpp */, + 29A8E1221EF0476000AD2478 /* ScorePartwise.h */, + 29A8E1231EF0476000AD2478 /* ScorePartwiseAttributes.cpp */, + 29A8E1241EF0476000AD2478 /* ScorePartwiseAttributes.h */, + 29A8E1251EF0476000AD2478 /* ScoreTimewise.cpp */, + 29A8E1261EF0476000AD2478 /* ScoreTimewise.h */, + 29A8E1271EF0476000AD2478 /* ScoreTimewiseAttributes.cpp */, + 29A8E1281EF0476000AD2478 /* ScoreTimewiseAttributes.h */, + 29A8E1291EF0476000AD2478 /* Segno.cpp */, + 29A8E12A1EF0476000AD2478 /* Segno.h */, + 29A8E12B1EF0476000AD2478 /* SemiPitched.cpp */, + 29A8E12C1EF0476000AD2478 /* SemiPitched.h */, + 29A8E12D1EF0476000AD2478 /* SenzaMisura.cpp */, + 29A8E12E1EF0476000AD2478 /* SenzaMisura.h */, + 29A8E12F1EF0476000AD2478 /* Shake.cpp */, + 29A8E1301EF0476000AD2478 /* Shake.h */, + 29A8E1311EF0476000AD2478 /* Sign.cpp */, + 29A8E1321EF0476000AD2478 /* Sign.h */, + 29A8E1331EF0476000AD2478 /* Slash.cpp */, + 29A8E1341EF0476000AD2478 /* Slash.h */, + 29A8E1351EF0476000AD2478 /* SlashAttributes.cpp */, + 29A8E1361EF0476000AD2478 /* SlashAttributes.h */, + 29A8E1371EF0476000AD2478 /* SlashDot.cpp */, + 29A8E1381EF0476000AD2478 /* SlashDot.h */, + 29A8E1391EF0476000AD2478 /* SlashType.cpp */, + 29A8E13A1EF0476000AD2478 /* SlashType.h */, + 29A8E13B1EF0476000AD2478 /* Slide.cpp */, + 29A8E13C1EF0476000AD2478 /* Slide.h */, + 29A8E13D1EF0476000AD2478 /* SlideAttributes.cpp */, + 29A8E13E1EF0476000AD2478 /* SlideAttributes.h */, + 29A8E13F1EF0476000AD2478 /* Slur.cpp */, + 29A8E1401EF0476000AD2478 /* Slur.h */, + 29A8E1411EF0476000AD2478 /* SlurAttributes.cpp */, + 29A8E1421EF0476000AD2478 /* SlurAttributes.h */, + 29A8E1431EF0476000AD2478 /* SnapPizzicato.cpp */, + 29A8E1441EF0476000AD2478 /* SnapPizzicato.h */, + 29A8E1451EF0476000AD2478 /* Software.cpp */, + 29A8E1461EF0476100AD2478 /* Software.h */, + 29A8E1471EF0476100AD2478 /* Solo.cpp */, + 29A8E1481EF0476100AD2478 /* Solo.h */, + 29A8E1491EF0476100AD2478 /* SoloOrEnsembleChoice.cpp */, + 29A8E14A1EF0476100AD2478 /* SoloOrEnsembleChoice.h */, + 29A8E14B1EF0476100AD2478 /* Sound.cpp */, + 29A8E14C1EF0476100AD2478 /* Sound.h */, + 29A8E14D1EF0476100AD2478 /* SoundAttributes.cpp */, + 29A8E14E1EF0476100AD2478 /* SoundAttributes.h */, + 29A8E14F1EF0476100AD2478 /* SoundingPitch.cpp */, + 29A8E1501EF0476100AD2478 /* SoundingPitch.h */, + 29A8E1511EF0476100AD2478 /* Source.cpp */, + 29A8E1521EF0476100AD2478 /* Source.h */, + 29A8E1531EF0476100AD2478 /* Spiccato.cpp */, + 29A8E1541EF0476100AD2478 /* Spiccato.h */, + 29A8E1551EF0476100AD2478 /* Staccatissimo.cpp */, + 29A8E1561EF0476100AD2478 /* Staccatissimo.h */, + 29A8E1571EF0476100AD2478 /* Staccato.cpp */, + 29A8E1581EF0476100AD2478 /* Staccato.h */, + 29A8E1591EF0476100AD2478 /* Staff.cpp */, + 29A8E15A1EF0476100AD2478 /* Staff.h */, + 29A8E15B1EF0476100AD2478 /* StaffDetails.cpp */, + 29A8E15C1EF0476100AD2478 /* StaffDetails.h */, + 29A8E15D1EF0476100AD2478 /* StaffDetailsAttributes.cpp */, + 29A8E15E1EF0476100AD2478 /* StaffDetailsAttributes.h */, + 29A8E15F1EF0476100AD2478 /* StaffDistance.cpp */, + 29A8E1601EF0476100AD2478 /* StaffDistance.h */, + 29A8E1611EF0476100AD2478 /* StaffLayout.cpp */, + 29A8E1621EF0476100AD2478 /* StaffLayout.h */, + 29A8E1631EF0476100AD2478 /* StaffLayoutAttributes.cpp */, + 29A8E1641EF0476100AD2478 /* StaffLayoutAttributes.h */, + 29A8E1651EF0476100AD2478 /* StaffLines.cpp */, + 29A8E1661EF0476100AD2478 /* StaffLines.h */, + 29A8E1671EF0476100AD2478 /* StaffSize.cpp */, + 29A8E1681EF0476100AD2478 /* StaffSize.h */, + 29A8E1691EF0476100AD2478 /* StaffTuning.cpp */, + 29A8E16A1EF0476100AD2478 /* StaffTuning.h */, + 29A8E16B1EF0476100AD2478 /* StaffTuningAttributes.cpp */, + 29A8E16C1EF0476100AD2478 /* StaffTuningAttributes.h */, + 29A8E16D1EF0476100AD2478 /* StaffType.cpp */, + 29A8E16E1EF0476100AD2478 /* StaffType.h */, + 29A8E16F1EF0476100AD2478 /* Staves.cpp */, + 29A8E1701EF0476100AD2478 /* Staves.h */, + 29A8E1711EF0476100AD2478 /* Stem.cpp */, + 29A8E1721EF0476100AD2478 /* Stem.h */, + 29A8E1731EF0476100AD2478 /* StemAttributes.cpp */, + 29A8E1741EF0476100AD2478 /* StemAttributes.h */, + 29A8E1751EF0476100AD2478 /* Step.cpp */, + 29A8E1761EF0476100AD2478 /* Step.h */, + 29A8E1771EF0476100AD2478 /* Stick.cpp */, + 29A8E1781EF0476100AD2478 /* Stick.h */, + 29A8E1791EF0476100AD2478 /* StickAttributes.cpp */, + 29A8E17A1EF0476100AD2478 /* StickAttributes.h */, + 29A8E17B1EF0476100AD2478 /* StickLocation.cpp */, + 29A8E17C1EF0476100AD2478 /* StickLocation.h */, + 29A8E17D1EF0476100AD2478 /* StickMaterial.cpp */, + 29A8E17E1EF0476100AD2478 /* StickMaterial.h */, + 29A8E17F1EF0476100AD2478 /* StickType.cpp */, + 29A8E1801EF0476100AD2478 /* StickType.h */, + 29A8E1811EF0476100AD2478 /* Stopped.cpp */, + 29A8E1821EF0476100AD2478 /* Stopped.h */, + 29A8E1831EF0476100AD2478 /* Stress.cpp */, + 29A8E1841EF0476100AD2478 /* Stress.h */, + 29A8E1851EF0476100AD2478 /* String.cpp */, + 29A8E1861EF0476100AD2478 /* String.h */, + 29A8E1871EF0476100AD2478 /* StringAttributes.cpp */, + 29A8E1881EF0476100AD2478 /* StringAttributes.h */, + 29A8E1891EF0476100AD2478 /* StringMute.cpp */, + 29A8E18A1EF0476100AD2478 /* StringMute.h */, + 29A8E18B1EF0476100AD2478 /* StringMuteAttributes.cpp */, + 29A8E18C1EF0476100AD2478 /* StringMuteAttributes.h */, + 29A8E18D1EF0476100AD2478 /* StrongAccent.cpp */, + 29A8E18E1EF0476100AD2478 /* StrongAccent.h */, + 29A8E18F1EF0476100AD2478 /* StrongAccentAttributes.cpp */, + 29A8E1901EF0476100AD2478 /* StrongAccentAttributes.h */, + 29A8E1911EF0476100AD2478 /* Suffix.cpp */, + 29A8E1921EF0476100AD2478 /* Suffix.h */, + 29A8E1931EF0476100AD2478 /* SuffixAttributes.cpp */, + 29A8E1941EF0476100AD2478 /* SuffixAttributes.h */, + 29A8E1951EF0476100AD2478 /* Supports.cpp */, + 29A8E1961EF0476100AD2478 /* Supports.h */, + 29A8E1971EF0476100AD2478 /* SupportsAttributes.cpp */, + 29A8E1981EF0476100AD2478 /* SupportsAttributes.h */, + 29A8E1991EF0476100AD2478 /* Syllabic.cpp */, + 29A8E19A1EF0476100AD2478 /* Syllabic.h */, + 29A8E19B1EF0476100AD2478 /* SyllabicTextGroup.cpp */, + 29A8E19C1EF0476100AD2478 /* SyllabicTextGroup.h */, + 29A8E19D1EF0476100AD2478 /* SystemDistance.cpp */, + 29A8E19E1EF0476100AD2478 /* SystemDistance.h */, + 29A8E19F1EF0476100AD2478 /* SystemDividers.cpp */, + 29A8E1A01EF0476100AD2478 /* SystemDividers.h */, + 29A8E1A11EF0476100AD2478 /* SystemLayout.cpp */, + 29A8E1A21EF0476100AD2478 /* SystemLayout.h */, + 29A8E1A31EF0476100AD2478 /* SystemMargins.cpp */, + 29A8E1A41EF0476100AD2478 /* SystemMargins.h */, + 29A8E1A51EF0476100AD2478 /* Tap.cpp */, + 29A8E1A61EF0476100AD2478 /* Tap.h */, + 29A8E1A71EF0476100AD2478 /* TapAttributes.cpp */, + 29A8E1A81EF0476100AD2478 /* TapAttributes.h */, + 29A8E1A91EF0476100AD2478 /* Technical.cpp */, + 29A8E1AA1EF0476100AD2478 /* Technical.h */, + 29A8E1AB1EF0476100AD2478 /* TechnicalChoice.cpp */, + 29A8E1AC1EF0476100AD2478 /* TechnicalChoice.h */, + 29A8E1AD1EF0476100AD2478 /* Tenths.cpp */, + 29A8E1AE1EF0476100AD2478 /* Tenths.h */, + 29A8E1AF1EF0476100AD2478 /* Tenuto.cpp */, + 29A8E1B01EF0476100AD2478 /* Tenuto.h */, + 29A8E1B11EF0476100AD2478 /* Text.cpp */, + 29A8E1B21EF0476100AD2478 /* Text.h */, + 29A8E1B31EF0476100AD2478 /* TextAttributes.cpp */, + 29A8E1B41EF0476100AD2478 /* TextAttributes.h */, + 29A8E1B51EF0476100AD2478 /* ThumbPosition.cpp */, + 29A8E1B61EF0476100AD2478 /* ThumbPosition.h */, + 29A8E1B71EF0476100AD2478 /* Tie.cpp */, + 29A8E1B81EF0476100AD2478 /* Tie.h */, + 29A8E1B91EF0476100AD2478 /* TieAttributes.cpp */, + 29A8E1BA1EF0476100AD2478 /* TieAttributes.h */, + 29A8E1BB1EF0476100AD2478 /* Tied.cpp */, + 29A8E1BC1EF0476100AD2478 /* Tied.h */, + 29A8E1BD1EF0476100AD2478 /* TiedAttributes.cpp */, + 29A8E1BE1EF0476100AD2478 /* TiedAttributes.h */, + 29A8E1BF1EF0476100AD2478 /* Time.cpp */, + 29A8E1C01EF0476100AD2478 /* Time.h */, + 29A8E1C11EF0476100AD2478 /* TimeAttributes.cpp */, + 29A8E1C21EF0476100AD2478 /* TimeAttributes.h */, + 29A8E1C31EF0476100AD2478 /* TimeChoice.cpp */, + 29A8E1C41EF0476100AD2478 /* TimeChoice.h */, + 29A8E1C51EF0476100AD2478 /* TimeModification.cpp */, + 29A8E1C61EF0476100AD2478 /* TimeModification.h */, + 29A8E1C71EF0476100AD2478 /* TimeModificationNormalTypeNormalDot.cpp */, + 29A8E1C81EF0476100AD2478 /* TimeModificationNormalTypeNormalDot.h */, + 29A8E1C91EF0476100AD2478 /* TimeRelation.cpp */, + 29A8E1CA1EF0476100AD2478 /* TimeRelation.h */, + 29A8E1CB1EF0476100AD2478 /* TimeSignatureGroup.cpp */, + 29A8E1CC1EF0476100AD2478 /* TimeSignatureGroup.h */, + 29A8E1CD1EF0476100AD2478 /* TimewiseMeasure.cpp */, + 29A8E1CE1EF0476100AD2478 /* TimewiseMeasure.h */, + 29A8E1CF1EF0476100AD2478 /* TimewisePart.cpp */, + 29A8E1D01EF0476100AD2478 /* TimewisePart.h */, + 29A8E1D11EF0476100AD2478 /* Timpani.cpp */, + 29A8E1D21EF0476100AD2478 /* Timpani.h */, + 29A8E1D31EF0476100AD2478 /* Toe.cpp */, + 29A8E1D41EF0476100AD2478 /* Toe.h */, + 29A8E1D51EF0476100AD2478 /* ToeAttributes.cpp */, + 29A8E1D61EF0476100AD2478 /* ToeAttributes.h */, + 29A8E1D71EF0476100AD2478 /* TopMargin.cpp */, + 29A8E1D81EF0476100AD2478 /* TopMargin.h */, + 29A8E1D91EF0476100AD2478 /* TopSystemDistance.cpp */, + 29A8E1DA1EF0476100AD2478 /* TopSystemDistance.h */, + 29A8E1DB1EF0476100AD2478 /* TouchingPitch.cpp */, + 29A8E1DC1EF0476200AD2478 /* TouchingPitch.h */, + 29A8E1DD1EF0476200AD2478 /* TraditionalKey.cpp */, + 29A8E1DE1EF0476200AD2478 /* TraditionalKey.h */, + 29A8E1DF1EF0476200AD2478 /* Transpose.cpp */, + 29A8E1E01EF0476200AD2478 /* Transpose.h */, + 29A8E1E11EF0476200AD2478 /* TransposeAttributes.cpp */, + 29A8E1E21EF0476200AD2478 /* TransposeAttributes.h */, + 29A8E1E31EF0476200AD2478 /* Tremolo.cpp */, + 29A8E1E41EF0476200AD2478 /* Tremolo.h */, + 29A8E1E51EF0476200AD2478 /* TremoloAttributes.cpp */, + 29A8E1E61EF0476200AD2478 /* TremoloAttributes.h */, + 29A8E1E71EF0476200AD2478 /* TrillMark.cpp */, + 29A8E1E81EF0476200AD2478 /* TrillMark.h */, + 29A8E1E91EF0476200AD2478 /* TripleTongue.cpp */, + 29A8E1EA1EF0476200AD2478 /* TripleTongue.h */, + 29A8E1EB1EF0476200AD2478 /* TuningAlter.cpp */, + 29A8E1EC1EF0476200AD2478 /* TuningAlter.h */, + 29A8E1ED1EF0476200AD2478 /* TuningOctave.cpp */, + 29A8E1EE1EF0476200AD2478 /* TuningOctave.h */, + 29A8E1EF1EF0476200AD2478 /* TuningStep.cpp */, + 29A8E1F01EF0476200AD2478 /* TuningStep.h */, + 29A8E1F11EF0476200AD2478 /* Tuplet.cpp */, + 29A8E1F21EF0476200AD2478 /* Tuplet.h */, + 29A8E1F31EF0476200AD2478 /* TupletActual.cpp */, + 29A8E1F41EF0476200AD2478 /* TupletActual.h */, + 29A8E1F51EF0476200AD2478 /* TupletAttributes.cpp */, + 29A8E1F61EF0476200AD2478 /* TupletAttributes.h */, + 29A8E1F71EF0476200AD2478 /* TupletDot.cpp */, + 29A8E1F81EF0476200AD2478 /* TupletDot.h */, + 29A8E1F91EF0476200AD2478 /* TupletDotAttributes.cpp */, + 29A8E1FA1EF0476200AD2478 /* TupletDotAttributes.h */, + 29A8E1FB1EF0476200AD2478 /* TupletNormal.cpp */, + 29A8E1FC1EF0476200AD2478 /* TupletNormal.h */, + 29A8E1FD1EF0476200AD2478 /* TupletNumber.cpp */, + 29A8E1FE1EF0476200AD2478 /* TupletNumber.h */, + 29A8E1FF1EF0476200AD2478 /* TupletNumberAttributes.cpp */, + 29A8E2001EF0476200AD2478 /* TupletNumberAttributes.h */, + 29A8E2011EF0476200AD2478 /* TupletReader.h */, + 29A8E2021EF0476200AD2478 /* TupletType.cpp */, + 29A8E2031EF0476200AD2478 /* TupletType.h */, + 29A8E2041EF0476200AD2478 /* TupletTypeAttributes.cpp */, + 29A8E2051EF0476200AD2478 /* TupletTypeAttributes.h */, + 29A8E2061EF0476200AD2478 /* Turn.cpp */, + 29A8E2071EF0476200AD2478 /* Turn.h */, + 29A8E2081EF0476200AD2478 /* TurnAttributes.cpp */, + 29A8E2091EF0476200AD2478 /* TurnAttributes.h */, + 29A8E20A1EF0476200AD2478 /* Type.cpp */, + 29A8E20B1EF0476200AD2478 /* Type.h */, + 29A8E20C1EF0476200AD2478 /* TypeAttributes.cpp */, + 29A8E20D1EF0476200AD2478 /* TypeAttributes.h */, + 29A8E20E1EF0476200AD2478 /* Unpitched.cpp */, + 29A8E20F1EF0476200AD2478 /* Unpitched.h */, + 29A8E2101EF0476200AD2478 /* Unstress.cpp */, + 29A8E2111EF0476200AD2478 /* Unstress.h */, + 29A8E2121EF0476200AD2478 /* UpBow.cpp */, + 29A8E2131EF0476200AD2478 /* UpBow.h */, + 29A8E2141EF0476200AD2478 /* VerticalTurn.cpp */, + 29A8E2151EF0476200AD2478 /* VerticalTurn.h */, + 29A8E2161EF0476200AD2478 /* VirtualInstrument.cpp */, + 29A8E2171EF0476200AD2478 /* VirtualInstrument.h */, + 29A8E2181EF0476200AD2478 /* VirtualLibrary.cpp */, + 29A8E2191EF0476200AD2478 /* VirtualLibrary.h */, + 29A8E21A1EF0476200AD2478 /* VirtualName.cpp */, + 29A8E21B1EF0476200AD2478 /* VirtualName.h */, + 29A8E21C1EF0476200AD2478 /* Voice.cpp */, + 29A8E21D1EF0476200AD2478 /* Voice.h */, + 29A8E21E1EF0476200AD2478 /* Volume.cpp */, + 29A8E21F1EF0476200AD2478 /* Volume.h */, + 29A8E2201EF0476200AD2478 /* WavyLine.cpp */, + 29A8E2211EF0476200AD2478 /* WavyLine.h */, + 29A8E2221EF0476200AD2478 /* WavyLineAttributes.cpp */, + 29A8E2231EF0476200AD2478 /* WavyLineAttributes.h */, + 29A8E2241EF0476200AD2478 /* Wedge.cpp */, + 29A8E2251EF0476200AD2478 /* Wedge.h */, + 29A8E2261EF0476200AD2478 /* WedgeAttributes.cpp */, + 29A8E2271EF0476200AD2478 /* WedgeAttributes.h */, + 29A8E2281EF0476200AD2478 /* WithBar.cpp */, + 29A8E2291EF0476200AD2478 /* WithBar.h */, + 29A8E22A1EF0476200AD2478 /* WithBarAttributes.cpp */, + 29A8E22B1EF0476200AD2478 /* WithBarAttributes.h */, + 29A8E22C1EF0476200AD2478 /* Wood.cpp */, + 29A8E22D1EF0476200AD2478 /* Wood.h */, + 29A8E22E1EF0476200AD2478 /* WordFont.cpp */, + 29A8E22F1EF0476200AD2478 /* WordFont.h */, + 29A8E2301EF0476200AD2478 /* Words.cpp */, + 29A8E2311EF0476200AD2478 /* Words.h */, + 29A8E2321EF0476200AD2478 /* WordsAttributes.cpp */, + 29A8E2331EF0476200AD2478 /* WordsAttributes.h */, + 29A8E2341EF0476200AD2478 /* Work.cpp */, + 29A8E2351EF0476200AD2478 /* Work.h */, + 29A8E2361EF0476200AD2478 /* WorkNumber.cpp */, + 29A8E2371EF0476200AD2478 /* WorkNumber.h */, + 29A8E2381EF0476200AD2478 /* WorkTitle.cpp */, + 29A8E2391EF0476200AD2478 /* WorkTitle.h */, ); + path = elements; sourceTree = ""; }; - 299F7FE71CA8D2200084CAE5 /* Products */ = { + 29A8E2551EF0476200AD2478 /* impl */ = { isa = PBXGroup; children = ( - 299F7FE61CA8D2200084CAE5 /* libMx.a */, - 293FFED21DD25C74001477E8 /* libmx-macOS.dylib */, - 29E8C22C1DD2920C00E8CEBA /* libmx-iOS.dylib */, - 29B962811E79FF410072071D /* MxiOS.framework */, - 29B965291E7A04140072071D /* MxmacOS.framework */, + 29A8E2561EF0476200AD2478 /* AccidentalMarkFunctions.cpp */, + 29A8E2571EF0476200AD2478 /* AccidentalMarkFunctions.h */, + 29A8E2581EF0476200AD2478 /* ArticulationsFunctions.cpp */, + 29A8E2591EF0476200AD2478 /* ArticulationsFunctions.h */, + 29A8E25A1EF0476200AD2478 /* Converter.cpp */, + 29A8E25B1EF0476200AD2478 /* Converter.h */, + 29A8E25C1EF0476200AD2478 /* Cursor.cpp */, + 29A8E25D1EF0476200AD2478 /* Cursor.h */, + 29A8E25E1EF0476200AD2478 /* CurveFunctions.h */, + 29A8E25F1EF0476200AD2478 /* DirectionReader.cpp */, + 29A8E2601EF0476200AD2478 /* DirectionReader.h */, + 29A8E2611EF0476200AD2478 /* DirectionWriter.cpp */, + 29A8E2621EF0476200AD2478 /* DirectionWriter.h */, + 29A8E2631EF0476200AD2478 /* DynamicsReader.cpp */, + 29A8E2641EF0476200AD2478 /* DynamicsReader.h */, + 29A8E2651EF0476200AD2478 /* DynamicsWriter.cpp */, + 29A8E2661EF0476200AD2478 /* DynamicsWriter.h */, + 29A8E2671EF0476200AD2478 /* EncodingFunctions.cpp */, + 29A8E2681EF0476200AD2478 /* EncodingFunctions.h */, + 29A8E2691EF0476200AD2478 /* FontFunctions.h */, + 29A8E26A1EF0476200AD2478 /* LayoutFunctions.cpp */, + 29A8E26B1EF0476200AD2478 /* LayoutFunctions.h */, + 29A8E26C1EF0476200AD2478 /* LcmGcd.cpp */, + 29A8E26D1EF0476200AD2478 /* LcmGcd.h */, + 29A8E26E1EF0476200AD2478 /* LineFunctions.h */, + 29A8E26F1EF0476200AD2478 /* MarkDataFunctions.h */, + 29A8E2701EF0476200AD2478 /* MeasureCursor.h */, + 29A8E2711EF0476200AD2478 /* MeasureReader.cpp */, + 29A8E2721EF0476200AD2478 /* MeasureReader.h */, + 29A8E2731EF0476200AD2478 /* MeasureWriter.cpp */, + 29A8E2741EF0476200AD2478 /* MeasureWriter.h */, + 29A8E2751EF0476200AD2478 /* MetronomeReader.cpp */, + 29A8E2761EF0476200AD2478 /* MetronomeReader.h */, + 29A8E2771EF0476200AD2478 /* MxVersionDefines.h */, + 29A8E2781EF0476200AD2478 /* NotationsWriter.cpp */, + 29A8E2791EF0476200AD2478 /* NotationsWriter.h */, + 29A8E27A1EF0476200AD2478 /* NoteFunctions.cpp */, + 29A8E27B1EF0476200AD2478 /* NoteFunctions.h */, + 29A8E27C1EF0476200AD2478 /* NoteReader.cpp */, + 29A8E27D1EF0476200AD2478 /* NoteReader.h */, + 29A8E27E1EF0476200AD2478 /* NoteWriter.cpp */, + 29A8E27F1EF0476200AD2478 /* NoteWriter.h */, + 29A8E2801EF0476200AD2478 /* OrnamentsFunctions.cpp */, + 29A8E2811EF0476200AD2478 /* OrnamentsFunctions.h */, + 29A8E2821EF0476200AD2478 /* PageTextFunctions.cpp */, + 29A8E2831EF0476200AD2478 /* PageTextFunctions.h */, + 29A8E2841EF0476200AD2478 /* PartReader.cpp */, + 29A8E2851EF0476200AD2478 /* PartReader.h */, + 29A8E2861EF0476300AD2478 /* PartWriter.cpp */, + 29A8E2871EF0476300AD2478 /* PartWriter.h */, + 29A8E2881EF0476300AD2478 /* PositionFunctions.h */, + 29A8E2891EF0476300AD2478 /* PrintFunctions.h */, + 29A8E28A1EF0476300AD2478 /* PropertiesWriter.cpp */, + 29A8E28B1EF0476300AD2478 /* PropertiesWriter.h */, + 29A8E28C1EF0476300AD2478 /* ScoreReader.cpp */, + 29A8E28D1EF0476300AD2478 /* ScoreReader.h */, + 29A8E28E1EF0476300AD2478 /* ScoreWriter.cpp */, + 29A8E28F1EF0476300AD2478 /* ScoreWriter.h */, + 29A8E2901EF0476300AD2478 /* SmuflGlyphMap.h */, + 29A8E2911EF0476300AD2478 /* SpannerFunctions.h */, + 29A8E2921EF0476300AD2478 /* StaffFunctions.cpp */, + 29A8E2931EF0476300AD2478 /* StaffFunctions.h */, + 29A8E2941EF0476300AD2478 /* TechnicalFunctions.cpp */, + 29A8E2951EF0476300AD2478 /* TechnicalFunctions.h */, + 29A8E2961EF0476300AD2478 /* TimeReader.cpp */, + 29A8E2971EF0476300AD2478 /* TimeReader.h */, + 29A8E2981EF0476300AD2478 /* TupletReader.cpp */, + 29A8E2991EF0476300AD2478 /* TupletReader.h */, ); - name = Products; + path = impl; sourceTree = ""; }; - 29B962821E79FF410072071D /* MxiOS */ = { + 29A8E29A1EF0476300AD2478 /* pugixml */ = { isa = PBXGroup; children = ( - 29B962831E79FF410072071D /* MxiOS.h */, - 29B962841E79FF410072071D /* Info.plist */, + 29A8E29B1EF0476300AD2478 /* pugiconfig.hpp */, + 29A8E29C1EF0476300AD2478 /* pugixml.cpp */, + 29A8E29D1EF0476300AD2478 /* pugixml.hpp */, ); - path = MxiOS; + path = pugixml; sourceTree = ""; }; - 29B9652A1E7A04140072071D /* MxmacOS */ = { + 29A8E29E1EF0476300AD2478 /* utility */ = { isa = PBXGroup; children = ( - 29B9652B1E7A04140072071D /* MxmacOS.h */, - 29B9652C1E7A04140072071D /* Info.plist */, + 29A8E29F1EF0476300AD2478 /* Enum.h */, + 29A8E2A01EF0476300AD2478 /* EnumWithString.h */, + 29A8E2A11EF0476300AD2478 /* JitAllocate.h */, + 29A8E2A21EF0476300AD2478 /* Lock.h */, + 29A8E2A31EF0476300AD2478 /* OptionalMembers.h */, + 29A8E2A41EF0476300AD2478 /* Parse.h */, + 29A8E2A51EF0476300AD2478 /* StringToInt.h */, + 29A8E2A61EF0476300AD2478 /* Throw.h */, + 29A8E2A71EF0476300AD2478 /* Utility.cpp */, + 29A8E2A81EF0476300AD2478 /* Utility.h */, + 29A8E2A91EF0476300AD2478 /* UtilityImpl.cpp */, + 29A8E2AA1EF0476300AD2478 /* UtilityImpl.h */, ); - path = MxmacOS; + path = utility; sourceTree = ""; }; - 29D1BD3B1D2886EA0092C299 /* cpp */ = { + 29A8E2AB1EF0476300AD2478 /* xml */ = { isa = PBXGroup; children = ( - 294545ED1D295C5300B90302 /* Accent.cpp */, - 294545EE1D295C5300B90302 /* Accidental.cpp */, - 294545EF1D295C5300B90302 /* AccidentalAttributes.cpp */, - 294545F01D295C5300B90302 /* AccidentalMark.cpp */, - 294545F11D295C5300B90302 /* AccidentalMarkAttributes.cpp */, - 294545F21D295C5300B90302 /* AccidentalText.cpp */, - 294545F31D295C5300B90302 /* AccidentalTextAttributes.cpp */, - 294545F41D295C5300B90302 /* Accord.cpp */, - 294545F51D295C5300B90302 /* AccordAttributes.cpp */, - 294545F61D295C5300B90302 /* AccordionHigh.cpp */, - 294545F71D295C5300B90302 /* AccordionLow.cpp */, - 294545F81D295C5300B90302 /* AccordionMiddle.cpp */, - 294545F91D295C5300B90302 /* AccordionRegistration.cpp */, - 294545FA1D295C5300B90302 /* AccordionRegistrationAttributes.cpp */, - 294545FB1D295C5300B90302 /* ActualNotes.cpp */, - 294545FC1D295C5300B90302 /* Alter.cpp */, - 294545FD1D295C5300B90302 /* Appearance.cpp */, - 294545FE1D295C5300B90302 /* Arpeggiate.cpp */, - 294545FF1D295C5300B90302 /* ArpeggiateAttributes.cpp */, - 294546001D295C5300B90302 /* Arrow.cpp */, - 294546011D295C5300B90302 /* ArrowAttributes.cpp */, - 294546021D295C5300B90302 /* ArrowDirection.cpp */, - 294546031D295C5300B90302 /* ArrowGroup.cpp */, - 294546041D295C5300B90302 /* ArrowStyle.cpp */, - 294546051D295C5300B90302 /* Articulations.cpp */, - 294546061D295C5300B90302 /* ArticulationsChoice.cpp */, - 294546071D295C5300B90302 /* Artificial.cpp */, - 294546081D295C5300B90302 /* AttributesIterface.cpp */, - 294546091D295C5300B90302 /* Backup.cpp */, - 2945460A1D295C5300B90302 /* Barline.cpp */, - 2945460B1D295C5300B90302 /* BarlineAttributes.cpp */, - 2945460C1D295C5300B90302 /* Barre.cpp */, - 2945460D1D295C5300B90302 /* BarreAttributes.cpp */, - 2945460E1D295C5300B90302 /* BarStyle.cpp */, - 2945460F1D295C5300B90302 /* BarStyleAttributes.cpp */, - 294546101D295C5300B90302 /* BasePitch.cpp */, - 294546111D295C5300B90302 /* Bass.cpp */, - 294546121D295C5300B90302 /* BassAlter.cpp */, - 294546131D295C5300B90302 /* BassAlterAttributes.cpp */, - 294546141D295C5300B90302 /* BassStep.cpp */, - 294546151D295C5300B90302 /* BassStepAttributes.cpp */, - 294546161D295C5300B90302 /* Beam.cpp */, - 294546171D295C5300B90302 /* BeamAttributes.cpp */, - 294546181D295C5300B90302 /* Beater.cpp */, - 294546191D295C5300B90302 /* BeaterAttributes.cpp */, - 2945461A1D295C5300B90302 /* BeatRepeat.cpp */, - 2945461B1D295C5300B90302 /* BeatRepeatAttributes.cpp */, - 2945461C1D295C5300B90302 /* Beats.cpp */, - 2945461D1D295C5300B90302 /* BeatType.cpp */, - 2945461E1D295C5300B90302 /* BeatUnit.cpp */, - 2945461F1D295C5300B90302 /* BeatUnitDot.cpp */, - 294546201D295C5300B90302 /* BeatUnitGroup.cpp */, - 294546211D295C5300B90302 /* BeatUnitPer.cpp */, - 294546221D295C5300B90302 /* BeatUnitPerOrNoteRelationNoteChoice.cpp */, - 294546231D295C5300B90302 /* Bend.cpp */, - 294546241D295C5300B90302 /* BendAlter.cpp */, - 294546251D295C5300B90302 /* BendAttributes.cpp */, - 294546261D295C5300B90302 /* BendChoice.cpp */, - 294546271D295C5300B90302 /* Bookmark.cpp */, - 294546281D295C5300B90302 /* BookmarkAttributes.cpp */, - 294546291D295C5300B90302 /* BottomMargin.cpp */, - 2945462A1D295C5300B90302 /* Bracket.cpp */, - 2945462B1D295C5300B90302 /* BracketAttributes.cpp */, - 2945462C1D295C5300B90302 /* BreathMark.cpp */, - 2945462D1D295C5300B90302 /* BreathMarkAttributes.cpp */, - 2945462E1D295C5300B90302 /* Caesura.cpp */, - 2945462F1D295C5300B90302 /* Cancel.cpp */, - 294546301D295C5300B90302 /* CancelAttributes.cpp */, - 294546311D295C5300B90302 /* Capo.cpp */, - 294546321D295C5300B90302 /* Chord.cpp */, - 294546331D295C5300B90302 /* Chromatic.cpp */, - 294546341D295C5300B90302 /* CircularArrow.cpp */, - 294546351D295C5300B90302 /* Clef.cpp */, - 294546361D295C5300B90302 /* ClefAttributes.cpp */, - 294546371D295C5300B90302 /* ClefOctaveChange.cpp */, - 294546381D295C5300B90302 /* Coda.cpp */, - 294546391D295C5300B90302 /* Creator.cpp */, - 2945463A1D295C5300B90302 /* CreatorAttributes.cpp */, - 2945463B1D295C5300B90302 /* Credit.cpp */, - 2945463C1D295C5300B90302 /* CreditAttributes.cpp */, - 2945463D1D295C5300B90302 /* CreditChoice.cpp */, - 2945463E1D295C5300B90302 /* CreditImage.cpp */, - 2945463F1D295C5300B90302 /* CreditImageAttributes.cpp */, - 294546401D295C5300B90302 /* CreditType.cpp */, - 294546411D295C5300B90302 /* CreditWords.cpp */, - 294546421D295C5300B90302 /* CreditWordsAttributes.cpp */, - 294546431D295C5300B90302 /* CreditWordsGroup.cpp */, - 294546441D295C5300B90302 /* Cue.cpp */, - 294546451D295C5300B90302 /* CueNoteGroup.cpp */, - 294546461D295C5300B90302 /* Damp.cpp */, - 294546471D295C5300B90302 /* DampAll.cpp */, - 294546481D295C5300B90302 /* Dashes.cpp */, - 294546491D295C5300B90302 /* DashesAttributes.cpp */, - 2945464A1D295C5300B90302 /* Defaults.cpp */, - 2945464B1D295C5300B90302 /* Degree.cpp */, - 2945464C1D295C5300B90302 /* DegreeAlter.cpp */, - 2945464D1D295C5300B90302 /* DegreeAlterAttributes.cpp */, - 2945464E1D295C5300B90302 /* DegreeAttributes.cpp */, - 2945464F1D295C5300B90302 /* DegreeType.cpp */, - 294546501D295C5300B90302 /* DegreeTypeAttributes.cpp */, - 294546511D295C5300B90302 /* DegreeValue.cpp */, - 294546521D295C5300B90302 /* DegreeValueAttributes.cpp */, - 294546531D295C5300B90302 /* DelayedInvertedTurn.cpp */, - 294546541D295C5300B90302 /* DelayedInvertedTurnAttributes.cpp */, - 294546551D295C5300B90302 /* DelayedTurn.cpp */, - 294546561D295C5300B90302 /* DelayedTurnAttributes.cpp */, - 294546571D295C5300B90302 /* DetachedLegato.cpp */, - 294546581D295C5300B90302 /* Diatonic.cpp */, - 294546591D295C5300B90302 /* Direction.cpp */, - 2945465A1D295C5300B90302 /* DirectionAttributes.cpp */, - 2945465B1D295C5300B90302 /* DirectionType.cpp */, - 2945465C1D295C5300B90302 /* Directive.cpp */, - 2945465D1D295C5300B90302 /* DirectiveAttributes.cpp */, - 2945465E1D295C5300B90302 /* DisplayOctave.cpp */, - 2945465F1D295C5300B90302 /* DisplayStep.cpp */, - 294546601D295C5300B90302 /* DisplayStepOctaveGroup.cpp */, - 294546611D295C5300B90302 /* DisplayText.cpp */, - 294546621D295C5300B90302 /* DisplayTextAttributes.cpp */, - 294546631D295C5300B90302 /* DisplayTextOrAccidentalText.cpp */, - 294546641D295C5300B90302 /* Distance.cpp */, - 294546651D295C5300B90302 /* DistanceAttributes.cpp */, - 294546661D295C5300B90302 /* Divisions.cpp */, - 294546671D295C5300B90302 /* Doit.cpp */, - 294546681D295C5300B90302 /* Dot.cpp */, - 294546691D295C5300B90302 /* Double.cpp */, - 2945466A1D295C5300B90302 /* DoubleTongue.cpp */, - 2945466B1D295C5300B90302 /* DownBow.cpp */, - 2945466C1D295C5300B90302 /* Duration.cpp */, - 2945466D1D295C5300B90302 /* Dynamics.cpp */, - 2945466E1D295C5300B90302 /* DynamicsAttributes.cpp */, - 2945466F1D295C5300B90302 /* EditorialGroup.cpp */, - 294546701D295C5300B90302 /* EditorialVoiceDirectionGroup.cpp */, - 294546711D295C5300B90302 /* EditorialVoiceGroup.cpp */, - 294546721D295C5300B90302 /* Effect.cpp */, - 294546731D295C5300B90302 /* Elevation.cpp */, - 294546741D295C5300B90302 /* Elision.cpp */, - 294546751D295C5300B90302 /* ElisionAttributes.cpp */, - 294546761D295C5300B90302 /* ElisionSyllabicGroup.cpp */, - 294546771D295C5300B90302 /* ElisionSyllabicTextGroup.cpp */, - 294546781D295C5300B90302 /* EmptyFontAttributes.cpp */, - 294546791D295C5300B90302 /* EmptyLineAttributes.cpp */, - 2945467A1D295C5300B90302 /* EmptyPlacementAttributes.cpp */, - 2945467B1D295C5300B90302 /* EmptyTrillSoundAttributes.cpp */, - 2945467C1D295C5300B90302 /* Encoder.cpp */, - 2945467D1D295C5300B90302 /* EncoderAttributes.cpp */, - 2904A4D31D301D5A00A39CC6 /* Encoding.cpp */, - 2945467E1D295C5300B90302 /* EncodingChoice.cpp */, - 2945467F1D295C5300B90302 /* EncodingDate.cpp */, - 294546801D295C5300B90302 /* EncodingDescription.cpp */, - 294546811D295C5300B90302 /* Ending.cpp */, - 294546821D295C5300B90302 /* EndingAttributes.cpp */, - 294546831D295C5300B90302 /* EndLine.cpp */, - 294546841D295C5300B90302 /* EndParagraph.cpp */, - 294546851D295C5300B90302 /* Ensemble.cpp */, - 294546861D295C5300B90302 /* Extend.cpp */, - 294546871D295C5300B90302 /* ExtendAttributes.cpp */, - 294546881D295C5300B90302 /* Eyeglasses.cpp */, - 294546891D295C5300B90302 /* Falloff.cpp */, - 2945468A1D295C5300B90302 /* Feature.cpp */, - 2945468B1D295C5300B90302 /* FeatureAttributes.cpp */, - 2945468C1D295C5300B90302 /* Fermata.cpp */, - 2945468D1D295C5300B90302 /* FermataAttributes.cpp */, - 2945468E1D295C5300B90302 /* Fifths.cpp */, - 2945468F1D295C5300B90302 /* Figure.cpp */, - 294546901D295C5300B90302 /* FiguredBass.cpp */, - 294546911D295C5300B90302 /* FiguredBassAttributes.cpp */, - 294546921D295C5300B90302 /* FigureNumber.cpp */, - 294546931D295C5300B90302 /* FigureNumberAttributes.cpp */, - 294546941D295C5300B90302 /* Fingering.cpp */, - 294546951D295C5300B90302 /* FingeringAttributes.cpp */, - 294546961D295C5300B90302 /* Fingernails.cpp */, - 294546971D295C5300B90302 /* FirstFret.cpp */, - 294546981D295C5300B90302 /* FirstFretAttributes.cpp */, - 294546991D295C5300B90302 /* Footnote.cpp */, - 2945469A1D295C5300B90302 /* FootnoteAttributes.cpp */, - 2945469B1D295C5300B90302 /* Forward.cpp */, - 2945469C1D295C5300B90302 /* Frame.cpp */, - 2945469D1D295C5300B90302 /* FrameAttributes.cpp */, - 2945469E1D295C5300B90302 /* FrameFrets.cpp */, - 2945469F1D295C5300B90302 /* FrameNote.cpp */, - 294546A01D295C5300B90302 /* FrameStrings.cpp */, - 294546A11D295C5300B90302 /* Fret.cpp */, - 294546A21D295C5300B90302 /* FretAttributes.cpp */, - 294546A31D295C5300B90302 /* FullNoteGroup.cpp */, - 294546A41D295C5300B90302 /* FullNoteTypeChoice.cpp */, - 294546A51D295C5300B90302 /* Function.cpp */, - 294546A61D295C5300B90302 /* FunctionAttributes.cpp */, - 294546A71D295C5300B90302 /* Glass.cpp */, - 294546A81D295C5300B90302 /* Glissando.cpp */, - 294546A91D295C5300B90302 /* GlissandoAttributes.cpp */, - 294546AA1D295C5300B90302 /* Grace.cpp */, - 294546AB1D295C5300B90302 /* GraceAttributes.cpp */, - 294546AC1D295C5300B90302 /* GraceNoteGroup.cpp */, - 294546AD1D295C5300B90302 /* Group.cpp */, - 294546AE1D295C5300B90302 /* GroupAbbreviation.cpp */, - 294546AF1D295C5300B90302 /* GroupAbbreviationAttributes.cpp */, - 294546B01D295C5300B90302 /* GroupAbbreviationDisplay.cpp */, - 294546B11D295C5300B90302 /* GroupAbbreviationDisplayAttributes.cpp */, - 294546B21D295C5300B90302 /* GroupBarline.cpp */, - 294546B31D295C5300B90302 /* GroupBarlineAttributes.cpp */, - 294546B41D295C5300B90302 /* Grouping.cpp */, - 294546B51D295C5300B90302 /* GroupingAttributes.cpp */, - 294546B61D295C5300B90302 /* GroupName.cpp */, - 294546B71D295C5300B90302 /* GroupNameAttributes.cpp */, - 294546B81D295C5300B90302 /* GroupNameDisplay.cpp */, - 294546B91D295C5300B90302 /* GroupNameDisplayAttributes.cpp */, - 294546BA1D295C5300B90302 /* GroupSymbol.cpp */, - 294546BB1D295C5300B90302 /* GroupSymbolAttributes.cpp */, - 294546BC1D295C5300B90302 /* GroupTime.cpp */, - 294546BD1D295C5300B90302 /* HammerOn.cpp */, - 294546BE1D295C5300B90302 /* HammerOnAttributes.cpp */, - 294546BF1D295C5300B90302 /* Handbell.cpp */, - 294546C01D295C5300B90302 /* HandbellAttributes.cpp */, - 294546C11D295C5300B90302 /* Harmonic.cpp */, - 294546C21D295C5300B90302 /* HarmonicAttributes.cpp */, - 294546C31D295C5300B90302 /* HarmonicInfoChoice.cpp */, - 294546C41D295C5300B90302 /* HarmonicTypeChoice.cpp */, - 294546C51D295C5300B90302 /* Harmony.cpp */, - 294546C61D295C5300B90302 /* HarmonyAttributes.cpp */, - 294546C71D295C5300B90302 /* HarmonyChordGroup.cpp */, - 294546C81D295C5300B90302 /* HarpPedals.cpp */, - 294546C91D295C5300B90302 /* HarpPedalsAttributes.cpp */, - 294546CA1D295C5300B90302 /* Heel.cpp */, - 294546CB1D295C5300B90302 /* HeelAttributes.cpp */, - 294546CC1D295C5300B90302 /* Hole.cpp */, - 294546CD1D295C5300B90302 /* HoleAttributes.cpp */, - 294546CE1D295C5300B90302 /* HoleClosed.cpp */, - 294546CF1D295C5300B90302 /* HoleClosedAttributes.cpp */, - 294546D01D295C5300B90302 /* HoleShape.cpp */, - 294546D11D295C5300B90302 /* HoleType.cpp */, - 294546D21D295C5300B90302 /* Humming.cpp */, - 294546D31D295C5300B90302 /* Identification.cpp */, - 294546D41D295C5300B90302 /* Image.cpp */, - 294546D51D295C5300B90302 /* ImageAttributes.cpp */, - 294546D61D295C5300B90302 /* Instrument.cpp */, - 294546D71D295C5300B90302 /* InstrumentAbbreviation.cpp */, - 294546D81D295C5300B90302 /* InstrumentAttributes.cpp */, - 294546D91D295C5300B90302 /* InstrumentName.cpp */, - 294546DA1D295C5300B90302 /* Instruments.cpp */, - 294546DB1D295C5300B90302 /* InstrumentSound.cpp */, - 294546DC1D295C5300B90302 /* Interchangeable.cpp */, - 294546DD1D295C5300B90302 /* InterchangeableAttributes.cpp */, - 294546DE1D295C5300B90302 /* Inversion.cpp */, - 294546DF1D295C5300B90302 /* InversionAttributes.cpp */, - 294546E01D295C5300B90302 /* InvertedMordent.cpp */, - 294546E11D295C5300B90302 /* InvertedMordentAttributes.cpp */, - 294546E21D295C5300B90302 /* InvertedTurn.cpp */, - 294546E31D295C5300B90302 /* InvertedTurnAttributes.cpp */, - 294546E41D295C5300B90302 /* Ipa.cpp */, - 294546E51D295C5300B90302 /* Key.cpp */, - 294546E61D295C5300B90302 /* KeyAccidental.cpp */, - 294546E71D295C5300B90302 /* KeyAlter.cpp */, - 294546E81D295C5300B90302 /* KeyAttributes.cpp */, - 294546E91D295C5300B90302 /* KeyChoice.cpp */, - 294546EA1D295C5300B90302 /* KeyOctave.cpp */, - 294546EB1D295C5300B90302 /* KeyOctaveAttributes.cpp */, - 294546EC1D295C5300B90302 /* KeyStep.cpp */, - 294546ED1D295C5300B90302 /* Kind.cpp */, - 294546EE1D295C5300B90302 /* KindAttributes.cpp */, - 294546EF1D295C5300B90302 /* Laughing.cpp */, - 294546F01D295C5300B90302 /* LayoutGroup.cpp */, - 294546F11D295C5300B90302 /* LeftDivider.cpp */, - 294546F21D295C5300B90302 /* LeftMargin.cpp */, - 294546F31D295C5300B90302 /* Level.cpp */, - 294546F41D295C5300B90302 /* LevelAttributes.cpp */, - 294546F51D295C5300B90302 /* Line.cpp */, - 294546F61D295C5300B90302 /* LineWidth.cpp */, - 294546F71D295C5300B90302 /* LineWidthAttributes.cpp */, - 294546F81D295C5300B90302 /* Link.cpp */, - 294546F91D295C5300B90302 /* LinkAttributes.cpp */, - 294546FA1D295C5300B90302 /* Lyric.cpp */, - 294546FB1D295C5300B90302 /* LyricAttributes.cpp */, - 294546FC1D295C5300B90302 /* LyricFont.cpp */, - 294546FD1D295C5300B90302 /* LyricFontAttributes.cpp */, - 294546FE1D295C5300B90302 /* LyricLanguage.cpp */, - 294546FF1D295C5300B90302 /* LyricLanguageAttributes.cpp */, - 294547001D295C5300B90302 /* LyricTextChoice.cpp */, - 294547011D295C5300B90302 /* MeasureAttributes.cpp */, - 294547021D295C5300B90302 /* MeasureDistance.cpp */, - 294547031D295C5300B90302 /* MeasureLayout.cpp */, - 294547041D295C5300B90302 /* MeasureNumbering.cpp */, - 294547051D295C5300B90302 /* MeasureNumberingAttributes.cpp */, - 294547061D295C5300B90302 /* MeasureRepeat.cpp */, - 294547071D295C5300B90302 /* MeasureRepeatAttributes.cpp */, - 294547081D295C5300B90302 /* MeasureStyle.cpp */, - 294547091D295C5300B90302 /* MeasureStyleAttributes.cpp */, - 2945470A1D295C5300B90302 /* MeasureStyleChoice.cpp */, - 2945470B1D295C5300B90302 /* Membrane.cpp */, - 2945470C1D295C5300B90302 /* Metal.cpp */, - 2945470D1D295C5300B90302 /* Metronome.cpp */, - 2945470E1D295C5300B90302 /* MetronomeAttributes.cpp */, - 2945470F1D295C5300B90302 /* MetronomeBeam.cpp */, - 294547101D295C5300B90302 /* MetronomeBeamAttributes.cpp */, - 294547111D295C5300B90302 /* MetronomeDot.cpp */, - 294547121D295C5300B90302 /* MetronomeNote.cpp */, - 294547131D295C5300B90302 /* MetronomeRelation.cpp */, - 294547141D295C5300B90302 /* MetronomeRelationGroup.cpp */, - 294547151D295C5300B90302 /* MetronomeTuplet.cpp */, - 294547161D295C5300B90302 /* MetronomeTupletAttributes.cpp */, - 294547171D295C5300B90302 /* MetronomeType.cpp */, - 294547181D295C5300B90302 /* MidiBank.cpp */, - 294547191D295C5300B90302 /* MidiChannel.cpp */, - 2945471A1D295C5300B90302 /* MidiDevice.cpp */, - 2945471B1D295C5300B90302 /* MidiDeviceAttributes.cpp */, - 2945471C1D295C5300B90302 /* MidiDeviceInstrumentGroup.cpp */, - 2945471D1D295C5300B90302 /* MidiInstrument.cpp */, - 2945471E1D295C5300B90302 /* MidiInstrumentAttributes.cpp */, - 2945471F1D295C5300B90302 /* MidiName.cpp */, - 294547201D295C5300B90302 /* MidiProgram.cpp */, - 294547211D295C5300B90302 /* MidiUnpitched.cpp */, - 294547221D295C5300B90302 /* Millimeters.cpp */, - 294547231D295C5300B90302 /* Miscellaneous.cpp */, - 294547241D295C5300B90302 /* MiscellaneousField.cpp */, - 294547251D295C5300B90302 /* MiscellaneousFieldAttributes.cpp */, - 294547261D295C5300B90302 /* Mode.cpp */, - 294547271D295C5300B90302 /* Mordent.cpp */, - 294547281D295C5300B90302 /* MordentAttributes.cpp */, - 294547291D295C5300B90302 /* MovementNumber.cpp */, - 2945472A1D295C5300B90302 /* MovementTitle.cpp */, - 2945472B1D295C5300B90302 /* MultipleRest.cpp */, - 2945472C1D295C5400B90302 /* MultipleRestAttributes.cpp */, - 2945472D1D295C5400B90302 /* MusicDataChoice.cpp */, - 2945472E1D295C5400B90302 /* MusicDataGroup.cpp */, - 2945472F1D295C5400B90302 /* MusicFont.cpp */, - 294547301D295C5400B90302 /* Mute.cpp */, - 294547311D295C5400B90302 /* Natural.cpp */, - 294547321D295C5400B90302 /* NonArpeggiate.cpp */, - 294547331D295C5400B90302 /* NonArpeggiateAttributes.cpp */, - 294547341D295C5400B90302 /* NonTraditionalKey.cpp */, - 294547351D295C5400B90302 /* NormalDot.cpp */, - 294547361D295C5400B90302 /* NormalNoteGroup.cpp */, - 294547371D295C5400B90302 /* NormalNotes.cpp */, - 294547381D295C5400B90302 /* NormalType.cpp */, - 294547391D295C5400B90302 /* NormalTypeNormalDotGroup.cpp */, - 2945473A1D295C5400B90302 /* Notations.cpp */, - 2945473B1D295C5400B90302 /* NotationsAttributes.cpp */, - 2945473C1D295C5400B90302 /* NotationsChoice.cpp */, - 2945473D1D295C5400B90302 /* Note.cpp */, - 2945473E1D295C5400B90302 /* NoteAttributes.cpp */, - 2945473F1D295C5400B90302 /* NoteChoice.cpp */, - 294547401D295C5400B90302 /* Notehead.cpp */, - 294547411D295C5400B90302 /* NoteheadAttributes.cpp */, - 294547421D295C5400B90302 /* NoteheadText.cpp */, - 295C49361D2CB41E0015E349 /* NoteheadTextChoice.cpp */, - 294547431D295C5400B90302 /* NoteRelationNote.cpp */, - 294547441D295C5400B90302 /* NoteSize.cpp */, - 294547451D295C5400B90302 /* NoteSizeAttributes.cpp */, - 294547461D295C5400B90302 /* Octave.cpp */, - 294547471D295C5400B90302 /* OctaveChange.cpp */, - 294547481D295C5400B90302 /* OctaveShift.cpp */, - 294547491D295C5400B90302 /* OctaveShiftAttributes.cpp */, - 2945474A1D295C5400B90302 /* Offset.cpp */, - 2945474B1D295C5400B90302 /* OffsetAttributes.cpp */, - 2945474C1D295C5400B90302 /* OpenString.cpp */, - 2945474D1D295C5400B90302 /* Opus.cpp */, - 2945474E1D295C5400B90302 /* OpusAttributes.cpp */, - 2945474F1D295C5400B90302 /* Ornaments.cpp */, - 294547501D295C5400B90302 /* OrnamentsChoice.cpp */, - 294547511D295C5400B90302 /* OtherAppearance.cpp */, - 294547521D295C5400B90302 /* OtherAppearanceAttributes.cpp */, - 294547531D295C5400B90302 /* OtherArticulation.cpp */, - 294547541D295C5400B90302 /* OtherArticulationAttributes.cpp */, - 294547551D295C5400B90302 /* OtherDirection.cpp */, - 294547561D295C5400B90302 /* OtherDirectionAttributes.cpp */, - 294547571D295C5400B90302 /* OtherNotation.cpp */, - 294547581D295C5400B90302 /* OtherNotationAttributes.cpp */, - 294547591D295C5400B90302 /* OtherOrnament.cpp */, - 2945475A1D295C5400B90302 /* OtherOrnamentAttributes.cpp */, - 2945475B1D295C5400B90302 /* OtherPercussion.cpp */, - 2945475C1D295C5400B90302 /* OtherPlay.cpp */, - 2945475D1D295C5400B90302 /* OtherPlayAttributes.cpp */, - 2945475E1D295C5400B90302 /* OtherTechnical.cpp */, - 2945475F1D295C5400B90302 /* OtherTechnicalAttributes.cpp */, - 294547601D295C5400B90302 /* PageHeight.cpp */, - 294547611D295C5400B90302 /* PageLayout.cpp */, - 294547621D295C5400B90302 /* PageMargins.cpp */, - 294547631D295C5400B90302 /* PageMarginsAttributes.cpp */, - 294547641D295C5400B90302 /* PageWidth.cpp */, - 294547651D295C5400B90302 /* Pan.cpp */, - 294547661D295C5400B90302 /* PartAbbreviation.cpp */, - 294547671D295C5400B90302 /* PartAbbreviationAttributes.cpp */, - 294547681D295C5400B90302 /* PartAbbreviationDisplay.cpp */, - 294547691D295C5400B90302 /* PartAbbreviationDisplayAttributes.cpp */, - 2945476A1D295C5400B90302 /* PartAttributes.cpp */, - 2945476B1D295C5400B90302 /* PartGroup.cpp */, - 2945476C1D295C5400B90302 /* PartGroupAttributes.cpp */, - 2945476D1D295C5400B90302 /* PartGroupOrScorePart.cpp */, - 2945476E1D295C5400B90302 /* PartList.cpp */, - 2945476F1D295C5400B90302 /* PartName.cpp */, - 294547701D295C5400B90302 /* PartNameAttributes.cpp */, - 294547711D295C5400B90302 /* PartNameDisplay.cpp */, - 294547721D295C5400B90302 /* PartNameDisplayAttributes.cpp */, - 294547731D295C5400B90302 /* PartSymbol.cpp */, - 294547741D295C5400B90302 /* PartSymbolAttributes.cpp */, - 294547751D295C5400B90302 /* PartwiseMeasure.cpp */, - 294547761D295C5400B90302 /* PartwisePart.cpp */, - 294547771D295C5400B90302 /* Pedal.cpp */, - 294547781D295C5400B90302 /* PedalAlter.cpp */, - 294547791D295C5400B90302 /* PedalAttributes.cpp */, - 2945477A1D295C5400B90302 /* PedalStep.cpp */, - 2945477B1D295C5400B90302 /* PedalTuning.cpp */, - 2945477C1D295C5400B90302 /* Percussion.cpp */, - 2945477D1D295C5400B90302 /* PercussionAttributes.cpp */, - 2945477E1D295C5400B90302 /* PercussionChoice.cpp */, - 2945477F1D295C5400B90302 /* PerMinute.cpp */, - 294547801D295C5400B90302 /* PerMinuteAttributes.cpp */, - 294547811D295C5400B90302 /* PerMinuteOrBeatUnitChoice.cpp */, - 294547821D295C5400B90302 /* Pitch.cpp */, - 294547831D295C5400B90302 /* Pitched.cpp */, - 294547841D295C5400B90302 /* Play.cpp */, - 294547851D295C5400B90302 /* PlayAttributes.cpp */, - 294547861D295C5400B90302 /* Plop.cpp */, - 294547871D295C5400B90302 /* Pluck.cpp */, - 294547881D295C5400B90302 /* PluckAttributes.cpp */, - 294547891D295C5400B90302 /* PreBend.cpp */, - 2945478A1D295C5400B90302 /* Prefix.cpp */, - 2945478B1D295C5400B90302 /* PrefixAttributes.cpp */, - 2945478C1D295C5400B90302 /* PrincipalVoice.cpp */, - 2945478D1D295C5400B90302 /* PrincipalVoiceAttributes.cpp */, - 2945478E1D295C5400B90302 /* Print.cpp */, - 2945478F1D295C5400B90302 /* PrintAttributes.cpp */, - 294547901D295C5400B90302 /* Properties.cpp */, - 294547911D295C5400B90302 /* PullOff.cpp */, - 294547921D295C5400B90302 /* PullOffAttributes.cpp */, - 294547931D295C5400B90302 /* Rehearsal.cpp */, - 294547941D295C5400B90302 /* RehearsalAttributes.cpp */, - 294547951D295C5400B90302 /* Relation.cpp */, - 294547961D295C5400B90302 /* RelationAttributes.cpp */, - 294547971D295C5400B90302 /* Release.cpp */, - 294547981D295C5400B90302 /* Repeat.cpp */, - 294547991D295C5400B90302 /* RepeatAttributes.cpp */, - 2945479A1D295C5400B90302 /* Rest.cpp */, - 2945479B1D295C5400B90302 /* RestAttributes.cpp */, - 2945479C1D295C5400B90302 /* RightDivider.cpp */, - 2945479D1D295C5400B90302 /* RightMargin.cpp */, - 2945479E1D295C5400B90302 /* Rights.cpp */, - 2945479F1D295C5400B90302 /* RightsAttributes.cpp */, - 294547A01D295C5400B90302 /* Root.cpp */, - 294547A11D295C5400B90302 /* RootAlter.cpp */, - 294547A21D295C5400B90302 /* RootAlterAttributes.cpp */, - 294547A31D295C5400B90302 /* RootStep.cpp */, - 294547A41D295C5400B90302 /* RootStepAttributes.cpp */, - 294547A51D295C5400B90302 /* Scaling.cpp */, - 294547A61D295C5400B90302 /* Schleifer.cpp */, - 294547A71D295C5400B90302 /* Scoop.cpp */, - 294547A81D295C5400B90302 /* Scordatura.cpp */, - 294547A91D295C5400B90302 /* ScoreHeaderGroup.cpp */, - 294547AA1D295C5400B90302 /* ScoreInstrument.cpp */, - 294547AB1D295C5400B90302 /* ScoreInstrumentAttributes.cpp */, - 294547AC1D295C5400B90302 /* ScorePart.cpp */, - 294547AD1D295C5400B90302 /* ScorePartAttributes.cpp */, - 294547AE1D295C5400B90302 /* ScorePartwise.cpp */, - 294547AF1D295C5400B90302 /* ScorePartwiseAttributes.cpp */, - 294547B01D295C5400B90302 /* ScoreTimewise.cpp */, - 294547B11D295C5400B90302 /* ScoreTimewiseAttributes.cpp */, - 294547B21D295C5400B90302 /* Segno.cpp */, - 294547B31D295C5400B90302 /* SemiPitched.cpp */, - 294547B41D295C5400B90302 /* SenzaMisura.cpp */, - 294547B51D295C5400B90302 /* Shake.cpp */, - 294547B61D295C5400B90302 /* Sign.cpp */, - 294547B71D295C5400B90302 /* Slash.cpp */, - 294547B81D295C5400B90302 /* SlashAttributes.cpp */, - 294547B91D295C5400B90302 /* SlashDot.cpp */, - 294547BA1D295C5400B90302 /* SlashType.cpp */, - 294547BB1D295C5400B90302 /* Slide.cpp */, - 294547BC1D295C5400B90302 /* SlideAttributes.cpp */, - 294547BD1D295C5400B90302 /* Slur.cpp */, - 294547BE1D295C5400B90302 /* SlurAttributes.cpp */, - 294547BF1D295C5400B90302 /* SnapPizzicato.cpp */, - 294547C01D295C5400B90302 /* Software.cpp */, - 294547C11D295C5400B90302 /* Solo.cpp */, - 294547C21D295C5400B90302 /* SoloOrEnsembleChoice.cpp */, - 294547C31D295C5400B90302 /* Sound.cpp */, - 294547C41D295C5400B90302 /* SoundAttributes.cpp */, - 294547C51D295C5400B90302 /* SoundingPitch.cpp */, - 294547C61D295C5400B90302 /* Source.cpp */, - 294547C71D295C5400B90302 /* Spiccato.cpp */, - 294547C81D295C5400B90302 /* Staccatissimo.cpp */, - 294547C91D295C5400B90302 /* Staccato.cpp */, - 294547CA1D295C5400B90302 /* Staff.cpp */, - 294547CB1D295C5400B90302 /* StaffDetails.cpp */, - 294547CC1D295C5400B90302 /* StaffDetailsAttributes.cpp */, - 294547CD1D295C5400B90302 /* StaffDistance.cpp */, - 294547CE1D295C5400B90302 /* StaffLayout.cpp */, - 294547CF1D295C5400B90302 /* StaffLayoutAttributes.cpp */, - 294547D01D295C5400B90302 /* StaffLines.cpp */, - 294547D11D295C5400B90302 /* StaffSize.cpp */, - 294547D21D295C5400B90302 /* StaffTuning.cpp */, - 294547D31D295C5400B90302 /* StaffTuningAttributes.cpp */, - 294547D41D295C5400B90302 /* StaffType.cpp */, - 294547D51D295C5400B90302 /* Staves.cpp */, - 294547D61D295C5400B90302 /* Stem.cpp */, - 294547D71D295C5400B90302 /* StemAttributes.cpp */, - 294547D81D295C5400B90302 /* Step.cpp */, - 294547D91D295C5400B90302 /* Stick.cpp */, - 294547DA1D295C5400B90302 /* StickAttributes.cpp */, - 294547DB1D295C5400B90302 /* StickLocation.cpp */, - 294547DC1D295C5400B90302 /* StickMaterial.cpp */, - 294547DD1D295C5400B90302 /* StickType.cpp */, - 294547DE1D295C5400B90302 /* Stopped.cpp */, - 294547DF1D295C5400B90302 /* Stress.cpp */, - 294547E01D295C5400B90302 /* String.cpp */, - 294547E11D295C5400B90302 /* StringAttributes.cpp */, - 294547E21D295C5400B90302 /* StringMute.cpp */, - 294547E31D295C5400B90302 /* StringMuteAttributes.cpp */, - 294547E41D295C5400B90302 /* StrongAccent.cpp */, - 294547E51D295C5400B90302 /* StrongAccentAttributes.cpp */, - 294547E61D295C5400B90302 /* Suffix.cpp */, - 294547E71D295C5400B90302 /* SuffixAttributes.cpp */, - 294547E81D295C5400B90302 /* Supports.cpp */, - 294547E91D295C5400B90302 /* SupportsAttributes.cpp */, - 294547EA1D295C5400B90302 /* Syllabic.cpp */, - 294547EB1D295C5400B90302 /* SyllabicTextGroup.cpp */, - 294547EC1D295C5400B90302 /* SystemDistance.cpp */, - 294547ED1D295C5400B90302 /* SystemDividers.cpp */, - 294547EE1D295C5400B90302 /* SystemLayout.cpp */, - 294547EF1D295C5400B90302 /* SystemMargins.cpp */, - 294547F01D295C5400B90302 /* Tap.cpp */, - 294547F11D295C5400B90302 /* TapAttributes.cpp */, - 294547F21D295C5400B90302 /* Technical.cpp */, - 294547F31D295C5400B90302 /* TechnicalChoice.cpp */, - 294547F41D295C5400B90302 /* Tenths.cpp */, - 294547F51D295C5400B90302 /* Tenuto.cpp */, - 294547F61D295C5400B90302 /* Text.cpp */, - 294547F71D295C5400B90302 /* TextAttributes.cpp */, - 294547F81D295C5400B90302 /* ThumbPosition.cpp */, - 294547F91D295C5400B90302 /* Tie.cpp */, - 294547FA1D295C5400B90302 /* TieAttributes.cpp */, - 294547FB1D295C5400B90302 /* Tied.cpp */, - 294547FC1D295C5400B90302 /* TiedAttributes.cpp */, - 294547FD1D295C5400B90302 /* Time.cpp */, - 294547FE1D295C5400B90302 /* TimeAttributes.cpp */, - 294547FF1D295C5400B90302 /* TimeChoice.cpp */, - 294548001D295C5400B90302 /* TimeModification.cpp */, - 294548011D295C5400B90302 /* TimeModificationNormalTypeNormalDot.cpp */, - 294548021D295C5400B90302 /* TimeRelation.cpp */, - 294548031D295C5400B90302 /* TimeSignatureGroup.cpp */, - 294548041D295C5400B90302 /* TimewiseMeasure.cpp */, - 294548051D295C5400B90302 /* TimewisePart.cpp */, - 294548061D295C5400B90302 /* Timpani.cpp */, - 294548071D295C5400B90302 /* Toe.cpp */, - 294548081D295C5400B90302 /* ToeAttributes.cpp */, - 294548091D295C5400B90302 /* TopMargin.cpp */, - 2945480A1D295C5400B90302 /* TopSystemDistance.cpp */, - 2945480B1D295C5400B90302 /* TouchingPitch.cpp */, - 2945480C1D295C5400B90302 /* TraditionalKey.cpp */, - 2945480D1D295C5400B90302 /* Transpose.cpp */, - 2945480E1D295C5400B90302 /* TransposeAttributes.cpp */, - 2945480F1D295C5400B90302 /* Tremolo.cpp */, - 294548101D295C5400B90302 /* TremoloAttributes.cpp */, - 294548111D295C5400B90302 /* TrillMark.cpp */, - 294548121D295C5400B90302 /* TripleTongue.cpp */, - 294548131D295C5400B90302 /* TuningAlter.cpp */, - 294548141D295C5400B90302 /* TuningOctave.cpp */, - 294548151D295C5400B90302 /* TuningStep.cpp */, - 294548161D295C5400B90302 /* Tuplet.cpp */, - 294548171D295C5400B90302 /* TupletActual.cpp */, - 294548181D295C5400B90302 /* TupletAttributes.cpp */, - 294548191D295C5400B90302 /* TupletDot.cpp */, - 2945481A1D295C5400B90302 /* TupletDotAttributes.cpp */, - 2945481B1D295C5400B90302 /* TupletNormal.cpp */, - 2945481C1D295C5500B90302 /* TupletNumber.cpp */, - 2945481D1D295C5500B90302 /* TupletNumberAttributes.cpp */, - 2945481E1D295C5500B90302 /* TupletType.cpp */, - 2945481F1D295C5500B90302 /* TupletTypeAttributes.cpp */, - 294548201D295C5500B90302 /* Turn.cpp */, - 294548211D295C5500B90302 /* TurnAttributes.cpp */, - 294548221D295C5500B90302 /* Type.cpp */, - 294548231D295C5500B90302 /* TypeAttributes.cpp */, - 294548241D295C5500B90302 /* Unpitched.cpp */, - 294548251D295C5500B90302 /* Unstress.cpp */, - 294548261D295C5500B90302 /* UpBow.cpp */, - 294548271D295C5500B90302 /* VerticalTurn.cpp */, - 294548281D295C5500B90302 /* VirtualInstrument.cpp */, - 294548291D295C5500B90302 /* VirtualLibrary.cpp */, - 2945482A1D295C5500B90302 /* VirtualName.cpp */, - 2945482B1D295C5500B90302 /* Voice.cpp */, - 2945482C1D295C5500B90302 /* Volume.cpp */, - 2945482D1D295C5500B90302 /* WavyLine.cpp */, - 2945482E1D295C5500B90302 /* WavyLineAttributes.cpp */, - 2945482F1D295C5500B90302 /* Wedge.cpp */, - 294548301D295C5500B90302 /* WedgeAttributes.cpp */, - 294548311D295C5500B90302 /* WithBar.cpp */, - 294548321D295C5500B90302 /* WithBarAttributes.cpp */, - 294548331D295C5500B90302 /* Wood.cpp */, - 294548341D295C5500B90302 /* WordFont.cpp */, - 294548351D295C5500B90302 /* Words.cpp */, - 294548361D295C5500B90302 /* WordsAttributes.cpp */, - 294548371D295C5500B90302 /* Work.cpp */, - 294548381D295C5500B90302 /* WorkNumber.cpp */, - 294548391D295C5500B90302 /* WorkTitle.cpp */, + 29A8E2AC1EF0476300AD2478 /* PugiAttribute.cpp */, + 29A8E2AD1EF0476300AD2478 /* PugiAttribute.h */, + 29A8E2AE1EF0476300AD2478 /* PugiAttributeIterImpl.cpp */, + 29A8E2AF1EF0476300AD2478 /* PugiAttributeIterImpl.h */, + 29A8E2B01EF0476300AD2478 /* PugiDoc.cpp */, + 29A8E2B11EF0476300AD2478 /* PugiDoc.h */, + 29A8E2B21EF0476300AD2478 /* PugiElement.cpp */, + 29A8E2B31EF0476300AD2478 /* PugiElement.h */, + 29A8E2B41EF0476300AD2478 /* PugiElementIterImpl.cpp */, + 29A8E2B51EF0476300AD2478 /* PugiElementIterImpl.h */, + 29A8E2B61EF0476300AD2478 /* XAttribute.h */, + 29A8E2B71EF0476300AD2478 /* XAttributeIterator.cpp */, + 29A8E2B81EF0476300AD2478 /* XAttributeIterator.h */, + 29A8E2B91EF0476300AD2478 /* XAttributeIterImpl.h */, + 29A8E2BA1EF0476300AD2478 /* XDoc.h */, + 29A8E2BB1EF0476300AD2478 /* XDocSpec.h */, + 29A8E2BC1EF0476300AD2478 /* XElement.h */, + 29A8E2BD1EF0476300AD2478 /* XElementIterator.cpp */, + 29A8E2BE1EF0476300AD2478 /* XElementIterator.h */, + 29A8E2BF1EF0476300AD2478 /* XElementIterImpl.h */, + 29A8E2C01EF0476300AD2478 /* XFactory.cpp */, + 29A8E2C11EF0476300AD2478 /* XFactory.h */, + 29A8E2C21EF0476300AD2478 /* XForwardDeclare.h */, + 29A8E2C31EF0476300AD2478 /* XThrow.h */, ); - name = cpp; + path = xml; sourceTree = ""; }; - 29D1BD3C1D28899D0092C299 /* h */ = { + 29A8FDC31EF0497500AD2478 /* MxmacOS */ = { isa = PBXGroup; children = ( - 295545861D28E5A30062D7E5 /* Accent.h */, - 295545871D28E5A30062D7E5 /* Accidental.h */, - 295545881D28E5A30062D7E5 /* AccidentalAttributes.h */, - 295545891D28E5A30062D7E5 /* AccidentalMark.h */, - 2955458A1D28E5A30062D7E5 /* AccidentalMarkAttributes.h */, - 2955458B1D28E5A30062D7E5 /* AccidentalText.h */, - 2955458C1D28E5A30062D7E5 /* AccidentalTextAttributes.h */, - 2955458D1D28E5A30062D7E5 /* Accord.h */, - 2955458E1D28E5A30062D7E5 /* AccordAttributes.h */, - 2955458F1D28E5A30062D7E5 /* AccordionHigh.h */, - 295545901D28E5A30062D7E5 /* AccordionLow.h */, - 295545911D28E5A30062D7E5 /* AccordionMiddle.h */, - 295545921D28E5A30062D7E5 /* AccordionRegistration.h */, - 295545931D28E5A30062D7E5 /* AccordionRegistrationAttributes.h */, - 295545941D28E5A30062D7E5 /* ActualNotes.h */, - 295545951D28E5A30062D7E5 /* Alter.h */, - 295545961D28E5A30062D7E5 /* Appearance.h */, - 295545971D28E5A30062D7E5 /* Arpeggiate.h */, - 295545981D28E5A30062D7E5 /* ArpeggiateAttributes.h */, - 295545991D28E5A30062D7E5 /* Arrow.h */, - 2955459A1D28E5A30062D7E5 /* ArrowAttributes.h */, - 2955459B1D28E5A30062D7E5 /* ArrowDirection.h */, - 2955459C1D28E5A30062D7E5 /* ArrowGroup.h */, - 2955459D1D28E5A30062D7E5 /* ArrowStyle.h */, - 2955459E1D28E5A30062D7E5 /* Articulations.h */, - 2955459F1D28E5A30062D7E5 /* ArticulationsChoice.h */, - 295545A01D28E5A30062D7E5 /* Artificial.h */, - 295545A11D28E5A30062D7E5 /* AttributesIterface.h */, - 295545A21D28E5A30062D7E5 /* Backup.h */, - 295545A31D28E5A30062D7E5 /* Barline.h */, - 295545A41D28E5A30062D7E5 /* BarlineAttributes.h */, - 295545A51D28E5A30062D7E5 /* Barre.h */, - 295545A61D28E5A30062D7E5 /* BarreAttributes.h */, - 295545A71D28E5A30062D7E5 /* BarStyle.h */, - 295545A81D28E5A30062D7E5 /* BarStyleAttributes.h */, - 295545A91D28E5A30062D7E5 /* BasePitch.h */, - 295545AA1D28E5A30062D7E5 /* Bass.h */, - 295545AB1D28E5A30062D7E5 /* BassAlter.h */, - 295545AC1D28E5A30062D7E5 /* BassAlterAttributes.h */, - 295545AD1D28E5A30062D7E5 /* BassStep.h */, - 295545AE1D28E5A30062D7E5 /* BassStepAttributes.h */, - 295545AF1D28E5A30062D7E5 /* Beam.h */, - 295545B01D28E5A30062D7E5 /* BeamAttributes.h */, - 295545B11D28E5A30062D7E5 /* Beater.h */, - 295545B21D28E5A30062D7E5 /* BeaterAttributes.h */, - 295545B31D28E5A30062D7E5 /* BeatRepeat.h */, - 295545B41D28E5A30062D7E5 /* BeatRepeatAttributes.h */, - 295545B51D28E5A30062D7E5 /* Beats.h */, - 295545B61D28E5A30062D7E5 /* BeatType.h */, - 295545B71D28E5A30062D7E5 /* BeatUnit.h */, - 295545B81D28E5A30062D7E5 /* BeatUnitDot.h */, - 295545B91D28E5A30062D7E5 /* BeatUnitGroup.h */, - 295545BA1D28E5A30062D7E5 /* BeatUnitPer.h */, - 295545BB1D28E5A30062D7E5 /* BeatUnitPerOrNoteRelationNoteChoice.h */, - 295545BC1D28E5A30062D7E5 /* Bend.h */, - 295545BD1D28E5A30062D7E5 /* BendAlter.h */, - 295545BE1D28E5A30062D7E5 /* BendAttributes.h */, - 295545BF1D28E5A30062D7E5 /* BendChoice.h */, - 295545C01D28E5A30062D7E5 /* Bookmark.h */, - 295545C11D28E5A30062D7E5 /* BookmarkAttributes.h */, - 295545C21D28E5A30062D7E5 /* BottomMargin.h */, - 295545C31D28E5A30062D7E5 /* Bracket.h */, - 295545C41D28E5A30062D7E5 /* BracketAttributes.h */, - 295545C51D28E5A30062D7E5 /* BreathMark.h */, - 295545C61D28E5A30062D7E5 /* BreathMarkAttributes.h */, - 295545C71D28E5A30062D7E5 /* Caesura.h */, - 295545C81D28E5A30062D7E5 /* Cancel.h */, - 295545C91D28E5A30062D7E5 /* CancelAttributes.h */, - 295545CA1D28E5A30062D7E5 /* Capo.h */, - 295545CB1D28E5A30062D7E5 /* Chord.h */, - 295545CC1D28E5A30062D7E5 /* Chromatic.h */, - 295545CD1D28E5A30062D7E5 /* CircularArrow.h */, - 295545CE1D28E5A30062D7E5 /* Clef.h */, - 295545CF1D28E5A30062D7E5 /* ClefAttributes.h */, - 295545D01D28E5A30062D7E5 /* ClefOctaveChange.h */, - 295545D11D28E5A30062D7E5 /* Coda.h */, - 295545D21D28E5A30062D7E5 /* Creator.h */, - 295545D31D28E5A30062D7E5 /* CreatorAttributes.h */, - 295545D41D28E5A30062D7E5 /* Credit.h */, - 295545D51D28E5A30062D7E5 /* CreditAttributes.h */, - 295545D61D28E5A30062D7E5 /* CreditChoice.h */, - 295545D71D28E5A30062D7E5 /* CreditImage.h */, - 295545D81D28E5A30062D7E5 /* CreditImageAttributes.h */, - 295545D91D28E5A30062D7E5 /* CreditType.h */, - 295545DA1D28E5A30062D7E5 /* CreditWords.h */, - 295545DB1D28E5A30062D7E5 /* CreditWordsAttributes.h */, - 295545DC1D28E5A30062D7E5 /* CreditWordsGroup.h */, - 295545DD1D28E5A30062D7E5 /* Cue.h */, - 295545DE1D28E5A30062D7E5 /* CueNoteGroup.h */, - 295545DF1D28E5A30062D7E5 /* Damp.h */, - 295545E01D28E5A30062D7E5 /* DampAll.h */, - 295545E11D28E5A30062D7E5 /* Dashes.h */, - 295545E21D28E5A30062D7E5 /* DashesAttributes.h */, - 295545E31D28E5A30062D7E5 /* Defaults.h */, - 295545E41D28E5A30062D7E5 /* Degree.h */, - 295545E51D28E5A30062D7E5 /* DegreeAlter.h */, - 295545E61D28E5A30062D7E5 /* DegreeAlterAttributes.h */, - 295545E71D28E5A30062D7E5 /* DegreeAttributes.h */, - 295545E81D28E5A30062D7E5 /* DegreeType.h */, - 295545E91D28E5A30062D7E5 /* DegreeTypeAttributes.h */, - 295545EA1D28E5A30062D7E5 /* DegreeValue.h */, - 295545EB1D28E5A30062D7E5 /* DegreeValueAttributes.h */, - 295545EC1D28E5A30062D7E5 /* DelayedInvertedTurn.h */, - 295545ED1D28E5A30062D7E5 /* DelayedInvertedTurnAttributes.h */, - 295545EE1D28E5A30062D7E5 /* DelayedTurn.h */, - 295545EF1D28E5A30062D7E5 /* DelayedTurnAttributes.h */, - 295545F01D28E5A30062D7E5 /* DetachedLegato.h */, - 295545F11D28E5A30062D7E5 /* Diatonic.h */, - 295545F21D28E5A30062D7E5 /* Direction.h */, - 295545F31D28E5A30062D7E5 /* DirectionAttributes.h */, - 295545F41D28E5A30062D7E5 /* DirectionType.h */, - 295545F51D28E5A30062D7E5 /* Directive.h */, - 295545F61D28E5A30062D7E5 /* DirectiveAttributes.h */, - 295545F71D28E5A30062D7E5 /* DisplayOctave.h */, - 295545F81D28E5A30062D7E5 /* DisplayStep.h */, - 295545F91D28E5A30062D7E5 /* DisplayStepOctaveGroup.h */, - 295545FA1D28E5A30062D7E5 /* DisplayText.h */, - 295545FB1D28E5A30062D7E5 /* DisplayTextAttributes.h */, - 295545FC1D28E5A30062D7E5 /* DisplayTextOrAccidentalText.h */, - 295545FD1D28E5A30062D7E5 /* Distance.h */, - 295545FE1D28E5A30062D7E5 /* DistanceAttributes.h */, - 295545FF1D28E5A30062D7E5 /* Divisions.h */, - 295546001D28E5A30062D7E5 /* Doit.h */, - 295546011D28E5A30062D7E5 /* Dot.h */, - 295546021D28E5A30062D7E5 /* Double.h */, - 295546031D28E5A30062D7E5 /* DoubleTongue.h */, - 295546041D28E5A30062D7E5 /* DownBow.h */, - 295546051D28E5A30062D7E5 /* Duration.h */, - 295546061D28E5A30062D7E5 /* Dynamics.h */, - 295546071D28E5A30062D7E5 /* DynamicsAttributes.h */, - 295546081D28E5A30062D7E5 /* EditorialGroup.h */, - 295546091D28E5A30062D7E5 /* EditorialVoiceDirectionGroup.h */, - 2955460A1D28E5A30062D7E5 /* EditorialVoiceGroup.h */, - 2955460B1D28E5A30062D7E5 /* Effect.h */, - 2955460C1D28E5A30062D7E5 /* Elevation.h */, - 2955460D1D28E5A30062D7E5 /* Elision.h */, - 2955460E1D28E5A30062D7E5 /* ElisionAttributes.h */, - 2955460F1D28E5A30062D7E5 /* ElisionSyllabicGroup.h */, - 295546101D28E5A30062D7E5 /* ElisionSyllabicTextGroup.h */, - 295546111D28E5A30062D7E5 /* EmptyFontAttributes.h */, - 295546121D28E5A30062D7E5 /* EmptyLineAttributes.h */, - 295546131D28E5A30062D7E5 /* EmptyPlacementAttributes.h */, - 295546141D28E5A30062D7E5 /* EmptyTrillSoundAttributes.h */, - 295546151D28E5A30062D7E5 /* Encoder.h */, - 295546161D28E5A30062D7E5 /* EncoderAttributes.h */, - 2904A4D41D301D5A00A39CC6 /* Encoding.h */, - 295546171D28E5A30062D7E5 /* EncodingChoice.h */, - 295546181D28E5A30062D7E5 /* EncodingDate.h */, - 295546191D28E5A30062D7E5 /* EncodingDescription.h */, - 2955461A1D28E5A30062D7E5 /* Ending.h */, - 2955461B1D28E5A30062D7E5 /* EndingAttributes.h */, - 2955461C1D28E5A30062D7E5 /* EndLine.h */, - 2955461D1D28E5A30062D7E5 /* EndParagraph.h */, - 2955461E1D28E5A30062D7E5 /* Ensemble.h */, - 2955461F1D28E5A30062D7E5 /* Extend.h */, - 295546201D28E5A30062D7E5 /* ExtendAttributes.h */, - 295546211D28E5A30062D7E5 /* Eyeglasses.h */, - 295546221D28E5A30062D7E5 /* Falloff.h */, - 295546231D28E5A30062D7E5 /* Feature.h */, - 295546241D28E5A30062D7E5 /* FeatureAttributes.h */, - 295546251D28E5A30062D7E5 /* Fermata.h */, - 295546261D28E5A30062D7E5 /* FermataAttributes.h */, - 295546271D28E5A30062D7E5 /* Fifths.h */, - 295546281D28E5A30062D7E5 /* Figure.h */, - 295546291D28E5A30062D7E5 /* FiguredBass.h */, - 2955462A1D28E5A30062D7E5 /* FiguredBassAttributes.h */, - 2955462B1D28E5A30062D7E5 /* FigureNumber.h */, - 2955462C1D28E5A30062D7E5 /* FigureNumberAttributes.h */, - 2955462D1D28E5A30062D7E5 /* Fingering.h */, - 2955462E1D28E5A30062D7E5 /* FingeringAttributes.h */, - 2955462F1D28E5A30062D7E5 /* Fingernails.h */, - 295546301D28E5A30062D7E5 /* FirstFret.h */, - 295546311D28E5A30062D7E5 /* FirstFretAttributes.h */, - 295546321D28E5A30062D7E5 /* Footnote.h */, - 295546331D28E5A30062D7E5 /* FootnoteAttributes.h */, - 295546341D28E5A30062D7E5 /* Forward.h */, - 295546351D28E5A30062D7E5 /* Frame.h */, - 295546361D28E5A30062D7E5 /* FrameAttributes.h */, - 295546371D28E5A30062D7E5 /* FrameFrets.h */, - 295546381D28E5A30062D7E5 /* FrameNote.h */, - 295546391D28E5A30062D7E5 /* FrameStrings.h */, - 2955463A1D28E5A30062D7E5 /* Fret.h */, - 2955463B1D28E5A30062D7E5 /* FretAttributes.h */, - 2955463C1D28E5A30062D7E5 /* FullNoteGroup.h */, - 2955463D1D28E5A30062D7E5 /* FullNoteTypeChoice.h */, - 2955463E1D28E5A30062D7E5 /* Function.h */, - 2955463F1D28E5A30062D7E5 /* FunctionAttributes.h */, - 295546401D28E5A30062D7E5 /* Glass.h */, - 295546411D28E5A30062D7E5 /* Glissando.h */, - 295546421D28E5A30062D7E5 /* GlissandoAttributes.h */, - 295546431D28E5A30062D7E5 /* Grace.h */, - 295546441D28E5A30062D7E5 /* GraceAttributes.h */, - 295546451D28E5A30062D7E5 /* GraceNoteGroup.h */, - 295546461D28E5A30062D7E5 /* Group.h */, - 295546471D28E5A30062D7E5 /* GroupAbbreviation.h */, - 295546481D28E5A30062D7E5 /* GroupAbbreviationAttributes.h */, - 295546491D28E5A30062D7E5 /* GroupAbbreviationDisplay.h */, - 2955464A1D28E5A30062D7E5 /* GroupAbbreviationDisplayAttributes.h */, - 2955464B1D28E5A30062D7E5 /* GroupBarline.h */, - 2955464C1D28E5A30062D7E5 /* GroupBarlineAttributes.h */, - 2955464D1D28E5A30062D7E5 /* Grouping.h */, - 2955464E1D28E5A30062D7E5 /* GroupingAttributes.h */, - 2955464F1D28E5A30062D7E5 /* GroupName.h */, - 295546501D28E5A30062D7E5 /* GroupNameAttributes.h */, - 295546511D28E5A30062D7E5 /* GroupNameDisplay.h */, - 295546521D28E5A30062D7E5 /* GroupNameDisplayAttributes.h */, - 295546531D28E5A30062D7E5 /* GroupSymbol.h */, - 295546541D28E5A30062D7E5 /* GroupSymbolAttributes.h */, - 295546551D28E5A30062D7E5 /* GroupTime.h */, - 295546561D28E5A30062D7E5 /* HammerOn.h */, - 295546571D28E5A30062D7E5 /* HammerOnAttributes.h */, - 295546581D28E5A30062D7E5 /* Handbell.h */, - 295546591D28E5A30062D7E5 /* HandbellAttributes.h */, - 2955465A1D28E5A30062D7E5 /* Harmonic.h */, - 2955465B1D28E5A30062D7E5 /* HarmonicAttributes.h */, - 2955465C1D28E5A30062D7E5 /* HarmonicInfoChoice.h */, - 2955465D1D28E5A30062D7E5 /* HarmonicTypeChoice.h */, - 2955465E1D28E5A30062D7E5 /* Harmony.h */, - 2955465F1D28E5A30062D7E5 /* HarmonyAttributes.h */, - 295546601D28E5A30062D7E5 /* HarmonyChordGroup.h */, - 295546611D28E5A30062D7E5 /* HarpPedals.h */, - 295546621D28E5A30062D7E5 /* HarpPedalsAttributes.h */, - 295546631D28E5A30062D7E5 /* Heel.h */, - 295546641D28E5A30062D7E5 /* HeelAttributes.h */, - 295546651D28E5A30062D7E5 /* Hole.h */, - 295546661D28E5A30062D7E5 /* HoleAttributes.h */, - 295546671D28E5A30062D7E5 /* HoleClosed.h */, - 295546681D28E5A30062D7E5 /* HoleClosedAttributes.h */, - 295546691D28E5A30062D7E5 /* HoleShape.h */, - 2955466A1D28E5A30062D7E5 /* HoleType.h */, - 2955466B1D28E5A30062D7E5 /* Humming.h */, - 2955466C1D28E5A30062D7E5 /* Identification.h */, - 2955466D1D28E5A30062D7E5 /* Image.h */, - 2955466E1D28E5A30062D7E5 /* ImageAttributes.h */, - 2955466F1D28E5A30062D7E5 /* Instrument.h */, - 295546701D28E5A30062D7E5 /* InstrumentAbbreviation.h */, - 295546711D28E5A30062D7E5 /* InstrumentAttributes.h */, - 295546721D28E5A30062D7E5 /* InstrumentName.h */, - 295546731D28E5A30062D7E5 /* Instruments.h */, - 295546741D28E5A30062D7E5 /* InstrumentSound.h */, - 295546751D28E5A30062D7E5 /* Interchangeable.h */, - 295546761D28E5A30062D7E5 /* InterchangeableAttributes.h */, - 295546771D28E5A30062D7E5 /* Inversion.h */, - 295546781D28E5A30062D7E5 /* InversionAttributes.h */, - 295546791D28E5A30062D7E5 /* InvertedMordent.h */, - 2955467A1D28E5A30062D7E5 /* InvertedMordentAttributes.h */, - 2955467B1D28E5A30062D7E5 /* InvertedTurn.h */, - 2955467C1D28E5A30062D7E5 /* InvertedTurnAttributes.h */, - 2955467D1D28E5A30062D7E5 /* Ipa.h */, - 2955467E1D28E5A30062D7E5 /* Key.h */, - 2955467F1D28E5A30062D7E5 /* KeyAccidental.h */, - 295546801D28E5A30062D7E5 /* KeyAlter.h */, - 295546811D28E5A30062D7E5 /* KeyAttributes.h */, - 295546821D28E5A30062D7E5 /* KeyChoice.h */, - 295546831D28E5A30062D7E5 /* KeyOctave.h */, - 295546841D28E5A30062D7E5 /* KeyOctaveAttributes.h */, - 295546851D28E5A30062D7E5 /* KeyStep.h */, - 295546861D28E5A30062D7E5 /* Kind.h */, - 295546871D28E5A30062D7E5 /* KindAttributes.h */, - 295546881D28E5A30062D7E5 /* Laughing.h */, - 295546891D28E5A30062D7E5 /* LayoutGroup.h */, - 2955468A1D28E5A30062D7E5 /* LeftDivider.h */, - 2955468B1D28E5A30062D7E5 /* LeftMargin.h */, - 2955468C1D28E5A30062D7E5 /* Level.h */, - 2955468D1D28E5A30062D7E5 /* LevelAttributes.h */, - 2955468E1D28E5A30062D7E5 /* Line.h */, - 2955468F1D28E5A30062D7E5 /* LineWidth.h */, - 295546901D28E5A30062D7E5 /* LineWidthAttributes.h */, - 295546911D28E5A30062D7E5 /* Link.h */, - 295546921D28E5A30062D7E5 /* LinkAttributes.h */, - 295546931D28E5A30062D7E5 /* Lyric.h */, - 295546941D28E5A30062D7E5 /* LyricAttributes.h */, - 295546951D28E5A30062D7E5 /* LyricFont.h */, - 295546961D28E5A30062D7E5 /* LyricFontAttributes.h */, - 295546971D28E5A30062D7E5 /* LyricLanguage.h */, - 295546981D28E5A30062D7E5 /* LyricLanguageAttributes.h */, - 295546991D28E5A30062D7E5 /* LyricTextChoice.h */, - 2955469A1D28E5A30062D7E5 /* MeasureAttributes.h */, - 2955469B1D28E5A30062D7E5 /* MeasureDistance.h */, - 2955469C1D28E5A30062D7E5 /* MeasureLayout.h */, - 2955469D1D28E5A30062D7E5 /* MeasureNumbering.h */, - 2955469E1D28E5A30062D7E5 /* MeasureNumberingAttributes.h */, - 2955469F1D28E5A30062D7E5 /* MeasureRepeat.h */, - 295546A01D28E5A30062D7E5 /* MeasureRepeatAttributes.h */, - 295546A11D28E5A30062D7E5 /* MeasureStyle.h */, - 295546A21D28E5A30062D7E5 /* MeasureStyleAttributes.h */, - 295546A31D28E5A30062D7E5 /* MeasureStyleChoice.h */, - 295546A41D28E5A30062D7E5 /* Membrane.h */, - 295546A51D28E5A30062D7E5 /* Metal.h */, - 295546A61D28E5A30062D7E5 /* Metronome.h */, - 295546A71D28E5A30062D7E5 /* MetronomeAttributes.h */, - 295546A81D28E5A30062D7E5 /* MetronomeBeam.h */, - 295546A91D28E5A30062D7E5 /* MetronomeBeamAttributes.h */, - 295546AA1D28E5A30062D7E5 /* MetronomeDot.h */, - 295546AB1D28E5A30062D7E5 /* MetronomeNote.h */, - 295546AC1D28E5A30062D7E5 /* MetronomeRelation.h */, - 295546AD1D28E5A30062D7E5 /* MetronomeRelationGroup.h */, - 295546AE1D28E5A40062D7E5 /* MetronomeTuplet.h */, - 295546AF1D28E5A40062D7E5 /* MetronomeTupletAttributes.h */, - 295546B01D28E5A40062D7E5 /* MetronomeType.h */, - 295546B11D28E5A40062D7E5 /* MidiBank.h */, - 295546B21D28E5A40062D7E5 /* MidiChannel.h */, - 295546B31D28E5A40062D7E5 /* MidiDevice.h */, - 295546B41D28E5A40062D7E5 /* MidiDeviceAttributes.h */, - 295546B51D28E5A40062D7E5 /* MidiDeviceInstrumentGroup.h */, - 295546B61D28E5A40062D7E5 /* MidiInstrument.h */, - 295546B71D28E5A40062D7E5 /* MidiInstrumentAttributes.h */, - 295546B81D28E5A40062D7E5 /* MidiName.h */, - 295546B91D28E5A40062D7E5 /* MidiProgram.h */, - 295546BA1D28E5A40062D7E5 /* MidiUnpitched.h */, - 295546BB1D28E5A40062D7E5 /* Millimeters.h */, - 295546BC1D28E5A40062D7E5 /* Miscellaneous.h */, - 295546BD1D28E5A40062D7E5 /* MiscellaneousField.h */, - 295546BE1D28E5A40062D7E5 /* MiscellaneousFieldAttributes.h */, - 295546BF1D28E5A40062D7E5 /* Mode.h */, - 295546C01D28E5A40062D7E5 /* Mordent.h */, - 295546C11D28E5A40062D7E5 /* MordentAttributes.h */, - 295546C21D28E5A40062D7E5 /* MovementNumber.h */, - 295546C31D28E5A40062D7E5 /* MovementTitle.h */, - 295546C41D28E5A40062D7E5 /* MultipleRest.h */, - 295546C51D28E5A40062D7E5 /* MultipleRestAttributes.h */, - 295546C61D28E5A40062D7E5 /* MusicDataChoice.h */, - 295546C71D28E5A40062D7E5 /* MusicDataGroup.h */, - 295546C81D28E5A40062D7E5 /* MusicFont.h */, - 295546C91D28E5A40062D7E5 /* Mute.h */, - 295546CA1D28E5A40062D7E5 /* Natural.h */, - 295546CB1D28E5A40062D7E5 /* NonArpeggiate.h */, - 295546CC1D28E5A40062D7E5 /* NonArpeggiateAttributes.h */, - 295546CD1D28E5A40062D7E5 /* NonTraditionalKey.h */, - 295546CE1D28E5A40062D7E5 /* NormalDot.h */, - 295546CF1D28E5A40062D7E5 /* NormalNoteGroup.h */, - 295546D01D28E5A40062D7E5 /* NormalNotes.h */, - 295546D11D28E5A40062D7E5 /* NormalType.h */, - 295546D21D28E5A40062D7E5 /* NormalTypeNormalDotGroup.h */, - 295546D31D28E5A40062D7E5 /* Notations.h */, - 295546D41D28E5A40062D7E5 /* NotationsAttributes.h */, - 295546D51D28E5A40062D7E5 /* NotationsChoice.h */, - 295546D61D28E5A40062D7E5 /* Note.h */, - 295546D71D28E5A40062D7E5 /* NoteAttributes.h */, - 295546D81D28E5A40062D7E5 /* NoteChoice.h */, - 295546D91D28E5A40062D7E5 /* Notehead.h */, - 295546DA1D28E5A40062D7E5 /* NoteheadAttributes.h */, - 295546DB1D28E5A40062D7E5 /* NoteheadText.h */, - 295C49381D2CB4B60015E349 /* NoteheadTextChoice.h */, - 295546DC1D28E5A40062D7E5 /* NoteRelationNote.h */, - 295546DD1D28E5A40062D7E5 /* NoteSize.h */, - 295546DE1D28E5A40062D7E5 /* NoteSizeAttributes.h */, - 295546DF1D28E5A40062D7E5 /* Octave.h */, - 295546E01D28E5A40062D7E5 /* OctaveChange.h */, - 295546E11D28E5A40062D7E5 /* OctaveShift.h */, - 295546E21D28E5A40062D7E5 /* OctaveShiftAttributes.h */, - 295546E31D28E5A40062D7E5 /* Offset.h */, - 295546E41D28E5A40062D7E5 /* OffsetAttributes.h */, - 295546E51D28E5A40062D7E5 /* OpenString.h */, - 295546E61D28E5A40062D7E5 /* Opus.h */, - 295546E71D28E5A40062D7E5 /* OpusAttributes.h */, - 295546E81D28E5A40062D7E5 /* Ornaments.h */, - 295546E91D28E5A40062D7E5 /* OrnamentsChoice.h */, - 295546EA1D28E5A40062D7E5 /* OtherAppearance.h */, - 295546EB1D28E5A40062D7E5 /* OtherAppearanceAttributes.h */, - 295546EC1D28E5A40062D7E5 /* OtherArticulation.h */, - 295546ED1D28E5A40062D7E5 /* OtherArticulationAttributes.h */, - 295546EE1D28E5A40062D7E5 /* OtherDirection.h */, - 295546EF1D28E5A40062D7E5 /* OtherDirectionAttributes.h */, - 295546F01D28E5A40062D7E5 /* OtherNotation.h */, - 295546F11D28E5A40062D7E5 /* OtherNotationAttributes.h */, - 295546F21D28E5A40062D7E5 /* OtherOrnament.h */, - 295546F31D28E5A40062D7E5 /* OtherOrnamentAttributes.h */, - 295546F41D28E5A40062D7E5 /* OtherPercussion.h */, - 295546F51D28E5A40062D7E5 /* OtherPlay.h */, - 295546F61D28E5A40062D7E5 /* OtherPlayAttributes.h */, - 295546F71D28E5A40062D7E5 /* OtherTechnical.h */, - 295546F81D28E5A40062D7E5 /* OtherTechnicalAttributes.h */, - 295546F91D28E5A40062D7E5 /* PageHeight.h */, - 295546FA1D28E5A40062D7E5 /* PageLayout.h */, - 295546FB1D28E5A40062D7E5 /* PageMargins.h */, - 295546FC1D28E5A40062D7E5 /* PageMarginsAttributes.h */, - 295546FD1D28E5A40062D7E5 /* PageWidth.h */, - 295546FE1D28E5A40062D7E5 /* Pan.h */, - 295546FF1D28E5A40062D7E5 /* PartAbbreviation.h */, - 295547001D28E5A40062D7E5 /* PartAbbreviationAttributes.h */, - 295547011D28E5A40062D7E5 /* PartAbbreviationDisplay.h */, - 295547021D28E5A40062D7E5 /* PartAbbreviationDisplayAttributes.h */, - 295547031D28E5A40062D7E5 /* PartAttributes.h */, - 295547041D28E5A40062D7E5 /* PartGroup.h */, - 295547051D28E5A40062D7E5 /* PartGroupAttributes.h */, - 295547061D28E5A40062D7E5 /* PartGroupOrScorePart.h */, - 295547071D28E5A40062D7E5 /* PartList.h */, - 295547081D28E5A40062D7E5 /* PartName.h */, - 295547091D28E5A40062D7E5 /* PartNameAttributes.h */, - 2955470A1D28E5A40062D7E5 /* PartNameDisplay.h */, - 2955470B1D28E5A40062D7E5 /* PartNameDisplayAttributes.h */, - 2955470C1D28E5A40062D7E5 /* PartSymbol.h */, - 2955470D1D28E5A40062D7E5 /* PartSymbolAttributes.h */, - 2955470E1D28E5A40062D7E5 /* PartwiseMeasure.h */, - 2955470F1D28E5A40062D7E5 /* PartwisePart.h */, - 295547101D28E5A40062D7E5 /* Pedal.h */, - 295547111D28E5A40062D7E5 /* PedalAlter.h */, - 295547121D28E5A40062D7E5 /* PedalAttributes.h */, - 295547131D28E5A40062D7E5 /* PedalStep.h */, - 295547141D28E5A40062D7E5 /* PedalTuning.h */, - 295547151D28E5A40062D7E5 /* Percussion.h */, - 295547161D28E5A40062D7E5 /* PercussionAttributes.h */, - 295547171D28E5A40062D7E5 /* PercussionChoice.h */, - 295547181D28E5A40062D7E5 /* PerMinute.h */, - 295547191D28E5A40062D7E5 /* PerMinuteAttributes.h */, - 2955471A1D28E5A40062D7E5 /* PerMinuteOrBeatUnitChoice.h */, - 2955471B1D28E5A40062D7E5 /* Pitch.h */, - 2955471C1D28E5A40062D7E5 /* Pitched.h */, - 2955471D1D28E5A40062D7E5 /* Play.h */, - 2955471E1D28E5A40062D7E5 /* PlayAttributes.h */, - 2955471F1D28E5A40062D7E5 /* Plop.h */, - 295547201D28E5A40062D7E5 /* Pluck.h */, - 295547211D28E5A40062D7E5 /* PluckAttributes.h */, - 295547221D28E5A40062D7E5 /* PreBend.h */, - 295547231D28E5A40062D7E5 /* Prefix.h */, - 295547241D28E5A40062D7E5 /* PrefixAttributes.h */, - 295547251D28E5A40062D7E5 /* PrincipalVoice.h */, - 295547261D28E5A40062D7E5 /* PrincipalVoiceAttributes.h */, - 295547271D28E5A40062D7E5 /* Print.h */, - 295547281D28E5A40062D7E5 /* PrintAttributes.h */, - 295547291D28E5A40062D7E5 /* Properties.h */, - 2955472A1D28E5A40062D7E5 /* PullOff.h */, - 2955472B1D28E5A40062D7E5 /* PullOffAttributes.h */, - 2955472C1D28E5A40062D7E5 /* Rehearsal.h */, - 2955472D1D28E5A40062D7E5 /* RehearsalAttributes.h */, - 2955472E1D28E5A40062D7E5 /* Relation.h */, - 2955472F1D28E5A40062D7E5 /* RelationAttributes.h */, - 295547301D28E5A40062D7E5 /* Release.h */, - 295547311D28E5A40062D7E5 /* Repeat.h */, - 295547321D28E5A40062D7E5 /* RepeatAttributes.h */, - 295547331D28E5A40062D7E5 /* Rest.h */, - 295547341D28E5A40062D7E5 /* RestAttributes.h */, - 295547351D28E5A40062D7E5 /* RightDivider.h */, - 295547361D28E5A40062D7E5 /* RightMargin.h */, - 295547371D28E5A40062D7E5 /* Rights.h */, - 295547381D28E5A40062D7E5 /* RightsAttributes.h */, - 295547391D28E5A40062D7E5 /* Root.h */, - 2955473A1D28E5A40062D7E5 /* RootAlter.h */, - 2955473B1D28E5A40062D7E5 /* RootAlterAttributes.h */, - 2955473C1D28E5A40062D7E5 /* RootStep.h */, - 2955473D1D28E5A40062D7E5 /* RootStepAttributes.h */, - 2955473E1D28E5A40062D7E5 /* Scaling.h */, - 2955473F1D28E5A40062D7E5 /* Schleifer.h */, - 295547401D28E5A40062D7E5 /* Scoop.h */, - 295547411D28E5A40062D7E5 /* Scordatura.h */, - 295547421D28E5A40062D7E5 /* ScoreHeaderGroup.h */, - 295547431D28E5A40062D7E5 /* ScoreInstrument.h */, - 295547441D28E5A40062D7E5 /* ScoreInstrumentAttributes.h */, - 295547451D28E5A40062D7E5 /* ScorePart.h */, - 295547461D28E5A40062D7E5 /* ScorePartAttributes.h */, - 295547471D28E5A40062D7E5 /* ScorePartwise.h */, - 295547481D28E5A40062D7E5 /* ScorePartwiseAttributes.h */, - 295547491D28E5A40062D7E5 /* ScoreTimewise.h */, - 2955474A1D28E5A40062D7E5 /* ScoreTimewiseAttributes.h */, - 2955474B1D28E5A40062D7E5 /* Segno.h */, - 2955474C1D28E5A40062D7E5 /* SemiPitched.h */, - 2955474D1D28E5A40062D7E5 /* SenzaMisura.h */, - 2955474E1D28E5A40062D7E5 /* Shake.h */, - 2955474F1D28E5A40062D7E5 /* Sign.h */, - 295547501D28E5A40062D7E5 /* Slash.h */, - 295547511D28E5A40062D7E5 /* SlashAttributes.h */, - 295547521D28E5A40062D7E5 /* SlashDot.h */, - 295547531D28E5A40062D7E5 /* SlashType.h */, - 295547541D28E5A40062D7E5 /* Slide.h */, - 295547551D28E5A40062D7E5 /* SlideAttributes.h */, - 295547561D28E5A40062D7E5 /* Slur.h */, - 295547571D28E5A40062D7E5 /* SlurAttributes.h */, - 295547581D28E5A40062D7E5 /* SnapPizzicato.h */, - 295547591D28E5A40062D7E5 /* Software.h */, - 2955475A1D28E5A40062D7E5 /* Solo.h */, - 2955475B1D28E5A40062D7E5 /* SoloOrEnsembleChoice.h */, - 2955475C1D28E5A40062D7E5 /* Sound.h */, - 2955475D1D28E5A40062D7E5 /* SoundAttributes.h */, - 2955475E1D28E5A40062D7E5 /* SoundingPitch.h */, - 2955475F1D28E5A40062D7E5 /* Source.h */, - 295547601D28E5A40062D7E5 /* Spiccato.h */, - 295547611D28E5A40062D7E5 /* Staccatissimo.h */, - 295547621D28E5A40062D7E5 /* Staccato.h */, - 295547631D28E5A40062D7E5 /* Staff.h */, - 295547641D28E5A40062D7E5 /* StaffDetails.h */, - 295547651D28E5A40062D7E5 /* StaffDetailsAttributes.h */, - 295547661D28E5A40062D7E5 /* StaffDistance.h */, - 295547671D28E5A40062D7E5 /* StaffLayout.h */, - 295547681D28E5A40062D7E5 /* StaffLayoutAttributes.h */, - 295547691D28E5A40062D7E5 /* StaffLines.h */, - 2955476A1D28E5A40062D7E5 /* StaffSize.h */, - 2955476B1D28E5A40062D7E5 /* StaffTuning.h */, - 2955476C1D28E5A40062D7E5 /* StaffTuningAttributes.h */, - 2955476D1D28E5A40062D7E5 /* StaffType.h */, - 2955476E1D28E5A40062D7E5 /* Staves.h */, - 2955476F1D28E5A40062D7E5 /* Stem.h */, - 295547701D28E5A40062D7E5 /* StemAttributes.h */, - 295547711D28E5A40062D7E5 /* Step.h */, - 295547721D28E5A40062D7E5 /* Stick.h */, - 295547731D28E5A40062D7E5 /* StickAttributes.h */, - 295547741D28E5A40062D7E5 /* StickLocation.h */, - 295547751D28E5A40062D7E5 /* StickMaterial.h */, - 295547761D28E5A40062D7E5 /* StickType.h */, - 295547771D28E5A40062D7E5 /* Stopped.h */, - 295547781D28E5A40062D7E5 /* Stress.h */, - 295547791D28E5A40062D7E5 /* String.h */, - 2955477A1D28E5A40062D7E5 /* StringAttributes.h */, - 2955477B1D28E5A40062D7E5 /* StringMute.h */, - 2955477C1D28E5A40062D7E5 /* StringMuteAttributes.h */, - 2955477D1D28E5A40062D7E5 /* StrongAccent.h */, - 2955477E1D28E5A40062D7E5 /* StrongAccentAttributes.h */, - 2955477F1D28E5A40062D7E5 /* Suffix.h */, - 295547801D28E5A40062D7E5 /* SuffixAttributes.h */, - 295547811D28E5A40062D7E5 /* Supports.h */, - 295547821D28E5A40062D7E5 /* SupportsAttributes.h */, - 295547831D28E5A40062D7E5 /* Syllabic.h */, - 295547841D28E5A40062D7E5 /* SyllabicTextGroup.h */, - 295547851D28E5A40062D7E5 /* SystemDistance.h */, - 295547861D28E5A40062D7E5 /* SystemDividers.h */, - 295547871D28E5A40062D7E5 /* SystemLayout.h */, - 295547881D28E5A40062D7E5 /* SystemMargins.h */, - 295547891D28E5A40062D7E5 /* Tap.h */, - 2955478A1D28E5A40062D7E5 /* TapAttributes.h */, - 2955478B1D28E5A40062D7E5 /* Technical.h */, - 2955478C1D28E5A40062D7E5 /* TechnicalChoice.h */, - 2955478D1D28E5A40062D7E5 /* Tenths.h */, - 2955478E1D28E5A40062D7E5 /* Tenuto.h */, - 2955478F1D28E5A40062D7E5 /* Text.h */, - 295547901D28E5A40062D7E5 /* TextAttributes.h */, - 295547911D28E5A40062D7E5 /* ThumbPosition.h */, - 295547921D28E5A40062D7E5 /* Tie.h */, - 295547931D28E5A40062D7E5 /* TieAttributes.h */, - 295547941D28E5A40062D7E5 /* Tied.h */, - 295547951D28E5A40062D7E5 /* TiedAttributes.h */, - 295547961D28E5A40062D7E5 /* Time.h */, - 295547971D28E5A40062D7E5 /* TimeAttributes.h */, - 295547981D28E5A40062D7E5 /* TimeChoice.h */, - 295547991D28E5A40062D7E5 /* TimeModification.h */, - 2955479A1D28E5A40062D7E5 /* TimeModificationNormalTypeNormalDot.h */, - 2955479B1D28E5A40062D7E5 /* TimeRelation.h */, - 2955479C1D28E5A40062D7E5 /* TimeSignatureGroup.h */, - 2955479D1D28E5A40062D7E5 /* TimewiseMeasure.h */, - 2955479E1D28E5A40062D7E5 /* TimewisePart.h */, - 2955479F1D28E5A40062D7E5 /* Timpani.h */, - 295547A01D28E5A40062D7E5 /* Toe.h */, - 295547A11D28E5A50062D7E5 /* ToeAttributes.h */, - 295547A21D28E5A50062D7E5 /* TopMargin.h */, - 295547A31D28E5A50062D7E5 /* TopSystemDistance.h */, - 295547A41D28E5A50062D7E5 /* TouchingPitch.h */, - 295547A51D28E5A50062D7E5 /* TraditionalKey.h */, - 295547A61D28E5A50062D7E5 /* Transpose.h */, - 295547A71D28E5A50062D7E5 /* TransposeAttributes.h */, - 295547A81D28E5A50062D7E5 /* Tremolo.h */, - 295547A91D28E5A50062D7E5 /* TremoloAttributes.h */, - 295547AA1D28E5A50062D7E5 /* TrillMark.h */, - 295547AB1D28E5A50062D7E5 /* TripleTongue.h */, - 295547AC1D28E5A50062D7E5 /* TuningAlter.h */, - 295547AD1D28E5A50062D7E5 /* TuningOctave.h */, - 295547AE1D28E5A50062D7E5 /* TuningStep.h */, - 295547AF1D28E5A50062D7E5 /* Tuplet.h */, - 295547B01D28E5A50062D7E5 /* TupletActual.h */, - 295547B11D28E5A50062D7E5 /* TupletAttributes.h */, - 295547B21D28E5A50062D7E5 /* TupletDot.h */, - 295547B31D28E5A50062D7E5 /* TupletDotAttributes.h */, - 295547B41D28E5A50062D7E5 /* TupletNormal.h */, - 295547B51D28E5A50062D7E5 /* TupletNumber.h */, - 295547B61D28E5A50062D7E5 /* TupletNumberAttributes.h */, - 295547B71D28E5A50062D7E5 /* TupletType.h */, - 295547B81D28E5A50062D7E5 /* TupletTypeAttributes.h */, - 295547B91D28E5A50062D7E5 /* Turn.h */, - 295547BA1D28E5A50062D7E5 /* TurnAttributes.h */, - 295547BB1D28E5A50062D7E5 /* Type.h */, - 295547BC1D28E5A50062D7E5 /* TypeAttributes.h */, - 295547BD1D28E5A50062D7E5 /* Unpitched.h */, - 295547BE1D28E5A50062D7E5 /* Unstress.h */, - 295547BF1D28E5A50062D7E5 /* UpBow.h */, - 295547C01D28E5A50062D7E5 /* VerticalTurn.h */, - 295547C11D28E5A50062D7E5 /* VirtualInstrument.h */, - 295547C21D28E5A50062D7E5 /* VirtualLibrary.h */, - 295547C31D28E5A50062D7E5 /* VirtualName.h */, - 295547C41D28E5A50062D7E5 /* Voice.h */, - 295547C51D28E5A50062D7E5 /* Volume.h */, - 295547C61D28E5A50062D7E5 /* WavyLine.h */, - 295547C71D28E5A50062D7E5 /* WavyLineAttributes.h */, - 295547C81D28E5A50062D7E5 /* Wedge.h */, - 295547C91D28E5A50062D7E5 /* WedgeAttributes.h */, - 295547CA1D28E5A50062D7E5 /* WithBar.h */, - 295547CB1D28E5A50062D7E5 /* WithBarAttributes.h */, - 295547CC1D28E5A50062D7E5 /* Wood.h */, - 295547CD1D28E5A50062D7E5 /* WordFont.h */, - 295547CE1D28E5A50062D7E5 /* Words.h */, - 295547CF1D28E5A50062D7E5 /* WordsAttributes.h */, - 295547D01D28E5A50062D7E5 /* Work.h */, - 295547D11D28E5A50062D7E5 /* WorkNumber.h */, - 295547D21D28E5A50062D7E5 /* WorkTitle.h */, + 29A8FDC41EF0497500AD2478 /* MxmacOS.h */, + 29A8FDC51EF0497500AD2478 /* Info.plist */, ); - name = h; + path = MxmacOS; sourceTree = ""; }; - 29EF44071D6E6CE900DBDAB9 /* api */ = { + 29B962821E79FF410072071D /* MxiOS */ = { isa = PBXGroup; children = ( - 293488D41D94903B00D0C407 /* ApiCommon.h */, - 29271A4E1DCC0D820036528D /* ApiEquality.h */, - 29B48EE41DBEC9950030A974 /* BarlineData.h */, - 292D1DD01D9A43A500CDD9F4 /* ClefData.cpp */, - 292D1DD11D9A43A500CDD9F4 /* ClefData.h */, - 2933AD601DA5B616005D7222 /* ColorData.h */, - 29FFAC7F1DB9C8B600DC8AE1 /* CurveData.h */, - 29766AD11DAC14B900CCE2AC /* DirectionData.h */, - 29EF44091D6E70D300DBDAB9 /* DocumentManager.cpp */, - 29EF440A1D6E70D300DBDAB9 /* DocumentManager.h */, - 29E9EA361DA4A80A0040183B /* DurationData.cpp */, - 29E9C55E1DA49DAF0040183B /* DurationData.h */, - 29ADB30D1D729E1900683BEC /* EncodingData.h */, - 29C51A501D9F18BA00EAA308 /* FontData.h */, - 29766ADF1DAC39EF00CCE2AC /* KeyData.h */, - 29ADB3111D729FB700683BEC /* LayoutData.h */, - 29E9C55D1DA49DAF0040183B /* LineData.h */, - 29C1759A1DC00FD200CC48D7 /* LineFunctions.h */, - 29DB30A01DA0713200031477 /* MarkData.cpp */, - 29C51A4E1D9F0B6000EAA308 /* MarkData.h */, - 29DC06EF1D7E5B2A00210B7E /* MeasureData.h */, - 29C51A4C1D9F061600EAA308 /* MeasureLocation.cpp */, - 29C51A221D9F05AD00EAA308 /* MeasureLocation.h */, - 29B4E8231DA9CFC2005DC6D1 /* NoteAttachmentData.h */, - 29E9EA351DA4A80A0040183B /* NoteData.cpp */, - 29EF44081D6E6D2600DBDAB9 /* NoteData.h */, - 29C175971DC0048700CC48D7 /* OttavaData.h */, - 29ADB3131D736A2B00683BEC /* PageTextData.h */, - 29ADB30E1D729E1900683BEC /* PartData.h */, - 299A2BB01D7FA48A006A7F5C /* PartGroupData.h */, - 29E9EA341DA4A80A0040183B /* PitchData.cpp */, - 29E9C5611DA49F2D0040183B /* PitchData.h */, - 29ADB3141D736A2B00683BEC /* PositionData.h */, - 29C51A521D9F18C600EAA308 /* PrintData.h */, - 2983E3DF1EB4303C007FCC34 /* ScoreData.cpp */, - 29EF440C1D6E70D300DBDAB9 /* ScoreData.h */, - 29C51A1D1D9ED91000EAA308 /* Smufl.cpp */, - 29C51A1C1D9ED3A200EAA308 /* Smufl.h */, - 29E9C5391DA470BC0040183B /* SpannerData.h */, - 29C175991DC00FD200CC48D7 /* SpannerFunctions.h */, - 29DC06EE1D7E5A8300210B7E /* StaffData.h */, - 29B7C46B1DB02D2F009D7D8F /* SystemData.h */, - 29766AC21DABFBA500CCE2AC /* TempoData.h */, - 2927EC9B1D886E2B0042E080 /* TimeSignatureData.h */, - 29B4E81B1DA9CA0E005DC6D1 /* TupletData.h */, - 29DC06F01D7E5BBF00210B7E /* VoiceData.h */, - 2951E1671DBA9C7300826CEF /* WedgeData.h */, - 292C3AD91E8B13FD001A0CB9 /* WordsData.cpp */, - 292C3ADA1E8B13FD001A0CB9 /* WordsData.h */, + 29B962831E79FF410072071D /* MxiOS.h */, + 29B962841E79FF410072071D /* Info.plist */, ); - name = api; + path = MxiOS; sourceTree = ""; }; /* End PBXGroup section */ @@ -6271,8 +6246,6 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 292C3AE11E8B13FD001A0CB9 /* WordsData.h in Headers */, - 29A16F8A1EB10CDB00D59278 /* PreciseDecimal.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -6280,51 +6253,22 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 29C1759B1DC00FD200CC48D7 /* SpannerFunctions.h in Headers */, - 29FFAC801DB9C8B600DC8AE1 /* CurveData.h in Headers */, - 29766AC71DAC014300CCE2AC /* MetronomeReader.h in Headers */, - 2951E1681DBA9C7300826CEF /* WedgeData.h in Headers */, - 292C3AE01E8B13FD001A0CB9 /* WordsData.h in Headers */, - 29C175981DC0048700CC48D7 /* OttavaData.h in Headers */, - 29398BB11DB1917B00475CD5 /* NotationsWriter.h in Headers */, - 29271A4F1DCC0D820036528D /* ApiEquality.h in Headers */, - 29B4E8241DA9CFC2005DC6D1 /* NoteAttachmentData.h in Headers */, - 29C29B891DAEC00C00D3A884 /* ScoreReader.h in Headers */, - 29398BA91DB1561200475CD5 /* NoteWriter.h in Headers */, - 29766AE01DAC39EF00CCE2AC /* KeyData.h in Headers */, - 29C1759C1DC00FD200CC48D7 /* LineFunctions.h in Headers */, - 29B7C46C1DB02D2F009D7D8F /* SystemData.h in Headers */, - 29766ACB1DAC149900CCE2AC /* DirectionReader.h in Headers */, - 29B4E81C1DA9CA0E005DC6D1 /* TupletData.h in Headers */, - 29CD722D1DB82C9200FB7153 /* DirectionWriter.h in Headers */, - 29979D681DC830AA00707AA4 /* DynamicsWriter.h in Headers */, - 29A16F891EB10CDB00D59278 /* PreciseDecimal.h in Headers */, - 29C29B8B1DAEC00C00D3A884 /* ScoreWriter.h in Headers */, - 29CDDA2E1DADCAF30022B1A3 /* PartWriter.h in Headers */, - 29B7C46A1DAFFDBA009D7D8F /* MeasureWriter.h in Headers */, - 29CD72291DB806FD00FB7153 /* PropertiesWriter.h in Headers */, - 29B48EE51DBEC9950030A974 /* BarlineData.h in Headers */, - 29B4E8221DA9CD5D005DC6D1 /* TupletReader.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 29B9627E1E79FF410072071D /* Headers */ = { + 29A8FDBF1EF0497400AD2478 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 292C3AE31E8B13FD001A0CB9 /* WordsData.h in Headers */, - 29A16F8C1EB10CDB00D59278 /* PreciseDecimal.h in Headers */, - 29B962851E79FF410072071D /* MxiOS.h in Headers */, + 29A8FDC61EF0497500AD2478 /* MxmacOS.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 29B965261E7A04140072071D /* Headers */ = { + 29B9627E1E79FF410072071D /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 292C3AE41E8B13FD001A0CB9 /* WordsData.h in Headers */, - 29A16F8D1EB10CDB00D59278 /* PreciseDecimal.h in Headers */, - 29B9652D1E7A04140072071D /* MxmacOS.h in Headers */, + 29B962851E79FF410072071D /* MxiOS.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -6332,8 +6276,6 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 292C3AE21E8B13FD001A0CB9 /* WordsData.h in Headers */, - 29A16F8B1EB10CDB00D59278 /* PreciseDecimal.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -6374,40 +6316,40 @@ productReference = 299F7FE61CA8D2200084CAE5 /* libMx.a */; productType = "com.apple.product-type.library.static"; }; - 29B962801E79FF410072071D /* MxiOS */ = { + 29A8FDC11EF0497400AD2478 /* MxmacOS */ = { isa = PBXNativeTarget; - buildConfigurationList = 29B962861E79FF410072071D /* Build configuration list for PBXNativeTarget "MxiOS" */; + buildConfigurationList = 29A8FDC71EF0497500AD2478 /* Build configuration list for PBXNativeTarget "MxmacOS" */; buildPhases = ( - 29B9627C1E79FF410072071D /* Sources */, - 29B9627D1E79FF410072071D /* Frameworks */, - 29B9627E1E79FF410072071D /* Headers */, - 29B9627F1E79FF410072071D /* Resources */, + 29A8FDBD1EF0497400AD2478 /* Sources */, + 29A8FDBE1EF0497400AD2478 /* Frameworks */, + 29A8FDBF1EF0497400AD2478 /* Headers */, + 29A8FDC01EF0497400AD2478 /* Resources */, ); buildRules = ( ); dependencies = ( ); - name = MxiOS; - productName = MxiOS; - productReference = 29B962811E79FF410072071D /* MxiOS.framework */; + name = MxmacOS; + productName = MxmacOS; + productReference = 29A8FDC21EF0497400AD2478 /* MxmacOS.framework */; productType = "com.apple.product-type.framework"; }; - 29B965281E7A04140072071D /* MxmacOS */ = { + 29B962801E79FF410072071D /* MxiOS */ = { isa = PBXNativeTarget; - buildConfigurationList = 29B965301E7A04140072071D /* Build configuration list for PBXNativeTarget "MxmacOS" */; + buildConfigurationList = 29B962861E79FF410072071D /* Build configuration list for PBXNativeTarget "MxiOS" */; buildPhases = ( - 29B965241E7A04140072071D /* Sources */, - 29B965251E7A04140072071D /* Frameworks */, - 29B965261E7A04140072071D /* Headers */, - 29B965271E7A04140072071D /* Resources */, + 29B9627C1E79FF410072071D /* Sources */, + 29B9627D1E79FF410072071D /* Frameworks */, + 29B9627E1E79FF410072071D /* Headers */, + 29B9627F1E79FF410072071D /* Resources */, ); buildRules = ( ); dependencies = ( ); - name = MxmacOS; - productName = MxmacOS; - productReference = 29B965291E7A04140072071D /* MxmacOS.framework */; + name = MxiOS; + productName = MxiOS; + productReference = 29B962811E79FF410072071D /* MxiOS.framework */; productType = "com.apple.product-type.framework"; }; 29E8BF941DD2920C00E8CEBA /* dylib-iOS */ = { @@ -6440,12 +6382,12 @@ CreatedOnToolsVersion = 8.1; ProvisioningStyle = Automatic; }; - 29B962801E79FF410072071D = { - CreatedOnToolsVersion = 8.2.1; - DevelopmentTeam = RRS55ZY6E5; + 29A8FDC11EF0497400AD2478 = { + CreatedOnToolsVersion = 8.3.2; + DevelopmentTeam = BEL6W3V5K4; ProvisioningStyle = Automatic; }; - 29B965281E7A04140072071D = { + 29B962801E79FF410072071D = { CreatedOnToolsVersion = 8.2.1; DevelopmentTeam = RRS55ZY6E5; ProvisioningStyle = Automatic; @@ -6471,20 +6413,20 @@ 293FFED11DD25C74001477E8 /* dylib-macOS */, 29E8BF941DD2920C00E8CEBA /* dylib-iOS */, 29B962801E79FF410072071D /* MxiOS */, - 29B965281E7A04140072071D /* MxmacOS */, + 29A8FDC11EF0497400AD2478 /* MxmacOS */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 29B9627F1E79FF410072071D /* Resources */ = { + 29A8FDC01EF0497400AD2478 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 29B965271E7A04140072071D /* Resources */ = { + 29B9627F1E79FF410072071D /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -6498,666 +6440,667 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 293FFEDD1DD25CF1001477E8 /* ClefData.cpp in Sources */, - 293FFEDE1DD25CF1001477E8 /* DocumentManager.cpp in Sources */, - 293FFEDF1DD25CF1001477E8 /* DurationData.cpp in Sources */, - 293FFEE01DD25CF1001477E8 /* MarkData.cpp in Sources */, - 293FFEE11DD25CF1001477E8 /* MeasureLocation.cpp in Sources */, - 293FFEE21DD25CF1001477E8 /* NoteData.cpp in Sources */, - 293FFEE31DD25CF1001477E8 /* PitchData.cpp in Sources */, - 293FFEE41DD25CF1001477E8 /* Smufl.cpp in Sources */, - 293FFEE51DD25CF1001477E8 /* AttributesInterface.cpp in Sources */, - 293FFEE61DD25CF1001477E8 /* Color.cpp in Sources */, - 293FFEE71DD25CF1001477E8 /* Date.cpp in Sources */, - 293FFEE81DD25CF1001477E8 /* Decimals.cpp in Sources */, - 293FFEE91DD25CF1001477E8 /* Document.cpp in Sources */, - 293FFEEA1DD25CF1001477E8 /* DocumentHeader.cpp in Sources */, - 293FFEEB1DD25CF1001477E8 /* DocumentSpec.cpp in Sources */, - 293FFEEC1DD25CF1001477E8 /* ElementInterface.cpp in Sources */, - 293FFEED1DD25CF1001477E8 /* Accent.cpp in Sources */, - 293FFEEE1DD25CF1001477E8 /* Accidental.cpp in Sources */, - 293FFEEF1DD25CF1001477E8 /* AccidentalAttributes.cpp in Sources */, - 293FFEF01DD25CF1001477E8 /* AccidentalMark.cpp in Sources */, - 293FFEF11DD25CF1001477E8 /* AccidentalMarkAttributes.cpp in Sources */, - 293FFEF21DD25CF1001477E8 /* AccidentalText.cpp in Sources */, - 293FFEF31DD25CF1001477E8 /* AccidentalTextAttributes.cpp in Sources */, - 293FFEF41DD25CF1001477E8 /* Accord.cpp in Sources */, - 293FFEF51DD25CF1001477E8 /* AccordAttributes.cpp in Sources */, - 293FFEF61DD25CF1001477E8 /* AccordionHigh.cpp in Sources */, - 293FFEF71DD25CF1001477E8 /* AccordionLow.cpp in Sources */, - 293FFEF81DD25CF1001477E8 /* AccordionMiddle.cpp in Sources */, - 293FFEF91DD25CF1001477E8 /* AccordionRegistration.cpp in Sources */, - 293FFEFA1DD25CF1001477E8 /* AccordionRegistrationAttributes.cpp in Sources */, - 293FFEFB1DD25CF1001477E8 /* ActualNotes.cpp in Sources */, - 293FFEFC1DD25CF1001477E8 /* Alter.cpp in Sources */, - 293FFEFD1DD25CF1001477E8 /* Appearance.cpp in Sources */, - 293FFEFE1DD25CF1001477E8 /* Arpeggiate.cpp in Sources */, - 293FFEFF1DD25CF1001477E8 /* ArpeggiateAttributes.cpp in Sources */, - 293FFF001DD25CF1001477E8 /* Arrow.cpp in Sources */, - 293FFF011DD25CF1001477E8 /* ArrowAttributes.cpp in Sources */, - 293FFF021DD25CF1001477E8 /* ArrowDirection.cpp in Sources */, - 293FFF031DD25CF1001477E8 /* ArrowGroup.cpp in Sources */, - 293FFF041DD25CF1001477E8 /* ArrowStyle.cpp in Sources */, - 293FFF051DD25CF1001477E8 /* Articulations.cpp in Sources */, - 293FFF061DD25CF1001477E8 /* ArticulationsChoice.cpp in Sources */, - 293FFF071DD25CF1001477E8 /* Artificial.cpp in Sources */, - 293FFF081DD25CF1001477E8 /* AttributesIterface.cpp in Sources */, - 293FFF091DD25CF1001477E8 /* Backup.cpp in Sources */, - 293FFF0A1DD25CF1001477E8 /* Barline.cpp in Sources */, - 293FFF0B1DD25CF1001477E8 /* BarlineAttributes.cpp in Sources */, - 293FFF0C1DD25CF1001477E8 /* Barre.cpp in Sources */, - 293FFF0D1DD25CF1001477E8 /* BarreAttributes.cpp in Sources */, - 293FFF0E1DD25CF1001477E8 /* BarStyle.cpp in Sources */, - 293FFF0F1DD25CF1001477E8 /* BarStyleAttributes.cpp in Sources */, - 293FFF101DD25CF1001477E8 /* BasePitch.cpp in Sources */, - 293FFF111DD25CF1001477E8 /* Bass.cpp in Sources */, - 293FFF121DD25CF1001477E8 /* BassAlter.cpp in Sources */, - 293FFF131DD25CF1001477E8 /* BassAlterAttributes.cpp in Sources */, - 293FFF141DD25CF1001477E8 /* BassStep.cpp in Sources */, - 293FFF151DD25CF1001477E8 /* BassStepAttributes.cpp in Sources */, - 293FFF161DD25CF1001477E8 /* Beam.cpp in Sources */, - 293FFF171DD25CF1001477E8 /* BeamAttributes.cpp in Sources */, - 293FFF181DD25CF1001477E8 /* Beater.cpp in Sources */, - 293FFF191DD25CF1001477E8 /* BeaterAttributes.cpp in Sources */, - 293FFF1A1DD25CF1001477E8 /* BeatRepeat.cpp in Sources */, - 293FFF1B1DD25CF1001477E8 /* BeatRepeatAttributes.cpp in Sources */, - 293FFF1C1DD25CF1001477E8 /* Beats.cpp in Sources */, - 293FFF1D1DD25CF1001477E8 /* BeatType.cpp in Sources */, - 293FFF1E1DD25CF1001477E8 /* BeatUnit.cpp in Sources */, - 293FFF1F1DD25CF1001477E8 /* BeatUnitDot.cpp in Sources */, - 293FFF201DD25CF1001477E8 /* BeatUnitGroup.cpp in Sources */, - 293FFF211DD25CF1001477E8 /* BeatUnitPer.cpp in Sources */, - 293FFF221DD25CF1001477E8 /* BeatUnitPerOrNoteRelationNoteChoice.cpp in Sources */, - 293FFF231DD25CF1001477E8 /* Bend.cpp in Sources */, - 293FFF241DD25CF1001477E8 /* BendAlter.cpp in Sources */, - 293FFF251DD25CF1001477E8 /* BendAttributes.cpp in Sources */, - 293FFF261DD25CF1001477E8 /* BendChoice.cpp in Sources */, - 293FFF271DD25CF1001477E8 /* Bookmark.cpp in Sources */, - 293FFF281DD25CF1001477E8 /* BookmarkAttributes.cpp in Sources */, - 293FFF291DD25CF1001477E8 /* BottomMargin.cpp in Sources */, - 293FFF2A1DD25CF1001477E8 /* Bracket.cpp in Sources */, - 293FFF2B1DD25CF1001477E8 /* BracketAttributes.cpp in Sources */, - 293FFF2C1DD25CF1001477E8 /* BreathMark.cpp in Sources */, - 293FFF2D1DD25CF1001477E8 /* BreathMarkAttributes.cpp in Sources */, - 293FFF2E1DD25CF1001477E8 /* Caesura.cpp in Sources */, - 293FFF2F1DD25CF1001477E8 /* Cancel.cpp in Sources */, - 293FFF301DD25CF1001477E8 /* CancelAttributes.cpp in Sources */, - 293FFF311DD25CF1001477E8 /* Capo.cpp in Sources */, - 293FFF321DD25CF1001477E8 /* Chord.cpp in Sources */, - 293FFF331DD25CF1001477E8 /* Chromatic.cpp in Sources */, - 293FFF341DD25CF1001477E8 /* CircularArrow.cpp in Sources */, - 293FFF351DD25CF1001477E8 /* Clef.cpp in Sources */, - 293FFF361DD25CF1001477E8 /* ClefAttributes.cpp in Sources */, - 293FFF371DD25CF1001477E8 /* ClefOctaveChange.cpp in Sources */, - 293FFF381DD25CF1001477E8 /* Coda.cpp in Sources */, - 293FFF391DD25CF1001477E8 /* Creator.cpp in Sources */, - 293FFF3A1DD25CF1001477E8 /* CreatorAttributes.cpp in Sources */, - 293FFF3B1DD25CF1001477E8 /* Credit.cpp in Sources */, - 293FFF3C1DD25CF1001477E8 /* CreditAttributes.cpp in Sources */, - 293FFF3D1DD25CF1001477E8 /* CreditChoice.cpp in Sources */, - 293FFF3E1DD25CF1001477E8 /* CreditImage.cpp in Sources */, - 293FFF3F1DD25CF1001477E8 /* CreditImageAttributes.cpp in Sources */, - 293FFF401DD25CF1001477E8 /* CreditType.cpp in Sources */, - 293FFF411DD25CF1001477E8 /* CreditWords.cpp in Sources */, - 293FFF421DD25CF1001477E8 /* CreditWordsAttributes.cpp in Sources */, - 293FFF431DD25CF1001477E8 /* CreditWordsGroup.cpp in Sources */, - 293FFF441DD25CF1001477E8 /* Cue.cpp in Sources */, - 293FFF451DD25CF1001477E8 /* CueNoteGroup.cpp in Sources */, - 293FFF461DD25CF1001477E8 /* Damp.cpp in Sources */, - 293FFF471DD25CF1001477E8 /* DampAll.cpp in Sources */, - 293FFF481DD25CF1001477E8 /* Dashes.cpp in Sources */, - 293FFF491DD25CF1001477E8 /* DashesAttributes.cpp in Sources */, - 293FFF4A1DD25CF1001477E8 /* Defaults.cpp in Sources */, - 293FFF4B1DD25CF1001477E8 /* Degree.cpp in Sources */, - 293FFF4C1DD25CF1001477E8 /* DegreeAlter.cpp in Sources */, - 293FFF4D1DD25CF1001477E8 /* DegreeAlterAttributes.cpp in Sources */, - 293FFF4E1DD25CF1001477E8 /* DegreeAttributes.cpp in Sources */, - 293FFF4F1DD25CF1001477E8 /* DegreeType.cpp in Sources */, - 293FFF501DD25CF1001477E8 /* DegreeTypeAttributes.cpp in Sources */, - 293FFF511DD25CF1001477E8 /* DegreeValue.cpp in Sources */, - 293FFF521DD25CF1001477E8 /* DegreeValueAttributes.cpp in Sources */, - 293FFF531DD25CF1001477E8 /* DelayedInvertedTurn.cpp in Sources */, - 293FFF541DD25CF1001477E8 /* DelayedInvertedTurnAttributes.cpp in Sources */, - 293FFF551DD25CF1001477E8 /* DelayedTurn.cpp in Sources */, - 293FFF561DD25CF1001477E8 /* DelayedTurnAttributes.cpp in Sources */, - 293FFF571DD25CF1001477E8 /* DetachedLegato.cpp in Sources */, - 293FFF581DD25CF1001477E8 /* Diatonic.cpp in Sources */, - 293FFF591DD25CF1001477E8 /* Direction.cpp in Sources */, - 293FFF5A1DD25CF1001477E8 /* DirectionAttributes.cpp in Sources */, - 293FFF5B1DD25CF1001477E8 /* DirectionType.cpp in Sources */, - 293FFF5C1DD25CF1001477E8 /* Directive.cpp in Sources */, - 293FFF5D1DD25CF1001477E8 /* DirectiveAttributes.cpp in Sources */, - 293FFF5E1DD25CF1001477E8 /* DisplayOctave.cpp in Sources */, - 293FFF5F1DD25CF1001477E8 /* DisplayStep.cpp in Sources */, - 293FFF601DD25CF1001477E8 /* DisplayStepOctaveGroup.cpp in Sources */, - 293FFF611DD25CF1001477E8 /* DisplayText.cpp in Sources */, - 293FFF621DD25CF1001477E8 /* DisplayTextAttributes.cpp in Sources */, - 293FFF631DD25CF1001477E8 /* DisplayTextOrAccidentalText.cpp in Sources */, - 293FFF641DD25CF1001477E8 /* Distance.cpp in Sources */, - 293FFF651DD25CF1001477E8 /* DistanceAttributes.cpp in Sources */, - 293FFF661DD25CF1001477E8 /* Divisions.cpp in Sources */, - 293FFF671DD25CF1001477E8 /* Doit.cpp in Sources */, - 293FFF681DD25CF1001477E8 /* Dot.cpp in Sources */, - 293FFF691DD25CF1001477E8 /* Double.cpp in Sources */, - 293FFF6A1DD25CF1001477E8 /* DoubleTongue.cpp in Sources */, - 293FFF6B1DD25CF1001477E8 /* DownBow.cpp in Sources */, - 293FFF6C1DD25CF1001477E8 /* Duration.cpp in Sources */, - 293FFF6D1DD25CF1001477E8 /* Dynamics.cpp in Sources */, - 293FFF6E1DD25CF1001477E8 /* DynamicsAttributes.cpp in Sources */, - 293FFF6F1DD25CF1001477E8 /* EditorialGroup.cpp in Sources */, - 293FFF701DD25CF1001477E8 /* EditorialVoiceDirectionGroup.cpp in Sources */, - 293FFF711DD25CF1001477E8 /* EditorialVoiceGroup.cpp in Sources */, - 293FFF721DD25CF1001477E8 /* Effect.cpp in Sources */, - 293FFF731DD25CF1001477E8 /* Elevation.cpp in Sources */, - 293FFF741DD25CF1001477E8 /* Elision.cpp in Sources */, - 293FFF751DD25CF1001477E8 /* ElisionAttributes.cpp in Sources */, - 293FFF761DD25CF1001477E8 /* ElisionSyllabicGroup.cpp in Sources */, - 293FFF771DD25CF1001477E8 /* ElisionSyllabicTextGroup.cpp in Sources */, - 293FFF781DD25CF1001477E8 /* EmptyFontAttributes.cpp in Sources */, - 293FFF791DD25CF1001477E8 /* EmptyLineAttributes.cpp in Sources */, - 293FFF7A1DD25CF1001477E8 /* EmptyPlacementAttributes.cpp in Sources */, - 293FFF7B1DD25CF1001477E8 /* EmptyTrillSoundAttributes.cpp in Sources */, - 293FFF7C1DD25CF1001477E8 /* Encoder.cpp in Sources */, - 293FFF7D1DD25CF1001477E8 /* EncoderAttributes.cpp in Sources */, - 293FFF7E1DD25CF1001477E8 /* Encoding.cpp in Sources */, - 293FFF7F1DD25CF1001477E8 /* EncodingChoice.cpp in Sources */, - 293FFF801DD25CF1001477E8 /* EncodingDate.cpp in Sources */, - 293FFF811DD25CF1001477E8 /* EncodingDescription.cpp in Sources */, - 293FFF821DD25CF1001477E8 /* Ending.cpp in Sources */, - 293FFF831DD25CF1001477E8 /* EndingAttributes.cpp in Sources */, - 293FFF841DD25CF1001477E8 /* EndLine.cpp in Sources */, - 293FFF851DD25CF1001477E8 /* EndParagraph.cpp in Sources */, - 293FFF861DD25CF1001477E8 /* Ensemble.cpp in Sources */, - 293FFF871DD25CF1001477E8 /* Extend.cpp in Sources */, - 293FFF881DD25CF1001477E8 /* ExtendAttributes.cpp in Sources */, - 293FFF891DD25CF1001477E8 /* Eyeglasses.cpp in Sources */, - 293FFF8A1DD25CF1001477E8 /* Falloff.cpp in Sources */, - 293FFF8B1DD25CF1001477E8 /* Feature.cpp in Sources */, - 293FFF8C1DD25CF1001477E8 /* FeatureAttributes.cpp in Sources */, - 293FFF8D1DD25CF1001477E8 /* Fermata.cpp in Sources */, - 293FFF8E1DD25CF1001477E8 /* FermataAttributes.cpp in Sources */, - 293FFF8F1DD25CF1001477E8 /* Fifths.cpp in Sources */, - 293FFF901DD25CF1001477E8 /* Figure.cpp in Sources */, - 293FFF911DD25CF1001477E8 /* FiguredBass.cpp in Sources */, - 293FFF921DD25CF1001477E8 /* FiguredBassAttributes.cpp in Sources */, - 293FFF931DD25CF1001477E8 /* FigureNumber.cpp in Sources */, - 293FFF941DD25CF1001477E8 /* FigureNumberAttributes.cpp in Sources */, - 293FFF951DD25CF1001477E8 /* Fingering.cpp in Sources */, - 293FFF961DD25CF1001477E8 /* FingeringAttributes.cpp in Sources */, - 293FFF971DD25CF1001477E8 /* Fingernails.cpp in Sources */, - 293FFF981DD25CF1001477E8 /* FirstFret.cpp in Sources */, - 293FFF991DD25CF1001477E8 /* FirstFretAttributes.cpp in Sources */, - 293FFF9A1DD25CF1001477E8 /* Footnote.cpp in Sources */, - 293FFF9B1DD25CF1001477E8 /* FootnoteAttributes.cpp in Sources */, - 293FFF9C1DD25CF1001477E8 /* Forward.cpp in Sources */, - 293FFF9D1DD25CF1001477E8 /* Frame.cpp in Sources */, - 293FFF9E1DD25CF1001477E8 /* FrameAttributes.cpp in Sources */, - 293FFF9F1DD25CF1001477E8 /* FrameFrets.cpp in Sources */, - 293FFFA01DD25CF1001477E8 /* FrameNote.cpp in Sources */, - 293FFFA11DD25CF1001477E8 /* FrameStrings.cpp in Sources */, - 293FFFA21DD25CF1001477E8 /* Fret.cpp in Sources */, - 293FFFA31DD25CF1001477E8 /* FretAttributes.cpp in Sources */, - 293FFFA41DD25CF1001477E8 /* FullNoteGroup.cpp in Sources */, - 293FFFA51DD25CF1001477E8 /* FullNoteTypeChoice.cpp in Sources */, - 293FFFA61DD25CF1001477E8 /* Function.cpp in Sources */, - 293FFFA71DD25CF1001477E8 /* FunctionAttributes.cpp in Sources */, - 293FFFA81DD25CF1001477E8 /* Glass.cpp in Sources */, - 293FFFA91DD25CF1001477E8 /* Glissando.cpp in Sources */, - 293FFFAA1DD25CF1001477E8 /* GlissandoAttributes.cpp in Sources */, - 293FFFAB1DD25CF1001477E8 /* Grace.cpp in Sources */, - 293FFFAC1DD25CF1001477E8 /* GraceAttributes.cpp in Sources */, - 293FFFAD1DD25CF1001477E8 /* GraceNoteGroup.cpp in Sources */, - 293FFFAE1DD25CF1001477E8 /* Group.cpp in Sources */, - 293FFFAF1DD25CF1001477E8 /* GroupAbbreviation.cpp in Sources */, - 293FFFB01DD25CF1001477E8 /* GroupAbbreviationAttributes.cpp in Sources */, - 293FFFB11DD25CF1001477E8 /* GroupAbbreviationDisplay.cpp in Sources */, - 293FFFB21DD25CF1001477E8 /* GroupAbbreviationDisplayAttributes.cpp in Sources */, - 293FFFB31DD25CF1001477E8 /* GroupBarline.cpp in Sources */, - 293FFFB41DD25CF1001477E8 /* GroupBarlineAttributes.cpp in Sources */, - 293FFFB51DD25CF1001477E8 /* Grouping.cpp in Sources */, - 293FFFB61DD25CF1001477E8 /* GroupingAttributes.cpp in Sources */, - 293FFFB71DD25CF1001477E8 /* GroupName.cpp in Sources */, - 293FFFB81DD25CF1001477E8 /* GroupNameAttributes.cpp in Sources */, - 293FFFB91DD25CF1001477E8 /* GroupNameDisplay.cpp in Sources */, - 293FFFBA1DD25CF1001477E8 /* GroupNameDisplayAttributes.cpp in Sources */, - 293FFFBB1DD25CF1001477E8 /* GroupSymbol.cpp in Sources */, - 293FFFBC1DD25CF1001477E8 /* GroupSymbolAttributes.cpp in Sources */, - 293FFFBD1DD25CF1001477E8 /* GroupTime.cpp in Sources */, - 293FFFBE1DD25CF1001477E8 /* HammerOn.cpp in Sources */, - 293FFFBF1DD25CF1001477E8 /* HammerOnAttributes.cpp in Sources */, - 293FFFC01DD25CF1001477E8 /* Handbell.cpp in Sources */, - 293FFFC11DD25CF1001477E8 /* HandbellAttributes.cpp in Sources */, - 29A16F851EB10CDB00D59278 /* PreciseDecimal.cpp in Sources */, - 293FFFC21DD25CF1001477E8 /* Harmonic.cpp in Sources */, - 293FFFC31DD25CF1001477E8 /* HarmonicAttributes.cpp in Sources */, - 293FFFC41DD25CF1001477E8 /* HarmonicInfoChoice.cpp in Sources */, - 293FFFC51DD25CF1001477E8 /* HarmonicTypeChoice.cpp in Sources */, - 293FFFC61DD25CF1001477E8 /* Harmony.cpp in Sources */, - 293FFFC71DD25CF1001477E8 /* HarmonyAttributes.cpp in Sources */, - 293FFFC81DD25CF1001477E8 /* HarmonyChordGroup.cpp in Sources */, - 293FFFC91DD25CF1001477E8 /* HarpPedals.cpp in Sources */, - 293FFFCA1DD25CF1001477E8 /* HarpPedalsAttributes.cpp in Sources */, - 293FFFCB1DD25CF1001477E8 /* Heel.cpp in Sources */, - 293FFFCC1DD25CF1001477E8 /* HeelAttributes.cpp in Sources */, - 293FFFCD1DD25CF1001477E8 /* Hole.cpp in Sources */, - 293FFFCE1DD25CF1001477E8 /* HoleAttributes.cpp in Sources */, - 293FFFCF1DD25CF1001477E8 /* HoleClosed.cpp in Sources */, - 2983E3E11EB4303C007FCC34 /* ScoreData.cpp in Sources */, - 293FFFD01DD25CF1001477E8 /* HoleClosedAttributes.cpp in Sources */, - 293FFFD11DD25CF1001477E8 /* HoleShape.cpp in Sources */, - 293FFFD21DD25CF1001477E8 /* HoleType.cpp in Sources */, - 293FFFD31DD25CF1001477E8 /* Humming.cpp in Sources */, - 293FFFD41DD25CF1001477E8 /* Identification.cpp in Sources */, - 293FFFD51DD25CF1001477E8 /* Image.cpp in Sources */, - 293FFFD61DD25CF1001477E8 /* ImageAttributes.cpp in Sources */, - 293FFFD71DD25CF1001477E8 /* Instrument.cpp in Sources */, - 293FFFD81DD25CF1001477E8 /* InstrumentAbbreviation.cpp in Sources */, - 293FFFD91DD25CF1001477E8 /* InstrumentAttributes.cpp in Sources */, - 293FFFDA1DD25CF1001477E8 /* InstrumentName.cpp in Sources */, - 293FFFDB1DD25CF1001477E8 /* Instruments.cpp in Sources */, - 293FFFDC1DD25CF1001477E8 /* InstrumentSound.cpp in Sources */, - 293FFFDD1DD25CF1001477E8 /* Interchangeable.cpp in Sources */, - 293FFFDE1DD25CF1001477E8 /* InterchangeableAttributes.cpp in Sources */, - 293FFFDF1DD25CF1001477E8 /* Inversion.cpp in Sources */, - 293FFFE01DD25CF1001477E8 /* InversionAttributes.cpp in Sources */, - 293FFFE11DD25CF1001477E8 /* InvertedMordent.cpp in Sources */, - 293FFFE21DD25CF1001477E8 /* InvertedMordentAttributes.cpp in Sources */, - 293FFFE31DD25CF1001477E8 /* InvertedTurn.cpp in Sources */, - 293FFFE41DD25CF1001477E8 /* InvertedTurnAttributes.cpp in Sources */, - 293FFFE51DD25CF1001477E8 /* Ipa.cpp in Sources */, - 293FFFE61DD25CF1001477E8 /* Key.cpp in Sources */, - 293FFFE71DD25CF1001477E8 /* KeyAccidental.cpp in Sources */, - 293FFFE81DD25CF1001477E8 /* KeyAlter.cpp in Sources */, - 293FFFE91DD25CF1001477E8 /* KeyAttributes.cpp in Sources */, - 293FFFEA1DD25CF1001477E8 /* KeyChoice.cpp in Sources */, - 293FFFEB1DD25CF1001477E8 /* KeyOctave.cpp in Sources */, - 293FFFEC1DD25CF1001477E8 /* KeyOctaveAttributes.cpp in Sources */, - 293FFFED1DD25CF1001477E8 /* KeyStep.cpp in Sources */, - 293FFFEE1DD25CF1001477E8 /* Kind.cpp in Sources */, - 293FFFEF1DD25CF1001477E8 /* KindAttributes.cpp in Sources */, - 293FFFF01DD25CF1001477E8 /* Laughing.cpp in Sources */, - 293FFFF11DD25CF1001477E8 /* LayoutGroup.cpp in Sources */, - 293FFFF21DD25CF1001477E8 /* LeftDivider.cpp in Sources */, - 293FFFF31DD25CF1001477E8 /* LeftMargin.cpp in Sources */, - 293FFFF41DD25CF1001477E8 /* Level.cpp in Sources */, - 293FFFF51DD25CF1001477E8 /* LevelAttributes.cpp in Sources */, - 293FFFF61DD25CF1001477E8 /* Line.cpp in Sources */, - 293FFFF71DD25CF1001477E8 /* LineWidth.cpp in Sources */, - 293FFFF81DD25CF1001477E8 /* LineWidthAttributes.cpp in Sources */, - 293FFFF91DD25CF1001477E8 /* Link.cpp in Sources */, - 293FFFFA1DD25CF1001477E8 /* LinkAttributes.cpp in Sources */, - 293FFFFB1DD25CF1001477E8 /* Lyric.cpp in Sources */, - 293FFFFC1DD25CF1001477E8 /* LyricAttributes.cpp in Sources */, - 293FFFFD1DD25CF1001477E8 /* LyricFont.cpp in Sources */, - 293FFFFE1DD25CF1001477E8 /* LyricFontAttributes.cpp in Sources */, - 293FFFFF1DD25CF1001477E8 /* LyricLanguage.cpp in Sources */, - 293F00001DD25CF1001477E8 /* LyricLanguageAttributes.cpp in Sources */, - 293F00011DD25CF1001477E8 /* LyricTextChoice.cpp in Sources */, - 293F00021DD25CF1001477E8 /* MeasureAttributes.cpp in Sources */, - 293F00031DD25CF1001477E8 /* MeasureDistance.cpp in Sources */, - 293F00041DD25CF1001477E8 /* MeasureLayout.cpp in Sources */, - 293F00051DD25CF1001477E8 /* MeasureNumbering.cpp in Sources */, - 293F00061DD25CF1001477E8 /* MeasureNumberingAttributes.cpp in Sources */, - 293F00071DD25CF1001477E8 /* MeasureRepeat.cpp in Sources */, - 293F00081DD25CF1001477E8 /* MeasureRepeatAttributes.cpp in Sources */, - 293F00091DD25CF1001477E8 /* MeasureStyle.cpp in Sources */, - 293F000A1DD25CF1001477E8 /* MeasureStyleAttributes.cpp in Sources */, - 293F000B1DD25CF1001477E8 /* MeasureStyleChoice.cpp in Sources */, - 293F000C1DD25CF1001477E8 /* Membrane.cpp in Sources */, - 293F000D1DD25CF1001477E8 /* Metal.cpp in Sources */, - 293F000E1DD25CF1001477E8 /* Metronome.cpp in Sources */, - 293F000F1DD25CF1001477E8 /* MetronomeAttributes.cpp in Sources */, - 293F00101DD25CF1001477E8 /* MetronomeBeam.cpp in Sources */, - 293F00111DD25CF1001477E8 /* MetronomeBeamAttributes.cpp in Sources */, - 293F00121DD25CF1001477E8 /* MetronomeDot.cpp in Sources */, - 293F00131DD25CF1001477E8 /* MetronomeNote.cpp in Sources */, - 293F00141DD25CF1001477E8 /* MetronomeRelation.cpp in Sources */, - 293F00151DD25CF1001477E8 /* MetronomeRelationGroup.cpp in Sources */, - 293F00161DD25CF1001477E8 /* MetronomeTuplet.cpp in Sources */, - 293F00171DD25CF1001477E8 /* MetronomeTupletAttributes.cpp in Sources */, - 293F00181DD25CF1001477E8 /* MetronomeType.cpp in Sources */, - 293F00191DD25CF1001477E8 /* MidiBank.cpp in Sources */, - 293F001A1DD25CF1001477E8 /* MidiChannel.cpp in Sources */, - 293F001B1DD25CF1001477E8 /* MidiDevice.cpp in Sources */, - 293F001C1DD25CF1001477E8 /* MidiDeviceAttributes.cpp in Sources */, - 293F001D1DD25CF1001477E8 /* MidiDeviceInstrumentGroup.cpp in Sources */, - 293F001E1DD25CF1001477E8 /* MidiInstrument.cpp in Sources */, - 293F001F1DD25CF1001477E8 /* MidiInstrumentAttributes.cpp in Sources */, - 293F00201DD25CF1001477E8 /* MidiName.cpp in Sources */, - 293F00211DD25CF1001477E8 /* MidiProgram.cpp in Sources */, - 293F00221DD25CF1001477E8 /* MidiUnpitched.cpp in Sources */, - 293F00231DD25CF1001477E8 /* Millimeters.cpp in Sources */, - 293F00241DD25CF1001477E8 /* Miscellaneous.cpp in Sources */, - 293F00251DD25CF1001477E8 /* MiscellaneousField.cpp in Sources */, - 293F00261DD25CF1001477E8 /* MiscellaneousFieldAttributes.cpp in Sources */, - 293F00271DD25CF1001477E8 /* Mode.cpp in Sources */, - 293F00281DD25CF1001477E8 /* Mordent.cpp in Sources */, - 293F00291DD25CF1001477E8 /* MordentAttributes.cpp in Sources */, - 293F002A1DD25CF1001477E8 /* MovementNumber.cpp in Sources */, - 293F002B1DD25CF1001477E8 /* MovementTitle.cpp in Sources */, - 293F002C1DD25CF1001477E8 /* MultipleRest.cpp in Sources */, - 293F002D1DD25CF1001477E8 /* MultipleRestAttributes.cpp in Sources */, - 293F002E1DD25CF1001477E8 /* MusicDataChoice.cpp in Sources */, - 293F002F1DD25CF1001477E8 /* MusicDataGroup.cpp in Sources */, - 293F00301DD25CF1001477E8 /* MusicFont.cpp in Sources */, - 293F00311DD25CF1001477E8 /* Mute.cpp in Sources */, - 293F00321DD25CF1001477E8 /* Natural.cpp in Sources */, - 293F00331DD25CF1001477E8 /* NonArpeggiate.cpp in Sources */, - 293F00341DD25CF1001477E8 /* NonArpeggiateAttributes.cpp in Sources */, - 293F00351DD25CF1001477E8 /* NonTraditionalKey.cpp in Sources */, - 293F00361DD25CF1001477E8 /* NormalDot.cpp in Sources */, - 293F00371DD25CF1001477E8 /* NormalNoteGroup.cpp in Sources */, - 293F00381DD25CF1001477E8 /* NormalNotes.cpp in Sources */, - 293F00391DD25CF1001477E8 /* NormalType.cpp in Sources */, - 293F003A1DD25CF1001477E8 /* NormalTypeNormalDotGroup.cpp in Sources */, - 293F003B1DD25CF1001477E8 /* Notations.cpp in Sources */, - 293F003C1DD25CF2001477E8 /* NotationsAttributes.cpp in Sources */, - 293F003D1DD25CF2001477E8 /* NotationsChoice.cpp in Sources */, - 293F003E1DD25CF2001477E8 /* Note.cpp in Sources */, - 293F003F1DD25CF2001477E8 /* NoteAttributes.cpp in Sources */, - 293F00401DD25CF2001477E8 /* NoteChoice.cpp in Sources */, - 293F00411DD25CF2001477E8 /* Notehead.cpp in Sources */, - 293F00421DD25CF2001477E8 /* NoteheadAttributes.cpp in Sources */, - 293F00431DD25CF2001477E8 /* NoteheadText.cpp in Sources */, - 293F00441DD25CF2001477E8 /* NoteheadTextChoice.cpp in Sources */, - 293F00451DD25CF2001477E8 /* NoteRelationNote.cpp in Sources */, - 293F00461DD25CF2001477E8 /* NoteSize.cpp in Sources */, - 293F00471DD25CF2001477E8 /* NoteSizeAttributes.cpp in Sources */, - 293F00481DD25CF2001477E8 /* Octave.cpp in Sources */, - 293F00491DD25CF2001477E8 /* OctaveChange.cpp in Sources */, - 293F004A1DD25CF2001477E8 /* OctaveShift.cpp in Sources */, - 293F004B1DD25CF2001477E8 /* OctaveShiftAttributes.cpp in Sources */, - 293F004C1DD25CF2001477E8 /* Offset.cpp in Sources */, - 293F004D1DD25CF2001477E8 /* OffsetAttributes.cpp in Sources */, - 293F004E1DD25CF2001477E8 /* OpenString.cpp in Sources */, - 293F004F1DD25CF2001477E8 /* Opus.cpp in Sources */, - 293F00501DD25CF2001477E8 /* OpusAttributes.cpp in Sources */, - 293F00511DD25CF2001477E8 /* Ornaments.cpp in Sources */, - 293F00521DD25CF2001477E8 /* OrnamentsChoice.cpp in Sources */, - 293F00531DD25CF2001477E8 /* OtherAppearance.cpp in Sources */, - 293F00541DD25CF2001477E8 /* OtherAppearanceAttributes.cpp in Sources */, - 293F00551DD25CF2001477E8 /* OtherArticulation.cpp in Sources */, - 293F00561DD25CF2001477E8 /* OtherArticulationAttributes.cpp in Sources */, - 293F00571DD25CF2001477E8 /* OtherDirection.cpp in Sources */, - 293F00581DD25CF2001477E8 /* OtherDirectionAttributes.cpp in Sources */, - 293F00591DD25CF2001477E8 /* OtherNotation.cpp in Sources */, - 293F005A1DD25CF2001477E8 /* OtherNotationAttributes.cpp in Sources */, - 293F005B1DD25CF2001477E8 /* OtherOrnament.cpp in Sources */, - 293F005C1DD25CF2001477E8 /* OtherOrnamentAttributes.cpp in Sources */, - 293F005D1DD25CF2001477E8 /* OtherPercussion.cpp in Sources */, - 293F005E1DD25CF2001477E8 /* OtherPlay.cpp in Sources */, - 293F005F1DD25CF2001477E8 /* OtherPlayAttributes.cpp in Sources */, - 293F00601DD25CF2001477E8 /* OtherTechnical.cpp in Sources */, - 293F00611DD25CF2001477E8 /* OtherTechnicalAttributes.cpp in Sources */, - 293F00621DD25CF2001477E8 /* PageHeight.cpp in Sources */, - 293F00631DD25CF2001477E8 /* PageLayout.cpp in Sources */, - 293F00641DD25CF2001477E8 /* PageMargins.cpp in Sources */, - 293F00651DD25CF2001477E8 /* PageMarginsAttributes.cpp in Sources */, - 293F00661DD25CF2001477E8 /* PageWidth.cpp in Sources */, - 293F00671DD25CF2001477E8 /* Pan.cpp in Sources */, - 293F00681DD25CF2001477E8 /* PartAbbreviation.cpp in Sources */, - 293F00691DD25CF2001477E8 /* PartAbbreviationAttributes.cpp in Sources */, - 293F006A1DD25CF2001477E8 /* PartAbbreviationDisplay.cpp in Sources */, - 293F006B1DD25CF2001477E8 /* PartAbbreviationDisplayAttributes.cpp in Sources */, - 293F006C1DD25CF2001477E8 /* PartAttributes.cpp in Sources */, - 293F006D1DD25CF2001477E8 /* PartGroup.cpp in Sources */, - 293F006E1DD25CF2001477E8 /* PartGroupAttributes.cpp in Sources */, - 293F006F1DD25CF2001477E8 /* PartGroupOrScorePart.cpp in Sources */, - 293F00701DD25CF2001477E8 /* PartList.cpp in Sources */, - 293F00711DD25CF2001477E8 /* PartName.cpp in Sources */, - 293F00721DD25CF2001477E8 /* PartNameAttributes.cpp in Sources */, - 293F00731DD25CF2001477E8 /* PartNameDisplay.cpp in Sources */, - 293F00741DD25CF2001477E8 /* PartNameDisplayAttributes.cpp in Sources */, - 293F00751DD25CF2001477E8 /* PartSymbol.cpp in Sources */, - 293F00761DD25CF2001477E8 /* PartSymbolAttributes.cpp in Sources */, - 293F00771DD25CF2001477E8 /* PartwiseMeasure.cpp in Sources */, - 293F00781DD25CF2001477E8 /* PartwisePart.cpp in Sources */, - 293F00791DD25CF2001477E8 /* Pedal.cpp in Sources */, - 293F007A1DD25CF2001477E8 /* PedalAlter.cpp in Sources */, - 293F007B1DD25CF2001477E8 /* PedalAttributes.cpp in Sources */, - 293F007C1DD25CF2001477E8 /* PedalStep.cpp in Sources */, - 293F007D1DD25CF2001477E8 /* PedalTuning.cpp in Sources */, - 293F007E1DD25CF2001477E8 /* Percussion.cpp in Sources */, - 293F007F1DD25CF2001477E8 /* PercussionAttributes.cpp in Sources */, - 293F00801DD25CF2001477E8 /* PercussionChoice.cpp in Sources */, - 293F00811DD25CF2001477E8 /* PerMinute.cpp in Sources */, - 293F00821DD25CF2001477E8 /* PerMinuteAttributes.cpp in Sources */, - 293F00831DD25CF2001477E8 /* PerMinuteOrBeatUnitChoice.cpp in Sources */, - 293F00841DD25CF2001477E8 /* Pitch.cpp in Sources */, - 293F00851DD25CF2001477E8 /* Pitched.cpp in Sources */, - 293F00861DD25CF2001477E8 /* Play.cpp in Sources */, - 293F00871DD25CF2001477E8 /* PlayAttributes.cpp in Sources */, - 293F00881DD25CF2001477E8 /* Plop.cpp in Sources */, - 293F00891DD25CF2001477E8 /* Pluck.cpp in Sources */, - 293F008A1DD25CF2001477E8 /* PluckAttributes.cpp in Sources */, - 293F008B1DD25CF2001477E8 /* PreBend.cpp in Sources */, - 293F008C1DD25CF2001477E8 /* Prefix.cpp in Sources */, - 293F008D1DD25CF2001477E8 /* PrefixAttributes.cpp in Sources */, - 293F008E1DD25CF2001477E8 /* PrincipalVoice.cpp in Sources */, - 293F008F1DD25CF2001477E8 /* PrincipalVoiceAttributes.cpp in Sources */, - 293F00901DD25CF2001477E8 /* Print.cpp in Sources */, - 293F00911DD25CF2001477E8 /* PrintAttributes.cpp in Sources */, - 293F00921DD25CF2001477E8 /* Properties.cpp in Sources */, - 293F00931DD25CF2001477E8 /* PullOff.cpp in Sources */, - 293F00941DD25CF2001477E8 /* PullOffAttributes.cpp in Sources */, - 293F00951DD25CF2001477E8 /* Rehearsal.cpp in Sources */, - 293F00961DD25CF2001477E8 /* RehearsalAttributes.cpp in Sources */, - 293F00971DD25CF2001477E8 /* Relation.cpp in Sources */, - 293F00981DD25CF2001477E8 /* RelationAttributes.cpp in Sources */, - 293F00991DD25CF2001477E8 /* Release.cpp in Sources */, - 293F009A1DD25CF2001477E8 /* Repeat.cpp in Sources */, - 293F009B1DD25CF2001477E8 /* RepeatAttributes.cpp in Sources */, - 293F009C1DD25CF2001477E8 /* Rest.cpp in Sources */, - 293F009D1DD25CF2001477E8 /* RestAttributes.cpp in Sources */, - 293F009E1DD25CF2001477E8 /* RightDivider.cpp in Sources */, - 293F009F1DD25CF2001477E8 /* RightMargin.cpp in Sources */, - 293F00A01DD25CF2001477E8 /* Rights.cpp in Sources */, - 293F00A11DD25CF2001477E8 /* RightsAttributes.cpp in Sources */, - 293F00A21DD25CF2001477E8 /* Root.cpp in Sources */, - 293F00A31DD25CF2001477E8 /* RootAlter.cpp in Sources */, - 293F00A41DD25CF2001477E8 /* RootAlterAttributes.cpp in Sources */, - 293F00A51DD25CF2001477E8 /* RootStep.cpp in Sources */, - 293F00A61DD25CF2001477E8 /* RootStepAttributes.cpp in Sources */, - 293F00A71DD25CF2001477E8 /* Scaling.cpp in Sources */, - 293F00A81DD25CF2001477E8 /* Schleifer.cpp in Sources */, - 293F00A91DD25CF2001477E8 /* Scoop.cpp in Sources */, - 293F00AA1DD25CF2001477E8 /* Scordatura.cpp in Sources */, - 293F00AB1DD25CF2001477E8 /* ScoreHeaderGroup.cpp in Sources */, - 293F00AC1DD25CF2001477E8 /* ScoreInstrument.cpp in Sources */, - 293F00AD1DD25CF2001477E8 /* ScoreInstrumentAttributes.cpp in Sources */, - 293F00AE1DD25CF2001477E8 /* ScorePart.cpp in Sources */, - 293F00AF1DD25CF2001477E8 /* ScorePartAttributes.cpp in Sources */, - 293F00B01DD25CF2001477E8 /* ScorePartwise.cpp in Sources */, - 293F00B11DD25CF2001477E8 /* ScorePartwiseAttributes.cpp in Sources */, - 293F00B21DD25CF2001477E8 /* ScoreTimewise.cpp in Sources */, - 293F00B31DD25CF2001477E8 /* ScoreTimewiseAttributes.cpp in Sources */, - 293F00B41DD25CF2001477E8 /* Segno.cpp in Sources */, - 293F00B51DD25CF2001477E8 /* SemiPitched.cpp in Sources */, - 293F00B61DD25CF2001477E8 /* SenzaMisura.cpp in Sources */, - 293F00B71DD25CF2001477E8 /* Shake.cpp in Sources */, - 293F00B81DD25CF2001477E8 /* Sign.cpp in Sources */, - 293F00B91DD25CF2001477E8 /* Slash.cpp in Sources */, - 293F00BA1DD25CF2001477E8 /* SlashAttributes.cpp in Sources */, - 293F00BB1DD25CF2001477E8 /* SlashDot.cpp in Sources */, - 293F00BC1DD25CF2001477E8 /* SlashType.cpp in Sources */, - 293F00BD1DD25CF2001477E8 /* Slide.cpp in Sources */, - 293F00BE1DD25CF2001477E8 /* SlideAttributes.cpp in Sources */, - 293F00BF1DD25CF2001477E8 /* Slur.cpp in Sources */, - 293F00C01DD25CF2001477E8 /* SlurAttributes.cpp in Sources */, - 293F00C11DD25CF2001477E8 /* SnapPizzicato.cpp in Sources */, - 293F00C21DD25CF2001477E8 /* Software.cpp in Sources */, - 293F00C31DD25CF2001477E8 /* Solo.cpp in Sources */, - 293F00C41DD25CF2001477E8 /* SoloOrEnsembleChoice.cpp in Sources */, - 293F00C51DD25CF2001477E8 /* Sound.cpp in Sources */, - 293F00C61DD25CF2001477E8 /* SoundAttributes.cpp in Sources */, - 293F00C71DD25CF2001477E8 /* SoundingPitch.cpp in Sources */, - 293F00C81DD25CF2001477E8 /* Source.cpp in Sources */, - 293F00C91DD25CF2001477E8 /* Spiccato.cpp in Sources */, - 293F00CA1DD25CF2001477E8 /* Staccatissimo.cpp in Sources */, - 293F00CB1DD25CF2001477E8 /* Staccato.cpp in Sources */, - 293F00CC1DD25CF2001477E8 /* Staff.cpp in Sources */, - 293F00CD1DD25CF2001477E8 /* StaffDetails.cpp in Sources */, - 293F00CE1DD25CF2001477E8 /* StaffDetailsAttributes.cpp in Sources */, - 293F00CF1DD25CF2001477E8 /* StaffDistance.cpp in Sources */, - 293F00D01DD25CF2001477E8 /* StaffLayout.cpp in Sources */, - 293F00D11DD25CF2001477E8 /* StaffLayoutAttributes.cpp in Sources */, - 293F00D21DD25CF2001477E8 /* StaffLines.cpp in Sources */, - 293F00D31DD25CF2001477E8 /* StaffSize.cpp in Sources */, - 292C3ADC1E8B13FD001A0CB9 /* WordsData.cpp in Sources */, - 293F00D41DD25CF2001477E8 /* StaffTuning.cpp in Sources */, - 293F00D51DD25CF2001477E8 /* StaffTuningAttributes.cpp in Sources */, - 293F00D61DD25CF2001477E8 /* StaffType.cpp in Sources */, - 293F00D71DD25CF2001477E8 /* Staves.cpp in Sources */, - 293F00D81DD25CF2001477E8 /* Stem.cpp in Sources */, - 293F00D91DD25CF2001477E8 /* StemAttributes.cpp in Sources */, - 293F00DA1DD25CF2001477E8 /* Step.cpp in Sources */, - 293F00DB1DD25CF2001477E8 /* Stick.cpp in Sources */, - 293F00DC1DD25CF2001477E8 /* StickAttributes.cpp in Sources */, - 293F00DD1DD25CF2001477E8 /* StickLocation.cpp in Sources */, - 293F00DE1DD25CF2001477E8 /* StickMaterial.cpp in Sources */, - 293F00DF1DD25CF2001477E8 /* StickType.cpp in Sources */, - 293F00E01DD25CF2001477E8 /* Stopped.cpp in Sources */, - 293F00E11DD25CF2001477E8 /* Stress.cpp in Sources */, - 293F00E21DD25CF2001477E8 /* String.cpp in Sources */, - 293F00E31DD25CF2001477E8 /* StringAttributes.cpp in Sources */, - 293F00E41DD25CF2001477E8 /* StringMute.cpp in Sources */, - 293F00E51DD25CF2001477E8 /* StringMuteAttributes.cpp in Sources */, - 293F00E61DD25CF2001477E8 /* StrongAccent.cpp in Sources */, - 293F00E71DD25CF2001477E8 /* StrongAccentAttributes.cpp in Sources */, - 293F00E81DD25CF2001477E8 /* Suffix.cpp in Sources */, - 293F00E91DD25CF2001477E8 /* SuffixAttributes.cpp in Sources */, - 293F00EA1DD25CF2001477E8 /* Supports.cpp in Sources */, - 293F00EB1DD25CF2001477E8 /* SupportsAttributes.cpp in Sources */, - 293F00EC1DD25CF2001477E8 /* Syllabic.cpp in Sources */, - 293F00ED1DD25CF2001477E8 /* SyllabicTextGroup.cpp in Sources */, - 293F00EE1DD25CF2001477E8 /* SystemDistance.cpp in Sources */, - 293F00EF1DD25CF2001477E8 /* SystemDividers.cpp in Sources */, - 293F00F01DD25CF2001477E8 /* SystemLayout.cpp in Sources */, - 293F00F11DD25CF2001477E8 /* SystemMargins.cpp in Sources */, - 293F00F21DD25CF2001477E8 /* Tap.cpp in Sources */, - 293F00F31DD25CF2001477E8 /* TapAttributes.cpp in Sources */, - 293F00F41DD25CF2001477E8 /* Technical.cpp in Sources */, - 293F00F51DD25CF2001477E8 /* TechnicalChoice.cpp in Sources */, - 293F00F61DD25CF2001477E8 /* Tenths.cpp in Sources */, - 293F00F71DD25CF2001477E8 /* Tenuto.cpp in Sources */, - 293F00F81DD25CF2001477E8 /* Text.cpp in Sources */, - 293F00F91DD25CF2001477E8 /* TextAttributes.cpp in Sources */, - 293F00FA1DD25CF2001477E8 /* ThumbPosition.cpp in Sources */, - 293F00FB1DD25CF2001477E8 /* Tie.cpp in Sources */, - 293F00FC1DD25CF2001477E8 /* TieAttributes.cpp in Sources */, - 293F00FD1DD25CF2001477E8 /* Tied.cpp in Sources */, - 293F00FE1DD25CF2001477E8 /* TiedAttributes.cpp in Sources */, - 293F00FF1DD25CF2001477E8 /* Time.cpp in Sources */, - 293F01001DD25CF2001477E8 /* TimeAttributes.cpp in Sources */, - 293F01011DD25CF2001477E8 /* TimeChoice.cpp in Sources */, - 293F01021DD25CF2001477E8 /* TimeModification.cpp in Sources */, - 293F01031DD25CF2001477E8 /* TimeModificationNormalTypeNormalDot.cpp in Sources */, - 293F01041DD25CF2001477E8 /* TimeRelation.cpp in Sources */, - 293F01051DD25CF2001477E8 /* TimeSignatureGroup.cpp in Sources */, - 293F01061DD25CF2001477E8 /* TimewiseMeasure.cpp in Sources */, - 293F01071DD25CF2001477E8 /* TimewisePart.cpp in Sources */, - 293F01081DD25CF2001477E8 /* Timpani.cpp in Sources */, - 293F01091DD25CF2001477E8 /* Toe.cpp in Sources */, - 293F010A1DD25CF2001477E8 /* ToeAttributes.cpp in Sources */, - 293F010B1DD25CF2001477E8 /* TopMargin.cpp in Sources */, - 293F010C1DD25CF2001477E8 /* TopSystemDistance.cpp in Sources */, - 293F010D1DD25CF2001477E8 /* TouchingPitch.cpp in Sources */, - 293F010E1DD25CF2001477E8 /* TraditionalKey.cpp in Sources */, - 293F010F1DD25CF2001477E8 /* Transpose.cpp in Sources */, - 293F01101DD25CF2001477E8 /* TransposeAttributes.cpp in Sources */, - 293F01111DD25CF2001477E8 /* Tremolo.cpp in Sources */, - 293F01121DD25CF2001477E8 /* TremoloAttributes.cpp in Sources */, - 293F01131DD25CF2001477E8 /* TrillMark.cpp in Sources */, - 293F01141DD25CF2001477E8 /* TripleTongue.cpp in Sources */, - 293F01151DD25CF2001477E8 /* TuningAlter.cpp in Sources */, - 293F01161DD25CF2001477E8 /* TuningOctave.cpp in Sources */, - 293F01171DD25CF2001477E8 /* TuningStep.cpp in Sources */, - 293F01181DD25CF2001477E8 /* Tuplet.cpp in Sources */, - 293F01191DD25CF2001477E8 /* TupletActual.cpp in Sources */, - 293F011A1DD25CF2001477E8 /* TupletAttributes.cpp in Sources */, - 293F011B1DD25CF2001477E8 /* TupletDot.cpp in Sources */, - 293F011C1DD25CF2001477E8 /* TupletDotAttributes.cpp in Sources */, - 293F011D1DD25CF2001477E8 /* TupletNormal.cpp in Sources */, - 293F011E1DD25CF2001477E8 /* TupletNumber.cpp in Sources */, - 293F011F1DD25CF2001477E8 /* TupletNumberAttributes.cpp in Sources */, - 293F01201DD25CF2001477E8 /* TupletType.cpp in Sources */, - 293F01211DD25CF2001477E8 /* TupletTypeAttributes.cpp in Sources */, - 293F01221DD25CF2001477E8 /* Turn.cpp in Sources */, - 293F01231DD25CF2001477E8 /* TurnAttributes.cpp in Sources */, - 293F01241DD25CF2001477E8 /* Type.cpp in Sources */, - 293F01251DD25CF2001477E8 /* TypeAttributes.cpp in Sources */, - 293F01261DD25CF2001477E8 /* Unpitched.cpp in Sources */, - 293F01271DD25CF2001477E8 /* Unstress.cpp in Sources */, - 293F01281DD25CF2001477E8 /* UpBow.cpp in Sources */, - 293F01291DD25CF2001477E8 /* VerticalTurn.cpp in Sources */, - 293F012A1DD25CF2001477E8 /* VirtualInstrument.cpp in Sources */, - 293F012B1DD25CF2001477E8 /* VirtualLibrary.cpp in Sources */, - 293F012C1DD25CF2001477E8 /* VirtualName.cpp in Sources */, - 293F012D1DD25CF2001477E8 /* Voice.cpp in Sources */, - 293F012E1DD25CF2001477E8 /* Volume.cpp in Sources */, - 293F012F1DD25CF2001477E8 /* WavyLine.cpp in Sources */, - 293F01301DD25CF2001477E8 /* WavyLineAttributes.cpp in Sources */, - 293F01311DD25CF2001477E8 /* Wedge.cpp in Sources */, - 293F01321DD25CF2001477E8 /* WedgeAttributes.cpp in Sources */, - 293F01331DD25CF2001477E8 /* WithBar.cpp in Sources */, - 293F01341DD25CF2001477E8 /* WithBarAttributes.cpp in Sources */, - 293F01351DD25CF2001477E8 /* Wood.cpp in Sources */, - 293F01361DD25CF2001477E8 /* WordFont.cpp in Sources */, - 293F01371DD25CF2001477E8 /* Words.cpp in Sources */, - 293F01381DD25CF2001477E8 /* WordsAttributes.cpp in Sources */, - 293F01391DD25CF2001477E8 /* Work.cpp in Sources */, - 293F013A1DD25CF2001477E8 /* WorkNumber.cpp in Sources */, - 293F013B1DD25CF2001477E8 /* WorkTitle.cpp in Sources */, - 293F013C1DD25CF2001477E8 /* EmptyPrintObjectStyleAlignAttributes.cpp in Sources */, - 293F013D1DD25CF2001477E8 /* Enums.cpp in Sources */, - 293F013E1DD25CF2001477E8 /* FontSize.cpp in Sources */, - 293F013F1DD25CF2001477E8 /* FromXElement.cpp in Sources */, - 293F01401DD25CF2001477E8 /* Integers.cpp in Sources */, - 293F01411DD25CF2001477E8 /* NumberOrNormal.cpp in Sources */, - 293F01421DD25CF2001477E8 /* PositiveIntegerOrEmpty.cpp in Sources */, - 293F01431DD25CF2001477E8 /* ScoreConversions.cpp in Sources */, - 293F01441DD25CF2001477E8 /* Strings.cpp in Sources */, - 293F01451DD25CF2001477E8 /* YesNoNumber.cpp in Sources */, - 293F01461DD25CF2001477E8 /* DynamicsWriter.cpp in Sources */, - 293F01471DD25CF2001477E8 /* AccidentalMarkFunctions.cpp in Sources */, - 293F01481DD25CF2001477E8 /* ArticulationsFunctions.cpp in Sources */, - 293F01491DD25CF2001477E8 /* Converter.cpp in Sources */, - 293F014A1DD25CF2001477E8 /* Cursor.cpp in Sources */, - 293F014B1DD25CF2001477E8 /* DirectionReader.cpp in Sources */, - 293F014C1DD25CF2001477E8 /* DirectionWriter.cpp in Sources */, - 293F014D1DD25CF2001477E8 /* DynamicsReader.cpp in Sources */, - 293F014E1DD25CF2001477E8 /* EncodingFunctions.cpp in Sources */, - 293F014F1DD25CF2001477E8 /* LayoutFunctions.cpp in Sources */, - 293F01501DD25CF2001477E8 /* LcmGcd.cpp in Sources */, - 293F01511DD25CF2001477E8 /* MeasureReader.cpp in Sources */, - 293F01521DD25CF2001477E8 /* MeasureWriter.cpp in Sources */, - 293F01531DD25CF2001477E8 /* MetronomeReader.cpp in Sources */, - 293F01541DD25CF2001477E8 /* NotationsWriter.cpp in Sources */, - 293F01551DD25CF2001477E8 /* NoteFunctions.cpp in Sources */, - 293F01561DD25CF2001477E8 /* NoteReader.cpp in Sources */, - 293F01571DD25CF2001477E8 /* NoteWriter.cpp in Sources */, - 293F01581DD25CF2001477E8 /* OrnamentsFunctions.cpp in Sources */, - 293F01591DD25CF2001477E8 /* PageTextFunctions.cpp in Sources */, - 293F015A1DD25CF2001477E8 /* PartReader.cpp in Sources */, - 293F015B1DD25CF2001477E8 /* PartWriter.cpp in Sources */, - 293F015C1DD25CF2001477E8 /* PropertiesWriter.cpp in Sources */, - 293F015D1DD25CF2001477E8 /* ScoreReader.cpp in Sources */, - 293F015E1DD25CF2001477E8 /* ScoreWriter.cpp in Sources */, - 293F015F1DD25CF2001477E8 /* StaffFunctions.cpp in Sources */, - 293F01601DD25CF2001477E8 /* TechnicalFunctions.cpp in Sources */, - 293F01611DD25CF2001477E8 /* TimeReader.cpp in Sources */, - 293F01621DD25CF2001477E8 /* TupletReader.cpp in Sources */, - 293F01631DD25CF2001477E8 /* pugixml.cpp in Sources */, - 293F01641DD25CF2001477E8 /* Utility.cpp in Sources */, - 293F01651DD25CF2001477E8 /* UtilityImpl.cpp in Sources */, - 293F01661DD25CF2001477E8 /* PugiAttribute.cpp in Sources */, - 293F01671DD25CF2001477E8 /* PugiAttributeIterImpl.cpp in Sources */, - 293F01681DD25CF2001477E8 /* PugiDoc.cpp in Sources */, - 293F01691DD25CF2001477E8 /* PugiElement.cpp in Sources */, - 293F016A1DD25CF2001477E8 /* PugiElementIterImpl.cpp in Sources */, - 293F016B1DD25CF2001477E8 /* XAttributeIterator.cpp in Sources */, - 293F016C1DD25CF2001477E8 /* XElementIterator.cpp in Sources */, - 293F016D1DD25CF2001477E8 /* XFactory.cpp in Sources */, + 29A8F2381EF0476800AD2478 /* OtherNotation.cpp in Sources */, + 29A8F2421EF0476800AD2478 /* OtherNotationAttributes.cpp in Sources */, + 29A8E2F71EF0476300AD2478 /* DurationData.cpp in Sources */, + 29A8EE3C1EF0476600AD2478 /* LeftMargin.cpp in Sources */, + 29A8EAF41EF0476500AD2478 /* FrameFrets.cpp in Sources */, + 29A8EE321EF0476600AD2478 /* LeftDivider.cpp in Sources */, + 29A8F03A1EF0476700AD2478 /* MiscellaneousFieldAttributes.cpp in Sources */, + 29A8E3BA1EF0476300AD2478 /* Color.cpp in Sources */, + 29A8FA121EF0476C00AD2478 /* TupletTypeAttributes.cpp in Sources */, + 29A8F0081EF0476700AD2478 /* MidiProgram.cpp in Sources */, + 29A8EE5A1EF0476600AD2478 /* Line.cpp in Sources */, + 29A8E8601EF0476400AD2478 /* DirectiveAttributes.cpp in Sources */, + 29A8F6751EF0476A00AD2478 /* Sound.cpp in Sources */, + 29A8EAE01EF0476500AD2478 /* Frame.cpp in Sources */, + 29A8F01C1EF0476700AD2478 /* Millimeters.cpp in Sources */, + 29A8E6941EF0476300AD2478 /* Cancel.cpp in Sources */, + 29A8E5361EF0476300AD2478 /* Barre.cpp in Sources */, + 29A8F91D1EF0476C00AD2478 /* Toe.cpp in Sources */, + 29A8EB3A1EF0476500AD2478 /* Function.cpp in Sources */, + 29A8E6DA1EF0476400AD2478 /* ClefAttributes.cpp in Sources */, + 29A8EB261EF0476500AD2478 /* FullNoteGroup.cpp in Sources */, + 29A8F7011EF0476B00AD2478 /* StaffSize.cpp in Sources */, + 29A8E41E1EF0476300AD2478 /* AccidentalMark.cpp in Sources */, + 29A8EFE01EF0476700AD2478 /* MidiDeviceInstrumentGroup.cpp in Sources */, + 29A8E73E1EF0476400AD2478 /* CreditType.cpp in Sources */, + 29A8F0E41EF0476700AD2478 /* NormalNoteGroup.cpp in Sources */, + 29A8FB0C1EF0476D00AD2478 /* WorkNumber.cpp in Sources */, + 29A8EFD61EF0476700AD2478 /* MidiDeviceAttributes.cpp in Sources */, + 29A8EAA41EF0476500AD2478 /* Fingernails.cpp in Sources */, + 29A8ED6A1EF0476600AD2478 /* InterchangeableAttributes.cpp in Sources */, + 29A8E9001EF0476400AD2478 /* Dynamics.cpp in Sources */, + 29A8EC201EF0476500AD2478 /* GroupTime.cpp in Sources */, + 29A8FA761EF0476D00AD2478 /* VirtualLibrary.cpp in Sources */, + 29A8EA4A1EF0476500AD2478 /* FermataAttributes.cpp in Sources */, + 29A8F6CF1EF0476A00AD2478 /* StaffDetailsAttributes.cpp in Sources */, + 29A8F5DF1EF0476A00AD2478 /* SenzaMisura.cpp in Sources */, + 29A8EAC21EF0476500AD2478 /* Footnote.cpp in Sources */, + 29A8E3F61EF0476300AD2478 /* ElementInterface.cpp in Sources */, + 29A8F70B1EF0476B00AD2478 /* StaffTuning.cpp in Sources */, + 29A8E5401EF0476300AD2478 /* BarreAttributes.cpp in Sources */, + 29A8F1661EF0476800AD2478 /* NoteheadTextChoice.cpp in Sources */, + 29A8E8101EF0476400AD2478 /* DelayedTurn.cpp in Sources */, + 29A8EB581EF0476500AD2478 /* Glissando.cpp in Sources */, + 29A8F06C1EF0476700AD2478 /* MovementTitle.cpp in Sources */, + 29A8E95A1EF0476400AD2478 /* ElisionSyllabicGroup.cpp in Sources */, + 29A8EA2C1EF0476500AD2478 /* Feature.cpp in Sources */, + 29A8EC341EF0476500AD2478 /* HammerOnAttributes.cpp in Sources */, + 29A8F4451EF0476900AD2478 /* PrefixAttributes.cpp in Sources */, + 29A8E6581EF0476300AD2478 /* BottomMargin.cpp in Sources */, + 29A8F0761EF0476700AD2478 /* MultipleRest.cpp in Sources */, + 29A8E45A1EF0476300AD2478 /* AccordionHigh.cpp in Sources */, + 29A8EB1C1EF0476500AD2478 /* FretAttributes.cpp in Sources */, + 29A8E5721EF0476300AD2478 /* BassAlter.cpp in Sources */, + 29A8EE961EF0476600AD2478 /* LyricAttributes.cpp in Sources */, + 29A8F2601EF0476800AD2478 /* OtherPercussion.cpp in Sources */, + 29A8E9F01EF0476500AD2478 /* EndParagraph.cpp in Sources */, + 29A8F6E31EF0476A00AD2478 /* StaffLayout.cpp in Sources */, + 29A8F0621EF0476700AD2478 /* MovementNumber.cpp in Sources */, + 29A8F4B31EF0476900AD2478 /* RelationAttributes.cpp in Sources */, + 29A8F2E21EF0476800AD2478 /* PartAbbreviationDisplay.cpp in Sources */, + 29A8E5041EF0476300AD2478 /* Artificial.cpp in Sources */, + 29A8EA9A1EF0476500AD2478 /* FingeringAttributes.cpp in Sources */, + 29A8F7B51EF0476B00AD2478 /* StringMuteAttributes.cpp in Sources */, + 29A8E7AC1EF0476400AD2478 /* Degree.cpp in Sources */, + 29A8F3461EF0476800AD2478 /* PartNameDisplayAttributes.cpp in Sources */, + 29A8E89C1EF0476400AD2478 /* DisplayTextOrAccidentalText.cpp in Sources */, + 29A8FB7A1EF0476D00AD2478 /* PreciseDecimal.cpp in Sources */, + 29A8EF901EF0476700AD2478 /* MetronomeRelationGroup.cpp in Sources */, + 29A8F4E51EF0476900AD2478 /* RestAttributes.cpp in Sources */, + 29A8EF361EF0476700AD2478 /* Membrane.cpp in Sources */, + 29A8ED7E1EF0476600AD2478 /* InversionAttributes.cpp in Sources */, + 29A8EEC81EF0476600AD2478 /* LyricTextChoice.cpp in Sources */, + 29A8E6121EF0476300AD2478 /* BeatUnitPerOrNoteRelationNoteChoice.cpp in Sources */, + 29A8FCBF1EF0476E00AD2478 /* ScoreWriter.cpp in Sources */, + 29A8F22E1EF0476800AD2478 /* OtherDirectionAttributes.cpp in Sources */, + 29A8F9811EF0476C00AD2478 /* TrillMark.cpp in Sources */, + 29A8EEDC1EF0476600AD2478 /* MeasureDistance.cpp in Sources */, + 29A8F2241EF0476800AD2478 /* OtherDirection.cpp in Sources */, + 29A8FC151EF0476E00AD2478 /* LcmGcd.cpp in Sources */, + 29A8F3821EF0476900AD2478 /* PedalAlter.cpp in Sources */, + 29A8F8191EF0476B00AD2478 /* SystemDividers.cpp in Sources */, + 29A8FD9B1EF0476F00AD2478 /* XElementIterator.cpp in Sources */, + 29A8E8EC1EF0476400AD2478 /* DownBow.cpp in Sources */, + 29A8F7E71EF0476B00AD2478 /* Supports.cpp in Sources */, + 29A8F4D11EF0476900AD2478 /* RepeatAttributes.cpp in Sources */, + 29A8F3641EF0476900AD2478 /* PartwiseMeasure.cpp in Sources */, + 29A8FAE41EF0476D00AD2478 /* WordFont.cpp in Sources */, + 29A8EA221EF0476500AD2478 /* Falloff.cpp in Sources */, + 29A8ECA21EF0476600AD2478 /* HarpPedalsAttributes.cpp in Sources */, + 29A8EBA81EF0476500AD2478 /* GroupAbbreviationDisplay.cpp in Sources */, + 29A8E9DC1EF0476500AD2478 /* EndingAttributes.cpp in Sources */, + 29A8F8CD1EF0476C00AD2478 /* TimeChoice.cpp in Sources */, + 29A8E5FE1EF0476300AD2478 /* BeatUnitGroup.cpp in Sources */, + 29A8EA681EF0476500AD2478 /* FiguredBass.cpp in Sources */, + 29A8F0941EF0476700AD2478 /* MusicDataGroup.cpp in Sources */, + 29A8F5531EF0476A00AD2478 /* Schleifer.cpp in Sources */, + 29A8EBC61EF0476500AD2478 /* GroupBarlineAttributes.cpp in Sources */, + 29A8EF9A1EF0476700AD2478 /* MetronomeTuplet.cpp in Sources */, + 29A8F7831EF0476B00AD2478 /* Stopped.cpp in Sources */, + 29A8F8FF1EF0476C00AD2478 /* TimewiseMeasure.cpp in Sources */, + 29A8F6571EF0476A00AD2478 /* Software.cpp in Sources */, + 29A8F1701EF0476800AD2478 /* NoteRelationNote.cpp in Sources */, + 29A8E4BE1EF0476300AD2478 /* Arrow.cpp in Sources */, + 29A8F29C1EF0476800AD2478 /* PageLayout.cpp in Sources */, + 29A8F08A1EF0476700AD2478 /* MusicDataChoice.cpp in Sources */, + 29A8F7FB1EF0476B00AD2478 /* Syllabic.cpp in Sources */, + 29A8F8B91EF0476C00AD2478 /* Time.cpp in Sources */, + 29A8E3A61EF0476300AD2478 /* WordsData.cpp in Sources */, + 29A8ED741EF0476600AD2478 /* Inversion.cpp in Sources */, + 29A8EAB81EF0476500AD2478 /* FirstFretAttributes.cpp in Sources */, + 29A8E5541EF0476300AD2478 /* BarStyleAttributes.cpp in Sources */, + 29A8E5181EF0476300AD2478 /* Backup.cpp in Sources */, + 29A8E84C1EF0476400AD2478 /* DirectionType.cpp in Sources */, + 29A8FCD31EF0476E00AD2478 /* StaffFunctions.cpp in Sources */, + 29A8FBDE1EF0476E00AD2478 /* DirectionWriter.cpp in Sources */, + 29A8F18E1EF0476800AD2478 /* Octave.cpp in Sources */, + 29A8EFC21EF0476700AD2478 /* MidiChannel.cpp in Sources */, + 29A8FD461EF0476E00AD2478 /* PugiAttribute.cpp in Sources */, + 29A8F6251EF0476A00AD2478 /* Slide.cpp in Sources */, + 29A8E8741EF0476400AD2478 /* DisplayStep.cpp in Sources */, + 29A8F67F1EF0476A00AD2478 /* SoundAttributes.cpp in Sources */, + 29A8E7701EF0476400AD2478 /* CueNoteGroup.cpp in Sources */, + 29A8F2741EF0476800AD2478 /* OtherPlayAttributes.cpp in Sources */, + 29A8EE821EF0476600AD2478 /* LinkAttributes.cpp in Sources */, + 29A8EDBA1EF0476600AD2478 /* Key.cpp in Sources */, + 29A8F4221EF0476900AD2478 /* PluckAttributes.cpp in Sources */, + 29A8EB441EF0476500AD2478 /* FunctionAttributes.cpp in Sources */, + 29A8EF7C1EF0476700AD2478 /* MetronomeNote.cpp in Sources */, + 29A8F4181EF0476900AD2478 /* Pluck.cpp in Sources */, + 29A8E8881EF0476400AD2478 /* DisplayText.cpp in Sources */, + 29A8E3CE1EF0476300AD2478 /* Decimals.cpp in Sources */, + 29A8F9451EF0476C00AD2478 /* TouchingPitch.cpp in Sources */, + 29A8E8A61EF0476400AD2478 /* Distance.cpp in Sources */, + 29A8ECC01EF0476600AD2478 /* Hole.cpp in Sources */, + 29A8F4DB1EF0476900AD2478 /* Rest.cpp in Sources */, + 29A8EF541EF0476700AD2478 /* MetronomeAttributes.cpp in Sources */, + 29A8FA6C1EF0476D00AD2478 /* VirtualInstrument.cpp in Sources */, + 29A8E6B21EF0476400AD2478 /* Chord.cpp in Sources */, + 29A8E9781EF0476400AD2478 /* EmptyLineAttributes.cpp in Sources */, + 29A8F1CA1EF0476800AD2478 /* OpenString.cpp in Sources */, + 29A8EF2C1EF0476700AD2478 /* MeasureStyleChoice.cpp in Sources */, + 29A8FB5C1EF0476D00AD2478 /* Integers.cpp in Sources */, + 29A8F4811EF0476900AD2478 /* PullOff.cpp in Sources */, + 29A8F15C1EF0476800AD2478 /* NoteheadText.cpp in Sources */, + 29A8E7D41EF0476400AD2478 /* DegreeType.cpp in Sources */, + 29A8F3A01EF0476900AD2478 /* PedalTuning.cpp in Sources */, + 29A8F93B1EF0476C00AD2478 /* TopSystemDistance.cpp in Sources */, + 29A8F2101EF0476800AD2478 /* OtherArticulation.cpp in Sources */, + 29A8F82D1EF0476B00AD2478 /* SystemMargins.cpp in Sources */, + 29A8F3501EF0476800AD2478 /* PartSymbol.cpp in Sources */, + 29A8F5D51EF0476A00AD2478 /* SemiPitched.cpp in Sources */, + 29A8F17A1EF0476800AD2478 /* NoteSize.cpp in Sources */, + 29A8F2C41EF0476800AD2478 /* Pan.cpp in Sources */, + 29A8EA861EF0476500AD2478 /* FigureNumberAttributes.cpp in Sources */, + 29A8FD641EF0476F00AD2478 /* PugiElement.cpp in Sources */, + 29A8FBFC1EF0476E00AD2478 /* EncodingFunctions.cpp in Sources */, + 29A8EC661EF0476500AD2478 /* HarmonicInfoChoice.cpp in Sources */, + 29A8E3381EF0476300AD2478 /* NoteData.cpp in Sources */, + 29A8ED421EF0476600AD2478 /* InstrumentName.cpp in Sources */, + 29A8E9A01EF0476400AD2478 /* EncoderAttributes.cpp in Sources */, + 29A8EA401EF0476500AD2478 /* Fermata.cpp in Sources */, + 29A8E5CC1EF0476300AD2478 /* BeatRepeatAttributes.cpp in Sources */, + 29A8FAB21EF0476D00AD2478 /* Wedge.cpp in Sources */, + 29A8FABC1EF0476D00AD2478 /* WedgeAttributes.cpp in Sources */, + 29A8F6D91EF0476A00AD2478 /* StaffDistance.cpp in Sources */, + 29A8E4821EF0476300AD2478 /* AccordionRegistrationAttributes.cpp in Sources */, + 29A8F6111EF0476A00AD2478 /* SlashDot.cpp in Sources */, + 29A8E75C1EF0476400AD2478 /* CreditWordsGroup.cpp in Sources */, + 29A8F55D1EF0476A00AD2478 /* Scoop.cpp in Sources */, + 29A8F7D31EF0476B00AD2478 /* Suffix.cpp in Sources */, + 29A8F9BD1EF0476C00AD2478 /* TupletActual.cpp in Sources */, + 29A8E9AA1EF0476400AD2478 /* Encoding.cpp in Sources */, + 29A8E6081EF0476300AD2478 /* BeatUnitPer.cpp in Sources */, + 29A8E77A1EF0476400AD2478 /* Damp.cpp in Sources */, + 29A8F4BD1EF0476900AD2478 /* Release.cpp in Sources */, + 29A8F7291EF0476B00AD2478 /* Staves.cpp in Sources */, + 29A8F3281EF0476800AD2478 /* PartName.cpp in Sources */, + 29A8F6BB1EF0476A00AD2478 /* Staff.cpp in Sources */, + 29A8F0BC1EF0476700AD2478 /* NonArpeggiate.cpp in Sources */, + 29A8EBB21EF0476500AD2478 /* GroupAbbreviationDisplayAttributes.cpp in Sources */, + 29A8F5671EF0476A00AD2478 /* Scordatura.cpp in Sources */, + 29A8F58F1EF0476A00AD2478 /* ScorePart.cpp in Sources */, + 29A8F0301EF0476700AD2478 /* MiscellaneousField.cpp in Sources */, + 29A8E3561EF0476300AD2478 /* PitchData.cpp in Sources */, + 29A8F9D11EF0476C00AD2478 /* TupletDot.cpp in Sources */, + 29A8E8921EF0476400AD2478 /* DisplayTextAttributes.cpp in Sources */, + 29A8FAF81EF0476D00AD2478 /* WordsAttributes.cpp in Sources */, + 29A8ECDE1EF0476600AD2478 /* HoleClosedAttributes.cpp in Sources */, + 29A8E6C61EF0476400AD2478 /* CircularArrow.cpp in Sources */, + 29A8F98B1EF0476C00AD2478 /* TripleTongue.cpp in Sources */, + 29A8F33C1EF0476800AD2478 /* PartNameDisplay.cpp in Sources */, + 29A8F0C61EF0476700AD2478 /* NonArpeggiateAttributes.cpp in Sources */, + 29A8F44F1EF0476900AD2478 /* PrincipalVoice.cpp in Sources */, + 29A8F6ED1EF0476A00AD2478 /* StaffLayoutAttributes.cpp in Sources */, + 29A8FAA81EF0476D00AD2478 /* WavyLineAttributes.cpp in Sources */, + 29A8EEE61EF0476600AD2478 /* MeasureLayout.cpp in Sources */, + 29A8E7DE1EF0476400AD2478 /* DegreeTypeAttributes.cpp in Sources */, + 29A8EA541EF0476500AD2478 /* Fifths.cpp in Sources */, + 29A8FC421EF0476E00AD2478 /* MetronomeReader.cpp in Sources */, + 29A8F5CB1EF0476A00AD2478 /* Segno.cpp in Sources */, + 29A8FA441EF0476C00AD2478 /* Unpitched.cpp in Sources */, + 29A8F5B71EF0476A00AD2478 /* ScoreTimewise.cpp in Sources */, + 29A8EEA01EF0476600AD2478 /* LyricFont.cpp in Sources */, + 29A8EEB41EF0476600AD2478 /* LyricLanguage.cpp in Sources */, + 29A8F0801EF0476700AD2478 /* MultipleRestAttributes.cpp in Sources */, + 29A8FC791EF0476E00AD2478 /* OrnamentsFunctions.cpp in Sources */, + 29A8F7C91EF0476B00AD2478 /* StrongAccentAttributes.cpp in Sources */, + 29A8FD3C1EF0476E00AD2478 /* UtilityImpl.cpp in Sources */, + 29A8ED381EF0476600AD2478 /* InstrumentAttributes.cpp in Sources */, + 29A8E4C81EF0476300AD2478 /* ArrowAttributes.cpp in Sources */, + 29A8E8C41EF0476400AD2478 /* Doit.cpp in Sources */, + 29A8E43C1EF0476300AD2478 /* AccidentalTextAttributes.cpp in Sources */, + 29A8E9FA1EF0476500AD2478 /* Ensemble.cpp in Sources */, + 29A8E4321EF0476300AD2478 /* AccidentalText.cpp in Sources */, + 29A8FB661EF0476D00AD2478 /* NumberOrNormal.cpp in Sources */, + 29A8ED9C1EF0476600AD2478 /* InvertedTurn.cpp in Sources */, + 29A8F5031EF0476900AD2478 /* Rights.cpp in Sources */, + 29A8F2A61EF0476800AD2478 /* PageMargins.cpp in Sources */, + 29A8F4A91EF0476900AD2478 /* Relation.cpp in Sources */, + 29A8F2BA1EF0476800AD2478 /* PageWidth.cpp in Sources */, + 29A8F8691EF0476B00AD2478 /* Tenuto.cpp in Sources */, + 29A8FC2E1EF0476E00AD2478 /* MeasureReader.cpp in Sources */, + 29A8F4C71EF0476900AD2478 /* Repeat.cpp in Sources */, + 29A8F1F21EF0476800AD2478 /* OrnamentsChoice.cpp in Sources */, + 29A8F04E1EF0476700AD2478 /* Mordent.cpp in Sources */, + 29A8ECE81EF0476600AD2478 /* HoleShape.cpp in Sources */, + 29A8FA081EF0476C00AD2478 /* TupletType.cpp in Sources */, + 29A8F8551EF0476B00AD2478 /* TechnicalChoice.cpp in Sources */, + 29A8F46D1EF0476900AD2478 /* PrintAttributes.cpp in Sources */, + 29A8F53F1EF0476A00AD2478 /* RootStepAttributes.cpp in Sources */, + 29A8F6611EF0476A00AD2478 /* Solo.cpp in Sources */, + 29A8F5211EF0476900AD2478 /* RootAlter.cpp in Sources */, + 29A8E57C1EF0476300AD2478 /* BassAlterAttributes.cpp in Sources */, + 29A8E5F41EF0476300AD2478 /* BeatUnitDot.cpp in Sources */, + 29A8EC701EF0476500AD2478 /* HarmonicTypeChoice.cpp in Sources */, + 29A8F8871EF0476B00AD2478 /* ThumbPosition.cpp in Sources */, + 29A8FB021EF0476D00AD2478 /* Work.cpp in Sources */, + 29A8EDD81EF0476600AD2478 /* KeyAttributes.cpp in Sources */, + 29A8F6C51EF0476A00AD2478 /* StaffDetails.cpp in Sources */, + 29A8E50E1EF0476300AD2478 /* AttributesIterface.cpp in Sources */, + 29A8F8F51EF0476C00AD2478 /* TimeSignatureGroup.cpp in Sources */, + 29A8F9A91EF0476C00AD2478 /* TuningStep.cpp in Sources */, + 29A8E54A1EF0476300AD2478 /* BarStyle.cpp in Sources */, + 29A8EBE41EF0476500AD2478 /* GroupName.cpp in Sources */, + 29A8E4501EF0476300AD2478 /* AccordAttributes.cpp in Sources */, + 29A8E7521EF0476400AD2478 /* CreditWordsAttributes.cpp in Sources */, + 29A8EFB81EF0476700AD2478 /* MidiBank.cpp in Sources */, + 29A8EDB01EF0476600AD2478 /* Ipa.cpp in Sources */, + 29A8E6BC1EF0476400AD2478 /* Chromatic.cpp in Sources */, + 29A8EB121EF0476500AD2478 /* Fret.cpp in Sources */, + 29A8EE281EF0476600AD2478 /* LayoutGroup.cpp in Sources */, + 29A8FCDD1EF0476E00AD2478 /* TechnicalFunctions.cpp in Sources */, + 29A8E52C1EF0476300AD2478 /* BarlineAttributes.cpp in Sources */, + 29A8E40A1EF0476300AD2478 /* Accidental.cpp in Sources */, + 29A8E9321EF0476400AD2478 /* Effect.cpp in Sources */, + 29A8F1A21EF0476800AD2478 /* OctaveShift.cpp in Sources */, + 29A8E5681EF0476300AD2478 /* Bass.cpp in Sources */, + 29A8ECCA1EF0476600AD2478 /* HoleAttributes.cpp in Sources */, + 29A8E9821EF0476400AD2478 /* EmptyPlacementAttributes.cpp in Sources */, + 29A8ECD41EF0476600AD2478 /* HoleClosed.cpp in Sources */, + 29A8E4141EF0476300AD2478 /* AccidentalAttributes.cpp in Sources */, + 29A8E7E81EF0476400AD2478 /* DegreeValue.cpp in Sources */, + 29A8E5EA1EF0476300AD2478 /* BeatUnit.cpp in Sources */, + 29A8FC381EF0476E00AD2478 /* MeasureWriter.cpp in Sources */, + 29A8FA801EF0476D00AD2478 /* VirtualName.cpp in Sources */, + 29A8F7A11EF0476B00AD2478 /* StringAttributes.cpp in Sources */, + 29A8E8381EF0476400AD2478 /* Direction.cpp in Sources */, + 29A8FB9D1EF0476D00AD2478 /* YesNoNumber.cpp in Sources */, + 29A8ECB61EF0476600AD2478 /* HeelAttributes.cpp in Sources */, + 29A8F7791EF0476B00AD2478 /* StickType.cpp in Sources */, + 29A8E8D81EF0476400AD2478 /* Double.cpp in Sources */, + 29A8E8061EF0476400AD2478 /* DelayedInvertedTurnAttributes.cpp in Sources */, + 29A8F2921EF0476800AD2478 /* PageHeight.cpp in Sources */, + 29A8FDAA1EF0476F00AD2478 /* XFactory.cpp in Sources */, + 29A8EF5E1EF0476700AD2478 /* MetronomeBeam.cpp in Sources */, + 29A8F57B1EF0476A00AD2478 /* ScoreInstrument.cpp in Sources */, + 29A8EDCE1EF0476600AD2478 /* KeyAlter.cpp in Sources */, + 29A8FD5A1EF0476F00AD2478 /* PugiDoc.cpp in Sources */, + 29A8F3001EF0476800AD2478 /* PartGroup.cpp in Sources */, + 29A8F1C01EF0476800AD2478 /* OffsetAttributes.cpp in Sources */, + 29A8E5C21EF0476300AD2478 /* BeatRepeat.cpp in Sources */, + 29A8E68A1EF0476300AD2478 /* Caesura.cpp in Sources */, + 29A8EAAE1EF0476500AD2478 /* FirstFret.cpp in Sources */, + 29A8E7FC1EF0476400AD2478 /* DelayedInvertedTurn.cpp in Sources */, + 29A8F1B61EF0476800AD2478 /* Offset.cpp in Sources */, + 29A8E72A1EF0476400AD2478 /* CreditImage.cpp in Sources */, + 29A8ED101EF0476600AD2478 /* Image.cpp in Sources */, + 29A8FB161EF0476D00AD2478 /* WorkTitle.cpp in Sources */, + 29A8EEBE1EF0476600AD2478 /* LyricLanguageAttributes.cpp in Sources */, + 29A8E6801EF0476300AD2478 /* BreathMarkAttributes.cpp in Sources */, + 29A8EDC41EF0476600AD2478 /* KeyAccidental.cpp in Sources */, + 29A8F9B31EF0476C00AD2478 /* Tuplet.cpp in Sources */, + 29A8F3D21EF0476900AD2478 /* PerMinuteAttributes.cpp in Sources */, + 29A8ECAC1EF0476600AD2478 /* Heel.cpp in Sources */, + 29A8F9631EF0476C00AD2478 /* TransposeAttributes.cpp in Sources */, + 29A8FC651EF0476E00AD2478 /* NoteReader.cpp in Sources */, + 29A8F6B11EF0476A00AD2478 /* Staccato.cpp in Sources */, + 29A8EC981EF0476600AD2478 /* HarpPedals.cpp in Sources */, + 29A8F1341EF0476700AD2478 /* NoteAttributes.cpp in Sources */, + 29A8F4EF1EF0476900AD2478 /* RightDivider.cpp in Sources */, + 29A8FB841EF0476D00AD2478 /* ScoreConversions.cpp in Sources */, + 29A8F7BF1EF0476B00AD2478 /* StrongAccent.cpp in Sources */, + 29A8E7161EF0476400AD2478 /* CreditAttributes.cpp in Sources */, + 29A8F7331EF0476B00AD2478 /* Stem.cpp in Sources */, + 29A8E5901EF0476300AD2478 /* BassStepAttributes.cpp in Sources */, + 29A8ED241EF0476600AD2478 /* Instrument.cpp in Sources */, + 29A8EB761EF0476500AD2478 /* GraceAttributes.cpp in Sources */, + 29A8FD7D1EF0476F00AD2478 /* XAttributeIterator.cpp in Sources */, + 29A8EE141EF0476600AD2478 /* KindAttributes.cpp in Sources */, + 29A8F8AF1EF0476C00AD2478 /* TiedAttributes.cpp in Sources */, + 29A8E7981EF0476400AD2478 /* DashesAttributes.cpp in Sources */, + 29A8E6441EF0476300AD2478 /* Bookmark.cpp in Sources */, + 29A8F4041EF0476900AD2478 /* PlayAttributes.cpp in Sources */, + 29A8EFAE1EF0476700AD2478 /* MetronomeType.cpp in Sources */, + 29A8FA1C1EF0476C00AD2478 /* Turn.cpp in Sources */, + 29A8E7A21EF0476400AD2478 /* Defaults.cpp in Sources */, + 29A8F35A1EF0476800AD2478 /* PartSymbolAttributes.cpp in Sources */, + 29A8FC971EF0476E00AD2478 /* PartWriter.cpp in Sources */, + 29A8FB701EF0476D00AD2478 /* PositiveIntegerOrEmpty.cpp in Sources */, + 29A8E96E1EF0476400AD2478 /* EmptyFontAttributes.cpp in Sources */, + 29A8EB6C1EF0476500AD2478 /* Grace.cpp in Sources */, + 29A8F8C31EF0476C00AD2478 /* TimeAttributes.cpp in Sources */, + 29A8F5851EF0476A00AD2478 /* ScoreInstrumentAttributes.cpp in Sources */, + 29A8F2EC1EF0476800AD2478 /* PartAbbreviationDisplayAttributes.cpp in Sources */, + 29A8E6301EF0476300AD2478 /* BendAttributes.cpp in Sources */, + 29A8F2CE1EF0476800AD2478 /* PartAbbreviation.cpp in Sources */, + 29A8FBF21EF0476E00AD2478 /* DynamicsWriter.cpp in Sources */, + 29A8FCF11EF0476E00AD2478 /* TupletReader.cpp in Sources */, + 29A8F3DC1EF0476900AD2478 /* PerMinuteOrBeatUnitChoice.cpp in Sources */, + 29A8E69E1EF0476300AD2478 /* CancelAttributes.cpp in Sources */, + 29A8F9271EF0476C00AD2478 /* ToeAttributes.cpp in Sources */, + 29A8ED881EF0476600AD2478 /* InvertedMordent.cpp in Sources */, + 29A8E86A1EF0476400AD2478 /* DisplayOctave.cpp in Sources */, + 29A8E91E1EF0476400AD2478 /* EditorialVoiceDirectionGroup.cpp in Sources */, + 29A8F3AA1EF0476900AD2478 /* Percussion.cpp in Sources */, + 29A8EED21EF0476600AD2478 /* MeasureAttributes.cpp in Sources */, + 29A8EACC1EF0476500AD2478 /* FootnoteAttributes.cpp in Sources */, + 29A8ECF21EF0476600AD2478 /* HoleType.cpp in Sources */, + 29A8F3961EF0476900AD2478 /* PedalStep.cpp in Sources */, + 29A8EBDA1EF0476500AD2478 /* GroupingAttributes.cpp in Sources */, + 29A8EF181EF0476700AD2478 /* MeasureStyle.cpp in Sources */, + 29A8E4FA1EF0476300AD2478 /* ArticulationsChoice.cpp in Sources */, + 29A8F94F1EF0476C00AD2478 /* TraditionalKey.cpp in Sources */, + 29A8E2ED1EF0476300AD2478 /* DocumentManager.cpp in Sources */, + 29A8F6891EF0476A00AD2478 /* SoundingPitch.cpp in Sources */, + 29A8F4591EF0476900AD2478 /* PrincipalVoiceAttributes.cpp in Sources */, + 29A8F1481EF0476700AD2478 /* Notehead.cpp in Sources */, + 29A8FB521EF0476D00AD2478 /* FromXElement.cpp in Sources */, + 29A8EA181EF0476500AD2478 /* Eyeglasses.cpp in Sources */, + 29A8EE461EF0476600AD2478 /* Level.cpp in Sources */, + 29A8F9311EF0476C00AD2478 /* TopMargin.cpp in Sources */, + 29A8E98C1EF0476400AD2478 /* EmptyTrillSoundAttributes.cpp in Sources */, + 29A8E9641EF0476400AD2478 /* ElisionSyllabicTextGroup.cpp in Sources */, + 29A8EBF81EF0476500AD2478 /* GroupNameDisplay.cpp in Sources */, + 29A8F1981EF0476800AD2478 /* OctaveChange.cpp in Sources */, + 29A8F9091EF0476C00AD2478 /* TimewisePart.cpp in Sources */, + 29A8ED921EF0476600AD2478 /* InvertedMordentAttributes.cpp in Sources */, + 29A8E4961EF0476300AD2478 /* Alter.cpp in Sources */, + 29A8F2D81EF0476800AD2478 /* PartAbbreviationAttributes.cpp in Sources */, + 29A8EFEA1EF0476700AD2478 /* MidiInstrument.cpp in Sources */, + 29A8F50D1EF0476900AD2478 /* RightsAttributes.cpp in Sources */, + 29A8F1E81EF0476800AD2478 /* Ornaments.cpp in Sources */, + 29A8EFA41EF0476700AD2478 /* MetronomeTupletAttributes.cpp in Sources */, + 29A8FB341EF0476D00AD2478 /* Enums.cpp in Sources */, + 29A8E6D01EF0476400AD2478 /* Clef.cpp in Sources */, + 29A8EB621EF0476500AD2478 /* GlissandoAttributes.cpp in Sources */, + 29A8E87E1EF0476400AD2478 /* DisplayStepOctaveGroup.cpp in Sources */, + 29A8E4781EF0476300AD2478 /* AccordionRegistration.cpp in Sources */, + 29A8F2881EF0476800AD2478 /* OtherTechnicalAttributes.cpp in Sources */, + 29A8F3BE1EF0476900AD2478 /* PercussionChoice.cpp in Sources */, + 29A8F09E1EF0476700AD2478 /* MusicFont.cpp in Sources */, + 29A8EE6E1EF0476600AD2478 /* LineWidthAttributes.cpp in Sources */, + 29A8E4DC1EF0476300AD2478 /* ArrowGroup.cpp in Sources */, + 29A8ED1A1EF0476600AD2478 /* ImageAttributes.cpp in Sources */, + 29A8E61C1EF0476300AD2478 /* Bend.cpp in Sources */, + 29A8EB4E1EF0476500AD2478 /* Glass.cpp in Sources */, + 29A8FA261EF0476C00AD2478 /* TurnAttributes.cpp in Sources */, + 29A8FA9E1EF0476D00AD2478 /* WavyLine.cpp in Sources */, + 29A8EDA61EF0476600AD2478 /* InvertedTurnAttributes.cpp in Sources */, + 29A8F10C1EF0476700AD2478 /* Notations.cpp in Sources */, + 29A8E8241EF0476400AD2478 /* DetachedLegato.cpp in Sources */, + 29A8F4771EF0476900AD2478 /* Properties.cpp in Sources */, + 29A8F69D1EF0476A00AD2478 /* Spiccato.cpp in Sources */, + 29A8E5221EF0476300AD2478 /* Barline.cpp in Sources */, + 29A8FA581EF0476D00AD2478 /* UpBow.cpp in Sources */, + 29A8E8BA1EF0476400AD2478 /* Divisions.cpp in Sources */, + 29A8E4001EF0476300AD2478 /* Accent.cpp in Sources */, + 29A8F27E1EF0476800AD2478 /* OtherTechnical.cpp in Sources */, + 29A8F8411EF0476B00AD2478 /* TapAttributes.cpp in Sources */, + 29A8FD001EF0476E00AD2478 /* pugixml.cpp in Sources */, + 29A8F89B1EF0476C00AD2478 /* TieAttributes.cpp in Sources */, + 29A8EAFE1EF0476500AD2478 /* FrameNote.cpp in Sources */, + 29A8F1521EF0476800AD2478 /* NoteheadAttributes.cpp in Sources */, + 29A8F24C1EF0476800AD2478 /* OtherOrnament.cpp in Sources */, + 29A8E36A1EF0476300AD2478 /* ScoreData.cpp in Sources */, + 29A8F1201EF0476700AD2478 /* NotationsChoice.cpp in Sources */, + 29A8EC2A1EF0476500AD2478 /* HammerOn.cpp in Sources */, + 29A8F99F1EF0476C00AD2478 /* TuningOctave.cpp in Sources */, + 29A8F0F81EF0476700AD2478 /* NormalType.cpp in Sources */, + 29A8E82E1EF0476400AD2478 /* Diatonic.cpp in Sources */, + 29A8F1161EF0476700AD2478 /* NotationsAttributes.cpp in Sources */, + 29A8F8EB1EF0476C00AD2478 /* TimeRelation.cpp in Sources */, + 29A8EAD61EF0476500AD2478 /* Forward.cpp in Sources */, + 29A8E6261EF0476300AD2478 /* BendAlter.cpp in Sources */, + 29A8E5A41EF0476300AD2478 /* BeamAttributes.cpp in Sources */, + 29A8EB941EF0476500AD2478 /* GroupAbbreviation.cpp in Sources */, + 29A8EA721EF0476500AD2478 /* FiguredBassAttributes.cpp in Sources */, + 29A8E8F61EF0476400AD2478 /* Duration.cpp in Sources */, + 29A8EC161EF0476500AD2478 /* GroupSymbolAttributes.cpp in Sources */, + 29A8F73D1EF0476B00AD2478 /* StemAttributes.cpp in Sources */, + 29A8EE501EF0476600AD2478 /* LevelAttributes.cpp in Sources */, + 29A8EA0E1EF0476500AD2478 /* ExtendAttributes.cpp in Sources */, + 29A8EC8E1EF0476600AD2478 /* HarmonyChordGroup.cpp in Sources */, + 29A8FA4E1EF0476D00AD2478 /* Unstress.cpp in Sources */, + 29A8FD501EF0476E00AD2478 /* PugiAttributeIterImpl.cpp in Sources */, + 29A8E7341EF0476400AD2478 /* CreditImageAttributes.cpp in Sources */, + 29A8E9E61EF0476500AD2478 /* EndLine.cpp in Sources */, + 29A8FBA71EF0476D00AD2478 /* AccidentalMarkFunctions.cpp in Sources */, + 29A8EF221EF0476700AD2478 /* MeasureStyleAttributes.cpp in Sources */, + 29A8F9E51EF0476C00AD2478 /* TupletNormal.cpp in Sources */, + 29A8F0DA1EF0476700AD2478 /* NormalDot.cpp in Sources */, + 29A8E4A01EF0476300AD2478 /* Appearance.cpp in Sources */, + 29A8E9B41EF0476400AD2478 /* EncodingChoice.cpp in Sources */, + 29A8F3E61EF0476900AD2478 /* Pitch.cpp in Sources */, + 29A8F3321EF0476800AD2478 /* PartNameAttributes.cpp in Sources */, + 29A8EC481EF0476500AD2478 /* HandbellAttributes.cpp in Sources */, + 29A8E8421EF0476400AD2478 /* DirectionAttributes.cpp in Sources */, + 29A8EB301EF0476500AD2478 /* FullNoteTypeChoice.cpp in Sources */, + 29A8F6071EF0476A00AD2478 /* SlashAttributes.cpp in Sources */, + 29A8F6A71EF0476A00AD2478 /* Staccatissimo.cpp in Sources */, + 29A8E3EC1EF0476300AD2478 /* DocumentSpec.cpp in Sources */, + 29A8FC831EF0476E00AD2478 /* PageTextFunctions.cpp in Sources */, + 29A8FB2A1EF0476D00AD2478 /* EmptyPrintObjectStyleAlignAttributes.cpp in Sources */, + 29A8F49F1EF0476900AD2478 /* RehearsalAttributes.cpp in Sources */, + 29A8EE8C1EF0476600AD2478 /* Lyric.cpp in Sources */, + 29A8E7841EF0476400AD2478 /* DampAll.cpp in Sources */, + 29A8F5991EF0476A00AD2478 /* ScorePartAttributes.cpp in Sources */, + 29A8EA361EF0476500AD2478 /* FeatureAttributes.cpp in Sources */, + 29A8F5A31EF0476A00AD2478 /* ScorePartwise.cpp in Sources */, + 29A8EBEE1EF0476500AD2478 /* GroupNameAttributes.cpp in Sources */, + 29A8EC0C1EF0476500AD2478 /* GroupSymbol.cpp in Sources */, + 29A8E4F01EF0476300AD2478 /* Articulations.cpp in Sources */, + 29A8F76F1EF0476B00AD2478 /* StickMaterial.cpp in Sources */, + 29A8E7C01EF0476400AD2478 /* DegreeAlterAttributes.cpp in Sources */, + 29A8FC5B1EF0476E00AD2478 /* NoteFunctions.cpp in Sources */, + 29A8EA5E1EF0476500AD2478 /* Figure.cpp in Sources */, + 29A8ED4C1EF0476600AD2478 /* Instruments.cpp in Sources */, + 29A8EE1E1EF0476600AD2478 /* Laughing.cpp in Sources */, + 29A8F3141EF0476800AD2478 /* PartGroupOrScorePart.cpp in Sources */, + 29A8EA7C1EF0476500AD2478 /* FigureNumber.cpp in Sources */, + 29A8EDE21EF0476600AD2478 /* KeyChoice.cpp in Sources */, + 29A8FA301EF0476C00AD2478 /* Type.cpp in Sources */, + 29A8F6931EF0476A00AD2478 /* Source.cpp in Sources */, + 29A8F0581EF0476700AD2478 /* MordentAttributes.cpp in Sources */, + 29A8F12A1EF0476700AD2478 /* Note.cpp in Sources */, + 29A8F40E1EF0476900AD2478 /* Plop.cpp in Sources */, + 29A8F36E1EF0476900AD2478 /* PartwisePart.cpp in Sources */, + 29A8F26A1EF0476800AD2478 /* OtherPlay.cpp in Sources */, + 29A8F1DE1EF0476800AD2478 /* OpusAttributes.cpp in Sources */, + 29A8F5FD1EF0476A00AD2478 /* Slash.cpp in Sources */, + 29A8EE0A1EF0476600AD2478 /* Kind.cpp in Sources */, + 29A8F71F1EF0476B00AD2478 /* StaffType.cpp in Sources */, + 29A8EFF41EF0476700AD2478 /* MidiInstrumentAttributes.cpp in Sources */, + 29A8F5491EF0476A00AD2478 /* Scaling.cpp in Sources */, + 29A8EB081EF0476500AD2478 /* FrameStrings.cpp in Sources */, + 29A8F0A81EF0476700AD2478 /* Mute.cpp in Sources */, + 29A8FA3A1EF0476C00AD2478 /* TypeAttributes.cpp in Sources */, + 29A8F38C1EF0476900AD2478 /* PedalAttributes.cpp in Sources */, + 29A8F6391EF0476A00AD2478 /* Slur.cpp in Sources */, + 29A8F9771EF0476C00AD2478 /* TremoloAttributes.cpp in Sources */, + 29A8ED061EF0476600AD2478 /* Identification.cpp in Sources */, + 29A8EBBC1EF0476500AD2478 /* GroupBarline.cpp in Sources */, + 29A8F1FC1EF0476800AD2478 /* OtherAppearance.cpp in Sources */, + 29A8EDF61EF0476600AD2478 /* KeyOctaveAttributes.cpp in Sources */, + 29A8F7DD1EF0476B00AD2478 /* SuffixAttributes.cpp in Sources */, + 29A8E9C81EF0476400AD2478 /* EncodingDescription.cpp in Sources */, + 29A8F2B01EF0476800AD2478 /* PageMarginsAttributes.cpp in Sources */, + 29A8F3C81EF0476900AD2478 /* PerMinute.cpp in Sources */, + 29A8E5D61EF0476300AD2478 /* Beats.cpp in Sources */, + 29A8E5B81EF0476300AD2478 /* BeaterAttributes.cpp in Sources */, + 29A8FCB51EF0476E00AD2478 /* ScoreReader.cpp in Sources */, + 29A8E7201EF0476400AD2478 /* CreditChoice.cpp in Sources */, + 29A8E3291EF0476300AD2478 /* MeasureLocation.cpp in Sources */, + 29A8E7F21EF0476400AD2478 /* DegreeValueAttributes.cpp in Sources */, + 29A8FAD01EF0476D00AD2478 /* WithBarAttributes.cpp in Sources */, + 29A8F3FA1EF0476900AD2478 /* Play.cpp in Sources */, + 29A8E81A1EF0476400AD2478 /* DelayedTurnAttributes.cpp in Sources */, + 29A8E3C41EF0476300AD2478 /* Date.cpp in Sources */, + 29A8E3B01EF0476300AD2478 /* AttributesInterface.cpp in Sources */, + 29A8F7651EF0476B00AD2478 /* StickLocation.cpp in Sources */, + 29A8F30A1EF0476800AD2478 /* PartGroupAttributes.cpp in Sources */, + 29A8E9961EF0476400AD2478 /* Encoder.cpp in Sources */, + 29A8E48C1EF0476300AD2478 /* ActualNotes.cpp in Sources */, + 29A8EB9E1EF0476500AD2478 /* GroupAbbreviationAttributes.cpp in Sources */, + 29A8E8B01EF0476400AD2478 /* DistanceAttributes.cpp in Sources */, + 29A8FBE81EF0476E00AD2478 /* DynamicsReader.cpp in Sources */, + 29A8FD321EF0476E00AD2478 /* Utility.cpp in Sources */, + 29A8EF721EF0476700AD2478 /* MetronomeDot.cpp in Sources */, + 29A8F3B41EF0476900AD2478 /* PercussionAttributes.cpp in Sources */, + 29A8E7661EF0476400AD2478 /* Cue.cpp in Sources */, + 29A8E4E61EF0476300AD2478 /* ArrowStyle.cpp in Sources */, + 29A8F8231EF0476B00AD2478 /* SystemLayout.cpp in Sources */, + 29A8F31E1EF0476800AD2478 /* PartList.cpp in Sources */, + 29A8E5E01EF0476300AD2478 /* BeatType.cpp in Sources */, + 29A8E8E21EF0476400AD2478 /* DoubleTongue.cpp in Sources */, + 29A8E90A1EF0476400AD2478 /* DynamicsAttributes.cpp in Sources */, + 29A8F3781EF0476900AD2478 /* Pedal.cpp in Sources */, + 29A8F78D1EF0476B00AD2478 /* Stress.cpp in Sources */, + 29A8EC5C1EF0476500AD2478 /* HarmonicAttributes.cpp in Sources */, + 29A8F0EE1EF0476700AD2478 /* NormalNotes.cpp in Sources */, + 29A8E9141EF0476400AD2478 /* EditorialGroup.cpp in Sources */, + 29A8ED2E1EF0476600AD2478 /* InstrumentAbbreviation.cpp in Sources */, + 29A8EF861EF0476700AD2478 /* MetronomeRelation.cpp in Sources */, + 29A8FAC61EF0476D00AD2478 /* WithBar.cpp in Sources */, + 29A8FCE71EF0476E00AD2478 /* TimeReader.cpp in Sources */, + 29A8F2F61EF0476800AD2478 /* PartAttributes.cpp in Sources */, + 29A8FAEE1EF0476D00AD2478 /* Words.cpp in Sources */, + 29A8F7AB1EF0476B00AD2478 /* StringMute.cpp in Sources */, + 29A8EF0E1EF0476600AD2478 /* MeasureRepeatAttributes.cpp in Sources */, + 29A8FB8E1EF0476D00AD2478 /* Strings.cpp in Sources */, + 29A8E9281EF0476400AD2478 /* EditorialVoiceGroup.cpp in Sources */, + 29A8EFFE1EF0476700AD2478 /* MidiName.cpp in Sources */, + 29A8E66C1EF0476300AD2478 /* BracketAttributes.cpp in Sources */, + 29A8F5351EF0476900AD2478 /* RootStep.cpp in Sources */, + 29A8F7971EF0476B00AD2478 /* String.cpp in Sources */, + 29A8FD6E1EF0476F00AD2478 /* PugiElementIterImpl.cpp in Sources */, + 29A8E4B41EF0476300AD2478 /* ArpeggiateAttributes.cpp in Sources */, + 29A8EF4A1EF0476700AD2478 /* Metronome.cpp in Sources */, + 29A8F5F31EF0476A00AD2478 /* Sign.cpp in Sources */, + 29A8F5E91EF0476A00AD2478 /* Shake.cpp in Sources */, + 29A8F0D01EF0476700AD2478 /* NonTraditionalKey.cpp in Sources */, + 29A8F6431EF0476A00AD2478 /* SlurAttributes.cpp in Sources */, + 29A8FA941EF0476D00AD2478 /* Volume.cpp in Sources */, + 29A8F5171EF0476900AD2478 /* Root.cpp in Sources */, + 29A8E70C1EF0476400AD2478 /* Credit.cpp in Sources */, + 29A8E46E1EF0476300AD2478 /* AccordionMiddle.cpp in Sources */, + 29A8EA041EF0476500AD2478 /* Extend.cpp in Sources */, + 29A8F1841EF0476800AD2478 /* NoteSizeAttributes.cpp in Sources */, + 29A8EC521EF0476500AD2478 /* Harmonic.cpp in Sources */, + 29A8E9461EF0476400AD2478 /* Elision.cpp in Sources */, + 29A8EF401EF0476700AD2478 /* Metal.cpp in Sources */, + 29A8F9F91EF0476C00AD2478 /* TupletNumberAttributes.cpp in Sources */, + 29A8E9BE1EF0476400AD2478 /* EncodingDate.cpp in Sources */, + 29A8EC021EF0476500AD2478 /* GroupNameDisplayAttributes.cpp in Sources */, + 29A8F62F1EF0476A00AD2478 /* SlideAttributes.cpp in Sources */, + 29A8E5861EF0476300AD2478 /* BassStep.cpp in Sources */, + 29A8F96D1EF0476C00AD2478 /* Tremolo.cpp in Sources */, + 29A8E6A81EF0476400AD2478 /* Capo.cpp in Sources */, + 29A8E6E41EF0476400AD2478 /* ClefOctaveChange.cpp in Sources */, + 29A8E9501EF0476400AD2478 /* ElisionAttributes.cpp in Sources */, + 29A8FC6F1EF0476E00AD2478 /* NoteWriter.cpp in Sources */, + 29A8E4461EF0476300AD2478 /* Accord.cpp in Sources */, + 29A8F8D71EF0476C00AD2478 /* TimeModification.cpp in Sources */, + 29A8F4631EF0476900AD2478 /* Print.cpp in Sources */, + 29A8FBC51EF0476D00AD2478 /* Cursor.cpp in Sources */, + 29A8F3F01EF0476900AD2478 /* Pitched.cpp in Sources */, + 29A8F8731EF0476B00AD2478 /* Text.cpp in Sources */, + 29A8E7B61EF0476400AD2478 /* DegreeAlter.cpp in Sources */, + 29A8E5AE1EF0476300AD2478 /* Beater.cpp in Sources */, + 29A8F7F11EF0476B00AD2478 /* SupportsAttributes.cpp in Sources */, + 29A8F87D1EF0476B00AD2478 /* TextAttributes.cpp in Sources */, + 29A8E8CE1EF0476400AD2478 /* Dot.cpp in Sources */, + 29A8EB801EF0476500AD2478 /* GraceNoteGroup.cpp in Sources */, + 29A8EEAA1EF0476600AD2478 /* LyricFontAttributes.cpp in Sources */, + 29A8F9EF1EF0476C00AD2478 /* TupletNumber.cpp in Sources */, + 29A8E4AA1EF0476300AD2478 /* Arpeggiate.cpp in Sources */, + 29A8F2561EF0476800AD2478 /* OtherOrnamentAttributes.cpp in Sources */, + 29A8E7CA1EF0476400AD2478 /* DegreeAttributes.cpp in Sources */, + 29A8E78E1EF0476400AD2478 /* Dashes.cpp in Sources */, + 29A8FC8D1EF0476E00AD2478 /* PartReader.cpp in Sources */, + 29A8EEFA1EF0476600AD2478 /* MeasureNumberingAttributes.cpp in Sources */, + 29A8E3E21EF0476300AD2478 /* DocumentHeader.cpp in Sources */, + 29A8EE001EF0476600AD2478 /* KeyStep.cpp in Sources */, + 29A8E6EE1EF0476400AD2478 /* Coda.cpp in Sources */, + 29A8FC0B1EF0476E00AD2478 /* LayoutFunctions.cpp in Sources */, + 29A8E3D81EF0476300AD2478 /* Document.cpp in Sources */, + 29A8EE781EF0476600AD2478 /* Link.cpp in Sources */, + 29A8F7511EF0476B00AD2478 /* Stick.cpp in Sources */, + 29A8F8911EF0476C00AD2478 /* Tie.cpp in Sources */, + 29A8F21A1EF0476800AD2478 /* OtherArticulationAttributes.cpp in Sources */, + 29A8EB8A1EF0476500AD2478 /* Group.cpp in Sources */, + 29A8FA8A1EF0476D00AD2478 /* Voice.cpp in Sources */, + 29A8F5AD1EF0476A00AD2478 /* ScorePartwiseAttributes.cpp in Sources */, + 29A8F8E11EF0476C00AD2478 /* TimeModificationNormalTypeNormalDot.cpp in Sources */, + 29A8F9131EF0476C00AD2478 /* Timpani.cpp in Sources */, + 29A8FBBB1EF0476D00AD2478 /* Converter.cpp in Sources */, + 29A8F43B1EF0476900AD2478 /* Prefix.cpp in Sources */, + 29A8F0441EF0476700AD2478 /* Mode.cpp in Sources */, + 29A8FBD41EF0476D00AD2478 /* DirectionReader.cpp in Sources */, + 29A8F8A51EF0476C00AD2478 /* Tied.cpp in Sources */, + 29A8EE641EF0476600AD2478 /* LineWidth.cpp in Sources */, + 29A8F4951EF0476900AD2478 /* Rehearsal.cpp in Sources */, + 29A8EF041EF0476600AD2478 /* MeasureRepeat.cpp in Sources */, + 29A8F64D1EF0476A00AD2478 /* SnapPizzicato.cpp in Sources */, + 29A8EBD01EF0476500AD2478 /* Grouping.cpp in Sources */, + 29A8FA621EF0476D00AD2478 /* VerticalTurn.cpp in Sources */, + 29A8ECFC1EF0476600AD2478 /* Humming.cpp in Sources */, + 29A8F4F91EF0476900AD2478 /* RightMargin.cpp in Sources */, + 29A8F75B1EF0476B00AD2478 /* StickAttributes.cpp in Sources */, + 29A8FB3E1EF0476D00AD2478 /* FontSize.cpp in Sources */, + 29A8F5C11EF0476A00AD2478 /* ScoreTimewiseAttributes.cpp in Sources */, + 29A8F52B1EF0476900AD2478 /* RootAlterAttributes.cpp in Sources */, + 29A8E63A1EF0476300AD2478 /* BendChoice.cpp in Sources */, + 29A8FADA1EF0476D00AD2478 /* Wood.cpp in Sources */, + 29A8E55E1EF0476300AD2478 /* BasePitch.cpp in Sources */, + 29A8EA901EF0476500AD2478 /* Fingering.cpp in Sources */, + 29A8F0261EF0476700AD2478 /* Miscellaneous.cpp in Sources */, + 29A8F13E1EF0476700AD2478 /* NoteChoice.cpp in Sources */, + 29A8F61B1EF0476A00AD2478 /* SlashType.cpp in Sources */, + 29A8FCAB1EF0476E00AD2478 /* PropertiesWriter.cpp in Sources */, + 29A8E9D21EF0476500AD2478 /* Ending.cpp in Sources */, + 29A8F1AC1EF0476800AD2478 /* OctaveShiftAttributes.cpp in Sources */, + 29A8E4641EF0476300AD2478 /* AccordionLow.cpp in Sources */, + 29A8F9951EF0476C00AD2478 /* TuningAlter.cpp in Sources */, + 29A8E8561EF0476400AD2478 /* Directive.cpp in Sources */, + 29A8ED561EF0476600AD2478 /* InstrumentSound.cpp in Sources */, + 29A8EFCC1EF0476700AD2478 /* MidiDevice.cpp in Sources */, + 29A8F8371EF0476B00AD2478 /* Tap.cpp in Sources */, + 29A8F9C71EF0476C00AD2478 /* TupletAttributes.cpp in Sources */, + 29A8EC3E1EF0476500AD2478 /* Handbell.cpp in Sources */, + 29A8E6F81EF0476400AD2478 /* Creator.cpp in Sources */, + 29A8E7481EF0476400AD2478 /* CreditWords.cpp in Sources */, + 29A8F9591EF0476C00AD2478 /* Transpose.cpp in Sources */, + 29A8E6621EF0476300AD2478 /* Bracket.cpp in Sources */, + 29A8F48B1EF0476900AD2478 /* PullOffAttributes.cpp in Sources */, + 29A8F8051EF0476B00AD2478 /* SyllabicTextGroup.cpp in Sources */, + 29A8E93C1EF0476400AD2478 /* Elevation.cpp in Sources */, + 29A8F7471EF0476B00AD2478 /* Step.cpp in Sources */, + 29A8F85F1EF0476B00AD2478 /* Tenths.cpp in Sources */, + 29A8F42C1EF0476900AD2478 /* PreBend.cpp in Sources */, + 29A8ED601EF0476600AD2478 /* Interchangeable.cpp in Sources */, + 29A8EEF01EF0476600AD2478 /* MeasureNumbering.cpp in Sources */, + 29A8E59A1EF0476300AD2478 /* Beam.cpp in Sources */, + 29A8E64E1EF0476300AD2478 /* BookmarkAttributes.cpp in Sources */, + 29A8FBB11EF0476D00AD2478 /* ArticulationsFunctions.cpp in Sources */, + 29A8EDEC1EF0476600AD2478 /* KeyOctave.cpp in Sources */, + 29A8F5711EF0476A00AD2478 /* ScoreHeaderGroup.cpp in Sources */, + 29A8F0B21EF0476700AD2478 /* Natural.cpp in Sources */, + 29A8E6761EF0476300AD2478 /* BreathMark.cpp in Sources */, + 29A8E31A1EF0476300AD2478 /* MarkData.cpp in Sources */, + 29A8F1021EF0476700AD2478 /* NormalTypeNormalDotGroup.cpp in Sources */, + 29A8EAEA1EF0476500AD2478 /* FrameAttributes.cpp in Sources */, + 29A8F2061EF0476800AD2478 /* OtherAppearanceAttributes.cpp in Sources */, + 29A8EC7A1EF0476500AD2478 /* Harmony.cpp in Sources */, + 29A8EC841EF0476500AD2478 /* HarmonyAttributes.cpp in Sources */, + 29A8FC511EF0476E00AD2478 /* NotationsWriter.cpp in Sources */, + 29A8F0121EF0476700AD2478 /* MidiUnpitched.cpp in Sources */, + 29A8F66B1EF0476A00AD2478 /* SoloOrEnsembleChoice.cpp in Sources */, + 29A8F6F71EF0476A00AD2478 /* StaffLines.cpp in Sources */, + 29A8F1D41EF0476800AD2478 /* Opus.cpp in Sources */, + 29A8E2D41EF0476300AD2478 /* ClefData.cpp in Sources */, + 29A8F84B1EF0476B00AD2478 /* Technical.cpp in Sources */, + 29A8F7151EF0476B00AD2478 /* StaffTuningAttributes.cpp in Sources */, + 29A8E4281EF0476300AD2478 /* AccidentalMarkAttributes.cpp in Sources */, + 29A8F9DB1EF0476C00AD2478 /* TupletDotAttributes.cpp in Sources */, + 29A8E7021EF0476400AD2478 /* CreatorAttributes.cpp in Sources */, + 29A8F80F1EF0476B00AD2478 /* SystemDistance.cpp in Sources */, + 29A8EF681EF0476700AD2478 /* MetronomeBeamAttributes.cpp in Sources */, + 29A8E3741EF0476300AD2478 /* Smufl.cpp in Sources */, + 29A8FB201EF0476D00AD2478 /* Elements.cpp in Sources */, + 29A8E4D21EF0476300AD2478 /* ArrowDirection.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -7165,2000 +7108,2003 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 29454A651D295C5500B90302 /* TupletAttributes.cpp in Sources */, - 29E2B43A1DA8494900DC61EA /* StaffFunctions.cpp in Sources */, - 2945497D1D295C5500B90302 /* Mute.cpp in Sources */, - 29454A711D295C5500B90302 /* Unpitched.cpp in Sources */, - 294549E21D295C5500B90302 /* Relation.cpp in Sources */, - 2945487B1D295C5500B90302 /* Caesura.cpp in Sources */, - 29454A791D295C5500B90302 /* Volume.cpp in Sources */, - 29454A361D295C5500B90302 /* SupportsAttributes.cpp in Sources */, - 29C01B0A1D130B690094BE61 /* Date.cpp in Sources */, - 2945492A1D295C5500B90302 /* InterchangeableAttributes.cpp in Sources */, - 294548641D295C5500B90302 /* BeamAttributes.cpp in Sources */, - 294549D81D295C5500B90302 /* PrefixAttributes.cpp in Sources */, - 2937D15F1D18D403001C2A1A /* PugiAttributeIterImpl.cpp in Sources */, - 294549011D295C5500B90302 /* Grouping.cpp in Sources */, - 294549E01D295C5500B90302 /* Rehearsal.cpp in Sources */, - 29454A521D295C5500B90302 /* TimewisePart.cpp in Sources */, - 2945483C1D295C5500B90302 /* AccidentalAttributes.cpp in Sources */, - 294549C71D295C5500B90302 /* PedalStep.cpp in Sources */, - 294549E31D295C5500B90302 /* RelationAttributes.cpp in Sources */, - 2945493E1D295C5500B90302 /* LeftDivider.cpp in Sources */, - 294549A01D295C5500B90302 /* OtherArticulation.cpp in Sources */, - 29C01B0E1D130B690094BE61 /* Document.cpp in Sources */, - 2945494C1D295C5500B90302 /* LyricLanguageAttributes.cpp in Sources */, - 29454A041D295C5500B90302 /* Slash.cpp in Sources */, - 29C01B281D130B690094BE61 /* Strings.cpp in Sources */, - 294548791D295C5500B90302 /* BreathMark.cpp in Sources */, - 294548C91D295C5500B90302 /* Encoder.cpp in Sources */, - 2945489C1D295C5500B90302 /* DegreeType.cpp in Sources */, - 294548D11D295C5500B90302 /* EndParagraph.cpp in Sources */, - 2945485A1D295C5500B90302 /* BarreAttributes.cpp in Sources */, - 29454A551D295C5500B90302 /* ToeAttributes.cpp in Sources */, - 294549B41D295C5500B90302 /* PartAbbreviationAttributes.cpp in Sources */, - 294549291D295C5500B90302 /* Interchangeable.cpp in Sources */, - 294549411D295C5500B90302 /* LevelAttributes.cpp in Sources */, - 294548661D295C5500B90302 /* BeaterAttributes.cpp in Sources */, - 294549901D295C5500B90302 /* NoteRelationNote.cpp in Sources */, - 294549D71D295C5500B90302 /* Prefix.cpp in Sources */, - 29454A501D295C5500B90302 /* TimeSignatureGroup.cpp in Sources */, - 29E2B42D1DA8494900DC61EA /* LcmGcd.cpp in Sources */, - 294548F01D295C5500B90302 /* FullNoteGroup.cpp in Sources */, - 29454A641D295C5500B90302 /* TupletActual.cpp in Sources */, - 294549601D295C5500B90302 /* MetronomeRelation.cpp in Sources */, - 2945488A1D295C5500B90302 /* CreditChoice.cpp in Sources */, - 2945488D1D295C5500B90302 /* CreditType.cpp in Sources */, - 294548B31D295C5500B90302 /* Divisions.cpp in Sources */, - 294548701D295C5500B90302 /* Bend.cpp in Sources */, - 294549FE1D295C5500B90302 /* ScoreTimewiseAttributes.cpp in Sources */, - 294549611D295C5500B90302 /* MetronomeRelationGroup.cpp in Sources */, - 294549941D295C5500B90302 /* OctaveChange.cpp in Sources */, - 294548441D295C5500B90302 /* AccordionLow.cpp in Sources */, - 2945493D1D295C5500B90302 /* LayoutGroup.cpp in Sources */, - 294549121D295C5500B90302 /* Harmony.cpp in Sources */, - 29454A6A1D295C5500B90302 /* TupletNumberAttributes.cpp in Sources */, - 294548C81D295C5500B90302 /* EmptyTrillSoundAttributes.cpp in Sources */, - 29C29B8A1DAEC00C00D3A884 /* ScoreWriter.cpp in Sources */, - 294549571D295C5500B90302 /* MeasureStyleChoice.cpp in Sources */, - 29454A5C1D295C5500B90302 /* Tremolo.cpp in Sources */, - 294549B51D295C5500B90302 /* PartAbbreviationDisplay.cpp in Sources */, - 29454A731D295C5500B90302 /* UpBow.cpp in Sources */, - 29C51A1E1D9ED91000EAA308 /* Smufl.cpp in Sources */, - 294549DA1D295C5500B90302 /* PrincipalVoiceAttributes.cpp in Sources */, - 29454A5A1D295C5500B90302 /* Transpose.cpp in Sources */, - 29454A0E1D295C5500B90302 /* Solo.cpp in Sources */, - 29454A691D295C5500B90302 /* TupletNumber.cpp in Sources */, - 29454A7B1D295C5500B90302 /* WavyLineAttributes.cpp in Sources */, - 29454A611D295C5500B90302 /* TuningOctave.cpp in Sources */, - 29454A011D295C5500B90302 /* SenzaMisura.cpp in Sources */, - 294549861D295C5500B90302 /* NormalTypeNormalDotGroup.cpp in Sources */, - 29454A631D295C5500B90302 /* Tuplet.cpp in Sources */, - 294548901D295C5500B90302 /* CreditWordsGroup.cpp in Sources */, - 294548BE1D295C5500B90302 /* EditorialVoiceGroup.cpp in Sources */, - 2945488B1D295C5500B90302 /* CreditImage.cpp in Sources */, - 29398BA81DB1561200475CD5 /* NoteWriter.cpp in Sources */, - 29DB30A11DA0713200031477 /* MarkData.cpp in Sources */, - 294549EC1D295C5500B90302 /* RightsAttributes.cpp in Sources */, - 29C01B1C1D130B690094BE61 /* EmptyPrintObjectStyleAlignAttributes.cpp in Sources */, - 294548751D295C5500B90302 /* BookmarkAttributes.cpp in Sources */, - 29454A111D295C5500B90302 /* SoundAttributes.cpp in Sources */, - 29454A141D295C5500B90302 /* Spiccato.cpp in Sources */, - 294549271D295C5500B90302 /* Instruments.cpp in Sources */, - 29E2B43C1DA8494900DC61EA /* TimeReader.cpp in Sources */, - 294548911D295C5500B90302 /* Cue.cpp in Sources */, - 294548FF1D295C5500B90302 /* GroupBarline.cpp in Sources */, - 294549401D295C5500B90302 /* Level.cpp in Sources */, - 29454A471D295C5500B90302 /* TieAttributes.cpp in Sources */, - 294548821D295C5500B90302 /* Clef.cpp in Sources */, - 294549F01D295C5500B90302 /* RootStep.cpp in Sources */, - 294549AE1D295C5500B90302 /* PageLayout.cpp in Sources */, - 294549991D295C5500B90302 /* OpenString.cpp in Sources */, - 294549FA1D295C5500B90302 /* ScorePartAttributes.cpp in Sources */, - 294549EF1D295C5500B90302 /* RootAlterAttributes.cpp in Sources */, - 2945496E1D295C5500B90302 /* MidiUnpitched.cpp in Sources */, - 2945496A1D295C5500B90302 /* MidiInstrument.cpp in Sources */, - 294548421D295C5500B90302 /* AccordAttributes.cpp in Sources */, - 294549111D295C5500B90302 /* HarmonicTypeChoice.cpp in Sources */, - 29454A2D1D295C5500B90302 /* String.cpp in Sources */, - 294548711D295C5500B90302 /* BendAlter.cpp in Sources */, - 294549081D295C5500B90302 /* GroupSymbolAttributes.cpp in Sources */, - 294548FD1D295C5500B90302 /* GroupAbbreviationDisplay.cpp in Sources */, - 29454A491D295C5500B90302 /* TiedAttributes.cpp in Sources */, - 29454A771D295C5500B90302 /* VirtualName.cpp in Sources */, - 294549EA1D295C5500B90302 /* RightMargin.cpp in Sources */, - 29E2B4311DA8494900DC61EA /* NoteFunctions.cpp in Sources */, - 2945486E1D295C5500B90302 /* BeatUnitPer.cpp in Sources */, - 294549A11D295C5500B90302 /* OtherArticulationAttributes.cpp in Sources */, - 29E2B4351DA8494900DC61EA /* PageTextFunctions.cpp in Sources */, - 2945490F1D295C5500B90302 /* HarmonicAttributes.cpp in Sources */, - 294549161D295C5500B90302 /* HarpPedalsAttributes.cpp in Sources */, - 29454A7D1D295C5500B90302 /* WedgeAttributes.cpp in Sources */, - 29454A021D295C5500B90302 /* Shake.cpp in Sources */, - 294549A41D295C5500B90302 /* OtherNotation.cpp in Sources */, - 294549231D295C5500B90302 /* Instrument.cpp in Sources */, - 294549FB1D295C5500B90302 /* ScorePartwise.cpp in Sources */, - 294548DB1D295C5500B90302 /* Fifths.cpp in Sources */, - 29CD722C1DB82C9200FB7153 /* DirectionWriter.cpp in Sources */, - 294549391D295C5500B90302 /* KeyStep.cpp in Sources */, - 2945483B1D295C5500B90302 /* Accidental.cpp in Sources */, - 29454A531D295C5500B90302 /* Timpani.cpp in Sources */, - 294548B01D295C5500B90302 /* DisplayTextOrAccidentalText.cpp in Sources */, - 294549971D295C5500B90302 /* Offset.cpp in Sources */, - 29C01B141D130B690094BE61 /* DocumentSpec.cpp in Sources */, - 294548581D295C5500B90302 /* BarlineAttributes.cpp in Sources */, - 2945483D1D295C5500B90302 /* AccidentalMark.cpp in Sources */, - 294549E51D295C5500B90302 /* Repeat.cpp in Sources */, - 29C01B241D130B690094BE61 /* NumberOrNormal.cpp in Sources */, - 29454A591D295C5500B90302 /* TraditionalKey.cpp in Sources */, - 29454A411D295C5500B90302 /* Tenths.cpp in Sources */, - 294549BC1D295C5500B90302 /* PartName.cpp in Sources */, - 294548A41D295C5500B90302 /* DetachedLegato.cpp in Sources */, - 294548481D295C5500B90302 /* ActualNotes.cpp in Sources */, - 294548521D295C5500B90302 /* Articulations.cpp in Sources */, - 29454A5B1D295C5500B90302 /* TransposeAttributes.cpp in Sources */, - 29454A431D295C5500B90302 /* Text.cpp in Sources */, - 29454A301D295C5500B90302 /* StringMuteAttributes.cpp in Sources */, - 294549B71D295C5500B90302 /* PartAttributes.cpp in Sources */, - 29454A4A1D295C5500B90302 /* Time.cpp in Sources */, - 29454A671D295C5500B90302 /* TupletDotAttributes.cpp in Sources */, - 294549591D295C5500B90302 /* Metal.cpp in Sources */, - 294548771D295C5500B90302 /* Bracket.cpp in Sources */, - 29454A0A1D295C5500B90302 /* Slur.cpp in Sources */, - 2945483A1D295C5500B90302 /* Accent.cpp in Sources */, - 294549F21D295C5500B90302 /* Scaling.cpp in Sources */, - 294548461D295C5500B90302 /* AccordionRegistration.cpp in Sources */, - 29B4E8211DA9CD5D005DC6D1 /* TupletReader.cpp in Sources */, - 294549B11D295C5500B90302 /* PageWidth.cpp in Sources */, - 294548881D295C5500B90302 /* Credit.cpp in Sources */, - 294549C01D295C5500B90302 /* PartSymbol.cpp in Sources */, - 294549961D295C5500B90302 /* OctaveShiftAttributes.cpp in Sources */, - 29E2B42A1DA8494900DC61EA /* EncodingFunctions.cpp in Sources */, - 294549C11D295C5500B90302 /* PartSymbolAttributes.cpp in Sources */, - 29454A161D295C5500B90302 /* Staccato.cpp in Sources */, - 29454A6F1D295C5500B90302 /* Type.cpp in Sources */, - 294549051D295C5500B90302 /* GroupNameDisplay.cpp in Sources */, - 294548D51D295C5500B90302 /* Eyeglasses.cpp in Sources */, - 29454A311D295C5500B90302 /* StrongAccent.cpp in Sources */, - 294549071D295C5500B90302 /* GroupSymbol.cpp in Sources */, - 294549CC1D295C5500B90302 /* PerMinute.cpp in Sources */, - 294549A81D295C5500B90302 /* OtherPercussion.cpp in Sources */, - 2937D1711D18D403001C2A1A /* XFactory.cpp in Sources */, - 29454A4E1D295C5500B90302 /* TimeModificationNormalTypeNormalDot.cpp in Sources */, - 294549C91D295C5500B90302 /* Percussion.cpp in Sources */, - 294548591D295C5500B90302 /* Barre.cpp in Sources */, - 29454A201D295C5500B90302 /* StaffTuningAttributes.cpp in Sources */, - 294548801D295C5500B90302 /* Chromatic.cpp in Sources */, - 294549721D295C5500B90302 /* MiscellaneousFieldAttributes.cpp in Sources */, - 294548DE1D295C5500B90302 /* FiguredBassAttributes.cpp in Sources */, - 29E2B4231DA8494900DC61EA /* AccidentalMarkFunctions.cpp in Sources */, - 294548731D295C5500B90302 /* BendChoice.cpp in Sources */, - 294549321D295C5500B90302 /* Key.cpp in Sources */, - 294548EA1D295C5500B90302 /* FrameAttributes.cpp in Sources */, - 2945494B1D295C5500B90302 /* LyricLanguage.cpp in Sources */, - 294548621D295C5500B90302 /* BassStepAttributes.cpp in Sources */, - 294549D11D295C5500B90302 /* Play.cpp in Sources */, - 294549A91D295C5500B90302 /* OtherPlay.cpp in Sources */, - 294549371D295C5500B90302 /* KeyOctave.cpp in Sources */, - 294549C21D295C5500B90302 /* PartwiseMeasure.cpp in Sources */, - 29C51A4D1D9F061600EAA308 /* MeasureLocation.cpp in Sources */, - 294548E51D295C5500B90302 /* FirstFretAttributes.cpp in Sources */, - 29454A1F1D295C5500B90302 /* StaffTuning.cpp in Sources */, - 2945485E1D295C5500B90302 /* Bass.cpp in Sources */, - 294549FD1D295C5500B90302 /* ScoreTimewise.cpp in Sources */, - 2945485F1D295C5500B90302 /* BassAlter.cpp in Sources */, - 295C49371D2CB41E0015E349 /* NoteheadTextChoice.cpp in Sources */, - 292D1DD21D9A43A500CDD9F4 /* ClefData.cpp in Sources */, - 294549431D295C5500B90302 /* LineWidth.cpp in Sources */, - 29454A381D295C5500B90302 /* SyllabicTextGroup.cpp in Sources */, - 294549041D295C5500B90302 /* GroupNameAttributes.cpp in Sources */, - 2945497F1D295C5500B90302 /* NonArpeggiate.cpp in Sources */, - 29C01B1E1D130B690094BE61 /* Enums.cpp in Sources */, - 295DDE101D2C0D4D00A2881D /* FromXElement.cpp in Sources */, - 294549EB1D295C5500B90302 /* Rights.cpp in Sources */, - 2945486C1D295C5500B90302 /* BeatUnitDot.cpp in Sources */, - 2945489F1D295C5500B90302 /* DegreeValueAttributes.cpp in Sources */, - 29454A751D295C5500B90302 /* VirtualInstrument.cpp in Sources */, - 29E2B42C1DA8494900DC61EA /* LayoutFunctions.cpp in Sources */, - 294549631D295C5500B90302 /* MetronomeTupletAttributes.cpp in Sources */, - 294549B21D295C5500B90302 /* Pan.cpp in Sources */, - 2945498B1D295C5500B90302 /* NoteAttributes.cpp in Sources */, - 294548F31D295C5500B90302 /* FunctionAttributes.cpp in Sources */, - 294549701D295C5500B90302 /* Miscellaneous.cpp in Sources */, - 294549AC1D295C5500B90302 /* OtherTechnicalAttributes.cpp in Sources */, - 294549D31D295C5500B90302 /* Plop.cpp in Sources */, - 294548971D295C5500B90302 /* Defaults.cpp in Sources */, - 29454A2C1D295C5500B90302 /* Stress.cpp in Sources */, - 294548671D295C5500B90302 /* BeatRepeat.cpp in Sources */, - 294548DA1D295C5500B90302 /* FermataAttributes.cpp in Sources */, - 294548721D295C5500B90302 /* BendAttributes.cpp in Sources */, - 29454A3A1D295C5500B90302 /* SystemDividers.cpp in Sources */, - 2937D16E1D18D403001C2A1A /* XElementIterator.cpp in Sources */, - 2945484E1D295C5500B90302 /* ArrowAttributes.cpp in Sources */, - 294549A71D295C5500B90302 /* OtherOrnamentAttributes.cpp in Sources */, - 294549F41D295C5500B90302 /* Scoop.cpp in Sources */, - 294548991D295C5500B90302 /* DegreeAlter.cpp in Sources */, - 294548BA1D295C5500B90302 /* Dynamics.cpp in Sources */, - 294549511D295C5500B90302 /* MeasureNumbering.cpp in Sources */, - 2945483E1D295C5500B90302 /* AccidentalMarkAttributes.cpp in Sources */, - 29454A171D295C5500B90302 /* Staff.cpp in Sources */, - 29454A341D295C5500B90302 /* SuffixAttributes.cpp in Sources */, - 294549261D295C5500B90302 /* InstrumentName.cpp in Sources */, - 29454A391D295C5500B90302 /* SystemDistance.cpp in Sources */, - 29CDDA2D1DADCAF30022B1A3 /* PartWriter.cpp in Sources */, - 294548CD1D295C5500B90302 /* EncodingDescription.cpp in Sources */, - 29454A681D295C5500B90302 /* TupletNormal.cpp in Sources */, - 29C01B181D130B690094BE61 /* ElementInterface.cpp in Sources */, - 294548A71D295C5500B90302 /* DirectionAttributes.cpp in Sources */, - 294548E41D295C5500B90302 /* FirstFret.cpp in Sources */, - 294548D61D295C5500B90302 /* Falloff.cpp in Sources */, - 2945489D1D295C5500B90302 /* DegreeTypeAttributes.cpp in Sources */, - 294549ED1D295C5500B90302 /* Root.cpp in Sources */, - 29A16F841EB10CDB00D59278 /* PreciseDecimal.cpp in Sources */, - 294548C01D295C5500B90302 /* Elevation.cpp in Sources */, - 29454A541D295C5500B90302 /* Toe.cpp in Sources */, - 294548B21D295C5500B90302 /* DistanceAttributes.cpp in Sources */, - 29C01B061D130B690094BE61 /* AttributesInterface.cpp in Sources */, - 294548DD1D295C5500B90302 /* FiguredBass.cpp in Sources */, - 2945496D1D295C5500B90302 /* MidiProgram.cpp in Sources */, - 294549191D295C5500B90302 /* Hole.cpp in Sources */, - 29454A121D295C5500B90302 /* SoundingPitch.cpp in Sources */, - 294549F31D295C5500B90302 /* Schleifer.cpp in Sources */, - 29454A421D295C5500B90302 /* Tenuto.cpp in Sources */, - 294549061D295C5500B90302 /* GroupNameDisplayAttributes.cpp in Sources */, - 294549AA1D295C5500B90302 /* OtherPlayAttributes.cpp in Sources */, - 29454A4D1D295C5500B90302 /* TimeModification.cpp in Sources */, - 294549F51D295C5500B90302 /* Scordatura.cpp in Sources */, - 2983E3E01EB4303C007FCC34 /* ScoreData.cpp in Sources */, - 294549651D295C5500B90302 /* MidiBank.cpp in Sources */, - 2945497C1D295C5500B90302 /* MusicFont.cpp in Sources */, - 29C01B101D130B690094BE61 /* DocumentHeader.cpp in Sources */, - 294549461D295C5500B90302 /* LinkAttributes.cpp in Sources */, - 294548BC1D295C5500B90302 /* EditorialGroup.cpp in Sources */, - 294548F51D295C5500B90302 /* Glissando.cpp in Sources */, - 29E2B4371DA8494900DC61EA /* PartReader.cpp in Sources */, - 294549E91D295C5500B90302 /* RightDivider.cpp in Sources */, - 294549541D295C5500B90302 /* MeasureRepeatAttributes.cpp in Sources */, - 29C01B341D130B910094BE61 /* UtilityImpl.cpp in Sources */, - 29454A511D295C5500B90302 /* TimewiseMeasure.cpp in Sources */, - 2945491B1D295C5500B90302 /* HoleClosed.cpp in Sources */, - 294549C81D295C5500B90302 /* PedalTuning.cpp in Sources */, - 29C01B321D130B910094BE61 /* Utility.cpp in Sources */, - 2945497E1D295C5500B90302 /* Natural.cpp in Sources */, - 294548B81D295C5500B90302 /* DownBow.cpp in Sources */, - 294548AA1D295C5500B90302 /* DirectiveAttributes.cpp in Sources */, - 294549F61D295C5500B90302 /* ScoreHeaderGroup.cpp in Sources */, - 29454A801D295C5500B90302 /* Wood.cpp in Sources */, - 294548E81D295C5500B90302 /* Forward.cpp in Sources */, - 294549221D295C5500B90302 /* ImageAttributes.cpp in Sources */, - 2945490D1D295C5500B90302 /* HandbellAttributes.cpp in Sources */, - 29454A1E1D295C5500B90302 /* StaffSize.cpp in Sources */, - 294549D51D295C5500B90302 /* PluckAttributes.cpp in Sources */, - 294548691D295C5500B90302 /* Beats.cpp in Sources */, - 294548B61D295C5500B90302 /* Double.cpp in Sources */, - 294548AF1D295C5500B90302 /* DisplayTextAttributes.cpp in Sources */, - 294549E41D295C5500B90302 /* Release.cpp in Sources */, - 294548501D295C5500B90302 /* ArrowGroup.cpp in Sources */, - 29454A571D295C5500B90302 /* TopSystemDistance.cpp in Sources */, - 29454A6E1D295C5500B90302 /* TurnAttributes.cpp in Sources */, - 2937D1611D18D403001C2A1A /* PugiDoc.cpp in Sources */, - 29454A781D295C5500B90302 /* Voice.cpp in Sources */, - 29454A2E1D295C5500B90302 /* StringAttributes.cpp in Sources */, - 294549AF1D295C5500B90302 /* PageMargins.cpp in Sources */, - 294549881D295C5500B90302 /* NotationsAttributes.cpp in Sources */, - 294549A21D295C5500B90302 /* OtherDirection.cpp in Sources */, - 2937D15D1D18D403001C2A1A /* PugiAttribute.cpp in Sources */, - 294548861D295C5500B90302 /* Creator.cpp in Sources */, - 2937D1681D18D403001C2A1A /* XAttributeIterator.cpp in Sources */, - 294549951D295C5500B90302 /* OctaveShift.cpp in Sources */, - 294548CA1D295C5500B90302 /* EncoderAttributes.cpp in Sources */, - 294549DF1D295C5500B90302 /* PullOffAttributes.cpp in Sources */, - 294549B91D295C5500B90302 /* PartGroupAttributes.cpp in Sources */, - 294548841D295C5500B90302 /* ClefOctaveChange.cpp in Sources */, - 2945485B1D295C5500B90302 /* BarStyle.cpp in Sources */, - 294548541D295C5500B90302 /* Artificial.cpp in Sources */, - 294549A61D295C5500B90302 /* OtherOrnament.cpp in Sources */, - 294549BB1D295C5500B90302 /* PartList.cpp in Sources */, - 2945487A1D295C5500B90302 /* BreathMarkAttributes.cpp in Sources */, - 294549791D295C5500B90302 /* MultipleRestAttributes.cpp in Sources */, - 29C01B081D130B690094BE61 /* Color.cpp in Sources */, - 29454A371D295C5500B90302 /* Syllabic.cpp in Sources */, - 294549CD1D295C5500B90302 /* PerMinuteAttributes.cpp in Sources */, - 294549DE1D295C5500B90302 /* PullOff.cpp in Sources */, - 294549871D295C5500B90302 /* Notations.cpp in Sources */, - 29454A051D295C5500B90302 /* SlashAttributes.cpp in Sources */, - 294548C31D295C5500B90302 /* ElisionSyllabicGroup.cpp in Sources */, - 29454A231D295C5500B90302 /* Stem.cpp in Sources */, - 294549981D295C5500B90302 /* OffsetAttributes.cpp in Sources */, - 294548761D295C5500B90302 /* BottomMargin.cpp in Sources */, - 294549DB1D295C5500B90302 /* Print.cpp in Sources */, - 2945496F1D295C5500B90302 /* Millimeters.cpp in Sources */, - 294549351D295C5500B90302 /* KeyAttributes.cpp in Sources */, - 294549771D295C5500B90302 /* MovementTitle.cpp in Sources */, - 29E2B43B1DA8494900DC61EA /* TechnicalFunctions.cpp in Sources */, - 294549CE1D295C5500B90302 /* PerMinuteOrBeatUnitChoice.cpp in Sources */, - 29454A0D1D295C5500B90302 /* Software.cpp in Sources */, - 294549691D295C5500B90302 /* MidiDeviceInstrumentGroup.cpp in Sources */, - 294548D31D295C5500B90302 /* Extend.cpp in Sources */, - 294548E31D295C5500B90302 /* Fingernails.cpp in Sources */, - 29454A1B1D295C5500B90302 /* StaffLayout.cpp in Sources */, - 294548F91D295C5500B90302 /* GraceNoteGroup.cpp in Sources */, - 294549621D295C5500B90302 /* MetronomeTuplet.cpp in Sources */, - 294549181D295C5500B90302 /* HeelAttributes.cpp in Sources */, - 294548FE1D295C5500B90302 /* GroupAbbreviationDisplayAttributes.cpp in Sources */, - 294549C61D295C5500B90302 /* PedalAttributes.cpp in Sources */, - 29454A131D295C5500B90302 /* Source.cpp in Sources */, - 2945492D1D295C5500B90302 /* InvertedMordent.cpp in Sources */, - 2945493C1D295C5500B90302 /* Laughing.cpp in Sources */, - 294549EE1D295C5500B90302 /* RootAlter.cpp in Sources */, - 294549DC1D295C5500B90302 /* PrintAttributes.cpp in Sources */, - 29454A811D295C5500B90302 /* WordFont.cpp in Sources */, - 294548B51D295C5500B90302 /* Dot.cpp in Sources */, - 29454A661D295C5500B90302 /* TupletDot.cpp in Sources */, - 294548C61D295C5500B90302 /* EmptyLineAttributes.cpp in Sources */, - 294549451D295C5500B90302 /* Link.cpp in Sources */, - 29E2B4251DA8494900DC61EA /* ArticulationsFunctions.cpp in Sources */, - 294548DF1D295C5500B90302 /* FigureNumber.cpp in Sources */, - 294548C21D295C5500B90302 /* ElisionAttributes.cpp in Sources */, - 294549811D295C5500B90302 /* NonTraditionalKey.cpp in Sources */, - 294548CE1D295C5500B90302 /* Ending.cpp in Sources */, - 294548A61D295C5500B90302 /* Direction.cpp in Sources */, - 2945493A1D295C5500B90302 /* Kind.cpp in Sources */, - 294548B91D295C5500B90302 /* Duration.cpp in Sources */, - 294548DC1D295C5500B90302 /* Figure.cpp in Sources */, - 294549551D295C5500B90302 /* MeasureStyle.cpp in Sources */, - 29454A841D295C5500B90302 /* Work.cpp in Sources */, - 294548AE1D295C5500B90302 /* DisplayText.cpp in Sources */, - 294549761D295C5500B90302 /* MovementNumber.cpp in Sources */, - 29454A211D295C5500B90302 /* StaffType.cpp in Sources */, - 294549581D295C5500B90302 /* Membrane.cpp in Sources */, - 294548AD1D295C5500B90302 /* DisplayStepOctaveGroup.cpp in Sources */, - 29454A7A1D295C5500B90302 /* WavyLine.cpp in Sources */, - 29454A2F1D295C5500B90302 /* StringMute.cpp in Sources */, - 294549D01D295C5500B90302 /* Pitched.cpp in Sources */, - 29454A7F1D295C5500B90302 /* WithBarAttributes.cpp in Sources */, - 29454A3C1D295C5500B90302 /* SystemMargins.cpp in Sources */, - 294548A51D295C5500B90302 /* Diatonic.cpp in Sources */, - 294548B71D295C5500B90302 /* DoubleTongue.cpp in Sources */, - 29454A191D295C5500B90302 /* StaffDetailsAttributes.cpp in Sources */, - 2945491F1D295C5500B90302 /* Humming.cpp in Sources */, - 29454A581D295C5500B90302 /* TouchingPitch.cpp in Sources */, - 294548781D295C5500B90302 /* BracketAttributes.cpp in Sources */, - 2945499E1D295C5500B90302 /* OtherAppearance.cpp in Sources */, - 29398BB01DB1917B00475CD5 /* NotationsWriter.cpp in Sources */, - 2945490A1D295C5500B90302 /* HammerOn.cpp in Sources */, - 294549491D295C5500B90302 /* LyricFont.cpp in Sources */, - 294549381D295C5500B90302 /* KeyOctaveAttributes.cpp in Sources */, - 294548811D295C5500B90302 /* CircularArrow.cpp in Sources */, - 294548601D295C5500B90302 /* BassAlterAttributes.cpp in Sources */, - 294548D91D295C5500B90302 /* Fermata.cpp in Sources */, - 2945487D1D295C5500B90302 /* CancelAttributes.cpp in Sources */, - 2945491C1D295C5500B90302 /* HoleClosedAttributes.cpp in Sources */, - 29454A241D295C5500B90302 /* StemAttributes.cpp in Sources */, - 2904A4D51D301D5A00A39CC6 /* Encoding.cpp in Sources */, - 2945499F1D295C5500B90302 /* OtherAppearanceAttributes.cpp in Sources */, - 294549B81D295C5500B90302 /* PartGroup.cpp in Sources */, - 29454A6B1D295C5500B90302 /* TupletType.cpp in Sources */, - 294548611D295C5500B90302 /* BassStep.cpp in Sources */, - 294549421D295C5500B90302 /* Line.cpp in Sources */, - 29E9EA371DA4A80A0040183B /* PitchData.cpp in Sources */, - 294549BF1D295C5500B90302 /* PartNameDisplayAttributes.cpp in Sources */, - 294549F91D295C5500B90302 /* ScorePart.cpp in Sources */, - 294549E11D295C5500B90302 /* RehearsalAttributes.cpp in Sources */, - 2945489E1D295C5500B90302 /* DegreeValue.cpp in Sources */, - 294548431D295C5500B90302 /* AccordionHigh.cpp in Sources */, - 2945494F1D295C5500B90302 /* MeasureDistance.cpp in Sources */, - 294549D91D295C5500B90302 /* PrincipalVoice.cpp in Sources */, - 294549E61D295C5500B90302 /* RepeatAttributes.cpp in Sources */, - 29454A091D295C5500B90302 /* SlideAttributes.cpp in Sources */, - 29454A0B1D295C5500B90302 /* SlurAttributes.cpp in Sources */, - 294548D01D295C5500B90302 /* EndLine.cpp in Sources */, - 2945498A1D295C5500B90302 /* Note.cpp in Sources */, - 294549671D295C5500B90302 /* MidiDevice.cpp in Sources */, - 2945487E1D295C5500B90302 /* Capo.cpp in Sources */, - 294548CC1D295C5500B90302 /* EncodingDate.cpp in Sources */, - 294549DD1D295C5500B90302 /* Properties.cpp in Sources */, - 294548AC1D295C5500B90302 /* DisplayStep.cpp in Sources */, - 294549641D295C5500B90302 /* MetronomeType.cpp in Sources */, - 2945493F1D295C5500B90302 /* LeftMargin.cpp in Sources */, - 29454A3E1D295C5500B90302 /* TapAttributes.cpp in Sources */, - 294548A91D295C5500B90302 /* Directive.cpp in Sources */, - 29454A2B1D295C5500B90302 /* Stopped.cpp in Sources */, - 294549CB1D295C5500B90302 /* PercussionChoice.cpp in Sources */, - 294548961D295C5500B90302 /* DashesAttributes.cpp in Sources */, - 294548C41D295C5500B90302 /* ElisionSyllabicTextGroup.cpp in Sources */, - 29454A001D295C5500B90302 /* SemiPitched.cpp in Sources */, - 294549751D295C5500B90302 /* MordentAttributes.cpp in Sources */, - 29454A7C1D295C5500B90302 /* Wedge.cpp in Sources */, - 294549361D295C5500B90302 /* KeyChoice.cpp in Sources */, - 29454A441D295C5500B90302 /* TextAttributes.cpp in Sources */, - 2945492C1D295C5500B90302 /* InversionAttributes.cpp in Sources */, - 294549D21D295C5500B90302 /* PlayAttributes.cpp in Sources */, - 294549891D295C5500B90302 /* NotationsChoice.cpp in Sources */, - 294548951D295C5500B90302 /* Dashes.cpp in Sources */, - 294549E81D295C5500B90302 /* RestAttributes.cpp in Sources */, - 294549F71D295C5500B90302 /* ScoreInstrument.cpp in Sources */, - 29454A081D295C5500B90302 /* Slide.cpp in Sources */, - 294548E91D295C5500B90302 /* Frame.cpp in Sources */, - 29454A281D295C5500B90302 /* StickLocation.cpp in Sources */, - 294548FB1D295C5500B90302 /* GroupAbbreviation.cpp in Sources */, - 294548921D295C5500B90302 /* CueNoteGroup.cpp in Sources */, - 2945490E1D295C5500B90302 /* Harmonic.cpp in Sources */, - 294548871D295C5500B90302 /* CreatorAttributes.cpp in Sources */, - 2937D1651D18D403001C2A1A /* PugiElementIterImpl.cpp in Sources */, - 2945486D1D295C5500B90302 /* BeatUnitGroup.cpp in Sources */, - 294548CB1D295C5500B90302 /* EncodingChoice.cpp in Sources */, - 294549CF1D295C5500B90302 /* Pitch.cpp in Sources */, - 294548981D295C5500B90302 /* Degree.cpp in Sources */, - 294549211D295C5500B90302 /* Image.cpp in Sources */, - 2945484D1D295C5500B90302 /* Arrow.cpp in Sources */, - 29C01B0C1D130B690094BE61 /* Decimals.cpp in Sources */, - 294548A31D295C5500B90302 /* DelayedTurnAttributes.cpp in Sources */, - 294548EB1D295C5500B90302 /* FrameFrets.cpp in Sources */, - 29454A0C1D295C5500B90302 /* SnapPizzicato.cpp in Sources */, - 294548BF1D295C5500B90302 /* Effect.cpp in Sources */, - 294548F61D295C5500B90302 /* GlissandoAttributes.cpp in Sources */, - 294549241D295C5500B90302 /* InstrumentAbbreviation.cpp in Sources */, - 294549731D295C5500B90302 /* Mode.cpp in Sources */, - 294549251D295C5500B90302 /* InstrumentAttributes.cpp in Sources */, - 29454A1A1D295C5500B90302 /* StaffDistance.cpp in Sources */, - 294548E11D295C5500B90302 /* Fingering.cpp in Sources */, - 2945495F1D295C5500B90302 /* MetronomeNote.cpp in Sources */, - 294549531D295C5500B90302 /* MeasureRepeat.cpp in Sources */, - 2945490C1D295C5500B90302 /* Handbell.cpp in Sources */, - 2945484A1D295C5500B90302 /* Appearance.cpp in Sources */, - 2945488E1D295C5500B90302 /* CreditWords.cpp in Sources */, - 294549B01D295C5500B90302 /* PageMarginsAttributes.cpp in Sources */, - 29454A5E1D295C5500B90302 /* TrillMark.cpp in Sources */, - 29E2B42F1DA8494900DC61EA /* MeasureReader.cpp in Sources */, - 294548EE1D295C5500B90302 /* Fret.cpp in Sources */, - 2945497B1D295C5500B90302 /* MusicDataGroup.cpp in Sources */, - 2945499D1D295C5500B90302 /* OrnamentsChoice.cpp in Sources */, - 294549A51D295C5500B90302 /* OtherNotationAttributes.cpp in Sources */, - 294549F81D295C5500B90302 /* ScoreInstrumentAttributes.cpp in Sources */, - 294549CA1D295C5500B90302 /* PercussionAttributes.cpp in Sources */, - 29454A0F1D295C5500B90302 /* SoloOrEnsembleChoice.cpp in Sources */, - 294548C71D295C5500B90302 /* EmptyPlacementAttributes.cpp in Sources */, - 294548941D295C5500B90302 /* DampAll.cpp in Sources */, - 294549F11D295C5500B90302 /* RootStepAttributes.cpp in Sources */, - 29C01B201D130B690094BE61 /* FontSize.cpp in Sources */, - 29454A481D295C5500B90302 /* Tied.cpp in Sources */, - 294549281D295C5500B90302 /* InstrumentSound.cpp in Sources */, - 294548B11D295C5500B90302 /* Distance.cpp in Sources */, - 294548A81D295C5500B90302 /* DirectionType.cpp in Sources */, - 29E2B4271DA8494900DC61EA /* Cursor.cpp in Sources */, - 29454A031D295C5500B90302 /* Sign.cpp in Sources */, - 29454A291D295C5500B90302 /* StickMaterial.cpp in Sources */, - 294548A01D295C5500B90302 /* DelayedInvertedTurn.cpp in Sources */, - 2945494E1D295C5500B90302 /* MeasureAttributes.cpp in Sources */, - 2945487F1D295C5500B90302 /* Chord.cpp in Sources */, - 294549C41D295C5500B90302 /* Pedal.cpp in Sources */, - 294549FC1D295C5500B90302 /* ScorePartwiseAttributes.cpp in Sources */, - 29454A851D295C5500B90302 /* WorkNumber.cpp in Sources */, - 2945486F1D295C5500B90302 /* BeatUnitPerOrNoteRelationNoteChoice.cpp in Sources */, - 294548F41D295C5500B90302 /* Glass.cpp in Sources */, - 294549C31D295C5500B90302 /* PartwisePart.cpp in Sources */, - 29454A401D295C5500B90302 /* TechnicalChoice.cpp in Sources */, - 294549821D295C5500B90302 /* NormalDot.cpp in Sources */, - 294548D71D295C5500B90302 /* Feature.cpp in Sources */, - 294548451D295C5500B90302 /* AccordionMiddle.cpp in Sources */, - 29454A5D1D295C5500B90302 /* TremoloAttributes.cpp in Sources */, - 29C01B2A1D130B690094BE61 /* YesNoNumber.cpp in Sources */, - 294549141D295C5500B90302 /* HarmonyChordGroup.cpp in Sources */, - 29454A221D295C5500B90302 /* Staves.cpp in Sources */, - 2945495E1D295C5500B90302 /* MetronomeDot.cpp in Sources */, - 29454A351D295C5500B90302 /* Supports.cpp in Sources */, - 294549711D295C5500B90302 /* MiscellaneousField.cpp in Sources */, - 294548EF1D295C5500B90302 /* FretAttributes.cpp in Sources */, - 2945488C1D295C5500B90302 /* CreditImageAttributes.cpp in Sources */, - 294549031D295C5500B90302 /* GroupName.cpp in Sources */, - 294549681D295C5500B90302 /* MidiDeviceAttributes.cpp in Sources */, - 294549B61D295C5500B90302 /* PartAbbreviationDisplayAttributes.cpp in Sources */, - 294549841D295C5500B90302 /* NormalNotes.cpp in Sources */, - 29454A261D295C5500B90302 /* Stick.cpp in Sources */, - 294549301D295C5500B90302 /* InvertedTurnAttributes.cpp in Sources */, - 294549501D295C5500B90302 /* MeasureLayout.cpp in Sources */, - 29454A101D295C5500B90302 /* Sound.cpp in Sources */, - 294549561D295C5500B90302 /* MeasureStyleAttributes.cpp in Sources */, - 294548FC1D295C5500B90302 /* GroupAbbreviationAttributes.cpp in Sources */, - 29454A6C1D295C5500B90302 /* TupletTypeAttributes.cpp in Sources */, - 29454A321D295C5500B90302 /* StrongAccentAttributes.cpp in Sources */, - 294549001D295C5500B90302 /* GroupBarlineAttributes.cpp in Sources */, - 294549131D295C5500B90302 /* HarmonyAttributes.cpp in Sources */, - 2945496C1D295C5500B90302 /* MidiName.cpp in Sources */, - 294548511D295C5500B90302 /* ArrowStyle.cpp in Sources */, - 29766ACC1DAC149900CCE2AC /* DirectionReader.cpp in Sources */, - 294548A11D295C5500B90302 /* DelayedInvertedTurnAttributes.cpp in Sources */, - 294549921D295C5500B90302 /* NoteSizeAttributes.cpp in Sources */, - 292C3ADB1E8B13FD001A0CB9 /* WordsData.cpp in Sources */, - 29454A331D295C5500B90302 /* Suffix.cpp in Sources */, - 2945484C1D295C5500B90302 /* ArpeggiateAttributes.cpp in Sources */, - 29B7C4691DAFFDBA009D7D8F /* MeasureWriter.cpp in Sources */, - 294548E01D295C5500B90302 /* FigureNumberAttributes.cpp in Sources */, - 294549441D295C5500B90302 /* LineWidthAttributes.cpp in Sources */, - 2945496B1D295C5500B90302 /* MidiInstrumentAttributes.cpp in Sources */, - 2945492F1D295C5500B90302 /* InvertedTurn.cpp in Sources */, - 29454A861D295C5500B90302 /* WorkTitle.cpp in Sources */, - 29454A831D295C5500B90302 /* WordsAttributes.cpp in Sources */, - 294548851D295C5500B90302 /* Coda.cpp in Sources */, - 29454A4B1D295C5500B90302 /* TimeAttributes.cpp in Sources */, - 2945494A1D295C5500B90302 /* LyricFontAttributes.cpp in Sources */, - 294549201D295C5500B90302 /* Identification.cpp in Sources */, - 294549471D295C5500B90302 /* Lyric.cpp in Sources */, - 294548D41D295C5500B90302 /* ExtendAttributes.cpp in Sources */, - 294549BD1D295C5500B90302 /* PartNameAttributes.cpp in Sources */, - 294548631D295C5500B90302 /* Beam.cpp in Sources */, - 29C01B601D130BBE0094BE61 /* pugixml.cpp in Sources */, - 294549931D295C5500B90302 /* Octave.cpp in Sources */, - 294548F81D295C5500B90302 /* GraceAttributes.cpp in Sources */, - 294548681D295C5500B90302 /* BeatRepeatAttributes.cpp in Sources */, - 294548CF1D295C5500B90302 /* EndingAttributes.cpp in Sources */, - 294549B31D295C5500B90302 /* PartAbbreviation.cpp in Sources */, - 294548531D295C5500B90302 /* ArticulationsChoice.cpp in Sources */, - 29454A271D295C5500B90302 /* StickAttributes.cpp in Sources */, - 29454A071D295C5500B90302 /* SlashType.cpp in Sources */, - 294548D81D295C5500B90302 /* FeatureAttributes.cpp in Sources */, - 29E2B4321DA8494900DC61EA /* NoteReader.cpp in Sources */, - 2951A0C51D60F3B700B49A13 /* ScoreConversions.cpp in Sources */, - 294548FA1D295C5500B90302 /* Group.cpp in Sources */, - 29979D671DC830AA00707AA4 /* DynamicsWriter.cpp in Sources */, - 29454A6D1D295C5500B90302 /* Turn.cpp in Sources */, - 2945499A1D295C5500B90302 /* Opus.cpp in Sources */, - 29454A4F1D295C5500B90302 /* TimeRelation.cpp in Sources */, - 294549BA1D295C5500B90302 /* PartGroupOrScorePart.cpp in Sources */, - 2945495D1D295C5500B90302 /* MetronomeBeamAttributes.cpp in Sources */, - 29454A5F1D295C5500B90302 /* TripleTongue.cpp in Sources */, - 294548491D295C5500B90302 /* Alter.cpp in Sources */, - 2945484B1D295C5500B90302 /* Arpeggiate.cpp in Sources */, - 29454A3D1D295C5500B90302 /* Tap.cpp in Sources */, - 29454A1C1D295C5500B90302 /* StaffLayoutAttributes.cpp in Sources */, - 294549781D295C5500B90302 /* MultipleRest.cpp in Sources */, - 29454A151D295C5500B90302 /* Staccatissimo.cpp in Sources */, - 29454A721D295C5500B90302 /* Unstress.cpp in Sources */, - 294549341D295C5500B90302 /* KeyAlter.cpp in Sources */, - 29454A621D295C5500B90302 /* TuningStep.cpp in Sources */, - 294549021D295C5500B90302 /* GroupingAttributes.cpp in Sources */, - 294549AD1D295C5500B90302 /* PageHeight.cpp in Sources */, - 294549801D295C5500B90302 /* NonArpeggiateAttributes.cpp in Sources */, - 294549171D295C5500B90302 /* Heel.cpp in Sources */, - 294548F71D295C5500B90302 /* Grace.cpp in Sources */, - 29454A251D295C5500B90302 /* Step.cpp in Sources */, - 294548E61D295C5500B90302 /* Footnote.cpp in Sources */, - 29C29B881DAEC00C00D3A884 /* ScoreReader.cpp in Sources */, - 2945486A1D295C5500B90302 /* BeatType.cpp in Sources */, - 294549151D295C5500B90302 /* HarpPedals.cpp in Sources */, - 294548931D295C5500B90302 /* Damp.cpp in Sources */, - 2945492E1D295C5500B90302 /* InvertedMordentAttributes.cpp in Sources */, - 294549911D295C5500B90302 /* NoteSize.cpp in Sources */, - 2945491A1D295C5500B90302 /* HoleAttributes.cpp in Sources */, - 294549D61D295C5500B90302 /* PreBend.cpp in Sources */, - 29454A1D1D295C5500B90302 /* StaffLines.cpp in Sources */, - 294548BB1D295C5500B90302 /* DynamicsAttributes.cpp in Sources */, - 2945498D1D295C5500B90302 /* Notehead.cpp in Sources */, - 29E9EA391DA4A80A0040183B /* DurationData.cpp in Sources */, - 2945498F1D295C5500B90302 /* NoteheadText.cpp in Sources */, - 2945498E1D295C5500B90302 /* NoteheadAttributes.cpp in Sources */, - 294548571D295C5500B90302 /* Barline.cpp in Sources */, - 29454A4C1D295C5500B90302 /* TimeChoice.cpp in Sources */, - 2945483F1D295C5500B90302 /* AccidentalText.cpp in Sources */, - 294548F21D295C5500B90302 /* Function.cpp in Sources */, - 294549FF1D295C5500B90302 /* Segno.cpp in Sources */, - 29C01B221D130B690094BE61 /* Integers.cpp in Sources */, - 29454A601D295C5500B90302 /* TuningAlter.cpp in Sources */, - 2945495C1D295C5500B90302 /* MetronomeBeam.cpp in Sources */, - 294548C51D295C5500B90302 /* EmptyFontAttributes.cpp in Sources */, - 294548E21D295C5500B90302 /* FingeringAttributes.cpp in Sources */, - 2945488F1D295C5500B90302 /* CreditWordsAttributes.cpp in Sources */, - 294549481D295C5500B90302 /* LyricAttributes.cpp in Sources */, - 294549C51D295C5500B90302 /* PedalAlter.cpp in Sources */, - 294549521D295C5500B90302 /* MeasureNumberingAttributes.cpp in Sources */, - 2945499B1D295C5500B90302 /* OpusAttributes.cpp in Sources */, - 294548401D295C5500B90302 /* AccidentalTextAttributes.cpp in Sources */, - 294549AB1D295C5500B90302 /* OtherTechnical.cpp in Sources */, - 2945495A1D295C5500B90302 /* Metronome.cpp in Sources */, - 294548471D295C5500B90302 /* AccordionRegistrationAttributes.cpp in Sources */, - 29454A2A1D295C5500B90302 /* StickType.cpp in Sources */, - 294548561D295C5500B90302 /* Backup.cpp in Sources */, - 294549831D295C5500B90302 /* NormalNoteGroup.cpp in Sources */, - 29766AC81DAC014300CCE2AC /* MetronomeReader.cpp in Sources */, - 2945491D1D295C5500B90302 /* HoleShape.cpp in Sources */, - 2945490B1D295C5500B90302 /* HammerOnAttributes.cpp in Sources */, - 294548B41D295C5500B90302 /* Doit.cpp in Sources */, - 294548551D295C5500B90302 /* AttributesIterface.cpp in Sources */, - 294549311D295C5500B90302 /* Ipa.cpp in Sources */, - 294548411D295C5500B90302 /* Accord.cpp in Sources */, - 29454A061D295C5500B90302 /* SlashDot.cpp in Sources */, - 294548741D295C5500B90302 /* Bookmark.cpp in Sources */, - 2945486B1D295C5500B90302 /* BeatUnit.cpp in Sources */, - 294549661D295C5500B90302 /* MidiChannel.cpp in Sources */, - 29454A461D295C5500B90302 /* Tie.cpp in Sources */, - 294549BE1D295C5500B90302 /* PartNameDisplay.cpp in Sources */, - 294548BD1D295C5500B90302 /* EditorialVoiceDirectionGroup.cpp in Sources */, - 2945495B1D295C5500B90302 /* MetronomeAttributes.cpp in Sources */, - 294548E71D295C5500B90302 /* FootnoteAttributes.cpp in Sources */, - 29454A761D295C5500B90302 /* VirtualLibrary.cpp in Sources */, - 294548A21D295C5500B90302 /* DelayedTurn.cpp in Sources */, - 29CD72281DB806FD00FB7153 /* PropertiesWriter.cpp in Sources */, - 2945492B1D295C5500B90302 /* Inversion.cpp in Sources */, - 294549101D295C5500B90302 /* HarmonicInfoChoice.cpp in Sources */, - 29454A181D295C5500B90302 /* StaffDetails.cpp in Sources */, - 294548ED1D295C5500B90302 /* FrameStrings.cpp in Sources */, - 2945494D1D295C5500B90302 /* LyricTextChoice.cpp in Sources */, - 2945498C1D295C5500B90302 /* NoteChoice.cpp in Sources */, - 29454A3B1D295C5500B90302 /* SystemLayout.cpp in Sources */, - 294549A31D295C5500B90302 /* OtherDirectionAttributes.cpp in Sources */, - 29C01B261D130B690094BE61 /* PositiveIntegerOrEmpty.cpp in Sources */, - 29E2B4261DA8494900DC61EA /* Converter.cpp in Sources */, - 2937D1631D18D403001C2A1A /* PugiElement.cpp in Sources */, - 2945489A1D295C5500B90302 /* DegreeAlterAttributes.cpp in Sources */, - 294549851D295C5500B90302 /* NormalType.cpp in Sources */, - 2945489B1D295C5500B90302 /* DegreeAttributes.cpp in Sources */, - 294549E71D295C5500B90302 /* Rest.cpp in Sources */, - 2945499C1D295C5500B90302 /* Ornaments.cpp in Sources */, - 2945493B1D295C5500B90302 /* KindAttributes.cpp in Sources */, - 294548D21D295C5500B90302 /* Ensemble.cpp in Sources */, - 29454A451D295C5500B90302 /* ThumbPosition.cpp in Sources */, - 294548F11D295C5500B90302 /* FullNoteTypeChoice.cpp in Sources */, - 294548C11D295C5500B90302 /* Elision.cpp in Sources */, - 294549D41D295C5500B90302 /* Pluck.cpp in Sources */, - 2945487C1D295C5500B90302 /* Cancel.cpp in Sources */, - 29454A821D295C5500B90302 /* Words.cpp in Sources */, - 294548651D295C5500B90302 /* Beater.cpp in Sources */, - 294548AB1D295C5500B90302 /* DisplayOctave.cpp in Sources */, - 294548831D295C5500B90302 /* ClefAttributes.cpp in Sources */, - 2945484F1D295C5500B90302 /* ArrowDirection.cpp in Sources */, - 29454A561D295C5500B90302 /* TopMargin.cpp in Sources */, - 29E2B4331DA8494900DC61EA /* OrnamentsFunctions.cpp in Sources */, - 294548EC1D295C5500B90302 /* FrameNote.cpp in Sources */, - 29454A7E1D295C5500B90302 /* WithBar.cpp in Sources */, - 2945485C1D295C5500B90302 /* BarStyleAttributes.cpp in Sources */, - 294549331D295C5500B90302 /* KeyAccidental.cpp in Sources */, - 29E9EA381DA4A80A0040183B /* NoteData.cpp in Sources */, - 29EF44111D6E997100DBDAB9 /* DocumentManager.cpp in Sources */, - 2945485D1D295C5500B90302 /* BasePitch.cpp in Sources */, - 294549091D295C5500B90302 /* GroupTime.cpp in Sources */, - 29454A741D295C5500B90302 /* VerticalTurn.cpp in Sources */, - 2945491E1D295C5500B90302 /* HoleType.cpp in Sources */, - 294548891D295C5500B90302 /* CreditAttributes.cpp in Sources */, - 29454A701D295C5500B90302 /* TypeAttributes.cpp in Sources */, - 29454A3F1D295C5500B90302 /* Technical.cpp in Sources */, - 294549741D295C5500B90302 /* Mordent.cpp in Sources */, - 2945497A1D295C5500B90302 /* MusicDataChoice.cpp in Sources */, - 29E2B4291DA8494900DC61EA /* DynamicsReader.cpp in Sources */, + 29A8F2371EF0476800AD2478 /* OtherNotation.cpp in Sources */, + 29A8F2411EF0476800AD2478 /* OtherNotationAttributes.cpp in Sources */, + 29A8E2F61EF0476300AD2478 /* DurationData.cpp in Sources */, + 29A8EE3B1EF0476600AD2478 /* LeftMargin.cpp in Sources */, + 29A8EAF31EF0476500AD2478 /* FrameFrets.cpp in Sources */, + 29A8EE311EF0476600AD2478 /* LeftDivider.cpp in Sources */, + 29A8F0391EF0476700AD2478 /* MiscellaneousFieldAttributes.cpp in Sources */, + 29A8E3B91EF0476300AD2478 /* Color.cpp in Sources */, + 29A8FA111EF0476C00AD2478 /* TupletTypeAttributes.cpp in Sources */, + 29A8F0071EF0476700AD2478 /* MidiProgram.cpp in Sources */, + 29A8EE591EF0476600AD2478 /* Line.cpp in Sources */, + 29A8E85F1EF0476400AD2478 /* DirectiveAttributes.cpp in Sources */, + 29A8F6741EF0476A00AD2478 /* Sound.cpp in Sources */, + 29A8EADF1EF0476500AD2478 /* Frame.cpp in Sources */, + 29A8F01B1EF0476700AD2478 /* Millimeters.cpp in Sources */, + 29A8E6931EF0476300AD2478 /* Cancel.cpp in Sources */, + 29A8E5351EF0476300AD2478 /* Barre.cpp in Sources */, + 29A8F91C1EF0476C00AD2478 /* Toe.cpp in Sources */, + 29A8EB391EF0476500AD2478 /* Function.cpp in Sources */, + 29A8E6D91EF0476400AD2478 /* ClefAttributes.cpp in Sources */, + 29A8EB251EF0476500AD2478 /* FullNoteGroup.cpp in Sources */, + 29A8F7001EF0476A00AD2478 /* StaffSize.cpp in Sources */, + 29A8E41D1EF0476300AD2478 /* AccidentalMark.cpp in Sources */, + 29A8EFDF1EF0476700AD2478 /* MidiDeviceInstrumentGroup.cpp in Sources */, + 29A8E73D1EF0476400AD2478 /* CreditType.cpp in Sources */, + 29A8F0E31EF0476700AD2478 /* NormalNoteGroup.cpp in Sources */, + 29A8FB0B1EF0476D00AD2478 /* WorkNumber.cpp in Sources */, + 29A8EFD51EF0476700AD2478 /* MidiDeviceAttributes.cpp in Sources */, + 29A8EAA31EF0476500AD2478 /* Fingernails.cpp in Sources */, + 29A8ED691EF0476600AD2478 /* InterchangeableAttributes.cpp in Sources */, + 29A8E8FF1EF0476400AD2478 /* Dynamics.cpp in Sources */, + 29A8EC1F1EF0476500AD2478 /* GroupTime.cpp in Sources */, + 29A8FA751EF0476D00AD2478 /* VirtualLibrary.cpp in Sources */, + 29A8EA491EF0476500AD2478 /* FermataAttributes.cpp in Sources */, + 29A8F6CE1EF0476A00AD2478 /* StaffDetailsAttributes.cpp in Sources */, + 29A8F5DE1EF0476A00AD2478 /* SenzaMisura.cpp in Sources */, + 29A8EAC11EF0476500AD2478 /* Footnote.cpp in Sources */, + 29A8E3F51EF0476300AD2478 /* ElementInterface.cpp in Sources */, + 29A8F70A1EF0476B00AD2478 /* StaffTuning.cpp in Sources */, + 29A8E53F1EF0476300AD2478 /* BarreAttributes.cpp in Sources */, + 29A8F1651EF0476800AD2478 /* NoteheadTextChoice.cpp in Sources */, + 29A8E80F1EF0476400AD2478 /* DelayedTurn.cpp in Sources */, + 29A8EB571EF0476500AD2478 /* Glissando.cpp in Sources */, + 29A8F06B1EF0476700AD2478 /* MovementTitle.cpp in Sources */, + 29A8E9591EF0476400AD2478 /* ElisionSyllabicGroup.cpp in Sources */, + 29A8EA2B1EF0476500AD2478 /* Feature.cpp in Sources */, + 29A8EC331EF0476500AD2478 /* HammerOnAttributes.cpp in Sources */, + 29A8F4441EF0476900AD2478 /* PrefixAttributes.cpp in Sources */, + 29A8E6571EF0476300AD2478 /* BottomMargin.cpp in Sources */, + 29A8F0751EF0476700AD2478 /* MultipleRest.cpp in Sources */, + 29A8E4591EF0476300AD2478 /* AccordionHigh.cpp in Sources */, + 29A8EB1B1EF0476500AD2478 /* FretAttributes.cpp in Sources */, + 29A8E5711EF0476300AD2478 /* BassAlter.cpp in Sources */, + 29A8EE951EF0476600AD2478 /* LyricAttributes.cpp in Sources */, + 29A8F25F1EF0476800AD2478 /* OtherPercussion.cpp in Sources */, + 29A8E9EF1EF0476500AD2478 /* EndParagraph.cpp in Sources */, + 29A8F6E21EF0476A00AD2478 /* StaffLayout.cpp in Sources */, + 29A8F0611EF0476700AD2478 /* MovementNumber.cpp in Sources */, + 29A8F4B21EF0476900AD2478 /* RelationAttributes.cpp in Sources */, + 29A8F2E11EF0476800AD2478 /* PartAbbreviationDisplay.cpp in Sources */, + 29A8E5031EF0476300AD2478 /* Artificial.cpp in Sources */, + 29A8EA991EF0476500AD2478 /* FingeringAttributes.cpp in Sources */, + 29A8F7B41EF0476B00AD2478 /* StringMuteAttributes.cpp in Sources */, + 29A8E7AB1EF0476400AD2478 /* Degree.cpp in Sources */, + 29A8F3451EF0476800AD2478 /* PartNameDisplayAttributes.cpp in Sources */, + 29A8E89B1EF0476400AD2478 /* DisplayTextOrAccidentalText.cpp in Sources */, + 29A8FB791EF0476D00AD2478 /* PreciseDecimal.cpp in Sources */, + 29A8EF8F1EF0476700AD2478 /* MetronomeRelationGroup.cpp in Sources */, + 29A8F4E41EF0476900AD2478 /* RestAttributes.cpp in Sources */, + 29A8EF351EF0476700AD2478 /* Membrane.cpp in Sources */, + 29A8ED7D1EF0476600AD2478 /* InversionAttributes.cpp in Sources */, + 29A8EEC71EF0476600AD2478 /* LyricTextChoice.cpp in Sources */, + 29A8E6111EF0476300AD2478 /* BeatUnitPerOrNoteRelationNoteChoice.cpp in Sources */, + 29A8FCBE1EF0476E00AD2478 /* ScoreWriter.cpp in Sources */, + 29A8F22D1EF0476800AD2478 /* OtherDirectionAttributes.cpp in Sources */, + 29A8F9801EF0476C00AD2478 /* TrillMark.cpp in Sources */, + 29A8EEDB1EF0476600AD2478 /* MeasureDistance.cpp in Sources */, + 29A8F2231EF0476800AD2478 /* OtherDirection.cpp in Sources */, + 29A8FC141EF0476E00AD2478 /* LcmGcd.cpp in Sources */, + 29A8F3811EF0476900AD2478 /* PedalAlter.cpp in Sources */, + 29A8F8181EF0476B00AD2478 /* SystemDividers.cpp in Sources */, + 29A8FD9A1EF0476F00AD2478 /* XElementIterator.cpp in Sources */, + 29A8E8EB1EF0476400AD2478 /* DownBow.cpp in Sources */, + 29A8F7E61EF0476B00AD2478 /* Supports.cpp in Sources */, + 29A8F4D01EF0476900AD2478 /* RepeatAttributes.cpp in Sources */, + 29A8F3631EF0476900AD2478 /* PartwiseMeasure.cpp in Sources */, + 29A8FAE31EF0476D00AD2478 /* WordFont.cpp in Sources */, + 29A8EA211EF0476500AD2478 /* Falloff.cpp in Sources */, + 29A8ECA11EF0476600AD2478 /* HarpPedalsAttributes.cpp in Sources */, + 29A8EBA71EF0476500AD2478 /* GroupAbbreviationDisplay.cpp in Sources */, + 29A8E9DB1EF0476500AD2478 /* EndingAttributes.cpp in Sources */, + 29A8F8CC1EF0476C00AD2478 /* TimeChoice.cpp in Sources */, + 29A8E5FD1EF0476300AD2478 /* BeatUnitGroup.cpp in Sources */, + 29A8EA671EF0476500AD2478 /* FiguredBass.cpp in Sources */, + 29A8F0931EF0476700AD2478 /* MusicDataGroup.cpp in Sources */, + 29A8F5521EF0476A00AD2478 /* Schleifer.cpp in Sources */, + 29A8EBC51EF0476500AD2478 /* GroupBarlineAttributes.cpp in Sources */, + 29A8EF991EF0476700AD2478 /* MetronomeTuplet.cpp in Sources */, + 29A8F7821EF0476B00AD2478 /* Stopped.cpp in Sources */, + 29A8F8FE1EF0476C00AD2478 /* TimewiseMeasure.cpp in Sources */, + 29A8F6561EF0476A00AD2478 /* Software.cpp in Sources */, + 29A8F16F1EF0476800AD2478 /* NoteRelationNote.cpp in Sources */, + 29A8E4BD1EF0476300AD2478 /* Arrow.cpp in Sources */, + 29A8F29B1EF0476800AD2478 /* PageLayout.cpp in Sources */, + 29A8F0891EF0476700AD2478 /* MusicDataChoice.cpp in Sources */, + 29A8F7FA1EF0476B00AD2478 /* Syllabic.cpp in Sources */, + 29A8F8B81EF0476C00AD2478 /* Time.cpp in Sources */, + 29A8E3A51EF0476300AD2478 /* WordsData.cpp in Sources */, + 29A8ED731EF0476600AD2478 /* Inversion.cpp in Sources */, + 29A8EAB71EF0476500AD2478 /* FirstFretAttributes.cpp in Sources */, + 29A8E5531EF0476300AD2478 /* BarStyleAttributes.cpp in Sources */, + 29A8E5171EF0476300AD2478 /* Backup.cpp in Sources */, + 29A8E84B1EF0476400AD2478 /* DirectionType.cpp in Sources */, + 29A8FCD21EF0476E00AD2478 /* StaffFunctions.cpp in Sources */, + 29A8FBDD1EF0476E00AD2478 /* DirectionWriter.cpp in Sources */, + 29A8F18D1EF0476800AD2478 /* Octave.cpp in Sources */, + 29A8EFC11EF0476700AD2478 /* MidiChannel.cpp in Sources */, + 29A8FD451EF0476E00AD2478 /* PugiAttribute.cpp in Sources */, + 29A8F6241EF0476A00AD2478 /* Slide.cpp in Sources */, + 29A8E8731EF0476400AD2478 /* DisplayStep.cpp in Sources */, + 29A8F67E1EF0476A00AD2478 /* SoundAttributes.cpp in Sources */, + 29A8E76F1EF0476400AD2478 /* CueNoteGroup.cpp in Sources */, + 29A8F2731EF0476800AD2478 /* OtherPlayAttributes.cpp in Sources */, + 29A8EE811EF0476600AD2478 /* LinkAttributes.cpp in Sources */, + 29A8EDB91EF0476600AD2478 /* Key.cpp in Sources */, + 29A8F4211EF0476900AD2478 /* PluckAttributes.cpp in Sources */, + 29A8EB431EF0476500AD2478 /* FunctionAttributes.cpp in Sources */, + 29A8EF7B1EF0476700AD2478 /* MetronomeNote.cpp in Sources */, + 29A8F4171EF0476900AD2478 /* Pluck.cpp in Sources */, + 29A8E8871EF0476400AD2478 /* DisplayText.cpp in Sources */, + 29A8E3CD1EF0476300AD2478 /* Decimals.cpp in Sources */, + 29A8F9441EF0476C00AD2478 /* TouchingPitch.cpp in Sources */, + 29A8E8A51EF0476400AD2478 /* Distance.cpp in Sources */, + 29A8ECBF1EF0476600AD2478 /* Hole.cpp in Sources */, + 29A8F4DA1EF0476900AD2478 /* Rest.cpp in Sources */, + 29A8EF531EF0476700AD2478 /* MetronomeAttributes.cpp in Sources */, + 29A8FA6B1EF0476D00AD2478 /* VirtualInstrument.cpp in Sources */, + 29A8E6B11EF0476400AD2478 /* Chord.cpp in Sources */, + 29A8E9771EF0476400AD2478 /* EmptyLineAttributes.cpp in Sources */, + 29A8F1C91EF0476800AD2478 /* OpenString.cpp in Sources */, + 29A8EF2B1EF0476700AD2478 /* MeasureStyleChoice.cpp in Sources */, + 29A8FB5B1EF0476D00AD2478 /* Integers.cpp in Sources */, + 29A8F4801EF0476900AD2478 /* PullOff.cpp in Sources */, + 29A8F15B1EF0476800AD2478 /* NoteheadText.cpp in Sources */, + 29A8E7D31EF0476400AD2478 /* DegreeType.cpp in Sources */, + 29A8F39F1EF0476900AD2478 /* PedalTuning.cpp in Sources */, + 29A8F93A1EF0476C00AD2478 /* TopSystemDistance.cpp in Sources */, + 29A8F20F1EF0476800AD2478 /* OtherArticulation.cpp in Sources */, + 29A8F82C1EF0476B00AD2478 /* SystemMargins.cpp in Sources */, + 29A8F34F1EF0476800AD2478 /* PartSymbol.cpp in Sources */, + 29A8F5D41EF0476A00AD2478 /* SemiPitched.cpp in Sources */, + 29A8F1791EF0476800AD2478 /* NoteSize.cpp in Sources */, + 29A8F2C31EF0476800AD2478 /* Pan.cpp in Sources */, + 29A8EA851EF0476500AD2478 /* FigureNumberAttributes.cpp in Sources */, + 29A8FD631EF0476F00AD2478 /* PugiElement.cpp in Sources */, + 29A8FBFB1EF0476E00AD2478 /* EncodingFunctions.cpp in Sources */, + 29A8EC651EF0476500AD2478 /* HarmonicInfoChoice.cpp in Sources */, + 29A8E3371EF0476300AD2478 /* NoteData.cpp in Sources */, + 29A8ED411EF0476600AD2478 /* InstrumentName.cpp in Sources */, + 29A8E99F1EF0476400AD2478 /* EncoderAttributes.cpp in Sources */, + 29A8EA3F1EF0476500AD2478 /* Fermata.cpp in Sources */, + 29A8E5CB1EF0476300AD2478 /* BeatRepeatAttributes.cpp in Sources */, + 29A8FAB11EF0476D00AD2478 /* Wedge.cpp in Sources */, + 29A8FABB1EF0476D00AD2478 /* WedgeAttributes.cpp in Sources */, + 29A8F6D81EF0476A00AD2478 /* StaffDistance.cpp in Sources */, + 29A8E4811EF0476300AD2478 /* AccordionRegistrationAttributes.cpp in Sources */, + 29A8F6101EF0476A00AD2478 /* SlashDot.cpp in Sources */, + 29A8E75B1EF0476400AD2478 /* CreditWordsGroup.cpp in Sources */, + 29A8F55C1EF0476A00AD2478 /* Scoop.cpp in Sources */, + 29A8F7D21EF0476B00AD2478 /* Suffix.cpp in Sources */, + 29A8F9BC1EF0476C00AD2478 /* TupletActual.cpp in Sources */, + 29A8E9A91EF0476400AD2478 /* Encoding.cpp in Sources */, + 29A8E6071EF0476300AD2478 /* BeatUnitPer.cpp in Sources */, + 29A8E7791EF0476400AD2478 /* Damp.cpp in Sources */, + 29A8F4BC1EF0476900AD2478 /* Release.cpp in Sources */, + 29A8F7281EF0476B00AD2478 /* Staves.cpp in Sources */, + 29A8F3271EF0476800AD2478 /* PartName.cpp in Sources */, + 29A8F6BA1EF0476A00AD2478 /* Staff.cpp in Sources */, + 29A8F0BB1EF0476700AD2478 /* NonArpeggiate.cpp in Sources */, + 29A8EBB11EF0476500AD2478 /* GroupAbbreviationDisplayAttributes.cpp in Sources */, + 29A8F5661EF0476A00AD2478 /* Scordatura.cpp in Sources */, + 29A8F58E1EF0476A00AD2478 /* ScorePart.cpp in Sources */, + 29A8F02F1EF0476700AD2478 /* MiscellaneousField.cpp in Sources */, + 29A8E3551EF0476300AD2478 /* PitchData.cpp in Sources */, + 29A8F9D01EF0476C00AD2478 /* TupletDot.cpp in Sources */, + 29A8E8911EF0476400AD2478 /* DisplayTextAttributes.cpp in Sources */, + 29A8FAF71EF0476D00AD2478 /* WordsAttributes.cpp in Sources */, + 29A8ECDD1EF0476600AD2478 /* HoleClosedAttributes.cpp in Sources */, + 29A8E6C51EF0476400AD2478 /* CircularArrow.cpp in Sources */, + 29A8F98A1EF0476C00AD2478 /* TripleTongue.cpp in Sources */, + 29A8F33B1EF0476800AD2478 /* PartNameDisplay.cpp in Sources */, + 29A8F0C51EF0476700AD2478 /* NonArpeggiateAttributes.cpp in Sources */, + 29A8F44E1EF0476900AD2478 /* PrincipalVoice.cpp in Sources */, + 29A8F6EC1EF0476A00AD2478 /* StaffLayoutAttributes.cpp in Sources */, + 29A8FAA71EF0476D00AD2478 /* WavyLineAttributes.cpp in Sources */, + 29A8EEE51EF0476600AD2478 /* MeasureLayout.cpp in Sources */, + 29A8E7DD1EF0476400AD2478 /* DegreeTypeAttributes.cpp in Sources */, + 29A8EA531EF0476500AD2478 /* Fifths.cpp in Sources */, + 29A8FC411EF0476E00AD2478 /* MetronomeReader.cpp in Sources */, + 29A8F5CA1EF0476A00AD2478 /* Segno.cpp in Sources */, + 29A8FA431EF0476C00AD2478 /* Unpitched.cpp in Sources */, + 29A8F5B61EF0476A00AD2478 /* ScoreTimewise.cpp in Sources */, + 29A8EE9F1EF0476600AD2478 /* LyricFont.cpp in Sources */, + 29A8EEB31EF0476600AD2478 /* LyricLanguage.cpp in Sources */, + 29A8F07F1EF0476700AD2478 /* MultipleRestAttributes.cpp in Sources */, + 29A8FC781EF0476E00AD2478 /* OrnamentsFunctions.cpp in Sources */, + 29A8F7C81EF0476B00AD2478 /* StrongAccentAttributes.cpp in Sources */, + 29A8FD3B1EF0476E00AD2478 /* UtilityImpl.cpp in Sources */, + 29A8ED371EF0476600AD2478 /* InstrumentAttributes.cpp in Sources */, + 29A8E4C71EF0476300AD2478 /* ArrowAttributes.cpp in Sources */, + 29A8E8C31EF0476400AD2478 /* Doit.cpp in Sources */, + 29A8E43B1EF0476300AD2478 /* AccidentalTextAttributes.cpp in Sources */, + 29A8E9F91EF0476500AD2478 /* Ensemble.cpp in Sources */, + 29A8E4311EF0476300AD2478 /* AccidentalText.cpp in Sources */, + 29A8FB651EF0476D00AD2478 /* NumberOrNormal.cpp in Sources */, + 29A8ED9B1EF0476600AD2478 /* InvertedTurn.cpp in Sources */, + 29A8F5021EF0476900AD2478 /* Rights.cpp in Sources */, + 29A8F2A51EF0476800AD2478 /* PageMargins.cpp in Sources */, + 29A8F4A81EF0476900AD2478 /* Relation.cpp in Sources */, + 29A8F2B91EF0476800AD2478 /* PageWidth.cpp in Sources */, + 29A8F8681EF0476B00AD2478 /* Tenuto.cpp in Sources */, + 29A8FC2D1EF0476E00AD2478 /* MeasureReader.cpp in Sources */, + 29A8F4C61EF0476900AD2478 /* Repeat.cpp in Sources */, + 29A8F1F11EF0476800AD2478 /* OrnamentsChoice.cpp in Sources */, + 29A8F04D1EF0476700AD2478 /* Mordent.cpp in Sources */, + 29A8ECE71EF0476600AD2478 /* HoleShape.cpp in Sources */, + 29A8FA071EF0476C00AD2478 /* TupletType.cpp in Sources */, + 29A8F8541EF0476B00AD2478 /* TechnicalChoice.cpp in Sources */, + 29A8F46C1EF0476900AD2478 /* PrintAttributes.cpp in Sources */, + 29A8F53E1EF0476A00AD2478 /* RootStepAttributes.cpp in Sources */, + 29A8F6601EF0476A00AD2478 /* Solo.cpp in Sources */, + 29A8F5201EF0476900AD2478 /* RootAlter.cpp in Sources */, + 29A8E57B1EF0476300AD2478 /* BassAlterAttributes.cpp in Sources */, + 29A8E5F31EF0476300AD2478 /* BeatUnitDot.cpp in Sources */, + 29A8EC6F1EF0476500AD2478 /* HarmonicTypeChoice.cpp in Sources */, + 29A8F8861EF0476B00AD2478 /* ThumbPosition.cpp in Sources */, + 29A8FB011EF0476D00AD2478 /* Work.cpp in Sources */, + 29A8EDD71EF0476600AD2478 /* KeyAttributes.cpp in Sources */, + 29A8F6C41EF0476A00AD2478 /* StaffDetails.cpp in Sources */, + 29A8E50D1EF0476300AD2478 /* AttributesIterface.cpp in Sources */, + 29A8F8F41EF0476C00AD2478 /* TimeSignatureGroup.cpp in Sources */, + 29A8F9A81EF0476C00AD2478 /* TuningStep.cpp in Sources */, + 29A8E5491EF0476300AD2478 /* BarStyle.cpp in Sources */, + 29A8EBE31EF0476500AD2478 /* GroupName.cpp in Sources */, + 29A8E44F1EF0476300AD2478 /* AccordAttributes.cpp in Sources */, + 29A8E7511EF0476400AD2478 /* CreditWordsAttributes.cpp in Sources */, + 29A8EFB71EF0476700AD2478 /* MidiBank.cpp in Sources */, + 29A8EDAF1EF0476600AD2478 /* Ipa.cpp in Sources */, + 29A8E6BB1EF0476400AD2478 /* Chromatic.cpp in Sources */, + 29A8EB111EF0476500AD2478 /* Fret.cpp in Sources */, + 29A8EE271EF0476600AD2478 /* LayoutGroup.cpp in Sources */, + 29A8FCDC1EF0476E00AD2478 /* TechnicalFunctions.cpp in Sources */, + 29A8E52B1EF0476300AD2478 /* BarlineAttributes.cpp in Sources */, + 29A8E4091EF0476300AD2478 /* Accidental.cpp in Sources */, + 29A8E9311EF0476400AD2478 /* Effect.cpp in Sources */, + 29A8F1A11EF0476800AD2478 /* OctaveShift.cpp in Sources */, + 29A8E5671EF0476300AD2478 /* Bass.cpp in Sources */, + 29A8ECC91EF0476600AD2478 /* HoleAttributes.cpp in Sources */, + 29A8E9811EF0476400AD2478 /* EmptyPlacementAttributes.cpp in Sources */, + 29A8ECD31EF0476600AD2478 /* HoleClosed.cpp in Sources */, + 29A8E4131EF0476300AD2478 /* AccidentalAttributes.cpp in Sources */, + 29A8E7E71EF0476400AD2478 /* DegreeValue.cpp in Sources */, + 29A8E5E91EF0476300AD2478 /* BeatUnit.cpp in Sources */, + 29A8FC371EF0476E00AD2478 /* MeasureWriter.cpp in Sources */, + 29A8FA7F1EF0476D00AD2478 /* VirtualName.cpp in Sources */, + 29A8F7A01EF0476B00AD2478 /* StringAttributes.cpp in Sources */, + 29A8E8371EF0476400AD2478 /* Direction.cpp in Sources */, + 29A8FB9C1EF0476D00AD2478 /* YesNoNumber.cpp in Sources */, + 29A8ECB51EF0476600AD2478 /* HeelAttributes.cpp in Sources */, + 29A8F7781EF0476B00AD2478 /* StickType.cpp in Sources */, + 29A8E8D71EF0476400AD2478 /* Double.cpp in Sources */, + 29A8E8051EF0476400AD2478 /* DelayedInvertedTurnAttributes.cpp in Sources */, + 29A8F2911EF0476800AD2478 /* PageHeight.cpp in Sources */, + 29A8FDA91EF0476F00AD2478 /* XFactory.cpp in Sources */, + 29A8EF5D1EF0476700AD2478 /* MetronomeBeam.cpp in Sources */, + 29A8F57A1EF0476A00AD2478 /* ScoreInstrument.cpp in Sources */, + 29A8EDCD1EF0476600AD2478 /* KeyAlter.cpp in Sources */, + 29A8FD591EF0476F00AD2478 /* PugiDoc.cpp in Sources */, + 29A8F2FF1EF0476800AD2478 /* PartGroup.cpp in Sources */, + 29A8F1BF1EF0476800AD2478 /* OffsetAttributes.cpp in Sources */, + 29A8E5C11EF0476300AD2478 /* BeatRepeat.cpp in Sources */, + 29A8E6891EF0476300AD2478 /* Caesura.cpp in Sources */, + 29A8EAAD1EF0476500AD2478 /* FirstFret.cpp in Sources */, + 29A8E7FB1EF0476400AD2478 /* DelayedInvertedTurn.cpp in Sources */, + 29A8F1B51EF0476800AD2478 /* Offset.cpp in Sources */, + 29A8E7291EF0476400AD2478 /* CreditImage.cpp in Sources */, + 29A8ED0F1EF0476600AD2478 /* Image.cpp in Sources */, + 29A8FB151EF0476D00AD2478 /* WorkTitle.cpp in Sources */, + 29A8EEBD1EF0476600AD2478 /* LyricLanguageAttributes.cpp in Sources */, + 29A8E67F1EF0476300AD2478 /* BreathMarkAttributes.cpp in Sources */, + 29A8EDC31EF0476600AD2478 /* KeyAccidental.cpp in Sources */, + 29A8F9B21EF0476C00AD2478 /* Tuplet.cpp in Sources */, + 29A8F3D11EF0476900AD2478 /* PerMinuteAttributes.cpp in Sources */, + 29A8ECAB1EF0476600AD2478 /* Heel.cpp in Sources */, + 29A8F9621EF0476C00AD2478 /* TransposeAttributes.cpp in Sources */, + 29A8FC641EF0476E00AD2478 /* NoteReader.cpp in Sources */, + 29A8F6B01EF0476A00AD2478 /* Staccato.cpp in Sources */, + 29A8EC971EF0476600AD2478 /* HarpPedals.cpp in Sources */, + 29A8F1331EF0476700AD2478 /* NoteAttributes.cpp in Sources */, + 29A8F4EE1EF0476900AD2478 /* RightDivider.cpp in Sources */, + 29A8FB831EF0476D00AD2478 /* ScoreConversions.cpp in Sources */, + 29A8F7BE1EF0476B00AD2478 /* StrongAccent.cpp in Sources */, + 29A8E7151EF0476400AD2478 /* CreditAttributes.cpp in Sources */, + 29A8F7321EF0476B00AD2478 /* Stem.cpp in Sources */, + 29A8E58F1EF0476300AD2478 /* BassStepAttributes.cpp in Sources */, + 29A8ED231EF0476600AD2478 /* Instrument.cpp in Sources */, + 29A8EB751EF0476500AD2478 /* GraceAttributes.cpp in Sources */, + 29A8FD7C1EF0476F00AD2478 /* XAttributeIterator.cpp in Sources */, + 29A8EE131EF0476600AD2478 /* KindAttributes.cpp in Sources */, + 29A8F8AE1EF0476C00AD2478 /* TiedAttributes.cpp in Sources */, + 29A8E7971EF0476400AD2478 /* DashesAttributes.cpp in Sources */, + 29A8E6431EF0476300AD2478 /* Bookmark.cpp in Sources */, + 29A8F4031EF0476900AD2478 /* PlayAttributes.cpp in Sources */, + 29A8EFAD1EF0476700AD2478 /* MetronomeType.cpp in Sources */, + 29A8FA1B1EF0476C00AD2478 /* Turn.cpp in Sources */, + 29A8E7A11EF0476400AD2478 /* Defaults.cpp in Sources */, + 29A8F3591EF0476800AD2478 /* PartSymbolAttributes.cpp in Sources */, + 29A8FC961EF0476E00AD2478 /* PartWriter.cpp in Sources */, + 29A8FB6F1EF0476D00AD2478 /* PositiveIntegerOrEmpty.cpp in Sources */, + 29A8E96D1EF0476400AD2478 /* EmptyFontAttributes.cpp in Sources */, + 29A8EB6B1EF0476500AD2478 /* Grace.cpp in Sources */, + 29A8F8C21EF0476C00AD2478 /* TimeAttributes.cpp in Sources */, + 29A8F5841EF0476A00AD2478 /* ScoreInstrumentAttributes.cpp in Sources */, + 29A8F2EB1EF0476800AD2478 /* PartAbbreviationDisplayAttributes.cpp in Sources */, + 29A8E62F1EF0476300AD2478 /* BendAttributes.cpp in Sources */, + 29A8F2CD1EF0476800AD2478 /* PartAbbreviation.cpp in Sources */, + 29A8FBF11EF0476E00AD2478 /* DynamicsWriter.cpp in Sources */, + 29A8FCF01EF0476E00AD2478 /* TupletReader.cpp in Sources */, + 29A8F3DB1EF0476900AD2478 /* PerMinuteOrBeatUnitChoice.cpp in Sources */, + 29A8E69D1EF0476300AD2478 /* CancelAttributes.cpp in Sources */, + 29A8F9261EF0476C00AD2478 /* ToeAttributes.cpp in Sources */, + 29A8ED871EF0476600AD2478 /* InvertedMordent.cpp in Sources */, + 29A8E8691EF0476400AD2478 /* DisplayOctave.cpp in Sources */, + 29A8E91D1EF0476400AD2478 /* EditorialVoiceDirectionGroup.cpp in Sources */, + 29A8F3A91EF0476900AD2478 /* Percussion.cpp in Sources */, + 29A8EED11EF0476600AD2478 /* MeasureAttributes.cpp in Sources */, + 29A8EACB1EF0476500AD2478 /* FootnoteAttributes.cpp in Sources */, + 29A8ECF11EF0476600AD2478 /* HoleType.cpp in Sources */, + 29A8F3951EF0476900AD2478 /* PedalStep.cpp in Sources */, + 29A8EBD91EF0476500AD2478 /* GroupingAttributes.cpp in Sources */, + 29A8EF171EF0476700AD2478 /* MeasureStyle.cpp in Sources */, + 29A8E4F91EF0476300AD2478 /* ArticulationsChoice.cpp in Sources */, + 29A8F94E1EF0476C00AD2478 /* TraditionalKey.cpp in Sources */, + 29A8E2EC1EF0476300AD2478 /* DocumentManager.cpp in Sources */, + 29A8F6881EF0476A00AD2478 /* SoundingPitch.cpp in Sources */, + 29A8F4581EF0476900AD2478 /* PrincipalVoiceAttributes.cpp in Sources */, + 29A8F1471EF0476700AD2478 /* Notehead.cpp in Sources */, + 29A8FB511EF0476D00AD2478 /* FromXElement.cpp in Sources */, + 29A8EA171EF0476500AD2478 /* Eyeglasses.cpp in Sources */, + 29A8EE451EF0476600AD2478 /* Level.cpp in Sources */, + 29A8F9301EF0476C00AD2478 /* TopMargin.cpp in Sources */, + 29A8E98B1EF0476400AD2478 /* EmptyTrillSoundAttributes.cpp in Sources */, + 29A8E9631EF0476400AD2478 /* ElisionSyllabicTextGroup.cpp in Sources */, + 29A8EBF71EF0476500AD2478 /* GroupNameDisplay.cpp in Sources */, + 29A8F1971EF0476800AD2478 /* OctaveChange.cpp in Sources */, + 29A8F9081EF0476C00AD2478 /* TimewisePart.cpp in Sources */, + 29A8ED911EF0476600AD2478 /* InvertedMordentAttributes.cpp in Sources */, + 29A8E4951EF0476300AD2478 /* Alter.cpp in Sources */, + 29A8F2D71EF0476800AD2478 /* PartAbbreviationAttributes.cpp in Sources */, + 29A8EFE91EF0476700AD2478 /* MidiInstrument.cpp in Sources */, + 29A8F50C1EF0476900AD2478 /* RightsAttributes.cpp in Sources */, + 29A8F1E71EF0476800AD2478 /* Ornaments.cpp in Sources */, + 29A8EFA31EF0476700AD2478 /* MetronomeTupletAttributes.cpp in Sources */, + 29A8FB331EF0476D00AD2478 /* Enums.cpp in Sources */, + 29A8E6CF1EF0476400AD2478 /* Clef.cpp in Sources */, + 29A8EB611EF0476500AD2478 /* GlissandoAttributes.cpp in Sources */, + 29A8E87D1EF0476400AD2478 /* DisplayStepOctaveGroup.cpp in Sources */, + 29A8E4771EF0476300AD2478 /* AccordionRegistration.cpp in Sources */, + 29A8F2871EF0476800AD2478 /* OtherTechnicalAttributes.cpp in Sources */, + 29A8F3BD1EF0476900AD2478 /* PercussionChoice.cpp in Sources */, + 29A8F09D1EF0476700AD2478 /* MusicFont.cpp in Sources */, + 29A8EE6D1EF0476600AD2478 /* LineWidthAttributes.cpp in Sources */, + 29A8E4DB1EF0476300AD2478 /* ArrowGroup.cpp in Sources */, + 29A8ED191EF0476600AD2478 /* ImageAttributes.cpp in Sources */, + 29A8E61B1EF0476300AD2478 /* Bend.cpp in Sources */, + 29A8EB4D1EF0476500AD2478 /* Glass.cpp in Sources */, + 29A8FA251EF0476C00AD2478 /* TurnAttributes.cpp in Sources */, + 29A8FA9D1EF0476D00AD2478 /* WavyLine.cpp in Sources */, + 29A8EDA51EF0476600AD2478 /* InvertedTurnAttributes.cpp in Sources */, + 29A8F10B1EF0476700AD2478 /* Notations.cpp in Sources */, + 29A8E8231EF0476400AD2478 /* DetachedLegato.cpp in Sources */, + 29A8F4761EF0476900AD2478 /* Properties.cpp in Sources */, + 29A8F69C1EF0476A00AD2478 /* Spiccato.cpp in Sources */, + 29A8E5211EF0476300AD2478 /* Barline.cpp in Sources */, + 29A8FA571EF0476D00AD2478 /* UpBow.cpp in Sources */, + 29A8E8B91EF0476400AD2478 /* Divisions.cpp in Sources */, + 29A8E3FF1EF0476300AD2478 /* Accent.cpp in Sources */, + 29A8F27D1EF0476800AD2478 /* OtherTechnical.cpp in Sources */, + 29A8F8401EF0476B00AD2478 /* TapAttributes.cpp in Sources */, + 29A8FCFF1EF0476E00AD2478 /* pugixml.cpp in Sources */, + 29A8F89A1EF0476C00AD2478 /* TieAttributes.cpp in Sources */, + 29A8EAFD1EF0476500AD2478 /* FrameNote.cpp in Sources */, + 29A8F1511EF0476800AD2478 /* NoteheadAttributes.cpp in Sources */, + 29A8F24B1EF0476800AD2478 /* OtherOrnament.cpp in Sources */, + 29A8E3691EF0476300AD2478 /* ScoreData.cpp in Sources */, + 29A8F11F1EF0476700AD2478 /* NotationsChoice.cpp in Sources */, + 29A8EC291EF0476500AD2478 /* HammerOn.cpp in Sources */, + 29A8F99E1EF0476C00AD2478 /* TuningOctave.cpp in Sources */, + 29A8F0F71EF0476700AD2478 /* NormalType.cpp in Sources */, + 29A8E82D1EF0476400AD2478 /* Diatonic.cpp in Sources */, + 29A8F1151EF0476700AD2478 /* NotationsAttributes.cpp in Sources */, + 29A8F8EA1EF0476C00AD2478 /* TimeRelation.cpp in Sources */, + 29A8EAD51EF0476500AD2478 /* Forward.cpp in Sources */, + 29A8E6251EF0476300AD2478 /* BendAlter.cpp in Sources */, + 29A8E5A31EF0476300AD2478 /* BeamAttributes.cpp in Sources */, + 29A8EB931EF0476500AD2478 /* GroupAbbreviation.cpp in Sources */, + 29A8EA711EF0476500AD2478 /* FiguredBassAttributes.cpp in Sources */, + 29A8E8F51EF0476400AD2478 /* Duration.cpp in Sources */, + 29A8EC151EF0476500AD2478 /* GroupSymbolAttributes.cpp in Sources */, + 29A8F73C1EF0476B00AD2478 /* StemAttributes.cpp in Sources */, + 29A8EE4F1EF0476600AD2478 /* LevelAttributes.cpp in Sources */, + 29A8EA0D1EF0476500AD2478 /* ExtendAttributes.cpp in Sources */, + 29A8EC8D1EF0476500AD2478 /* HarmonyChordGroup.cpp in Sources */, + 29A8FA4D1EF0476D00AD2478 /* Unstress.cpp in Sources */, + 29A8FD4F1EF0476E00AD2478 /* PugiAttributeIterImpl.cpp in Sources */, + 29A8E7331EF0476400AD2478 /* CreditImageAttributes.cpp in Sources */, + 29A8E9E51EF0476500AD2478 /* EndLine.cpp in Sources */, + 29A8FBA61EF0476D00AD2478 /* AccidentalMarkFunctions.cpp in Sources */, + 29A8EF211EF0476700AD2478 /* MeasureStyleAttributes.cpp in Sources */, + 29A8F9E41EF0476C00AD2478 /* TupletNormal.cpp in Sources */, + 29A8F0D91EF0476700AD2478 /* NormalDot.cpp in Sources */, + 29A8E49F1EF0476300AD2478 /* Appearance.cpp in Sources */, + 29A8E9B31EF0476400AD2478 /* EncodingChoice.cpp in Sources */, + 29A8F3E51EF0476900AD2478 /* Pitch.cpp in Sources */, + 29A8F3311EF0476800AD2478 /* PartNameAttributes.cpp in Sources */, + 29A8EC471EF0476500AD2478 /* HandbellAttributes.cpp in Sources */, + 29A8E8411EF0476400AD2478 /* DirectionAttributes.cpp in Sources */, + 29A8EB2F1EF0476500AD2478 /* FullNoteTypeChoice.cpp in Sources */, + 29A8F6061EF0476A00AD2478 /* SlashAttributes.cpp in Sources */, + 29A8F6A61EF0476A00AD2478 /* Staccatissimo.cpp in Sources */, + 29A8E3EB1EF0476300AD2478 /* DocumentSpec.cpp in Sources */, + 29A8FC821EF0476E00AD2478 /* PageTextFunctions.cpp in Sources */, + 29A8FB291EF0476D00AD2478 /* EmptyPrintObjectStyleAlignAttributes.cpp in Sources */, + 29A8F49E1EF0476900AD2478 /* RehearsalAttributes.cpp in Sources */, + 29A8EE8B1EF0476600AD2478 /* Lyric.cpp in Sources */, + 29A8E7831EF0476400AD2478 /* DampAll.cpp in Sources */, + 29A8F5981EF0476A00AD2478 /* ScorePartAttributes.cpp in Sources */, + 29A8EA351EF0476500AD2478 /* FeatureAttributes.cpp in Sources */, + 29A8F5A21EF0476A00AD2478 /* ScorePartwise.cpp in Sources */, + 29A8EBED1EF0476500AD2478 /* GroupNameAttributes.cpp in Sources */, + 29A8EC0B1EF0476500AD2478 /* GroupSymbol.cpp in Sources */, + 29A8E4EF1EF0476300AD2478 /* Articulations.cpp in Sources */, + 29A8F76E1EF0476B00AD2478 /* StickMaterial.cpp in Sources */, + 29A8E7BF1EF0476400AD2478 /* DegreeAlterAttributes.cpp in Sources */, + 29A8FC5A1EF0476E00AD2478 /* NoteFunctions.cpp in Sources */, + 29A8EA5D1EF0476500AD2478 /* Figure.cpp in Sources */, + 29A8ED4B1EF0476600AD2478 /* Instruments.cpp in Sources */, + 29A8EE1D1EF0476600AD2478 /* Laughing.cpp in Sources */, + 29A8F3131EF0476800AD2478 /* PartGroupOrScorePart.cpp in Sources */, + 29A8EA7B1EF0476500AD2478 /* FigureNumber.cpp in Sources */, + 29A8EDE11EF0476600AD2478 /* KeyChoice.cpp in Sources */, + 29A8FA2F1EF0476C00AD2478 /* Type.cpp in Sources */, + 29A8F6921EF0476A00AD2478 /* Source.cpp in Sources */, + 29A8F0571EF0476700AD2478 /* MordentAttributes.cpp in Sources */, + 29A8F1291EF0476700AD2478 /* Note.cpp in Sources */, + 29A8F40D1EF0476900AD2478 /* Plop.cpp in Sources */, + 29A8F36D1EF0476900AD2478 /* PartwisePart.cpp in Sources */, + 29A8F2691EF0476800AD2478 /* OtherPlay.cpp in Sources */, + 29A8F1DD1EF0476800AD2478 /* OpusAttributes.cpp in Sources */, + 29A8F5FC1EF0476A00AD2478 /* Slash.cpp in Sources */, + 29A8EE091EF0476600AD2478 /* Kind.cpp in Sources */, + 29A8F71E1EF0476B00AD2478 /* StaffType.cpp in Sources */, + 29A8EFF31EF0476700AD2478 /* MidiInstrumentAttributes.cpp in Sources */, + 29A8F5481EF0476A00AD2478 /* Scaling.cpp in Sources */, + 29A8EB071EF0476500AD2478 /* FrameStrings.cpp in Sources */, + 29A8F0A71EF0476700AD2478 /* Mute.cpp in Sources */, + 29A8FA391EF0476C00AD2478 /* TypeAttributes.cpp in Sources */, + 29A8F38B1EF0476900AD2478 /* PedalAttributes.cpp in Sources */, + 29A8F6381EF0476A00AD2478 /* Slur.cpp in Sources */, + 29A8F9761EF0476C00AD2478 /* TremoloAttributes.cpp in Sources */, + 29A8ED051EF0476600AD2478 /* Identification.cpp in Sources */, + 29A8EBBB1EF0476500AD2478 /* GroupBarline.cpp in Sources */, + 29A8F1FB1EF0476800AD2478 /* OtherAppearance.cpp in Sources */, + 29A8EDF51EF0476600AD2478 /* KeyOctaveAttributes.cpp in Sources */, + 29A8F7DC1EF0476B00AD2478 /* SuffixAttributes.cpp in Sources */, + 29A8E9C71EF0476400AD2478 /* EncodingDescription.cpp in Sources */, + 29A8F2AF1EF0476800AD2478 /* PageMarginsAttributes.cpp in Sources */, + 29A8F3C71EF0476900AD2478 /* PerMinute.cpp in Sources */, + 29A8E5D51EF0476300AD2478 /* Beats.cpp in Sources */, + 29A8E5B71EF0476300AD2478 /* BeaterAttributes.cpp in Sources */, + 29A8FCB41EF0476E00AD2478 /* ScoreReader.cpp in Sources */, + 29A8E71F1EF0476400AD2478 /* CreditChoice.cpp in Sources */, + 29A8E3281EF0476300AD2478 /* MeasureLocation.cpp in Sources */, + 29A8E7F11EF0476400AD2478 /* DegreeValueAttributes.cpp in Sources */, + 29A8FACF1EF0476D00AD2478 /* WithBarAttributes.cpp in Sources */, + 29A8F3F91EF0476900AD2478 /* Play.cpp in Sources */, + 29A8E8191EF0476400AD2478 /* DelayedTurnAttributes.cpp in Sources */, + 29A8E3C31EF0476300AD2478 /* Date.cpp in Sources */, + 29A8E3AF1EF0476300AD2478 /* AttributesInterface.cpp in Sources */, + 29A8F7641EF0476B00AD2478 /* StickLocation.cpp in Sources */, + 29A8F3091EF0476800AD2478 /* PartGroupAttributes.cpp in Sources */, + 29A8E9951EF0476400AD2478 /* Encoder.cpp in Sources */, + 29A8E48B1EF0476300AD2478 /* ActualNotes.cpp in Sources */, + 29A8EB9D1EF0476500AD2478 /* GroupAbbreviationAttributes.cpp in Sources */, + 29A8E8AF1EF0476400AD2478 /* DistanceAttributes.cpp in Sources */, + 29A8FBE71EF0476E00AD2478 /* DynamicsReader.cpp in Sources */, + 29A8FD311EF0476E00AD2478 /* Utility.cpp in Sources */, + 29A8EF711EF0476700AD2478 /* MetronomeDot.cpp in Sources */, + 29A8F3B31EF0476900AD2478 /* PercussionAttributes.cpp in Sources */, + 29A8E7651EF0476400AD2478 /* Cue.cpp in Sources */, + 29A8E4E51EF0476300AD2478 /* ArrowStyle.cpp in Sources */, + 29A8F8221EF0476B00AD2478 /* SystemLayout.cpp in Sources */, + 29A8F31D1EF0476800AD2478 /* PartList.cpp in Sources */, + 29A8E5DF1EF0476300AD2478 /* BeatType.cpp in Sources */, + 29A8E8E11EF0476400AD2478 /* DoubleTongue.cpp in Sources */, + 29A8E9091EF0476400AD2478 /* DynamicsAttributes.cpp in Sources */, + 29A8F3771EF0476900AD2478 /* Pedal.cpp in Sources */, + 29A8F78C1EF0476B00AD2478 /* Stress.cpp in Sources */, + 29A8EC5B1EF0476500AD2478 /* HarmonicAttributes.cpp in Sources */, + 29A8F0ED1EF0476700AD2478 /* NormalNotes.cpp in Sources */, + 29A8E9131EF0476400AD2478 /* EditorialGroup.cpp in Sources */, + 29A8ED2D1EF0476600AD2478 /* InstrumentAbbreviation.cpp in Sources */, + 29A8EF851EF0476700AD2478 /* MetronomeRelation.cpp in Sources */, + 29A8FAC51EF0476D00AD2478 /* WithBar.cpp in Sources */, + 29A8FCE61EF0476E00AD2478 /* TimeReader.cpp in Sources */, + 29A8F2F51EF0476800AD2478 /* PartAttributes.cpp in Sources */, + 29A8FAED1EF0476D00AD2478 /* Words.cpp in Sources */, + 29A8F7AA1EF0476B00AD2478 /* StringMute.cpp in Sources */, + 29A8EF0D1EF0476600AD2478 /* MeasureRepeatAttributes.cpp in Sources */, + 29A8FB8D1EF0476D00AD2478 /* Strings.cpp in Sources */, + 29A8E9271EF0476400AD2478 /* EditorialVoiceGroup.cpp in Sources */, + 29A8EFFD1EF0476700AD2478 /* MidiName.cpp in Sources */, + 29A8E66B1EF0476300AD2478 /* BracketAttributes.cpp in Sources */, + 29A8F5341EF0476900AD2478 /* RootStep.cpp in Sources */, + 29A8F7961EF0476B00AD2478 /* String.cpp in Sources */, + 29A8FD6D1EF0476F00AD2478 /* PugiElementIterImpl.cpp in Sources */, + 29A8E4B31EF0476300AD2478 /* ArpeggiateAttributes.cpp in Sources */, + 29A8EF491EF0476700AD2478 /* Metronome.cpp in Sources */, + 29A8F5F21EF0476A00AD2478 /* Sign.cpp in Sources */, + 29A8F5E81EF0476A00AD2478 /* Shake.cpp in Sources */, + 29A8F0CF1EF0476700AD2478 /* NonTraditionalKey.cpp in Sources */, + 29A8F6421EF0476A00AD2478 /* SlurAttributes.cpp in Sources */, + 29A8FA931EF0476D00AD2478 /* Volume.cpp in Sources */, + 29A8F5161EF0476900AD2478 /* Root.cpp in Sources */, + 29A8E70B1EF0476400AD2478 /* Credit.cpp in Sources */, + 29A8E46D1EF0476300AD2478 /* AccordionMiddle.cpp in Sources */, + 29A8EA031EF0476500AD2478 /* Extend.cpp in Sources */, + 29A8F1831EF0476800AD2478 /* NoteSizeAttributes.cpp in Sources */, + 29A8EC511EF0476500AD2478 /* Harmonic.cpp in Sources */, + 29A8E9451EF0476400AD2478 /* Elision.cpp in Sources */, + 29A8EF3F1EF0476700AD2478 /* Metal.cpp in Sources */, + 29A8F9F81EF0476C00AD2478 /* TupletNumberAttributes.cpp in Sources */, + 29A8E9BD1EF0476400AD2478 /* EncodingDate.cpp in Sources */, + 29A8EC011EF0476500AD2478 /* GroupNameDisplayAttributes.cpp in Sources */, + 29A8F62E1EF0476A00AD2478 /* SlideAttributes.cpp in Sources */, + 29A8E5851EF0476300AD2478 /* BassStep.cpp in Sources */, + 29A8F96C1EF0476C00AD2478 /* Tremolo.cpp in Sources */, + 29A8E6A71EF0476300AD2478 /* Capo.cpp in Sources */, + 29A8E6E31EF0476400AD2478 /* ClefOctaveChange.cpp in Sources */, + 29A8E94F1EF0476400AD2478 /* ElisionAttributes.cpp in Sources */, + 29A8FC6E1EF0476E00AD2478 /* NoteWriter.cpp in Sources */, + 29A8E4451EF0476300AD2478 /* Accord.cpp in Sources */, + 29A8F8D61EF0476C00AD2478 /* TimeModification.cpp in Sources */, + 29A8F4621EF0476900AD2478 /* Print.cpp in Sources */, + 29A8FBC41EF0476D00AD2478 /* Cursor.cpp in Sources */, + 29A8F3EF1EF0476900AD2478 /* Pitched.cpp in Sources */, + 29A8F8721EF0476B00AD2478 /* Text.cpp in Sources */, + 29A8E7B51EF0476400AD2478 /* DegreeAlter.cpp in Sources */, + 29A8E5AD1EF0476300AD2478 /* Beater.cpp in Sources */, + 29A8F7F01EF0476B00AD2478 /* SupportsAttributes.cpp in Sources */, + 29A8F87C1EF0476B00AD2478 /* TextAttributes.cpp in Sources */, + 29A8E8CD1EF0476400AD2478 /* Dot.cpp in Sources */, + 29A8EB7F1EF0476500AD2478 /* GraceNoteGroup.cpp in Sources */, + 29A8EEA91EF0476600AD2478 /* LyricFontAttributes.cpp in Sources */, + 29A8F9EE1EF0476C00AD2478 /* TupletNumber.cpp in Sources */, + 29A8E4A91EF0476300AD2478 /* Arpeggiate.cpp in Sources */, + 29A8F2551EF0476800AD2478 /* OtherOrnamentAttributes.cpp in Sources */, + 29A8E7C91EF0476400AD2478 /* DegreeAttributes.cpp in Sources */, + 29A8E78D1EF0476400AD2478 /* Dashes.cpp in Sources */, + 29A8FC8C1EF0476E00AD2478 /* PartReader.cpp in Sources */, + 29A8EEF91EF0476600AD2478 /* MeasureNumberingAttributes.cpp in Sources */, + 29A8E3E11EF0476300AD2478 /* DocumentHeader.cpp in Sources */, + 29A8EDFF1EF0476600AD2478 /* KeyStep.cpp in Sources */, + 29A8E6ED1EF0476400AD2478 /* Coda.cpp in Sources */, + 29A8FC0A1EF0476E00AD2478 /* LayoutFunctions.cpp in Sources */, + 29A8E3D71EF0476300AD2478 /* Document.cpp in Sources */, + 29A8EE771EF0476600AD2478 /* Link.cpp in Sources */, + 29A8F7501EF0476B00AD2478 /* Stick.cpp in Sources */, + 29A8F8901EF0476B00AD2478 /* Tie.cpp in Sources */, + 29A8F2191EF0476800AD2478 /* OtherArticulationAttributes.cpp in Sources */, + 29A8EB891EF0476500AD2478 /* Group.cpp in Sources */, + 29A8FA891EF0476D00AD2478 /* Voice.cpp in Sources */, + 29A8F5AC1EF0476A00AD2478 /* ScorePartwiseAttributes.cpp in Sources */, + 29A8F8E01EF0476C00AD2478 /* TimeModificationNormalTypeNormalDot.cpp in Sources */, + 29A8F9121EF0476C00AD2478 /* Timpani.cpp in Sources */, + 29A8FBBA1EF0476D00AD2478 /* Converter.cpp in Sources */, + 29A8F43A1EF0476900AD2478 /* Prefix.cpp in Sources */, + 29A8F0431EF0476700AD2478 /* Mode.cpp in Sources */, + 29A8FBD31EF0476D00AD2478 /* DirectionReader.cpp in Sources */, + 29A8F8A41EF0476C00AD2478 /* Tied.cpp in Sources */, + 29A8EE631EF0476600AD2478 /* LineWidth.cpp in Sources */, + 29A8F4941EF0476900AD2478 /* Rehearsal.cpp in Sources */, + 29A8EF031EF0476600AD2478 /* MeasureRepeat.cpp in Sources */, + 29A8F64C1EF0476A00AD2478 /* SnapPizzicato.cpp in Sources */, + 29A8EBCF1EF0476500AD2478 /* Grouping.cpp in Sources */, + 29A8FA611EF0476D00AD2478 /* VerticalTurn.cpp in Sources */, + 29A8ECFB1EF0476600AD2478 /* Humming.cpp in Sources */, + 29A8F4F81EF0476900AD2478 /* RightMargin.cpp in Sources */, + 29A8F75A1EF0476B00AD2478 /* StickAttributes.cpp in Sources */, + 29A8FB3D1EF0476D00AD2478 /* FontSize.cpp in Sources */, + 29A8F5C01EF0476A00AD2478 /* ScoreTimewiseAttributes.cpp in Sources */, + 29A8F52A1EF0476900AD2478 /* RootAlterAttributes.cpp in Sources */, + 29A8E6391EF0476300AD2478 /* BendChoice.cpp in Sources */, + 29A8FAD91EF0476D00AD2478 /* Wood.cpp in Sources */, + 29A8E55D1EF0476300AD2478 /* BasePitch.cpp in Sources */, + 29A8EA8F1EF0476500AD2478 /* Fingering.cpp in Sources */, + 29A8F0251EF0476700AD2478 /* Miscellaneous.cpp in Sources */, + 29A8F13D1EF0476700AD2478 /* NoteChoice.cpp in Sources */, + 29A8F61A1EF0476A00AD2478 /* SlashType.cpp in Sources */, + 29A8FCAA1EF0476E00AD2478 /* PropertiesWriter.cpp in Sources */, + 29A8E9D11EF0476500AD2478 /* Ending.cpp in Sources */, + 29A8F1AB1EF0476800AD2478 /* OctaveShiftAttributes.cpp in Sources */, + 29A8E4631EF0476300AD2478 /* AccordionLow.cpp in Sources */, + 29A8F9941EF0476C00AD2478 /* TuningAlter.cpp in Sources */, + 29A8E8551EF0476400AD2478 /* Directive.cpp in Sources */, + 29A8ED551EF0476600AD2478 /* InstrumentSound.cpp in Sources */, + 29A8EFCB1EF0476700AD2478 /* MidiDevice.cpp in Sources */, + 29A8F8361EF0476B00AD2478 /* Tap.cpp in Sources */, + 29A8F9C61EF0476C00AD2478 /* TupletAttributes.cpp in Sources */, + 29A8EC3D1EF0476500AD2478 /* Handbell.cpp in Sources */, + 29A8E6F71EF0476400AD2478 /* Creator.cpp in Sources */, + 29A8E7471EF0476400AD2478 /* CreditWords.cpp in Sources */, + 29A8F9581EF0476C00AD2478 /* Transpose.cpp in Sources */, + 29A8E6611EF0476300AD2478 /* Bracket.cpp in Sources */, + 29A8F48A1EF0476900AD2478 /* PullOffAttributes.cpp in Sources */, + 29A8F8041EF0476B00AD2478 /* SyllabicTextGroup.cpp in Sources */, + 29A8E93B1EF0476400AD2478 /* Elevation.cpp in Sources */, + 29A8F7461EF0476B00AD2478 /* Step.cpp in Sources */, + 29A8F85E1EF0476B00AD2478 /* Tenths.cpp in Sources */, + 29A8F42B1EF0476900AD2478 /* PreBend.cpp in Sources */, + 29A8ED5F1EF0476600AD2478 /* Interchangeable.cpp in Sources */, + 29A8EEEF1EF0476600AD2478 /* MeasureNumbering.cpp in Sources */, + 29A8E5991EF0476300AD2478 /* Beam.cpp in Sources */, + 29A8E64D1EF0476300AD2478 /* BookmarkAttributes.cpp in Sources */, + 29A8FBB01EF0476D00AD2478 /* ArticulationsFunctions.cpp in Sources */, + 29A8EDEB1EF0476600AD2478 /* KeyOctave.cpp in Sources */, + 29A8F5701EF0476A00AD2478 /* ScoreHeaderGroup.cpp in Sources */, + 29A8F0B11EF0476700AD2478 /* Natural.cpp in Sources */, + 29A8E6751EF0476300AD2478 /* BreathMark.cpp in Sources */, + 29A8E3191EF0476300AD2478 /* MarkData.cpp in Sources */, + 29A8F1011EF0476700AD2478 /* NormalTypeNormalDotGroup.cpp in Sources */, + 29A8EAE91EF0476500AD2478 /* FrameAttributes.cpp in Sources */, + 29A8F2051EF0476800AD2478 /* OtherAppearanceAttributes.cpp in Sources */, + 29A8EC791EF0476500AD2478 /* Harmony.cpp in Sources */, + 29A8EC831EF0476500AD2478 /* HarmonyAttributes.cpp in Sources */, + 29A8FC501EF0476E00AD2478 /* NotationsWriter.cpp in Sources */, + 29A8F0111EF0476700AD2478 /* MidiUnpitched.cpp in Sources */, + 29A8F66A1EF0476A00AD2478 /* SoloOrEnsembleChoice.cpp in Sources */, + 29A8F6F61EF0476A00AD2478 /* StaffLines.cpp in Sources */, + 29A8F1D31EF0476800AD2478 /* Opus.cpp in Sources */, + 29A8E2D31EF0476300AD2478 /* ClefData.cpp in Sources */, + 29A8F84A1EF0476B00AD2478 /* Technical.cpp in Sources */, + 29A8F7141EF0476B00AD2478 /* StaffTuningAttributes.cpp in Sources */, + 29A8E4271EF0476300AD2478 /* AccidentalMarkAttributes.cpp in Sources */, + 29A8F9DA1EF0476C00AD2478 /* TupletDotAttributes.cpp in Sources */, + 29A8E7011EF0476400AD2478 /* CreatorAttributes.cpp in Sources */, + 29A8F80E1EF0476B00AD2478 /* SystemDistance.cpp in Sources */, + 29A8EF671EF0476700AD2478 /* MetronomeBeamAttributes.cpp in Sources */, + 29A8E3731EF0476300AD2478 /* Smufl.cpp in Sources */, + 29A8FB1F1EF0476D00AD2478 /* Elements.cpp in Sources */, + 29A8E4D11EF0476300AD2478 /* ArrowDirection.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 29B9627C1E79FF410072071D /* Sources */ = { + 29A8FDBD1EF0497400AD2478 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 29B962891E79FF630072071D /* ClefData.cpp in Sources */, - 29B9628A1E79FF630072071D /* DocumentManager.cpp in Sources */, - 29B9628B1E79FF630072071D /* DurationData.cpp in Sources */, - 29B9628C1E79FF630072071D /* MarkData.cpp in Sources */, - 29B9628D1E79FF630072071D /* MeasureLocation.cpp in Sources */, - 29B9628E1E79FF630072071D /* NoteData.cpp in Sources */, - 29B9628F1E79FF630072071D /* PitchData.cpp in Sources */, - 29B962901E79FF630072071D /* Smufl.cpp in Sources */, - 29B962911E79FF630072071D /* AttributesInterface.cpp in Sources */, - 29B962921E79FF630072071D /* Color.cpp in Sources */, - 29B962931E79FF630072071D /* Date.cpp in Sources */, - 29B962941E79FF630072071D /* Decimals.cpp in Sources */, - 29B962951E79FF630072071D /* Document.cpp in Sources */, - 29B962961E79FF630072071D /* DocumentHeader.cpp in Sources */, - 29B962971E79FF630072071D /* DocumentSpec.cpp in Sources */, - 29B962981E79FF630072071D /* ElementInterface.cpp in Sources */, - 29B962991E79FF630072071D /* Accent.cpp in Sources */, - 29B9629A1E79FF630072071D /* Accidental.cpp in Sources */, - 29B9629B1E79FF630072071D /* AccidentalAttributes.cpp in Sources */, - 29B9629C1E79FF630072071D /* AccidentalMark.cpp in Sources */, - 29B9629D1E79FF630072071D /* AccidentalMarkAttributes.cpp in Sources */, - 29B9629E1E79FF630072071D /* AccidentalText.cpp in Sources */, - 29B9629F1E79FF630072071D /* AccidentalTextAttributes.cpp in Sources */, - 29B962A01E79FF630072071D /* Accord.cpp in Sources */, - 29B962A11E79FF630072071D /* AccordAttributes.cpp in Sources */, - 29B962A21E79FF630072071D /* AccordionHigh.cpp in Sources */, - 29B962A31E79FF630072071D /* AccordionLow.cpp in Sources */, - 29B962A41E79FF630072071D /* AccordionMiddle.cpp in Sources */, - 29B962A51E79FF630072071D /* AccordionRegistration.cpp in Sources */, - 29B962A61E79FF630072071D /* AccordionRegistrationAttributes.cpp in Sources */, - 29B962A71E79FF630072071D /* ActualNotes.cpp in Sources */, - 29B962A81E79FF630072071D /* Alter.cpp in Sources */, - 29B962A91E79FF630072071D /* Appearance.cpp in Sources */, - 29B962AA1E79FF630072071D /* Arpeggiate.cpp in Sources */, - 29B962AB1E79FF630072071D /* ArpeggiateAttributes.cpp in Sources */, - 29B962AC1E79FF630072071D /* Arrow.cpp in Sources */, - 29B962AD1E79FF630072071D /* ArrowAttributes.cpp in Sources */, - 29B962AE1E79FF630072071D /* ArrowDirection.cpp in Sources */, - 29B962AF1E79FF630072071D /* ArrowGroup.cpp in Sources */, - 29B962B01E79FF630072071D /* ArrowStyle.cpp in Sources */, - 29B962B11E79FF630072071D /* Articulations.cpp in Sources */, - 29B962B21E79FF630072071D /* ArticulationsChoice.cpp in Sources */, - 29B962B31E79FF630072071D /* Artificial.cpp in Sources */, - 29B962B41E79FF630072071D /* AttributesIterface.cpp in Sources */, - 29B962B51E79FF630072071D /* Backup.cpp in Sources */, - 29B962B61E79FF630072071D /* Barline.cpp in Sources */, - 29B962B71E79FF630072071D /* BarlineAttributes.cpp in Sources */, - 29B962B81E79FF630072071D /* Barre.cpp in Sources */, - 29B962B91E79FF630072071D /* BarreAttributes.cpp in Sources */, - 29B962BA1E79FF630072071D /* BarStyle.cpp in Sources */, - 29B962BB1E79FF630072071D /* BarStyleAttributes.cpp in Sources */, - 29B962BC1E79FF630072071D /* BasePitch.cpp in Sources */, - 29B962BD1E79FF640072071D /* Bass.cpp in Sources */, - 29B962BE1E79FF640072071D /* BassAlter.cpp in Sources */, - 29B962BF1E79FF640072071D /* BassAlterAttributes.cpp in Sources */, - 29B962C01E79FF640072071D /* BassStep.cpp in Sources */, - 29B962C11E79FF640072071D /* BassStepAttributes.cpp in Sources */, - 29B962C21E79FF640072071D /* Beam.cpp in Sources */, - 29B962C31E79FF640072071D /* BeamAttributes.cpp in Sources */, - 29B962C41E79FF640072071D /* Beater.cpp in Sources */, - 29B962C51E79FF640072071D /* BeaterAttributes.cpp in Sources */, - 29B962C61E79FF640072071D /* BeatRepeat.cpp in Sources */, - 29B962C71E79FF640072071D /* BeatRepeatAttributes.cpp in Sources */, - 29B962C81E79FF640072071D /* Beats.cpp in Sources */, - 29B962C91E79FF640072071D /* BeatType.cpp in Sources */, - 29B962CA1E79FF640072071D /* BeatUnit.cpp in Sources */, - 29B962CB1E79FF640072071D /* BeatUnitDot.cpp in Sources */, - 29B962CC1E79FF640072071D /* BeatUnitGroup.cpp in Sources */, - 29B962CD1E79FF640072071D /* BeatUnitPer.cpp in Sources */, - 29B962CE1E79FF640072071D /* BeatUnitPerOrNoteRelationNoteChoice.cpp in Sources */, - 29B962CF1E79FF640072071D /* Bend.cpp in Sources */, - 29B962D01E79FF640072071D /* BendAlter.cpp in Sources */, - 29B962D11E79FF640072071D /* BendAttributes.cpp in Sources */, - 29B962D21E79FF640072071D /* BendChoice.cpp in Sources */, - 29B962D31E79FF640072071D /* Bookmark.cpp in Sources */, - 29B962D41E79FF640072071D /* BookmarkAttributes.cpp in Sources */, - 29B962D51E79FF640072071D /* BottomMargin.cpp in Sources */, - 29B962D61E79FF640072071D /* Bracket.cpp in Sources */, - 29B962D71E79FF640072071D /* BracketAttributes.cpp in Sources */, - 29B962D81E79FF640072071D /* BreathMark.cpp in Sources */, - 29B962D91E79FF640072071D /* BreathMarkAttributes.cpp in Sources */, - 29B962DA1E79FF640072071D /* Caesura.cpp in Sources */, - 29B962DB1E79FF640072071D /* Cancel.cpp in Sources */, - 29B962DC1E79FF640072071D /* CancelAttributes.cpp in Sources */, - 29B962DD1E79FF640072071D /* Capo.cpp in Sources */, - 29B962DE1E79FF640072071D /* Chord.cpp in Sources */, - 29B962DF1E79FF640072071D /* Chromatic.cpp in Sources */, - 29B962E01E79FF640072071D /* CircularArrow.cpp in Sources */, - 29B962E11E79FF640072071D /* Clef.cpp in Sources */, - 29B962E21E79FF640072071D /* ClefAttributes.cpp in Sources */, - 29B962E31E79FF640072071D /* ClefOctaveChange.cpp in Sources */, - 29B962E41E79FF640072071D /* Coda.cpp in Sources */, - 29B962E51E79FF640072071D /* Creator.cpp in Sources */, - 29B962E61E79FF640072071D /* CreatorAttributes.cpp in Sources */, - 29B962E71E79FF640072071D /* Credit.cpp in Sources */, - 29B962E81E79FF640072071D /* CreditAttributes.cpp in Sources */, - 29B962E91E79FF640072071D /* CreditChoice.cpp in Sources */, - 29B962EA1E79FF640072071D /* CreditImage.cpp in Sources */, - 29B962EB1E79FF640072071D /* CreditImageAttributes.cpp in Sources */, - 29B962EC1E79FF640072071D /* CreditType.cpp in Sources */, - 29B962ED1E79FF640072071D /* CreditWords.cpp in Sources */, - 29B962EE1E79FF640072071D /* CreditWordsAttributes.cpp in Sources */, - 29B962EF1E79FF640072071D /* CreditWordsGroup.cpp in Sources */, - 29B962F01E79FF640072071D /* Cue.cpp in Sources */, - 29B962F11E79FF640072071D /* CueNoteGroup.cpp in Sources */, - 29B962F21E79FF640072071D /* Damp.cpp in Sources */, - 29B962F31E79FF640072071D /* DampAll.cpp in Sources */, - 29B962F41E79FF640072071D /* Dashes.cpp in Sources */, - 29B962F51E79FF640072071D /* DashesAttributes.cpp in Sources */, - 29B962F61E79FF640072071D /* Defaults.cpp in Sources */, - 29B962F71E79FF640072071D /* Degree.cpp in Sources */, - 29B962F81E79FF640072071D /* DegreeAlter.cpp in Sources */, - 29B962F91E79FF640072071D /* DegreeAlterAttributes.cpp in Sources */, - 29B962FA1E79FF640072071D /* DegreeAttributes.cpp in Sources */, - 29B962FB1E79FF640072071D /* DegreeType.cpp in Sources */, - 29B962FC1E79FF640072071D /* DegreeTypeAttributes.cpp in Sources */, - 29B962FD1E79FF640072071D /* DegreeValue.cpp in Sources */, - 29B962FE1E79FF640072071D /* DegreeValueAttributes.cpp in Sources */, - 29B962FF1E79FF640072071D /* DelayedInvertedTurn.cpp in Sources */, - 29B963001E79FF640072071D /* DelayedInvertedTurnAttributes.cpp in Sources */, - 29B963011E79FF640072071D /* DelayedTurn.cpp in Sources */, - 29B963021E79FF640072071D /* DelayedTurnAttributes.cpp in Sources */, - 29B963031E79FF640072071D /* DetachedLegato.cpp in Sources */, - 29B963041E79FF640072071D /* Diatonic.cpp in Sources */, - 29B963051E79FF640072071D /* Direction.cpp in Sources */, - 29B963061E79FF640072071D /* DirectionAttributes.cpp in Sources */, - 29B963071E79FF640072071D /* DirectionType.cpp in Sources */, - 29B963081E79FF640072071D /* Directive.cpp in Sources */, - 29B963091E79FF640072071D /* DirectiveAttributes.cpp in Sources */, - 29B9630A1E79FF640072071D /* DisplayOctave.cpp in Sources */, - 29B9630B1E79FF640072071D /* DisplayStep.cpp in Sources */, - 29B9630C1E79FF640072071D /* DisplayStepOctaveGroup.cpp in Sources */, - 29B9630D1E79FF640072071D /* DisplayText.cpp in Sources */, - 29B9630E1E79FF640072071D /* DisplayTextAttributes.cpp in Sources */, - 29B9630F1E79FF640072071D /* DisplayTextOrAccidentalText.cpp in Sources */, - 29B963101E79FF640072071D /* Distance.cpp in Sources */, - 29B963111E79FF640072071D /* DistanceAttributes.cpp in Sources */, - 29B963121E79FF640072071D /* Divisions.cpp in Sources */, - 29B963131E79FF640072071D /* Doit.cpp in Sources */, - 29B963141E79FF640072071D /* Dot.cpp in Sources */, - 29B963151E79FF640072071D /* Double.cpp in Sources */, - 29B963161E79FF640072071D /* DoubleTongue.cpp in Sources */, - 29B963171E79FF640072071D /* DownBow.cpp in Sources */, - 29B963181E79FF640072071D /* Duration.cpp in Sources */, - 29B963191E79FF640072071D /* Dynamics.cpp in Sources */, - 29B9631A1E79FF640072071D /* DynamicsAttributes.cpp in Sources */, - 29B9631B1E79FF640072071D /* EditorialGroup.cpp in Sources */, - 29B9631C1E79FF640072071D /* EditorialVoiceDirectionGroup.cpp in Sources */, - 29B9631D1E79FF640072071D /* EditorialVoiceGroup.cpp in Sources */, - 29B9631E1E79FF640072071D /* Effect.cpp in Sources */, - 29B9631F1E79FF640072071D /* Elevation.cpp in Sources */, - 29B963201E79FF640072071D /* Elision.cpp in Sources */, - 29B963211E79FF640072071D /* ElisionAttributes.cpp in Sources */, - 29B963221E79FF640072071D /* ElisionSyllabicGroup.cpp in Sources */, - 29B963231E79FF640072071D /* ElisionSyllabicTextGroup.cpp in Sources */, - 29B963241E79FF640072071D /* EmptyFontAttributes.cpp in Sources */, - 29B963251E79FF640072071D /* EmptyLineAttributes.cpp in Sources */, - 29B963261E79FF640072071D /* EmptyPlacementAttributes.cpp in Sources */, - 29B963271E79FF640072071D /* EmptyTrillSoundAttributes.cpp in Sources */, - 29B963281E79FF640072071D /* Encoder.cpp in Sources */, - 29B963291E79FF640072071D /* EncoderAttributes.cpp in Sources */, - 29B9632A1E79FF640072071D /* Encoding.cpp in Sources */, - 29B9632B1E79FF640072071D /* EncodingChoice.cpp in Sources */, - 29B9632C1E79FF640072071D /* EncodingDate.cpp in Sources */, - 29B9632D1E79FF640072071D /* EncodingDescription.cpp in Sources */, - 29B9632E1E79FF640072071D /* Ending.cpp in Sources */, - 29B9632F1E79FF640072071D /* EndingAttributes.cpp in Sources */, - 29B963301E79FF640072071D /* EndLine.cpp in Sources */, - 29B963311E79FF640072071D /* EndParagraph.cpp in Sources */, - 29B963321E79FF640072071D /* Ensemble.cpp in Sources */, - 29B963331E79FF640072071D /* Extend.cpp in Sources */, - 29B963341E79FF640072071D /* ExtendAttributes.cpp in Sources */, - 29B963351E79FF640072071D /* Eyeglasses.cpp in Sources */, - 29B963361E79FF640072071D /* Falloff.cpp in Sources */, - 29B963371E79FF640072071D /* Feature.cpp in Sources */, - 29B963381E79FF640072071D /* FeatureAttributes.cpp in Sources */, - 29B963391E79FF640072071D /* Fermata.cpp in Sources */, - 29B9633A1E79FF640072071D /* FermataAttributes.cpp in Sources */, - 29B9633B1E79FF640072071D /* Fifths.cpp in Sources */, - 29B9633C1E79FF640072071D /* Figure.cpp in Sources */, - 29B9633D1E79FF640072071D /* FiguredBass.cpp in Sources */, - 29B9633E1E79FF640072071D /* FiguredBassAttributes.cpp in Sources */, - 29B9633F1E79FF640072071D /* FigureNumber.cpp in Sources */, - 29B963401E79FF640072071D /* FigureNumberAttributes.cpp in Sources */, - 29B963411E79FF640072071D /* Fingering.cpp in Sources */, - 29B963421E79FF640072071D /* FingeringAttributes.cpp in Sources */, - 29B963431E79FF640072071D /* Fingernails.cpp in Sources */, - 29B963441E79FF640072071D /* FirstFret.cpp in Sources */, - 29B963451E79FF640072071D /* FirstFretAttributes.cpp in Sources */, - 29B963461E79FF640072071D /* Footnote.cpp in Sources */, - 29B963471E79FF640072071D /* FootnoteAttributes.cpp in Sources */, - 29B963481E79FF640072071D /* Forward.cpp in Sources */, - 29B963491E79FF640072071D /* Frame.cpp in Sources */, - 29B9634A1E79FF640072071D /* FrameAttributes.cpp in Sources */, - 29B9634B1E79FF640072071D /* FrameFrets.cpp in Sources */, - 29B9634C1E79FF640072071D /* FrameNote.cpp in Sources */, - 29B9634D1E79FF640072071D /* FrameStrings.cpp in Sources */, - 29B9634E1E79FF640072071D /* Fret.cpp in Sources */, - 29B9634F1E79FF640072071D /* FretAttributes.cpp in Sources */, - 29B963501E79FF640072071D /* FullNoteGroup.cpp in Sources */, - 29B963511E79FF640072071D /* FullNoteTypeChoice.cpp in Sources */, - 29B963521E79FF640072071D /* Function.cpp in Sources */, - 29B963531E79FF640072071D /* FunctionAttributes.cpp in Sources */, - 29B963541E79FF640072071D /* Glass.cpp in Sources */, - 29B963551E79FF640072071D /* Glissando.cpp in Sources */, - 29B963561E79FF640072071D /* GlissandoAttributes.cpp in Sources */, - 29B963571E79FF640072071D /* Grace.cpp in Sources */, - 29B963581E79FF640072071D /* GraceAttributes.cpp in Sources */, - 29B963591E79FF640072071D /* GraceNoteGroup.cpp in Sources */, - 29B9635A1E79FF640072071D /* Group.cpp in Sources */, - 29B9635B1E79FF640072071D /* GroupAbbreviation.cpp in Sources */, - 29B9635C1E79FF640072071D /* GroupAbbreviationAttributes.cpp in Sources */, - 29B9635D1E79FF640072071D /* GroupAbbreviationDisplay.cpp in Sources */, - 29B9635E1E79FF640072071D /* GroupAbbreviationDisplayAttributes.cpp in Sources */, - 29B9635F1E79FF640072071D /* GroupBarline.cpp in Sources */, - 29B963601E79FF640072071D /* GroupBarlineAttributes.cpp in Sources */, - 29B963611E79FF640072071D /* Grouping.cpp in Sources */, - 29B963621E79FF640072071D /* GroupingAttributes.cpp in Sources */, - 29B963631E79FF640072071D /* GroupName.cpp in Sources */, - 29B963641E79FF640072071D /* GroupNameAttributes.cpp in Sources */, - 29B963651E79FF640072071D /* GroupNameDisplay.cpp in Sources */, - 29B963661E79FF640072071D /* GroupNameDisplayAttributes.cpp in Sources */, - 29B963671E79FF640072071D /* GroupSymbol.cpp in Sources */, - 29B963681E79FF640072071D /* GroupSymbolAttributes.cpp in Sources */, - 29B963691E79FF640072071D /* GroupTime.cpp in Sources */, - 29B9636A1E79FF640072071D /* HammerOn.cpp in Sources */, - 29B9636B1E79FF640072071D /* HammerOnAttributes.cpp in Sources */, - 29B9636C1E79FF640072071D /* Handbell.cpp in Sources */, - 29B9636D1E79FF640072071D /* HandbellAttributes.cpp in Sources */, - 29A16F871EB10CDB00D59278 /* PreciseDecimal.cpp in Sources */, - 29B9636E1E79FF640072071D /* Harmonic.cpp in Sources */, - 29B9636F1E79FF640072071D /* HarmonicAttributes.cpp in Sources */, - 29B963701E79FF640072071D /* HarmonicInfoChoice.cpp in Sources */, - 29B963711E79FF640072071D /* HarmonicTypeChoice.cpp in Sources */, - 29B963721E79FF640072071D /* Harmony.cpp in Sources */, - 29B963731E79FF640072071D /* HarmonyAttributes.cpp in Sources */, - 29B963741E79FF640072071D /* HarmonyChordGroup.cpp in Sources */, - 29B963751E79FF640072071D /* HarpPedals.cpp in Sources */, - 29B963761E79FF640072071D /* HarpPedalsAttributes.cpp in Sources */, - 29B963771E79FF640072071D /* Heel.cpp in Sources */, - 29B963781E79FF640072071D /* HeelAttributes.cpp in Sources */, - 29B963791E79FF640072071D /* Hole.cpp in Sources */, - 29B9637A1E79FF640072071D /* HoleAttributes.cpp in Sources */, - 29B9637B1E79FF640072071D /* HoleClosed.cpp in Sources */, - 2983E3E31EB4303C007FCC34 /* ScoreData.cpp in Sources */, - 29B9637C1E79FF640072071D /* HoleClosedAttributes.cpp in Sources */, - 29B9637D1E79FF640072071D /* HoleShape.cpp in Sources */, - 29B9637E1E79FF640072071D /* HoleType.cpp in Sources */, - 29B9637F1E79FF640072071D /* Humming.cpp in Sources */, - 29B963801E79FF640072071D /* Identification.cpp in Sources */, - 29B963811E79FF640072071D /* Image.cpp in Sources */, - 29B963821E79FF640072071D /* ImageAttributes.cpp in Sources */, - 29B963831E79FF640072071D /* Instrument.cpp in Sources */, - 29B963841E79FF640072071D /* InstrumentAbbreviation.cpp in Sources */, - 29B963851E79FF640072071D /* InstrumentAttributes.cpp in Sources */, - 29B963861E79FF640072071D /* InstrumentName.cpp in Sources */, - 29B963871E79FF640072071D /* Instruments.cpp in Sources */, - 29B963881E79FF640072071D /* InstrumentSound.cpp in Sources */, - 29B963891E79FF640072071D /* Interchangeable.cpp in Sources */, - 29B9638A1E79FF640072071D /* InterchangeableAttributes.cpp in Sources */, - 29B9638B1E79FF640072071D /* Inversion.cpp in Sources */, - 29B9638C1E79FF640072071D /* InversionAttributes.cpp in Sources */, - 29B9638D1E79FF640072071D /* InvertedMordent.cpp in Sources */, - 29B9638E1E79FF640072071D /* InvertedMordentAttributes.cpp in Sources */, - 29B9638F1E79FF640072071D /* InvertedTurn.cpp in Sources */, - 29B963901E79FF640072071D /* InvertedTurnAttributes.cpp in Sources */, - 29B963911E79FF640072071D /* Ipa.cpp in Sources */, - 29B963921E79FF640072071D /* Key.cpp in Sources */, - 29B963931E79FF640072071D /* KeyAccidental.cpp in Sources */, - 29B963941E79FF640072071D /* KeyAlter.cpp in Sources */, - 29B963951E79FF640072071D /* KeyAttributes.cpp in Sources */, - 29B963961E79FF640072071D /* KeyChoice.cpp in Sources */, - 29B963971E79FF640072071D /* KeyOctave.cpp in Sources */, - 29B963981E79FF640072071D /* KeyOctaveAttributes.cpp in Sources */, - 29B963991E79FF640072071D /* KeyStep.cpp in Sources */, - 29B9639A1E79FF640072071D /* Kind.cpp in Sources */, - 29B9639B1E79FF640072071D /* KindAttributes.cpp in Sources */, - 29B9639C1E79FF640072071D /* Laughing.cpp in Sources */, - 29B9639D1E79FF640072071D /* LayoutGroup.cpp in Sources */, - 29B9639E1E79FF640072071D /* LeftDivider.cpp in Sources */, - 29B9639F1E79FF640072071D /* LeftMargin.cpp in Sources */, - 29B963A01E79FF640072071D /* Level.cpp in Sources */, - 29B963A11E79FF640072071D /* LevelAttributes.cpp in Sources */, - 29B963A21E79FF640072071D /* Line.cpp in Sources */, - 29B963A31E79FF640072071D /* LineWidth.cpp in Sources */, - 29B963A41E79FF640072071D /* LineWidthAttributes.cpp in Sources */, - 29B963A51E79FF640072071D /* Link.cpp in Sources */, - 29B963A61E79FF640072071D /* LinkAttributes.cpp in Sources */, - 29B963A71E79FF640072071D /* Lyric.cpp in Sources */, - 29B963A81E79FF640072071D /* LyricAttributes.cpp in Sources */, - 29B963A91E79FF640072071D /* LyricFont.cpp in Sources */, - 29B963AA1E79FF640072071D /* LyricFontAttributes.cpp in Sources */, - 29B963AB1E79FF640072071D /* LyricLanguage.cpp in Sources */, - 29B963AC1E79FF640072071D /* LyricLanguageAttributes.cpp in Sources */, - 29B963AD1E79FF640072071D /* LyricTextChoice.cpp in Sources */, - 29B963AE1E79FF640072071D /* MeasureAttributes.cpp in Sources */, - 29B963AF1E79FF640072071D /* MeasureDistance.cpp in Sources */, - 29B963B01E79FF640072071D /* MeasureLayout.cpp in Sources */, - 29B963B11E79FF640072071D /* MeasureNumbering.cpp in Sources */, - 29B963B21E79FF640072071D /* MeasureNumberingAttributes.cpp in Sources */, - 29B963B31E79FF640072071D /* MeasureRepeat.cpp in Sources */, - 29B963B41E79FF640072071D /* MeasureRepeatAttributes.cpp in Sources */, - 29B963B51E79FF640072071D /* MeasureStyle.cpp in Sources */, - 29B963B61E79FF640072071D /* MeasureStyleAttributes.cpp in Sources */, - 29B963B71E79FF640072071D /* MeasureStyleChoice.cpp in Sources */, - 29B963B81E79FF640072071D /* Membrane.cpp in Sources */, - 29B963B91E79FF640072071D /* Metal.cpp in Sources */, - 29B963BA1E79FF640072071D /* Metronome.cpp in Sources */, - 29B963BB1E79FF640072071D /* MetronomeAttributes.cpp in Sources */, - 29B963BC1E79FF640072071D /* MetronomeBeam.cpp in Sources */, - 29B963BD1E79FF640072071D /* MetronomeBeamAttributes.cpp in Sources */, - 29B963BE1E79FF640072071D /* MetronomeDot.cpp in Sources */, - 29B963BF1E79FF640072071D /* MetronomeNote.cpp in Sources */, - 29B963C01E79FF640072071D /* MetronomeRelation.cpp in Sources */, - 29B963C11E79FF640072071D /* MetronomeRelationGroup.cpp in Sources */, - 29B963C21E79FF640072071D /* MetronomeTuplet.cpp in Sources */, - 29B963C31E79FF640072071D /* MetronomeTupletAttributes.cpp in Sources */, - 29B963C41E79FF640072071D /* MetronomeType.cpp in Sources */, - 29B963C51E79FF640072071D /* MidiBank.cpp in Sources */, - 29B963C61E79FF640072071D /* MidiChannel.cpp in Sources */, - 29B963C71E79FF640072071D /* MidiDevice.cpp in Sources */, - 29B963C81E79FF640072071D /* MidiDeviceAttributes.cpp in Sources */, - 29B963C91E79FF640072071D /* MidiDeviceInstrumentGroup.cpp in Sources */, - 29B963CA1E79FF640072071D /* MidiInstrument.cpp in Sources */, - 29B963CB1E79FF640072071D /* MidiInstrumentAttributes.cpp in Sources */, - 29B963CC1E79FF640072071D /* MidiName.cpp in Sources */, - 29B963CD1E79FF640072071D /* MidiProgram.cpp in Sources */, - 29B963CE1E79FF640072071D /* MidiUnpitched.cpp in Sources */, - 29B963CF1E79FF640072071D /* Millimeters.cpp in Sources */, - 29B963D01E79FF640072071D /* Miscellaneous.cpp in Sources */, - 29B963D11E79FF640072071D /* MiscellaneousField.cpp in Sources */, - 29B963D21E79FF640072071D /* MiscellaneousFieldAttributes.cpp in Sources */, - 29B963D31E79FF640072071D /* Mode.cpp in Sources */, - 29B963D41E79FF640072071D /* Mordent.cpp in Sources */, - 29B963D51E79FF640072071D /* MordentAttributes.cpp in Sources */, - 29B963D61E79FF640072071D /* MovementNumber.cpp in Sources */, - 29B963D71E79FF640072071D /* MovementTitle.cpp in Sources */, - 29B963D81E79FF640072071D /* MultipleRest.cpp in Sources */, - 29B963D91E79FF640072071D /* MultipleRestAttributes.cpp in Sources */, - 29B963DA1E79FF640072071D /* MusicDataChoice.cpp in Sources */, - 29B963DB1E79FF640072071D /* MusicDataGroup.cpp in Sources */, - 29B963DC1E79FF640072071D /* MusicFont.cpp in Sources */, - 29B963DD1E79FF640072071D /* Mute.cpp in Sources */, - 29B963DE1E79FF640072071D /* Natural.cpp in Sources */, - 29B963DF1E79FF640072071D /* NonArpeggiate.cpp in Sources */, - 29B963E01E79FF640072071D /* NonArpeggiateAttributes.cpp in Sources */, - 29B963E11E79FF640072071D /* NonTraditionalKey.cpp in Sources */, - 29B963E21E79FF640072071D /* NormalDot.cpp in Sources */, - 29B963E31E79FF640072071D /* NormalNoteGroup.cpp in Sources */, - 29B963E41E79FF640072071D /* NormalNotes.cpp in Sources */, - 29B963E51E79FF640072071D /* NormalType.cpp in Sources */, - 29B963E61E79FF640072071D /* NormalTypeNormalDotGroup.cpp in Sources */, - 29B963E71E79FF640072071D /* Notations.cpp in Sources */, - 29B963E81E79FF640072071D /* NotationsAttributes.cpp in Sources */, - 29B963E91E79FF640072071D /* NotationsChoice.cpp in Sources */, - 29B963EA1E79FF640072071D /* Note.cpp in Sources */, - 29B963EB1E79FF640072071D /* NoteAttributes.cpp in Sources */, - 29B963EC1E79FF640072071D /* NoteChoice.cpp in Sources */, - 29B963ED1E79FF640072071D /* Notehead.cpp in Sources */, - 29B963EE1E79FF640072071D /* NoteheadAttributes.cpp in Sources */, - 29B963EF1E79FF640072071D /* NoteheadText.cpp in Sources */, - 29B963F01E79FF640072071D /* NoteheadTextChoice.cpp in Sources */, - 29B963F11E79FF640072071D /* NoteRelationNote.cpp in Sources */, - 29B963F21E79FF640072071D /* NoteSize.cpp in Sources */, - 29B963F31E79FF640072071D /* NoteSizeAttributes.cpp in Sources */, - 29B963F41E79FF640072071D /* Octave.cpp in Sources */, - 29B963F51E79FF640072071D /* OctaveChange.cpp in Sources */, - 29B963F61E79FF640072071D /* OctaveShift.cpp in Sources */, - 29B963F71E79FF640072071D /* OctaveShiftAttributes.cpp in Sources */, - 29B963F81E79FF640072071D /* Offset.cpp in Sources */, - 29B963F91E79FF640072071D /* OffsetAttributes.cpp in Sources */, - 29B963FA1E79FF640072071D /* OpenString.cpp in Sources */, - 29B963FB1E79FF640072071D /* Opus.cpp in Sources */, - 29B963FC1E79FF640072071D /* OpusAttributes.cpp in Sources */, - 29B963FD1E79FF640072071D /* Ornaments.cpp in Sources */, - 29B963FE1E79FF640072071D /* OrnamentsChoice.cpp in Sources */, - 29B963FF1E79FF640072071D /* OtherAppearance.cpp in Sources */, - 29B964001E79FF640072071D /* OtherAppearanceAttributes.cpp in Sources */, - 29B964011E79FF640072071D /* OtherArticulation.cpp in Sources */, - 29B964021E79FF640072071D /* OtherArticulationAttributes.cpp in Sources */, - 29B964031E79FF640072071D /* OtherDirection.cpp in Sources */, - 29B964041E79FF640072071D /* OtherDirectionAttributes.cpp in Sources */, - 29B964051E79FF640072071D /* OtherNotation.cpp in Sources */, - 29B964061E79FF640072071D /* OtherNotationAttributes.cpp in Sources */, - 29B964071E79FF640072071D /* OtherOrnament.cpp in Sources */, - 29B964081E79FF640072071D /* OtherOrnamentAttributes.cpp in Sources */, - 29B964091E79FF640072071D /* OtherPercussion.cpp in Sources */, - 29B9640A1E79FF640072071D /* OtherPlay.cpp in Sources */, - 29B9640B1E79FF640072071D /* OtherPlayAttributes.cpp in Sources */, - 29B9640C1E79FF640072071D /* OtherTechnical.cpp in Sources */, - 29B9640D1E79FF640072071D /* OtherTechnicalAttributes.cpp in Sources */, - 29B9640E1E79FF640072071D /* PageHeight.cpp in Sources */, - 29B9640F1E79FF640072071D /* PageLayout.cpp in Sources */, - 29B964101E79FF640072071D /* PageMargins.cpp in Sources */, - 29B964111E79FF640072071D /* PageMarginsAttributes.cpp in Sources */, - 29B964121E79FF640072071D /* PageWidth.cpp in Sources */, - 29B964131E79FF640072071D /* Pan.cpp in Sources */, - 29B964141E79FF640072071D /* PartAbbreviation.cpp in Sources */, - 29B964151E79FF640072071D /* PartAbbreviationAttributes.cpp in Sources */, - 29B964161E79FF640072071D /* PartAbbreviationDisplay.cpp in Sources */, - 29B964171E79FF640072071D /* PartAbbreviationDisplayAttributes.cpp in Sources */, - 29B964181E79FF640072071D /* PartAttributes.cpp in Sources */, - 29B964191E79FF640072071D /* PartGroup.cpp in Sources */, - 29B9641A1E79FF640072071D /* PartGroupAttributes.cpp in Sources */, - 29B9641B1E79FF640072071D /* PartGroupOrScorePart.cpp in Sources */, - 29B9641C1E79FF640072071D /* PartList.cpp in Sources */, - 29B9641D1E79FF640072071D /* PartName.cpp in Sources */, - 29B9641E1E79FF640072071D /* PartNameAttributes.cpp in Sources */, - 29B9641F1E79FF640072071D /* PartNameDisplay.cpp in Sources */, - 29B964201E79FF640072071D /* PartNameDisplayAttributes.cpp in Sources */, - 29B964211E79FF640072071D /* PartSymbol.cpp in Sources */, - 29B964221E79FF640072071D /* PartSymbolAttributes.cpp in Sources */, - 29B964231E79FF640072071D /* PartwiseMeasure.cpp in Sources */, - 29B964241E79FF640072071D /* PartwisePart.cpp in Sources */, - 29B964251E79FF640072071D /* Pedal.cpp in Sources */, - 29B964261E79FF640072071D /* PedalAlter.cpp in Sources */, - 29B964271E79FF640072071D /* PedalAttributes.cpp in Sources */, - 29B964281E79FF640072071D /* PedalStep.cpp in Sources */, - 29B964291E79FF640072071D /* PedalTuning.cpp in Sources */, - 29B9642A1E79FF640072071D /* Percussion.cpp in Sources */, - 29B9642B1E79FF640072071D /* PercussionAttributes.cpp in Sources */, - 29B9642C1E79FF640072071D /* PercussionChoice.cpp in Sources */, - 29B9642D1E79FF640072071D /* PerMinute.cpp in Sources */, - 29B9642E1E79FF640072071D /* PerMinuteAttributes.cpp in Sources */, - 29B9642F1E79FF640072071D /* PerMinuteOrBeatUnitChoice.cpp in Sources */, - 29B964301E79FF640072071D /* Pitch.cpp in Sources */, - 29B964311E79FF640072071D /* Pitched.cpp in Sources */, - 29B964321E79FF640072071D /* Play.cpp in Sources */, - 29B964331E79FF640072071D /* PlayAttributes.cpp in Sources */, - 29B964341E79FF640072071D /* Plop.cpp in Sources */, - 29B964351E79FF640072071D /* Pluck.cpp in Sources */, - 29B964361E79FF640072071D /* PluckAttributes.cpp in Sources */, - 29B964371E79FF640072071D /* PreBend.cpp in Sources */, - 29B964381E79FF640072071D /* Prefix.cpp in Sources */, - 29B964391E79FF640072071D /* PrefixAttributes.cpp in Sources */, - 29B9643A1E79FF640072071D /* PrincipalVoice.cpp in Sources */, - 29B9643B1E79FF640072071D /* PrincipalVoiceAttributes.cpp in Sources */, - 29B9643C1E79FF640072071D /* Print.cpp in Sources */, - 29B9643D1E79FF640072071D /* PrintAttributes.cpp in Sources */, - 29B9643E1E79FF640072071D /* Properties.cpp in Sources */, - 29B9643F1E79FF640072071D /* PullOff.cpp in Sources */, - 29B964401E79FF640072071D /* PullOffAttributes.cpp in Sources */, - 29B964411E79FF640072071D /* Rehearsal.cpp in Sources */, - 29B964421E79FF640072071D /* RehearsalAttributes.cpp in Sources */, - 29B964431E79FF640072071D /* Relation.cpp in Sources */, - 29B964441E79FF640072071D /* RelationAttributes.cpp in Sources */, - 29B964451E79FF640072071D /* Release.cpp in Sources */, - 29B964461E79FF640072071D /* Repeat.cpp in Sources */, - 29B964471E79FF640072071D /* RepeatAttributes.cpp in Sources */, - 29B964481E79FF640072071D /* Rest.cpp in Sources */, - 29B964491E79FF640072071D /* RestAttributes.cpp in Sources */, - 29B9644A1E79FF640072071D /* RightDivider.cpp in Sources */, - 29B9644B1E79FF640072071D /* RightMargin.cpp in Sources */, - 29B9644C1E79FF640072071D /* Rights.cpp in Sources */, - 29B9644D1E79FF640072071D /* RightsAttributes.cpp in Sources */, - 29B9644E1E79FF640072071D /* Root.cpp in Sources */, - 29B9644F1E79FF640072071D /* RootAlter.cpp in Sources */, - 29B964501E79FF640072071D /* RootAlterAttributes.cpp in Sources */, - 29B964511E79FF640072071D /* RootStep.cpp in Sources */, - 29B964521E79FF640072071D /* RootStepAttributes.cpp in Sources */, - 29B964531E79FF640072071D /* Scaling.cpp in Sources */, - 29B964541E79FF640072071D /* Schleifer.cpp in Sources */, - 29B964551E79FF640072071D /* Scoop.cpp in Sources */, - 29B964561E79FF640072071D /* Scordatura.cpp in Sources */, - 29B964571E79FF640072071D /* ScoreHeaderGroup.cpp in Sources */, - 29B964581E79FF640072071D /* ScoreInstrument.cpp in Sources */, - 29B964591E79FF640072071D /* ScoreInstrumentAttributes.cpp in Sources */, - 29B9645A1E79FF640072071D /* ScorePart.cpp in Sources */, - 29B9645B1E79FF640072071D /* ScorePartAttributes.cpp in Sources */, - 29B9645C1E79FF640072071D /* ScorePartwise.cpp in Sources */, - 29B9645D1E79FF640072071D /* ScorePartwiseAttributes.cpp in Sources */, - 29B9645E1E79FF640072071D /* ScoreTimewise.cpp in Sources */, - 29B9645F1E79FF640072071D /* ScoreTimewiseAttributes.cpp in Sources */, - 29B964601E79FF640072071D /* Segno.cpp in Sources */, - 29B964611E79FF640072071D /* SemiPitched.cpp in Sources */, - 29B964621E79FF640072071D /* SenzaMisura.cpp in Sources */, - 29B964631E79FF640072071D /* Shake.cpp in Sources */, - 29B964641E79FF640072071D /* Sign.cpp in Sources */, - 29B964651E79FF640072071D /* Slash.cpp in Sources */, - 29B964661E79FF640072071D /* SlashAttributes.cpp in Sources */, - 29B964671E79FF640072071D /* SlashDot.cpp in Sources */, - 29B964681E79FF640072071D /* SlashType.cpp in Sources */, - 29B964691E79FF640072071D /* Slide.cpp in Sources */, - 29B9646A1E79FF640072071D /* SlideAttributes.cpp in Sources */, - 29B9646B1E79FF640072071D /* Slur.cpp in Sources */, - 29B9646C1E79FF640072071D /* SlurAttributes.cpp in Sources */, - 29B9646D1E79FF640072071D /* SnapPizzicato.cpp in Sources */, - 29B9646E1E79FF640072071D /* Software.cpp in Sources */, - 29B9646F1E79FF640072071D /* Solo.cpp in Sources */, - 29B964701E79FF640072071D /* SoloOrEnsembleChoice.cpp in Sources */, - 29B964711E79FF640072071D /* Sound.cpp in Sources */, - 29B964721E79FF640072071D /* SoundAttributes.cpp in Sources */, - 29B964731E79FF640072071D /* SoundingPitch.cpp in Sources */, - 29B964741E79FF640072071D /* Source.cpp in Sources */, - 29B964751E79FF640072071D /* Spiccato.cpp in Sources */, - 29B964761E79FF640072071D /* Staccatissimo.cpp in Sources */, - 29B964771E79FF640072071D /* Staccato.cpp in Sources */, - 29B964781E79FF640072071D /* Staff.cpp in Sources */, - 29B964791E79FF640072071D /* StaffDetails.cpp in Sources */, - 29B9647A1E79FF640072071D /* StaffDetailsAttributes.cpp in Sources */, - 29B9647B1E79FF640072071D /* StaffDistance.cpp in Sources */, - 29B9647C1E79FF640072071D /* StaffLayout.cpp in Sources */, - 29B9647D1E79FF640072071D /* StaffLayoutAttributes.cpp in Sources */, - 29B9647E1E79FF640072071D /* StaffLines.cpp in Sources */, - 29B9647F1E79FF640072071D /* StaffSize.cpp in Sources */, - 292C3ADE1E8B13FD001A0CB9 /* WordsData.cpp in Sources */, - 29B964801E79FF640072071D /* StaffTuning.cpp in Sources */, - 29B964811E79FF640072071D /* StaffTuningAttributes.cpp in Sources */, - 29B964821E79FF640072071D /* StaffType.cpp in Sources */, - 29B964831E79FF640072071D /* Staves.cpp in Sources */, - 29B964841E79FF640072071D /* Stem.cpp in Sources */, - 29B964851E79FF640072071D /* StemAttributes.cpp in Sources */, - 29B964861E79FF640072071D /* Step.cpp in Sources */, - 29B964871E79FF640072071D /* Stick.cpp in Sources */, - 29B964881E79FF640072071D /* StickAttributes.cpp in Sources */, - 29B964891E79FF640072071D /* StickLocation.cpp in Sources */, - 29B9648A1E79FF640072071D /* StickMaterial.cpp in Sources */, - 29B9648B1E79FF640072071D /* StickType.cpp in Sources */, - 29B9648C1E79FF640072071D /* Stopped.cpp in Sources */, - 29B9648D1E79FF640072071D /* Stress.cpp in Sources */, - 29B9648E1E79FF640072071D /* String.cpp in Sources */, - 29B9648F1E79FF640072071D /* StringAttributes.cpp in Sources */, - 29B964901E79FF640072071D /* StringMute.cpp in Sources */, - 29B964911E79FF640072071D /* StringMuteAttributes.cpp in Sources */, - 29B964921E79FF640072071D /* StrongAccent.cpp in Sources */, - 29B964931E79FF640072071D /* StrongAccentAttributes.cpp in Sources */, - 29B964941E79FF640072071D /* Suffix.cpp in Sources */, - 29B964951E79FF640072071D /* SuffixAttributes.cpp in Sources */, - 29B964961E79FF640072071D /* Supports.cpp in Sources */, - 29B964971E79FF640072071D /* SupportsAttributes.cpp in Sources */, - 29B964981E79FF640072071D /* Syllabic.cpp in Sources */, - 29B964991E79FF640072071D /* SyllabicTextGroup.cpp in Sources */, - 29B9649A1E79FF640072071D /* SystemDistance.cpp in Sources */, - 29B9649B1E79FF640072071D /* SystemDividers.cpp in Sources */, - 29B9649C1E79FF640072071D /* SystemLayout.cpp in Sources */, - 29B9649D1E79FF640072071D /* SystemMargins.cpp in Sources */, - 29B9649E1E79FF640072071D /* Tap.cpp in Sources */, - 29B9649F1E79FF640072071D /* TapAttributes.cpp in Sources */, - 29B964A01E79FF640072071D /* Technical.cpp in Sources */, - 29B964A11E79FF640072071D /* TechnicalChoice.cpp in Sources */, - 29B964A21E79FF640072071D /* Tenths.cpp in Sources */, - 29B964A31E79FF640072071D /* Tenuto.cpp in Sources */, - 29B964A41E79FF640072071D /* Text.cpp in Sources */, - 29B964A51E79FF640072071D /* TextAttributes.cpp in Sources */, - 29B964A61E79FF640072071D /* ThumbPosition.cpp in Sources */, - 29B964A71E79FF640072071D /* Tie.cpp in Sources */, - 29B964A81E79FF640072071D /* TieAttributes.cpp in Sources */, - 29B964A91E79FF640072071D /* Tied.cpp in Sources */, - 29B964AA1E79FF640072071D /* TiedAttributes.cpp in Sources */, - 29B964AB1E79FF640072071D /* Time.cpp in Sources */, - 29B964AC1E79FF640072071D /* TimeAttributes.cpp in Sources */, - 29B964AD1E79FF640072071D /* TimeChoice.cpp in Sources */, - 29B964AE1E79FF640072071D /* TimeModification.cpp in Sources */, - 29B964AF1E79FF640072071D /* TimeModificationNormalTypeNormalDot.cpp in Sources */, - 29B964B01E79FF640072071D /* TimeRelation.cpp in Sources */, - 29B964B11E79FF640072071D /* TimeSignatureGroup.cpp in Sources */, - 29B964B21E79FF640072071D /* TimewiseMeasure.cpp in Sources */, - 29B964B31E79FF640072071D /* TimewisePart.cpp in Sources */, - 29B964B41E79FF640072071D /* Timpani.cpp in Sources */, - 29B964B51E79FF640072071D /* Toe.cpp in Sources */, - 29B964B61E79FF640072071D /* ToeAttributes.cpp in Sources */, - 29B964B71E79FF640072071D /* TopMargin.cpp in Sources */, - 29B964B81E79FF640072071D /* TopSystemDistance.cpp in Sources */, - 29B964B91E79FF640072071D /* TouchingPitch.cpp in Sources */, - 29B964BA1E79FF640072071D /* TraditionalKey.cpp in Sources */, - 29B964BB1E79FF640072071D /* Transpose.cpp in Sources */, - 29B964BC1E79FF640072071D /* TransposeAttributes.cpp in Sources */, - 29B964BD1E79FF640072071D /* Tremolo.cpp in Sources */, - 29B964BE1E79FF640072071D /* TremoloAttributes.cpp in Sources */, - 29B964BF1E79FF640072071D /* TrillMark.cpp in Sources */, - 29B964C01E79FF640072071D /* TripleTongue.cpp in Sources */, - 29B964C11E79FF640072071D /* TuningAlter.cpp in Sources */, - 29B964C21E79FF640072071D /* TuningOctave.cpp in Sources */, - 29B964C31E79FF640072071D /* TuningStep.cpp in Sources */, - 29B964C41E79FF640072071D /* Tuplet.cpp in Sources */, - 29B964C51E79FF640072071D /* TupletActual.cpp in Sources */, - 29B964C61E79FF640072071D /* TupletAttributes.cpp in Sources */, - 29B964C71E79FF640072071D /* TupletDot.cpp in Sources */, - 29B964C81E79FF640072071D /* TupletDotAttributes.cpp in Sources */, - 29B964C91E79FF640072071D /* TupletNormal.cpp in Sources */, - 29B964CA1E79FF640072071D /* TupletNumber.cpp in Sources */, - 29B964CB1E79FF640072071D /* TupletNumberAttributes.cpp in Sources */, - 29B964CC1E79FF640072071D /* TupletType.cpp in Sources */, - 29B964CD1E79FF640072071D /* TupletTypeAttributes.cpp in Sources */, - 29B964CE1E79FF640072071D /* Turn.cpp in Sources */, - 29B964CF1E79FF640072071D /* TurnAttributes.cpp in Sources */, - 29B964D01E79FF640072071D /* Type.cpp in Sources */, - 29B964D11E79FF640072071D /* TypeAttributes.cpp in Sources */, - 29B964D21E79FF640072071D /* Unpitched.cpp in Sources */, - 29B964D31E79FF640072071D /* Unstress.cpp in Sources */, - 29B964D41E79FF640072071D /* UpBow.cpp in Sources */, - 29B964D51E79FF640072071D /* VerticalTurn.cpp in Sources */, - 29B964D61E79FF640072071D /* VirtualInstrument.cpp in Sources */, - 29B964D71E79FF640072071D /* VirtualLibrary.cpp in Sources */, - 29B964D81E79FF640072071D /* VirtualName.cpp in Sources */, - 29B964D91E79FF640072071D /* Voice.cpp in Sources */, - 29B964DA1E79FF640072071D /* Volume.cpp in Sources */, - 29B964DB1E79FF640072071D /* WavyLine.cpp in Sources */, - 29B964DC1E79FF640072071D /* WavyLineAttributes.cpp in Sources */, - 29B964DD1E79FF640072071D /* Wedge.cpp in Sources */, - 29B964DE1E79FF640072071D /* WedgeAttributes.cpp in Sources */, - 29B964DF1E79FF640072071D /* WithBar.cpp in Sources */, - 29B964E01E79FF640072071D /* WithBarAttributes.cpp in Sources */, - 29B964E11E79FF640072071D /* Wood.cpp in Sources */, - 29B964E21E79FF640072071D /* WordFont.cpp in Sources */, - 29B964E31E79FF640072071D /* Words.cpp in Sources */, - 29B964E41E79FF640072071D /* WordsAttributes.cpp in Sources */, - 29B964E51E79FF640072071D /* Work.cpp in Sources */, - 29B964E61E79FF640072071D /* WorkNumber.cpp in Sources */, - 29B964E71E79FF640072071D /* WorkTitle.cpp in Sources */, - 29B964E81E79FF640072071D /* EmptyPrintObjectStyleAlignAttributes.cpp in Sources */, - 29B964E91E79FF640072071D /* Enums.cpp in Sources */, - 29B964EA1E79FF640072071D /* FontSize.cpp in Sources */, - 29B964EB1E79FF640072071D /* FromXElement.cpp in Sources */, - 29B964EC1E79FF640072071D /* Integers.cpp in Sources */, - 29B964ED1E79FF640072071D /* NumberOrNormal.cpp in Sources */, - 29B964EE1E79FF640072071D /* PositiveIntegerOrEmpty.cpp in Sources */, - 29B964EF1E79FF640072071D /* ScoreConversions.cpp in Sources */, - 29B964F01E79FF640072071D /* Strings.cpp in Sources */, - 29B964F11E79FF640072071D /* YesNoNumber.cpp in Sources */, - 29B964F21E79FF640072071D /* DynamicsWriter.cpp in Sources */, - 29B964F31E79FF640072071D /* AccidentalMarkFunctions.cpp in Sources */, - 29B964F41E79FF640072071D /* ArticulationsFunctions.cpp in Sources */, - 29B964F51E79FF640072071D /* Converter.cpp in Sources */, - 29B964F61E79FF640072071D /* Cursor.cpp in Sources */, - 29B964F71E79FF640072071D /* DirectionReader.cpp in Sources */, - 29B964F81E79FF640072071D /* DirectionWriter.cpp in Sources */, - 29B964F91E79FF640072071D /* DynamicsReader.cpp in Sources */, - 29B964FA1E79FF640072071D /* EncodingFunctions.cpp in Sources */, - 29B964FB1E79FF640072071D /* LayoutFunctions.cpp in Sources */, - 29B964FC1E79FF640072071D /* LcmGcd.cpp in Sources */, - 29B964FD1E79FF640072071D /* MeasureReader.cpp in Sources */, - 29B964FE1E79FF640072071D /* MeasureWriter.cpp in Sources */, - 29B964FF1E79FF640072071D /* MetronomeReader.cpp in Sources */, - 29B965001E79FF640072071D /* NotationsWriter.cpp in Sources */, - 29B965011E79FF640072071D /* NoteFunctions.cpp in Sources */, - 29B965021E79FF640072071D /* NoteReader.cpp in Sources */, - 29B965031E79FF640072071D /* NoteWriter.cpp in Sources */, - 29B965041E79FF640072071D /* OrnamentsFunctions.cpp in Sources */, - 29B965051E79FF640072071D /* PageTextFunctions.cpp in Sources */, - 29B965061E79FF640072071D /* PartReader.cpp in Sources */, - 29B965071E79FF640072071D /* PartWriter.cpp in Sources */, - 29B965081E79FF640072071D /* PropertiesWriter.cpp in Sources */, - 29B965091E79FF640072071D /* ScoreReader.cpp in Sources */, - 29B9650A1E79FF640072071D /* ScoreWriter.cpp in Sources */, - 29B9650B1E79FF640072071D /* StaffFunctions.cpp in Sources */, - 29B9650C1E79FF640072071D /* TechnicalFunctions.cpp in Sources */, - 29B9650D1E79FF640072071D /* TimeReader.cpp in Sources */, - 29B9650E1E79FF640072071D /* TupletReader.cpp in Sources */, - 29B9650F1E79FF640072071D /* pugixml.cpp in Sources */, - 29B965101E79FF640072071D /* Utility.cpp in Sources */, - 29B965111E79FF640072071D /* UtilityImpl.cpp in Sources */, - 29B965121E79FF640072071D /* PugiAttribute.cpp in Sources */, - 29B965131E79FF640072071D /* PugiAttributeIterImpl.cpp in Sources */, - 29B965141E79FF640072071D /* PugiDoc.cpp in Sources */, - 29B965151E79FF640072071D /* PugiElement.cpp in Sources */, - 29B965161E79FF640072071D /* PugiElementIterImpl.cpp in Sources */, - 29B965171E79FF640072071D /* XAttributeIterator.cpp in Sources */, - 29B965181E79FF640072071D /* XElementIterator.cpp in Sources */, - 29B965191E79FF640072071D /* XFactory.cpp in Sources */, + 29A8FDCA1EF0499200AD2478 /* ClefData.cpp in Sources */, + 29A8FDCB1EF0499200AD2478 /* DocumentManager.cpp in Sources */, + 29A8FDCC1EF0499200AD2478 /* DurationData.cpp in Sources */, + 29A8FDCD1EF0499200AD2478 /* MarkData.cpp in Sources */, + 29A8FDCE1EF0499200AD2478 /* MeasureLocation.cpp in Sources */, + 29A8FDCF1EF0499200AD2478 /* NoteData.cpp in Sources */, + 29A8FDD01EF0499200AD2478 /* PitchData.cpp in Sources */, + 29A8FDD11EF0499200AD2478 /* ScoreData.cpp in Sources */, + 29A8FDD21EF0499200AD2478 /* Smufl.cpp in Sources */, + 29A8FDD31EF0499200AD2478 /* WordsData.cpp in Sources */, + 29A8FDD41EF0499200AD2478 /* AttributesInterface.cpp in Sources */, + 29A8FDD51EF0499200AD2478 /* Color.cpp in Sources */, + 29A8FDD61EF0499200AD2478 /* Date.cpp in Sources */, + 29A8FDD71EF0499200AD2478 /* Decimals.cpp in Sources */, + 29A8FDD81EF0499200AD2478 /* Document.cpp in Sources */, + 29A8FDD91EF0499200AD2478 /* DocumentHeader.cpp in Sources */, + 29A8FDDA1EF0499200AD2478 /* DocumentSpec.cpp in Sources */, + 29A8FDDB1EF0499200AD2478 /* ElementInterface.cpp in Sources */, + 29A8FDDC1EF0499200AD2478 /* Accent.cpp in Sources */, + 29A8FDDD1EF0499200AD2478 /* Accidental.cpp in Sources */, + 29A8FDDE1EF0499200AD2478 /* AccidentalAttributes.cpp in Sources */, + 29A8FDDF1EF0499200AD2478 /* AccidentalMark.cpp in Sources */, + 29A8FDE01EF0499200AD2478 /* AccidentalMarkAttributes.cpp in Sources */, + 29A8FDE11EF0499200AD2478 /* AccidentalText.cpp in Sources */, + 29A8FDE21EF0499200AD2478 /* AccidentalTextAttributes.cpp in Sources */, + 29A8FDE31EF0499200AD2478 /* Accord.cpp in Sources */, + 29A8FDE41EF0499200AD2478 /* AccordAttributes.cpp in Sources */, + 29A8FDE51EF0499200AD2478 /* AccordionHigh.cpp in Sources */, + 29A8FDE61EF0499200AD2478 /* AccordionLow.cpp in Sources */, + 29A8FDE71EF0499200AD2478 /* AccordionMiddle.cpp in Sources */, + 29A8FDE81EF0499200AD2478 /* AccordionRegistration.cpp in Sources */, + 29A8FDE91EF0499200AD2478 /* AccordionRegistrationAttributes.cpp in Sources */, + 29A8FDEA1EF0499200AD2478 /* ActualNotes.cpp in Sources */, + 29A8FDEB1EF0499200AD2478 /* Alter.cpp in Sources */, + 29A8FDEC1EF0499200AD2478 /* Appearance.cpp in Sources */, + 29A8FDED1EF0499200AD2478 /* Arpeggiate.cpp in Sources */, + 29A8FDEE1EF0499200AD2478 /* ArpeggiateAttributes.cpp in Sources */, + 29A8FDEF1EF0499200AD2478 /* Arrow.cpp in Sources */, + 29A8FDF01EF0499200AD2478 /* ArrowAttributes.cpp in Sources */, + 29A8FDF11EF0499200AD2478 /* ArrowDirection.cpp in Sources */, + 29A8FDF21EF0499200AD2478 /* ArrowGroup.cpp in Sources */, + 29A8FDF31EF0499200AD2478 /* ArrowStyle.cpp in Sources */, + 29A8FDF41EF0499200AD2478 /* Articulations.cpp in Sources */, + 29A8FDF51EF0499200AD2478 /* ArticulationsChoice.cpp in Sources */, + 29A8FDF61EF0499200AD2478 /* Artificial.cpp in Sources */, + 29A8FDF71EF0499200AD2478 /* AttributesIterface.cpp in Sources */, + 29A8FDF81EF0499200AD2478 /* Backup.cpp in Sources */, + 29A8FDF91EF0499200AD2478 /* Barline.cpp in Sources */, + 29A8FDFA1EF0499200AD2478 /* BarlineAttributes.cpp in Sources */, + 29A8FDFB1EF0499200AD2478 /* Barre.cpp in Sources */, + 29A8FDFC1EF0499200AD2478 /* BarreAttributes.cpp in Sources */, + 29A8FDFD1EF0499200AD2478 /* BarStyle.cpp in Sources */, + 29A8FDFE1EF0499200AD2478 /* BarStyleAttributes.cpp in Sources */, + 29A8FDFF1EF0499200AD2478 /* BasePitch.cpp in Sources */, + 29A8FE001EF0499200AD2478 /* Bass.cpp in Sources */, + 29A8FE011EF0499200AD2478 /* BassAlter.cpp in Sources */, + 29A8FE021EF0499200AD2478 /* BassAlterAttributes.cpp in Sources */, + 29A8FE031EF0499200AD2478 /* BassStep.cpp in Sources */, + 29A8FE041EF0499200AD2478 /* BassStepAttributes.cpp in Sources */, + 29A8FE051EF0499200AD2478 /* Beam.cpp in Sources */, + 29A8FE061EF0499200AD2478 /* BeamAttributes.cpp in Sources */, + 29A8FE071EF0499200AD2478 /* Beater.cpp in Sources */, + 29A8FE081EF0499200AD2478 /* BeaterAttributes.cpp in Sources */, + 29A8FE091EF0499200AD2478 /* BeatRepeat.cpp in Sources */, + 29A8FE0A1EF0499200AD2478 /* BeatRepeatAttributes.cpp in Sources */, + 29A8FE0B1EF0499200AD2478 /* Beats.cpp in Sources */, + 29A8FE0C1EF0499200AD2478 /* BeatType.cpp in Sources */, + 29A8FE0D1EF0499200AD2478 /* BeatUnit.cpp in Sources */, + 29A8FE0E1EF0499200AD2478 /* BeatUnitDot.cpp in Sources */, + 29A8FE0F1EF0499200AD2478 /* BeatUnitGroup.cpp in Sources */, + 29A8FE101EF0499200AD2478 /* BeatUnitPer.cpp in Sources */, + 29A8FE111EF0499200AD2478 /* BeatUnitPerOrNoteRelationNoteChoice.cpp in Sources */, + 29A8FE121EF0499200AD2478 /* Bend.cpp in Sources */, + 29A8FE131EF0499200AD2478 /* BendAlter.cpp in Sources */, + 29A8FE141EF0499200AD2478 /* BendAttributes.cpp in Sources */, + 29A8FE151EF0499200AD2478 /* BendChoice.cpp in Sources */, + 29A8FE161EF0499200AD2478 /* Bookmark.cpp in Sources */, + 29A8FE171EF0499200AD2478 /* BookmarkAttributes.cpp in Sources */, + 29A8FE181EF0499200AD2478 /* BottomMargin.cpp in Sources */, + 29A8FE191EF0499200AD2478 /* Bracket.cpp in Sources */, + 29A8FE1A1EF0499200AD2478 /* BracketAttributes.cpp in Sources */, + 29A8FE1B1EF0499200AD2478 /* BreathMark.cpp in Sources */, + 29A8FE1C1EF0499200AD2478 /* BreathMarkAttributes.cpp in Sources */, + 29A8FE1D1EF0499200AD2478 /* Caesura.cpp in Sources */, + 29A8FE1E1EF0499200AD2478 /* Cancel.cpp in Sources */, + 29A8FE1F1EF0499200AD2478 /* CancelAttributes.cpp in Sources */, + 29A8FE201EF0499200AD2478 /* Capo.cpp in Sources */, + 29A8FE211EF0499200AD2478 /* Chord.cpp in Sources */, + 29A8FE221EF0499200AD2478 /* Chromatic.cpp in Sources */, + 29A8FE231EF0499200AD2478 /* CircularArrow.cpp in Sources */, + 29A8FE241EF0499200AD2478 /* Clef.cpp in Sources */, + 29A8FE251EF0499200AD2478 /* ClefAttributes.cpp in Sources */, + 29A8FE261EF0499200AD2478 /* ClefOctaveChange.cpp in Sources */, + 29A8FE271EF0499200AD2478 /* Coda.cpp in Sources */, + 29A8FE281EF0499200AD2478 /* Creator.cpp in Sources */, + 29A8FE291EF0499200AD2478 /* CreatorAttributes.cpp in Sources */, + 29A8FE2A1EF0499200AD2478 /* Credit.cpp in Sources */, + 29A8FE2B1EF0499200AD2478 /* CreditAttributes.cpp in Sources */, + 29A8FE2C1EF0499200AD2478 /* CreditChoice.cpp in Sources */, + 29A8FE2D1EF0499200AD2478 /* CreditImage.cpp in Sources */, + 29A8FE2E1EF0499200AD2478 /* CreditImageAttributes.cpp in Sources */, + 29A8FE2F1EF0499200AD2478 /* CreditType.cpp in Sources */, + 29A8FE301EF0499200AD2478 /* CreditWords.cpp in Sources */, + 29A8FE311EF0499200AD2478 /* CreditWordsAttributes.cpp in Sources */, + 29A8FE321EF0499200AD2478 /* CreditWordsGroup.cpp in Sources */, + 29A8FE331EF0499200AD2478 /* Cue.cpp in Sources */, + 29A8FE341EF0499200AD2478 /* CueNoteGroup.cpp in Sources */, + 29A8FE351EF0499200AD2478 /* Damp.cpp in Sources */, + 29A8FE361EF0499200AD2478 /* DampAll.cpp in Sources */, + 29A8FE371EF0499200AD2478 /* Dashes.cpp in Sources */, + 29A8FE381EF0499200AD2478 /* DashesAttributes.cpp in Sources */, + 29A8FE391EF0499200AD2478 /* Defaults.cpp in Sources */, + 29A8FE3A1EF0499200AD2478 /* Degree.cpp in Sources */, + 29A8FE3B1EF0499200AD2478 /* DegreeAlter.cpp in Sources */, + 29A8FE3C1EF0499200AD2478 /* DegreeAlterAttributes.cpp in Sources */, + 29A8FE3D1EF0499200AD2478 /* DegreeAttributes.cpp in Sources */, + 29A8FE3E1EF0499200AD2478 /* DegreeType.cpp in Sources */, + 29A8FE3F1EF0499200AD2478 /* DegreeTypeAttributes.cpp in Sources */, + 29A8FE401EF0499200AD2478 /* DegreeValue.cpp in Sources */, + 29A8FE411EF0499200AD2478 /* DegreeValueAttributes.cpp in Sources */, + 29A8FE421EF0499200AD2478 /* DelayedInvertedTurn.cpp in Sources */, + 29A8FE431EF0499200AD2478 /* DelayedInvertedTurnAttributes.cpp in Sources */, + 29A8FE441EF0499200AD2478 /* DelayedTurn.cpp in Sources */, + 29A8FE451EF0499200AD2478 /* DelayedTurnAttributes.cpp in Sources */, + 29A8FE461EF0499200AD2478 /* DetachedLegato.cpp in Sources */, + 29A8FE471EF0499200AD2478 /* Diatonic.cpp in Sources */, + 29A8FE481EF0499200AD2478 /* Direction.cpp in Sources */, + 29A8FE491EF0499200AD2478 /* DirectionAttributes.cpp in Sources */, + 29A8FE4A1EF0499200AD2478 /* DirectionType.cpp in Sources */, + 29A8FE4B1EF0499200AD2478 /* Directive.cpp in Sources */, + 29A8FE4C1EF0499200AD2478 /* DirectiveAttributes.cpp in Sources */, + 29A8FE4D1EF0499200AD2478 /* DisplayOctave.cpp in Sources */, + 29A8FE4E1EF0499200AD2478 /* DisplayStep.cpp in Sources */, + 29A8FE4F1EF0499200AD2478 /* DisplayStepOctaveGroup.cpp in Sources */, + 29A8FE501EF0499200AD2478 /* DisplayText.cpp in Sources */, + 29A8FE511EF0499200AD2478 /* DisplayTextAttributes.cpp in Sources */, + 29A8FE521EF0499200AD2478 /* DisplayTextOrAccidentalText.cpp in Sources */, + 29A8FE531EF0499200AD2478 /* Distance.cpp in Sources */, + 29A8FE541EF0499200AD2478 /* DistanceAttributes.cpp in Sources */, + 29A8FE551EF0499200AD2478 /* Divisions.cpp in Sources */, + 29A8FE561EF0499200AD2478 /* Doit.cpp in Sources */, + 29A8FE571EF0499200AD2478 /* Dot.cpp in Sources */, + 29A8FE581EF0499200AD2478 /* Double.cpp in Sources */, + 29A8FE591EF0499200AD2478 /* DoubleTongue.cpp in Sources */, + 29A8FE5A1EF0499200AD2478 /* DownBow.cpp in Sources */, + 29A8FE5B1EF0499200AD2478 /* Duration.cpp in Sources */, + 29A8FE5C1EF0499200AD2478 /* Dynamics.cpp in Sources */, + 29A8FE5D1EF0499200AD2478 /* DynamicsAttributes.cpp in Sources */, + 29A8FE5E1EF0499200AD2478 /* EditorialGroup.cpp in Sources */, + 29A8FE5F1EF0499200AD2478 /* EditorialVoiceDirectionGroup.cpp in Sources */, + 29A8FE601EF0499200AD2478 /* EditorialVoiceGroup.cpp in Sources */, + 29A8FE611EF0499200AD2478 /* Effect.cpp in Sources */, + 29A8FE621EF0499200AD2478 /* Elevation.cpp in Sources */, + 29A8FE631EF0499200AD2478 /* Elision.cpp in Sources */, + 29A8FE641EF0499200AD2478 /* ElisionAttributes.cpp in Sources */, + 29A8FE651EF0499200AD2478 /* ElisionSyllabicGroup.cpp in Sources */, + 29A8FE661EF0499200AD2478 /* ElisionSyllabicTextGroup.cpp in Sources */, + 29A8FE671EF0499200AD2478 /* EmptyFontAttributes.cpp in Sources */, + 29A8FE681EF0499200AD2478 /* EmptyLineAttributes.cpp in Sources */, + 29A8FE691EF0499200AD2478 /* EmptyPlacementAttributes.cpp in Sources */, + 29A8FE6A1EF0499200AD2478 /* EmptyTrillSoundAttributes.cpp in Sources */, + 29A8FE6B1EF0499200AD2478 /* Encoder.cpp in Sources */, + 29A8FE6C1EF0499200AD2478 /* EncoderAttributes.cpp in Sources */, + 29A8FE6D1EF0499200AD2478 /* Encoding.cpp in Sources */, + 29A8FE6E1EF0499200AD2478 /* EncodingChoice.cpp in Sources */, + 29A8FE6F1EF0499200AD2478 /* EncodingDate.cpp in Sources */, + 29A8FE701EF0499200AD2478 /* EncodingDescription.cpp in Sources */, + 29A8FE711EF0499200AD2478 /* Ending.cpp in Sources */, + 29A8FE721EF0499200AD2478 /* EndingAttributes.cpp in Sources */, + 29A8FE731EF0499200AD2478 /* EndLine.cpp in Sources */, + 29A8FE741EF0499200AD2478 /* EndParagraph.cpp in Sources */, + 29A8FE751EF0499200AD2478 /* Ensemble.cpp in Sources */, + 29A8FE761EF0499200AD2478 /* Extend.cpp in Sources */, + 29A8FE771EF0499200AD2478 /* ExtendAttributes.cpp in Sources */, + 29A8FE781EF0499200AD2478 /* Eyeglasses.cpp in Sources */, + 29A8FE791EF0499200AD2478 /* Falloff.cpp in Sources */, + 29A8FE7A1EF0499200AD2478 /* Feature.cpp in Sources */, + 29A8FE7B1EF0499200AD2478 /* FeatureAttributes.cpp in Sources */, + 29A8FE7C1EF0499200AD2478 /* Fermata.cpp in Sources */, + 29A8FE7D1EF0499200AD2478 /* FermataAttributes.cpp in Sources */, + 29A8FE7E1EF0499200AD2478 /* Fifths.cpp in Sources */, + 29A8FE7F1EF0499200AD2478 /* Figure.cpp in Sources */, + 29A8FE801EF0499200AD2478 /* FiguredBass.cpp in Sources */, + 29A8FE811EF0499200AD2478 /* FiguredBassAttributes.cpp in Sources */, + 29A8FE821EF0499200AD2478 /* FigureNumber.cpp in Sources */, + 29A8FE831EF0499200AD2478 /* FigureNumberAttributes.cpp in Sources */, + 29A8FE841EF0499200AD2478 /* Fingering.cpp in Sources */, + 29A8FE851EF0499200AD2478 /* FingeringAttributes.cpp in Sources */, + 29A8FE861EF0499200AD2478 /* Fingernails.cpp in Sources */, + 29A8FE871EF0499200AD2478 /* FirstFret.cpp in Sources */, + 29A8FE881EF0499200AD2478 /* FirstFretAttributes.cpp in Sources */, + 29A8FE891EF0499200AD2478 /* Footnote.cpp in Sources */, + 29A8FE8A1EF0499200AD2478 /* FootnoteAttributes.cpp in Sources */, + 29A8FE8B1EF0499200AD2478 /* Forward.cpp in Sources */, + 29A8FE8C1EF0499200AD2478 /* Frame.cpp in Sources */, + 29A8FE8D1EF0499200AD2478 /* FrameAttributes.cpp in Sources */, + 29A8FE8E1EF0499200AD2478 /* FrameFrets.cpp in Sources */, + 29A8FE8F1EF0499200AD2478 /* FrameNote.cpp in Sources */, + 29A8FE901EF0499200AD2478 /* FrameStrings.cpp in Sources */, + 29A8FE911EF0499200AD2478 /* Fret.cpp in Sources */, + 29A8FE921EF0499200AD2478 /* FretAttributes.cpp in Sources */, + 29A8FE931EF0499200AD2478 /* FullNoteGroup.cpp in Sources */, + 29A8FE941EF0499200AD2478 /* FullNoteTypeChoice.cpp in Sources */, + 29A8FE951EF0499200AD2478 /* Function.cpp in Sources */, + 29A8FE961EF0499200AD2478 /* FunctionAttributes.cpp in Sources */, + 29A8FE971EF0499200AD2478 /* Glass.cpp in Sources */, + 29A8FE981EF0499200AD2478 /* Glissando.cpp in Sources */, + 29A8FE991EF0499200AD2478 /* GlissandoAttributes.cpp in Sources */, + 29A8FE9A1EF0499200AD2478 /* Grace.cpp in Sources */, + 29A8FE9B1EF0499200AD2478 /* GraceAttributes.cpp in Sources */, + 29A8FE9C1EF0499200AD2478 /* GraceNoteGroup.cpp in Sources */, + 29A8FE9D1EF0499200AD2478 /* Group.cpp in Sources */, + 29A8FE9E1EF0499200AD2478 /* GroupAbbreviation.cpp in Sources */, + 29A8FE9F1EF0499200AD2478 /* GroupAbbreviationAttributes.cpp in Sources */, + 29A8FEA01EF0499200AD2478 /* GroupAbbreviationDisplay.cpp in Sources */, + 29A8FEA11EF0499200AD2478 /* GroupAbbreviationDisplayAttributes.cpp in Sources */, + 29A8FEA21EF0499200AD2478 /* GroupBarline.cpp in Sources */, + 29A8FEA31EF0499200AD2478 /* GroupBarlineAttributes.cpp in Sources */, + 29A8FEA41EF0499200AD2478 /* Grouping.cpp in Sources */, + 29A8FEA51EF0499200AD2478 /* GroupingAttributes.cpp in Sources */, + 29A8FEA61EF0499200AD2478 /* GroupName.cpp in Sources */, + 29A8FEA71EF0499200AD2478 /* GroupNameAttributes.cpp in Sources */, + 29A8FEA81EF0499200AD2478 /* GroupNameDisplay.cpp in Sources */, + 29A8FEA91EF0499200AD2478 /* GroupNameDisplayAttributes.cpp in Sources */, + 29A8FEAA1EF0499200AD2478 /* GroupSymbol.cpp in Sources */, + 29A8FEAB1EF0499200AD2478 /* GroupSymbolAttributes.cpp in Sources */, + 29A8FEAC1EF0499200AD2478 /* GroupTime.cpp in Sources */, + 29A8FEAD1EF0499200AD2478 /* HammerOn.cpp in Sources */, + 29A8FEAE1EF0499200AD2478 /* HammerOnAttributes.cpp in Sources */, + 29A8FEAF1EF0499200AD2478 /* Handbell.cpp in Sources */, + 29A8FEB01EF0499200AD2478 /* HandbellAttributes.cpp in Sources */, + 29A8FEB11EF0499200AD2478 /* Harmonic.cpp in Sources */, + 29A8FEB21EF0499200AD2478 /* HarmonicAttributes.cpp in Sources */, + 29A8FEB31EF0499200AD2478 /* HarmonicInfoChoice.cpp in Sources */, + 29A8FEB41EF0499200AD2478 /* HarmonicTypeChoice.cpp in Sources */, + 29A8FEB51EF0499200AD2478 /* Harmony.cpp in Sources */, + 29A8FEB61EF0499200AD2478 /* HarmonyAttributes.cpp in Sources */, + 29A8FEB71EF0499200AD2478 /* HarmonyChordGroup.cpp in Sources */, + 29A8FEB81EF0499200AD2478 /* HarpPedals.cpp in Sources */, + 29A8FEB91EF0499200AD2478 /* HarpPedalsAttributes.cpp in Sources */, + 29A8FEBA1EF0499200AD2478 /* Heel.cpp in Sources */, + 29A8FEBB1EF0499200AD2478 /* HeelAttributes.cpp in Sources */, + 29A8FEBC1EF0499200AD2478 /* Hole.cpp in Sources */, + 29A8FEBD1EF0499200AD2478 /* HoleAttributes.cpp in Sources */, + 29A8FEBE1EF0499200AD2478 /* HoleClosed.cpp in Sources */, + 29A8FEBF1EF0499200AD2478 /* HoleClosedAttributes.cpp in Sources */, + 29A8FEC01EF0499200AD2478 /* HoleShape.cpp in Sources */, + 29A8FEC11EF0499200AD2478 /* HoleType.cpp in Sources */, + 29A8FEC21EF0499200AD2478 /* Humming.cpp in Sources */, + 29A8FEC31EF0499200AD2478 /* Identification.cpp in Sources */, + 29A8FEC41EF0499200AD2478 /* Image.cpp in Sources */, + 29A8FEC51EF0499200AD2478 /* ImageAttributes.cpp in Sources */, + 29A8FEC61EF0499200AD2478 /* Instrument.cpp in Sources */, + 29A8FEC71EF0499200AD2478 /* InstrumentAbbreviation.cpp in Sources */, + 29A8FEC81EF0499200AD2478 /* InstrumentAttributes.cpp in Sources */, + 29A8FEC91EF0499200AD2478 /* InstrumentName.cpp in Sources */, + 29A8FECA1EF0499200AD2478 /* Instruments.cpp in Sources */, + 29A8FECB1EF0499200AD2478 /* InstrumentSound.cpp in Sources */, + 29A8FECC1EF0499200AD2478 /* Interchangeable.cpp in Sources */, + 29A8FECD1EF0499200AD2478 /* InterchangeableAttributes.cpp in Sources */, + 29A8FECE1EF0499200AD2478 /* Inversion.cpp in Sources */, + 29A8FECF1EF0499200AD2478 /* InversionAttributes.cpp in Sources */, + 29A8FED01EF0499200AD2478 /* InvertedMordent.cpp in Sources */, + 29A8FED11EF0499200AD2478 /* InvertedMordentAttributes.cpp in Sources */, + 29A8FED21EF0499200AD2478 /* InvertedTurn.cpp in Sources */, + 29A8FED31EF0499200AD2478 /* InvertedTurnAttributes.cpp in Sources */, + 29A8FED41EF0499200AD2478 /* Ipa.cpp in Sources */, + 29A8FED51EF0499200AD2478 /* Key.cpp in Sources */, + 29A8FED61EF0499200AD2478 /* KeyAccidental.cpp in Sources */, + 29A8FED71EF0499200AD2478 /* KeyAlter.cpp in Sources */, + 29A8FED81EF0499200AD2478 /* KeyAttributes.cpp in Sources */, + 29A8FED91EF0499200AD2478 /* KeyChoice.cpp in Sources */, + 29A8FEDA1EF0499200AD2478 /* KeyOctave.cpp in Sources */, + 29A8FEDB1EF0499200AD2478 /* KeyOctaveAttributes.cpp in Sources */, + 29A8FEDC1EF0499200AD2478 /* KeyStep.cpp in Sources */, + 29A8FEDD1EF0499200AD2478 /* Kind.cpp in Sources */, + 29A8FEDE1EF0499200AD2478 /* KindAttributes.cpp in Sources */, + 29A8FEDF1EF0499200AD2478 /* Laughing.cpp in Sources */, + 29A8FEE01EF0499200AD2478 /* LayoutGroup.cpp in Sources */, + 29A8FEE11EF0499200AD2478 /* LeftDivider.cpp in Sources */, + 29A8FEE21EF0499200AD2478 /* LeftMargin.cpp in Sources */, + 29A8FEE31EF0499200AD2478 /* Level.cpp in Sources */, + 29A8FEE41EF0499200AD2478 /* LevelAttributes.cpp in Sources */, + 29A8FEE51EF0499200AD2478 /* Line.cpp in Sources */, + 29A8FEE61EF0499200AD2478 /* LineWidth.cpp in Sources */, + 29A8FEE71EF0499200AD2478 /* LineWidthAttributes.cpp in Sources */, + 29A8FEE81EF0499200AD2478 /* Link.cpp in Sources */, + 29A8FEE91EF0499200AD2478 /* LinkAttributes.cpp in Sources */, + 29A8FEEA1EF0499200AD2478 /* Lyric.cpp in Sources */, + 29A8FEEB1EF0499200AD2478 /* LyricAttributes.cpp in Sources */, + 29A8FEEC1EF0499200AD2478 /* LyricFont.cpp in Sources */, + 29A8FEED1EF0499200AD2478 /* LyricFontAttributes.cpp in Sources */, + 29A8FEEE1EF0499200AD2478 /* LyricLanguage.cpp in Sources */, + 29A8FEEF1EF0499200AD2478 /* LyricLanguageAttributes.cpp in Sources */, + 29A8FEF01EF0499200AD2478 /* LyricTextChoice.cpp in Sources */, + 29A8FEF11EF0499200AD2478 /* MeasureAttributes.cpp in Sources */, + 29A8FEF21EF0499200AD2478 /* MeasureDistance.cpp in Sources */, + 29A8FEF31EF0499200AD2478 /* MeasureLayout.cpp in Sources */, + 29A8FEF41EF0499200AD2478 /* MeasureNumbering.cpp in Sources */, + 29A8FEF51EF0499200AD2478 /* MeasureNumberingAttributes.cpp in Sources */, + 29A8FEF61EF0499200AD2478 /* MeasureRepeat.cpp in Sources */, + 29A8FEF71EF0499200AD2478 /* MeasureRepeatAttributes.cpp in Sources */, + 29A8FEF81EF0499200AD2478 /* MeasureStyle.cpp in Sources */, + 29A8FEF91EF0499200AD2478 /* MeasureStyleAttributes.cpp in Sources */, + 29A8FEFA1EF0499200AD2478 /* MeasureStyleChoice.cpp in Sources */, + 29A8FEFB1EF0499200AD2478 /* Membrane.cpp in Sources */, + 29A8FEFC1EF0499200AD2478 /* Metal.cpp in Sources */, + 29A8FEFD1EF0499200AD2478 /* Metronome.cpp in Sources */, + 29A8FEFE1EF0499200AD2478 /* MetronomeAttributes.cpp in Sources */, + 29A8FEFF1EF0499200AD2478 /* MetronomeBeam.cpp in Sources */, + 29A8FF001EF0499200AD2478 /* MetronomeBeamAttributes.cpp in Sources */, + 29A8FF011EF0499200AD2478 /* MetronomeDot.cpp in Sources */, + 29A8FF021EF0499200AD2478 /* MetronomeNote.cpp in Sources */, + 29A8FF031EF0499200AD2478 /* MetronomeRelation.cpp in Sources */, + 29A8FF041EF0499200AD2478 /* MetronomeRelationGroup.cpp in Sources */, + 29A8FF051EF0499200AD2478 /* MetronomeTuplet.cpp in Sources */, + 29A8FF061EF0499200AD2478 /* MetronomeTupletAttributes.cpp in Sources */, + 29A8FF071EF0499200AD2478 /* MetronomeType.cpp in Sources */, + 29A8FF081EF0499200AD2478 /* MidiBank.cpp in Sources */, + 29A8FF091EF0499200AD2478 /* MidiChannel.cpp in Sources */, + 29A8FF0A1EF0499200AD2478 /* MidiDevice.cpp in Sources */, + 29A8FF0B1EF0499200AD2478 /* MidiDeviceAttributes.cpp in Sources */, + 29A8FF0C1EF0499200AD2478 /* MidiDeviceInstrumentGroup.cpp in Sources */, + 29A8FF0D1EF0499200AD2478 /* MidiInstrument.cpp in Sources */, + 29A8FF0E1EF0499200AD2478 /* MidiInstrumentAttributes.cpp in Sources */, + 29A8FF0F1EF0499200AD2478 /* MidiName.cpp in Sources */, + 29A8FF101EF0499200AD2478 /* MidiProgram.cpp in Sources */, + 29A8FF111EF0499200AD2478 /* MidiUnpitched.cpp in Sources */, + 29A8FF121EF0499200AD2478 /* Millimeters.cpp in Sources */, + 29A8FF131EF0499200AD2478 /* Miscellaneous.cpp in Sources */, + 29A8FF141EF0499200AD2478 /* MiscellaneousField.cpp in Sources */, + 29A8FF151EF0499200AD2478 /* MiscellaneousFieldAttributes.cpp in Sources */, + 29A8FF161EF0499200AD2478 /* Mode.cpp in Sources */, + 29A8FF171EF0499200AD2478 /* Mordent.cpp in Sources */, + 29A8FF181EF0499200AD2478 /* MordentAttributes.cpp in Sources */, + 29A8FF191EF0499200AD2478 /* MovementNumber.cpp in Sources */, + 29A8FF1A1EF0499200AD2478 /* MovementTitle.cpp in Sources */, + 29A8FF1B1EF0499200AD2478 /* MultipleRest.cpp in Sources */, + 29A8FF1C1EF0499200AD2478 /* MultipleRestAttributes.cpp in Sources */, + 29A8FF1D1EF0499200AD2478 /* MusicDataChoice.cpp in Sources */, + 29A8FF1E1EF0499200AD2478 /* MusicDataGroup.cpp in Sources */, + 29A8FF1F1EF0499200AD2478 /* MusicFont.cpp in Sources */, + 29A8FF201EF0499200AD2478 /* Mute.cpp in Sources */, + 29A8FF211EF0499200AD2478 /* Natural.cpp in Sources */, + 29A8FF221EF0499200AD2478 /* NonArpeggiate.cpp in Sources */, + 29A8FF231EF0499200AD2478 /* NonArpeggiateAttributes.cpp in Sources */, + 29A8FF241EF0499200AD2478 /* NonTraditionalKey.cpp in Sources */, + 29A8FF251EF0499200AD2478 /* NormalDot.cpp in Sources */, + 29A8FF261EF0499200AD2478 /* NormalNoteGroup.cpp in Sources */, + 29A8FF271EF0499200AD2478 /* NormalNotes.cpp in Sources */, + 29A8FF281EF0499200AD2478 /* NormalType.cpp in Sources */, + 29A8FF291EF0499200AD2478 /* NormalTypeNormalDotGroup.cpp in Sources */, + 29A8FF2A1EF0499200AD2478 /* Notations.cpp in Sources */, + 29A8FF2B1EF0499200AD2478 /* NotationsAttributes.cpp in Sources */, + 29A8FF2C1EF0499200AD2478 /* NotationsChoice.cpp in Sources */, + 29A8FF2D1EF0499200AD2478 /* Note.cpp in Sources */, + 29A8FF2E1EF0499200AD2478 /* NoteAttributes.cpp in Sources */, + 29A8FF2F1EF0499200AD2478 /* NoteChoice.cpp in Sources */, + 29A8FF301EF0499200AD2478 /* Notehead.cpp in Sources */, + 29A8FF311EF0499200AD2478 /* NoteheadAttributes.cpp in Sources */, + 29A8FF321EF0499200AD2478 /* NoteheadText.cpp in Sources */, + 29A8FF331EF0499200AD2478 /* NoteheadTextChoice.cpp in Sources */, + 29A8FF341EF0499200AD2478 /* NoteRelationNote.cpp in Sources */, + 29A8FF351EF0499200AD2478 /* NoteSize.cpp in Sources */, + 29A8FF361EF0499200AD2478 /* NoteSizeAttributes.cpp in Sources */, + 29A8FF371EF0499200AD2478 /* Octave.cpp in Sources */, + 29A8FF381EF0499200AD2478 /* OctaveChange.cpp in Sources */, + 29A8FF391EF0499200AD2478 /* OctaveShift.cpp in Sources */, + 29A8FF3A1EF0499200AD2478 /* OctaveShiftAttributes.cpp in Sources */, + 29A8FF3B1EF0499200AD2478 /* Offset.cpp in Sources */, + 29A8FF3C1EF0499200AD2478 /* OffsetAttributes.cpp in Sources */, + 29A8FF3D1EF0499200AD2478 /* OpenString.cpp in Sources */, + 29A8FF3E1EF0499200AD2478 /* Opus.cpp in Sources */, + 29A8FF3F1EF0499200AD2478 /* OpusAttributes.cpp in Sources */, + 29A8FF401EF0499200AD2478 /* Ornaments.cpp in Sources */, + 29A8FF411EF0499200AD2478 /* OrnamentsChoice.cpp in Sources */, + 29A8FF421EF0499200AD2478 /* OtherAppearance.cpp in Sources */, + 29A8FF431EF0499200AD2478 /* OtherAppearanceAttributes.cpp in Sources */, + 29A8FF441EF0499200AD2478 /* OtherArticulation.cpp in Sources */, + 29A8FF451EF0499200AD2478 /* OtherArticulationAttributes.cpp in Sources */, + 29A8FF461EF0499200AD2478 /* OtherDirection.cpp in Sources */, + 29A8FF471EF0499200AD2478 /* OtherDirectionAttributes.cpp in Sources */, + 29A8FF481EF0499200AD2478 /* OtherNotation.cpp in Sources */, + 29A8FF491EF0499200AD2478 /* OtherNotationAttributes.cpp in Sources */, + 29A8FF4A1EF0499200AD2478 /* OtherOrnament.cpp in Sources */, + 29A8FF4B1EF0499200AD2478 /* OtherOrnamentAttributes.cpp in Sources */, + 29A8FF4C1EF0499200AD2478 /* OtherPercussion.cpp in Sources */, + 29A8FF4D1EF0499200AD2478 /* OtherPlay.cpp in Sources */, + 29A8FF4E1EF0499200AD2478 /* OtherPlayAttributes.cpp in Sources */, + 29A8FF4F1EF0499200AD2478 /* OtherTechnical.cpp in Sources */, + 29A8FF501EF0499200AD2478 /* OtherTechnicalAttributes.cpp in Sources */, + 29A8FF511EF0499200AD2478 /* PageHeight.cpp in Sources */, + 29A8FF521EF0499200AD2478 /* PageLayout.cpp in Sources */, + 29A8FF531EF0499200AD2478 /* PageMargins.cpp in Sources */, + 29A8FF541EF0499200AD2478 /* PageMarginsAttributes.cpp in Sources */, + 29A8FF551EF0499200AD2478 /* PageWidth.cpp in Sources */, + 29A8FF561EF0499200AD2478 /* Pan.cpp in Sources */, + 29A8FF571EF0499200AD2478 /* PartAbbreviation.cpp in Sources */, + 29A8FF581EF0499200AD2478 /* PartAbbreviationAttributes.cpp in Sources */, + 29A8FF591EF0499200AD2478 /* PartAbbreviationDisplay.cpp in Sources */, + 29A8FF5A1EF0499200AD2478 /* PartAbbreviationDisplayAttributes.cpp in Sources */, + 29A8FF5B1EF0499200AD2478 /* PartAttributes.cpp in Sources */, + 29A8FF5C1EF0499200AD2478 /* PartGroup.cpp in Sources */, + 29A8FF5D1EF0499200AD2478 /* PartGroupAttributes.cpp in Sources */, + 29A8FF5E1EF0499200AD2478 /* PartGroupOrScorePart.cpp in Sources */, + 29A8FF5F1EF0499200AD2478 /* PartList.cpp in Sources */, + 29A8FF601EF0499200AD2478 /* PartName.cpp in Sources */, + 29A8FF611EF0499200AD2478 /* PartNameAttributes.cpp in Sources */, + 29A8FF621EF0499200AD2478 /* PartNameDisplay.cpp in Sources */, + 29A8FF631EF0499200AD2478 /* PartNameDisplayAttributes.cpp in Sources */, + 29A8FF641EF0499200AD2478 /* PartSymbol.cpp in Sources */, + 29A8FF651EF0499200AD2478 /* PartSymbolAttributes.cpp in Sources */, + 29A8FF661EF0499200AD2478 /* PartwiseMeasure.cpp in Sources */, + 29A8FF671EF0499200AD2478 /* PartwisePart.cpp in Sources */, + 29A8FF681EF0499200AD2478 /* Pedal.cpp in Sources */, + 29A8FF691EF0499200AD2478 /* PedalAlter.cpp in Sources */, + 29A8FF6A1EF0499200AD2478 /* PedalAttributes.cpp in Sources */, + 29A8FF6B1EF0499200AD2478 /* PedalStep.cpp in Sources */, + 29A8FF6C1EF0499200AD2478 /* PedalTuning.cpp in Sources */, + 29A8FF6D1EF0499200AD2478 /* Percussion.cpp in Sources */, + 29A8FF6E1EF0499200AD2478 /* PercussionAttributes.cpp in Sources */, + 29A8FF6F1EF0499200AD2478 /* PercussionChoice.cpp in Sources */, + 29A8FF701EF0499200AD2478 /* PerMinute.cpp in Sources */, + 29A8FF711EF0499300AD2478 /* PerMinuteAttributes.cpp in Sources */, + 29A8FF721EF0499300AD2478 /* PerMinuteOrBeatUnitChoice.cpp in Sources */, + 29A8FF731EF0499300AD2478 /* Pitch.cpp in Sources */, + 29A8FF741EF0499300AD2478 /* Pitched.cpp in Sources */, + 29A8FF751EF0499300AD2478 /* Play.cpp in Sources */, + 29A8FF761EF0499300AD2478 /* PlayAttributes.cpp in Sources */, + 29A8FF771EF0499300AD2478 /* Plop.cpp in Sources */, + 29A8FF781EF0499300AD2478 /* Pluck.cpp in Sources */, + 29A8FF791EF0499300AD2478 /* PluckAttributes.cpp in Sources */, + 29A8FF7A1EF0499300AD2478 /* PreBend.cpp in Sources */, + 29A8FF7C1EF0499300AD2478 /* Prefix.cpp in Sources */, + 29A8FF7D1EF0499300AD2478 /* PrefixAttributes.cpp in Sources */, + 29A8FF7E1EF0499300AD2478 /* PrincipalVoice.cpp in Sources */, + 29A8FF7F1EF0499300AD2478 /* PrincipalVoiceAttributes.cpp in Sources */, + 29A8FF801EF0499300AD2478 /* Print.cpp in Sources */, + 29A8FF811EF0499300AD2478 /* PrintAttributes.cpp in Sources */, + 29A8FF821EF0499300AD2478 /* Properties.cpp in Sources */, + 29A8FF831EF0499300AD2478 /* PullOff.cpp in Sources */, + 29A8FF841EF0499300AD2478 /* PullOffAttributes.cpp in Sources */, + 29A8FF851EF0499300AD2478 /* Rehearsal.cpp in Sources */, + 29A8FF861EF0499300AD2478 /* RehearsalAttributes.cpp in Sources */, + 29A8FF871EF0499300AD2478 /* Relation.cpp in Sources */, + 29A8FF881EF0499300AD2478 /* RelationAttributes.cpp in Sources */, + 29A8FF891EF0499300AD2478 /* Release.cpp in Sources */, + 29A8FF8A1EF0499300AD2478 /* Repeat.cpp in Sources */, + 29A8FF8B1EF0499300AD2478 /* RepeatAttributes.cpp in Sources */, + 29A8FF8C1EF0499300AD2478 /* Rest.cpp in Sources */, + 29A8FF8D1EF0499300AD2478 /* RestAttributes.cpp in Sources */, + 29A8FF8E1EF0499300AD2478 /* RightDivider.cpp in Sources */, + 29A8FF8F1EF0499300AD2478 /* RightMargin.cpp in Sources */, + 29A8FF901EF0499300AD2478 /* Rights.cpp in Sources */, + 29A8FF911EF0499300AD2478 /* RightsAttributes.cpp in Sources */, + 29A8FF921EF0499300AD2478 /* Root.cpp in Sources */, + 29A8FF931EF0499300AD2478 /* RootAlter.cpp in Sources */, + 29A8FF941EF0499300AD2478 /* RootAlterAttributes.cpp in Sources */, + 29A8FF951EF0499300AD2478 /* RootStep.cpp in Sources */, + 29A8FF961EF0499300AD2478 /* RootStepAttributes.cpp in Sources */, + 29A8FF971EF0499300AD2478 /* Scaling.cpp in Sources */, + 29A8FF981EF0499300AD2478 /* Schleifer.cpp in Sources */, + 29A8FF991EF0499300AD2478 /* Scoop.cpp in Sources */, + 29A8FF9A1EF0499300AD2478 /* Scordatura.cpp in Sources */, + 29A8FF9B1EF0499300AD2478 /* ScoreHeaderGroup.cpp in Sources */, + 29A8FF9C1EF0499300AD2478 /* ScoreInstrument.cpp in Sources */, + 29A8FF9D1EF0499300AD2478 /* ScoreInstrumentAttributes.cpp in Sources */, + 29A8FF9E1EF0499300AD2478 /* ScorePart.cpp in Sources */, + 29A8FF9F1EF0499300AD2478 /* ScorePartAttributes.cpp in Sources */, + 29A8FFA01EF0499300AD2478 /* ScorePartwise.cpp in Sources */, + 29A8FFA11EF0499300AD2478 /* ScorePartwiseAttributes.cpp in Sources */, + 29A8FFA21EF0499300AD2478 /* ScoreTimewise.cpp in Sources */, + 29A8FFA31EF0499300AD2478 /* ScoreTimewiseAttributes.cpp in Sources */, + 29A8FFA41EF0499300AD2478 /* Segno.cpp in Sources */, + 29A8FFA51EF0499300AD2478 /* SemiPitched.cpp in Sources */, + 29A8FFA61EF0499300AD2478 /* SenzaMisura.cpp in Sources */, + 29A8FFA71EF0499300AD2478 /* Shake.cpp in Sources */, + 29A8FFA81EF0499300AD2478 /* Sign.cpp in Sources */, + 29A8FFA91EF0499300AD2478 /* Slash.cpp in Sources */, + 29A8FFAA1EF0499300AD2478 /* SlashAttributes.cpp in Sources */, + 29A8FFAB1EF0499300AD2478 /* SlashDot.cpp in Sources */, + 29A8FFAC1EF0499300AD2478 /* SlashType.cpp in Sources */, + 29A8FFAD1EF0499300AD2478 /* Slide.cpp in Sources */, + 29A8FFAE1EF0499300AD2478 /* SlideAttributes.cpp in Sources */, + 29A8FFAF1EF0499300AD2478 /* Slur.cpp in Sources */, + 29A8FFB01EF0499300AD2478 /* SlurAttributes.cpp in Sources */, + 29A8FFB11EF0499300AD2478 /* SnapPizzicato.cpp in Sources */, + 29A8FFB21EF0499300AD2478 /* Software.cpp in Sources */, + 29A8FFB31EF0499300AD2478 /* Solo.cpp in Sources */, + 29A8FFB41EF0499300AD2478 /* SoloOrEnsembleChoice.cpp in Sources */, + 29A8FFB51EF0499300AD2478 /* Sound.cpp in Sources */, + 29A8FFB61EF0499300AD2478 /* SoundAttributes.cpp in Sources */, + 29A8FFB71EF0499300AD2478 /* SoundingPitch.cpp in Sources */, + 29A8FFB81EF0499300AD2478 /* Source.cpp in Sources */, + 29A8FFB91EF0499300AD2478 /* Spiccato.cpp in Sources */, + 29A8FFBA1EF0499300AD2478 /* Staccatissimo.cpp in Sources */, + 29A8FFBB1EF0499300AD2478 /* Staccato.cpp in Sources */, + 29A8FFBC1EF0499300AD2478 /* Staff.cpp in Sources */, + 29A8FFBD1EF0499300AD2478 /* StaffDetails.cpp in Sources */, + 29A8FFBE1EF0499300AD2478 /* StaffDetailsAttributes.cpp in Sources */, + 29A8FFBF1EF0499300AD2478 /* StaffDistance.cpp in Sources */, + 29A8FFC01EF0499300AD2478 /* StaffLayout.cpp in Sources */, + 29A8FFC11EF0499300AD2478 /* StaffLayoutAttributes.cpp in Sources */, + 29A8FFC21EF0499300AD2478 /* StaffLines.cpp in Sources */, + 29A8FFC31EF0499300AD2478 /* StaffSize.cpp in Sources */, + 29A8FFC41EF0499300AD2478 /* StaffTuning.cpp in Sources */, + 29A8FFC51EF0499300AD2478 /* StaffTuningAttributes.cpp in Sources */, + 29A8FFC61EF0499300AD2478 /* StaffType.cpp in Sources */, + 29A8FFC71EF0499300AD2478 /* Staves.cpp in Sources */, + 29A8FFC81EF0499300AD2478 /* Stem.cpp in Sources */, + 29A8FFC91EF0499300AD2478 /* StemAttributes.cpp in Sources */, + 29A8FFCA1EF0499300AD2478 /* Step.cpp in Sources */, + 29A8FFCB1EF0499300AD2478 /* Stick.cpp in Sources */, + 29A8FFCC1EF0499300AD2478 /* StickAttributes.cpp in Sources */, + 29A8FFCD1EF0499300AD2478 /* StickLocation.cpp in Sources */, + 29A8FFCE1EF0499300AD2478 /* StickMaterial.cpp in Sources */, + 29A8FFCF1EF0499300AD2478 /* StickType.cpp in Sources */, + 29A8FFD01EF0499300AD2478 /* Stopped.cpp in Sources */, + 29A8FFD11EF0499300AD2478 /* Stress.cpp in Sources */, + 29A8FFD21EF0499300AD2478 /* String.cpp in Sources */, + 29A8FFD31EF0499300AD2478 /* StringAttributes.cpp in Sources */, + 29A8FFD41EF0499300AD2478 /* StringMute.cpp in Sources */, + 29A8FFD51EF0499300AD2478 /* StringMuteAttributes.cpp in Sources */, + 29A8FFD61EF0499300AD2478 /* StrongAccent.cpp in Sources */, + 29A8FFD71EF0499300AD2478 /* StrongAccentAttributes.cpp in Sources */, + 29A8FFD81EF0499300AD2478 /* Suffix.cpp in Sources */, + 29A8FFD91EF0499300AD2478 /* SuffixAttributes.cpp in Sources */, + 29A8FFDA1EF0499300AD2478 /* Supports.cpp in Sources */, + 29A8FFDB1EF0499300AD2478 /* SupportsAttributes.cpp in Sources */, + 29A8FFDC1EF0499300AD2478 /* Syllabic.cpp in Sources */, + 29A8FFDD1EF0499300AD2478 /* SyllabicTextGroup.cpp in Sources */, + 29A8FFDE1EF0499300AD2478 /* SystemDistance.cpp in Sources */, + 29A8FFDF1EF0499300AD2478 /* SystemDividers.cpp in Sources */, + 29A8FFE01EF0499300AD2478 /* SystemLayout.cpp in Sources */, + 29A8FFE11EF0499300AD2478 /* SystemMargins.cpp in Sources */, + 29A8FFE21EF0499300AD2478 /* Tap.cpp in Sources */, + 29A8FFE31EF0499300AD2478 /* TapAttributes.cpp in Sources */, + 29A8FFE41EF0499300AD2478 /* Technical.cpp in Sources */, + 29A8FFE51EF0499300AD2478 /* TechnicalChoice.cpp in Sources */, + 29A8FFE61EF0499300AD2478 /* Tenths.cpp in Sources */, + 29A8FFE71EF0499300AD2478 /* Tenuto.cpp in Sources */, + 29A8FFE81EF0499300AD2478 /* Text.cpp in Sources */, + 29A8FFE91EF0499300AD2478 /* TextAttributes.cpp in Sources */, + 29A8FFEA1EF0499300AD2478 /* ThumbPosition.cpp in Sources */, + 29A8FFEB1EF0499300AD2478 /* Tie.cpp in Sources */, + 29A8FFEC1EF0499300AD2478 /* TieAttributes.cpp in Sources */, + 29A8FFED1EF0499300AD2478 /* Tied.cpp in Sources */, + 29A8FFEE1EF0499300AD2478 /* TiedAttributes.cpp in Sources */, + 29A8FFEF1EF0499300AD2478 /* Time.cpp in Sources */, + 29A8FFF01EF0499300AD2478 /* TimeAttributes.cpp in Sources */, + 29A8FFF11EF0499300AD2478 /* TimeChoice.cpp in Sources */, + 29A8FFF21EF0499300AD2478 /* TimeModification.cpp in Sources */, + 29A8FFF31EF0499300AD2478 /* TimeModificationNormalTypeNormalDot.cpp in Sources */, + 29A8FFF41EF0499300AD2478 /* TimeRelation.cpp in Sources */, + 29A8FFF51EF0499300AD2478 /* TimeSignatureGroup.cpp in Sources */, + 29A8FFF61EF0499300AD2478 /* TimewiseMeasure.cpp in Sources */, + 29A8FFF71EF0499300AD2478 /* TimewisePart.cpp in Sources */, + 29A8FFF81EF0499300AD2478 /* Timpani.cpp in Sources */, + 29A8FFF91EF0499300AD2478 /* Toe.cpp in Sources */, + 29A8FFFA1EF0499300AD2478 /* ToeAttributes.cpp in Sources */, + 29A8FFFB1EF0499300AD2478 /* TopMargin.cpp in Sources */, + 29A8FFFC1EF0499300AD2478 /* TopSystemDistance.cpp in Sources */, + 29A8FFFD1EF0499300AD2478 /* TouchingPitch.cpp in Sources */, + 29A8FFFE1EF0499300AD2478 /* TraditionalKey.cpp in Sources */, + 29A8FFFF1EF0499300AD2478 /* Transpose.cpp in Sources */, + 29A800001EF0499300AD2478 /* TransposeAttributes.cpp in Sources */, + 29A800011EF0499300AD2478 /* Tremolo.cpp in Sources */, + 29A800021EF0499300AD2478 /* TremoloAttributes.cpp in Sources */, + 29A800031EF0499300AD2478 /* TrillMark.cpp in Sources */, + 29A800041EF0499300AD2478 /* TripleTongue.cpp in Sources */, + 29A800051EF0499300AD2478 /* TuningAlter.cpp in Sources */, + 29A800061EF0499300AD2478 /* TuningOctave.cpp in Sources */, + 29A800071EF0499300AD2478 /* TuningStep.cpp in Sources */, + 29A800081EF0499300AD2478 /* Tuplet.cpp in Sources */, + 29A800091EF0499300AD2478 /* TupletActual.cpp in Sources */, + 29A8000A1EF0499300AD2478 /* TupletAttributes.cpp in Sources */, + 29A8000B1EF0499300AD2478 /* TupletDot.cpp in Sources */, + 29A8000C1EF0499300AD2478 /* TupletDotAttributes.cpp in Sources */, + 29A8000D1EF0499300AD2478 /* TupletNormal.cpp in Sources */, + 29A8000E1EF0499300AD2478 /* TupletNumber.cpp in Sources */, + 29A8000F1EF0499300AD2478 /* TupletNumberAttributes.cpp in Sources */, + 29A800101EF0499300AD2478 /* TupletType.cpp in Sources */, + 29A800111EF0499300AD2478 /* TupletTypeAttributes.cpp in Sources */, + 29A800121EF0499300AD2478 /* Turn.cpp in Sources */, + 29A800131EF0499300AD2478 /* TurnAttributes.cpp in Sources */, + 29A800141EF0499300AD2478 /* Type.cpp in Sources */, + 29A800151EF0499300AD2478 /* TypeAttributes.cpp in Sources */, + 29A800161EF0499300AD2478 /* Unpitched.cpp in Sources */, + 29A800171EF0499300AD2478 /* Unstress.cpp in Sources */, + 29A800181EF0499300AD2478 /* UpBow.cpp in Sources */, + 29A800191EF0499300AD2478 /* VerticalTurn.cpp in Sources */, + 29A8001A1EF0499300AD2478 /* VirtualInstrument.cpp in Sources */, + 29A8001B1EF0499300AD2478 /* VirtualLibrary.cpp in Sources */, + 29A8001C1EF0499300AD2478 /* VirtualName.cpp in Sources */, + 29A8001D1EF0499300AD2478 /* Voice.cpp in Sources */, + 29A8001E1EF0499300AD2478 /* Volume.cpp in Sources */, + 29A8001F1EF0499300AD2478 /* WavyLine.cpp in Sources */, + 29A800201EF0499300AD2478 /* WavyLineAttributes.cpp in Sources */, + 29A800211EF0499300AD2478 /* Wedge.cpp in Sources */, + 29A800221EF0499300AD2478 /* WedgeAttributes.cpp in Sources */, + 29A800231EF0499300AD2478 /* WithBar.cpp in Sources */, + 29A800241EF0499300AD2478 /* WithBarAttributes.cpp in Sources */, + 29A800251EF0499300AD2478 /* Wood.cpp in Sources */, + 29A800261EF0499300AD2478 /* WordFont.cpp in Sources */, + 29A800271EF0499300AD2478 /* Words.cpp in Sources */, + 29A800281EF0499300AD2478 /* WordsAttributes.cpp in Sources */, + 29A800291EF0499300AD2478 /* Work.cpp in Sources */, + 29A8002A1EF0499300AD2478 /* WorkNumber.cpp in Sources */, + 29A8002B1EF0499300AD2478 /* WorkTitle.cpp in Sources */, + 29A8002C1EF0499300AD2478 /* Elements.cpp in Sources */, + 29A8002D1EF0499300AD2478 /* EmptyPrintObjectStyleAlignAttributes.cpp in Sources */, + 29A8002E1EF0499300AD2478 /* Enums.cpp in Sources */, + 29A8002F1EF0499300AD2478 /* FontSize.cpp in Sources */, + 29A800301EF0499300AD2478 /* FromXElement.cpp in Sources */, + 29A800311EF0499300AD2478 /* Integers.cpp in Sources */, + 29A800321EF0499300AD2478 /* NumberOrNormal.cpp in Sources */, + 29A800331EF0499300AD2478 /* PositiveIntegerOrEmpty.cpp in Sources */, + 29A800341EF0499300AD2478 /* PreciseDecimal.cpp in Sources */, + 29A800351EF0499300AD2478 /* ScoreConversions.cpp in Sources */, + 29A800361EF0499300AD2478 /* Strings.cpp in Sources */, + 29A800371EF0499300AD2478 /* YesNoNumber.cpp in Sources */, + 29A800381EF0499300AD2478 /* AccidentalMarkFunctions.cpp in Sources */, + 29A800391EF0499300AD2478 /* ArticulationsFunctions.cpp in Sources */, + 29A8003A1EF0499300AD2478 /* Converter.cpp in Sources */, + 29A8003B1EF0499300AD2478 /* Cursor.cpp in Sources */, + 29A8003C1EF0499300AD2478 /* DirectionReader.cpp in Sources */, + 29A8003D1EF0499300AD2478 /* DirectionWriter.cpp in Sources */, + 29A8003E1EF0499300AD2478 /* DynamicsReader.cpp in Sources */, + 29A8003F1EF0499300AD2478 /* DynamicsWriter.cpp in Sources */, + 29A800401EF0499300AD2478 /* EncodingFunctions.cpp in Sources */, + 29A800411EF0499300AD2478 /* LayoutFunctions.cpp in Sources */, + 29A800421EF0499300AD2478 /* LcmGcd.cpp in Sources */, + 29A800431EF0499300AD2478 /* MeasureReader.cpp in Sources */, + 29A800441EF0499300AD2478 /* MeasureWriter.cpp in Sources */, + 29A800451EF0499300AD2478 /* MetronomeReader.cpp in Sources */, + 29A800461EF0499300AD2478 /* NotationsWriter.cpp in Sources */, + 29A800471EF0499300AD2478 /* NoteFunctions.cpp in Sources */, + 29A800481EF0499300AD2478 /* NoteReader.cpp in Sources */, + 29A800491EF0499300AD2478 /* NoteWriter.cpp in Sources */, + 29A8004A1EF0499300AD2478 /* OrnamentsFunctions.cpp in Sources */, + 29A8004B1EF0499300AD2478 /* PageTextFunctions.cpp in Sources */, + 29A8004C1EF0499300AD2478 /* PartReader.cpp in Sources */, + 29A8004D1EF0499300AD2478 /* PartWriter.cpp in Sources */, + 29A8004E1EF0499300AD2478 /* PropertiesWriter.cpp in Sources */, + 29A8004F1EF0499300AD2478 /* ScoreReader.cpp in Sources */, + 29A800501EF0499300AD2478 /* ScoreWriter.cpp in Sources */, + 29A800511EF0499300AD2478 /* StaffFunctions.cpp in Sources */, + 29A800521EF0499300AD2478 /* TechnicalFunctions.cpp in Sources */, + 29A800531EF0499300AD2478 /* TimeReader.cpp in Sources */, + 29A800541EF0499300AD2478 /* TupletReader.cpp in Sources */, + 29A800551EF0499300AD2478 /* pugixml.cpp in Sources */, + 29A800561EF0499300AD2478 /* Utility.cpp in Sources */, + 29A800571EF0499300AD2478 /* UtilityImpl.cpp in Sources */, + 29A800581EF0499300AD2478 /* PugiAttribute.cpp in Sources */, + 29A800591EF0499300AD2478 /* PugiAttributeIterImpl.cpp in Sources */, + 29A8005A1EF0499300AD2478 /* PugiDoc.cpp in Sources */, + 29A8005B1EF0499300AD2478 /* PugiElement.cpp in Sources */, + 29A8005C1EF0499300AD2478 /* PugiElementIterImpl.cpp in Sources */, + 29A8005D1EF0499300AD2478 /* XAttributeIterator.cpp in Sources */, + 29A8005E1EF0499300AD2478 /* XElementIterator.cpp in Sources */, + 29A8005F1EF0499300AD2478 /* XFactory.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 29B965241E7A04140072071D /* Sources */ = { + 29B9627C1E79FF410072071D /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 29B965311E7A043D0072071D /* ClefData.cpp in Sources */, - 29B965321E7A043D0072071D /* DocumentManager.cpp in Sources */, - 29B965331E7A043D0072071D /* DurationData.cpp in Sources */, - 29B965341E7A043D0072071D /* MarkData.cpp in Sources */, - 29B965351E7A043D0072071D /* MeasureLocation.cpp in Sources */, - 29B965361E7A043D0072071D /* NoteData.cpp in Sources */, - 29B965371E7A043D0072071D /* PitchData.cpp in Sources */, - 29B965381E7A043D0072071D /* Smufl.cpp in Sources */, - 29B965391E7A043D0072071D /* AttributesInterface.cpp in Sources */, - 29B9653A1E7A043D0072071D /* Color.cpp in Sources */, - 29B9653B1E7A043D0072071D /* Date.cpp in Sources */, - 29B9653C1E7A043D0072071D /* Decimals.cpp in Sources */, - 29B9653D1E7A043D0072071D /* Document.cpp in Sources */, - 29B9653E1E7A043D0072071D /* DocumentHeader.cpp in Sources */, - 29B9653F1E7A043D0072071D /* DocumentSpec.cpp in Sources */, - 29B965401E7A043D0072071D /* ElementInterface.cpp in Sources */, - 29B965411E7A043D0072071D /* Accent.cpp in Sources */, - 29B965421E7A043D0072071D /* Accidental.cpp in Sources */, - 29B965431E7A043D0072071D /* AccidentalAttributes.cpp in Sources */, - 29B965441E7A043D0072071D /* AccidentalMark.cpp in Sources */, - 29B965451E7A043D0072071D /* AccidentalMarkAttributes.cpp in Sources */, - 29B965461E7A043D0072071D /* AccidentalText.cpp in Sources */, - 29B965471E7A043D0072071D /* AccidentalTextAttributes.cpp in Sources */, - 29B965481E7A043D0072071D /* Accord.cpp in Sources */, - 29B965491E7A043D0072071D /* AccordAttributes.cpp in Sources */, - 29B9654A1E7A043D0072071D /* AccordionHigh.cpp in Sources */, - 29B9654B1E7A043D0072071D /* AccordionLow.cpp in Sources */, - 29B9654C1E7A043D0072071D /* AccordionMiddle.cpp in Sources */, - 29B9654D1E7A043D0072071D /* AccordionRegistration.cpp in Sources */, - 29B9654E1E7A043D0072071D /* AccordionRegistrationAttributes.cpp in Sources */, - 29B9654F1E7A043D0072071D /* ActualNotes.cpp in Sources */, - 29B965501E7A043D0072071D /* Alter.cpp in Sources */, - 29B965511E7A043D0072071D /* Appearance.cpp in Sources */, - 29B965521E7A043D0072071D /* Arpeggiate.cpp in Sources */, - 29B965531E7A043D0072071D /* ArpeggiateAttributes.cpp in Sources */, - 29B965541E7A043D0072071D /* Arrow.cpp in Sources */, - 29B965551E7A043D0072071D /* ArrowAttributes.cpp in Sources */, - 29B965561E7A043D0072071D /* ArrowDirection.cpp in Sources */, - 29B965571E7A043D0072071D /* ArrowGroup.cpp in Sources */, - 29B965581E7A043D0072071D /* ArrowStyle.cpp in Sources */, - 29B965591E7A043D0072071D /* Articulations.cpp in Sources */, - 29B9655A1E7A043D0072071D /* ArticulationsChoice.cpp in Sources */, - 29B9655B1E7A043D0072071D /* Artificial.cpp in Sources */, - 29B9655C1E7A043D0072071D /* AttributesIterface.cpp in Sources */, - 29B9655D1E7A043D0072071D /* Backup.cpp in Sources */, - 29B9655E1E7A043D0072071D /* Barline.cpp in Sources */, - 29B9655F1E7A043D0072071D /* BarlineAttributes.cpp in Sources */, - 29B965601E7A043D0072071D /* Barre.cpp in Sources */, - 29B965611E7A043D0072071D /* BarreAttributes.cpp in Sources */, - 29B965621E7A043D0072071D /* BarStyle.cpp in Sources */, - 29B965631E7A043D0072071D /* BarStyleAttributes.cpp in Sources */, - 29B965641E7A043D0072071D /* BasePitch.cpp in Sources */, - 29B965651E7A043D0072071D /* Bass.cpp in Sources */, - 29B965661E7A043D0072071D /* BassAlter.cpp in Sources */, - 29B965671E7A043D0072071D /* BassAlterAttributes.cpp in Sources */, - 29B965681E7A043D0072071D /* BassStep.cpp in Sources */, - 29B965691E7A043D0072071D /* BassStepAttributes.cpp in Sources */, - 29B9656A1E7A043D0072071D /* Beam.cpp in Sources */, - 29B9656B1E7A043D0072071D /* BeamAttributes.cpp in Sources */, - 29B9656C1E7A043D0072071D /* Beater.cpp in Sources */, - 29B9656D1E7A043D0072071D /* BeaterAttributes.cpp in Sources */, - 29B9656E1E7A043D0072071D /* BeatRepeat.cpp in Sources */, - 29B9656F1E7A043D0072071D /* BeatRepeatAttributes.cpp in Sources */, - 29B965701E7A043D0072071D /* Beats.cpp in Sources */, - 29B965711E7A043D0072071D /* BeatType.cpp in Sources */, - 29B965721E7A043D0072071D /* BeatUnit.cpp in Sources */, - 29B965731E7A043D0072071D /* BeatUnitDot.cpp in Sources */, - 29B965741E7A043D0072071D /* BeatUnitGroup.cpp in Sources */, - 29B965751E7A043D0072071D /* BeatUnitPer.cpp in Sources */, - 29B965761E7A043D0072071D /* BeatUnitPerOrNoteRelationNoteChoice.cpp in Sources */, - 29B965771E7A043D0072071D /* Bend.cpp in Sources */, - 29B965781E7A043D0072071D /* BendAlter.cpp in Sources */, - 29B965791E7A043D0072071D /* BendAttributes.cpp in Sources */, - 29B9657A1E7A043D0072071D /* BendChoice.cpp in Sources */, - 29B9657B1E7A043D0072071D /* Bookmark.cpp in Sources */, - 29B9657C1E7A043D0072071D /* BookmarkAttributes.cpp in Sources */, - 29B9657D1E7A043D0072071D /* BottomMargin.cpp in Sources */, - 29B9657E1E7A043D0072071D /* Bracket.cpp in Sources */, - 29B9657F1E7A043D0072071D /* BracketAttributes.cpp in Sources */, - 29B965801E7A043D0072071D /* BreathMark.cpp in Sources */, - 29B965811E7A043D0072071D /* BreathMarkAttributes.cpp in Sources */, - 29B965821E7A043D0072071D /* Caesura.cpp in Sources */, - 29B965831E7A043D0072071D /* Cancel.cpp in Sources */, - 29B965841E7A043D0072071D /* CancelAttributes.cpp in Sources */, - 29B965851E7A043D0072071D /* Capo.cpp in Sources */, - 29B965861E7A043D0072071D /* Chord.cpp in Sources */, - 29B965871E7A043D0072071D /* Chromatic.cpp in Sources */, - 29B965881E7A043D0072071D /* CircularArrow.cpp in Sources */, - 29B965891E7A043D0072071D /* Clef.cpp in Sources */, - 29B9658A1E7A043D0072071D /* ClefAttributes.cpp in Sources */, - 29B9658B1E7A043D0072071D /* ClefOctaveChange.cpp in Sources */, - 29B9658C1E7A043D0072071D /* Coda.cpp in Sources */, - 29B9658D1E7A043D0072071D /* Creator.cpp in Sources */, - 29B9658E1E7A043D0072071D /* CreatorAttributes.cpp in Sources */, - 29B9658F1E7A043D0072071D /* Credit.cpp in Sources */, - 29B965901E7A043D0072071D /* CreditAttributes.cpp in Sources */, - 29B965911E7A043D0072071D /* CreditChoice.cpp in Sources */, - 29B965921E7A043D0072071D /* CreditImage.cpp in Sources */, - 29B965931E7A043D0072071D /* CreditImageAttributes.cpp in Sources */, - 29B965941E7A043D0072071D /* CreditType.cpp in Sources */, - 29B965951E7A043D0072071D /* CreditWords.cpp in Sources */, - 29B965961E7A043D0072071D /* CreditWordsAttributes.cpp in Sources */, - 29B965971E7A043D0072071D /* CreditWordsGroup.cpp in Sources */, - 29B965981E7A043D0072071D /* Cue.cpp in Sources */, - 29B965991E7A043D0072071D /* CueNoteGroup.cpp in Sources */, - 29B9659A1E7A043D0072071D /* Damp.cpp in Sources */, - 29B9659B1E7A043D0072071D /* DampAll.cpp in Sources */, - 29B9659C1E7A043D0072071D /* Dashes.cpp in Sources */, - 29B9659D1E7A043D0072071D /* DashesAttributes.cpp in Sources */, - 29B9659E1E7A043D0072071D /* Defaults.cpp in Sources */, - 29B9659F1E7A043D0072071D /* Degree.cpp in Sources */, - 29B965A01E7A043D0072071D /* DegreeAlter.cpp in Sources */, - 29B965A11E7A043D0072071D /* DegreeAlterAttributes.cpp in Sources */, - 29B965A21E7A043D0072071D /* DegreeAttributes.cpp in Sources */, - 29B965A31E7A043D0072071D /* DegreeType.cpp in Sources */, - 29B965A41E7A043D0072071D /* DegreeTypeAttributes.cpp in Sources */, - 29B965A51E7A043D0072071D /* DegreeValue.cpp in Sources */, - 29B965A61E7A043D0072071D /* DegreeValueAttributes.cpp in Sources */, - 29B965A71E7A043D0072071D /* DelayedInvertedTurn.cpp in Sources */, - 29B965A81E7A043D0072071D /* DelayedInvertedTurnAttributes.cpp in Sources */, - 29B965A91E7A043D0072071D /* DelayedTurn.cpp in Sources */, - 29B965AA1E7A043D0072071D /* DelayedTurnAttributes.cpp in Sources */, - 29B965AB1E7A043D0072071D /* DetachedLegato.cpp in Sources */, - 29B965AC1E7A043D0072071D /* Diatonic.cpp in Sources */, - 29B965AD1E7A043D0072071D /* Direction.cpp in Sources */, - 29B965AE1E7A043D0072071D /* DirectionAttributes.cpp in Sources */, - 29B965AF1E7A043D0072071D /* DirectionType.cpp in Sources */, - 29B965B01E7A043D0072071D /* Directive.cpp in Sources */, - 29B965B11E7A043D0072071D /* DirectiveAttributes.cpp in Sources */, - 29B965B21E7A043D0072071D /* DisplayOctave.cpp in Sources */, - 29B965B31E7A043D0072071D /* DisplayStep.cpp in Sources */, - 29B965B41E7A043D0072071D /* DisplayStepOctaveGroup.cpp in Sources */, - 29B965B51E7A043D0072071D /* DisplayText.cpp in Sources */, - 29B965B61E7A043D0072071D /* DisplayTextAttributes.cpp in Sources */, - 29B965B71E7A043D0072071D /* DisplayTextOrAccidentalText.cpp in Sources */, - 29B965B81E7A043D0072071D /* Distance.cpp in Sources */, - 29B965B91E7A043D0072071D /* DistanceAttributes.cpp in Sources */, - 29B965BA1E7A043D0072071D /* Divisions.cpp in Sources */, - 29B965BB1E7A043D0072071D /* Doit.cpp in Sources */, - 29B965BC1E7A043D0072071D /* Dot.cpp in Sources */, - 29B965BD1E7A043D0072071D /* Double.cpp in Sources */, - 29B965BE1E7A043D0072071D /* DoubleTongue.cpp in Sources */, - 29B965BF1E7A043D0072071D /* DownBow.cpp in Sources */, - 29B965C01E7A043D0072071D /* Duration.cpp in Sources */, - 29B965C11E7A043D0072071D /* Dynamics.cpp in Sources */, - 29B965C21E7A043D0072071D /* DynamicsAttributes.cpp in Sources */, - 29B965C31E7A043D0072071D /* EditorialGroup.cpp in Sources */, - 29B965C41E7A043D0072071D /* EditorialVoiceDirectionGroup.cpp in Sources */, - 29B965C51E7A043D0072071D /* EditorialVoiceGroup.cpp in Sources */, - 29B965C61E7A043D0072071D /* Effect.cpp in Sources */, - 29B965C71E7A043D0072071D /* Elevation.cpp in Sources */, - 29B965C81E7A043D0072071D /* Elision.cpp in Sources */, - 29B965C91E7A043D0072071D /* ElisionAttributes.cpp in Sources */, - 29B965CA1E7A043D0072071D /* ElisionSyllabicGroup.cpp in Sources */, - 29B965CB1E7A043D0072071D /* ElisionSyllabicTextGroup.cpp in Sources */, - 29B965CC1E7A043D0072071D /* EmptyFontAttributes.cpp in Sources */, - 29B965CD1E7A043D0072071D /* EmptyLineAttributes.cpp in Sources */, - 29B965CE1E7A043D0072071D /* EmptyPlacementAttributes.cpp in Sources */, - 29B965CF1E7A043D0072071D /* EmptyTrillSoundAttributes.cpp in Sources */, - 29B965D01E7A043D0072071D /* Encoder.cpp in Sources */, - 29B965D11E7A043D0072071D /* EncoderAttributes.cpp in Sources */, - 29B965D21E7A043D0072071D /* Encoding.cpp in Sources */, - 29B965D31E7A043D0072071D /* EncodingChoice.cpp in Sources */, - 29B965D41E7A043D0072071D /* EncodingDate.cpp in Sources */, - 29B965D51E7A043D0072071D /* EncodingDescription.cpp in Sources */, - 29B965D61E7A043D0072071D /* Ending.cpp in Sources */, - 29B965D71E7A043D0072071D /* EndingAttributes.cpp in Sources */, - 29B965D81E7A043D0072071D /* EndLine.cpp in Sources */, - 29B965D91E7A043D0072071D /* EndParagraph.cpp in Sources */, - 29B965DA1E7A043D0072071D /* Ensemble.cpp in Sources */, - 29B965DB1E7A043D0072071D /* Extend.cpp in Sources */, - 29B965DC1E7A043D0072071D /* ExtendAttributes.cpp in Sources */, - 29B965DD1E7A043D0072071D /* Eyeglasses.cpp in Sources */, - 29B965DE1E7A043D0072071D /* Falloff.cpp in Sources */, - 29B965DF1E7A043D0072071D /* Feature.cpp in Sources */, - 29B965E01E7A043D0072071D /* FeatureAttributes.cpp in Sources */, - 29B965E11E7A043D0072071D /* Fermata.cpp in Sources */, - 29B965E21E7A043D0072071D /* FermataAttributes.cpp in Sources */, - 29B965E31E7A043D0072071D /* Fifths.cpp in Sources */, - 29B965E41E7A043D0072071D /* Figure.cpp in Sources */, - 29B965E51E7A043D0072071D /* FiguredBass.cpp in Sources */, - 29B965E61E7A043D0072071D /* FiguredBassAttributes.cpp in Sources */, - 29B965E71E7A043D0072071D /* FigureNumber.cpp in Sources */, - 29B965E81E7A043D0072071D /* FigureNumberAttributes.cpp in Sources */, - 29B965E91E7A043D0072071D /* Fingering.cpp in Sources */, - 29B965EA1E7A043D0072071D /* FingeringAttributes.cpp in Sources */, - 29B965EB1E7A043D0072071D /* Fingernails.cpp in Sources */, - 29B965EC1E7A043D0072071D /* FirstFret.cpp in Sources */, - 29B965ED1E7A043D0072071D /* FirstFretAttributes.cpp in Sources */, - 29B965EE1E7A043D0072071D /* Footnote.cpp in Sources */, - 29B965EF1E7A043D0072071D /* FootnoteAttributes.cpp in Sources */, - 29B965F01E7A043D0072071D /* Forward.cpp in Sources */, - 29B965F11E7A043D0072071D /* Frame.cpp in Sources */, - 29B965F21E7A043D0072071D /* FrameAttributes.cpp in Sources */, - 29B965F31E7A043D0072071D /* FrameFrets.cpp in Sources */, - 29B965F41E7A043D0072071D /* FrameNote.cpp in Sources */, - 29B965F51E7A043D0072071D /* FrameStrings.cpp in Sources */, - 29B965F61E7A043D0072071D /* Fret.cpp in Sources */, - 29B965F71E7A043D0072071D /* FretAttributes.cpp in Sources */, - 29B965F81E7A043D0072071D /* FullNoteGroup.cpp in Sources */, - 29B965F91E7A043D0072071D /* FullNoteTypeChoice.cpp in Sources */, - 29B965FA1E7A043D0072071D /* Function.cpp in Sources */, - 29B965FB1E7A043D0072071D /* FunctionAttributes.cpp in Sources */, - 29B965FC1E7A043D0072071D /* Glass.cpp in Sources */, - 29B965FD1E7A043D0072071D /* Glissando.cpp in Sources */, - 29B965FE1E7A043D0072071D /* GlissandoAttributes.cpp in Sources */, - 29B965FF1E7A043D0072071D /* Grace.cpp in Sources */, - 29B966001E7A043D0072071D /* GraceAttributes.cpp in Sources */, - 29B966011E7A043D0072071D /* GraceNoteGroup.cpp in Sources */, - 29B966021E7A043D0072071D /* Group.cpp in Sources */, - 29B966031E7A043D0072071D /* GroupAbbreviation.cpp in Sources */, - 29B966041E7A043D0072071D /* GroupAbbreviationAttributes.cpp in Sources */, - 29B966051E7A043D0072071D /* GroupAbbreviationDisplay.cpp in Sources */, - 29B966061E7A043D0072071D /* GroupAbbreviationDisplayAttributes.cpp in Sources */, - 29B966071E7A043D0072071D /* GroupBarline.cpp in Sources */, - 29B966081E7A043D0072071D /* GroupBarlineAttributes.cpp in Sources */, - 29B966091E7A043D0072071D /* Grouping.cpp in Sources */, - 29B9660A1E7A043D0072071D /* GroupingAttributes.cpp in Sources */, - 29B9660B1E7A043D0072071D /* GroupName.cpp in Sources */, - 29B9660C1E7A043D0072071D /* GroupNameAttributes.cpp in Sources */, - 29B9660D1E7A043D0072071D /* GroupNameDisplay.cpp in Sources */, - 29B9660E1E7A043D0072071D /* GroupNameDisplayAttributes.cpp in Sources */, - 29B9660F1E7A043D0072071D /* GroupSymbol.cpp in Sources */, - 29B966101E7A043D0072071D /* GroupSymbolAttributes.cpp in Sources */, - 29B966111E7A043D0072071D /* GroupTime.cpp in Sources */, - 29B966121E7A043D0072071D /* HammerOn.cpp in Sources */, - 29B966131E7A043D0072071D /* HammerOnAttributes.cpp in Sources */, - 29B966141E7A043D0072071D /* Handbell.cpp in Sources */, - 29B966151E7A043D0072071D /* HandbellAttributes.cpp in Sources */, - 29A16F881EB10CDB00D59278 /* PreciseDecimal.cpp in Sources */, - 29B966161E7A043D0072071D /* Harmonic.cpp in Sources */, - 29B966171E7A043D0072071D /* HarmonicAttributes.cpp in Sources */, - 29B966181E7A043D0072071D /* HarmonicInfoChoice.cpp in Sources */, - 29B966191E7A043D0072071D /* HarmonicTypeChoice.cpp in Sources */, - 29B9661A1E7A043D0072071D /* Harmony.cpp in Sources */, - 29B9661B1E7A043D0072071D /* HarmonyAttributes.cpp in Sources */, - 29B9661C1E7A043D0072071D /* HarmonyChordGroup.cpp in Sources */, - 29B9661D1E7A043D0072071D /* HarpPedals.cpp in Sources */, - 29B9661E1E7A043D0072071D /* HarpPedalsAttributes.cpp in Sources */, - 29B9661F1E7A043D0072071D /* Heel.cpp in Sources */, - 29B966201E7A043D0072071D /* HeelAttributes.cpp in Sources */, - 29B966211E7A043D0072071D /* Hole.cpp in Sources */, - 29B966221E7A043D0072071D /* HoleAttributes.cpp in Sources */, - 29B966231E7A043D0072071D /* HoleClosed.cpp in Sources */, - 2983E3E41EB4303C007FCC34 /* ScoreData.cpp in Sources */, - 29B966241E7A043D0072071D /* HoleClosedAttributes.cpp in Sources */, - 29B966251E7A043D0072071D /* HoleShape.cpp in Sources */, - 29B966261E7A043D0072071D /* HoleType.cpp in Sources */, - 29B966271E7A043D0072071D /* Humming.cpp in Sources */, - 29B966281E7A043D0072071D /* Identification.cpp in Sources */, - 29B966291E7A043D0072071D /* Image.cpp in Sources */, - 29B9662A1E7A043D0072071D /* ImageAttributes.cpp in Sources */, - 29B9662B1E7A043D0072071D /* Instrument.cpp in Sources */, - 29B9662C1E7A043D0072071D /* InstrumentAbbreviation.cpp in Sources */, - 29B9662D1E7A043D0072071D /* InstrumentAttributes.cpp in Sources */, - 29B9662E1E7A043D0072071D /* InstrumentName.cpp in Sources */, - 29B9662F1E7A043D0072071D /* Instruments.cpp in Sources */, - 29B966301E7A043D0072071D /* InstrumentSound.cpp in Sources */, - 29B966311E7A043D0072071D /* Interchangeable.cpp in Sources */, - 29B966321E7A043D0072071D /* InterchangeableAttributes.cpp in Sources */, - 29B966331E7A043D0072071D /* Inversion.cpp in Sources */, - 29B966341E7A043D0072071D /* InversionAttributes.cpp in Sources */, - 29B966351E7A043D0072071D /* InvertedMordent.cpp in Sources */, - 29B966361E7A043D0072071D /* InvertedMordentAttributes.cpp in Sources */, - 29B966371E7A043D0072071D /* InvertedTurn.cpp in Sources */, - 29B966381E7A043D0072071D /* InvertedTurnAttributes.cpp in Sources */, - 29B966391E7A043D0072071D /* Ipa.cpp in Sources */, - 29B9663A1E7A043D0072071D /* Key.cpp in Sources */, - 29B9663B1E7A043D0072071D /* KeyAccidental.cpp in Sources */, - 29B9663C1E7A043D0072071D /* KeyAlter.cpp in Sources */, - 29B9663D1E7A043D0072071D /* KeyAttributes.cpp in Sources */, - 29B9663E1E7A043D0072071D /* KeyChoice.cpp in Sources */, - 29B9663F1E7A043D0072071D /* KeyOctave.cpp in Sources */, - 29B966401E7A043D0072071D /* KeyOctaveAttributes.cpp in Sources */, - 29B966411E7A043D0072071D /* KeyStep.cpp in Sources */, - 29B966421E7A043D0072071D /* Kind.cpp in Sources */, - 29B966431E7A043D0072071D /* KindAttributes.cpp in Sources */, - 29B966441E7A043D0072071D /* Laughing.cpp in Sources */, - 29B966451E7A043D0072071D /* LayoutGroup.cpp in Sources */, - 29B966461E7A043D0072071D /* LeftDivider.cpp in Sources */, - 29B966471E7A043D0072071D /* LeftMargin.cpp in Sources */, - 29B966481E7A043D0072071D /* Level.cpp in Sources */, - 29B966491E7A043D0072071D /* LevelAttributes.cpp in Sources */, - 29B9664A1E7A043D0072071D /* Line.cpp in Sources */, - 29B9664B1E7A043D0072071D /* LineWidth.cpp in Sources */, - 29B9664C1E7A043D0072071D /* LineWidthAttributes.cpp in Sources */, - 29B9664D1E7A043D0072071D /* Link.cpp in Sources */, - 29B9664E1E7A043D0072071D /* LinkAttributes.cpp in Sources */, - 29B9664F1E7A043D0072071D /* Lyric.cpp in Sources */, - 29B966501E7A043D0072071D /* LyricAttributes.cpp in Sources */, - 29B966511E7A043D0072071D /* LyricFont.cpp in Sources */, - 29B966521E7A043D0072071D /* LyricFontAttributes.cpp in Sources */, - 29B966531E7A043D0072071D /* LyricLanguage.cpp in Sources */, - 29B966541E7A043D0072071D /* LyricLanguageAttributes.cpp in Sources */, - 29B966551E7A043D0072071D /* LyricTextChoice.cpp in Sources */, - 29B966561E7A043D0072071D /* MeasureAttributes.cpp in Sources */, - 29B966571E7A043D0072071D /* MeasureDistance.cpp in Sources */, - 29B966581E7A043D0072071D /* MeasureLayout.cpp in Sources */, - 29B966591E7A043D0072071D /* MeasureNumbering.cpp in Sources */, - 29B9665A1E7A043D0072071D /* MeasureNumberingAttributes.cpp in Sources */, - 29B9665B1E7A043D0072071D /* MeasureRepeat.cpp in Sources */, - 29B9665C1E7A043D0072071D /* MeasureRepeatAttributes.cpp in Sources */, - 29B9665D1E7A043D0072071D /* MeasureStyle.cpp in Sources */, - 29B9665E1E7A043D0072071D /* MeasureStyleAttributes.cpp in Sources */, - 29B9665F1E7A043D0072071D /* MeasureStyleChoice.cpp in Sources */, - 29B966601E7A043D0072071D /* Membrane.cpp in Sources */, - 29B966611E7A043D0072071D /* Metal.cpp in Sources */, - 29B966621E7A043D0072071D /* Metronome.cpp in Sources */, - 29B966631E7A043D0072071D /* MetronomeAttributes.cpp in Sources */, - 29B966641E7A043D0072071D /* MetronomeBeam.cpp in Sources */, - 29B966651E7A043D0072071D /* MetronomeBeamAttributes.cpp in Sources */, - 29B966661E7A043D0072071D /* MetronomeDot.cpp in Sources */, - 29B966671E7A043D0072071D /* MetronomeNote.cpp in Sources */, - 29B966681E7A043D0072071D /* MetronomeRelation.cpp in Sources */, - 29B966691E7A043D0072071D /* MetronomeRelationGroup.cpp in Sources */, - 29B9666A1E7A043D0072071D /* MetronomeTuplet.cpp in Sources */, - 29B9666B1E7A043D0072071D /* MetronomeTupletAttributes.cpp in Sources */, - 29B9666C1E7A043D0072071D /* MetronomeType.cpp in Sources */, - 29B9666D1E7A043D0072071D /* MidiBank.cpp in Sources */, - 29B9666E1E7A043D0072071D /* MidiChannel.cpp in Sources */, - 29B9666F1E7A043D0072071D /* MidiDevice.cpp in Sources */, - 29B966701E7A043D0072071D /* MidiDeviceAttributes.cpp in Sources */, - 29B966711E7A043D0072071D /* MidiDeviceInstrumentGroup.cpp in Sources */, - 29B966721E7A043D0072071D /* MidiInstrument.cpp in Sources */, - 29B966731E7A043D0072071D /* MidiInstrumentAttributes.cpp in Sources */, - 29B966741E7A043D0072071D /* MidiName.cpp in Sources */, - 29B966751E7A043D0072071D /* MidiProgram.cpp in Sources */, - 29B966761E7A043D0072071D /* MidiUnpitched.cpp in Sources */, - 29B966771E7A043D0072071D /* Millimeters.cpp in Sources */, - 29B966781E7A043D0072071D /* Miscellaneous.cpp in Sources */, - 29B966791E7A043D0072071D /* MiscellaneousField.cpp in Sources */, - 29B9667A1E7A043D0072071D /* MiscellaneousFieldAttributes.cpp in Sources */, - 29B9667B1E7A043D0072071D /* Mode.cpp in Sources */, - 29B9667C1E7A043D0072071D /* Mordent.cpp in Sources */, - 29B9667D1E7A043D0072071D /* MordentAttributes.cpp in Sources */, - 29B9667E1E7A043D0072071D /* MovementNumber.cpp in Sources */, - 29B9667F1E7A043D0072071D /* MovementTitle.cpp in Sources */, - 29B966801E7A043D0072071D /* MultipleRest.cpp in Sources */, - 29B966811E7A043D0072071D /* MultipleRestAttributes.cpp in Sources */, - 29B966821E7A043D0072071D /* MusicDataChoice.cpp in Sources */, - 29B966831E7A043D0072071D /* MusicDataGroup.cpp in Sources */, - 29B966841E7A043D0072071D /* MusicFont.cpp in Sources */, - 29B966851E7A043D0072071D /* Mute.cpp in Sources */, - 29B966861E7A043D0072071D /* Natural.cpp in Sources */, - 29B966871E7A043D0072071D /* NonArpeggiate.cpp in Sources */, - 29B966881E7A043D0072071D /* NonArpeggiateAttributes.cpp in Sources */, - 29B966891E7A043D0072071D /* NonTraditionalKey.cpp in Sources */, - 29B9668A1E7A043D0072071D /* NormalDot.cpp in Sources */, - 29B9668B1E7A043D0072071D /* NormalNoteGroup.cpp in Sources */, - 29B9668C1E7A043D0072071D /* NormalNotes.cpp in Sources */, - 29B9668D1E7A043D0072071D /* NormalType.cpp in Sources */, - 29B9668E1E7A043D0072071D /* NormalTypeNormalDotGroup.cpp in Sources */, - 29B9668F1E7A043D0072071D /* Notations.cpp in Sources */, - 29B966901E7A043D0072071D /* NotationsAttributes.cpp in Sources */, - 29B966911E7A043D0072071D /* NotationsChoice.cpp in Sources */, - 29B966921E7A043D0072071D /* Note.cpp in Sources */, - 29B966931E7A043D0072071D /* NoteAttributes.cpp in Sources */, - 29B966941E7A043D0072071D /* NoteChoice.cpp in Sources */, - 29B966951E7A043D0072071D /* Notehead.cpp in Sources */, - 29B966961E7A043D0072071D /* NoteheadAttributes.cpp in Sources */, - 29B966971E7A043D0072071D /* NoteheadText.cpp in Sources */, - 29B966981E7A043D0072071D /* NoteheadTextChoice.cpp in Sources */, - 29B966991E7A043D0072071D /* NoteRelationNote.cpp in Sources */, - 29B9669A1E7A043D0072071D /* NoteSize.cpp in Sources */, - 29B9669B1E7A043D0072071D /* NoteSizeAttributes.cpp in Sources */, - 29B9669C1E7A043D0072071D /* Octave.cpp in Sources */, - 29B9669D1E7A043D0072071D /* OctaveChange.cpp in Sources */, - 29B9669E1E7A043D0072071D /* OctaveShift.cpp in Sources */, - 29B9669F1E7A043D0072071D /* OctaveShiftAttributes.cpp in Sources */, - 29B966A01E7A043D0072071D /* Offset.cpp in Sources */, - 29B966A11E7A043D0072071D /* OffsetAttributes.cpp in Sources */, - 29B966A21E7A043D0072071D /* OpenString.cpp in Sources */, - 29B966A31E7A043D0072071D /* Opus.cpp in Sources */, - 29B966A41E7A043D0072071D /* OpusAttributes.cpp in Sources */, - 29B966A51E7A043D0072071D /* Ornaments.cpp in Sources */, - 29B966A61E7A043D0072071D /* OrnamentsChoice.cpp in Sources */, - 29B966A71E7A043D0072071D /* OtherAppearance.cpp in Sources */, - 29B966A81E7A043D0072071D /* OtherAppearanceAttributes.cpp in Sources */, - 29B966A91E7A043D0072071D /* OtherArticulation.cpp in Sources */, - 29B966AA1E7A043D0072071D /* OtherArticulationAttributes.cpp in Sources */, - 29B966AB1E7A043D0072071D /* OtherDirection.cpp in Sources */, - 29B966AC1E7A043D0072071D /* OtherDirectionAttributes.cpp in Sources */, - 29B966AD1E7A043D0072071D /* OtherNotation.cpp in Sources */, - 29B966AE1E7A043D0072071D /* OtherNotationAttributes.cpp in Sources */, - 29B966AF1E7A043D0072071D /* OtherOrnament.cpp in Sources */, - 29B966B01E7A043D0072071D /* OtherOrnamentAttributes.cpp in Sources */, - 29B966B11E7A043D0072071D /* OtherPercussion.cpp in Sources */, - 29B966B21E7A043D0072071D /* OtherPlay.cpp in Sources */, - 29B966B31E7A043D0072071D /* OtherPlayAttributes.cpp in Sources */, - 29B966B41E7A043D0072071D /* OtherTechnical.cpp in Sources */, - 29B966B51E7A043D0072071D /* OtherTechnicalAttributes.cpp in Sources */, - 29B966B61E7A043D0072071D /* PageHeight.cpp in Sources */, - 29B966B71E7A043D0072071D /* PageLayout.cpp in Sources */, - 29B966B81E7A043D0072071D /* PageMargins.cpp in Sources */, - 29B966B91E7A043D0072071D /* PageMarginsAttributes.cpp in Sources */, - 29B966BA1E7A043D0072071D /* PageWidth.cpp in Sources */, - 29B966BB1E7A043D0072071D /* Pan.cpp in Sources */, - 29B966BC1E7A043D0072071D /* PartAbbreviation.cpp in Sources */, - 29B966BD1E7A043D0072071D /* PartAbbreviationAttributes.cpp in Sources */, - 29B966BE1E7A043D0072071D /* PartAbbreviationDisplay.cpp in Sources */, - 29B966BF1E7A043D0072071D /* PartAbbreviationDisplayAttributes.cpp in Sources */, - 29B966C01E7A043D0072071D /* PartAttributes.cpp in Sources */, - 29B966C11E7A043D0072071D /* PartGroup.cpp in Sources */, - 29B966C21E7A043D0072071D /* PartGroupAttributes.cpp in Sources */, - 29B966C31E7A043D0072071D /* PartGroupOrScorePart.cpp in Sources */, - 29B966C41E7A043D0072071D /* PartList.cpp in Sources */, - 29B966C51E7A043D0072071D /* PartName.cpp in Sources */, - 29B966C61E7A043D0072071D /* PartNameAttributes.cpp in Sources */, - 29B966C71E7A043D0072071D /* PartNameDisplay.cpp in Sources */, - 29B966C81E7A043D0072071D /* PartNameDisplayAttributes.cpp in Sources */, - 29B966C91E7A043D0072071D /* PartSymbol.cpp in Sources */, - 29B966CA1E7A043D0072071D /* PartSymbolAttributes.cpp in Sources */, - 29B966CB1E7A043D0072071D /* PartwiseMeasure.cpp in Sources */, - 29B966CC1E7A043D0072071D /* PartwisePart.cpp in Sources */, - 29B966CD1E7A043D0072071D /* Pedal.cpp in Sources */, - 29B966CE1E7A043D0072071D /* PedalAlter.cpp in Sources */, - 29B966CF1E7A043D0072071D /* PedalAttributes.cpp in Sources */, - 29B966D01E7A043D0072071D /* PedalStep.cpp in Sources */, - 29B966D11E7A043E0072071D /* PedalTuning.cpp in Sources */, - 29B966D21E7A043E0072071D /* Percussion.cpp in Sources */, - 29B966D31E7A043E0072071D /* PercussionAttributes.cpp in Sources */, - 29B966D41E7A043E0072071D /* PercussionChoice.cpp in Sources */, - 29B966D51E7A043E0072071D /* PerMinute.cpp in Sources */, - 29B966D61E7A043E0072071D /* PerMinuteAttributes.cpp in Sources */, - 29B966D71E7A043E0072071D /* PerMinuteOrBeatUnitChoice.cpp in Sources */, - 29B966D81E7A043E0072071D /* Pitch.cpp in Sources */, - 29B966D91E7A043E0072071D /* Pitched.cpp in Sources */, - 29B966DA1E7A043E0072071D /* Play.cpp in Sources */, - 29B966DB1E7A043E0072071D /* PlayAttributes.cpp in Sources */, - 29B966DC1E7A043E0072071D /* Plop.cpp in Sources */, - 29B966DD1E7A043E0072071D /* Pluck.cpp in Sources */, - 29B966DE1E7A043E0072071D /* PluckAttributes.cpp in Sources */, - 29B966DF1E7A043E0072071D /* PreBend.cpp in Sources */, - 29B966E01E7A043E0072071D /* Prefix.cpp in Sources */, - 29B966E11E7A043E0072071D /* PrefixAttributes.cpp in Sources */, - 29B966E21E7A043E0072071D /* PrincipalVoice.cpp in Sources */, - 29B966E31E7A043E0072071D /* PrincipalVoiceAttributes.cpp in Sources */, - 29B966E41E7A043E0072071D /* Print.cpp in Sources */, - 29B966E51E7A043E0072071D /* PrintAttributes.cpp in Sources */, - 29B966E61E7A043E0072071D /* Properties.cpp in Sources */, - 29B966E71E7A043E0072071D /* PullOff.cpp in Sources */, - 29B966E81E7A043E0072071D /* PullOffAttributes.cpp in Sources */, - 29B966E91E7A043E0072071D /* Rehearsal.cpp in Sources */, - 29B966EA1E7A043E0072071D /* RehearsalAttributes.cpp in Sources */, - 29B966EB1E7A043E0072071D /* Relation.cpp in Sources */, - 29B966EC1E7A043E0072071D /* RelationAttributes.cpp in Sources */, - 29B966ED1E7A043E0072071D /* Release.cpp in Sources */, - 29B966EE1E7A043E0072071D /* Repeat.cpp in Sources */, - 29B966EF1E7A043E0072071D /* RepeatAttributes.cpp in Sources */, - 29B966F01E7A043E0072071D /* Rest.cpp in Sources */, - 29B966F11E7A043E0072071D /* RestAttributes.cpp in Sources */, - 29B966F21E7A043E0072071D /* RightDivider.cpp in Sources */, - 29B966F31E7A043E0072071D /* RightMargin.cpp in Sources */, - 29B966F41E7A043E0072071D /* Rights.cpp in Sources */, - 29B966F51E7A043E0072071D /* RightsAttributes.cpp in Sources */, - 29B966F61E7A043E0072071D /* Root.cpp in Sources */, - 29B966F71E7A043E0072071D /* RootAlter.cpp in Sources */, - 29B966F81E7A043E0072071D /* RootAlterAttributes.cpp in Sources */, - 29B966F91E7A043E0072071D /* RootStep.cpp in Sources */, - 29B966FA1E7A043E0072071D /* RootStepAttributes.cpp in Sources */, - 29B966FB1E7A043E0072071D /* Scaling.cpp in Sources */, - 29B966FC1E7A043E0072071D /* Schleifer.cpp in Sources */, - 29B966FD1E7A043E0072071D /* Scoop.cpp in Sources */, - 29B966FE1E7A043E0072071D /* Scordatura.cpp in Sources */, - 29B966FF1E7A043E0072071D /* ScoreHeaderGroup.cpp in Sources */, - 29B967001E7A043E0072071D /* ScoreInstrument.cpp in Sources */, - 29B967011E7A043E0072071D /* ScoreInstrumentAttributes.cpp in Sources */, - 29B967021E7A043E0072071D /* ScorePart.cpp in Sources */, - 29B967031E7A043E0072071D /* ScorePartAttributes.cpp in Sources */, - 29B967041E7A043E0072071D /* ScorePartwise.cpp in Sources */, - 29B967051E7A043E0072071D /* ScorePartwiseAttributes.cpp in Sources */, - 29B967061E7A043E0072071D /* ScoreTimewise.cpp in Sources */, - 29B967071E7A043E0072071D /* ScoreTimewiseAttributes.cpp in Sources */, - 29B967081E7A043E0072071D /* Segno.cpp in Sources */, - 29B967091E7A043E0072071D /* SemiPitched.cpp in Sources */, - 29B9670A1E7A043E0072071D /* SenzaMisura.cpp in Sources */, - 29B9670B1E7A043E0072071D /* Shake.cpp in Sources */, - 29B9670C1E7A043E0072071D /* Sign.cpp in Sources */, - 29B9670D1E7A043E0072071D /* Slash.cpp in Sources */, - 29B9670E1E7A043E0072071D /* SlashAttributes.cpp in Sources */, - 29B9670F1E7A043E0072071D /* SlashDot.cpp in Sources */, - 29B967101E7A043E0072071D /* SlashType.cpp in Sources */, - 29B967111E7A043E0072071D /* Slide.cpp in Sources */, - 29B967121E7A043E0072071D /* SlideAttributes.cpp in Sources */, - 29B967131E7A043E0072071D /* Slur.cpp in Sources */, - 29B967141E7A043E0072071D /* SlurAttributes.cpp in Sources */, - 29B967151E7A043E0072071D /* SnapPizzicato.cpp in Sources */, - 29B967161E7A043E0072071D /* Software.cpp in Sources */, - 29B967171E7A043E0072071D /* Solo.cpp in Sources */, - 29B967181E7A043E0072071D /* SoloOrEnsembleChoice.cpp in Sources */, - 29B967191E7A043E0072071D /* Sound.cpp in Sources */, - 29B9671A1E7A043E0072071D /* SoundAttributes.cpp in Sources */, - 29B9671B1E7A043E0072071D /* SoundingPitch.cpp in Sources */, - 29B9671C1E7A043E0072071D /* Source.cpp in Sources */, - 29B9671D1E7A043E0072071D /* Spiccato.cpp in Sources */, - 29B9671E1E7A043E0072071D /* Staccatissimo.cpp in Sources */, - 29B9671F1E7A043E0072071D /* Staccato.cpp in Sources */, - 29B967201E7A043E0072071D /* Staff.cpp in Sources */, - 29B967211E7A043E0072071D /* StaffDetails.cpp in Sources */, - 29B967221E7A043E0072071D /* StaffDetailsAttributes.cpp in Sources */, - 29B967231E7A043E0072071D /* StaffDistance.cpp in Sources */, - 29B967241E7A043E0072071D /* StaffLayout.cpp in Sources */, - 29B967251E7A043E0072071D /* StaffLayoutAttributes.cpp in Sources */, - 29B967261E7A043E0072071D /* StaffLines.cpp in Sources */, - 29B967271E7A043E0072071D /* StaffSize.cpp in Sources */, - 292C3ADF1E8B13FD001A0CB9 /* WordsData.cpp in Sources */, - 29B967281E7A043E0072071D /* StaffTuning.cpp in Sources */, - 29B967291E7A043E0072071D /* StaffTuningAttributes.cpp in Sources */, - 29B9672A1E7A043E0072071D /* StaffType.cpp in Sources */, - 29B9672B1E7A043E0072071D /* Staves.cpp in Sources */, - 29B9672C1E7A043E0072071D /* Stem.cpp in Sources */, - 29B9672D1E7A043E0072071D /* StemAttributes.cpp in Sources */, - 29B9672E1E7A043E0072071D /* Step.cpp in Sources */, - 29B9672F1E7A043E0072071D /* Stick.cpp in Sources */, - 29B967301E7A043E0072071D /* StickAttributes.cpp in Sources */, - 29B967311E7A043E0072071D /* StickLocation.cpp in Sources */, - 29B967321E7A043E0072071D /* StickMaterial.cpp in Sources */, - 29B967331E7A043E0072071D /* StickType.cpp in Sources */, - 29B967341E7A043E0072071D /* Stopped.cpp in Sources */, - 29B967351E7A043E0072071D /* Stress.cpp in Sources */, - 29B967361E7A043E0072071D /* String.cpp in Sources */, - 29B967371E7A043E0072071D /* StringAttributes.cpp in Sources */, - 29B967381E7A043E0072071D /* StringMute.cpp in Sources */, - 29B967391E7A043E0072071D /* StringMuteAttributes.cpp in Sources */, - 29B9673A1E7A043E0072071D /* StrongAccent.cpp in Sources */, - 29B9673B1E7A043E0072071D /* StrongAccentAttributes.cpp in Sources */, - 29B9673C1E7A043E0072071D /* Suffix.cpp in Sources */, - 29B9673D1E7A043E0072071D /* SuffixAttributes.cpp in Sources */, - 29B9673E1E7A043E0072071D /* Supports.cpp in Sources */, - 29B9673F1E7A043E0072071D /* SupportsAttributes.cpp in Sources */, - 29B967401E7A043E0072071D /* Syllabic.cpp in Sources */, - 29B967411E7A043E0072071D /* SyllabicTextGroup.cpp in Sources */, - 29B967421E7A043E0072071D /* SystemDistance.cpp in Sources */, - 29B967431E7A043E0072071D /* SystemDividers.cpp in Sources */, - 29B967441E7A043E0072071D /* SystemLayout.cpp in Sources */, - 29B967451E7A043E0072071D /* SystemMargins.cpp in Sources */, - 29B967461E7A043E0072071D /* Tap.cpp in Sources */, - 29B967471E7A043E0072071D /* TapAttributes.cpp in Sources */, - 29B967481E7A043E0072071D /* Technical.cpp in Sources */, - 29B967491E7A043E0072071D /* TechnicalChoice.cpp in Sources */, - 29B9674A1E7A043E0072071D /* Tenths.cpp in Sources */, - 29B9674B1E7A043E0072071D /* Tenuto.cpp in Sources */, - 29B9674C1E7A043E0072071D /* Text.cpp in Sources */, - 29B9674D1E7A043E0072071D /* TextAttributes.cpp in Sources */, - 29B9674E1E7A043E0072071D /* ThumbPosition.cpp in Sources */, - 29B9674F1E7A043E0072071D /* Tie.cpp in Sources */, - 29B967501E7A043E0072071D /* TieAttributes.cpp in Sources */, - 29B967511E7A043E0072071D /* Tied.cpp in Sources */, - 29B967521E7A043E0072071D /* TiedAttributes.cpp in Sources */, - 29B967531E7A043E0072071D /* Time.cpp in Sources */, - 29B967541E7A043E0072071D /* TimeAttributes.cpp in Sources */, - 29B967551E7A043E0072071D /* TimeChoice.cpp in Sources */, - 29B967561E7A043E0072071D /* TimeModification.cpp in Sources */, - 29B967571E7A043E0072071D /* TimeModificationNormalTypeNormalDot.cpp in Sources */, - 29B967581E7A043E0072071D /* TimeRelation.cpp in Sources */, - 29B967591E7A043E0072071D /* TimeSignatureGroup.cpp in Sources */, - 29B9675A1E7A043E0072071D /* TimewiseMeasure.cpp in Sources */, - 29B9675B1E7A043E0072071D /* TimewisePart.cpp in Sources */, - 29B9675C1E7A043E0072071D /* Timpani.cpp in Sources */, - 29B9675D1E7A043E0072071D /* Toe.cpp in Sources */, - 29B9675E1E7A043E0072071D /* ToeAttributes.cpp in Sources */, - 29B9675F1E7A043E0072071D /* TopMargin.cpp in Sources */, - 29B967601E7A043E0072071D /* TopSystemDistance.cpp in Sources */, - 29B967611E7A043E0072071D /* TouchingPitch.cpp in Sources */, - 29B967621E7A043E0072071D /* TraditionalKey.cpp in Sources */, - 29B967631E7A043E0072071D /* Transpose.cpp in Sources */, - 29B967641E7A043E0072071D /* TransposeAttributes.cpp in Sources */, - 29B967651E7A043E0072071D /* Tremolo.cpp in Sources */, - 29B967661E7A043E0072071D /* TremoloAttributes.cpp in Sources */, - 29B967671E7A043E0072071D /* TrillMark.cpp in Sources */, - 29B967681E7A043E0072071D /* TripleTongue.cpp in Sources */, - 29B967691E7A043E0072071D /* TuningAlter.cpp in Sources */, - 29B9676A1E7A043E0072071D /* TuningOctave.cpp in Sources */, - 29B9676B1E7A043E0072071D /* TuningStep.cpp in Sources */, - 29B9676C1E7A043E0072071D /* Tuplet.cpp in Sources */, - 29B9676D1E7A043E0072071D /* TupletActual.cpp in Sources */, - 29B9676E1E7A043E0072071D /* TupletAttributes.cpp in Sources */, - 29B9676F1E7A043E0072071D /* TupletDot.cpp in Sources */, - 29B967701E7A043E0072071D /* TupletDotAttributes.cpp in Sources */, - 29B967711E7A043E0072071D /* TupletNormal.cpp in Sources */, - 29B967721E7A043E0072071D /* TupletNumber.cpp in Sources */, - 29B967731E7A043E0072071D /* TupletNumberAttributes.cpp in Sources */, - 29B967741E7A043E0072071D /* TupletType.cpp in Sources */, - 29B967751E7A043E0072071D /* TupletTypeAttributes.cpp in Sources */, - 29B967761E7A043E0072071D /* Turn.cpp in Sources */, - 29B967771E7A043E0072071D /* TurnAttributes.cpp in Sources */, - 29B967781E7A043E0072071D /* Type.cpp in Sources */, - 29B967791E7A043E0072071D /* TypeAttributes.cpp in Sources */, - 29B9677A1E7A043E0072071D /* Unpitched.cpp in Sources */, - 29B9677B1E7A043E0072071D /* Unstress.cpp in Sources */, - 29B9677C1E7A043E0072071D /* UpBow.cpp in Sources */, - 29B9677D1E7A043E0072071D /* VerticalTurn.cpp in Sources */, - 29B9677E1E7A043E0072071D /* VirtualInstrument.cpp in Sources */, - 29B9677F1E7A043E0072071D /* VirtualLibrary.cpp in Sources */, - 29B967801E7A043E0072071D /* VirtualName.cpp in Sources */, - 29B967811E7A043E0072071D /* Voice.cpp in Sources */, - 29B967821E7A043E0072071D /* Volume.cpp in Sources */, - 29B967831E7A043E0072071D /* WavyLine.cpp in Sources */, - 29B967841E7A043E0072071D /* WavyLineAttributes.cpp in Sources */, - 29B967851E7A043E0072071D /* Wedge.cpp in Sources */, - 29B967861E7A043E0072071D /* WedgeAttributes.cpp in Sources */, - 29B967871E7A043E0072071D /* WithBar.cpp in Sources */, - 29B967881E7A043E0072071D /* WithBarAttributes.cpp in Sources */, - 29B967891E7A043E0072071D /* Wood.cpp in Sources */, - 29B9678A1E7A043E0072071D /* WordFont.cpp in Sources */, - 29B9678B1E7A043E0072071D /* Words.cpp in Sources */, - 29B9678C1E7A043E0072071D /* WordsAttributes.cpp in Sources */, - 29B9678D1E7A043E0072071D /* Work.cpp in Sources */, - 29B9678E1E7A043E0072071D /* WorkNumber.cpp in Sources */, - 29B9678F1E7A043E0072071D /* WorkTitle.cpp in Sources */, - 29B967901E7A043E0072071D /* EmptyPrintObjectStyleAlignAttributes.cpp in Sources */, - 29B967911E7A043E0072071D /* Enums.cpp in Sources */, - 29B967921E7A043E0072071D /* FontSize.cpp in Sources */, - 29B967931E7A043E0072071D /* FromXElement.cpp in Sources */, - 29B967941E7A043E0072071D /* Integers.cpp in Sources */, - 29B967951E7A043E0072071D /* NumberOrNormal.cpp in Sources */, - 29B967961E7A043E0072071D /* PositiveIntegerOrEmpty.cpp in Sources */, - 29B967971E7A043E0072071D /* ScoreConversions.cpp in Sources */, - 29B967981E7A043E0072071D /* Strings.cpp in Sources */, - 29B967991E7A043E0072071D /* YesNoNumber.cpp in Sources */, - 29B9679A1E7A043E0072071D /* DynamicsWriter.cpp in Sources */, - 29B9679B1E7A043E0072071D /* AccidentalMarkFunctions.cpp in Sources */, - 29B9679C1E7A043E0072071D /* ArticulationsFunctions.cpp in Sources */, - 29B9679D1E7A043E0072071D /* Converter.cpp in Sources */, - 29B9679E1E7A043E0072071D /* Cursor.cpp in Sources */, - 29B9679F1E7A043E0072071D /* DirectionReader.cpp in Sources */, - 29B967A01E7A043E0072071D /* DirectionWriter.cpp in Sources */, - 29B967A11E7A043E0072071D /* DynamicsReader.cpp in Sources */, - 29B967A21E7A043E0072071D /* EncodingFunctions.cpp in Sources */, - 29B967A31E7A043E0072071D /* LayoutFunctions.cpp in Sources */, - 29B967A41E7A043E0072071D /* LcmGcd.cpp in Sources */, - 29B967A51E7A043E0072071D /* MeasureReader.cpp in Sources */, - 29B967A61E7A043E0072071D /* MeasureWriter.cpp in Sources */, - 29B967A71E7A043E0072071D /* MetronomeReader.cpp in Sources */, - 29B967A81E7A043E0072071D /* NotationsWriter.cpp in Sources */, - 29B967A91E7A043E0072071D /* NoteFunctions.cpp in Sources */, - 29B967AA1E7A043E0072071D /* NoteReader.cpp in Sources */, - 29B967AB1E7A043E0072071D /* NoteWriter.cpp in Sources */, - 29B967AC1E7A043E0072071D /* OrnamentsFunctions.cpp in Sources */, - 29B967AD1E7A043E0072071D /* PageTextFunctions.cpp in Sources */, - 29B967AE1E7A043E0072071D /* PartReader.cpp in Sources */, - 29B967AF1E7A043E0072071D /* PartWriter.cpp in Sources */, - 29B967B01E7A043E0072071D /* PropertiesWriter.cpp in Sources */, - 29B967B11E7A043E0072071D /* ScoreReader.cpp in Sources */, - 29B967B21E7A043E0072071D /* ScoreWriter.cpp in Sources */, - 29B967B31E7A043E0072071D /* StaffFunctions.cpp in Sources */, - 29B967B41E7A043E0072071D /* TechnicalFunctions.cpp in Sources */, - 29B967B51E7A043E0072071D /* TimeReader.cpp in Sources */, - 29B967B61E7A043E0072071D /* TupletReader.cpp in Sources */, - 29B967B71E7A043E0072071D /* pugixml.cpp in Sources */, - 29B967B81E7A043E0072071D /* Utility.cpp in Sources */, - 29B967B91E7A043E0072071D /* UtilityImpl.cpp in Sources */, - 29B967BA1E7A043E0072071D /* PugiAttribute.cpp in Sources */, - 29B967BB1E7A043E0072071D /* PugiAttributeIterImpl.cpp in Sources */, - 29B967BC1E7A043E0072071D /* PugiDoc.cpp in Sources */, - 29B967BD1E7A043E0072071D /* PugiElement.cpp in Sources */, - 29B967BE1E7A043E0072071D /* PugiElementIterImpl.cpp in Sources */, - 29B967BF1E7A043E0072071D /* XAttributeIterator.cpp in Sources */, - 29B967C01E7A043E0072071D /* XElementIterator.cpp in Sources */, - 29B967C11E7A043E0072071D /* XFactory.cpp in Sources */, + 29A8F23A1EF0476800AD2478 /* OtherNotation.cpp in Sources */, + 29A8F2441EF0476800AD2478 /* OtherNotationAttributes.cpp in Sources */, + 29A8E2F91EF0476300AD2478 /* DurationData.cpp in Sources */, + 29A8EE3E1EF0476600AD2478 /* LeftMargin.cpp in Sources */, + 29A8EAF61EF0476500AD2478 /* FrameFrets.cpp in Sources */, + 29A8EE341EF0476600AD2478 /* LeftDivider.cpp in Sources */, + 29A8F03C1EF0476700AD2478 /* MiscellaneousFieldAttributes.cpp in Sources */, + 29A8E3BC1EF0476300AD2478 /* Color.cpp in Sources */, + 29A8FA141EF0476C00AD2478 /* TupletTypeAttributes.cpp in Sources */, + 29A8F00A1EF0476700AD2478 /* MidiProgram.cpp in Sources */, + 29A8EE5C1EF0476600AD2478 /* Line.cpp in Sources */, + 29A8E8621EF0476400AD2478 /* DirectiveAttributes.cpp in Sources */, + 29A8F6771EF0476A00AD2478 /* Sound.cpp in Sources */, + 29A8EAE21EF0476500AD2478 /* Frame.cpp in Sources */, + 29A8F01E1EF0476700AD2478 /* Millimeters.cpp in Sources */, + 29A8E6961EF0476300AD2478 /* Cancel.cpp in Sources */, + 29A8E5381EF0476300AD2478 /* Barre.cpp in Sources */, + 29A8F91F1EF0476C00AD2478 /* Toe.cpp in Sources */, + 29A8EB3C1EF0476500AD2478 /* Function.cpp in Sources */, + 29A8E6DC1EF0476400AD2478 /* ClefAttributes.cpp in Sources */, + 29A8EB281EF0476500AD2478 /* FullNoteGroup.cpp in Sources */, + 29A8F7031EF0476B00AD2478 /* StaffSize.cpp in Sources */, + 29A8E4201EF0476300AD2478 /* AccidentalMark.cpp in Sources */, + 29A8EFE21EF0476700AD2478 /* MidiDeviceInstrumentGroup.cpp in Sources */, + 29A8E7401EF0476400AD2478 /* CreditType.cpp in Sources */, + 29A8F0E61EF0476700AD2478 /* NormalNoteGroup.cpp in Sources */, + 29A8FB0E1EF0476D00AD2478 /* WorkNumber.cpp in Sources */, + 29A8EFD81EF0476700AD2478 /* MidiDeviceAttributes.cpp in Sources */, + 29A8EAA61EF0476500AD2478 /* Fingernails.cpp in Sources */, + 29A8ED6C1EF0476600AD2478 /* InterchangeableAttributes.cpp in Sources */, + 29A8E9021EF0476400AD2478 /* Dynamics.cpp in Sources */, + 29A8EC221EF0476500AD2478 /* GroupTime.cpp in Sources */, + 29A8FA781EF0476D00AD2478 /* VirtualLibrary.cpp in Sources */, + 29A8EA4C1EF0476500AD2478 /* FermataAttributes.cpp in Sources */, + 29A8F6D11EF0476A00AD2478 /* StaffDetailsAttributes.cpp in Sources */, + 29A8F5E11EF0476A00AD2478 /* SenzaMisura.cpp in Sources */, + 29A8EAC41EF0476500AD2478 /* Footnote.cpp in Sources */, + 29A8E3F81EF0476300AD2478 /* ElementInterface.cpp in Sources */, + 29A8F70D1EF0476B00AD2478 /* StaffTuning.cpp in Sources */, + 29A8E5421EF0476300AD2478 /* BarreAttributes.cpp in Sources */, + 29A8F1681EF0476800AD2478 /* NoteheadTextChoice.cpp in Sources */, + 29A8E8121EF0476400AD2478 /* DelayedTurn.cpp in Sources */, + 29A8EB5A1EF0476500AD2478 /* Glissando.cpp in Sources */, + 29A8F06E1EF0476700AD2478 /* MovementTitle.cpp in Sources */, + 29A8E95C1EF0476400AD2478 /* ElisionSyllabicGroup.cpp in Sources */, + 29A8EA2E1EF0476500AD2478 /* Feature.cpp in Sources */, + 29A8EC361EF0476500AD2478 /* HammerOnAttributes.cpp in Sources */, + 29A8F4471EF0476900AD2478 /* PrefixAttributes.cpp in Sources */, + 29A8E65A1EF0476300AD2478 /* BottomMargin.cpp in Sources */, + 29A8F0781EF0476700AD2478 /* MultipleRest.cpp in Sources */, + 29A8E45C1EF0476300AD2478 /* AccordionHigh.cpp in Sources */, + 29A8EB1E1EF0476500AD2478 /* FretAttributes.cpp in Sources */, + 29A8E5741EF0476300AD2478 /* BassAlter.cpp in Sources */, + 29A8EE981EF0476600AD2478 /* LyricAttributes.cpp in Sources */, + 29A8F2621EF0476800AD2478 /* OtherPercussion.cpp in Sources */, + 29A8E9F21EF0476500AD2478 /* EndParagraph.cpp in Sources */, + 29A8F6E51EF0476A00AD2478 /* StaffLayout.cpp in Sources */, + 29A8F0641EF0476700AD2478 /* MovementNumber.cpp in Sources */, + 29A8F4B51EF0476900AD2478 /* RelationAttributes.cpp in Sources */, + 29A8F2E41EF0476800AD2478 /* PartAbbreviationDisplay.cpp in Sources */, + 29A8E5061EF0476300AD2478 /* Artificial.cpp in Sources */, + 29A8EA9C1EF0476500AD2478 /* FingeringAttributes.cpp in Sources */, + 29A8F7B71EF0476B00AD2478 /* StringMuteAttributes.cpp in Sources */, + 29A8E7AE1EF0476400AD2478 /* Degree.cpp in Sources */, + 29A8F3481EF0476800AD2478 /* PartNameDisplayAttributes.cpp in Sources */, + 29A8E89E1EF0476400AD2478 /* DisplayTextOrAccidentalText.cpp in Sources */, + 29A8FB7C1EF0476D00AD2478 /* PreciseDecimal.cpp in Sources */, + 29A8EF921EF0476700AD2478 /* MetronomeRelationGroup.cpp in Sources */, + 29A8F4E71EF0476900AD2478 /* RestAttributes.cpp in Sources */, + 29A8EF381EF0476700AD2478 /* Membrane.cpp in Sources */, + 29A8ED801EF0476600AD2478 /* InversionAttributes.cpp in Sources */, + 29A8EECA1EF0476600AD2478 /* LyricTextChoice.cpp in Sources */, + 29A8E6141EF0476300AD2478 /* BeatUnitPerOrNoteRelationNoteChoice.cpp in Sources */, + 29A8FCC11EF0476E00AD2478 /* ScoreWriter.cpp in Sources */, + 29A8F2301EF0476800AD2478 /* OtherDirectionAttributes.cpp in Sources */, + 29A8F9831EF0476C00AD2478 /* TrillMark.cpp in Sources */, + 29A8EEDE1EF0476600AD2478 /* MeasureDistance.cpp in Sources */, + 29A8F2261EF0476800AD2478 /* OtherDirection.cpp in Sources */, + 29A8FC171EF0476E00AD2478 /* LcmGcd.cpp in Sources */, + 29A8F3841EF0476900AD2478 /* PedalAlter.cpp in Sources */, + 29A8F81B1EF0476B00AD2478 /* SystemDividers.cpp in Sources */, + 29A8FD9D1EF0476F00AD2478 /* XElementIterator.cpp in Sources */, + 29A8E8EE1EF0476400AD2478 /* DownBow.cpp in Sources */, + 29A8F7E91EF0476B00AD2478 /* Supports.cpp in Sources */, + 29A8F4D31EF0476900AD2478 /* RepeatAttributes.cpp in Sources */, + 29A8F3661EF0476900AD2478 /* PartwiseMeasure.cpp in Sources */, + 29A8FAE61EF0476D00AD2478 /* WordFont.cpp in Sources */, + 29A8EA241EF0476500AD2478 /* Falloff.cpp in Sources */, + 29A8ECA41EF0476600AD2478 /* HarpPedalsAttributes.cpp in Sources */, + 29A8EBAA1EF0476500AD2478 /* GroupAbbreviationDisplay.cpp in Sources */, + 29A8E9DE1EF0476500AD2478 /* EndingAttributes.cpp in Sources */, + 29A8F8CF1EF0476C00AD2478 /* TimeChoice.cpp in Sources */, + 29A8E6001EF0476300AD2478 /* BeatUnitGroup.cpp in Sources */, + 29A8EA6A1EF0476500AD2478 /* FiguredBass.cpp in Sources */, + 29A8F0961EF0476700AD2478 /* MusicDataGroup.cpp in Sources */, + 29A8F5551EF0476A00AD2478 /* Schleifer.cpp in Sources */, + 29A8EBC81EF0476500AD2478 /* GroupBarlineAttributes.cpp in Sources */, + 29A8EF9C1EF0476700AD2478 /* MetronomeTuplet.cpp in Sources */, + 29A8F7851EF0476B00AD2478 /* Stopped.cpp in Sources */, + 29A8F9011EF0476C00AD2478 /* TimewiseMeasure.cpp in Sources */, + 29A8F6591EF0476A00AD2478 /* Software.cpp in Sources */, + 29A8F1721EF0476800AD2478 /* NoteRelationNote.cpp in Sources */, + 29A8E4C01EF0476300AD2478 /* Arrow.cpp in Sources */, + 29A8F29E1EF0476800AD2478 /* PageLayout.cpp in Sources */, + 29A8F08C1EF0476700AD2478 /* MusicDataChoice.cpp in Sources */, + 29A8F7FD1EF0476B00AD2478 /* Syllabic.cpp in Sources */, + 29A8F8BB1EF0476C00AD2478 /* Time.cpp in Sources */, + 29A8E3A81EF0476300AD2478 /* WordsData.cpp in Sources */, + 29A8ED761EF0476600AD2478 /* Inversion.cpp in Sources */, + 29A8EABA1EF0476500AD2478 /* FirstFretAttributes.cpp in Sources */, + 29A8E5561EF0476300AD2478 /* BarStyleAttributes.cpp in Sources */, + 29A8E51A1EF0476300AD2478 /* Backup.cpp in Sources */, + 29A8E84E1EF0476400AD2478 /* DirectionType.cpp in Sources */, + 29A8FCD51EF0476E00AD2478 /* StaffFunctions.cpp in Sources */, + 29A8FBE01EF0476E00AD2478 /* DirectionWriter.cpp in Sources */, + 29A8F1901EF0476800AD2478 /* Octave.cpp in Sources */, + 29A8EFC41EF0476700AD2478 /* MidiChannel.cpp in Sources */, + 29A8FD481EF0476E00AD2478 /* PugiAttribute.cpp in Sources */, + 29A8F6271EF0476A00AD2478 /* Slide.cpp in Sources */, + 29A8E8761EF0476400AD2478 /* DisplayStep.cpp in Sources */, + 29A8F6811EF0476A00AD2478 /* SoundAttributes.cpp in Sources */, + 29A8E7721EF0476400AD2478 /* CueNoteGroup.cpp in Sources */, + 29A8F2761EF0476800AD2478 /* OtherPlayAttributes.cpp in Sources */, + 29A8EE841EF0476600AD2478 /* LinkAttributes.cpp in Sources */, + 29A8EDBC1EF0476600AD2478 /* Key.cpp in Sources */, + 29A8F4241EF0476900AD2478 /* PluckAttributes.cpp in Sources */, + 29A8EB461EF0476500AD2478 /* FunctionAttributes.cpp in Sources */, + 29A8EF7E1EF0476700AD2478 /* MetronomeNote.cpp in Sources */, + 29A8F41A1EF0476900AD2478 /* Pluck.cpp in Sources */, + 29A8E88A1EF0476400AD2478 /* DisplayText.cpp in Sources */, + 29A8E3D01EF0476300AD2478 /* Decimals.cpp in Sources */, + 29A8F9471EF0476C00AD2478 /* TouchingPitch.cpp in Sources */, + 29A8E8A81EF0476400AD2478 /* Distance.cpp in Sources */, + 29A8ECC21EF0476600AD2478 /* Hole.cpp in Sources */, + 29A8F4DD1EF0476900AD2478 /* Rest.cpp in Sources */, + 29A8EF561EF0476700AD2478 /* MetronomeAttributes.cpp in Sources */, + 29A8FA6E1EF0476D00AD2478 /* VirtualInstrument.cpp in Sources */, + 29A8E6B41EF0476400AD2478 /* Chord.cpp in Sources */, + 29A8E97A1EF0476400AD2478 /* EmptyLineAttributes.cpp in Sources */, + 29A8F1CC1EF0476800AD2478 /* OpenString.cpp in Sources */, + 29A8EF2E1EF0476700AD2478 /* MeasureStyleChoice.cpp in Sources */, + 29A8FB5E1EF0476D00AD2478 /* Integers.cpp in Sources */, + 29A8F4831EF0476900AD2478 /* PullOff.cpp in Sources */, + 29A8F15E1EF0476800AD2478 /* NoteheadText.cpp in Sources */, + 29A8E7D61EF0476400AD2478 /* DegreeType.cpp in Sources */, + 29A8F3A21EF0476900AD2478 /* PedalTuning.cpp in Sources */, + 29A8F93D1EF0476C00AD2478 /* TopSystemDistance.cpp in Sources */, + 29A8F2121EF0476800AD2478 /* OtherArticulation.cpp in Sources */, + 29A8F82F1EF0476B00AD2478 /* SystemMargins.cpp in Sources */, + 29A8F3521EF0476800AD2478 /* PartSymbol.cpp in Sources */, + 29A8F5D71EF0476A00AD2478 /* SemiPitched.cpp in Sources */, + 29A8F17C1EF0476800AD2478 /* NoteSize.cpp in Sources */, + 29A8F2C61EF0476800AD2478 /* Pan.cpp in Sources */, + 29A8EA881EF0476500AD2478 /* FigureNumberAttributes.cpp in Sources */, + 29A8FD661EF0476F00AD2478 /* PugiElement.cpp in Sources */, + 29A8FBFE1EF0476E00AD2478 /* EncodingFunctions.cpp in Sources */, + 29A8EC681EF0476500AD2478 /* HarmonicInfoChoice.cpp in Sources */, + 29A8E33A1EF0476300AD2478 /* NoteData.cpp in Sources */, + 29A8ED441EF0476600AD2478 /* InstrumentName.cpp in Sources */, + 29A8E9A21EF0476400AD2478 /* EncoderAttributes.cpp in Sources */, + 29A8EA421EF0476500AD2478 /* Fermata.cpp in Sources */, + 29A8E5CE1EF0476300AD2478 /* BeatRepeatAttributes.cpp in Sources */, + 29A8FAB41EF0476D00AD2478 /* Wedge.cpp in Sources */, + 29A8FABE1EF0476D00AD2478 /* WedgeAttributes.cpp in Sources */, + 29A8F6DB1EF0476A00AD2478 /* StaffDistance.cpp in Sources */, + 29A8E4841EF0476300AD2478 /* AccordionRegistrationAttributes.cpp in Sources */, + 29A8F6131EF0476A00AD2478 /* SlashDot.cpp in Sources */, + 29A8E75E1EF0476400AD2478 /* CreditWordsGroup.cpp in Sources */, + 29A8F55F1EF0476A00AD2478 /* Scoop.cpp in Sources */, + 29A8F7D51EF0476B00AD2478 /* Suffix.cpp in Sources */, + 29A8F9BF1EF0476C00AD2478 /* TupletActual.cpp in Sources */, + 29A8E9AC1EF0476400AD2478 /* Encoding.cpp in Sources */, + 29A8E60A1EF0476300AD2478 /* BeatUnitPer.cpp in Sources */, + 29A8E77C1EF0476400AD2478 /* Damp.cpp in Sources */, + 29A8F4BF1EF0476900AD2478 /* Release.cpp in Sources */, + 29A8F72B1EF0476B00AD2478 /* Staves.cpp in Sources */, + 29A8F32A1EF0476800AD2478 /* PartName.cpp in Sources */, + 29A8F6BD1EF0476A00AD2478 /* Staff.cpp in Sources */, + 29A8F0BE1EF0476700AD2478 /* NonArpeggiate.cpp in Sources */, + 29A8EBB41EF0476500AD2478 /* GroupAbbreviationDisplayAttributes.cpp in Sources */, + 29A8F5691EF0476A00AD2478 /* Scordatura.cpp in Sources */, + 29A8F5911EF0476A00AD2478 /* ScorePart.cpp in Sources */, + 29A8F0321EF0476700AD2478 /* MiscellaneousField.cpp in Sources */, + 29A8E3581EF0476300AD2478 /* PitchData.cpp in Sources */, + 29A8F9D31EF0476C00AD2478 /* TupletDot.cpp in Sources */, + 29A8E8941EF0476400AD2478 /* DisplayTextAttributes.cpp in Sources */, + 29A8FAFA1EF0476D00AD2478 /* WordsAttributes.cpp in Sources */, + 29A8ECE01EF0476600AD2478 /* HoleClosedAttributes.cpp in Sources */, + 29A8E6C81EF0476400AD2478 /* CircularArrow.cpp in Sources */, + 29A8F98D1EF0476C00AD2478 /* TripleTongue.cpp in Sources */, + 29A8F33E1EF0476800AD2478 /* PartNameDisplay.cpp in Sources */, + 29A8F0C81EF0476700AD2478 /* NonArpeggiateAttributes.cpp in Sources */, + 29A8F4511EF0476900AD2478 /* PrincipalVoice.cpp in Sources */, + 29A8F6EF1EF0476A00AD2478 /* StaffLayoutAttributes.cpp in Sources */, + 29A8FAAA1EF0476D00AD2478 /* WavyLineAttributes.cpp in Sources */, + 29A8EEE81EF0476600AD2478 /* MeasureLayout.cpp in Sources */, + 29A8E7E01EF0476400AD2478 /* DegreeTypeAttributes.cpp in Sources */, + 29A8EA561EF0476500AD2478 /* Fifths.cpp in Sources */, + 29A8FC441EF0476E00AD2478 /* MetronomeReader.cpp in Sources */, + 29A8F5CD1EF0476A00AD2478 /* Segno.cpp in Sources */, + 29A8FA461EF0476C00AD2478 /* Unpitched.cpp in Sources */, + 29A8F5B91EF0476A00AD2478 /* ScoreTimewise.cpp in Sources */, + 29A8EEA21EF0476600AD2478 /* LyricFont.cpp in Sources */, + 29A8EEB61EF0476600AD2478 /* LyricLanguage.cpp in Sources */, + 29A8F0821EF0476700AD2478 /* MultipleRestAttributes.cpp in Sources */, + 29A8FC7B1EF0476E00AD2478 /* OrnamentsFunctions.cpp in Sources */, + 29A8F7CB1EF0476B00AD2478 /* StrongAccentAttributes.cpp in Sources */, + 29A8FD3E1EF0476E00AD2478 /* UtilityImpl.cpp in Sources */, + 29A8ED3A1EF0476600AD2478 /* InstrumentAttributes.cpp in Sources */, + 29A8E4CA1EF0476300AD2478 /* ArrowAttributes.cpp in Sources */, + 29A8E8C61EF0476400AD2478 /* Doit.cpp in Sources */, + 29A8E43E1EF0476300AD2478 /* AccidentalTextAttributes.cpp in Sources */, + 29A8E9FC1EF0476500AD2478 /* Ensemble.cpp in Sources */, + 29A8E4341EF0476300AD2478 /* AccidentalText.cpp in Sources */, + 29A8FB681EF0476D00AD2478 /* NumberOrNormal.cpp in Sources */, + 29A8ED9E1EF0476600AD2478 /* InvertedTurn.cpp in Sources */, + 29A8F5051EF0476900AD2478 /* Rights.cpp in Sources */, + 29A8F2A81EF0476800AD2478 /* PageMargins.cpp in Sources */, + 29A8F4AB1EF0476900AD2478 /* Relation.cpp in Sources */, + 29A8F2BC1EF0476800AD2478 /* PageWidth.cpp in Sources */, + 29A8F86B1EF0476B00AD2478 /* Tenuto.cpp in Sources */, + 29A8FC301EF0476E00AD2478 /* MeasureReader.cpp in Sources */, + 29A8F4C91EF0476900AD2478 /* Repeat.cpp in Sources */, + 29A8F1F41EF0476800AD2478 /* OrnamentsChoice.cpp in Sources */, + 29A8F0501EF0476700AD2478 /* Mordent.cpp in Sources */, + 29A8ECEA1EF0476600AD2478 /* HoleShape.cpp in Sources */, + 29A8FA0A1EF0476C00AD2478 /* TupletType.cpp in Sources */, + 29A8F8571EF0476B00AD2478 /* TechnicalChoice.cpp in Sources */, + 29A8F46F1EF0476900AD2478 /* PrintAttributes.cpp in Sources */, + 29A8F5411EF0476A00AD2478 /* RootStepAttributes.cpp in Sources */, + 29A8F6631EF0476A00AD2478 /* Solo.cpp in Sources */, + 29A8F5231EF0476900AD2478 /* RootAlter.cpp in Sources */, + 29A8E57E1EF0476300AD2478 /* BassAlterAttributes.cpp in Sources */, + 29A8E5F61EF0476300AD2478 /* BeatUnitDot.cpp in Sources */, + 29A8EC721EF0476500AD2478 /* HarmonicTypeChoice.cpp in Sources */, + 29A8F8891EF0476B00AD2478 /* ThumbPosition.cpp in Sources */, + 29A8FB041EF0476D00AD2478 /* Work.cpp in Sources */, + 29A8EDDA1EF0476600AD2478 /* KeyAttributes.cpp in Sources */, + 29A8F6C71EF0476A00AD2478 /* StaffDetails.cpp in Sources */, + 29A8E5101EF0476300AD2478 /* AttributesIterface.cpp in Sources */, + 29A8F8F71EF0476C00AD2478 /* TimeSignatureGroup.cpp in Sources */, + 29A8F9AB1EF0476C00AD2478 /* TuningStep.cpp in Sources */, + 29A8E54C1EF0476300AD2478 /* BarStyle.cpp in Sources */, + 29A8EBE61EF0476500AD2478 /* GroupName.cpp in Sources */, + 29A8E4521EF0476300AD2478 /* AccordAttributes.cpp in Sources */, + 29A8E7541EF0476400AD2478 /* CreditWordsAttributes.cpp in Sources */, + 29A8EFBA1EF0476700AD2478 /* MidiBank.cpp in Sources */, + 29A8EDB21EF0476600AD2478 /* Ipa.cpp in Sources */, + 29A8E6BE1EF0476400AD2478 /* Chromatic.cpp in Sources */, + 29A8EB141EF0476500AD2478 /* Fret.cpp in Sources */, + 29A8EE2A1EF0476600AD2478 /* LayoutGroup.cpp in Sources */, + 29A8FCDF1EF0476E00AD2478 /* TechnicalFunctions.cpp in Sources */, + 29A8E52E1EF0476300AD2478 /* BarlineAttributes.cpp in Sources */, + 29A8E40C1EF0476300AD2478 /* Accidental.cpp in Sources */, + 29A8E9341EF0476400AD2478 /* Effect.cpp in Sources */, + 29A8F1A41EF0476800AD2478 /* OctaveShift.cpp in Sources */, + 29A8E56A1EF0476300AD2478 /* Bass.cpp in Sources */, + 29A8ECCC1EF0476600AD2478 /* HoleAttributes.cpp in Sources */, + 29A8E9841EF0476400AD2478 /* EmptyPlacementAttributes.cpp in Sources */, + 29A8ECD61EF0476600AD2478 /* HoleClosed.cpp in Sources */, + 29A8E4161EF0476300AD2478 /* AccidentalAttributes.cpp in Sources */, + 29A8E7EA1EF0476400AD2478 /* DegreeValue.cpp in Sources */, + 29A8E5EC1EF0476300AD2478 /* BeatUnit.cpp in Sources */, + 29A8FC3A1EF0476E00AD2478 /* MeasureWriter.cpp in Sources */, + 29A8FA821EF0476D00AD2478 /* VirtualName.cpp in Sources */, + 29A8F7A31EF0476B00AD2478 /* StringAttributes.cpp in Sources */, + 29A8E83A1EF0476400AD2478 /* Direction.cpp in Sources */, + 29A8FB9F1EF0476D00AD2478 /* YesNoNumber.cpp in Sources */, + 29A8ECB81EF0476600AD2478 /* HeelAttributes.cpp in Sources */, + 29A8F77B1EF0476B00AD2478 /* StickType.cpp in Sources */, + 29A8E8DA1EF0476400AD2478 /* Double.cpp in Sources */, + 29A8E8081EF0476400AD2478 /* DelayedInvertedTurnAttributes.cpp in Sources */, + 29A8F2941EF0476800AD2478 /* PageHeight.cpp in Sources */, + 29A8FDAC1EF0476F00AD2478 /* XFactory.cpp in Sources */, + 29A8EF601EF0476700AD2478 /* MetronomeBeam.cpp in Sources */, + 29A8F57D1EF0476A00AD2478 /* ScoreInstrument.cpp in Sources */, + 29A8EDD01EF0476600AD2478 /* KeyAlter.cpp in Sources */, + 29A8FD5C1EF0476F00AD2478 /* PugiDoc.cpp in Sources */, + 29A8F3021EF0476800AD2478 /* PartGroup.cpp in Sources */, + 29A8F1C21EF0476800AD2478 /* OffsetAttributes.cpp in Sources */, + 29A8E5C41EF0476300AD2478 /* BeatRepeat.cpp in Sources */, + 29A8E68C1EF0476300AD2478 /* Caesura.cpp in Sources */, + 29A8EAB01EF0476500AD2478 /* FirstFret.cpp in Sources */, + 29A8E7FE1EF0476400AD2478 /* DelayedInvertedTurn.cpp in Sources */, + 29A8F1B81EF0476800AD2478 /* Offset.cpp in Sources */, + 29A8E72C1EF0476400AD2478 /* CreditImage.cpp in Sources */, + 29A8ED121EF0476600AD2478 /* Image.cpp in Sources */, + 29A8FB181EF0476D00AD2478 /* WorkTitle.cpp in Sources */, + 29A8EEC01EF0476600AD2478 /* LyricLanguageAttributes.cpp in Sources */, + 29A8E6821EF0476300AD2478 /* BreathMarkAttributes.cpp in Sources */, + 29A8EDC61EF0476600AD2478 /* KeyAccidental.cpp in Sources */, + 29A8F9B51EF0476C00AD2478 /* Tuplet.cpp in Sources */, + 29A8F3D41EF0476900AD2478 /* PerMinuteAttributes.cpp in Sources */, + 29A8ECAE1EF0476600AD2478 /* Heel.cpp in Sources */, + 29A8F9651EF0476C00AD2478 /* TransposeAttributes.cpp in Sources */, + 29A8FC671EF0476E00AD2478 /* NoteReader.cpp in Sources */, + 29A8F6B31EF0476A00AD2478 /* Staccato.cpp in Sources */, + 29A8EC9A1EF0476600AD2478 /* HarpPedals.cpp in Sources */, + 29A8F1361EF0476700AD2478 /* NoteAttributes.cpp in Sources */, + 29A8F4F11EF0476900AD2478 /* RightDivider.cpp in Sources */, + 29A8FB861EF0476D00AD2478 /* ScoreConversions.cpp in Sources */, + 29A8F7C11EF0476B00AD2478 /* StrongAccent.cpp in Sources */, + 29A8E7181EF0476400AD2478 /* CreditAttributes.cpp in Sources */, + 29A8F7351EF0476B00AD2478 /* Stem.cpp in Sources */, + 29A8E5921EF0476300AD2478 /* BassStepAttributes.cpp in Sources */, + 29A8ED261EF0476600AD2478 /* Instrument.cpp in Sources */, + 29A8EB781EF0476500AD2478 /* GraceAttributes.cpp in Sources */, + 29A8FD7F1EF0476F00AD2478 /* XAttributeIterator.cpp in Sources */, + 29A8EE161EF0476600AD2478 /* KindAttributes.cpp in Sources */, + 29A8F8B11EF0476C00AD2478 /* TiedAttributes.cpp in Sources */, + 29A8E79A1EF0476400AD2478 /* DashesAttributes.cpp in Sources */, + 29A8E6461EF0476300AD2478 /* Bookmark.cpp in Sources */, + 29A8F4061EF0476900AD2478 /* PlayAttributes.cpp in Sources */, + 29A8EFB01EF0476700AD2478 /* MetronomeType.cpp in Sources */, + 29A8FA1E1EF0476C00AD2478 /* Turn.cpp in Sources */, + 29A8E7A41EF0476400AD2478 /* Defaults.cpp in Sources */, + 29A8F35C1EF0476800AD2478 /* PartSymbolAttributes.cpp in Sources */, + 29A8FC991EF0476E00AD2478 /* PartWriter.cpp in Sources */, + 29A8FB721EF0476D00AD2478 /* PositiveIntegerOrEmpty.cpp in Sources */, + 29A8E9701EF0476400AD2478 /* EmptyFontAttributes.cpp in Sources */, + 29A8EB6E1EF0476500AD2478 /* Grace.cpp in Sources */, + 29A8F8C51EF0476C00AD2478 /* TimeAttributes.cpp in Sources */, + 29A8F5871EF0476A00AD2478 /* ScoreInstrumentAttributes.cpp in Sources */, + 29A8F2EE1EF0476800AD2478 /* PartAbbreviationDisplayAttributes.cpp in Sources */, + 29A8E6321EF0476300AD2478 /* BendAttributes.cpp in Sources */, + 29A8F2D01EF0476800AD2478 /* PartAbbreviation.cpp in Sources */, + 29A8FBF41EF0476E00AD2478 /* DynamicsWriter.cpp in Sources */, + 29A8FCF31EF0476E00AD2478 /* TupletReader.cpp in Sources */, + 29A8F3DE1EF0476900AD2478 /* PerMinuteOrBeatUnitChoice.cpp in Sources */, + 29A8E6A01EF0476300AD2478 /* CancelAttributes.cpp in Sources */, + 29A8F9291EF0476C00AD2478 /* ToeAttributes.cpp in Sources */, + 29A8ED8A1EF0476600AD2478 /* InvertedMordent.cpp in Sources */, + 29A8E86C1EF0476400AD2478 /* DisplayOctave.cpp in Sources */, + 29A8E9201EF0476400AD2478 /* EditorialVoiceDirectionGroup.cpp in Sources */, + 29A8F3AC1EF0476900AD2478 /* Percussion.cpp in Sources */, + 29A8EED41EF0476600AD2478 /* MeasureAttributes.cpp in Sources */, + 29A8EACE1EF0476500AD2478 /* FootnoteAttributes.cpp in Sources */, + 29A8ECF41EF0476600AD2478 /* HoleType.cpp in Sources */, + 29A8F3981EF0476900AD2478 /* PedalStep.cpp in Sources */, + 29A8EBDC1EF0476500AD2478 /* GroupingAttributes.cpp in Sources */, + 29A8EF1A1EF0476700AD2478 /* MeasureStyle.cpp in Sources */, + 29A8E4FC1EF0476300AD2478 /* ArticulationsChoice.cpp in Sources */, + 29A8F9511EF0476C00AD2478 /* TraditionalKey.cpp in Sources */, + 29A8E2EF1EF0476300AD2478 /* DocumentManager.cpp in Sources */, + 29A8F68B1EF0476A00AD2478 /* SoundingPitch.cpp in Sources */, + 29A8F45B1EF0476900AD2478 /* PrincipalVoiceAttributes.cpp in Sources */, + 29A8F14A1EF0476700AD2478 /* Notehead.cpp in Sources */, + 29A8FB541EF0476D00AD2478 /* FromXElement.cpp in Sources */, + 29A8EA1A1EF0476500AD2478 /* Eyeglasses.cpp in Sources */, + 29A8EE481EF0476600AD2478 /* Level.cpp in Sources */, + 29A8F9331EF0476C00AD2478 /* TopMargin.cpp in Sources */, + 29A8E98E1EF0476400AD2478 /* EmptyTrillSoundAttributes.cpp in Sources */, + 29A8E9661EF0476400AD2478 /* ElisionSyllabicTextGroup.cpp in Sources */, + 29A8EBFA1EF0476500AD2478 /* GroupNameDisplay.cpp in Sources */, + 29A8F19A1EF0476800AD2478 /* OctaveChange.cpp in Sources */, + 29A8F90B1EF0476C00AD2478 /* TimewisePart.cpp in Sources */, + 29A8ED941EF0476600AD2478 /* InvertedMordentAttributes.cpp in Sources */, + 29A8E4981EF0476300AD2478 /* Alter.cpp in Sources */, + 29A8F2DA1EF0476800AD2478 /* PartAbbreviationAttributes.cpp in Sources */, + 29A8EFEC1EF0476700AD2478 /* MidiInstrument.cpp in Sources */, + 29A8F50F1EF0476900AD2478 /* RightsAttributes.cpp in Sources */, + 29A8F1EA1EF0476800AD2478 /* Ornaments.cpp in Sources */, + 29A8EFA61EF0476700AD2478 /* MetronomeTupletAttributes.cpp in Sources */, + 29A8FB361EF0476D00AD2478 /* Enums.cpp in Sources */, + 29A8E6D21EF0476400AD2478 /* Clef.cpp in Sources */, + 29A8EB641EF0476500AD2478 /* GlissandoAttributes.cpp in Sources */, + 29A8E8801EF0476400AD2478 /* DisplayStepOctaveGroup.cpp in Sources */, + 29A8E47A1EF0476300AD2478 /* AccordionRegistration.cpp in Sources */, + 29A8F28A1EF0476800AD2478 /* OtherTechnicalAttributes.cpp in Sources */, + 29A8F3C01EF0476900AD2478 /* PercussionChoice.cpp in Sources */, + 29A8F0A01EF0476700AD2478 /* MusicFont.cpp in Sources */, + 29A8EE701EF0476600AD2478 /* LineWidthAttributes.cpp in Sources */, + 29A8E4DE1EF0476300AD2478 /* ArrowGroup.cpp in Sources */, + 29A8ED1C1EF0476600AD2478 /* ImageAttributes.cpp in Sources */, + 29A8E61E1EF0476300AD2478 /* Bend.cpp in Sources */, + 29A8EB501EF0476500AD2478 /* Glass.cpp in Sources */, + 29A8FA281EF0476C00AD2478 /* TurnAttributes.cpp in Sources */, + 29A8FAA01EF0476D00AD2478 /* WavyLine.cpp in Sources */, + 29A8EDA81EF0476600AD2478 /* InvertedTurnAttributes.cpp in Sources */, + 29A8F10E1EF0476700AD2478 /* Notations.cpp in Sources */, + 29A8E8261EF0476400AD2478 /* DetachedLegato.cpp in Sources */, + 29A8F4791EF0476900AD2478 /* Properties.cpp in Sources */, + 29A8F69F1EF0476A00AD2478 /* Spiccato.cpp in Sources */, + 29A8E5241EF0476300AD2478 /* Barline.cpp in Sources */, + 29A8FA5A1EF0476D00AD2478 /* UpBow.cpp in Sources */, + 29A8E8BC1EF0476400AD2478 /* Divisions.cpp in Sources */, + 29A8E4021EF0476300AD2478 /* Accent.cpp in Sources */, + 29A8F2801EF0476800AD2478 /* OtherTechnical.cpp in Sources */, + 29A8F8431EF0476B00AD2478 /* TapAttributes.cpp in Sources */, + 29A8FD021EF0476E00AD2478 /* pugixml.cpp in Sources */, + 29A8F89D1EF0476C00AD2478 /* TieAttributes.cpp in Sources */, + 29A8EB001EF0476500AD2478 /* FrameNote.cpp in Sources */, + 29A8F1541EF0476800AD2478 /* NoteheadAttributes.cpp in Sources */, + 29A8F24E1EF0476800AD2478 /* OtherOrnament.cpp in Sources */, + 29A8E36C1EF0476300AD2478 /* ScoreData.cpp in Sources */, + 29A8F1221EF0476700AD2478 /* NotationsChoice.cpp in Sources */, + 29A8EC2C1EF0476500AD2478 /* HammerOn.cpp in Sources */, + 29A8F9A11EF0476C00AD2478 /* TuningOctave.cpp in Sources */, + 29A8F0FA1EF0476700AD2478 /* NormalType.cpp in Sources */, + 29A8E8301EF0476400AD2478 /* Diatonic.cpp in Sources */, + 29A8F1181EF0476700AD2478 /* NotationsAttributes.cpp in Sources */, + 29A8F8ED1EF0476C00AD2478 /* TimeRelation.cpp in Sources */, + 29A8EAD81EF0476500AD2478 /* Forward.cpp in Sources */, + 29A8E6281EF0476300AD2478 /* BendAlter.cpp in Sources */, + 29A8E5A61EF0476300AD2478 /* BeamAttributes.cpp in Sources */, + 29A8EB961EF0476500AD2478 /* GroupAbbreviation.cpp in Sources */, + 29A8EA741EF0476500AD2478 /* FiguredBassAttributes.cpp in Sources */, + 29A8E8F81EF0476400AD2478 /* Duration.cpp in Sources */, + 29A8EC181EF0476500AD2478 /* GroupSymbolAttributes.cpp in Sources */, + 29A8F73F1EF0476B00AD2478 /* StemAttributes.cpp in Sources */, + 29A8EE521EF0476600AD2478 /* LevelAttributes.cpp in Sources */, + 29A8EA101EF0476500AD2478 /* ExtendAttributes.cpp in Sources */, + 29A8EC901EF0476600AD2478 /* HarmonyChordGroup.cpp in Sources */, + 29A8FA501EF0476D00AD2478 /* Unstress.cpp in Sources */, + 29A8FD521EF0476E00AD2478 /* PugiAttributeIterImpl.cpp in Sources */, + 29A8E7361EF0476400AD2478 /* CreditImageAttributes.cpp in Sources */, + 29A8E9E81EF0476500AD2478 /* EndLine.cpp in Sources */, + 29A8FBA91EF0476D00AD2478 /* AccidentalMarkFunctions.cpp in Sources */, + 29A8EF241EF0476700AD2478 /* MeasureStyleAttributes.cpp in Sources */, + 29A8F9E71EF0476C00AD2478 /* TupletNormal.cpp in Sources */, + 29A8F0DC1EF0476700AD2478 /* NormalDot.cpp in Sources */, + 29A8E4A21EF0476300AD2478 /* Appearance.cpp in Sources */, + 29A8E9B61EF0476400AD2478 /* EncodingChoice.cpp in Sources */, + 29A8F3E81EF0476900AD2478 /* Pitch.cpp in Sources */, + 29A8F3341EF0476800AD2478 /* PartNameAttributes.cpp in Sources */, + 29A8EC4A1EF0476500AD2478 /* HandbellAttributes.cpp in Sources */, + 29A8E8441EF0476400AD2478 /* DirectionAttributes.cpp in Sources */, + 29A8EB321EF0476500AD2478 /* FullNoteTypeChoice.cpp in Sources */, + 29A8F6091EF0476A00AD2478 /* SlashAttributes.cpp in Sources */, + 29A8F6A91EF0476A00AD2478 /* Staccatissimo.cpp in Sources */, + 29A8E3EE1EF0476300AD2478 /* DocumentSpec.cpp in Sources */, + 29A8FC851EF0476E00AD2478 /* PageTextFunctions.cpp in Sources */, + 29A8FB2C1EF0476D00AD2478 /* EmptyPrintObjectStyleAlignAttributes.cpp in Sources */, + 29A8F4A11EF0476900AD2478 /* RehearsalAttributes.cpp in Sources */, + 29A8EE8E1EF0476600AD2478 /* Lyric.cpp in Sources */, + 29A8E7861EF0476400AD2478 /* DampAll.cpp in Sources */, + 29A8F59B1EF0476A00AD2478 /* ScorePartAttributes.cpp in Sources */, + 29A8EA381EF0476500AD2478 /* FeatureAttributes.cpp in Sources */, + 29A8F5A51EF0476A00AD2478 /* ScorePartwise.cpp in Sources */, + 29A8EBF01EF0476500AD2478 /* GroupNameAttributes.cpp in Sources */, + 29A8EC0E1EF0476500AD2478 /* GroupSymbol.cpp in Sources */, + 29A8E4F21EF0476300AD2478 /* Articulations.cpp in Sources */, + 29A8F7711EF0476B00AD2478 /* StickMaterial.cpp in Sources */, + 29A8E7C21EF0476400AD2478 /* DegreeAlterAttributes.cpp in Sources */, + 29A8FC5D1EF0476E00AD2478 /* NoteFunctions.cpp in Sources */, + 29A8EA601EF0476500AD2478 /* Figure.cpp in Sources */, + 29A8ED4E1EF0476600AD2478 /* Instruments.cpp in Sources */, + 29A8EE201EF0476600AD2478 /* Laughing.cpp in Sources */, + 29A8F3161EF0476800AD2478 /* PartGroupOrScorePart.cpp in Sources */, + 29A8EA7E1EF0476500AD2478 /* FigureNumber.cpp in Sources */, + 29A8EDE41EF0476600AD2478 /* KeyChoice.cpp in Sources */, + 29A8FA321EF0476C00AD2478 /* Type.cpp in Sources */, + 29A8F6951EF0476A00AD2478 /* Source.cpp in Sources */, + 29A8F05A1EF0476700AD2478 /* MordentAttributes.cpp in Sources */, + 29A8F12C1EF0476700AD2478 /* Note.cpp in Sources */, + 29A8F4101EF0476900AD2478 /* Plop.cpp in Sources */, + 29A8F3701EF0476900AD2478 /* PartwisePart.cpp in Sources */, + 29A8F26C1EF0476800AD2478 /* OtherPlay.cpp in Sources */, + 29A8F1E01EF0476800AD2478 /* OpusAttributes.cpp in Sources */, + 29A8F5FF1EF0476A00AD2478 /* Slash.cpp in Sources */, + 29A8EE0C1EF0476600AD2478 /* Kind.cpp in Sources */, + 29A8F7211EF0476B00AD2478 /* StaffType.cpp in Sources */, + 29A8EFF61EF0476700AD2478 /* MidiInstrumentAttributes.cpp in Sources */, + 29A8F54B1EF0476A00AD2478 /* Scaling.cpp in Sources */, + 29A8EB0A1EF0476500AD2478 /* FrameStrings.cpp in Sources */, + 29A8F0AA1EF0476700AD2478 /* Mute.cpp in Sources */, + 29A8FA3C1EF0476C00AD2478 /* TypeAttributes.cpp in Sources */, + 29A8F38E1EF0476900AD2478 /* PedalAttributes.cpp in Sources */, + 29A8F63B1EF0476A00AD2478 /* Slur.cpp in Sources */, + 29A8F9791EF0476C00AD2478 /* TremoloAttributes.cpp in Sources */, + 29A8ED081EF0476600AD2478 /* Identification.cpp in Sources */, + 29A8EBBE1EF0476500AD2478 /* GroupBarline.cpp in Sources */, + 29A8F1FE1EF0476800AD2478 /* OtherAppearance.cpp in Sources */, + 29A8EDF81EF0476600AD2478 /* KeyOctaveAttributes.cpp in Sources */, + 29A8F7DF1EF0476B00AD2478 /* SuffixAttributes.cpp in Sources */, + 29A8E9CA1EF0476400AD2478 /* EncodingDescription.cpp in Sources */, + 29A8F2B21EF0476800AD2478 /* PageMarginsAttributes.cpp in Sources */, + 29A8F3CA1EF0476900AD2478 /* PerMinute.cpp in Sources */, + 29A8E5D81EF0476300AD2478 /* Beats.cpp in Sources */, + 29A8E5BA1EF0476300AD2478 /* BeaterAttributes.cpp in Sources */, + 29A8FCB71EF0476E00AD2478 /* ScoreReader.cpp in Sources */, + 29A8E7221EF0476400AD2478 /* CreditChoice.cpp in Sources */, + 29A8E32B1EF0476300AD2478 /* MeasureLocation.cpp in Sources */, + 29A8E7F41EF0476400AD2478 /* DegreeValueAttributes.cpp in Sources */, + 29A8FAD21EF0476D00AD2478 /* WithBarAttributes.cpp in Sources */, + 29A8F3FC1EF0476900AD2478 /* Play.cpp in Sources */, + 29A8E81C1EF0476400AD2478 /* DelayedTurnAttributes.cpp in Sources */, + 29A8E3C61EF0476300AD2478 /* Date.cpp in Sources */, + 29A8E3B21EF0476300AD2478 /* AttributesInterface.cpp in Sources */, + 29A8F7671EF0476B00AD2478 /* StickLocation.cpp in Sources */, + 29A8F30C1EF0476800AD2478 /* PartGroupAttributes.cpp in Sources */, + 29A8E9981EF0476400AD2478 /* Encoder.cpp in Sources */, + 29A8E48E1EF0476300AD2478 /* ActualNotes.cpp in Sources */, + 29A8EBA01EF0476500AD2478 /* GroupAbbreviationAttributes.cpp in Sources */, + 29A8E8B21EF0476400AD2478 /* DistanceAttributes.cpp in Sources */, + 29A8FBEA1EF0476E00AD2478 /* DynamicsReader.cpp in Sources */, + 29A8FD341EF0476E00AD2478 /* Utility.cpp in Sources */, + 29A8EF741EF0476700AD2478 /* MetronomeDot.cpp in Sources */, + 29A8F3B61EF0476900AD2478 /* PercussionAttributes.cpp in Sources */, + 29A8E7681EF0476400AD2478 /* Cue.cpp in Sources */, + 29A8E4E81EF0476300AD2478 /* ArrowStyle.cpp in Sources */, + 29A8F8251EF0476B00AD2478 /* SystemLayout.cpp in Sources */, + 29A8F3201EF0476800AD2478 /* PartList.cpp in Sources */, + 29A8E5E21EF0476300AD2478 /* BeatType.cpp in Sources */, + 29A8E8E41EF0476400AD2478 /* DoubleTongue.cpp in Sources */, + 29A8E90C1EF0476400AD2478 /* DynamicsAttributes.cpp in Sources */, + 29A8F37A1EF0476900AD2478 /* Pedal.cpp in Sources */, + 29A8F78F1EF0476B00AD2478 /* Stress.cpp in Sources */, + 29A8EC5E1EF0476500AD2478 /* HarmonicAttributes.cpp in Sources */, + 29A8F0F01EF0476700AD2478 /* NormalNotes.cpp in Sources */, + 29A8E9161EF0476400AD2478 /* EditorialGroup.cpp in Sources */, + 29A8ED301EF0476600AD2478 /* InstrumentAbbreviation.cpp in Sources */, + 29A8EF881EF0476700AD2478 /* MetronomeRelation.cpp in Sources */, + 29A8FAC81EF0476D00AD2478 /* WithBar.cpp in Sources */, + 29A8FCE91EF0476E00AD2478 /* TimeReader.cpp in Sources */, + 29A8F2F81EF0476800AD2478 /* PartAttributes.cpp in Sources */, + 29A8FAF01EF0476D00AD2478 /* Words.cpp in Sources */, + 29A8F7AD1EF0476B00AD2478 /* StringMute.cpp in Sources */, + 29A8EF101EF0476600AD2478 /* MeasureRepeatAttributes.cpp in Sources */, + 29A8FB901EF0476D00AD2478 /* Strings.cpp in Sources */, + 29A8E92A1EF0476400AD2478 /* EditorialVoiceGroup.cpp in Sources */, + 29A8F0001EF0476700AD2478 /* MidiName.cpp in Sources */, + 29A8E66E1EF0476300AD2478 /* BracketAttributes.cpp in Sources */, + 29A8F5371EF0476900AD2478 /* RootStep.cpp in Sources */, + 29A8F7991EF0476B00AD2478 /* String.cpp in Sources */, + 29A8FD701EF0476F00AD2478 /* PugiElementIterImpl.cpp in Sources */, + 29A8E4B61EF0476300AD2478 /* ArpeggiateAttributes.cpp in Sources */, + 29A8EF4C1EF0476700AD2478 /* Metronome.cpp in Sources */, + 29A8F5F51EF0476A00AD2478 /* Sign.cpp in Sources */, + 29A8F5EB1EF0476A00AD2478 /* Shake.cpp in Sources */, + 29A8F0D21EF0476700AD2478 /* NonTraditionalKey.cpp in Sources */, + 29A8F6451EF0476A00AD2478 /* SlurAttributes.cpp in Sources */, + 29A8FA961EF0476D00AD2478 /* Volume.cpp in Sources */, + 29A8F5191EF0476900AD2478 /* Root.cpp in Sources */, + 29A8E70E1EF0476400AD2478 /* Credit.cpp in Sources */, + 29A8E4701EF0476300AD2478 /* AccordionMiddle.cpp in Sources */, + 29A8EA061EF0476500AD2478 /* Extend.cpp in Sources */, + 29A8F1861EF0476800AD2478 /* NoteSizeAttributes.cpp in Sources */, + 29A8EC541EF0476500AD2478 /* Harmonic.cpp in Sources */, + 29A8E9481EF0476400AD2478 /* Elision.cpp in Sources */, + 29A8EF421EF0476700AD2478 /* Metal.cpp in Sources */, + 29A8F9FB1EF0476C00AD2478 /* TupletNumberAttributes.cpp in Sources */, + 29A8E9C01EF0476400AD2478 /* EncodingDate.cpp in Sources */, + 29A8EC041EF0476500AD2478 /* GroupNameDisplayAttributes.cpp in Sources */, + 29A8F6311EF0476A00AD2478 /* SlideAttributes.cpp in Sources */, + 29A8E5881EF0476300AD2478 /* BassStep.cpp in Sources */, + 29A8F96F1EF0476C00AD2478 /* Tremolo.cpp in Sources */, + 29A8E6AA1EF0476400AD2478 /* Capo.cpp in Sources */, + 29A8E6E61EF0476400AD2478 /* ClefOctaveChange.cpp in Sources */, + 29A8E9521EF0476400AD2478 /* ElisionAttributes.cpp in Sources */, + 29A8FC711EF0476E00AD2478 /* NoteWriter.cpp in Sources */, + 29A8E4481EF0476300AD2478 /* Accord.cpp in Sources */, + 29A8F8D91EF0476C00AD2478 /* TimeModification.cpp in Sources */, + 29A8F4651EF0476900AD2478 /* Print.cpp in Sources */, + 29A8FBC71EF0476D00AD2478 /* Cursor.cpp in Sources */, + 29A8F3F21EF0476900AD2478 /* Pitched.cpp in Sources */, + 29A8F8751EF0476B00AD2478 /* Text.cpp in Sources */, + 29A8E7B81EF0476400AD2478 /* DegreeAlter.cpp in Sources */, + 29A8E5B01EF0476300AD2478 /* Beater.cpp in Sources */, + 29A8F7F31EF0476B00AD2478 /* SupportsAttributes.cpp in Sources */, + 29A8F87F1EF0476B00AD2478 /* TextAttributes.cpp in Sources */, + 29A8E8D01EF0476400AD2478 /* Dot.cpp in Sources */, + 29A8EB821EF0476500AD2478 /* GraceNoteGroup.cpp in Sources */, + 29A8EEAC1EF0476600AD2478 /* LyricFontAttributes.cpp in Sources */, + 29A8F9F11EF0476C00AD2478 /* TupletNumber.cpp in Sources */, + 29A8E4AC1EF0476300AD2478 /* Arpeggiate.cpp in Sources */, + 29A8F2581EF0476800AD2478 /* OtherOrnamentAttributes.cpp in Sources */, + 29A8E7CC1EF0476400AD2478 /* DegreeAttributes.cpp in Sources */, + 29A8E7901EF0476400AD2478 /* Dashes.cpp in Sources */, + 29A8FC8F1EF0476E00AD2478 /* PartReader.cpp in Sources */, + 29A8EEFC1EF0476600AD2478 /* MeasureNumberingAttributes.cpp in Sources */, + 29A8E3E41EF0476300AD2478 /* DocumentHeader.cpp in Sources */, + 29A8EE021EF0476600AD2478 /* KeyStep.cpp in Sources */, + 29A8E6F01EF0476400AD2478 /* Coda.cpp in Sources */, + 29A8FC0D1EF0476E00AD2478 /* LayoutFunctions.cpp in Sources */, + 29A8E3DA1EF0476300AD2478 /* Document.cpp in Sources */, + 29A8EE7A1EF0476600AD2478 /* Link.cpp in Sources */, + 29A8F7531EF0476B00AD2478 /* Stick.cpp in Sources */, + 29A8F8931EF0476C00AD2478 /* Tie.cpp in Sources */, + 29A8F21C1EF0476800AD2478 /* OtherArticulationAttributes.cpp in Sources */, + 29A8EB8C1EF0476500AD2478 /* Group.cpp in Sources */, + 29A8FA8C1EF0476D00AD2478 /* Voice.cpp in Sources */, + 29A8F5AF1EF0476A00AD2478 /* ScorePartwiseAttributes.cpp in Sources */, + 29A8F8E31EF0476C00AD2478 /* TimeModificationNormalTypeNormalDot.cpp in Sources */, + 29A8F9151EF0476C00AD2478 /* Timpani.cpp in Sources */, + 29A8FBBD1EF0476D00AD2478 /* Converter.cpp in Sources */, + 29A8F43D1EF0476900AD2478 /* Prefix.cpp in Sources */, + 29A8F0461EF0476700AD2478 /* Mode.cpp in Sources */, + 29A8FBD61EF0476E00AD2478 /* DirectionReader.cpp in Sources */, + 29A8F8A71EF0476C00AD2478 /* Tied.cpp in Sources */, + 29A8EE661EF0476600AD2478 /* LineWidth.cpp in Sources */, + 29A8F4971EF0476900AD2478 /* Rehearsal.cpp in Sources */, + 29A8EF061EF0476600AD2478 /* MeasureRepeat.cpp in Sources */, + 29A8F64F1EF0476A00AD2478 /* SnapPizzicato.cpp in Sources */, + 29A8EBD21EF0476500AD2478 /* Grouping.cpp in Sources */, + 29A8FA641EF0476D00AD2478 /* VerticalTurn.cpp in Sources */, + 29A8ECFE1EF0476600AD2478 /* Humming.cpp in Sources */, + 29A8F4FB1EF0476900AD2478 /* RightMargin.cpp in Sources */, + 29A8F75D1EF0476B00AD2478 /* StickAttributes.cpp in Sources */, + 29A8FB401EF0476D00AD2478 /* FontSize.cpp in Sources */, + 29A8F5C31EF0476A00AD2478 /* ScoreTimewiseAttributes.cpp in Sources */, + 29A8F52D1EF0476900AD2478 /* RootAlterAttributes.cpp in Sources */, + 29A8E63C1EF0476300AD2478 /* BendChoice.cpp in Sources */, + 29A8FADC1EF0476D00AD2478 /* Wood.cpp in Sources */, + 29A8E5601EF0476300AD2478 /* BasePitch.cpp in Sources */, + 29A8EA921EF0476500AD2478 /* Fingering.cpp in Sources */, + 29A8F0281EF0476700AD2478 /* Miscellaneous.cpp in Sources */, + 29A8F1401EF0476700AD2478 /* NoteChoice.cpp in Sources */, + 29A8F61D1EF0476A00AD2478 /* SlashType.cpp in Sources */, + 29A8FCAD1EF0476E00AD2478 /* PropertiesWriter.cpp in Sources */, + 29A8E9D41EF0476500AD2478 /* Ending.cpp in Sources */, + 29A8F1AE1EF0476800AD2478 /* OctaveShiftAttributes.cpp in Sources */, + 29A8E4661EF0476300AD2478 /* AccordionLow.cpp in Sources */, + 29A8F9971EF0476C00AD2478 /* TuningAlter.cpp in Sources */, + 29A8E8581EF0476400AD2478 /* Directive.cpp in Sources */, + 29A8ED581EF0476600AD2478 /* InstrumentSound.cpp in Sources */, + 29A8EFCE1EF0476700AD2478 /* MidiDevice.cpp in Sources */, + 29A8F8391EF0476B00AD2478 /* Tap.cpp in Sources */, + 29A8F9C91EF0476C00AD2478 /* TupletAttributes.cpp in Sources */, + 29A8EC401EF0476500AD2478 /* Handbell.cpp in Sources */, + 29A8E6FA1EF0476400AD2478 /* Creator.cpp in Sources */, + 29A8E74A1EF0476400AD2478 /* CreditWords.cpp in Sources */, + 29A8F95B1EF0476C00AD2478 /* Transpose.cpp in Sources */, + 29A8E6641EF0476300AD2478 /* Bracket.cpp in Sources */, + 29A8F48D1EF0476900AD2478 /* PullOffAttributes.cpp in Sources */, + 29A8F8071EF0476B00AD2478 /* SyllabicTextGroup.cpp in Sources */, + 29A8E93E1EF0476400AD2478 /* Elevation.cpp in Sources */, + 29A8F7491EF0476B00AD2478 /* Step.cpp in Sources */, + 29A8F8611EF0476B00AD2478 /* Tenths.cpp in Sources */, + 29A8F42E1EF0476900AD2478 /* PreBend.cpp in Sources */, + 29A8ED621EF0476600AD2478 /* Interchangeable.cpp in Sources */, + 29A8EEF21EF0476600AD2478 /* MeasureNumbering.cpp in Sources */, + 29A8E59C1EF0476300AD2478 /* Beam.cpp in Sources */, + 29A8E6501EF0476300AD2478 /* BookmarkAttributes.cpp in Sources */, + 29A8FBB31EF0476D00AD2478 /* ArticulationsFunctions.cpp in Sources */, + 29A8EDEE1EF0476600AD2478 /* KeyOctave.cpp in Sources */, + 29A8F5731EF0476A00AD2478 /* ScoreHeaderGroup.cpp in Sources */, + 29A8F0B41EF0476700AD2478 /* Natural.cpp in Sources */, + 29A8E6781EF0476300AD2478 /* BreathMark.cpp in Sources */, + 29A8E31C1EF0476300AD2478 /* MarkData.cpp in Sources */, + 29A8F1041EF0476700AD2478 /* NormalTypeNormalDotGroup.cpp in Sources */, + 29A8EAEC1EF0476500AD2478 /* FrameAttributes.cpp in Sources */, + 29A8F2081EF0476800AD2478 /* OtherAppearanceAttributes.cpp in Sources */, + 29A8EC7C1EF0476500AD2478 /* Harmony.cpp in Sources */, + 29A8EC861EF0476500AD2478 /* HarmonyAttributes.cpp in Sources */, + 29A8FC531EF0476E00AD2478 /* NotationsWriter.cpp in Sources */, + 29A8F0141EF0476700AD2478 /* MidiUnpitched.cpp in Sources */, + 29A8F66D1EF0476A00AD2478 /* SoloOrEnsembleChoice.cpp in Sources */, + 29A8F6F91EF0476A00AD2478 /* StaffLines.cpp in Sources */, + 29A8F1D61EF0476800AD2478 /* Opus.cpp in Sources */, + 29A8E2D61EF0476300AD2478 /* ClefData.cpp in Sources */, + 29A8F84D1EF0476B00AD2478 /* Technical.cpp in Sources */, + 29A8F7171EF0476B00AD2478 /* StaffTuningAttributes.cpp in Sources */, + 29A8E42A1EF0476300AD2478 /* AccidentalMarkAttributes.cpp in Sources */, + 29A8F9DD1EF0476C00AD2478 /* TupletDotAttributes.cpp in Sources */, + 29A8E7041EF0476400AD2478 /* CreatorAttributes.cpp in Sources */, + 29A8F8111EF0476B00AD2478 /* SystemDistance.cpp in Sources */, + 29A8EF6A1EF0476700AD2478 /* MetronomeBeamAttributes.cpp in Sources */, + 29A8E3761EF0476300AD2478 /* Smufl.cpp in Sources */, + 29A8FB221EF0476D00AD2478 /* Elements.cpp in Sources */, + 29A8E4D41EF0476300AD2478 /* ArrowDirection.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -9166,666 +9112,667 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 29E8BF961DD2920C00E8CEBA /* ClefData.cpp in Sources */, - 29E8BF971DD2920C00E8CEBA /* DocumentManager.cpp in Sources */, - 29E8BF981DD2920C00E8CEBA /* DurationData.cpp in Sources */, - 29E8BF991DD2920C00E8CEBA /* MarkData.cpp in Sources */, - 29E8BF9A1DD2920C00E8CEBA /* MeasureLocation.cpp in Sources */, - 29E8BF9B1DD2920C00E8CEBA /* NoteData.cpp in Sources */, - 29E8BF9C1DD2920C00E8CEBA /* PitchData.cpp in Sources */, - 29E8BF9D1DD2920C00E8CEBA /* Smufl.cpp in Sources */, - 29E8BF9E1DD2920C00E8CEBA /* AttributesInterface.cpp in Sources */, - 29E8BF9F1DD2920C00E8CEBA /* Color.cpp in Sources */, - 29E8BFA01DD2920C00E8CEBA /* Date.cpp in Sources */, - 29E8BFA11DD2920C00E8CEBA /* Decimals.cpp in Sources */, - 29E8BFA21DD2920C00E8CEBA /* Document.cpp in Sources */, - 29E8BFA31DD2920C00E8CEBA /* DocumentHeader.cpp in Sources */, - 29E8BFA41DD2920C00E8CEBA /* DocumentSpec.cpp in Sources */, - 29E8BFA51DD2920C00E8CEBA /* ElementInterface.cpp in Sources */, - 29E8BFA61DD2920C00E8CEBA /* Accent.cpp in Sources */, - 29E8BFA71DD2920C00E8CEBA /* Accidental.cpp in Sources */, - 29E8BFA81DD2920C00E8CEBA /* AccidentalAttributes.cpp in Sources */, - 29E8BFA91DD2920C00E8CEBA /* AccidentalMark.cpp in Sources */, - 29E8BFAA1DD2920C00E8CEBA /* AccidentalMarkAttributes.cpp in Sources */, - 29E8BFAB1DD2920C00E8CEBA /* AccidentalText.cpp in Sources */, - 29E8BFAC1DD2920C00E8CEBA /* AccidentalTextAttributes.cpp in Sources */, - 29E8BFAD1DD2920C00E8CEBA /* Accord.cpp in Sources */, - 29E8BFAE1DD2920C00E8CEBA /* AccordAttributes.cpp in Sources */, - 29E8BFAF1DD2920C00E8CEBA /* AccordionHigh.cpp in Sources */, - 29E8BFB01DD2920C00E8CEBA /* AccordionLow.cpp in Sources */, - 29E8BFB11DD2920C00E8CEBA /* AccordionMiddle.cpp in Sources */, - 29E8BFB21DD2920C00E8CEBA /* AccordionRegistration.cpp in Sources */, - 29E8BFB31DD2920C00E8CEBA /* AccordionRegistrationAttributes.cpp in Sources */, - 29E8BFB41DD2920C00E8CEBA /* ActualNotes.cpp in Sources */, - 29E8BFB51DD2920C00E8CEBA /* Alter.cpp in Sources */, - 29E8BFB61DD2920C00E8CEBA /* Appearance.cpp in Sources */, - 29E8BFB71DD2920C00E8CEBA /* Arpeggiate.cpp in Sources */, - 29E8BFB81DD2920C00E8CEBA /* ArpeggiateAttributes.cpp in Sources */, - 29E8BFB91DD2920C00E8CEBA /* Arrow.cpp in Sources */, - 29E8BFBA1DD2920C00E8CEBA /* ArrowAttributes.cpp in Sources */, - 29E8BFBB1DD2920C00E8CEBA /* ArrowDirection.cpp in Sources */, - 29E8BFBC1DD2920C00E8CEBA /* ArrowGroup.cpp in Sources */, - 29E8BFBD1DD2920C00E8CEBA /* ArrowStyle.cpp in Sources */, - 29E8BFBE1DD2920C00E8CEBA /* Articulations.cpp in Sources */, - 29E8BFBF1DD2920C00E8CEBA /* ArticulationsChoice.cpp in Sources */, - 29E8BFC01DD2920C00E8CEBA /* Artificial.cpp in Sources */, - 29E8BFC11DD2920C00E8CEBA /* AttributesIterface.cpp in Sources */, - 29E8BFC21DD2920C00E8CEBA /* Backup.cpp in Sources */, - 29E8BFC31DD2920C00E8CEBA /* Barline.cpp in Sources */, - 29E8BFC41DD2920C00E8CEBA /* BarlineAttributes.cpp in Sources */, - 29E8BFC51DD2920C00E8CEBA /* Barre.cpp in Sources */, - 29E8BFC61DD2920C00E8CEBA /* BarreAttributes.cpp in Sources */, - 29E8BFC71DD2920C00E8CEBA /* BarStyle.cpp in Sources */, - 29E8BFC81DD2920C00E8CEBA /* BarStyleAttributes.cpp in Sources */, - 29E8BFC91DD2920C00E8CEBA /* BasePitch.cpp in Sources */, - 29E8BFCA1DD2920C00E8CEBA /* Bass.cpp in Sources */, - 29E8BFCB1DD2920C00E8CEBA /* BassAlter.cpp in Sources */, - 29E8BFCC1DD2920C00E8CEBA /* BassAlterAttributes.cpp in Sources */, - 29E8BFCD1DD2920C00E8CEBA /* BassStep.cpp in Sources */, - 29E8BFCE1DD2920C00E8CEBA /* BassStepAttributes.cpp in Sources */, - 29E8BFCF1DD2920C00E8CEBA /* Beam.cpp in Sources */, - 29E8BFD01DD2920C00E8CEBA /* BeamAttributes.cpp in Sources */, - 29E8BFD11DD2920C00E8CEBA /* Beater.cpp in Sources */, - 29E8BFD21DD2920C00E8CEBA /* BeaterAttributes.cpp in Sources */, - 29E8BFD31DD2920C00E8CEBA /* BeatRepeat.cpp in Sources */, - 29E8BFD41DD2920C00E8CEBA /* BeatRepeatAttributes.cpp in Sources */, - 29E8BFD51DD2920C00E8CEBA /* Beats.cpp in Sources */, - 29E8BFD61DD2920C00E8CEBA /* BeatType.cpp in Sources */, - 29E8BFD71DD2920C00E8CEBA /* BeatUnit.cpp in Sources */, - 29E8BFD81DD2920C00E8CEBA /* BeatUnitDot.cpp in Sources */, - 29E8BFD91DD2920C00E8CEBA /* BeatUnitGroup.cpp in Sources */, - 29E8BFDA1DD2920C00E8CEBA /* BeatUnitPer.cpp in Sources */, - 29E8BFDB1DD2920C00E8CEBA /* BeatUnitPerOrNoteRelationNoteChoice.cpp in Sources */, - 29E8BFDC1DD2920C00E8CEBA /* Bend.cpp in Sources */, - 29E8BFDD1DD2920C00E8CEBA /* BendAlter.cpp in Sources */, - 29E8BFDE1DD2920C00E8CEBA /* BendAttributes.cpp in Sources */, - 29E8BFDF1DD2920C00E8CEBA /* BendChoice.cpp in Sources */, - 29E8BFE01DD2920C00E8CEBA /* Bookmark.cpp in Sources */, - 29E8BFE11DD2920C00E8CEBA /* BookmarkAttributes.cpp in Sources */, - 29E8BFE21DD2920C00E8CEBA /* BottomMargin.cpp in Sources */, - 29E8BFE31DD2920C00E8CEBA /* Bracket.cpp in Sources */, - 29E8BFE41DD2920C00E8CEBA /* BracketAttributes.cpp in Sources */, - 29E8BFE51DD2920C00E8CEBA /* BreathMark.cpp in Sources */, - 29E8BFE61DD2920C00E8CEBA /* BreathMarkAttributes.cpp in Sources */, - 29E8BFE71DD2920C00E8CEBA /* Caesura.cpp in Sources */, - 29E8BFE81DD2920C00E8CEBA /* Cancel.cpp in Sources */, - 29E8BFE91DD2920C00E8CEBA /* CancelAttributes.cpp in Sources */, - 29E8BFEA1DD2920C00E8CEBA /* Capo.cpp in Sources */, - 29E8BFEB1DD2920C00E8CEBA /* Chord.cpp in Sources */, - 29E8BFEC1DD2920C00E8CEBA /* Chromatic.cpp in Sources */, - 29E8BFED1DD2920C00E8CEBA /* CircularArrow.cpp in Sources */, - 29E8BFEE1DD2920C00E8CEBA /* Clef.cpp in Sources */, - 29E8BFEF1DD2920C00E8CEBA /* ClefAttributes.cpp in Sources */, - 29E8BFF01DD2920C00E8CEBA /* ClefOctaveChange.cpp in Sources */, - 29E8BFF11DD2920C00E8CEBA /* Coda.cpp in Sources */, - 29E8BFF21DD2920C00E8CEBA /* Creator.cpp in Sources */, - 29E8BFF31DD2920C00E8CEBA /* CreatorAttributes.cpp in Sources */, - 29E8BFF41DD2920C00E8CEBA /* Credit.cpp in Sources */, - 29E8BFF51DD2920C00E8CEBA /* CreditAttributes.cpp in Sources */, - 29E8BFF61DD2920C00E8CEBA /* CreditChoice.cpp in Sources */, - 29E8BFF71DD2920C00E8CEBA /* CreditImage.cpp in Sources */, - 29E8BFF81DD2920C00E8CEBA /* CreditImageAttributes.cpp in Sources */, - 29E8BFF91DD2920C00E8CEBA /* CreditType.cpp in Sources */, - 29E8BFFA1DD2920C00E8CEBA /* CreditWords.cpp in Sources */, - 29E8BFFB1DD2920C00E8CEBA /* CreditWordsAttributes.cpp in Sources */, - 29E8BFFC1DD2920C00E8CEBA /* CreditWordsGroup.cpp in Sources */, - 29E8BFFD1DD2920C00E8CEBA /* Cue.cpp in Sources */, - 29E8BFFE1DD2920C00E8CEBA /* CueNoteGroup.cpp in Sources */, - 29E8BFFF1DD2920C00E8CEBA /* Damp.cpp in Sources */, - 29E8C0001DD2920C00E8CEBA /* DampAll.cpp in Sources */, - 29E8C0011DD2920C00E8CEBA /* Dashes.cpp in Sources */, - 29E8C0021DD2920C00E8CEBA /* DashesAttributes.cpp in Sources */, - 29E8C0031DD2920C00E8CEBA /* Defaults.cpp in Sources */, - 29E8C0041DD2920C00E8CEBA /* Degree.cpp in Sources */, - 29E8C0051DD2920C00E8CEBA /* DegreeAlter.cpp in Sources */, - 29E8C0061DD2920C00E8CEBA /* DegreeAlterAttributes.cpp in Sources */, - 29E8C0071DD2920C00E8CEBA /* DegreeAttributes.cpp in Sources */, - 29E8C0081DD2920C00E8CEBA /* DegreeType.cpp in Sources */, - 29E8C0091DD2920C00E8CEBA /* DegreeTypeAttributes.cpp in Sources */, - 29E8C00A1DD2920C00E8CEBA /* DegreeValue.cpp in Sources */, - 29E8C00B1DD2920C00E8CEBA /* DegreeValueAttributes.cpp in Sources */, - 29E8C00C1DD2920C00E8CEBA /* DelayedInvertedTurn.cpp in Sources */, - 29E8C00D1DD2920C00E8CEBA /* DelayedInvertedTurnAttributes.cpp in Sources */, - 29E8C00E1DD2920C00E8CEBA /* DelayedTurn.cpp in Sources */, - 29E8C00F1DD2920C00E8CEBA /* DelayedTurnAttributes.cpp in Sources */, - 29E8C0101DD2920C00E8CEBA /* DetachedLegato.cpp in Sources */, - 29E8C0111DD2920C00E8CEBA /* Diatonic.cpp in Sources */, - 29E8C0121DD2920C00E8CEBA /* Direction.cpp in Sources */, - 29E8C0131DD2920C00E8CEBA /* DirectionAttributes.cpp in Sources */, - 29E8C0141DD2920C00E8CEBA /* DirectionType.cpp in Sources */, - 29E8C0151DD2920C00E8CEBA /* Directive.cpp in Sources */, - 29E8C0161DD2920C00E8CEBA /* DirectiveAttributes.cpp in Sources */, - 29E8C0171DD2920C00E8CEBA /* DisplayOctave.cpp in Sources */, - 29E8C0181DD2920C00E8CEBA /* DisplayStep.cpp in Sources */, - 29E8C0191DD2920C00E8CEBA /* DisplayStepOctaveGroup.cpp in Sources */, - 29E8C01A1DD2920C00E8CEBA /* DisplayText.cpp in Sources */, - 29E8C01B1DD2920C00E8CEBA /* DisplayTextAttributes.cpp in Sources */, - 29E8C01C1DD2920C00E8CEBA /* DisplayTextOrAccidentalText.cpp in Sources */, - 29E8C01D1DD2920C00E8CEBA /* Distance.cpp in Sources */, - 29E8C01E1DD2920C00E8CEBA /* DistanceAttributes.cpp in Sources */, - 29E8C01F1DD2920C00E8CEBA /* Divisions.cpp in Sources */, - 29E8C0201DD2920C00E8CEBA /* Doit.cpp in Sources */, - 29E8C0211DD2920C00E8CEBA /* Dot.cpp in Sources */, - 29E8C0221DD2920C00E8CEBA /* Double.cpp in Sources */, - 29E8C0231DD2920C00E8CEBA /* DoubleTongue.cpp in Sources */, - 29E8C0241DD2920C00E8CEBA /* DownBow.cpp in Sources */, - 29E8C0251DD2920C00E8CEBA /* Duration.cpp in Sources */, - 29E8C0261DD2920C00E8CEBA /* Dynamics.cpp in Sources */, - 29E8C0271DD2920C00E8CEBA /* DynamicsAttributes.cpp in Sources */, - 29E8C0281DD2920C00E8CEBA /* EditorialGroup.cpp in Sources */, - 29E8C0291DD2920C00E8CEBA /* EditorialVoiceDirectionGroup.cpp in Sources */, - 29E8C02A1DD2920C00E8CEBA /* EditorialVoiceGroup.cpp in Sources */, - 29E8C02B1DD2920C00E8CEBA /* Effect.cpp in Sources */, - 29E8C02C1DD2920C00E8CEBA /* Elevation.cpp in Sources */, - 29E8C02D1DD2920C00E8CEBA /* Elision.cpp in Sources */, - 29E8C02E1DD2920C00E8CEBA /* ElisionAttributes.cpp in Sources */, - 29E8C02F1DD2920C00E8CEBA /* ElisionSyllabicGroup.cpp in Sources */, - 29E8C0301DD2920C00E8CEBA /* ElisionSyllabicTextGroup.cpp in Sources */, - 29E8C0311DD2920C00E8CEBA /* EmptyFontAttributes.cpp in Sources */, - 29E8C0321DD2920C00E8CEBA /* EmptyLineAttributes.cpp in Sources */, - 29E8C0331DD2920C00E8CEBA /* EmptyPlacementAttributes.cpp in Sources */, - 29E8C0341DD2920C00E8CEBA /* EmptyTrillSoundAttributes.cpp in Sources */, - 29E8C0351DD2920C00E8CEBA /* Encoder.cpp in Sources */, - 29E8C0361DD2920C00E8CEBA /* EncoderAttributes.cpp in Sources */, - 29E8C0371DD2920C00E8CEBA /* Encoding.cpp in Sources */, - 29E8C0381DD2920C00E8CEBA /* EncodingChoice.cpp in Sources */, - 29E8C0391DD2920C00E8CEBA /* EncodingDate.cpp in Sources */, - 29E8C03A1DD2920C00E8CEBA /* EncodingDescription.cpp in Sources */, - 29E8C03B1DD2920C00E8CEBA /* Ending.cpp in Sources */, - 29E8C03C1DD2920C00E8CEBA /* EndingAttributes.cpp in Sources */, - 29E8C03D1DD2920C00E8CEBA /* EndLine.cpp in Sources */, - 29E8C03E1DD2920C00E8CEBA /* EndParagraph.cpp in Sources */, - 29E8C03F1DD2920C00E8CEBA /* Ensemble.cpp in Sources */, - 29E8C0401DD2920C00E8CEBA /* Extend.cpp in Sources */, - 29E8C0411DD2920C00E8CEBA /* ExtendAttributes.cpp in Sources */, - 29E8C0421DD2920C00E8CEBA /* Eyeglasses.cpp in Sources */, - 29E8C0431DD2920C00E8CEBA /* Falloff.cpp in Sources */, - 29E8C0441DD2920C00E8CEBA /* Feature.cpp in Sources */, - 29E8C0451DD2920C00E8CEBA /* FeatureAttributes.cpp in Sources */, - 29E8C0461DD2920C00E8CEBA /* Fermata.cpp in Sources */, - 29E8C0471DD2920C00E8CEBA /* FermataAttributes.cpp in Sources */, - 29E8C0481DD2920C00E8CEBA /* Fifths.cpp in Sources */, - 29E8C0491DD2920C00E8CEBA /* Figure.cpp in Sources */, - 29E8C04A1DD2920C00E8CEBA /* FiguredBass.cpp in Sources */, - 29E8C04B1DD2920C00E8CEBA /* FiguredBassAttributes.cpp in Sources */, - 29E8C04C1DD2920C00E8CEBA /* FigureNumber.cpp in Sources */, - 29E8C04D1DD2920C00E8CEBA /* FigureNumberAttributes.cpp in Sources */, - 29E8C04E1DD2920C00E8CEBA /* Fingering.cpp in Sources */, - 29E8C04F1DD2920C00E8CEBA /* FingeringAttributes.cpp in Sources */, - 29E8C0501DD2920C00E8CEBA /* Fingernails.cpp in Sources */, - 29E8C0511DD2920C00E8CEBA /* FirstFret.cpp in Sources */, - 29E8C0521DD2920C00E8CEBA /* FirstFretAttributes.cpp in Sources */, - 29E8C0531DD2920C00E8CEBA /* Footnote.cpp in Sources */, - 29E8C0541DD2920C00E8CEBA /* FootnoteAttributes.cpp in Sources */, - 29E8C0551DD2920C00E8CEBA /* Forward.cpp in Sources */, - 29E8C0561DD2920C00E8CEBA /* Frame.cpp in Sources */, - 29E8C0571DD2920C00E8CEBA /* FrameAttributes.cpp in Sources */, - 29E8C0581DD2920C00E8CEBA /* FrameFrets.cpp in Sources */, - 29E8C0591DD2920C00E8CEBA /* FrameNote.cpp in Sources */, - 29E8C05A1DD2920C00E8CEBA /* FrameStrings.cpp in Sources */, - 29E8C05B1DD2920C00E8CEBA /* Fret.cpp in Sources */, - 29E8C05C1DD2920C00E8CEBA /* FretAttributes.cpp in Sources */, - 29E8C05D1DD2920C00E8CEBA /* FullNoteGroup.cpp in Sources */, - 29E8C05E1DD2920C00E8CEBA /* FullNoteTypeChoice.cpp in Sources */, - 29E8C05F1DD2920C00E8CEBA /* Function.cpp in Sources */, - 29E8C0601DD2920C00E8CEBA /* FunctionAttributes.cpp in Sources */, - 29E8C0611DD2920C00E8CEBA /* Glass.cpp in Sources */, - 29E8C0621DD2920C00E8CEBA /* Glissando.cpp in Sources */, - 29E8C0631DD2920C00E8CEBA /* GlissandoAttributes.cpp in Sources */, - 29E8C0641DD2920C00E8CEBA /* Grace.cpp in Sources */, - 29E8C0651DD2920C00E8CEBA /* GraceAttributes.cpp in Sources */, - 29E8C0661DD2920C00E8CEBA /* GraceNoteGroup.cpp in Sources */, - 29E8C0671DD2920C00E8CEBA /* Group.cpp in Sources */, - 29E8C0681DD2920C00E8CEBA /* GroupAbbreviation.cpp in Sources */, - 29E8C0691DD2920C00E8CEBA /* GroupAbbreviationAttributes.cpp in Sources */, - 29E8C06A1DD2920C00E8CEBA /* GroupAbbreviationDisplay.cpp in Sources */, - 29E8C06B1DD2920C00E8CEBA /* GroupAbbreviationDisplayAttributes.cpp in Sources */, - 29E8C06C1DD2920C00E8CEBA /* GroupBarline.cpp in Sources */, - 29E8C06D1DD2920C00E8CEBA /* GroupBarlineAttributes.cpp in Sources */, - 29E8C06E1DD2920C00E8CEBA /* Grouping.cpp in Sources */, - 29E8C06F1DD2920C00E8CEBA /* GroupingAttributes.cpp in Sources */, - 29E8C0701DD2920C00E8CEBA /* GroupName.cpp in Sources */, - 29E8C0711DD2920C00E8CEBA /* GroupNameAttributes.cpp in Sources */, - 29E8C0721DD2920C00E8CEBA /* GroupNameDisplay.cpp in Sources */, - 29E8C0731DD2920C00E8CEBA /* GroupNameDisplayAttributes.cpp in Sources */, - 29E8C0741DD2920C00E8CEBA /* GroupSymbol.cpp in Sources */, - 29E8C0751DD2920C00E8CEBA /* GroupSymbolAttributes.cpp in Sources */, - 29E8C0761DD2920C00E8CEBA /* GroupTime.cpp in Sources */, - 29E8C0771DD2920C00E8CEBA /* HammerOn.cpp in Sources */, - 29E8C0781DD2920C00E8CEBA /* HammerOnAttributes.cpp in Sources */, - 29E8C0791DD2920C00E8CEBA /* Handbell.cpp in Sources */, - 29E8C07A1DD2920C00E8CEBA /* HandbellAttributes.cpp in Sources */, - 29A16F861EB10CDB00D59278 /* PreciseDecimal.cpp in Sources */, - 29E8C07B1DD2920C00E8CEBA /* Harmonic.cpp in Sources */, - 29E8C07C1DD2920C00E8CEBA /* HarmonicAttributes.cpp in Sources */, - 29E8C07D1DD2920C00E8CEBA /* HarmonicInfoChoice.cpp in Sources */, - 29E8C07E1DD2920C00E8CEBA /* HarmonicTypeChoice.cpp in Sources */, - 29E8C07F1DD2920C00E8CEBA /* Harmony.cpp in Sources */, - 29E8C0801DD2920C00E8CEBA /* HarmonyAttributes.cpp in Sources */, - 29E8C0811DD2920C00E8CEBA /* HarmonyChordGroup.cpp in Sources */, - 29E8C0821DD2920C00E8CEBA /* HarpPedals.cpp in Sources */, - 29E8C0831DD2920C00E8CEBA /* HarpPedalsAttributes.cpp in Sources */, - 29E8C0841DD2920C00E8CEBA /* Heel.cpp in Sources */, - 29E8C0851DD2920C00E8CEBA /* HeelAttributes.cpp in Sources */, - 29E8C0861DD2920C00E8CEBA /* Hole.cpp in Sources */, - 29E8C0871DD2920C00E8CEBA /* HoleAttributes.cpp in Sources */, - 29E8C0881DD2920C00E8CEBA /* HoleClosed.cpp in Sources */, - 2983E3E21EB4303C007FCC34 /* ScoreData.cpp in Sources */, - 29E8C0891DD2920C00E8CEBA /* HoleClosedAttributes.cpp in Sources */, - 29E8C08A1DD2920C00E8CEBA /* HoleShape.cpp in Sources */, - 29E8C08B1DD2920C00E8CEBA /* HoleType.cpp in Sources */, - 29E8C08C1DD2920C00E8CEBA /* Humming.cpp in Sources */, - 29E8C08D1DD2920C00E8CEBA /* Identification.cpp in Sources */, - 29E8C08E1DD2920C00E8CEBA /* Image.cpp in Sources */, - 29E8C08F1DD2920C00E8CEBA /* ImageAttributes.cpp in Sources */, - 29E8C0901DD2920C00E8CEBA /* Instrument.cpp in Sources */, - 29E8C0911DD2920C00E8CEBA /* InstrumentAbbreviation.cpp in Sources */, - 29E8C0921DD2920C00E8CEBA /* InstrumentAttributes.cpp in Sources */, - 29E8C0931DD2920C00E8CEBA /* InstrumentName.cpp in Sources */, - 29E8C0941DD2920C00E8CEBA /* Instruments.cpp in Sources */, - 29E8C0951DD2920C00E8CEBA /* InstrumentSound.cpp in Sources */, - 29E8C0961DD2920C00E8CEBA /* Interchangeable.cpp in Sources */, - 29E8C0971DD2920C00E8CEBA /* InterchangeableAttributes.cpp in Sources */, - 29E8C0981DD2920C00E8CEBA /* Inversion.cpp in Sources */, - 29E8C0991DD2920C00E8CEBA /* InversionAttributes.cpp in Sources */, - 29E8C09A1DD2920C00E8CEBA /* InvertedMordent.cpp in Sources */, - 29E8C09B1DD2920C00E8CEBA /* InvertedMordentAttributes.cpp in Sources */, - 29E8C09C1DD2920C00E8CEBA /* InvertedTurn.cpp in Sources */, - 29E8C09D1DD2920C00E8CEBA /* InvertedTurnAttributes.cpp in Sources */, - 29E8C09E1DD2920C00E8CEBA /* Ipa.cpp in Sources */, - 29E8C09F1DD2920C00E8CEBA /* Key.cpp in Sources */, - 29E8C0A01DD2920C00E8CEBA /* KeyAccidental.cpp in Sources */, - 29E8C0A11DD2920C00E8CEBA /* KeyAlter.cpp in Sources */, - 29E8C0A21DD2920C00E8CEBA /* KeyAttributes.cpp in Sources */, - 29E8C0A31DD2920C00E8CEBA /* KeyChoice.cpp in Sources */, - 29E8C0A41DD2920C00E8CEBA /* KeyOctave.cpp in Sources */, - 29E8C0A51DD2920C00E8CEBA /* KeyOctaveAttributes.cpp in Sources */, - 29E8C0A61DD2920C00E8CEBA /* KeyStep.cpp in Sources */, - 29E8C0A71DD2920C00E8CEBA /* Kind.cpp in Sources */, - 29E8C0A81DD2920C00E8CEBA /* KindAttributes.cpp in Sources */, - 29E8C0A91DD2920C00E8CEBA /* Laughing.cpp in Sources */, - 29E8C0AA1DD2920C00E8CEBA /* LayoutGroup.cpp in Sources */, - 29E8C0AB1DD2920C00E8CEBA /* LeftDivider.cpp in Sources */, - 29E8C0AC1DD2920C00E8CEBA /* LeftMargin.cpp in Sources */, - 29E8C0AD1DD2920C00E8CEBA /* Level.cpp in Sources */, - 29E8C0AE1DD2920C00E8CEBA /* LevelAttributes.cpp in Sources */, - 29E8C0AF1DD2920C00E8CEBA /* Line.cpp in Sources */, - 29E8C0B01DD2920C00E8CEBA /* LineWidth.cpp in Sources */, - 29E8C0B11DD2920C00E8CEBA /* LineWidthAttributes.cpp in Sources */, - 29E8C0B21DD2920C00E8CEBA /* Link.cpp in Sources */, - 29E8C0B31DD2920C00E8CEBA /* LinkAttributes.cpp in Sources */, - 29E8C0B41DD2920C00E8CEBA /* Lyric.cpp in Sources */, - 29E8C0B51DD2920C00E8CEBA /* LyricAttributes.cpp in Sources */, - 29E8C0B61DD2920C00E8CEBA /* LyricFont.cpp in Sources */, - 29E8C0B71DD2920C00E8CEBA /* LyricFontAttributes.cpp in Sources */, - 29E8C0B81DD2920C00E8CEBA /* LyricLanguage.cpp in Sources */, - 29E8C0B91DD2920C00E8CEBA /* LyricLanguageAttributes.cpp in Sources */, - 29E8C0BA1DD2920C00E8CEBA /* LyricTextChoice.cpp in Sources */, - 29E8C0BB1DD2920C00E8CEBA /* MeasureAttributes.cpp in Sources */, - 29E8C0BC1DD2920C00E8CEBA /* MeasureDistance.cpp in Sources */, - 29E8C0BD1DD2920C00E8CEBA /* MeasureLayout.cpp in Sources */, - 29E8C0BE1DD2920C00E8CEBA /* MeasureNumbering.cpp in Sources */, - 29E8C0BF1DD2920C00E8CEBA /* MeasureNumberingAttributes.cpp in Sources */, - 29E8C0C01DD2920C00E8CEBA /* MeasureRepeat.cpp in Sources */, - 29E8C0C11DD2920C00E8CEBA /* MeasureRepeatAttributes.cpp in Sources */, - 29E8C0C21DD2920C00E8CEBA /* MeasureStyle.cpp in Sources */, - 29E8C0C31DD2920C00E8CEBA /* MeasureStyleAttributes.cpp in Sources */, - 29E8C0C41DD2920C00E8CEBA /* MeasureStyleChoice.cpp in Sources */, - 29E8C0C51DD2920C00E8CEBA /* Membrane.cpp in Sources */, - 29E8C0C61DD2920C00E8CEBA /* Metal.cpp in Sources */, - 29E8C0C71DD2920C00E8CEBA /* Metronome.cpp in Sources */, - 29E8C0C81DD2920C00E8CEBA /* MetronomeAttributes.cpp in Sources */, - 29E8C0C91DD2920C00E8CEBA /* MetronomeBeam.cpp in Sources */, - 29E8C0CA1DD2920C00E8CEBA /* MetronomeBeamAttributes.cpp in Sources */, - 29E8C0CB1DD2920C00E8CEBA /* MetronomeDot.cpp in Sources */, - 29E8C0CC1DD2920C00E8CEBA /* MetronomeNote.cpp in Sources */, - 29E8C0CD1DD2920C00E8CEBA /* MetronomeRelation.cpp in Sources */, - 29E8C0CE1DD2920C00E8CEBA /* MetronomeRelationGroup.cpp in Sources */, - 29E8C0CF1DD2920C00E8CEBA /* MetronomeTuplet.cpp in Sources */, - 29E8C0D01DD2920C00E8CEBA /* MetronomeTupletAttributes.cpp in Sources */, - 29E8C0D11DD2920C00E8CEBA /* MetronomeType.cpp in Sources */, - 29E8C0D21DD2920C00E8CEBA /* MidiBank.cpp in Sources */, - 29E8C0D31DD2920C00E8CEBA /* MidiChannel.cpp in Sources */, - 29E8C0D41DD2920C00E8CEBA /* MidiDevice.cpp in Sources */, - 29E8C0D51DD2920C00E8CEBA /* MidiDeviceAttributes.cpp in Sources */, - 29E8C0D61DD2920C00E8CEBA /* MidiDeviceInstrumentGroup.cpp in Sources */, - 29E8C0D71DD2920C00E8CEBA /* MidiInstrument.cpp in Sources */, - 29E8C0D81DD2920C00E8CEBA /* MidiInstrumentAttributes.cpp in Sources */, - 29E8C0D91DD2920C00E8CEBA /* MidiName.cpp in Sources */, - 29E8C0DA1DD2920C00E8CEBA /* MidiProgram.cpp in Sources */, - 29E8C0DB1DD2920C00E8CEBA /* MidiUnpitched.cpp in Sources */, - 29E8C0DC1DD2920C00E8CEBA /* Millimeters.cpp in Sources */, - 29E8C0DD1DD2920C00E8CEBA /* Miscellaneous.cpp in Sources */, - 29E8C0DE1DD2920C00E8CEBA /* MiscellaneousField.cpp in Sources */, - 29E8C0DF1DD2920C00E8CEBA /* MiscellaneousFieldAttributes.cpp in Sources */, - 29E8C0E01DD2920C00E8CEBA /* Mode.cpp in Sources */, - 29E8C0E11DD2920C00E8CEBA /* Mordent.cpp in Sources */, - 29E8C0E21DD2920C00E8CEBA /* MordentAttributes.cpp in Sources */, - 29E8C0E31DD2920C00E8CEBA /* MovementNumber.cpp in Sources */, - 29E8C0E41DD2920C00E8CEBA /* MovementTitle.cpp in Sources */, - 29E8C0E51DD2920C00E8CEBA /* MultipleRest.cpp in Sources */, - 29E8C0E61DD2920C00E8CEBA /* MultipleRestAttributes.cpp in Sources */, - 29E8C0E71DD2920C00E8CEBA /* MusicDataChoice.cpp in Sources */, - 29E8C0E81DD2920C00E8CEBA /* MusicDataGroup.cpp in Sources */, - 29E8C0E91DD2920C00E8CEBA /* MusicFont.cpp in Sources */, - 29E8C0EA1DD2920C00E8CEBA /* Mute.cpp in Sources */, - 29E8C0EB1DD2920C00E8CEBA /* Natural.cpp in Sources */, - 29E8C0EC1DD2920C00E8CEBA /* NonArpeggiate.cpp in Sources */, - 29E8C0ED1DD2920C00E8CEBA /* NonArpeggiateAttributes.cpp in Sources */, - 29E8C0EE1DD2920C00E8CEBA /* NonTraditionalKey.cpp in Sources */, - 29E8C0EF1DD2920C00E8CEBA /* NormalDot.cpp in Sources */, - 29E8C0F01DD2920C00E8CEBA /* NormalNoteGroup.cpp in Sources */, - 29E8C0F11DD2920C00E8CEBA /* NormalNotes.cpp in Sources */, - 29E8C0F21DD2920C00E8CEBA /* NormalType.cpp in Sources */, - 29E8C0F31DD2920C00E8CEBA /* NormalTypeNormalDotGroup.cpp in Sources */, - 29E8C0F41DD2920C00E8CEBA /* Notations.cpp in Sources */, - 29E8C0F51DD2920C00E8CEBA /* NotationsAttributes.cpp in Sources */, - 29E8C0F61DD2920C00E8CEBA /* NotationsChoice.cpp in Sources */, - 29E8C0F71DD2920C00E8CEBA /* Note.cpp in Sources */, - 29E8C0F81DD2920C00E8CEBA /* NoteAttributes.cpp in Sources */, - 29E8C0F91DD2920C00E8CEBA /* NoteChoice.cpp in Sources */, - 29E8C0FA1DD2920C00E8CEBA /* Notehead.cpp in Sources */, - 29E8C0FB1DD2920C00E8CEBA /* NoteheadAttributes.cpp in Sources */, - 29E8C0FC1DD2920C00E8CEBA /* NoteheadText.cpp in Sources */, - 29E8C0FD1DD2920C00E8CEBA /* NoteheadTextChoice.cpp in Sources */, - 29E8C0FE1DD2920C00E8CEBA /* NoteRelationNote.cpp in Sources */, - 29E8C0FF1DD2920C00E8CEBA /* NoteSize.cpp in Sources */, - 29E8C1001DD2920C00E8CEBA /* NoteSizeAttributes.cpp in Sources */, - 29E8C1011DD2920C00E8CEBA /* Octave.cpp in Sources */, - 29E8C1021DD2920C00E8CEBA /* OctaveChange.cpp in Sources */, - 29E8C1031DD2920C00E8CEBA /* OctaveShift.cpp in Sources */, - 29E8C1041DD2920C00E8CEBA /* OctaveShiftAttributes.cpp in Sources */, - 29E8C1051DD2920C00E8CEBA /* Offset.cpp in Sources */, - 29E8C1061DD2920C00E8CEBA /* OffsetAttributes.cpp in Sources */, - 29E8C1071DD2920C00E8CEBA /* OpenString.cpp in Sources */, - 29E8C1081DD2920C00E8CEBA /* Opus.cpp in Sources */, - 29E8C1091DD2920C00E8CEBA /* OpusAttributes.cpp in Sources */, - 29E8C10A1DD2920C00E8CEBA /* Ornaments.cpp in Sources */, - 29E8C10B1DD2920C00E8CEBA /* OrnamentsChoice.cpp in Sources */, - 29E8C10C1DD2920C00E8CEBA /* OtherAppearance.cpp in Sources */, - 29E8C10D1DD2920C00E8CEBA /* OtherAppearanceAttributes.cpp in Sources */, - 29E8C10E1DD2920C00E8CEBA /* OtherArticulation.cpp in Sources */, - 29E8C10F1DD2920C00E8CEBA /* OtherArticulationAttributes.cpp in Sources */, - 29E8C1101DD2920C00E8CEBA /* OtherDirection.cpp in Sources */, - 29E8C1111DD2920C00E8CEBA /* OtherDirectionAttributes.cpp in Sources */, - 29E8C1121DD2920C00E8CEBA /* OtherNotation.cpp in Sources */, - 29E8C1131DD2920C00E8CEBA /* OtherNotationAttributes.cpp in Sources */, - 29E8C1141DD2920C00E8CEBA /* OtherOrnament.cpp in Sources */, - 29E8C1151DD2920C00E8CEBA /* OtherOrnamentAttributes.cpp in Sources */, - 29E8C1161DD2920C00E8CEBA /* OtherPercussion.cpp in Sources */, - 29E8C1171DD2920C00E8CEBA /* OtherPlay.cpp in Sources */, - 29E8C1181DD2920C00E8CEBA /* OtherPlayAttributes.cpp in Sources */, - 29E8C1191DD2920C00E8CEBA /* OtherTechnical.cpp in Sources */, - 29E8C11A1DD2920C00E8CEBA /* OtherTechnicalAttributes.cpp in Sources */, - 29E8C11B1DD2920C00E8CEBA /* PageHeight.cpp in Sources */, - 29E8C11C1DD2920C00E8CEBA /* PageLayout.cpp in Sources */, - 29E8C11D1DD2920C00E8CEBA /* PageMargins.cpp in Sources */, - 29E8C11E1DD2920C00E8CEBA /* PageMarginsAttributes.cpp in Sources */, - 29E8C11F1DD2920C00E8CEBA /* PageWidth.cpp in Sources */, - 29E8C1201DD2920C00E8CEBA /* Pan.cpp in Sources */, - 29E8C1211DD2920C00E8CEBA /* PartAbbreviation.cpp in Sources */, - 29E8C1221DD2920C00E8CEBA /* PartAbbreviationAttributes.cpp in Sources */, - 29E8C1231DD2920C00E8CEBA /* PartAbbreviationDisplay.cpp in Sources */, - 29E8C1241DD2920C00E8CEBA /* PartAbbreviationDisplayAttributes.cpp in Sources */, - 29E8C1251DD2920C00E8CEBA /* PartAttributes.cpp in Sources */, - 29E8C1261DD2920C00E8CEBA /* PartGroup.cpp in Sources */, - 29E8C1271DD2920C00E8CEBA /* PartGroupAttributes.cpp in Sources */, - 29E8C1281DD2920C00E8CEBA /* PartGroupOrScorePart.cpp in Sources */, - 29E8C1291DD2920C00E8CEBA /* PartList.cpp in Sources */, - 29E8C12A1DD2920C00E8CEBA /* PartName.cpp in Sources */, - 29E8C12B1DD2920C00E8CEBA /* PartNameAttributes.cpp in Sources */, - 29E8C12C1DD2920C00E8CEBA /* PartNameDisplay.cpp in Sources */, - 29E8C12D1DD2920C00E8CEBA /* PartNameDisplayAttributes.cpp in Sources */, - 29E8C12E1DD2920C00E8CEBA /* PartSymbol.cpp in Sources */, - 29E8C12F1DD2920C00E8CEBA /* PartSymbolAttributes.cpp in Sources */, - 29E8C1301DD2920C00E8CEBA /* PartwiseMeasure.cpp in Sources */, - 29E8C1311DD2920C00E8CEBA /* PartwisePart.cpp in Sources */, - 29E8C1321DD2920C00E8CEBA /* Pedal.cpp in Sources */, - 29E8C1331DD2920C00E8CEBA /* PedalAlter.cpp in Sources */, - 29E8C1341DD2920C00E8CEBA /* PedalAttributes.cpp in Sources */, - 29E8C1351DD2920C00E8CEBA /* PedalStep.cpp in Sources */, - 29E8C1361DD2920C00E8CEBA /* PedalTuning.cpp in Sources */, - 29E8C1371DD2920C00E8CEBA /* Percussion.cpp in Sources */, - 29E8C1381DD2920C00E8CEBA /* PercussionAttributes.cpp in Sources */, - 29E8C1391DD2920C00E8CEBA /* PercussionChoice.cpp in Sources */, - 29E8C13A1DD2920C00E8CEBA /* PerMinute.cpp in Sources */, - 29E8C13B1DD2920C00E8CEBA /* PerMinuteAttributes.cpp in Sources */, - 29E8C13C1DD2920C00E8CEBA /* PerMinuteOrBeatUnitChoice.cpp in Sources */, - 29E8C13D1DD2920C00E8CEBA /* Pitch.cpp in Sources */, - 29E8C13E1DD2920C00E8CEBA /* Pitched.cpp in Sources */, - 29E8C13F1DD2920C00E8CEBA /* Play.cpp in Sources */, - 29E8C1401DD2920C00E8CEBA /* PlayAttributes.cpp in Sources */, - 29E8C1411DD2920C00E8CEBA /* Plop.cpp in Sources */, - 29E8C1421DD2920C00E8CEBA /* Pluck.cpp in Sources */, - 29E8C1431DD2920C00E8CEBA /* PluckAttributes.cpp in Sources */, - 29E8C1441DD2920C00E8CEBA /* PreBend.cpp in Sources */, - 29E8C1451DD2920C00E8CEBA /* Prefix.cpp in Sources */, - 29E8C1461DD2920C00E8CEBA /* PrefixAttributes.cpp in Sources */, - 29E8C1471DD2920C00E8CEBA /* PrincipalVoice.cpp in Sources */, - 29E8C1481DD2920C00E8CEBA /* PrincipalVoiceAttributes.cpp in Sources */, - 29E8C1491DD2920C00E8CEBA /* Print.cpp in Sources */, - 29E8C14A1DD2920C00E8CEBA /* PrintAttributes.cpp in Sources */, - 29E8C14B1DD2920C00E8CEBA /* Properties.cpp in Sources */, - 29E8C14C1DD2920C00E8CEBA /* PullOff.cpp in Sources */, - 29E8C14D1DD2920C00E8CEBA /* PullOffAttributes.cpp in Sources */, - 29E8C14E1DD2920C00E8CEBA /* Rehearsal.cpp in Sources */, - 29E8C14F1DD2920C00E8CEBA /* RehearsalAttributes.cpp in Sources */, - 29E8C1501DD2920C00E8CEBA /* Relation.cpp in Sources */, - 29E8C1511DD2920C00E8CEBA /* RelationAttributes.cpp in Sources */, - 29E8C1521DD2920C00E8CEBA /* Release.cpp in Sources */, - 29E8C1531DD2920C00E8CEBA /* Repeat.cpp in Sources */, - 29E8C1541DD2920C00E8CEBA /* RepeatAttributes.cpp in Sources */, - 29E8C1551DD2920C00E8CEBA /* Rest.cpp in Sources */, - 29E8C1561DD2920C00E8CEBA /* RestAttributes.cpp in Sources */, - 29E8C1571DD2920C00E8CEBA /* RightDivider.cpp in Sources */, - 29E8C1581DD2920C00E8CEBA /* RightMargin.cpp in Sources */, - 29E8C1591DD2920C00E8CEBA /* Rights.cpp in Sources */, - 29E8C15A1DD2920C00E8CEBA /* RightsAttributes.cpp in Sources */, - 29E8C15B1DD2920C00E8CEBA /* Root.cpp in Sources */, - 29E8C15C1DD2920C00E8CEBA /* RootAlter.cpp in Sources */, - 29E8C15D1DD2920C00E8CEBA /* RootAlterAttributes.cpp in Sources */, - 29E8C15E1DD2920C00E8CEBA /* RootStep.cpp in Sources */, - 29E8C15F1DD2920C00E8CEBA /* RootStepAttributes.cpp in Sources */, - 29E8C1601DD2920C00E8CEBA /* Scaling.cpp in Sources */, - 29E8C1611DD2920C00E8CEBA /* Schleifer.cpp in Sources */, - 29E8C1621DD2920C00E8CEBA /* Scoop.cpp in Sources */, - 29E8C1631DD2920C00E8CEBA /* Scordatura.cpp in Sources */, - 29E8C1641DD2920C00E8CEBA /* ScoreHeaderGroup.cpp in Sources */, - 29E8C1651DD2920C00E8CEBA /* ScoreInstrument.cpp in Sources */, - 29E8C1661DD2920C00E8CEBA /* ScoreInstrumentAttributes.cpp in Sources */, - 29E8C1671DD2920C00E8CEBA /* ScorePart.cpp in Sources */, - 29E8C1681DD2920C00E8CEBA /* ScorePartAttributes.cpp in Sources */, - 29E8C1691DD2920C00E8CEBA /* ScorePartwise.cpp in Sources */, - 29E8C16A1DD2920C00E8CEBA /* ScorePartwiseAttributes.cpp in Sources */, - 29E8C16B1DD2920C00E8CEBA /* ScoreTimewise.cpp in Sources */, - 29E8C16C1DD2920C00E8CEBA /* ScoreTimewiseAttributes.cpp in Sources */, - 29E8C16D1DD2920C00E8CEBA /* Segno.cpp in Sources */, - 29E8C16E1DD2920C00E8CEBA /* SemiPitched.cpp in Sources */, - 29E8C16F1DD2920C00E8CEBA /* SenzaMisura.cpp in Sources */, - 29E8C1701DD2920C00E8CEBA /* Shake.cpp in Sources */, - 29E8C1711DD2920C00E8CEBA /* Sign.cpp in Sources */, - 29E8C1721DD2920C00E8CEBA /* Slash.cpp in Sources */, - 29E8C1731DD2920C00E8CEBA /* SlashAttributes.cpp in Sources */, - 29E8C1741DD2920C00E8CEBA /* SlashDot.cpp in Sources */, - 29E8C1751DD2920C00E8CEBA /* SlashType.cpp in Sources */, - 29E8C1761DD2920C00E8CEBA /* Slide.cpp in Sources */, - 29E8C1771DD2920C00E8CEBA /* SlideAttributes.cpp in Sources */, - 29E8C1781DD2920C00E8CEBA /* Slur.cpp in Sources */, - 29E8C1791DD2920C00E8CEBA /* SlurAttributes.cpp in Sources */, - 29E8C17A1DD2920C00E8CEBA /* SnapPizzicato.cpp in Sources */, - 29E8C17B1DD2920C00E8CEBA /* Software.cpp in Sources */, - 29E8C17C1DD2920C00E8CEBA /* Solo.cpp in Sources */, - 29E8C17D1DD2920C00E8CEBA /* SoloOrEnsembleChoice.cpp in Sources */, - 29E8C17E1DD2920C00E8CEBA /* Sound.cpp in Sources */, - 29E8C17F1DD2920C00E8CEBA /* SoundAttributes.cpp in Sources */, - 29E8C1801DD2920C00E8CEBA /* SoundingPitch.cpp in Sources */, - 29E8C1811DD2920C00E8CEBA /* Source.cpp in Sources */, - 29E8C1821DD2920C00E8CEBA /* Spiccato.cpp in Sources */, - 29E8C1831DD2920C00E8CEBA /* Staccatissimo.cpp in Sources */, - 29E8C1841DD2920C00E8CEBA /* Staccato.cpp in Sources */, - 29E8C1851DD2920C00E8CEBA /* Staff.cpp in Sources */, - 29E8C1861DD2920C00E8CEBA /* StaffDetails.cpp in Sources */, - 29E8C1871DD2920C00E8CEBA /* StaffDetailsAttributes.cpp in Sources */, - 29E8C1881DD2920C00E8CEBA /* StaffDistance.cpp in Sources */, - 29E8C1891DD2920C00E8CEBA /* StaffLayout.cpp in Sources */, - 29E8C18A1DD2920C00E8CEBA /* StaffLayoutAttributes.cpp in Sources */, - 29E8C18B1DD2920C00E8CEBA /* StaffLines.cpp in Sources */, - 29E8C18C1DD2920C00E8CEBA /* StaffSize.cpp in Sources */, - 292C3ADD1E8B13FD001A0CB9 /* WordsData.cpp in Sources */, - 29E8C18D1DD2920C00E8CEBA /* StaffTuning.cpp in Sources */, - 29E8C18E1DD2920C00E8CEBA /* StaffTuningAttributes.cpp in Sources */, - 29E8C18F1DD2920C00E8CEBA /* StaffType.cpp in Sources */, - 29E8C1901DD2920C00E8CEBA /* Staves.cpp in Sources */, - 29E8C1911DD2920C00E8CEBA /* Stem.cpp in Sources */, - 29E8C1921DD2920C00E8CEBA /* StemAttributes.cpp in Sources */, - 29E8C1931DD2920C00E8CEBA /* Step.cpp in Sources */, - 29E8C1941DD2920C00E8CEBA /* Stick.cpp in Sources */, - 29E8C1951DD2920C00E8CEBA /* StickAttributes.cpp in Sources */, - 29E8C1961DD2920C00E8CEBA /* StickLocation.cpp in Sources */, - 29E8C1971DD2920C00E8CEBA /* StickMaterial.cpp in Sources */, - 29E8C1981DD2920C00E8CEBA /* StickType.cpp in Sources */, - 29E8C1991DD2920C00E8CEBA /* Stopped.cpp in Sources */, - 29E8C19A1DD2920C00E8CEBA /* Stress.cpp in Sources */, - 29E8C19B1DD2920C00E8CEBA /* String.cpp in Sources */, - 29E8C19C1DD2920C00E8CEBA /* StringAttributes.cpp in Sources */, - 29E8C19D1DD2920C00E8CEBA /* StringMute.cpp in Sources */, - 29E8C19E1DD2920C00E8CEBA /* StringMuteAttributes.cpp in Sources */, - 29E8C19F1DD2920C00E8CEBA /* StrongAccent.cpp in Sources */, - 29E8C1A01DD2920C00E8CEBA /* StrongAccentAttributes.cpp in Sources */, - 29E8C1A11DD2920C00E8CEBA /* Suffix.cpp in Sources */, - 29E8C1A21DD2920C00E8CEBA /* SuffixAttributes.cpp in Sources */, - 29E8C1A31DD2920C00E8CEBA /* Supports.cpp in Sources */, - 29E8C1A41DD2920C00E8CEBA /* SupportsAttributes.cpp in Sources */, - 29E8C1A51DD2920C00E8CEBA /* Syllabic.cpp in Sources */, - 29E8C1A61DD2920C00E8CEBA /* SyllabicTextGroup.cpp in Sources */, - 29E8C1A71DD2920C00E8CEBA /* SystemDistance.cpp in Sources */, - 29E8C1A81DD2920C00E8CEBA /* SystemDividers.cpp in Sources */, - 29E8C1A91DD2920C00E8CEBA /* SystemLayout.cpp in Sources */, - 29E8C1AA1DD2920C00E8CEBA /* SystemMargins.cpp in Sources */, - 29E8C1AB1DD2920C00E8CEBA /* Tap.cpp in Sources */, - 29E8C1AC1DD2920C00E8CEBA /* TapAttributes.cpp in Sources */, - 29E8C1AD1DD2920C00E8CEBA /* Technical.cpp in Sources */, - 29E8C1AE1DD2920C00E8CEBA /* TechnicalChoice.cpp in Sources */, - 29E8C1AF1DD2920C00E8CEBA /* Tenths.cpp in Sources */, - 29E8C1B01DD2920C00E8CEBA /* Tenuto.cpp in Sources */, - 29E8C1B11DD2920C00E8CEBA /* Text.cpp in Sources */, - 29E8C1B21DD2920C00E8CEBA /* TextAttributes.cpp in Sources */, - 29E8C1B31DD2920C00E8CEBA /* ThumbPosition.cpp in Sources */, - 29E8C1B41DD2920C00E8CEBA /* Tie.cpp in Sources */, - 29E8C1B51DD2920C00E8CEBA /* TieAttributes.cpp in Sources */, - 29E8C1B61DD2920C00E8CEBA /* Tied.cpp in Sources */, - 29E8C1B71DD2920C00E8CEBA /* TiedAttributes.cpp in Sources */, - 29E8C1B81DD2920C00E8CEBA /* Time.cpp in Sources */, - 29E8C1B91DD2920C00E8CEBA /* TimeAttributes.cpp in Sources */, - 29E8C1BA1DD2920C00E8CEBA /* TimeChoice.cpp in Sources */, - 29E8C1BB1DD2920C00E8CEBA /* TimeModification.cpp in Sources */, - 29E8C1BC1DD2920C00E8CEBA /* TimeModificationNormalTypeNormalDot.cpp in Sources */, - 29E8C1BD1DD2920C00E8CEBA /* TimeRelation.cpp in Sources */, - 29E8C1BE1DD2920C00E8CEBA /* TimeSignatureGroup.cpp in Sources */, - 29E8C1BF1DD2920C00E8CEBA /* TimewiseMeasure.cpp in Sources */, - 29E8C1C01DD2920C00E8CEBA /* TimewisePart.cpp in Sources */, - 29E8C1C11DD2920C00E8CEBA /* Timpani.cpp in Sources */, - 29E8C1C21DD2920C00E8CEBA /* Toe.cpp in Sources */, - 29E8C1C31DD2920C00E8CEBA /* ToeAttributes.cpp in Sources */, - 29E8C1C41DD2920C00E8CEBA /* TopMargin.cpp in Sources */, - 29E8C1C51DD2920C00E8CEBA /* TopSystemDistance.cpp in Sources */, - 29E8C1C61DD2920C00E8CEBA /* TouchingPitch.cpp in Sources */, - 29E8C1C71DD2920C00E8CEBA /* TraditionalKey.cpp in Sources */, - 29E8C1C81DD2920C00E8CEBA /* Transpose.cpp in Sources */, - 29E8C1C91DD2920C00E8CEBA /* TransposeAttributes.cpp in Sources */, - 29E8C1CA1DD2920C00E8CEBA /* Tremolo.cpp in Sources */, - 29E8C1CB1DD2920C00E8CEBA /* TremoloAttributes.cpp in Sources */, - 29E8C1CC1DD2920C00E8CEBA /* TrillMark.cpp in Sources */, - 29E8C1CD1DD2920C00E8CEBA /* TripleTongue.cpp in Sources */, - 29E8C1CE1DD2920C00E8CEBA /* TuningAlter.cpp in Sources */, - 29E8C1CF1DD2920C00E8CEBA /* TuningOctave.cpp in Sources */, - 29E8C1D01DD2920C00E8CEBA /* TuningStep.cpp in Sources */, - 29E8C1D11DD2920C00E8CEBA /* Tuplet.cpp in Sources */, - 29E8C1D21DD2920C00E8CEBA /* TupletActual.cpp in Sources */, - 29E8C1D31DD2920C00E8CEBA /* TupletAttributes.cpp in Sources */, - 29E8C1D41DD2920C00E8CEBA /* TupletDot.cpp in Sources */, - 29E8C1D51DD2920C00E8CEBA /* TupletDotAttributes.cpp in Sources */, - 29E8C1D61DD2920C00E8CEBA /* TupletNormal.cpp in Sources */, - 29E8C1D71DD2920C00E8CEBA /* TupletNumber.cpp in Sources */, - 29E8C1D81DD2920C00E8CEBA /* TupletNumberAttributes.cpp in Sources */, - 29E8C1D91DD2920C00E8CEBA /* TupletType.cpp in Sources */, - 29E8C1DA1DD2920C00E8CEBA /* TupletTypeAttributes.cpp in Sources */, - 29E8C1DB1DD2920C00E8CEBA /* Turn.cpp in Sources */, - 29E8C1DC1DD2920C00E8CEBA /* TurnAttributes.cpp in Sources */, - 29E8C1DD1DD2920C00E8CEBA /* Type.cpp in Sources */, - 29E8C1DE1DD2920C00E8CEBA /* TypeAttributes.cpp in Sources */, - 29E8C1DF1DD2920C00E8CEBA /* Unpitched.cpp in Sources */, - 29E8C1E01DD2920C00E8CEBA /* Unstress.cpp in Sources */, - 29E8C1E11DD2920C00E8CEBA /* UpBow.cpp in Sources */, - 29E8C1E21DD2920C00E8CEBA /* VerticalTurn.cpp in Sources */, - 29E8C1E31DD2920C00E8CEBA /* VirtualInstrument.cpp in Sources */, - 29E8C1E41DD2920C00E8CEBA /* VirtualLibrary.cpp in Sources */, - 29E8C1E51DD2920C00E8CEBA /* VirtualName.cpp in Sources */, - 29E8C1E61DD2920C00E8CEBA /* Voice.cpp in Sources */, - 29E8C1E71DD2920C00E8CEBA /* Volume.cpp in Sources */, - 29E8C1E81DD2920C00E8CEBA /* WavyLine.cpp in Sources */, - 29E8C1E91DD2920C00E8CEBA /* WavyLineAttributes.cpp in Sources */, - 29E8C1EA1DD2920C00E8CEBA /* Wedge.cpp in Sources */, - 29E8C1EB1DD2920C00E8CEBA /* WedgeAttributes.cpp in Sources */, - 29E8C1EC1DD2920C00E8CEBA /* WithBar.cpp in Sources */, - 29E8C1ED1DD2920C00E8CEBA /* WithBarAttributes.cpp in Sources */, - 29E8C1EE1DD2920C00E8CEBA /* Wood.cpp in Sources */, - 29E8C1EF1DD2920C00E8CEBA /* WordFont.cpp in Sources */, - 29E8C1F01DD2920C00E8CEBA /* Words.cpp in Sources */, - 29E8C1F11DD2920C00E8CEBA /* WordsAttributes.cpp in Sources */, - 29E8C1F21DD2920C00E8CEBA /* Work.cpp in Sources */, - 29E8C1F31DD2920C00E8CEBA /* WorkNumber.cpp in Sources */, - 29E8C1F41DD2920C00E8CEBA /* WorkTitle.cpp in Sources */, - 29E8C1F51DD2920C00E8CEBA /* EmptyPrintObjectStyleAlignAttributes.cpp in Sources */, - 29E8C1F61DD2920C00E8CEBA /* Enums.cpp in Sources */, - 29E8C1F71DD2920C00E8CEBA /* FontSize.cpp in Sources */, - 29E8C1F81DD2920C00E8CEBA /* FromXElement.cpp in Sources */, - 29E8C1F91DD2920C00E8CEBA /* Integers.cpp in Sources */, - 29E8C1FA1DD2920C00E8CEBA /* NumberOrNormal.cpp in Sources */, - 29E8C1FB1DD2920C00E8CEBA /* PositiveIntegerOrEmpty.cpp in Sources */, - 29E8C1FC1DD2920C00E8CEBA /* ScoreConversions.cpp in Sources */, - 29E8C1FD1DD2920C00E8CEBA /* Strings.cpp in Sources */, - 29E8C1FE1DD2920C00E8CEBA /* YesNoNumber.cpp in Sources */, - 29E8C1FF1DD2920C00E8CEBA /* DynamicsWriter.cpp in Sources */, - 29E8C2001DD2920C00E8CEBA /* AccidentalMarkFunctions.cpp in Sources */, - 29E8C2011DD2920C00E8CEBA /* ArticulationsFunctions.cpp in Sources */, - 29E8C2021DD2920C00E8CEBA /* Converter.cpp in Sources */, - 29E8C2031DD2920C00E8CEBA /* Cursor.cpp in Sources */, - 29E8C2041DD2920C00E8CEBA /* DirectionReader.cpp in Sources */, - 29E8C2051DD2920C00E8CEBA /* DirectionWriter.cpp in Sources */, - 29E8C2061DD2920C00E8CEBA /* DynamicsReader.cpp in Sources */, - 29E8C2071DD2920C00E8CEBA /* EncodingFunctions.cpp in Sources */, - 29E8C2081DD2920C00E8CEBA /* LayoutFunctions.cpp in Sources */, - 29E8C2091DD2920C00E8CEBA /* LcmGcd.cpp in Sources */, - 29E8C20A1DD2920C00E8CEBA /* MeasureReader.cpp in Sources */, - 29E8C20B1DD2920C00E8CEBA /* MeasureWriter.cpp in Sources */, - 29E8C20C1DD2920C00E8CEBA /* MetronomeReader.cpp in Sources */, - 29E8C20D1DD2920C00E8CEBA /* NotationsWriter.cpp in Sources */, - 29E8C20E1DD2920C00E8CEBA /* NoteFunctions.cpp in Sources */, - 29E8C20F1DD2920C00E8CEBA /* NoteReader.cpp in Sources */, - 29E8C2101DD2920C00E8CEBA /* NoteWriter.cpp in Sources */, - 29E8C2111DD2920C00E8CEBA /* OrnamentsFunctions.cpp in Sources */, - 29E8C2121DD2920C00E8CEBA /* PageTextFunctions.cpp in Sources */, - 29E8C2131DD2920C00E8CEBA /* PartReader.cpp in Sources */, - 29E8C2141DD2920C00E8CEBA /* PartWriter.cpp in Sources */, - 29E8C2151DD2920C00E8CEBA /* PropertiesWriter.cpp in Sources */, - 29E8C2161DD2920C00E8CEBA /* ScoreReader.cpp in Sources */, - 29E8C2171DD2920C00E8CEBA /* ScoreWriter.cpp in Sources */, - 29E8C2181DD2920C00E8CEBA /* StaffFunctions.cpp in Sources */, - 29E8C2191DD2920C00E8CEBA /* TechnicalFunctions.cpp in Sources */, - 29E8C21A1DD2920C00E8CEBA /* TimeReader.cpp in Sources */, - 29E8C21B1DD2920C00E8CEBA /* TupletReader.cpp in Sources */, - 29E8C21C1DD2920C00E8CEBA /* pugixml.cpp in Sources */, - 29E8C21D1DD2920C00E8CEBA /* Utility.cpp in Sources */, - 29E8C21E1DD2920C00E8CEBA /* UtilityImpl.cpp in Sources */, - 29E8C21F1DD2920C00E8CEBA /* PugiAttribute.cpp in Sources */, - 29E8C2201DD2920C00E8CEBA /* PugiAttributeIterImpl.cpp in Sources */, - 29E8C2211DD2920C00E8CEBA /* PugiDoc.cpp in Sources */, - 29E8C2221DD2920C00E8CEBA /* PugiElement.cpp in Sources */, - 29E8C2231DD2920C00E8CEBA /* PugiElementIterImpl.cpp in Sources */, - 29E8C2241DD2920C00E8CEBA /* XAttributeIterator.cpp in Sources */, - 29E8C2251DD2920C00E8CEBA /* XElementIterator.cpp in Sources */, - 29E8C2261DD2920C00E8CEBA /* XFactory.cpp in Sources */, + 29A8F2391EF0476800AD2478 /* OtherNotation.cpp in Sources */, + 29A8F2431EF0476800AD2478 /* OtherNotationAttributes.cpp in Sources */, + 29A8E2F81EF0476300AD2478 /* DurationData.cpp in Sources */, + 29A8EE3D1EF0476600AD2478 /* LeftMargin.cpp in Sources */, + 29A8EAF51EF0476500AD2478 /* FrameFrets.cpp in Sources */, + 29A8EE331EF0476600AD2478 /* LeftDivider.cpp in Sources */, + 29A8F03B1EF0476700AD2478 /* MiscellaneousFieldAttributes.cpp in Sources */, + 29A8E3BB1EF0476300AD2478 /* Color.cpp in Sources */, + 29A8FA131EF0476C00AD2478 /* TupletTypeAttributes.cpp in Sources */, + 29A8F0091EF0476700AD2478 /* MidiProgram.cpp in Sources */, + 29A8EE5B1EF0476600AD2478 /* Line.cpp in Sources */, + 29A8E8611EF0476400AD2478 /* DirectiveAttributes.cpp in Sources */, + 29A8F6761EF0476A00AD2478 /* Sound.cpp in Sources */, + 29A8EAE11EF0476500AD2478 /* Frame.cpp in Sources */, + 29A8F01D1EF0476700AD2478 /* Millimeters.cpp in Sources */, + 29A8E6951EF0476300AD2478 /* Cancel.cpp in Sources */, + 29A8E5371EF0476300AD2478 /* Barre.cpp in Sources */, + 29A8F91E1EF0476C00AD2478 /* Toe.cpp in Sources */, + 29A8EB3B1EF0476500AD2478 /* Function.cpp in Sources */, + 29A8E6DB1EF0476400AD2478 /* ClefAttributes.cpp in Sources */, + 29A8EB271EF0476500AD2478 /* FullNoteGroup.cpp in Sources */, + 29A8F7021EF0476B00AD2478 /* StaffSize.cpp in Sources */, + 29A8E41F1EF0476300AD2478 /* AccidentalMark.cpp in Sources */, + 29A8EFE11EF0476700AD2478 /* MidiDeviceInstrumentGroup.cpp in Sources */, + 29A8E73F1EF0476400AD2478 /* CreditType.cpp in Sources */, + 29A8F0E51EF0476700AD2478 /* NormalNoteGroup.cpp in Sources */, + 29A8FB0D1EF0476D00AD2478 /* WorkNumber.cpp in Sources */, + 29A8EFD71EF0476700AD2478 /* MidiDeviceAttributes.cpp in Sources */, + 29A8EAA51EF0476500AD2478 /* Fingernails.cpp in Sources */, + 29A8ED6B1EF0476600AD2478 /* InterchangeableAttributes.cpp in Sources */, + 29A8E9011EF0476400AD2478 /* Dynamics.cpp in Sources */, + 29A8EC211EF0476500AD2478 /* GroupTime.cpp in Sources */, + 29A8FA771EF0476D00AD2478 /* VirtualLibrary.cpp in Sources */, + 29A8EA4B1EF0476500AD2478 /* FermataAttributes.cpp in Sources */, + 29A8F6D01EF0476A00AD2478 /* StaffDetailsAttributes.cpp in Sources */, + 29A8F5E01EF0476A00AD2478 /* SenzaMisura.cpp in Sources */, + 29A8EAC31EF0476500AD2478 /* Footnote.cpp in Sources */, + 29A8E3F71EF0476300AD2478 /* ElementInterface.cpp in Sources */, + 29A8F70C1EF0476B00AD2478 /* StaffTuning.cpp in Sources */, + 29A8E5411EF0476300AD2478 /* BarreAttributes.cpp in Sources */, + 29A8F1671EF0476800AD2478 /* NoteheadTextChoice.cpp in Sources */, + 29A8E8111EF0476400AD2478 /* DelayedTurn.cpp in Sources */, + 29A8EB591EF0476500AD2478 /* Glissando.cpp in Sources */, + 29A8F06D1EF0476700AD2478 /* MovementTitle.cpp in Sources */, + 29A8E95B1EF0476400AD2478 /* ElisionSyllabicGroup.cpp in Sources */, + 29A8EA2D1EF0476500AD2478 /* Feature.cpp in Sources */, + 29A8EC351EF0476500AD2478 /* HammerOnAttributes.cpp in Sources */, + 29A8F4461EF0476900AD2478 /* PrefixAttributes.cpp in Sources */, + 29A8E6591EF0476300AD2478 /* BottomMargin.cpp in Sources */, + 29A8F0771EF0476700AD2478 /* MultipleRest.cpp in Sources */, + 29A8E45B1EF0476300AD2478 /* AccordionHigh.cpp in Sources */, + 29A8EB1D1EF0476500AD2478 /* FretAttributes.cpp in Sources */, + 29A8E5731EF0476300AD2478 /* BassAlter.cpp in Sources */, + 29A8EE971EF0476600AD2478 /* LyricAttributes.cpp in Sources */, + 29A8F2611EF0476800AD2478 /* OtherPercussion.cpp in Sources */, + 29A8E9F11EF0476500AD2478 /* EndParagraph.cpp in Sources */, + 29A8F6E41EF0476A00AD2478 /* StaffLayout.cpp in Sources */, + 29A8F0631EF0476700AD2478 /* MovementNumber.cpp in Sources */, + 29A8F4B41EF0476900AD2478 /* RelationAttributes.cpp in Sources */, + 29A8F2E31EF0476800AD2478 /* PartAbbreviationDisplay.cpp in Sources */, + 29A8E5051EF0476300AD2478 /* Artificial.cpp in Sources */, + 29A8EA9B1EF0476500AD2478 /* FingeringAttributes.cpp in Sources */, + 29A8F7B61EF0476B00AD2478 /* StringMuteAttributes.cpp in Sources */, + 29A8E7AD1EF0476400AD2478 /* Degree.cpp in Sources */, + 29A8F3471EF0476800AD2478 /* PartNameDisplayAttributes.cpp in Sources */, + 29A8E89D1EF0476400AD2478 /* DisplayTextOrAccidentalText.cpp in Sources */, + 29A8FB7B1EF0476D00AD2478 /* PreciseDecimal.cpp in Sources */, + 29A8EF911EF0476700AD2478 /* MetronomeRelationGroup.cpp in Sources */, + 29A8F4E61EF0476900AD2478 /* RestAttributes.cpp in Sources */, + 29A8EF371EF0476700AD2478 /* Membrane.cpp in Sources */, + 29A8ED7F1EF0476600AD2478 /* InversionAttributes.cpp in Sources */, + 29A8EEC91EF0476600AD2478 /* LyricTextChoice.cpp in Sources */, + 29A8E6131EF0476300AD2478 /* BeatUnitPerOrNoteRelationNoteChoice.cpp in Sources */, + 29A8FCC01EF0476E00AD2478 /* ScoreWriter.cpp in Sources */, + 29A8F22F1EF0476800AD2478 /* OtherDirectionAttributes.cpp in Sources */, + 29A8F9821EF0476C00AD2478 /* TrillMark.cpp in Sources */, + 29A8EEDD1EF0476600AD2478 /* MeasureDistance.cpp in Sources */, + 29A8F2251EF0476800AD2478 /* OtherDirection.cpp in Sources */, + 29A8FC161EF0476E00AD2478 /* LcmGcd.cpp in Sources */, + 29A8F3831EF0476900AD2478 /* PedalAlter.cpp in Sources */, + 29A8F81A1EF0476B00AD2478 /* SystemDividers.cpp in Sources */, + 29A8FD9C1EF0476F00AD2478 /* XElementIterator.cpp in Sources */, + 29A8E8ED1EF0476400AD2478 /* DownBow.cpp in Sources */, + 29A8F7E81EF0476B00AD2478 /* Supports.cpp in Sources */, + 29A8F4D21EF0476900AD2478 /* RepeatAttributes.cpp in Sources */, + 29A8F3651EF0476900AD2478 /* PartwiseMeasure.cpp in Sources */, + 29A8FAE51EF0476D00AD2478 /* WordFont.cpp in Sources */, + 29A8EA231EF0476500AD2478 /* Falloff.cpp in Sources */, + 29A8ECA31EF0476600AD2478 /* HarpPedalsAttributes.cpp in Sources */, + 29A8EBA91EF0476500AD2478 /* GroupAbbreviationDisplay.cpp in Sources */, + 29A8E9DD1EF0476500AD2478 /* EndingAttributes.cpp in Sources */, + 29A8F8CE1EF0476C00AD2478 /* TimeChoice.cpp in Sources */, + 29A8E5FF1EF0476300AD2478 /* BeatUnitGroup.cpp in Sources */, + 29A8EA691EF0476500AD2478 /* FiguredBass.cpp in Sources */, + 29A8F0951EF0476700AD2478 /* MusicDataGroup.cpp in Sources */, + 29A8F5541EF0476A00AD2478 /* Schleifer.cpp in Sources */, + 29A8EBC71EF0476500AD2478 /* GroupBarlineAttributes.cpp in Sources */, + 29A8EF9B1EF0476700AD2478 /* MetronomeTuplet.cpp in Sources */, + 29A8F7841EF0476B00AD2478 /* Stopped.cpp in Sources */, + 29A8F9001EF0476C00AD2478 /* TimewiseMeasure.cpp in Sources */, + 29A8F6581EF0476A00AD2478 /* Software.cpp in Sources */, + 29A8F1711EF0476800AD2478 /* NoteRelationNote.cpp in Sources */, + 29A8E4BF1EF0476300AD2478 /* Arrow.cpp in Sources */, + 29A8F29D1EF0476800AD2478 /* PageLayout.cpp in Sources */, + 29A8F08B1EF0476700AD2478 /* MusicDataChoice.cpp in Sources */, + 29A8F7FC1EF0476B00AD2478 /* Syllabic.cpp in Sources */, + 29A8F8BA1EF0476C00AD2478 /* Time.cpp in Sources */, + 29A8E3A71EF0476300AD2478 /* WordsData.cpp in Sources */, + 29A8ED751EF0476600AD2478 /* Inversion.cpp in Sources */, + 29A8EAB91EF0476500AD2478 /* FirstFretAttributes.cpp in Sources */, + 29A8E5551EF0476300AD2478 /* BarStyleAttributes.cpp in Sources */, + 29A8E5191EF0476300AD2478 /* Backup.cpp in Sources */, + 29A8E84D1EF0476400AD2478 /* DirectionType.cpp in Sources */, + 29A8FCD41EF0476E00AD2478 /* StaffFunctions.cpp in Sources */, + 29A8FBDF1EF0476E00AD2478 /* DirectionWriter.cpp in Sources */, + 29A8F18F1EF0476800AD2478 /* Octave.cpp in Sources */, + 29A8EFC31EF0476700AD2478 /* MidiChannel.cpp in Sources */, + 29A8FD471EF0476E00AD2478 /* PugiAttribute.cpp in Sources */, + 29A8F6261EF0476A00AD2478 /* Slide.cpp in Sources */, + 29A8E8751EF0476400AD2478 /* DisplayStep.cpp in Sources */, + 29A8F6801EF0476A00AD2478 /* SoundAttributes.cpp in Sources */, + 29A8E7711EF0476400AD2478 /* CueNoteGroup.cpp in Sources */, + 29A8F2751EF0476800AD2478 /* OtherPlayAttributes.cpp in Sources */, + 29A8EE831EF0476600AD2478 /* LinkAttributes.cpp in Sources */, + 29A8EDBB1EF0476600AD2478 /* Key.cpp in Sources */, + 29A8F4231EF0476900AD2478 /* PluckAttributes.cpp in Sources */, + 29A8EB451EF0476500AD2478 /* FunctionAttributes.cpp in Sources */, + 29A8EF7D1EF0476700AD2478 /* MetronomeNote.cpp in Sources */, + 29A8F4191EF0476900AD2478 /* Pluck.cpp in Sources */, + 29A8E8891EF0476400AD2478 /* DisplayText.cpp in Sources */, + 29A8E3CF1EF0476300AD2478 /* Decimals.cpp in Sources */, + 29A8F9461EF0476C00AD2478 /* TouchingPitch.cpp in Sources */, + 29A8E8A71EF0476400AD2478 /* Distance.cpp in Sources */, + 29A8ECC11EF0476600AD2478 /* Hole.cpp in Sources */, + 29A8F4DC1EF0476900AD2478 /* Rest.cpp in Sources */, + 29A8EF551EF0476700AD2478 /* MetronomeAttributes.cpp in Sources */, + 29A8FA6D1EF0476D00AD2478 /* VirtualInstrument.cpp in Sources */, + 29A8E6B31EF0476400AD2478 /* Chord.cpp in Sources */, + 29A8E9791EF0476400AD2478 /* EmptyLineAttributes.cpp in Sources */, + 29A8F1CB1EF0476800AD2478 /* OpenString.cpp in Sources */, + 29A8EF2D1EF0476700AD2478 /* MeasureStyleChoice.cpp in Sources */, + 29A8FB5D1EF0476D00AD2478 /* Integers.cpp in Sources */, + 29A8F4821EF0476900AD2478 /* PullOff.cpp in Sources */, + 29A8F15D1EF0476800AD2478 /* NoteheadText.cpp in Sources */, + 29A8E7D51EF0476400AD2478 /* DegreeType.cpp in Sources */, + 29A8F3A11EF0476900AD2478 /* PedalTuning.cpp in Sources */, + 29A8F93C1EF0476C00AD2478 /* TopSystemDistance.cpp in Sources */, + 29A8F2111EF0476800AD2478 /* OtherArticulation.cpp in Sources */, + 29A8F82E1EF0476B00AD2478 /* SystemMargins.cpp in Sources */, + 29A8F3511EF0476800AD2478 /* PartSymbol.cpp in Sources */, + 29A8F5D61EF0476A00AD2478 /* SemiPitched.cpp in Sources */, + 29A8F17B1EF0476800AD2478 /* NoteSize.cpp in Sources */, + 29A8F2C51EF0476800AD2478 /* Pan.cpp in Sources */, + 29A8EA871EF0476500AD2478 /* FigureNumberAttributes.cpp in Sources */, + 29A8FD651EF0476F00AD2478 /* PugiElement.cpp in Sources */, + 29A8FBFD1EF0476E00AD2478 /* EncodingFunctions.cpp in Sources */, + 29A8EC671EF0476500AD2478 /* HarmonicInfoChoice.cpp in Sources */, + 29A8E3391EF0476300AD2478 /* NoteData.cpp in Sources */, + 29A8ED431EF0476600AD2478 /* InstrumentName.cpp in Sources */, + 29A8E9A11EF0476400AD2478 /* EncoderAttributes.cpp in Sources */, + 29A8EA411EF0476500AD2478 /* Fermata.cpp in Sources */, + 29A8E5CD1EF0476300AD2478 /* BeatRepeatAttributes.cpp in Sources */, + 29A8FAB31EF0476D00AD2478 /* Wedge.cpp in Sources */, + 29A8FABD1EF0476D00AD2478 /* WedgeAttributes.cpp in Sources */, + 29A8F6DA1EF0476A00AD2478 /* StaffDistance.cpp in Sources */, + 29A8E4831EF0476300AD2478 /* AccordionRegistrationAttributes.cpp in Sources */, + 29A8F6121EF0476A00AD2478 /* SlashDot.cpp in Sources */, + 29A8E75D1EF0476400AD2478 /* CreditWordsGroup.cpp in Sources */, + 29A8F55E1EF0476A00AD2478 /* Scoop.cpp in Sources */, + 29A8F7D41EF0476B00AD2478 /* Suffix.cpp in Sources */, + 29A8F9BE1EF0476C00AD2478 /* TupletActual.cpp in Sources */, + 29A8E9AB1EF0476400AD2478 /* Encoding.cpp in Sources */, + 29A8E6091EF0476300AD2478 /* BeatUnitPer.cpp in Sources */, + 29A8E77B1EF0476400AD2478 /* Damp.cpp in Sources */, + 29A8F4BE1EF0476900AD2478 /* Release.cpp in Sources */, + 29A8F72A1EF0476B00AD2478 /* Staves.cpp in Sources */, + 29A8F3291EF0476800AD2478 /* PartName.cpp in Sources */, + 29A8F6BC1EF0476A00AD2478 /* Staff.cpp in Sources */, + 29A8F0BD1EF0476700AD2478 /* NonArpeggiate.cpp in Sources */, + 29A8EBB31EF0476500AD2478 /* GroupAbbreviationDisplayAttributes.cpp in Sources */, + 29A8F5681EF0476A00AD2478 /* Scordatura.cpp in Sources */, + 29A8F5901EF0476A00AD2478 /* ScorePart.cpp in Sources */, + 29A8F0311EF0476700AD2478 /* MiscellaneousField.cpp in Sources */, + 29A8E3571EF0476300AD2478 /* PitchData.cpp in Sources */, + 29A8F9D21EF0476C00AD2478 /* TupletDot.cpp in Sources */, + 29A8E8931EF0476400AD2478 /* DisplayTextAttributes.cpp in Sources */, + 29A8FAF91EF0476D00AD2478 /* WordsAttributes.cpp in Sources */, + 29A8ECDF1EF0476600AD2478 /* HoleClosedAttributes.cpp in Sources */, + 29A8E6C71EF0476400AD2478 /* CircularArrow.cpp in Sources */, + 29A8F98C1EF0476C00AD2478 /* TripleTongue.cpp in Sources */, + 29A8F33D1EF0476800AD2478 /* PartNameDisplay.cpp in Sources */, + 29A8F0C71EF0476700AD2478 /* NonArpeggiateAttributes.cpp in Sources */, + 29A8F4501EF0476900AD2478 /* PrincipalVoice.cpp in Sources */, + 29A8F6EE1EF0476A00AD2478 /* StaffLayoutAttributes.cpp in Sources */, + 29A8FAA91EF0476D00AD2478 /* WavyLineAttributes.cpp in Sources */, + 29A8EEE71EF0476600AD2478 /* MeasureLayout.cpp in Sources */, + 29A8E7DF1EF0476400AD2478 /* DegreeTypeAttributes.cpp in Sources */, + 29A8EA551EF0476500AD2478 /* Fifths.cpp in Sources */, + 29A8FC431EF0476E00AD2478 /* MetronomeReader.cpp in Sources */, + 29A8F5CC1EF0476A00AD2478 /* Segno.cpp in Sources */, + 29A8FA451EF0476C00AD2478 /* Unpitched.cpp in Sources */, + 29A8F5B81EF0476A00AD2478 /* ScoreTimewise.cpp in Sources */, + 29A8EEA11EF0476600AD2478 /* LyricFont.cpp in Sources */, + 29A8EEB51EF0476600AD2478 /* LyricLanguage.cpp in Sources */, + 29A8F0811EF0476700AD2478 /* MultipleRestAttributes.cpp in Sources */, + 29A8FC7A1EF0476E00AD2478 /* OrnamentsFunctions.cpp in Sources */, + 29A8F7CA1EF0476B00AD2478 /* StrongAccentAttributes.cpp in Sources */, + 29A8FD3D1EF0476E00AD2478 /* UtilityImpl.cpp in Sources */, + 29A8ED391EF0476600AD2478 /* InstrumentAttributes.cpp in Sources */, + 29A8E4C91EF0476300AD2478 /* ArrowAttributes.cpp in Sources */, + 29A8E8C51EF0476400AD2478 /* Doit.cpp in Sources */, + 29A8E43D1EF0476300AD2478 /* AccidentalTextAttributes.cpp in Sources */, + 29A8E9FB1EF0476500AD2478 /* Ensemble.cpp in Sources */, + 29A8E4331EF0476300AD2478 /* AccidentalText.cpp in Sources */, + 29A8FB671EF0476D00AD2478 /* NumberOrNormal.cpp in Sources */, + 29A8ED9D1EF0476600AD2478 /* InvertedTurn.cpp in Sources */, + 29A8F5041EF0476900AD2478 /* Rights.cpp in Sources */, + 29A8F2A71EF0476800AD2478 /* PageMargins.cpp in Sources */, + 29A8F4AA1EF0476900AD2478 /* Relation.cpp in Sources */, + 29A8F2BB1EF0476800AD2478 /* PageWidth.cpp in Sources */, + 29A8F86A1EF0476B00AD2478 /* Tenuto.cpp in Sources */, + 29A8FC2F1EF0476E00AD2478 /* MeasureReader.cpp in Sources */, + 29A8F4C81EF0476900AD2478 /* Repeat.cpp in Sources */, + 29A8F1F31EF0476800AD2478 /* OrnamentsChoice.cpp in Sources */, + 29A8F04F1EF0476700AD2478 /* Mordent.cpp in Sources */, + 29A8ECE91EF0476600AD2478 /* HoleShape.cpp in Sources */, + 29A8FA091EF0476C00AD2478 /* TupletType.cpp in Sources */, + 29A8F8561EF0476B00AD2478 /* TechnicalChoice.cpp in Sources */, + 29A8F46E1EF0476900AD2478 /* PrintAttributes.cpp in Sources */, + 29A8F5401EF0476A00AD2478 /* RootStepAttributes.cpp in Sources */, + 29A8F6621EF0476A00AD2478 /* Solo.cpp in Sources */, + 29A8F5221EF0476900AD2478 /* RootAlter.cpp in Sources */, + 29A8E57D1EF0476300AD2478 /* BassAlterAttributes.cpp in Sources */, + 29A8E5F51EF0476300AD2478 /* BeatUnitDot.cpp in Sources */, + 29A8EC711EF0476500AD2478 /* HarmonicTypeChoice.cpp in Sources */, + 29A8F8881EF0476B00AD2478 /* ThumbPosition.cpp in Sources */, + 29A8FB031EF0476D00AD2478 /* Work.cpp in Sources */, + 29A8EDD91EF0476600AD2478 /* KeyAttributes.cpp in Sources */, + 29A8F6C61EF0476A00AD2478 /* StaffDetails.cpp in Sources */, + 29A8E50F1EF0476300AD2478 /* AttributesIterface.cpp in Sources */, + 29A8F8F61EF0476C00AD2478 /* TimeSignatureGroup.cpp in Sources */, + 29A8F9AA1EF0476C00AD2478 /* TuningStep.cpp in Sources */, + 29A8E54B1EF0476300AD2478 /* BarStyle.cpp in Sources */, + 29A8EBE51EF0476500AD2478 /* GroupName.cpp in Sources */, + 29A8E4511EF0476300AD2478 /* AccordAttributes.cpp in Sources */, + 29A8E7531EF0476400AD2478 /* CreditWordsAttributes.cpp in Sources */, + 29A8EFB91EF0476700AD2478 /* MidiBank.cpp in Sources */, + 29A8EDB11EF0476600AD2478 /* Ipa.cpp in Sources */, + 29A8E6BD1EF0476400AD2478 /* Chromatic.cpp in Sources */, + 29A8EB131EF0476500AD2478 /* Fret.cpp in Sources */, + 29A8EE291EF0476600AD2478 /* LayoutGroup.cpp in Sources */, + 29A8FCDE1EF0476E00AD2478 /* TechnicalFunctions.cpp in Sources */, + 29A8E52D1EF0476300AD2478 /* BarlineAttributes.cpp in Sources */, + 29A8E40B1EF0476300AD2478 /* Accidental.cpp in Sources */, + 29A8E9331EF0476400AD2478 /* Effect.cpp in Sources */, + 29A8F1A31EF0476800AD2478 /* OctaveShift.cpp in Sources */, + 29A8E5691EF0476300AD2478 /* Bass.cpp in Sources */, + 29A8ECCB1EF0476600AD2478 /* HoleAttributes.cpp in Sources */, + 29A8E9831EF0476400AD2478 /* EmptyPlacementAttributes.cpp in Sources */, + 29A8ECD51EF0476600AD2478 /* HoleClosed.cpp in Sources */, + 29A8E4151EF0476300AD2478 /* AccidentalAttributes.cpp in Sources */, + 29A8E7E91EF0476400AD2478 /* DegreeValue.cpp in Sources */, + 29A8E5EB1EF0476300AD2478 /* BeatUnit.cpp in Sources */, + 29A8FC391EF0476E00AD2478 /* MeasureWriter.cpp in Sources */, + 29A8FA811EF0476D00AD2478 /* VirtualName.cpp in Sources */, + 29A8F7A21EF0476B00AD2478 /* StringAttributes.cpp in Sources */, + 29A8E8391EF0476400AD2478 /* Direction.cpp in Sources */, + 29A8FB9E1EF0476D00AD2478 /* YesNoNumber.cpp in Sources */, + 29A8ECB71EF0476600AD2478 /* HeelAttributes.cpp in Sources */, + 29A8F77A1EF0476B00AD2478 /* StickType.cpp in Sources */, + 29A8E8D91EF0476400AD2478 /* Double.cpp in Sources */, + 29A8E8071EF0476400AD2478 /* DelayedInvertedTurnAttributes.cpp in Sources */, + 29A8F2931EF0476800AD2478 /* PageHeight.cpp in Sources */, + 29A8FDAB1EF0476F00AD2478 /* XFactory.cpp in Sources */, + 29A8EF5F1EF0476700AD2478 /* MetronomeBeam.cpp in Sources */, + 29A8F57C1EF0476A00AD2478 /* ScoreInstrument.cpp in Sources */, + 29A8EDCF1EF0476600AD2478 /* KeyAlter.cpp in Sources */, + 29A8FD5B1EF0476F00AD2478 /* PugiDoc.cpp in Sources */, + 29A8F3011EF0476800AD2478 /* PartGroup.cpp in Sources */, + 29A8F1C11EF0476800AD2478 /* OffsetAttributes.cpp in Sources */, + 29A8E5C31EF0476300AD2478 /* BeatRepeat.cpp in Sources */, + 29A8E68B1EF0476300AD2478 /* Caesura.cpp in Sources */, + 29A8EAAF1EF0476500AD2478 /* FirstFret.cpp in Sources */, + 29A8E7FD1EF0476400AD2478 /* DelayedInvertedTurn.cpp in Sources */, + 29A8F1B71EF0476800AD2478 /* Offset.cpp in Sources */, + 29A8E72B1EF0476400AD2478 /* CreditImage.cpp in Sources */, + 29A8ED111EF0476600AD2478 /* Image.cpp in Sources */, + 29A8FB171EF0476D00AD2478 /* WorkTitle.cpp in Sources */, + 29A8EEBF1EF0476600AD2478 /* LyricLanguageAttributes.cpp in Sources */, + 29A8E6811EF0476300AD2478 /* BreathMarkAttributes.cpp in Sources */, + 29A8EDC51EF0476600AD2478 /* KeyAccidental.cpp in Sources */, + 29A8F9B41EF0476C00AD2478 /* Tuplet.cpp in Sources */, + 29A8F3D31EF0476900AD2478 /* PerMinuteAttributes.cpp in Sources */, + 29A8ECAD1EF0476600AD2478 /* Heel.cpp in Sources */, + 29A8F9641EF0476C00AD2478 /* TransposeAttributes.cpp in Sources */, + 29A8FC661EF0476E00AD2478 /* NoteReader.cpp in Sources */, + 29A8F6B21EF0476A00AD2478 /* Staccato.cpp in Sources */, + 29A8EC991EF0476600AD2478 /* HarpPedals.cpp in Sources */, + 29A8F1351EF0476700AD2478 /* NoteAttributes.cpp in Sources */, + 29A8F4F01EF0476900AD2478 /* RightDivider.cpp in Sources */, + 29A8FB851EF0476D00AD2478 /* ScoreConversions.cpp in Sources */, + 29A8F7C01EF0476B00AD2478 /* StrongAccent.cpp in Sources */, + 29A8E7171EF0476400AD2478 /* CreditAttributes.cpp in Sources */, + 29A8F7341EF0476B00AD2478 /* Stem.cpp in Sources */, + 29A8E5911EF0476300AD2478 /* BassStepAttributes.cpp in Sources */, + 29A8ED251EF0476600AD2478 /* Instrument.cpp in Sources */, + 29A8EB771EF0476500AD2478 /* GraceAttributes.cpp in Sources */, + 29A8FD7E1EF0476F00AD2478 /* XAttributeIterator.cpp in Sources */, + 29A8EE151EF0476600AD2478 /* KindAttributes.cpp in Sources */, + 29A8F8B01EF0476C00AD2478 /* TiedAttributes.cpp in Sources */, + 29A8E7991EF0476400AD2478 /* DashesAttributes.cpp in Sources */, + 29A8E6451EF0476300AD2478 /* Bookmark.cpp in Sources */, + 29A8F4051EF0476900AD2478 /* PlayAttributes.cpp in Sources */, + 29A8EFAF1EF0476700AD2478 /* MetronomeType.cpp in Sources */, + 29A8FA1D1EF0476C00AD2478 /* Turn.cpp in Sources */, + 29A8E7A31EF0476400AD2478 /* Defaults.cpp in Sources */, + 29A8F35B1EF0476800AD2478 /* PartSymbolAttributes.cpp in Sources */, + 29A8FC981EF0476E00AD2478 /* PartWriter.cpp in Sources */, + 29A8FB711EF0476D00AD2478 /* PositiveIntegerOrEmpty.cpp in Sources */, + 29A8E96F1EF0476400AD2478 /* EmptyFontAttributes.cpp in Sources */, + 29A8EB6D1EF0476500AD2478 /* Grace.cpp in Sources */, + 29A8F8C41EF0476C00AD2478 /* TimeAttributes.cpp in Sources */, + 29A8F5861EF0476A00AD2478 /* ScoreInstrumentAttributes.cpp in Sources */, + 29A8F2ED1EF0476800AD2478 /* PartAbbreviationDisplayAttributes.cpp in Sources */, + 29A8E6311EF0476300AD2478 /* BendAttributes.cpp in Sources */, + 29A8F2CF1EF0476800AD2478 /* PartAbbreviation.cpp in Sources */, + 29A8FBF31EF0476E00AD2478 /* DynamicsWriter.cpp in Sources */, + 29A8FCF21EF0476E00AD2478 /* TupletReader.cpp in Sources */, + 29A8F3DD1EF0476900AD2478 /* PerMinuteOrBeatUnitChoice.cpp in Sources */, + 29A8E69F1EF0476300AD2478 /* CancelAttributes.cpp in Sources */, + 29A8F9281EF0476C00AD2478 /* ToeAttributes.cpp in Sources */, + 29A8ED891EF0476600AD2478 /* InvertedMordent.cpp in Sources */, + 29A8E86B1EF0476400AD2478 /* DisplayOctave.cpp in Sources */, + 29A8E91F1EF0476400AD2478 /* EditorialVoiceDirectionGroup.cpp in Sources */, + 29A8F3AB1EF0476900AD2478 /* Percussion.cpp in Sources */, + 29A8EED31EF0476600AD2478 /* MeasureAttributes.cpp in Sources */, + 29A8EACD1EF0476500AD2478 /* FootnoteAttributes.cpp in Sources */, + 29A8ECF31EF0476600AD2478 /* HoleType.cpp in Sources */, + 29A8F3971EF0476900AD2478 /* PedalStep.cpp in Sources */, + 29A8EBDB1EF0476500AD2478 /* GroupingAttributes.cpp in Sources */, + 29A8EF191EF0476700AD2478 /* MeasureStyle.cpp in Sources */, + 29A8E4FB1EF0476300AD2478 /* ArticulationsChoice.cpp in Sources */, + 29A8F9501EF0476C00AD2478 /* TraditionalKey.cpp in Sources */, + 29A8E2EE1EF0476300AD2478 /* DocumentManager.cpp in Sources */, + 29A8F68A1EF0476A00AD2478 /* SoundingPitch.cpp in Sources */, + 29A8F45A1EF0476900AD2478 /* PrincipalVoiceAttributes.cpp in Sources */, + 29A8F1491EF0476700AD2478 /* Notehead.cpp in Sources */, + 29A8FB531EF0476D00AD2478 /* FromXElement.cpp in Sources */, + 29A8EA191EF0476500AD2478 /* Eyeglasses.cpp in Sources */, + 29A8EE471EF0476600AD2478 /* Level.cpp in Sources */, + 29A8F9321EF0476C00AD2478 /* TopMargin.cpp in Sources */, + 29A8E98D1EF0476400AD2478 /* EmptyTrillSoundAttributes.cpp in Sources */, + 29A8E9651EF0476400AD2478 /* ElisionSyllabicTextGroup.cpp in Sources */, + 29A8EBF91EF0476500AD2478 /* GroupNameDisplay.cpp in Sources */, + 29A8F1991EF0476800AD2478 /* OctaveChange.cpp in Sources */, + 29A8F90A1EF0476C00AD2478 /* TimewisePart.cpp in Sources */, + 29A8ED931EF0476600AD2478 /* InvertedMordentAttributes.cpp in Sources */, + 29A8E4971EF0476300AD2478 /* Alter.cpp in Sources */, + 29A8F2D91EF0476800AD2478 /* PartAbbreviationAttributes.cpp in Sources */, + 29A8EFEB1EF0476700AD2478 /* MidiInstrument.cpp in Sources */, + 29A8F50E1EF0476900AD2478 /* RightsAttributes.cpp in Sources */, + 29A8F1E91EF0476800AD2478 /* Ornaments.cpp in Sources */, + 29A8EFA51EF0476700AD2478 /* MetronomeTupletAttributes.cpp in Sources */, + 29A8FB351EF0476D00AD2478 /* Enums.cpp in Sources */, + 29A8E6D11EF0476400AD2478 /* Clef.cpp in Sources */, + 29A8EB631EF0476500AD2478 /* GlissandoAttributes.cpp in Sources */, + 29A8E87F1EF0476400AD2478 /* DisplayStepOctaveGroup.cpp in Sources */, + 29A8E4791EF0476300AD2478 /* AccordionRegistration.cpp in Sources */, + 29A8F2891EF0476800AD2478 /* OtherTechnicalAttributes.cpp in Sources */, + 29A8F3BF1EF0476900AD2478 /* PercussionChoice.cpp in Sources */, + 29A8F09F1EF0476700AD2478 /* MusicFont.cpp in Sources */, + 29A8EE6F1EF0476600AD2478 /* LineWidthAttributes.cpp in Sources */, + 29A8E4DD1EF0476300AD2478 /* ArrowGroup.cpp in Sources */, + 29A8ED1B1EF0476600AD2478 /* ImageAttributes.cpp in Sources */, + 29A8E61D1EF0476300AD2478 /* Bend.cpp in Sources */, + 29A8EB4F1EF0476500AD2478 /* Glass.cpp in Sources */, + 29A8FA271EF0476C00AD2478 /* TurnAttributes.cpp in Sources */, + 29A8FA9F1EF0476D00AD2478 /* WavyLine.cpp in Sources */, + 29A8EDA71EF0476600AD2478 /* InvertedTurnAttributes.cpp in Sources */, + 29A8F10D1EF0476700AD2478 /* Notations.cpp in Sources */, + 29A8E8251EF0476400AD2478 /* DetachedLegato.cpp in Sources */, + 29A8F4781EF0476900AD2478 /* Properties.cpp in Sources */, + 29A8F69E1EF0476A00AD2478 /* Spiccato.cpp in Sources */, + 29A8E5231EF0476300AD2478 /* Barline.cpp in Sources */, + 29A8FA591EF0476D00AD2478 /* UpBow.cpp in Sources */, + 29A8E8BB1EF0476400AD2478 /* Divisions.cpp in Sources */, + 29A8E4011EF0476300AD2478 /* Accent.cpp in Sources */, + 29A8F27F1EF0476800AD2478 /* OtherTechnical.cpp in Sources */, + 29A8F8421EF0476B00AD2478 /* TapAttributes.cpp in Sources */, + 29A8FD011EF0476E00AD2478 /* pugixml.cpp in Sources */, + 29A8F89C1EF0476C00AD2478 /* TieAttributes.cpp in Sources */, + 29A8EAFF1EF0476500AD2478 /* FrameNote.cpp in Sources */, + 29A8F1531EF0476800AD2478 /* NoteheadAttributes.cpp in Sources */, + 29A8F24D1EF0476800AD2478 /* OtherOrnament.cpp in Sources */, + 29A8E36B1EF0476300AD2478 /* ScoreData.cpp in Sources */, + 29A8F1211EF0476700AD2478 /* NotationsChoice.cpp in Sources */, + 29A8EC2B1EF0476500AD2478 /* HammerOn.cpp in Sources */, + 29A8F9A01EF0476C00AD2478 /* TuningOctave.cpp in Sources */, + 29A8F0F91EF0476700AD2478 /* NormalType.cpp in Sources */, + 29A8E82F1EF0476400AD2478 /* Diatonic.cpp in Sources */, + 29A8F1171EF0476700AD2478 /* NotationsAttributes.cpp in Sources */, + 29A8F8EC1EF0476C00AD2478 /* TimeRelation.cpp in Sources */, + 29A8EAD71EF0476500AD2478 /* Forward.cpp in Sources */, + 29A8E6271EF0476300AD2478 /* BendAlter.cpp in Sources */, + 29A8E5A51EF0476300AD2478 /* BeamAttributes.cpp in Sources */, + 29A8EB951EF0476500AD2478 /* GroupAbbreviation.cpp in Sources */, + 29A8EA731EF0476500AD2478 /* FiguredBassAttributes.cpp in Sources */, + 29A8E8F71EF0476400AD2478 /* Duration.cpp in Sources */, + 29A8EC171EF0476500AD2478 /* GroupSymbolAttributes.cpp in Sources */, + 29A8F73E1EF0476B00AD2478 /* StemAttributes.cpp in Sources */, + 29A8EE511EF0476600AD2478 /* LevelAttributes.cpp in Sources */, + 29A8EA0F1EF0476500AD2478 /* ExtendAttributes.cpp in Sources */, + 29A8EC8F1EF0476600AD2478 /* HarmonyChordGroup.cpp in Sources */, + 29A8FA4F1EF0476D00AD2478 /* Unstress.cpp in Sources */, + 29A8FD511EF0476E00AD2478 /* PugiAttributeIterImpl.cpp in Sources */, + 29A8E7351EF0476400AD2478 /* CreditImageAttributes.cpp in Sources */, + 29A8E9E71EF0476500AD2478 /* EndLine.cpp in Sources */, + 29A8FBA81EF0476D00AD2478 /* AccidentalMarkFunctions.cpp in Sources */, + 29A8EF231EF0476700AD2478 /* MeasureStyleAttributes.cpp in Sources */, + 29A8F9E61EF0476C00AD2478 /* TupletNormal.cpp in Sources */, + 29A8F0DB1EF0476700AD2478 /* NormalDot.cpp in Sources */, + 29A8E4A11EF0476300AD2478 /* Appearance.cpp in Sources */, + 29A8E9B51EF0476400AD2478 /* EncodingChoice.cpp in Sources */, + 29A8F3E71EF0476900AD2478 /* Pitch.cpp in Sources */, + 29A8F3331EF0476800AD2478 /* PartNameAttributes.cpp in Sources */, + 29A8EC491EF0476500AD2478 /* HandbellAttributes.cpp in Sources */, + 29A8E8431EF0476400AD2478 /* DirectionAttributes.cpp in Sources */, + 29A8EB311EF0476500AD2478 /* FullNoteTypeChoice.cpp in Sources */, + 29A8F6081EF0476A00AD2478 /* SlashAttributes.cpp in Sources */, + 29A8F6A81EF0476A00AD2478 /* Staccatissimo.cpp in Sources */, + 29A8E3ED1EF0476300AD2478 /* DocumentSpec.cpp in Sources */, + 29A8FC841EF0476E00AD2478 /* PageTextFunctions.cpp in Sources */, + 29A8FB2B1EF0476D00AD2478 /* EmptyPrintObjectStyleAlignAttributes.cpp in Sources */, + 29A8F4A01EF0476900AD2478 /* RehearsalAttributes.cpp in Sources */, + 29A8EE8D1EF0476600AD2478 /* Lyric.cpp in Sources */, + 29A8E7851EF0476400AD2478 /* DampAll.cpp in Sources */, + 29A8F59A1EF0476A00AD2478 /* ScorePartAttributes.cpp in Sources */, + 29A8EA371EF0476500AD2478 /* FeatureAttributes.cpp in Sources */, + 29A8F5A41EF0476A00AD2478 /* ScorePartwise.cpp in Sources */, + 29A8EBEF1EF0476500AD2478 /* GroupNameAttributes.cpp in Sources */, + 29A8EC0D1EF0476500AD2478 /* GroupSymbol.cpp in Sources */, + 29A8E4F11EF0476300AD2478 /* Articulations.cpp in Sources */, + 29A8F7701EF0476B00AD2478 /* StickMaterial.cpp in Sources */, + 29A8E7C11EF0476400AD2478 /* DegreeAlterAttributes.cpp in Sources */, + 29A8FC5C1EF0476E00AD2478 /* NoteFunctions.cpp in Sources */, + 29A8EA5F1EF0476500AD2478 /* Figure.cpp in Sources */, + 29A8ED4D1EF0476600AD2478 /* Instruments.cpp in Sources */, + 29A8EE1F1EF0476600AD2478 /* Laughing.cpp in Sources */, + 29A8F3151EF0476800AD2478 /* PartGroupOrScorePart.cpp in Sources */, + 29A8EA7D1EF0476500AD2478 /* FigureNumber.cpp in Sources */, + 29A8EDE31EF0476600AD2478 /* KeyChoice.cpp in Sources */, + 29A8FA311EF0476C00AD2478 /* Type.cpp in Sources */, + 29A8F6941EF0476A00AD2478 /* Source.cpp in Sources */, + 29A8F0591EF0476700AD2478 /* MordentAttributes.cpp in Sources */, + 29A8F12B1EF0476700AD2478 /* Note.cpp in Sources */, + 29A8F40F1EF0476900AD2478 /* Plop.cpp in Sources */, + 29A8F36F1EF0476900AD2478 /* PartwisePart.cpp in Sources */, + 29A8F26B1EF0476800AD2478 /* OtherPlay.cpp in Sources */, + 29A8F1DF1EF0476800AD2478 /* OpusAttributes.cpp in Sources */, + 29A8F5FE1EF0476A00AD2478 /* Slash.cpp in Sources */, + 29A8EE0B1EF0476600AD2478 /* Kind.cpp in Sources */, + 29A8F7201EF0476B00AD2478 /* StaffType.cpp in Sources */, + 29A8EFF51EF0476700AD2478 /* MidiInstrumentAttributes.cpp in Sources */, + 29A8F54A1EF0476A00AD2478 /* Scaling.cpp in Sources */, + 29A8EB091EF0476500AD2478 /* FrameStrings.cpp in Sources */, + 29A8F0A91EF0476700AD2478 /* Mute.cpp in Sources */, + 29A8FA3B1EF0476C00AD2478 /* TypeAttributes.cpp in Sources */, + 29A8F38D1EF0476900AD2478 /* PedalAttributes.cpp in Sources */, + 29A8F63A1EF0476A00AD2478 /* Slur.cpp in Sources */, + 29A8F9781EF0476C00AD2478 /* TremoloAttributes.cpp in Sources */, + 29A8ED071EF0476600AD2478 /* Identification.cpp in Sources */, + 29A8EBBD1EF0476500AD2478 /* GroupBarline.cpp in Sources */, + 29A8F1FD1EF0476800AD2478 /* OtherAppearance.cpp in Sources */, + 29A8EDF71EF0476600AD2478 /* KeyOctaveAttributes.cpp in Sources */, + 29A8F7DE1EF0476B00AD2478 /* SuffixAttributes.cpp in Sources */, + 29A8E9C91EF0476400AD2478 /* EncodingDescription.cpp in Sources */, + 29A8F2B11EF0476800AD2478 /* PageMarginsAttributes.cpp in Sources */, + 29A8F3C91EF0476900AD2478 /* PerMinute.cpp in Sources */, + 29A8E5D71EF0476300AD2478 /* Beats.cpp in Sources */, + 29A8E5B91EF0476300AD2478 /* BeaterAttributes.cpp in Sources */, + 29A8FCB61EF0476E00AD2478 /* ScoreReader.cpp in Sources */, + 29A8E7211EF0476400AD2478 /* CreditChoice.cpp in Sources */, + 29A8E32A1EF0476300AD2478 /* MeasureLocation.cpp in Sources */, + 29A8E7F31EF0476400AD2478 /* DegreeValueAttributes.cpp in Sources */, + 29A8FAD11EF0476D00AD2478 /* WithBarAttributes.cpp in Sources */, + 29A8F3FB1EF0476900AD2478 /* Play.cpp in Sources */, + 29A8E81B1EF0476400AD2478 /* DelayedTurnAttributes.cpp in Sources */, + 29A8E3C51EF0476300AD2478 /* Date.cpp in Sources */, + 29A8E3B11EF0476300AD2478 /* AttributesInterface.cpp in Sources */, + 29A8F7661EF0476B00AD2478 /* StickLocation.cpp in Sources */, + 29A8F30B1EF0476800AD2478 /* PartGroupAttributes.cpp in Sources */, + 29A8E9971EF0476400AD2478 /* Encoder.cpp in Sources */, + 29A8E48D1EF0476300AD2478 /* ActualNotes.cpp in Sources */, + 29A8EB9F1EF0476500AD2478 /* GroupAbbreviationAttributes.cpp in Sources */, + 29A8E8B11EF0476400AD2478 /* DistanceAttributes.cpp in Sources */, + 29A8FBE91EF0476E00AD2478 /* DynamicsReader.cpp in Sources */, + 29A8FD331EF0476E00AD2478 /* Utility.cpp in Sources */, + 29A8EF731EF0476700AD2478 /* MetronomeDot.cpp in Sources */, + 29A8F3B51EF0476900AD2478 /* PercussionAttributes.cpp in Sources */, + 29A8E7671EF0476400AD2478 /* Cue.cpp in Sources */, + 29A8E4E71EF0476300AD2478 /* ArrowStyle.cpp in Sources */, + 29A8F8241EF0476B00AD2478 /* SystemLayout.cpp in Sources */, + 29A8F31F1EF0476800AD2478 /* PartList.cpp in Sources */, + 29A8E5E11EF0476300AD2478 /* BeatType.cpp in Sources */, + 29A8E8E31EF0476400AD2478 /* DoubleTongue.cpp in Sources */, + 29A8E90B1EF0476400AD2478 /* DynamicsAttributes.cpp in Sources */, + 29A8F3791EF0476900AD2478 /* Pedal.cpp in Sources */, + 29A8F78E1EF0476B00AD2478 /* Stress.cpp in Sources */, + 29A8EC5D1EF0476500AD2478 /* HarmonicAttributes.cpp in Sources */, + 29A8F0EF1EF0476700AD2478 /* NormalNotes.cpp in Sources */, + 29A8E9151EF0476400AD2478 /* EditorialGroup.cpp in Sources */, + 29A8ED2F1EF0476600AD2478 /* InstrumentAbbreviation.cpp in Sources */, + 29A8EF871EF0476700AD2478 /* MetronomeRelation.cpp in Sources */, + 29A8FAC71EF0476D00AD2478 /* WithBar.cpp in Sources */, + 29A8FCE81EF0476E00AD2478 /* TimeReader.cpp in Sources */, + 29A8F2F71EF0476800AD2478 /* PartAttributes.cpp in Sources */, + 29A8FAEF1EF0476D00AD2478 /* Words.cpp in Sources */, + 29A8F7AC1EF0476B00AD2478 /* StringMute.cpp in Sources */, + 29A8EF0F1EF0476600AD2478 /* MeasureRepeatAttributes.cpp in Sources */, + 29A8FB8F1EF0476D00AD2478 /* Strings.cpp in Sources */, + 29A8E9291EF0476400AD2478 /* EditorialVoiceGroup.cpp in Sources */, + 29A8EFFF1EF0476700AD2478 /* MidiName.cpp in Sources */, + 29A8E66D1EF0476300AD2478 /* BracketAttributes.cpp in Sources */, + 29A8F5361EF0476900AD2478 /* RootStep.cpp in Sources */, + 29A8F7981EF0476B00AD2478 /* String.cpp in Sources */, + 29A8FD6F1EF0476F00AD2478 /* PugiElementIterImpl.cpp in Sources */, + 29A8E4B51EF0476300AD2478 /* ArpeggiateAttributes.cpp in Sources */, + 29A8EF4B1EF0476700AD2478 /* Metronome.cpp in Sources */, + 29A8F5F41EF0476A00AD2478 /* Sign.cpp in Sources */, + 29A8F5EA1EF0476A00AD2478 /* Shake.cpp in Sources */, + 29A8F0D11EF0476700AD2478 /* NonTraditionalKey.cpp in Sources */, + 29A8F6441EF0476A00AD2478 /* SlurAttributes.cpp in Sources */, + 29A8FA951EF0476D00AD2478 /* Volume.cpp in Sources */, + 29A8F5181EF0476900AD2478 /* Root.cpp in Sources */, + 29A8E70D1EF0476400AD2478 /* Credit.cpp in Sources */, + 29A8E46F1EF0476300AD2478 /* AccordionMiddle.cpp in Sources */, + 29A8EA051EF0476500AD2478 /* Extend.cpp in Sources */, + 29A8F1851EF0476800AD2478 /* NoteSizeAttributes.cpp in Sources */, + 29A8EC531EF0476500AD2478 /* Harmonic.cpp in Sources */, + 29A8E9471EF0476400AD2478 /* Elision.cpp in Sources */, + 29A8EF411EF0476700AD2478 /* Metal.cpp in Sources */, + 29A8F9FA1EF0476C00AD2478 /* TupletNumberAttributes.cpp in Sources */, + 29A8E9BF1EF0476400AD2478 /* EncodingDate.cpp in Sources */, + 29A8EC031EF0476500AD2478 /* GroupNameDisplayAttributes.cpp in Sources */, + 29A8F6301EF0476A00AD2478 /* SlideAttributes.cpp in Sources */, + 29A8E5871EF0476300AD2478 /* BassStep.cpp in Sources */, + 29A8F96E1EF0476C00AD2478 /* Tremolo.cpp in Sources */, + 29A8E6A91EF0476400AD2478 /* Capo.cpp in Sources */, + 29A8E6E51EF0476400AD2478 /* ClefOctaveChange.cpp in Sources */, + 29A8E9511EF0476400AD2478 /* ElisionAttributes.cpp in Sources */, + 29A8FC701EF0476E00AD2478 /* NoteWriter.cpp in Sources */, + 29A8E4471EF0476300AD2478 /* Accord.cpp in Sources */, + 29A8F8D81EF0476C00AD2478 /* TimeModification.cpp in Sources */, + 29A8F4641EF0476900AD2478 /* Print.cpp in Sources */, + 29A8FBC61EF0476D00AD2478 /* Cursor.cpp in Sources */, + 29A8F3F11EF0476900AD2478 /* Pitched.cpp in Sources */, + 29A8F8741EF0476B00AD2478 /* Text.cpp in Sources */, + 29A8E7B71EF0476400AD2478 /* DegreeAlter.cpp in Sources */, + 29A8E5AF1EF0476300AD2478 /* Beater.cpp in Sources */, + 29A8F7F21EF0476B00AD2478 /* SupportsAttributes.cpp in Sources */, + 29A8F87E1EF0476B00AD2478 /* TextAttributes.cpp in Sources */, + 29A8E8CF1EF0476400AD2478 /* Dot.cpp in Sources */, + 29A8EB811EF0476500AD2478 /* GraceNoteGroup.cpp in Sources */, + 29A8EEAB1EF0476600AD2478 /* LyricFontAttributes.cpp in Sources */, + 29A8F9F01EF0476C00AD2478 /* TupletNumber.cpp in Sources */, + 29A8E4AB1EF0476300AD2478 /* Arpeggiate.cpp in Sources */, + 29A8F2571EF0476800AD2478 /* OtherOrnamentAttributes.cpp in Sources */, + 29A8E7CB1EF0476400AD2478 /* DegreeAttributes.cpp in Sources */, + 29A8E78F1EF0476400AD2478 /* Dashes.cpp in Sources */, + 29A8FC8E1EF0476E00AD2478 /* PartReader.cpp in Sources */, + 29A8EEFB1EF0476600AD2478 /* MeasureNumberingAttributes.cpp in Sources */, + 29A8E3E31EF0476300AD2478 /* DocumentHeader.cpp in Sources */, + 29A8EE011EF0476600AD2478 /* KeyStep.cpp in Sources */, + 29A8E6EF1EF0476400AD2478 /* Coda.cpp in Sources */, + 29A8FC0C1EF0476E00AD2478 /* LayoutFunctions.cpp in Sources */, + 29A8E3D91EF0476300AD2478 /* Document.cpp in Sources */, + 29A8EE791EF0476600AD2478 /* Link.cpp in Sources */, + 29A8F7521EF0476B00AD2478 /* Stick.cpp in Sources */, + 29A8F8921EF0476C00AD2478 /* Tie.cpp in Sources */, + 29A8F21B1EF0476800AD2478 /* OtherArticulationAttributes.cpp in Sources */, + 29A8EB8B1EF0476500AD2478 /* Group.cpp in Sources */, + 29A8FA8B1EF0476D00AD2478 /* Voice.cpp in Sources */, + 29A8F5AE1EF0476A00AD2478 /* ScorePartwiseAttributes.cpp in Sources */, + 29A8F8E21EF0476C00AD2478 /* TimeModificationNormalTypeNormalDot.cpp in Sources */, + 29A8F9141EF0476C00AD2478 /* Timpani.cpp in Sources */, + 29A8FBBC1EF0476D00AD2478 /* Converter.cpp in Sources */, + 29A8F43C1EF0476900AD2478 /* Prefix.cpp in Sources */, + 29A8F0451EF0476700AD2478 /* Mode.cpp in Sources */, + 29A8FBD51EF0476D00AD2478 /* DirectionReader.cpp in Sources */, + 29A8F8A61EF0476C00AD2478 /* Tied.cpp in Sources */, + 29A8EE651EF0476600AD2478 /* LineWidth.cpp in Sources */, + 29A8F4961EF0476900AD2478 /* Rehearsal.cpp in Sources */, + 29A8EF051EF0476600AD2478 /* MeasureRepeat.cpp in Sources */, + 29A8F64E1EF0476A00AD2478 /* SnapPizzicato.cpp in Sources */, + 29A8EBD11EF0476500AD2478 /* Grouping.cpp in Sources */, + 29A8FA631EF0476D00AD2478 /* VerticalTurn.cpp in Sources */, + 29A8ECFD1EF0476600AD2478 /* Humming.cpp in Sources */, + 29A8F4FA1EF0476900AD2478 /* RightMargin.cpp in Sources */, + 29A8F75C1EF0476B00AD2478 /* StickAttributes.cpp in Sources */, + 29A8FB3F1EF0476D00AD2478 /* FontSize.cpp in Sources */, + 29A8F5C21EF0476A00AD2478 /* ScoreTimewiseAttributes.cpp in Sources */, + 29A8F52C1EF0476900AD2478 /* RootAlterAttributes.cpp in Sources */, + 29A8E63B1EF0476300AD2478 /* BendChoice.cpp in Sources */, + 29A8FADB1EF0476D00AD2478 /* Wood.cpp in Sources */, + 29A8E55F1EF0476300AD2478 /* BasePitch.cpp in Sources */, + 29A8EA911EF0476500AD2478 /* Fingering.cpp in Sources */, + 29A8F0271EF0476700AD2478 /* Miscellaneous.cpp in Sources */, + 29A8F13F1EF0476700AD2478 /* NoteChoice.cpp in Sources */, + 29A8F61C1EF0476A00AD2478 /* SlashType.cpp in Sources */, + 29A8FCAC1EF0476E00AD2478 /* PropertiesWriter.cpp in Sources */, + 29A8E9D31EF0476500AD2478 /* Ending.cpp in Sources */, + 29A8F1AD1EF0476800AD2478 /* OctaveShiftAttributes.cpp in Sources */, + 29A8E4651EF0476300AD2478 /* AccordionLow.cpp in Sources */, + 29A8F9961EF0476C00AD2478 /* TuningAlter.cpp in Sources */, + 29A8E8571EF0476400AD2478 /* Directive.cpp in Sources */, + 29A8ED571EF0476600AD2478 /* InstrumentSound.cpp in Sources */, + 29A8EFCD1EF0476700AD2478 /* MidiDevice.cpp in Sources */, + 29A8F8381EF0476B00AD2478 /* Tap.cpp in Sources */, + 29A8F9C81EF0476C00AD2478 /* TupletAttributes.cpp in Sources */, + 29A8EC3F1EF0476500AD2478 /* Handbell.cpp in Sources */, + 29A8E6F91EF0476400AD2478 /* Creator.cpp in Sources */, + 29A8E7491EF0476400AD2478 /* CreditWords.cpp in Sources */, + 29A8F95A1EF0476C00AD2478 /* Transpose.cpp in Sources */, + 29A8E6631EF0476300AD2478 /* Bracket.cpp in Sources */, + 29A8F48C1EF0476900AD2478 /* PullOffAttributes.cpp in Sources */, + 29A8F8061EF0476B00AD2478 /* SyllabicTextGroup.cpp in Sources */, + 29A8E93D1EF0476400AD2478 /* Elevation.cpp in Sources */, + 29A8F7481EF0476B00AD2478 /* Step.cpp in Sources */, + 29A8F8601EF0476B00AD2478 /* Tenths.cpp in Sources */, + 29A8F42D1EF0476900AD2478 /* PreBend.cpp in Sources */, + 29A8ED611EF0476600AD2478 /* Interchangeable.cpp in Sources */, + 29A8EEF11EF0476600AD2478 /* MeasureNumbering.cpp in Sources */, + 29A8E59B1EF0476300AD2478 /* Beam.cpp in Sources */, + 29A8E64F1EF0476300AD2478 /* BookmarkAttributes.cpp in Sources */, + 29A8FBB21EF0476D00AD2478 /* ArticulationsFunctions.cpp in Sources */, + 29A8EDED1EF0476600AD2478 /* KeyOctave.cpp in Sources */, + 29A8F5721EF0476A00AD2478 /* ScoreHeaderGroup.cpp in Sources */, + 29A8F0B31EF0476700AD2478 /* Natural.cpp in Sources */, + 29A8E6771EF0476300AD2478 /* BreathMark.cpp in Sources */, + 29A8E31B1EF0476300AD2478 /* MarkData.cpp in Sources */, + 29A8F1031EF0476700AD2478 /* NormalTypeNormalDotGroup.cpp in Sources */, + 29A8EAEB1EF0476500AD2478 /* FrameAttributes.cpp in Sources */, + 29A8F2071EF0476800AD2478 /* OtherAppearanceAttributes.cpp in Sources */, + 29A8EC7B1EF0476500AD2478 /* Harmony.cpp in Sources */, + 29A8EC851EF0476500AD2478 /* HarmonyAttributes.cpp in Sources */, + 29A8FC521EF0476E00AD2478 /* NotationsWriter.cpp in Sources */, + 29A8F0131EF0476700AD2478 /* MidiUnpitched.cpp in Sources */, + 29A8F66C1EF0476A00AD2478 /* SoloOrEnsembleChoice.cpp in Sources */, + 29A8F6F81EF0476A00AD2478 /* StaffLines.cpp in Sources */, + 29A8F1D51EF0476800AD2478 /* Opus.cpp in Sources */, + 29A8E2D51EF0476300AD2478 /* ClefData.cpp in Sources */, + 29A8F84C1EF0476B00AD2478 /* Technical.cpp in Sources */, + 29A8F7161EF0476B00AD2478 /* StaffTuningAttributes.cpp in Sources */, + 29A8E4291EF0476300AD2478 /* AccidentalMarkAttributes.cpp in Sources */, + 29A8F9DC1EF0476C00AD2478 /* TupletDotAttributes.cpp in Sources */, + 29A8E7031EF0476400AD2478 /* CreatorAttributes.cpp in Sources */, + 29A8F8101EF0476B00AD2478 /* SystemDistance.cpp in Sources */, + 29A8EF691EF0476700AD2478 /* MetronomeBeamAttributes.cpp in Sources */, + 29A8E3751EF0476300AD2478 /* Smufl.cpp in Sources */, + 29A8FB211EF0476D00AD2478 /* Elements.cpp in Sources */, + 29A8E4D31EF0476300AD2478 /* ArrowDirection.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -10047,82 +9994,79 @@ }; name = Release; }; - 29B962871E79FF410072071D /* Debug */ = { + 29A8FDC81EF0497500AD2478 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_UNREACHABLE_CODE = YES; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CODE_SIGN_IDENTITY = "-"; + COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 1; DEBUG_INFORMATION_FORMAT = dwarf; DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = RRS55ZY6E5; + DEVELOPMENT_TEAM = BEL6W3V5K4; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = MxiOS/Info.plist; + FRAMEWORK_VERSION = A; + INFOPLIST_FILE = MxmacOS/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.2; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.12; MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = NO; - PRODUCT_BUNDLE_IDENTIFIER = mjb.MxiOS; + PRODUCT_BUNDLE_IDENTIFIER = com.matthewjamesbriggs.MxmacOS; PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos10.2; + SDKROOT = macosx; SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VALID_ARCHS = "arm64 armv7 armv7s x86_64 i386"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 29B962881E79FF410072071D /* Release */ = { + 29A8FDC91EF0497500AD2478 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_UNREACHABLE_CODE = YES; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CODE_SIGN_IDENTITY = "-"; + COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; CURRENT_PROJECT_VERSION = 1; DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = RRS55ZY6E5; + DEVELOPMENT_TEAM = BEL6W3V5K4; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = MxiOS/Info.plist; + FRAMEWORK_VERSION = A; + INFOPLIST_FILE = MxmacOS/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.2; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.12; MTL_ENABLE_DEBUG_INFO = NO; - ONLY_ACTIVE_ARCH = NO; - PRODUCT_BUNDLE_IDENTIFIER = mjb.MxiOS; + PRODUCT_BUNDLE_IDENTIFIER = com.matthewjamesbriggs.MxmacOS; PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos10.2; + SDKROOT = macosx; SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VALID_ARCHS = "arm64 armv7 armv7s x86_64 i386"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Release; }; - 29B9652E1E7A04140072071D /* Debug */ = { + 29B962871E79FF410072071D /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_UNREACHABLE_CODE = YES; - CODE_SIGN_IDENTITY = "-"; - COMBINE_HIDPI_IMAGES = YES; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CURRENT_PROJECT_VERSION = 1; DEBUG_INFORMATION_FORMAT = dwarf; DEFINES_MODULE = YES; @@ -10130,31 +10074,32 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_VERSION = A; - INFOPLIST_FILE = MxmacOS/Info.plist; + INFOPLIST_FILE = MxiOS/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.11; + IPHONEOS_DEPLOYMENT_TARGET = 10.2; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = NO; - PRODUCT_BUNDLE_IDENTIFIER = mjb.MxmacOS; + PRODUCT_BUNDLE_IDENTIFIER = mjb.MxiOS; PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = macosx; + SDKROOT = iphoneos10.2; SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VALID_ARCHS = "arm64 armv7 armv7s x86_64 i386"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 29B9652F1E7A04140072071D /* Release */ = { + 29B962881E79FF410072071D /* Release */ = { isa = XCBuildConfiguration; buildSettings = { CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_UNREACHABLE_CODE = YES; - CODE_SIGN_IDENTITY = "-"; - COMBINE_HIDPI_IMAGES = YES; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = NO; CURRENT_PROJECT_VERSION = 1; DEFINES_MODULE = YES; @@ -10162,17 +10107,19 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_VERSION = A; - INFOPLIST_FILE = MxmacOS/Info.plist; + INFOPLIST_FILE = MxiOS/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.11; + IPHONEOS_DEPLOYMENT_TARGET = 10.2; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MTL_ENABLE_DEBUG_INFO = NO; ONLY_ACTIVE_ARCH = NO; - PRODUCT_BUNDLE_IDENTIFIER = mjb.MxmacOS; + PRODUCT_BUNDLE_IDENTIFIER = mjb.MxiOS; PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = macosx; + SDKROOT = iphoneos10.2; SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VALID_ARCHS = "arm64 armv7 armv7s x86_64 i386"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; @@ -10264,20 +10211,19 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 29B962861E79FF410072071D /* Build configuration list for PBXNativeTarget "MxiOS" */ = { + 29A8FDC71EF0497500AD2478 /* Build configuration list for PBXNativeTarget "MxmacOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - 29B962871E79FF410072071D /* Debug */, - 29B962881E79FF410072071D /* Release */, + 29A8FDC81EF0497500AD2478 /* Debug */, + 29A8FDC91EF0497500AD2478 /* Release */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; }; - 29B965301E7A04140072071D /* Build configuration list for PBXNativeTarget "MxmacOS" */ = { + 29B962861E79FF410072071D /* Build configuration list for PBXNativeTarget "MxiOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - 29B9652E1E7A04140072071D /* Debug */, - 29B9652F1E7A04140072071D /* Release */, + 29B962871E79FF410072071D /* Debug */, + 29B962881E79FF410072071D /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Xcode/MxTest.xcodeproj/project.pbxproj b/Xcode/MxTest.xcodeproj/project.pbxproj index 73e45cf1e..733bc90ff 100755 --- a/Xcode/MxTest.xcodeproj/project.pbxproj +++ b/Xcode/MxTest.xcodeproj/project.pbxproj @@ -45,7 +45,7 @@ 297DD7C91D1A4BD1003BADC1 /* ImportTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 297DD7C81D1A4BD1003BADC1 /* ImportTest.cpp */; }; 2983E3E61EB43878007FCC34 /* DirectionDataTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2983E3E51EB43878007FCC34 /* DirectionDataTest.cpp */; }; 298F0F4D1D1E4981005C3D9D /* ImportTestImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 298F0F4B1D1E4981005C3D9D /* ImportTestImpl.cpp */; }; - 29A16F8F1EB11B4400D59278 /* PreciseDecimalTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A16F8E1EB11B4400D59278 /* PreciseDecimalTest.cpp */; }; + 29A800611EF04A5F00AD2478 /* PreciseDecimalTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A800601EF04A5F00AD2478 /* PreciseDecimalTest.cpp */; }; 29B48EDB1DBE7F550030A974 /* MeasureWriterTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29B48ED71DBE7F550030A974 /* MeasureWriterTest.cpp */; }; 29B48EDC1DBE7F550030A974 /* NoteWriterTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29B48ED81DBE7F550030A974 /* NoteWriterTest.cpp */; }; 29B48EDD1DBE7F550030A974 /* PartWriterTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29B48ED91DBE7F550030A974 /* PartWriterTest.cpp */; }; @@ -536,8 +536,8 @@ 298F0F4C1D1E4981005C3D9D /* ImportTestImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ImportTestImpl.h; path = ../Sourcecode/mxtest/import/ImportTestImpl.h; sourceTree = ""; }; 29979D611DC811F300707AA4 /* TimeSignatureApiTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TimeSignatureApiTest.cpp; path = ../Sourcecode/mxtest/api/TimeSignatureApiTest.cpp; sourceTree = ""; }; 299F7FF61CA8D2620084CAE5 /* MxTest */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = MxTest; sourceTree = BUILT_PRODUCTS_DIR; }; - 29A16F8E1EB11B4400D59278 /* PreciseDecimalTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PreciseDecimalTest.cpp; path = ../Sourcecode/mx/core/elements/PreciseDecimalTest.cpp; sourceTree = ""; }; 29A3387F1E652432001D61DD /* BombeTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BombeTest.cpp; path = ../Sourcecode/mxtest/api/BombeTest.cpp; sourceTree = ""; }; + 29A800601EF04A5F00AD2478 /* PreciseDecimalTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PreciseDecimalTest.cpp; path = ../Sourcecode/mxtest/core/PreciseDecimalTest.cpp; sourceTree = ""; }; 29AD58B71E3D1000004FD94E /* MetronomeApiTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MetronomeApiTest.cpp; path = ../Sourcecode/mxtest/api/MetronomeApiTest.cpp; sourceTree = ""; }; 29B48ED71DBE7F550030A974 /* MeasureWriterTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MeasureWriterTest.cpp; path = ../Sourcecode/mxtest/impl/MeasureWriterTest.cpp; sourceTree = ""; }; 29B48ED81DBE7F550030A974 /* NoteWriterTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NoteWriterTest.cpp; path = ../Sourcecode/mxtest/impl/NoteWriterTest.cpp; sourceTree = ""; }; @@ -1145,6 +1145,7 @@ 292E37201CA8D6A400CC63BB /* core */ = { isa = PBXGroup; children = ( + 29A800601EF04A5F00AD2478 /* PreciseDecimalTest.cpp */, 29C01B641D1312F90094BE61 /* AccentTest.cpp */, 29C01B651D1312F90094BE61 /* AccidentalMarkTest.cpp */, 29C01B661D1312F90094BE61 /* AccidentalTest.cpp */, @@ -1510,7 +1511,6 @@ 29C01CCD1D1312F90094BE61 /* PluckTest.cpp */, 29C01CCE1D1312F90094BE61 /* PositiveIntegerOrEmptyTest.cpp */, 29C01CCF1D1312F90094BE61 /* PreBendTest.cpp */, - 29A16F8E1EB11B4400D59278 /* PreciseDecimalTest.cpp */, 29C01CD01D1312F90094BE61 /* PrefixTest.cpp */, 29C01CD11D1312F90094BE61 /* PrincipalVoiceTest.cpp */, 29C01CD21D1312F90094BE61 /* PrintTest.cpp */, @@ -2245,7 +2245,6 @@ 29C01E141D1312FA0094BE61 /* InstrumentsTest.cpp in Sources */, 29C01D6D1D1312FA0094BE61 /* AccidentalMarkTest.cpp in Sources */, 29C01DE61D1312FA0094BE61 /* FingernailsTest.cpp in Sources */, - 29A16F8F1EB11B4400D59278 /* PreciseDecimalTest.cpp in Sources */, 29C01D6C1D1312FA0094BE61 /* AccentTest.cpp in Sources */, 29C01D9C1D1312FA0094BE61 /* CodaTest.cpp in Sources */, 29C01EC41D1312FA0094BE61 /* StickTypeTest.cpp in Sources */, @@ -2262,6 +2261,7 @@ 29C01EE11D1312FA0094BE61 /* TimpaniTest.cpp in Sources */, 295897271DB9806600F18FBA /* MxFile.cpp in Sources */, 29C01DC51D1312FA0094BE61 /* DoitTest.cpp in Sources */, + 29A800611EF04A5F00AD2478 /* PreciseDecimalTest.cpp in Sources */, 29C01E931D1312FA0094BE61 /* RestTest.cpp in Sources */, 29C01E111D1312FA0094BE61 /* InstrumentAbbreviationTest.cpp in Sources */, 290A8D171E897C9000AF62C8 /* ApiMuAccidentals1Test.cpp in Sources */, diff --git a/Xcode/MxmacOS/MxmacOS.h b/Xcode/MxmacOS/MxmacOS.h index 39129d993..23e3e8b06 100644 --- a/Xcode/MxmacOS/MxmacOS.h +++ b/Xcode/MxmacOS/MxmacOS.h @@ -2,7 +2,7 @@ // MxmacOS.h // MxmacOS // -// Created by mjb on 3/15/17. +// Created by mjb on 6/13/17. // Copyright © 2017 Matthew James Briggs. All rights reserved. // From d792f923da5a11927d4f01285059f885d7b75cd4 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Tue, 13 Jun 2017 14:55:40 -0700 Subject: [PATCH 049/108] mxapi add musicxml instrument sound strings --- Sourcecode/mx/api/InstrumentSound.cpp | 13 + Sourcecode/mx/api/InstrumentSound.h | 908 ++++++++++++++++++ Sourcecode/mx/api/PartData.h | 5 +- Sourcecode/mx/core/Enums.h | 895 +++++++++++++++++ .../mx/core/elements/InstrumentSound.cpp | 12 +- Sourcecode/mx/core/elements/InstrumentSound.h | 13 +- Sourcecode/mx/impl/Converter.cpp | 903 +++++++++++++++++ Sourcecode/mx/impl/Converter.h | 6 +- Sourcecode/mx/impl/PartReader.cpp | 3 +- Sourcecode/mx/impl/PartWriter.cpp | 5 +- Sourcecode/mx/utility/EnumWithString.h | 2 +- Sourcecode/mxtest/control/CompileControl.h | 2 +- .../mxtest/core/InstrumentSoundTest.cpp | 10 +- Xcode/Mx.xcodeproj/project.pbxproj | 24 + 14 files changed, 2775 insertions(+), 26 deletions(-) create mode 100644 Sourcecode/mx/api/InstrumentSound.cpp create mode 100644 Sourcecode/mx/api/InstrumentSound.h diff --git a/Sourcecode/mx/api/InstrumentSound.cpp b/Sourcecode/mx/api/InstrumentSound.cpp new file mode 100644 index 000000000..e5f753f6f --- /dev/null +++ b/Sourcecode/mx/api/InstrumentSound.cpp @@ -0,0 +1,13 @@ +// MusicXML Class Library +// Copyright (c) by Matthew James Briggs +// Distributed under the MIT License + +#include "mx/api/InstrumentSound.h" + +namespace mx +{ + namespace api + { + + } +} diff --git a/Sourcecode/mx/api/InstrumentSound.h b/Sourcecode/mx/api/InstrumentSound.h new file mode 100644 index 000000000..89b1855e9 --- /dev/null +++ b/Sourcecode/mx/api/InstrumentSound.h @@ -0,0 +1,908 @@ +// MusicXML Class Library +// Copyright (c) by Matthew James Briggs +// Distributed under the MIT License + +#pragma once + +//#include "mx/api/ApiCommon.h" +//#include "mx/api/PositionData.h" +//#include "mx/api/ColorData.h" +//#include "mx/api/FontData.h" + +namespace mx +{ + namespace api + { + enum class InstrumentSound + { + unspecified, + errorBadString, + brassAlphorn, + brassAltoHorn, + brassBaritoneHorn, + brassBugle, + brassBugleAlto, + brassBugleBaritone, + brassBugleContrabass, + brassBugleEuphoniumBugle, + brassBugleMellophoneBugle, + brassBugleSoprano, + brassCimbasso, + brassConchShell, + brassCornet, + brassCornetSoprano, + brassCornett, + brassCornettTenor, + brassCornettino, + brassDidgeridoo, + brassEuphonium, + brassFiscorn, + brassFlugelhorn, + brassFrenchHorn, + brassGroup, + brassGroupSynth, + brassHelicon, + brassHoragai, + brassKuhlohorn, + brassMellophone, + brassNaturalHorn, + brassOphicleide, + brassPosthorn, + brassRagDung, + brassSackbutt, + brassSackbuttAlto, + brassSackbuttBass, + brassSackbuttTenor, + brassSaxhorn, + brassSerpent, + brassShofar, + brassSousaphone, + brassTrombone, + brassTromboneAlto, + brassTromboneBass, + brassTromboneContrabass, + brassTromboneTenor, + brassTrumpet, + brassTrumpetBaroque, + brassTrumpetBass, + brassTrumpetBflat, + brassTrumpetC, + brassTrumpetD, + brassTrumpetPiccolo, + brassTrumpetPocket, + brassTrumpetSlide, + brassTrumpetTenor, + brassTuba, + brassTubaBass, + brassTubaSubcontrabass, + brassViennaHorn, + brassVuvuzela, + brassWagnerTuba, + drumApentemma, + drumAshiko, + drumAtabaque, + drumAtoke, + drumAtsimevu, + drumAxatse, + drumBassDrum, + drumBata, + drumBataItotele, + drumBataIya, + drumBataOkonkolo, + drumBendir, + drumBodhran, + drumBombo, + drumBongo, + drumBougarabou, + drumBuffaloDrum, + drumCajon, + drumChenda, + drumChuDaiko, + drumConga, + drumCuica, + drumDabakan, + drumDaff, + drumDafli, + drumDaibyosi, + drumDamroo, + drumDarabuka, + drumDef, + drumDhol, + drumDholak, + drumDjembe, + drumDoira, + drumDondo, + drumDounDounBa, + drumDuff, + drumDumbek, + drumFontomfrom, + drumFrameDrum, + drumFrameDrumArabian, + drumGeduk, + drumGhatam, + drumGome, + drumGroup, + drumGroupChinese, + drumGroupEwe, + drumGroupIndian, + drumGroupSet, + drumHandDrum, + drumHiraDaiko, + drumIbo, + drumIgihumurizo, + drumInyahura, + drumIshakwe, + drumJangGu, + drumKagan, + drumKakko, + drumKanjira, + drumKendhang, + drumKendhangAgeng, + drumKendhangCiblon, + drumKenkeni, + drumKhol, + drumKickDrum, + drumKidi, + drumKoDaiko, + drumKpanlogo, + drumKudum, + drumLambeg, + drumLionDrum, + drumLogDrum, + drumLogDrumAfrican, + drumLogDrumNative, + drumLogDrumNigerian, + drumMadal, + drumMaddale, + drumMridangam, + drumNaal, + drumNagadoDaiko, + drumNagara, + drumNaqara, + drumODaiko, + drumOkawa, + drumOkedoDaiko, + drumPahuHula, + drumPakhawaj, + drumPandeiro, + drumPandero, + drumPowwow, + drumPueblo, + drumRepinique, + drumRiq, + drumRototom, + drumSabar, + drumSakara, + drumSampho, + drumSangban, + drumShimeDaiko, + drumSlitDrum, + drumSlitDrumKrin, + drumSnareDrum, + drumSnareDrumElectric, + drumSogo, + drumSurdo, + drumTabla, + drumTablaBayan, + drumTablaDayan, + drumTaiko, + drumTalking, + drumTama, + drumTamborita, + drumTambourine, + drumTamte, + drumTangku, + drumTanTan, + drumTaphon, + drumTar, + drumTasha, + drumTenorDrum, + drumTeponaxtli, + drumThavil, + drumTheBox, + drumTimbale, + drumTimpani, + drumTinaja, + drumToere, + drumTombak, + drumTomTom, + drumTomTomSynth, + drumTsuzumi, + drumTumbak, + drumUchiwaDaiko, + drumUdaku, + drumUdu, + drumZarb, + effectAeolianHarp, + effectAirHorn, + effectApplause, + effectBassStringSlap, + effectBird, + effectBirdNightingale, + effectBirdTweet, + effectBreath, + effectBubble, + effectBullroarer, + effectBurst, + effectCar, + effectCarCrash, + effectCarEngine, + effectCarPass, + effectCarStop, + effectCrickets, + effectDog, + effectDoorCreak, + effectDoorSlam, + effectExplosion, + effectFluteKeyClick, + effectFootsteps, + effectFrogs, + effectGuitarCutting, + effectGuitarFret, + effectGunshot, + effectHandClap, + effectHeartbeat, + effectHelicopter, + effectHighQ, + effectHorseGallop, + effectJetPlane, + effectLaserGun, + effectLaugh, + effectLionsRoar, + effectMachineGun, + effectMarchingMachine, + effectMetronomeBell, + effectMetronomeClick, + effectPat, + effectPunch, + effectRain, + effectScratch, + effectScream, + effectSeashore, + effectSiren, + effectSlap, + effectSnap, + effectStamp, + effectStarship, + effectStream, + effectTelephoneRing, + effectThunder, + effectTrain, + effectTrashCan, + effectWhip, + effectWhistle, + effectWhistleMouthSiren, + effectWhistlePolice, + effectWhistleSlide, + effectWhistleTrain, + effectWind, + keyboardAccordion, + keyboardBandoneon, + keyboardCelesta, + keyboardClavichord, + keyboardClavichordSynth, + keyboardConcertina, + keyboardFortepiano, + keyboardHarmonium, + keyboardHarpsichord, + keyboardOndesMartenot, + keyboardOrgan, + keyboardOrganDrawbar, + keyboardOrganPercussive, + keyboardOrganPipe, + keyboardOrganReed, + keyboardOrganRotary, + keyboardPiano, + keyboardPianoElectric, + keyboardPianoGrand, + keyboardPianoHonkyTonk, + keyboardPianoPrepared, + keyboardPianoToy, + keyboardPianoUpright, + keyboardVirginal, + metalAdodo, + metalAnvil, + metalBabendil, + metalBellsAgogo, + metalBellsAlmglocken, + metalBellsBellPlate, + metalBellsBellTree, + metalBellsCarillon, + metalBellsChimes, + metalBellsChimta, + metalBellsChippli, + metalBellsChurch, + metalBellsCowbell, + metalBellsDawuro, + metalBellsGankokwe, + metalBellsGhungroo, + metalBellsHatheli, + metalBellsJingleBell, + metalBellsKhartal, + metalBellsMarkTree, + metalBellsSistrum, + metalBellsSleighBells, + metalBellsTemple, + metalBellsTibetan, + metalBellsTinklebell, + metalBellsTrychel, + metalBellsWindChimes, + metalBellsZills, + metalBerimbau, + metalBrakeDrums, + metalCrotales, + metalCymbalBo, + metalCymbalCengCeng, + metalCymbalChabara, + metalCymbalChinese, + metalCymbalChing, + metalCymbalClash, + metalCymbalCrash, + metalCymbalFinger, + metalCymbalHand, + metalCymbalKesi, + metalCymbalManjeera, + metalCymbalReverse, + metalCymbalRide, + metalCymbalSizzle, + metalCymbalSplash, + metalCymbalSuspended, + metalCymbalTebyoshi, + metalCymbalTibetan, + metalCymbalTingsha, + metalFlexatone, + metalGong, + metalGongAgeng, + metalGongAgung, + metalGongChanchiki, + metalGongChinese, + metalGongGandingan, + metalGongKempul, + metalGongKempyang, + metalGongKetuk, + metalGongKkwenggwari, + metalGongLuo, + metalGongSinging, + metalGongThai, + metalGuira, + metalHang, + metalHiHat, + metalJawHarp, + metalKengong, + metalMurchang, + metalMusicalSaw, + metalSingingBowl, + metalSpoons, + metalSteelDrums, + metalTamtam, + metalThundersheet, + metalTriangle, + metalWashboard, + pitchedPercussionAngklung, + pitchedPercussionBalafon, + pitchedPercussionBellLyre, + pitchedPercussionBells, + pitchedPercussionBianqing, + pitchedPercussionBianzhong, + pitchedPercussionBonang, + pitchedPercussionCimbalom, + pitchedPercussionCrystalGlasses, + pitchedPercussionDanTamThapLuc, + pitchedPercussionFangxiang, + pitchedPercussionGandinganAKayo, + pitchedPercussionGangsa, + pitchedPercussionGender, + pitchedPercussionGiying, + pitchedPercussionGlassHarmonica, + pitchedPercussionGlockenspiel, + pitchedPercussionGlockenspielAlto, + pitchedPercussionGlockenspielSoprano, + pitchedPercussionGyil, + pitchedPercussionHammerDulcimer, + pitchedPercussionHandbells, + pitchedPercussionKalimba, + pitchedPercussionKantil, + pitchedPercussionKhim, + pitchedPercussionKulintang, + pitchedPercussionKulintangAKayo, + pitchedPercussionKulintangATiniok, + pitchedPercussionLikembe, + pitchedPercussionLuntang, + pitchedPercussionMarimba, + pitchedPercussionMarimbaBass, + pitchedPercussionMbira, + pitchedPercussionMbiraArray, + pitchedPercussionMetallophone, + pitchedPercussionMetallophoneAlto, + pitchedPercussionMetallophoneBass, + pitchedPercussionMetallophoneSoprano, + pitchedPercussionMusicBox, + pitchedPercussionPelogPanerus, + pitchedPercussionPemade, + pitchedPercussionPenyacah, + pitchedPercussionRanatEk, + pitchedPercussionRanatEkLek, + pitchedPercussionRanatThum, + pitchedPercussionRanatThumLek, + pitchedPercussionReyong, + pitchedPercussionSanza, + pitchedPercussionSaronBarung, + pitchedPercussionSaronDemong, + pitchedPercussionSaronPanerus, + pitchedPercussionSlendroPanerus, + pitchedPercussionSlentem, + pitchedPercussionTsymbaly, + pitchedPercussionTubes, + pitchedPercussionTubularBells, + pitchedPercussionVibraphone, + pitchedPercussionXylophone, + pitchedPercussionXylophoneAlto, + pitchedPercussionXylophoneBass, + pitchedPercussionXylophoneSoprano, + pitchedPercussionXylorimba, + pitchedPercussionYangqin, + pluckArchlute, + pluckAutoharp, + pluckBaglama, + pluckBajo, + pluckBalalaika, + pluckBalalaikaAlto, + pluckBalalaikaBass, + pluckBalalaikaContrabass, + pluckBalalaikaPiccolo, + pluckBalalaikaPrima, + pluckBalalaikaSecunda, + pluckBandola, + pluckBandura, + pluckBandurria, + pluckBanjo, + pluckBanjoTenor, + pluckBanjolele, + pluckBarbat, + pluckBass, + pluckBassAcoustic, + pluckBassBolon, + pluckBassElectric, + pluckBassFretless, + pluckBassGuitarron, + pluckBassSynth, + pluckBassSynthLead, + pluckBassWashtub, + pluckBassWhamola, + pluckBegena, + pluckBiwa, + pluckBordonua, + pluckBouzouki, + pluckBouzoukiIrish, + pluckCelticHarp, + pluckCharango, + pluckChitarraBattente, + pluckCithara, + pluckCittern, + pluckCuatro, + pluckDanBau, + pluckDanNguyet, + pluckDanTranh, + pluckDanTyBa, + pluckDiddleyBow, + pluckDomra, + pluckDomu, + pluckDulcimer, + pluckDutar, + pluckDuxianqin, + pluckEktara, + pluckGeomungo, + pluckGottuvadhyam, + pluckGuitar, + pluckGuitarAcoustic, + pluckGuitarElectric, + pluckGuitarNylonString, + pluckGuitarPedalSteel, + pluckGuitarPortuguese, + pluckGuitarRequinto, + pluckGuitarResonator, + pluckGuitarSteelString, + pluckGuitjo, + pluckGuitjoDoubleNeck, + pluckGuqin, + pluckGuzheng, + pluckGuzhengChoazhou, + pluckHarp, + pluckHarpGuitar, + pluckHuapanguera, + pluckJaranaHuasteca, + pluckJaranaJarocha, + pluckJaranaJarochaMosquito, + pluckJaranaJarochaPrimera, + pluckJaranaJarochaSegunda, + pluckJaranaJarochaTercera, + pluckKabosy, + pluckKantele, + pluckKanun, + pluckKayagum, + pluckKobza, + pluckKomuz, + pluckKora, + pluckKoto, + pluckKutiyapi, + pluckLangeleik, + pluckLaud, + pluckLute, + pluckLyre, + pluckMandobass, + pluckMandocello, + pluckMandola, + pluckMandolin, + pluckMandolinOctave, + pluckMandora, + pluckMandore, + pluckMarovany, + pluckMusicalBow, + pluckNgoni, + pluckOud, + pluckPipa, + pluckPsaltery, + pluckRuan, + pluckSallaneh, + pluckSanshin, + pluckSantoor, + pluckSanxian, + pluckSarod, + pluckSaung, + pluckSaz, + pluckSe, + pluckSetar, + pluckShamisen, + pluckSitar, + pluckSynth, + pluckSynthCharang, + pluckSynthChiff, + pluckSynthStick, + pluckTambura, + pluckTamburaBulgarian, + pluckTamburaFemale, + pluckTamburaMale, + pluckTar, + pluckTheorbo, + pluckTimple, + pluckTiple, + pluckTres, + pluckUkulele, + pluckUkuleleTenor, + pluckValiha, + pluckVeena, + pluckVeenaMohan, + pluckVeenaRudra, + pluckVeenaVichitra, + pluckVihuela, + pluckVihuelaMexican, + pluckXalam, + pluckYueqin, + pluckZither, + pluckZitherOvertone, + rattleAfoxe, + rattleBirds, + rattleCabasa, + rattleCaxixi, + rattleCog, + rattleGanza, + rattleHosho, + rattleJawbone, + rattleKayamba, + rattleKpokoKpoko, + rattleLavaStones, + rattleMaraca, + rattleRainStick, + rattleRatchet, + rattleRattle, + rattleShaker, + rattleShakerEgg, + rattleShekere, + rattleSistre, + rattleTelevi, + rattleVibraslap, + rattleWasembe, + stringsAjaeng, + stringsArpeggione, + stringsBaryton, + stringsCello, + stringsCelloPiccolo, + stringsContrabass, + stringsCrwth, + stringsDanGao, + stringsDihu, + stringsErhu, + stringsErxian, + stringsEsraj, + stringsFiddle, + stringsFiddleHardanger, + stringsGadulka, + stringsGaohu, + stringsGehu, + stringsGroup, + stringsGroupSynth, + stringsHaegeum, + stringsHurdyGurdy, + stringsIgil, + stringsKamancha, + stringsKokyu, + stringsLaruan, + stringsLeiqin, + stringsLirone, + stringsLyraByzantine, + stringsLyraCretan, + stringsMorinKhuur, + stringsNyckelharpa, + stringsOctobass, + stringsRebab, + stringsRebec, + stringsSarangi, + stringsStrohViolin, + stringsTrombaMarina, + stringsVielle, + stringsViol, + stringsViolAlto, + stringsViolBass, + stringsViolTenor, + stringsViolTreble, + stringsViolViolone, + stringsViola, + stringsViolaDamore, + stringsViolin, + stringsViolonoPiccolo, + stringsViolotta, + stringsYayliTanbur, + stringsYazheng, + stringsZhonghu, + synthEffects, + synthEffectsAtmosphere, + synthEffectsBrightness, + synthEffectsCrystal, + synthEffectsEchoes, + synthEffectsGoblins, + synthEffectsRain, + synthEffectsSciFi, + synthEffectsSoundtrack, + synthGroup, + synthGroupFifths, + synthGroupOrchestra, + synthPad, + synthPadBowed, + synthPadChoir, + synthPadHalo, + synthPadMetallic, + synthPadPolysynth, + synthPadSweep, + synthPadWarm, + synthTheremin, + synthToneSawtooth, + synthToneSine, + synthToneSquare, + voiceAa, + voiceAlto, + voiceAw, + voiceBaritone, + voiceBass, + voiceChild, + voiceCountertenor, + voiceDoo, + voiceEe, + voiceFemale, + voiceKazoo, + voiceMale, + voiceMezzoSoprano, + voiceMm, + voiceOo, + voicePercussion, + voicePercussionBeatbox, + voiceSoprano, + voiceSynth, + voiceTalkBox, + voiceTenor, + voiceVocals, + windFlutesBansuri, + windFlutesBlownBottle, + windFlutesCalliope, + windFlutesDanso, + windFlutesDiZi, + windFlutesDvojnice, + windFlutesFife, + windFlutesFlageolet, + windFlutesFlute, + windFlutesFluteAlto, + windFlutesFluteBass, + windFlutesFluteContraAlto, + windFlutesFluteContrabass, + windFlutesFluteDoubleContrabass, + windFlutesFluteIrish, + windFlutesFlutePiccolo, + windFlutesFluteSubcontrabass, + windFlutesFujara, + windFlutesGemshorn, + windFlutesHocchiku, + windFlutesHun, + windFlutesKaval, + windFlutesKawala, + windFlutesKhlui, + windFlutesKnotweed, + windFlutesKoncovkaAlto, + windFlutesKoudi, + windFlutesNey, + windFlutesNohkan, + windFlutesNose, + windFlutesOcarina, + windFlutesOvertoneTenor, + windFlutesPalendag, + windFlutesPanpipes, + windFlutesQuena, + windFlutesRecorder, + windFlutesRecorderAlto, + windFlutesRecorderBass, + windFlutesRecorderContrabass, + windFlutesRecorderDescant, + windFlutesRecorderGarklein, + windFlutesRecorderGreatBass, + windFlutesRecorderSopranino, + windFlutesRecorderSoprano, + windFlutesRecorderTenor, + windFlutesRyuteki, + windFlutesShakuhachi, + windFlutesShepherdsPipe, + windFlutesShinobue, + windFlutesShvi, + windFlutesSuling, + windFlutesTarka, + windFlutesTumpong, + windFlutesVenu, + windFlutesWhistle, + windFlutesWhistleAlto, + windFlutesWhistleLowIrish, + windFlutesWhistleShiva, + windFlutesWhistleSlide, + windFlutesWhistleTin, + windFlutesWhistleTinBflat, + windFlutesWhistleTinD, + windFlutesXiao, + windFlutesXun, + windGroup, + windJug, + windPipesBagpipes, + windPipesGaida, + windPipesHighland, + windPipesUilleann, + windPungi, + windReedAlbogue, + windReedAlboka, + windReedAlgaita, + windReedArghul, + windReedBassetHorn, + windReedBassoon, + windReedBawu, + windReedBifora, + windReedBombarde, + windReedChalumeau, + windReedClarinet, + windReedClarinetA, + windReedClarinetAlto, + windReedClarinetBass, + windReedClarinetBasset, + windReedClarinetBflat, + windReedClarinetContraAlto, + windReedClarinetContrabass, + windReedClarinetEflat, + windReedClarinetPiccoloAflat, + windReedClarinetteDamour, + windReedContrabass, + windReedContrabassoon, + windReedCornamuse, + windReedCromorne, + windReedCrumhorn, + windReedCrumhornAlto, + windReedCrumhornBass, + windReedCrumhornGreatBass, + windReedCrumhornSoprano, + windReedCrumhornTenor, + windReedDiple, + windReedDiplica, + windReedDuduk, + windReedDulcian, + windReedDulzaina, + windReedEnglishHorn, + windReedGuanzi, + windReedHarmonica, + windReedHarmonicaBass, + windReedHeckelClarina, + windReedHeckelphone, + windReedHeckelphonePiccolo, + windReedHeckelphoneClarinet, + windReedHichiriki, + windReedHirtenschalmei, + windReedHne, + windReedHornpipe, + windReedHouguan, + windReedHulusi, + windReedJogiBaja, + windReedKenBau, + windReedKhaenMouthOrgan, + windReedLauneddas, + windReedMaqrunah, + windReedMelodica, + windReedMijwiz, + windReedMizmar, + windReedNadaswaram, + windReedOboe, + windReedOboeBass, + windReedOboePiccolo, + windReedOboeDaCaccia, + windReedOboeDamore, + windReedOctavin, + windReedPi, + windReedPibgorn, + windReedPiri, + windReedRackett, + windReedRauschpfeife, + windReedRhaita, + windReedRothphone, + windReedSarrusaphone, + windReedSaxonette, + windReedSaxophone, + windReedSaxophoneAlto, + windReedSaxophoneAulochrome, + windReedSaxophoneBaritone, + windReedSaxophoneBass, + windReedSaxophoneContrabass, + windReedSaxophoneMelody, + windReedSaxophoneMezzoSoprano, + windReedSaxophoneSopranino, + windReedSaxophoneSopranissimo, + windReedSaxophoneSoprano, + windReedSaxophoneSubcontrabass, + windReedSaxophoneTenor, + windReedShawm, + windReedShenai, + windReedSheng, + windReedSipsi, + windReedSopila, + windReedSorna, + windReedSralai, + windReedSuona, + windReedSurnai, + windReedTaepyeongso, + windReedTarogato, + windReedTarogatoAncient, + windReedTrompetaChina, + windReedTubax, + windReedXaphoon, + windReedZhaleika, + windReedZurla, + windReedZurna, + woodAgogoBlock, + woodAgungATamlang, + woodAhoko, + woodBones, + woodCastanets, + woodClaves, + woodDrumSticks, + woodGourd, + woodGraniteBlock, + woodGuban, + woodGuiro, + woodHyoushigi, + woodIpu, + woodJamBlock, + woodKaekeeke, + woodKagul, + woodKalaau, + woodKashiklar, + woodKubing, + woodPanClappers, + woodSandBlock, + woodSlapstick, + woodStirDrum, + woodTempleBlock, + woodTicTocBlock, + woodTonetang, + woodWoodBlock, + }; + } +} diff --git a/Sourcecode/mx/api/PartData.h b/Sourcecode/mx/api/PartData.h index 49adfcb0d..4dad73945 100755 --- a/Sourcecode/mx/api/PartData.h +++ b/Sourcecode/mx/api/PartData.h @@ -5,6 +5,7 @@ #pragma once #include "mx/api/MeasureData.h" +#include "mx/api/InstrumentSound.h" #include #include @@ -76,7 +77,7 @@ namespace mx std::string uniqueId; std::string name; std::string abbreviation; - std::string sound; + InstrumentSound instrumentSound; SoloOrEnsemble soloOrEnsemble; MidiData midiData; }; @@ -153,7 +154,7 @@ namespace mx MXAPI_EQUALS_MEMBER( uniqueId ) MXAPI_EQUALS_MEMBER( name ) MXAPI_EQUALS_MEMBER( abbreviation ) - MXAPI_EQUALS_MEMBER( sound ) + MXAPI_EQUALS_MEMBER( instrumentSound ) MXAPI_EQUALS_MEMBER( soloOrEnsemble ) MXAPI_EQUALS_MEMBER( midiData ) MXAPI_EQUALS_END; diff --git a/Sourcecode/mx/core/Enums.h b/Sourcecode/mx/core/Enums.h index 6604136d1..7e3bfa651 100755 --- a/Sourcecode/mx/core/Enums.h +++ b/Sourcecode/mx/core/Enums.h @@ -711,6 +711,901 @@ namespace mx std::ostream& toStream( std::ostream& os, const PitchedEnum value ); std::ostream& operator<<( std::ostream& os, const PitchedEnum value ); + #define ZEUS_ENUM_CLASS_NAME PlaybackSound + + #define ZEUS_ENUM_MEMBERS( ZEUS_ENUM_VALUE ) \ + ZEUS_ENUM_VALUE( brassAlphorn, "brass.alphorn" ) \ + ZEUS_ENUM_VALUE( brassAltoHorn, "brass.alto-horn" ) \ + ZEUS_ENUM_VALUE( brassBaritoneHorn, "brass.baritone-horn" ) \ + ZEUS_ENUM_VALUE( brassBugle, "brass.bugle" ) \ + ZEUS_ENUM_VALUE( brassBugleAlto, "brass.bugle.alto" ) \ + ZEUS_ENUM_VALUE( brassBugleBaritone, "brass.bugle.baritone" ) \ + ZEUS_ENUM_VALUE( brassBugleContrabass, "brass.bugle.contrabass" ) \ + ZEUS_ENUM_VALUE( brassBugleEuphoniumBugle, "brass.bugle.euphonium-bugle" ) \ + ZEUS_ENUM_VALUE( brassBugleMellophoneBugle, "brass.bugle.mellophone-bugle" ) \ + ZEUS_ENUM_VALUE( brassBugleSoprano, "brass.bugle.soprano" ) \ + ZEUS_ENUM_VALUE( brassCimbasso, "brass.cimbasso" ) \ + ZEUS_ENUM_VALUE( brassConchShell, "brass.conch-shell" ) \ + ZEUS_ENUM_VALUE( brassCornet, "brass.cornet" ) \ + ZEUS_ENUM_VALUE( brassCornetSoprano, "brass.cornet.soprano" ) \ + ZEUS_ENUM_VALUE( brassCornett, "brass.cornett" ) \ + ZEUS_ENUM_VALUE( brassCornettTenor, "brass.cornett.tenor" ) \ + ZEUS_ENUM_VALUE( brassCornettino, "brass.cornettino" ) \ + ZEUS_ENUM_VALUE( brassDidgeridoo, "brass.didgeridoo" ) \ + ZEUS_ENUM_VALUE( brassEuphonium, "brass.euphonium" ) \ + ZEUS_ENUM_VALUE( brassFiscorn, "brass.fiscorn" ) \ + ZEUS_ENUM_VALUE( brassFlugelhorn, "brass.flugelhorn" ) \ + ZEUS_ENUM_VALUE( brassFrenchHorn, "brass.french-horn" ) \ + ZEUS_ENUM_VALUE( brassGroup, "brass.group" ) \ + ZEUS_ENUM_VALUE( brassGroupSynth, "brass.group.synth" ) \ + ZEUS_ENUM_VALUE( brassHelicon, "brass.helicon" ) \ + ZEUS_ENUM_VALUE( brassHoragai, "brass.horagai" ) \ + ZEUS_ENUM_VALUE( brassKuhlohorn, "brass.kuhlohorn" ) \ + ZEUS_ENUM_VALUE( brassMellophone, "brass.mellophone" ) \ + ZEUS_ENUM_VALUE( brassNaturalHorn, "brass.natural-horn" ) \ + ZEUS_ENUM_VALUE( brassOphicleide, "brass.ophicleide" ) \ + ZEUS_ENUM_VALUE( brassPosthorn, "brass.posthorn" ) \ + ZEUS_ENUM_VALUE( brassRagDung, "brass.rag-dung" ) \ + ZEUS_ENUM_VALUE( brassSackbutt, "brass.sackbutt" ) \ + ZEUS_ENUM_VALUE( brassSackbuttAlto, "brass.sackbutt.alto" ) \ + ZEUS_ENUM_VALUE( brassSackbuttBass, "brass.sackbutt.bass" ) \ + ZEUS_ENUM_VALUE( brassSackbuttTenor, "brass.sackbutt.tenor" ) \ + ZEUS_ENUM_VALUE( brassSaxhorn, "brass.saxhorn" ) \ + ZEUS_ENUM_VALUE( brassSerpent, "brass.serpent" ) \ + ZEUS_ENUM_VALUE( brassShofar, "brass.shofar" ) \ + ZEUS_ENUM_VALUE( brassSousaphone, "brass.sousaphone" ) \ + ZEUS_ENUM_VALUE( brassTrombone, "brass.trombone" ) \ + ZEUS_ENUM_VALUE( brassTromboneAlto, "brass.trombone.alto" ) \ + ZEUS_ENUM_VALUE( brassTromboneBass, "brass.trombone.bass" ) \ + ZEUS_ENUM_VALUE( brassTromboneContrabass, "brass.trombone.contrabass" ) \ + ZEUS_ENUM_VALUE( brassTromboneTenor, "brass.trombone.tenor" ) \ + ZEUS_ENUM_VALUE( brassTrumpet, "brass.trumpet" ) \ + ZEUS_ENUM_VALUE( brassTrumpetBaroque, "brass.trumpet.baroque" ) \ + ZEUS_ENUM_VALUE( brassTrumpetBass, "brass.trumpet.bass" ) \ + ZEUS_ENUM_VALUE( brassTrumpetBflat, "brass.trumpet.bflat" ) \ + ZEUS_ENUM_VALUE( brassTrumpetC, "brass.trumpet.c" ) \ + ZEUS_ENUM_VALUE( brassTrumpetD, "brass.trumpet.d" ) \ + ZEUS_ENUM_VALUE( brassTrumpetPiccolo, "brass.trumpet.piccolo" ) \ + ZEUS_ENUM_VALUE( brassTrumpetPocket, "brass.trumpet.pocket" ) \ + ZEUS_ENUM_VALUE( brassTrumpetSlide, "brass.trumpet.slide" ) \ + ZEUS_ENUM_VALUE( brassTrumpetTenor, "brass.trumpet.tenor" ) \ + ZEUS_ENUM_VALUE( brassTuba, "brass.tuba" ) \ + ZEUS_ENUM_VALUE( brassTubaBass, "brass.tuba.bass" ) \ + ZEUS_ENUM_VALUE( brassTubaSubcontrabass, "brass.tuba.subcontrabass" ) \ + ZEUS_ENUM_VALUE( brassViennaHorn, "brass.vienna-horn" ) \ + ZEUS_ENUM_VALUE( brassVuvuzela, "brass.vuvuzela" ) \ + ZEUS_ENUM_VALUE( brassWagnerTuba, "brass.wagner-tuba" ) \ + ZEUS_ENUM_VALUE( drumApentemma, "drum.apentemma" ) \ + ZEUS_ENUM_VALUE( drumAshiko, "drum.ashiko" ) \ + ZEUS_ENUM_VALUE( drumAtabaque, "drum.atabaque" ) \ + ZEUS_ENUM_VALUE( drumAtoke, "drum.atoke" ) \ + ZEUS_ENUM_VALUE( drumAtsimevu, "drum.atsimevu" ) \ + ZEUS_ENUM_VALUE( drumAxatse, "drum.axatse" ) \ + ZEUS_ENUM_VALUE( drumBassDrum, "drum.bass-drum" ) \ + ZEUS_ENUM_VALUE( drumBata, "drum.bata" ) \ + ZEUS_ENUM_VALUE( drumBataItotele, "drum.bata.itotele" ) \ + ZEUS_ENUM_VALUE( drumBataIya, "drum.bata.iya" ) \ + ZEUS_ENUM_VALUE( drumBataOkonkolo, "drum.bata.okonkolo" ) \ + ZEUS_ENUM_VALUE( drumBendir, "drum.bendir" ) \ + ZEUS_ENUM_VALUE( drumBodhran, "drum.bodhran" ) \ + ZEUS_ENUM_VALUE( drumBombo, "drum.bombo" ) \ + ZEUS_ENUM_VALUE( drumBongo, "drum.bongo" ) \ + ZEUS_ENUM_VALUE( drumBougarabou, "drum.bougarabou" ) \ + ZEUS_ENUM_VALUE( drumBuffaloDrum, "drum.buffalo-drum" ) \ + ZEUS_ENUM_VALUE( drumCajon, "drum.cajon" ) \ + ZEUS_ENUM_VALUE( drumChenda, "drum.chenda" ) \ + ZEUS_ENUM_VALUE( drumChuDaiko, "drum.chu-daiko" ) \ + ZEUS_ENUM_VALUE( drumConga, "drum.conga" ) \ + ZEUS_ENUM_VALUE( drumCuica, "drum.cuica" ) \ + ZEUS_ENUM_VALUE( drumDabakan, "drum.dabakan" ) \ + ZEUS_ENUM_VALUE( drumDaff, "drum.daff" ) \ + ZEUS_ENUM_VALUE( drumDafli, "drum.dafli" ) \ + ZEUS_ENUM_VALUE( drumDaibyosi, "drum.daibyosi" ) \ + ZEUS_ENUM_VALUE( drumDamroo, "drum.damroo" ) \ + ZEUS_ENUM_VALUE( drumDarabuka, "drum.darabuka" ) \ + ZEUS_ENUM_VALUE( drumDef, "drum.def" ) \ + ZEUS_ENUM_VALUE( drumDhol, "drum.dhol" ) \ + ZEUS_ENUM_VALUE( drumDholak, "drum.dholak" ) \ + ZEUS_ENUM_VALUE( drumDjembe, "drum.djembe" ) \ + ZEUS_ENUM_VALUE( drumDoira, "drum.doira" ) \ + ZEUS_ENUM_VALUE( drumDondo, "drum.dondo" ) \ + ZEUS_ENUM_VALUE( drumDounDounBa, "drum.doun-doun-ba" ) \ + ZEUS_ENUM_VALUE( drumDuff, "drum.duff" ) \ + ZEUS_ENUM_VALUE( drumDumbek, "drum.dumbek" ) \ + ZEUS_ENUM_VALUE( drumFontomfrom, "drum.fontomfrom" ) \ + ZEUS_ENUM_VALUE( drumFrameDrum, "drum.frame-drum" ) \ + ZEUS_ENUM_VALUE( drumFrameDrumArabian, "drum.frame-drum.arabian" ) \ + ZEUS_ENUM_VALUE( drumGeduk, "drum.geduk" ) \ + ZEUS_ENUM_VALUE( drumGhatam, "drum.ghatam" ) \ + ZEUS_ENUM_VALUE( drumGome, "drum.gome" ) \ + ZEUS_ENUM_VALUE( drumGroup, "drum.group" ) \ + ZEUS_ENUM_VALUE( drumGroupChinese, "drum.group.chinese" ) \ + ZEUS_ENUM_VALUE( drumGroupEwe, "drum.group.ewe" ) \ + ZEUS_ENUM_VALUE( drumGroupIndian, "drum.group.indian" ) \ + ZEUS_ENUM_VALUE( drumGroupSet, "drum.group.set" ) \ + ZEUS_ENUM_VALUE( drumHandDrum, "drum.hand-drum" ) \ + ZEUS_ENUM_VALUE( drumHiraDaiko, "drum.hira-daiko" ) \ + ZEUS_ENUM_VALUE( drumIbo, "drum.ibo" ) \ + ZEUS_ENUM_VALUE( drumIgihumurizo, "drum.igihumurizo" ) \ + ZEUS_ENUM_VALUE( drumInyahura, "drum.inyahura" ) \ + ZEUS_ENUM_VALUE( drumIshakwe, "drum.ishakwe" ) \ + ZEUS_ENUM_VALUE( drumJangGu, "drum.jang-gu" ) \ + ZEUS_ENUM_VALUE( drumKagan, "drum.kagan" ) \ + ZEUS_ENUM_VALUE( drumKakko, "drum.kakko" ) \ + ZEUS_ENUM_VALUE( drumKanjira, "drum.kanjira" ) \ + ZEUS_ENUM_VALUE( drumKendhang, "drum.kendhang" ) \ + ZEUS_ENUM_VALUE( drumKendhangAgeng, "drum.kendhang.ageng" ) \ + ZEUS_ENUM_VALUE( drumKendhangCiblon, "drum.kendhang.ciblon" ) \ + ZEUS_ENUM_VALUE( drumKenkeni, "drum.kenkeni" ) \ + ZEUS_ENUM_VALUE( drumKhol, "drum.khol" ) \ + ZEUS_ENUM_VALUE( drumKickDrum, "drum.kick-drum" ) \ + ZEUS_ENUM_VALUE( drumKidi, "drum.kidi" ) \ + ZEUS_ENUM_VALUE( drumKoDaiko, "drum.ko-daiko" ) \ + ZEUS_ENUM_VALUE( drumKpanlogo, "drum.kpanlogo" ) \ + ZEUS_ENUM_VALUE( drumKudum, "drum.kudum" ) \ + ZEUS_ENUM_VALUE( drumLambeg, "drum.lambeg" ) \ + ZEUS_ENUM_VALUE( drumLionDrum, "drum.lion-drum" ) \ + ZEUS_ENUM_VALUE( drumLogDrum, "drum.log-drum" ) \ + ZEUS_ENUM_VALUE( drumLogDrumAfrican, "drum.log-drum.african" ) \ + ZEUS_ENUM_VALUE( drumLogDrumNative, "drum.log-drum.native" ) \ + ZEUS_ENUM_VALUE( drumLogDrumNigerian, "drum.log-drum.nigerian" ) \ + ZEUS_ENUM_VALUE( drumMadal, "drum.madal" ) \ + ZEUS_ENUM_VALUE( drumMaddale, "drum.maddale" ) \ + ZEUS_ENUM_VALUE( drumMridangam, "drum.mridangam" ) \ + ZEUS_ENUM_VALUE( drumNaal, "drum.naal" ) \ + ZEUS_ENUM_VALUE( drumNagadoDaiko, "drum.nagado-daiko" ) \ + ZEUS_ENUM_VALUE( drumNagara, "drum.nagara" ) \ + ZEUS_ENUM_VALUE( drumNaqara, "drum.naqara" ) \ + ZEUS_ENUM_VALUE( drumODaiko, "drum.o-daiko" ) \ + ZEUS_ENUM_VALUE( drumOkawa, "drum.okawa" ) \ + ZEUS_ENUM_VALUE( drumOkedoDaiko, "drum.okedo-daiko" ) \ + ZEUS_ENUM_VALUE( drumPahuHula, "drum.pahu-hula" ) \ + ZEUS_ENUM_VALUE( drumPakhawaj, "drum.pakhawaj" ) \ + ZEUS_ENUM_VALUE( drumPandeiro, "drum.pandeiro" ) \ + ZEUS_ENUM_VALUE( drumPandero, "drum.pandero" ) \ + ZEUS_ENUM_VALUE( drumPowwow, "drum.powwow" ) \ + ZEUS_ENUM_VALUE( drumPueblo, "drum.pueblo" ) \ + ZEUS_ENUM_VALUE( drumRepinique, "drum.repinique" ) \ + ZEUS_ENUM_VALUE( drumRiq, "drum.riq" ) \ + ZEUS_ENUM_VALUE( drumRototom, "drum.rototom" ) \ + ZEUS_ENUM_VALUE( drumSabar, "drum.sabar" ) \ + ZEUS_ENUM_VALUE( drumSakara, "drum.sakara" ) \ + ZEUS_ENUM_VALUE( drumSampho, "drum.sampho" ) \ + ZEUS_ENUM_VALUE( drumSangban, "drum.sangban" ) \ + ZEUS_ENUM_VALUE( drumShimeDaiko, "drum.shime-daiko" ) \ + ZEUS_ENUM_VALUE( drumSlitDrum, "drum.slit-drum" ) \ + ZEUS_ENUM_VALUE( drumSlitDrumKrin, "drum.slit-drum.krin" ) \ + ZEUS_ENUM_VALUE( drumSnareDrum, "drum.snare-drum" ) \ + ZEUS_ENUM_VALUE( drumSnareDrumElectric, "drum.snare-drum.electric" ) \ + ZEUS_ENUM_VALUE( drumSogo, "drum.sogo" ) \ + ZEUS_ENUM_VALUE( drumSurdo, "drum.surdo" ) \ + ZEUS_ENUM_VALUE( drumTabla, "drum.tabla" ) \ + ZEUS_ENUM_VALUE( drumTablaBayan, "drum.tabla.bayan" ) \ + ZEUS_ENUM_VALUE( drumTablaDayan, "drum.tabla.dayan" ) \ + ZEUS_ENUM_VALUE( drumTaiko, "drum.taiko" ) \ + ZEUS_ENUM_VALUE( drumTalking, "drum.talking" ) \ + ZEUS_ENUM_VALUE( drumTama, "drum.tama" ) \ + ZEUS_ENUM_VALUE( drumTamborita, "drum.tamborita" ) \ + ZEUS_ENUM_VALUE( drumTambourine, "drum.tambourine" ) \ + ZEUS_ENUM_VALUE( drumTamte, "drum.tamte" ) \ + ZEUS_ENUM_VALUE( drumTangku, "drum.tangku" ) \ + ZEUS_ENUM_VALUE( drumTanTan, "drum.tan-tan" ) \ + ZEUS_ENUM_VALUE( drumTaphon, "drum.taphon" ) \ + ZEUS_ENUM_VALUE( drumTar, "drum.tar" ) \ + ZEUS_ENUM_VALUE( drumTasha, "drum.tasha" ) \ + ZEUS_ENUM_VALUE( drumTenorDrum, "drum.tenor-drum" ) \ + ZEUS_ENUM_VALUE( drumTeponaxtli, "drum.teponaxtli" ) \ + ZEUS_ENUM_VALUE( drumThavil, "drum.thavil" ) \ + ZEUS_ENUM_VALUE( drumTheBox, "drum.the-box" ) \ + ZEUS_ENUM_VALUE( drumTimbale, "drum.timbale" ) \ + ZEUS_ENUM_VALUE( drumTimpani, "drum.timpani" ) \ + ZEUS_ENUM_VALUE( drumTinaja, "drum.tinaja" ) \ + ZEUS_ENUM_VALUE( drumToere, "drum.toere" ) \ + ZEUS_ENUM_VALUE( drumTombak, "drum.tombak" ) \ + ZEUS_ENUM_VALUE( drumTomTom, "drum.tom-tom" ) \ + ZEUS_ENUM_VALUE( drumTomTomSynth, "drum.tom-tom.synth" ) \ + ZEUS_ENUM_VALUE( drumTsuzumi, "drum.tsuzumi" ) \ + ZEUS_ENUM_VALUE( drumTumbak, "drum.tumbak" ) \ + ZEUS_ENUM_VALUE( drumUchiwaDaiko, "drum.uchiwa-daiko" ) \ + ZEUS_ENUM_VALUE( drumUdaku, "drum.udaku" ) \ + ZEUS_ENUM_VALUE( drumUdu, "drum.udu" ) \ + ZEUS_ENUM_VALUE( drumZarb, "drum.zarb" ) \ + ZEUS_ENUM_VALUE( effectAeolianHarp, "effect.aeolian-harp" ) \ + ZEUS_ENUM_VALUE( effectAirHorn, "effect.air-horn" ) \ + ZEUS_ENUM_VALUE( effectApplause, "effect.applause" ) \ + ZEUS_ENUM_VALUE( effectBassStringSlap, "effect.bass-string-slap" ) \ + ZEUS_ENUM_VALUE( effectBird, "effect.bird" ) \ + ZEUS_ENUM_VALUE( effectBirdNightingale, "effect.bird.nightingale" ) \ + ZEUS_ENUM_VALUE( effectBirdTweet, "effect.bird.tweet" ) \ + ZEUS_ENUM_VALUE( effectBreath, "effect.breath" ) \ + ZEUS_ENUM_VALUE( effectBubble, "effect.bubble" ) \ + ZEUS_ENUM_VALUE( effectBullroarer, "effect.bullroarer" ) \ + ZEUS_ENUM_VALUE( effectBurst, "effect.burst" ) \ + ZEUS_ENUM_VALUE( effectCar, "effect.car" ) \ + ZEUS_ENUM_VALUE( effectCarCrash, "effect.car.crash" ) \ + ZEUS_ENUM_VALUE( effectCarEngine, "effect.car.engine" ) \ + ZEUS_ENUM_VALUE( effectCarPass, "effect.car.pass" ) \ + ZEUS_ENUM_VALUE( effectCarStop, "effect.car.stop" ) \ + ZEUS_ENUM_VALUE( effectCrickets, "effect.crickets" ) \ + ZEUS_ENUM_VALUE( effectDog, "effect.dog" ) \ + ZEUS_ENUM_VALUE( effectDoorCreak, "effect.door.creak" ) \ + ZEUS_ENUM_VALUE( effectDoorSlam, "effect.door.slam" ) \ + ZEUS_ENUM_VALUE( effectExplosion, "effect.explosion" ) \ + ZEUS_ENUM_VALUE( effectFluteKeyClick, "effect.flute-key-click" ) \ + ZEUS_ENUM_VALUE( effectFootsteps, "effect.footsteps" ) \ + ZEUS_ENUM_VALUE( effectFrogs, "effect.frogs" ) \ + ZEUS_ENUM_VALUE( effectGuitarCutting, "effect.guitar-cutting" ) \ + ZEUS_ENUM_VALUE( effectGuitarFret, "effect.guitar-fret" ) \ + ZEUS_ENUM_VALUE( effectGunshot, "effect.gunshot" ) \ + ZEUS_ENUM_VALUE( effectHandClap, "effect.hand-clap" ) \ + ZEUS_ENUM_VALUE( effectHeartbeat, "effect.heartbeat" ) \ + ZEUS_ENUM_VALUE( effectHelicopter, "effect.helicopter" ) \ + ZEUS_ENUM_VALUE( effectHighQ, "effect.high-q" ) \ + ZEUS_ENUM_VALUE( effectHorseGallop, "effect.horse-gallop" ) \ + ZEUS_ENUM_VALUE( effectJetPlane, "effect.jet-plane" ) \ + ZEUS_ENUM_VALUE( effectLaserGun, "effect.laser-gun" ) \ + ZEUS_ENUM_VALUE( effectLaugh, "effect.laugh" ) \ + ZEUS_ENUM_VALUE( effectLionsRoar, "effect.lions-roar" ) \ + ZEUS_ENUM_VALUE( effectMachineGun, "effect.machine-gun" ) \ + ZEUS_ENUM_VALUE( effectMarchingMachine, "effect.marching-machine" ) \ + ZEUS_ENUM_VALUE( effectMetronomeBell, "effect.metronome-bell" ) \ + ZEUS_ENUM_VALUE( effectMetronomeClick, "effect.metronome-click" ) \ + ZEUS_ENUM_VALUE( effectPat, "effect.pat" ) \ + ZEUS_ENUM_VALUE( effectPunch, "effect.punch" ) \ + ZEUS_ENUM_VALUE( effectRain, "effect.rain" ) \ + ZEUS_ENUM_VALUE( effectScratch, "effect.scratch" ) \ + ZEUS_ENUM_VALUE( effectScream, "effect.scream" ) \ + ZEUS_ENUM_VALUE( effectSeashore, "effect.seashore" ) \ + ZEUS_ENUM_VALUE( effectSiren, "effect.siren" ) \ + ZEUS_ENUM_VALUE( effectSlap, "effect.slap" ) \ + ZEUS_ENUM_VALUE( effectSnap, "effect.snap" ) \ + ZEUS_ENUM_VALUE( effectStamp, "effect.stamp" ) \ + ZEUS_ENUM_VALUE( effectStarship, "effect.starship" ) \ + ZEUS_ENUM_VALUE( effectStream, "effect.stream" ) \ + ZEUS_ENUM_VALUE( effectTelephoneRing, "effect.telephone-ring" ) \ + ZEUS_ENUM_VALUE( effectThunder, "effect.thunder" ) \ + ZEUS_ENUM_VALUE( effectTrain, "effect.train" ) \ + ZEUS_ENUM_VALUE( effectTrashCan, "effect.trash-can" ) \ + ZEUS_ENUM_VALUE( effectWhip, "effect.whip" ) \ + ZEUS_ENUM_VALUE( effectWhistle, "effect.whistle" ) \ + ZEUS_ENUM_VALUE( effectWhistleMouthSiren, "effect.whistle.mouth-siren" ) \ + ZEUS_ENUM_VALUE( effectWhistlePolice, "effect.whistle.police" ) \ + ZEUS_ENUM_VALUE( effectWhistleSlide, "effect.whistle.slide" ) \ + ZEUS_ENUM_VALUE( effectWhistleTrain, "effect.whistle.train" ) \ + ZEUS_ENUM_VALUE( effectWind, "effect.wind" ) \ + ZEUS_ENUM_VALUE( keyboardAccordion, "keyboard.accordion" ) \ + ZEUS_ENUM_VALUE( keyboardBandoneon, "keyboard.bandoneon" ) \ + ZEUS_ENUM_VALUE( keyboardCelesta, "keyboard.celesta" ) \ + ZEUS_ENUM_VALUE( keyboardClavichord, "keyboard.clavichord" ) \ + ZEUS_ENUM_VALUE( keyboardClavichordSynth, "keyboard.clavichord.synth" ) \ + ZEUS_ENUM_VALUE( keyboardConcertina, "keyboard.concertina" ) \ + ZEUS_ENUM_VALUE( keyboardFortepiano, "keyboard.fortepiano" ) \ + ZEUS_ENUM_VALUE( keyboardHarmonium, "keyboard.harmonium" ) \ + ZEUS_ENUM_VALUE( keyboardHarpsichord, "keyboard.harpsichord" ) \ + ZEUS_ENUM_VALUE( keyboardOndesMartenot, "keyboard.ondes-martenot" ) \ + ZEUS_ENUM_VALUE( keyboardOrgan, "keyboard.organ" ) \ + ZEUS_ENUM_VALUE( keyboardOrganDrawbar, "keyboard.organ.drawbar" ) \ + ZEUS_ENUM_VALUE( keyboardOrganPercussive, "keyboard.organ.percussive" ) \ + ZEUS_ENUM_VALUE( keyboardOrganPipe, "keyboard.organ.pipe" ) \ + ZEUS_ENUM_VALUE( keyboardOrganReed, "keyboard.organ.reed" ) \ + ZEUS_ENUM_VALUE( keyboardOrganRotary, "keyboard.organ.rotary" ) \ + ZEUS_ENUM_VALUE( keyboardPiano, "keyboard.piano" ) \ + ZEUS_ENUM_VALUE( keyboardPianoElectric, "keyboard.piano.electric" ) \ + ZEUS_ENUM_VALUE( keyboardPianoGrand, "keyboard.piano.grand" ) \ + ZEUS_ENUM_VALUE( keyboardPianoHonkyTonk, "keyboard.piano.honky-tonk" ) \ + ZEUS_ENUM_VALUE( keyboardPianoPrepared, "keyboard.piano.prepared" ) \ + ZEUS_ENUM_VALUE( keyboardPianoToy, "keyboard.piano.toy" ) \ + ZEUS_ENUM_VALUE( keyboardPianoUpright, "keyboard.piano.upright" ) \ + ZEUS_ENUM_VALUE( keyboardVirginal, "keyboard.virginal" ) \ + ZEUS_ENUM_VALUE( metalAdodo, "metal.adodo" ) \ + ZEUS_ENUM_VALUE( metalAnvil, "metal.anvil" ) \ + ZEUS_ENUM_VALUE( metalBabendil, "metal.babendil" ) \ + ZEUS_ENUM_VALUE( metalBellsAgogo, "metal.bells.agogo" ) \ + ZEUS_ENUM_VALUE( metalBellsAlmglocken, "metal.bells.almglocken" ) \ + ZEUS_ENUM_VALUE( metalBellsBellPlate, "metal.bells.bell-plate" ) \ + ZEUS_ENUM_VALUE( metalBellsBellTree, "metal.bells.bell-tree" ) \ + ZEUS_ENUM_VALUE( metalBellsCarillon, "metal.bells.carillon" ) \ + ZEUS_ENUM_VALUE( metalBellsChimes, "metal.bells.chimes" ) \ + ZEUS_ENUM_VALUE( metalBellsChimta, "metal.bells.chimta" ) \ + ZEUS_ENUM_VALUE( metalBellsChippli, "metal.bells.chippli" ) \ + ZEUS_ENUM_VALUE( metalBellsChurch, "metal.bells.church" ) \ + ZEUS_ENUM_VALUE( metalBellsCowbell, "metal.bells.cowbell" ) \ + ZEUS_ENUM_VALUE( metalBellsDawuro, "metal.bells.dawuro" ) \ + ZEUS_ENUM_VALUE( metalBellsGankokwe, "metal.bells.gankokwe" ) \ + ZEUS_ENUM_VALUE( metalBellsGhungroo, "metal.bells.ghungroo" ) \ + ZEUS_ENUM_VALUE( metalBellsHatheli, "metal.bells.hatheli" ) \ + ZEUS_ENUM_VALUE( metalBellsJingleBell, "metal.bells.jingle-bell" ) \ + ZEUS_ENUM_VALUE( metalBellsKhartal, "metal.bells.khartal" ) \ + ZEUS_ENUM_VALUE( metalBellsMarkTree, "metal.bells.mark-tree" ) \ + ZEUS_ENUM_VALUE( metalBellsSistrum, "metal.bells.sistrum" ) \ + ZEUS_ENUM_VALUE( metalBellsSleighBells, "metal.bells.sleigh-bells" ) \ + ZEUS_ENUM_VALUE( metalBellsTemple, "metal.bells.temple" ) \ + ZEUS_ENUM_VALUE( metalBellsTibetan, "metal.bells.tibetan" ) \ + ZEUS_ENUM_VALUE( metalBellsTinklebell, "metal.bells.tinklebell" ) \ + ZEUS_ENUM_VALUE( metalBellsTrychel, "metal.bells.trychel" ) \ + ZEUS_ENUM_VALUE( metalBellsWindChimes, "metal.bells.wind-chimes" ) \ + ZEUS_ENUM_VALUE( metalBellsZills, "metal.bells.zills" ) \ + ZEUS_ENUM_VALUE( metalBerimbau, "metal.berimbau" ) \ + ZEUS_ENUM_VALUE( metalBrakeDrums, "metal.brake-drums" ) \ + ZEUS_ENUM_VALUE( metalCrotales, "metal.crotales" ) \ + ZEUS_ENUM_VALUE( metalCymbalBo, "metal.cymbal.bo" ) \ + ZEUS_ENUM_VALUE( metalCymbalCengCeng, "metal.cymbal.ceng-ceng" ) \ + ZEUS_ENUM_VALUE( metalCymbalChabara, "metal.cymbal.chabara" ) \ + ZEUS_ENUM_VALUE( metalCymbalChinese, "metal.cymbal.chinese" ) \ + ZEUS_ENUM_VALUE( metalCymbalChing, "metal.cymbal.ching" ) \ + ZEUS_ENUM_VALUE( metalCymbalClash, "metal.cymbal.clash" ) \ + ZEUS_ENUM_VALUE( metalCymbalCrash, "metal.cymbal.crash" ) \ + ZEUS_ENUM_VALUE( metalCymbalFinger, "metal.cymbal.finger" ) \ + ZEUS_ENUM_VALUE( metalCymbalHand, "metal.cymbal.hand" ) \ + ZEUS_ENUM_VALUE( metalCymbalKesi, "metal.cymbal.kesi" ) \ + ZEUS_ENUM_VALUE( metalCymbalManjeera, "metal.cymbal.manjeera" ) \ + ZEUS_ENUM_VALUE( metalCymbalReverse, "metal.cymbal.reverse" ) \ + ZEUS_ENUM_VALUE( metalCymbalRide, "metal.cymbal.ride" ) \ + ZEUS_ENUM_VALUE( metalCymbalSizzle, "metal.cymbal.sizzle" ) \ + ZEUS_ENUM_VALUE( metalCymbalSplash, "metal.cymbal.splash" ) \ + ZEUS_ENUM_VALUE( metalCymbalSuspended, "metal.cymbal.suspended" ) \ + ZEUS_ENUM_VALUE( metalCymbalTebyoshi, "metal.cymbal.tebyoshi" ) \ + ZEUS_ENUM_VALUE( metalCymbalTibetan, "metal.cymbal.tibetan" ) \ + ZEUS_ENUM_VALUE( metalCymbalTingsha, "metal.cymbal.tingsha" ) \ + ZEUS_ENUM_VALUE( metalFlexatone, "metal.flexatone" ) \ + ZEUS_ENUM_VALUE( metalGong, "metal.gong" ) \ + ZEUS_ENUM_VALUE( metalGongAgeng, "metal.gong.ageng" ) \ + ZEUS_ENUM_VALUE( metalGongAgung, "metal.gong.agung" ) \ + ZEUS_ENUM_VALUE( metalGongChanchiki, "metal.gong.chanchiki" ) \ + ZEUS_ENUM_VALUE( metalGongChinese, "metal.gong.chinese" ) \ + ZEUS_ENUM_VALUE( metalGongGandingan, "metal.gong.gandingan" ) \ + ZEUS_ENUM_VALUE( metalGongKempul, "metal.gong.kempul" ) \ + ZEUS_ENUM_VALUE( metalGongKempyang, "metal.gong.kempyang" ) \ + ZEUS_ENUM_VALUE( metalGongKetuk, "metal.gong.ketuk" ) \ + ZEUS_ENUM_VALUE( metalGongKkwenggwari, "metal.gong.kkwenggwari" ) \ + ZEUS_ENUM_VALUE( metalGongLuo, "metal.gong.luo" ) \ + ZEUS_ENUM_VALUE( metalGongSinging, "metal.gong.singing" ) \ + ZEUS_ENUM_VALUE( metalGongThai, "metal.gong.thai" ) \ + ZEUS_ENUM_VALUE( metalGuira, "metal.guira" ) \ + ZEUS_ENUM_VALUE( metalHang, "metal.hang" ) \ + ZEUS_ENUM_VALUE( metalHiHat, "metal.hi-hat" ) \ + ZEUS_ENUM_VALUE( metalJawHarp, "metal.jaw-harp" ) \ + ZEUS_ENUM_VALUE( metalKengong, "metal.kengong" ) \ + ZEUS_ENUM_VALUE( metalMurchang, "metal.murchang" ) \ + ZEUS_ENUM_VALUE( metalMusicalSaw, "metal.musical-saw" ) \ + ZEUS_ENUM_VALUE( metalSingingBowl, "metal.singing-bowl" ) \ + ZEUS_ENUM_VALUE( metalSpoons, "metal.spoons" ) \ + ZEUS_ENUM_VALUE( metalSteelDrums, "metal.steel-drums" ) \ + ZEUS_ENUM_VALUE( metalTamtam, "metal.tamtam" ) \ + ZEUS_ENUM_VALUE( metalThundersheet, "metal.thundersheet" ) \ + ZEUS_ENUM_VALUE( metalTriangle, "metal.triangle" ) \ + ZEUS_ENUM_VALUE( metalWashboard, "metal.washboard" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionAngklung, "pitched-percussion.angklung" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionBalafon, "pitched-percussion.balafon" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionBellLyre, "pitched-percussion.bell-lyre" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionBells, "pitched-percussion.bells" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionBianqing, "pitched-percussion.bianqing" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionBianzhong, "pitched-percussion.bianzhong" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionBonang, "pitched-percussion.bonang" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionCimbalom, "pitched-percussion.cimbalom" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionCrystalGlasses, "pitched-percussion.crystal-glasses" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionDanTamThapLuc, "pitched-percussion.dan-tam-thap-luc" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionFangxiang, "pitched-percussion.fangxiang" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionGandinganAKayo, "pitched-percussion.gandingan-a-kayo" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionGangsa, "pitched-percussion.gangsa" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionGender, "pitched-percussion.gender" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionGiying, "pitched-percussion.giying" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionGlassHarmonica, "pitched-percussion.glass-harmonica" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionGlockenspiel, "pitched-percussion.glockenspiel" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionGlockenspielAlto, "pitched-percussion.glockenspiel.alto" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionGlockenspielSoprano, "pitched-percussion.glockenspiel.soprano" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionGyil, "pitched-percussion.gyil" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionHammerDulcimer, "pitched-percussion.hammer-dulcimer" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionHandbells, "pitched-percussion.handbells" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionKalimba, "pitched-percussion.kalimba" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionKantil, "pitched-percussion.kantil" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionKhim, "pitched-percussion.khim" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionKulintang, "pitched-percussion.kulintang" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionKulintangAKayo, "pitched-percussion.kulintang-a-kayo" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionKulintangATiniok, "pitched-percussion.kulintang-a-tiniok" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionLikembe, "pitched-percussion.likembe" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionLuntang, "pitched-percussion.luntang" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionMarimba, "pitched-percussion.marimba" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionMarimbaBass, "pitched-percussion.marimba.bass" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionMbira, "pitched-percussion.mbira" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionMbiraArray, "pitched-percussion.mbira.array" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionMetallophone, "pitched-percussion.metallophone" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionMetallophoneAlto, "pitched-percussion.metallophone.alto" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionMetallophoneBass, "pitched-percussion.metallophone.bass" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionMetallophoneSoprano, "pitched-percussion.metallophone.soprano" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionMusicBox, "pitched-percussion.music-box" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionPelogPanerus, "pitched-percussion.pelog-panerus" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionPemade, "pitched-percussion.pemade" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionPenyacah, "pitched-percussion.penyacah" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionRanatEk, "pitched-percussion.ranat.ek" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionRanatEkLek, "pitched-percussion.ranat.ek-lek" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionRanatThum, "pitched-percussion.ranat.thum" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionRanatThumLek, "pitched-percussion.ranat.thum-lek" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionReyong, "pitched-percussion.reyong" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionSanza, "pitched-percussion.sanza" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionSaronBarung, "pitched-percussion.saron-barung" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionSaronDemong, "pitched-percussion.saron-demong" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionSaronPanerus, "pitched-percussion.saron-panerus" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionSlendroPanerus, "pitched-percussion.slendro-panerus" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionSlentem, "pitched-percussion.slentem" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionTsymbaly, "pitched-percussion.tsymbaly" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionTubes, "pitched-percussion.tubes" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionTubularBells, "pitched-percussion.tubular-bells" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionVibraphone, "pitched-percussion.vibraphone" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionXylophone, "pitched-percussion.xylophone" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionXylophoneAlto, "pitched-percussion.xylophone.alto" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionXylophoneBass, "pitched-percussion.xylophone.bass" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionXylophoneSoprano, "pitched-percussion.xylophone.soprano" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionXylorimba, "pitched-percussion.xylorimba" ) \ + ZEUS_ENUM_VALUE( pitchedPercussionYangqin, "pitched-percussion.yangqin" ) \ + ZEUS_ENUM_VALUE( pluckArchlute, "pluck.archlute" ) \ + ZEUS_ENUM_VALUE( pluckAutoharp, "pluck.autoharp" ) \ + ZEUS_ENUM_VALUE( pluckBaglama, "pluck.baglama" ) \ + ZEUS_ENUM_VALUE( pluckBajo, "pluck.bajo" ) \ + ZEUS_ENUM_VALUE( pluckBalalaika, "pluck.balalaika" ) \ + ZEUS_ENUM_VALUE( pluckBalalaikaAlto, "pluck.balalaika.alto" ) \ + ZEUS_ENUM_VALUE( pluckBalalaikaBass, "pluck.balalaika.bass" ) \ + ZEUS_ENUM_VALUE( pluckBalalaikaContrabass, "pluck.balalaika.contrabass" ) \ + ZEUS_ENUM_VALUE( pluckBalalaikaPiccolo, "pluck.balalaika.piccolo" ) \ + ZEUS_ENUM_VALUE( pluckBalalaikaPrima, "pluck.balalaika.prima" ) \ + ZEUS_ENUM_VALUE( pluckBalalaikaSecunda, "pluck.balalaika.secunda" ) \ + ZEUS_ENUM_VALUE( pluckBandola, "pluck.bandola" ) \ + ZEUS_ENUM_VALUE( pluckBandura, "pluck.bandura" ) \ + ZEUS_ENUM_VALUE( pluckBandurria, "pluck.bandurria" ) \ + ZEUS_ENUM_VALUE( pluckBanjo, "pluck.banjo" ) \ + ZEUS_ENUM_VALUE( pluckBanjoTenor, "pluck.banjo.tenor" ) \ + ZEUS_ENUM_VALUE( pluckBanjolele, "pluck.banjolele" ) \ + ZEUS_ENUM_VALUE( pluckBarbat, "pluck.barbat" ) \ + ZEUS_ENUM_VALUE( pluckBass, "pluck.bass" ) \ + ZEUS_ENUM_VALUE( pluckBassAcoustic, "pluck.bass.acoustic" ) \ + ZEUS_ENUM_VALUE( pluckBassBolon, "pluck.bass.bolon" ) \ + ZEUS_ENUM_VALUE( pluckBassElectric, "pluck.bass.electric" ) \ + ZEUS_ENUM_VALUE( pluckBassFretless, "pluck.bass.fretless" ) \ + ZEUS_ENUM_VALUE( pluckBassGuitarron, "pluck.bass.guitarron" ) \ + ZEUS_ENUM_VALUE( pluckBassSynth, "pluck.bass.synth" ) \ + ZEUS_ENUM_VALUE( pluckBassSynthLead, "pluck.bass.synth.lead" ) \ + ZEUS_ENUM_VALUE( pluckBassWashtub, "pluck.bass.washtub" ) \ + ZEUS_ENUM_VALUE( pluckBassWhamola, "pluck.bass.whamola" ) \ + ZEUS_ENUM_VALUE( pluckBegena, "pluck.begena" ) \ + ZEUS_ENUM_VALUE( pluckBiwa, "pluck.biwa" ) \ + ZEUS_ENUM_VALUE( pluckBordonua, "pluck.bordonua" ) \ + ZEUS_ENUM_VALUE( pluckBouzouki, "pluck.bouzouki" ) \ + ZEUS_ENUM_VALUE( pluckBouzoukiIrish, "pluck.bouzouki.irish" ) \ + ZEUS_ENUM_VALUE( pluckCelticHarp, "pluck.celtic-harp" ) \ + ZEUS_ENUM_VALUE( pluckCharango, "pluck.charango" ) \ + ZEUS_ENUM_VALUE( pluckChitarraBattente, "pluck.chitarra-battente" ) \ + ZEUS_ENUM_VALUE( pluckCithara, "pluck.cithara" ) \ + ZEUS_ENUM_VALUE( pluckCittern, "pluck.cittern" ) \ + ZEUS_ENUM_VALUE( pluckCuatro, "pluck.cuatro" ) \ + ZEUS_ENUM_VALUE( pluckDanBau, "pluck.dan-bau" ) \ + ZEUS_ENUM_VALUE( pluckDanNguyet, "pluck.dan-nguyet" ) \ + ZEUS_ENUM_VALUE( pluckDanTranh, "pluck.dan-tranh" ) \ + ZEUS_ENUM_VALUE( pluckDanTyBa, "pluck.dan-ty-ba" ) \ + ZEUS_ENUM_VALUE( pluckDiddleyBow, "pluck.diddley-bow" ) \ + ZEUS_ENUM_VALUE( pluckDomra, "pluck.domra" ) \ + ZEUS_ENUM_VALUE( pluckDomu, "pluck.domu" ) \ + ZEUS_ENUM_VALUE( pluckDulcimer, "pluck.dulcimer" ) \ + ZEUS_ENUM_VALUE( pluckDutar, "pluck.dutar" ) \ + ZEUS_ENUM_VALUE( pluckDuxianqin, "pluck.duxianqin" ) \ + ZEUS_ENUM_VALUE( pluckEktara, "pluck.ektara" ) \ + ZEUS_ENUM_VALUE( pluckGeomungo, "pluck.geomungo" ) \ + ZEUS_ENUM_VALUE( pluckGottuvadhyam, "pluck.gottuvadhyam" ) \ + ZEUS_ENUM_VALUE( pluckGuitar, "pluck.guitar" ) \ + ZEUS_ENUM_VALUE( pluckGuitarAcoustic, "pluck.guitar.acoustic" ) \ + ZEUS_ENUM_VALUE( pluckGuitarElectric, "pluck.guitar.electric" ) \ + ZEUS_ENUM_VALUE( pluckGuitarNylonString, "pluck.guitar.nylon-string" ) \ + ZEUS_ENUM_VALUE( pluckGuitarPedalSteel, "pluck.guitar.pedal-steel" ) \ + ZEUS_ENUM_VALUE( pluckGuitarPortuguese, "pluck.guitar.portuguese" ) \ + ZEUS_ENUM_VALUE( pluckGuitarRequinto, "pluck.guitar.requinto" ) \ + ZEUS_ENUM_VALUE( pluckGuitarResonator, "pluck.guitar.resonator" ) \ + ZEUS_ENUM_VALUE( pluckGuitarSteelString, "pluck.guitar.steel-string" ) \ + ZEUS_ENUM_VALUE( pluckGuitjo, "pluck.guitjo" ) \ + ZEUS_ENUM_VALUE( pluckGuitjoDoubleNeck, "pluck.guitjo.double-neck" ) \ + ZEUS_ENUM_VALUE( pluckGuqin, "pluck.guqin" ) \ + ZEUS_ENUM_VALUE( pluckGuzheng, "pluck.guzheng" ) \ + ZEUS_ENUM_VALUE( pluckGuzhengChoazhou, "pluck.guzheng.choazhou" ) \ + ZEUS_ENUM_VALUE( pluckHarp, "pluck.harp" ) \ + ZEUS_ENUM_VALUE( pluckHarpGuitar, "pluck.harp-guitar" ) \ + ZEUS_ENUM_VALUE( pluckHuapanguera, "pluck.huapanguera" ) \ + ZEUS_ENUM_VALUE( pluckJaranaHuasteca, "pluck.jarana-huasteca" ) \ + ZEUS_ENUM_VALUE( pluckJaranaJarocha, "pluck.jarana-jarocha" ) \ + ZEUS_ENUM_VALUE( pluckJaranaJarochaMosquito, "pluck.jarana-jarocha.mosquito" ) \ + ZEUS_ENUM_VALUE( pluckJaranaJarochaPrimera, "pluck.jarana-jarocha.primera" ) \ + ZEUS_ENUM_VALUE( pluckJaranaJarochaSegunda, "pluck.jarana-jarocha.segunda" ) \ + ZEUS_ENUM_VALUE( pluckJaranaJarochaTercera, "pluck.jarana-jarocha.tercera" ) \ + ZEUS_ENUM_VALUE( pluckKabosy, "pluck.kabosy" ) \ + ZEUS_ENUM_VALUE( pluckKantele, "pluck.kantele" ) \ + ZEUS_ENUM_VALUE( pluckKanun, "pluck.kanun" ) \ + ZEUS_ENUM_VALUE( pluckKayagum, "pluck.kayagum" ) \ + ZEUS_ENUM_VALUE( pluckKobza, "pluck.kobza" ) \ + ZEUS_ENUM_VALUE( pluckKomuz, "pluck.komuz" ) \ + ZEUS_ENUM_VALUE( pluckKora, "pluck.kora" ) \ + ZEUS_ENUM_VALUE( pluckKoto, "pluck.koto" ) \ + ZEUS_ENUM_VALUE( pluckKutiyapi, "pluck.kutiyapi" ) \ + ZEUS_ENUM_VALUE( pluckLangeleik, "pluck.langeleik" ) \ + ZEUS_ENUM_VALUE( pluckLaud, "pluck.laud" ) \ + ZEUS_ENUM_VALUE( pluckLute, "pluck.lute" ) \ + ZEUS_ENUM_VALUE( pluckLyre, "pluck.lyre" ) \ + ZEUS_ENUM_VALUE( pluckMandobass, "pluck.mandobass" ) \ + ZEUS_ENUM_VALUE( pluckMandocello, "pluck.mandocello" ) \ + ZEUS_ENUM_VALUE( pluckMandola, "pluck.mandola" ) \ + ZEUS_ENUM_VALUE( pluckMandolin, "pluck.mandolin" ) \ + ZEUS_ENUM_VALUE( pluckMandolinOctave, "pluck.mandolin.octave" ) \ + ZEUS_ENUM_VALUE( pluckMandora, "pluck.mandora" ) \ + ZEUS_ENUM_VALUE( pluckMandore, "pluck.mandore" ) \ + ZEUS_ENUM_VALUE( pluckMarovany, "pluck.marovany" ) \ + ZEUS_ENUM_VALUE( pluckMusicalBow, "pluck.musical-bow" ) \ + ZEUS_ENUM_VALUE( pluckNgoni, "pluck.ngoni" ) \ + ZEUS_ENUM_VALUE( pluckOud, "pluck.oud" ) \ + ZEUS_ENUM_VALUE( pluckPipa, "pluck.pipa" ) \ + ZEUS_ENUM_VALUE( pluckPsaltery, "pluck.psaltery" ) \ + ZEUS_ENUM_VALUE( pluckRuan, "pluck.ruan" ) \ + ZEUS_ENUM_VALUE( pluckSallaneh, "pluck.sallaneh" ) \ + ZEUS_ENUM_VALUE( pluckSanshin, "pluck.sanshin" ) \ + ZEUS_ENUM_VALUE( pluckSantoor, "pluck.santoor" ) \ + ZEUS_ENUM_VALUE( pluckSanxian, "pluck.sanxian" ) \ + ZEUS_ENUM_VALUE( pluckSarod, "pluck.sarod" ) \ + ZEUS_ENUM_VALUE( pluckSaung, "pluck.saung" ) \ + ZEUS_ENUM_VALUE( pluckSaz, "pluck.saz" ) \ + ZEUS_ENUM_VALUE( pluckSe, "pluck.se" ) \ + ZEUS_ENUM_VALUE( pluckSetar, "pluck.setar" ) \ + ZEUS_ENUM_VALUE( pluckShamisen, "pluck.shamisen" ) \ + ZEUS_ENUM_VALUE( pluckSitar, "pluck.sitar" ) \ + ZEUS_ENUM_VALUE( pluckSynth, "pluck.synth" ) \ + ZEUS_ENUM_VALUE( pluckSynthCharang, "pluck.synth.charang" ) \ + ZEUS_ENUM_VALUE( pluckSynthChiff, "pluck.synth.chiff" ) \ + ZEUS_ENUM_VALUE( pluckSynthStick, "pluck.synth.stick" ) \ + ZEUS_ENUM_VALUE( pluckTambura, "pluck.tambura" ) \ + ZEUS_ENUM_VALUE( pluckTamburaBulgarian, "pluck.tambura.bulgarian" ) \ + ZEUS_ENUM_VALUE( pluckTamburaFemale, "pluck.tambura.female" ) \ + ZEUS_ENUM_VALUE( pluckTamburaMale, "pluck.tambura.male" ) \ + ZEUS_ENUM_VALUE( pluckTar, "pluck.tar" ) \ + ZEUS_ENUM_VALUE( pluckTheorbo, "pluck.theorbo" ) \ + ZEUS_ENUM_VALUE( pluckTimple, "pluck.timple" ) \ + ZEUS_ENUM_VALUE( pluckTiple, "pluck.tiple" ) \ + ZEUS_ENUM_VALUE( pluckTres, "pluck.tres" ) \ + ZEUS_ENUM_VALUE( pluckUkulele, "pluck.ukulele" ) \ + ZEUS_ENUM_VALUE( pluckUkuleleTenor, "pluck.ukulele.tenor" ) \ + ZEUS_ENUM_VALUE( pluckValiha, "pluck.valiha" ) \ + ZEUS_ENUM_VALUE( pluckVeena, "pluck.veena" ) \ + ZEUS_ENUM_VALUE( pluckVeenaMohan, "pluck.veena.mohan" ) \ + ZEUS_ENUM_VALUE( pluckVeenaRudra, "pluck.veena.rudra" ) \ + ZEUS_ENUM_VALUE( pluckVeenaVichitra, "pluck.veena.vichitra" ) \ + ZEUS_ENUM_VALUE( pluckVihuela, "pluck.vihuela" ) \ + ZEUS_ENUM_VALUE( pluckVihuelaMexican, "pluck.vihuela.mexican" ) \ + ZEUS_ENUM_VALUE( pluckXalam, "pluck.xalam" ) \ + ZEUS_ENUM_VALUE( pluckYueqin, "pluck.yueqin" ) \ + ZEUS_ENUM_VALUE( pluckZither, "pluck.zither" ) \ + ZEUS_ENUM_VALUE( pluckZitherOvertone, "pluck.zither.overtone" ) \ + ZEUS_ENUM_VALUE( rattleAfoxe, "rattle.afoxe" ) \ + ZEUS_ENUM_VALUE( rattleBirds, "rattle.birds" ) \ + ZEUS_ENUM_VALUE( rattleCabasa, "rattle.cabasa" ) \ + ZEUS_ENUM_VALUE( rattleCaxixi, "rattle.caxixi" ) \ + ZEUS_ENUM_VALUE( rattleCog, "rattle.cog" ) \ + ZEUS_ENUM_VALUE( rattleGanza, "rattle.ganza" ) \ + ZEUS_ENUM_VALUE( rattleHosho, "rattle.hosho" ) \ + ZEUS_ENUM_VALUE( rattleJawbone, "rattle.jawbone" ) \ + ZEUS_ENUM_VALUE( rattleKayamba, "rattle.kayamba" ) \ + ZEUS_ENUM_VALUE( rattleKpokoKpoko, "rattle.kpoko-kpoko" ) \ + ZEUS_ENUM_VALUE( rattleLavaStones, "rattle.lava-stones" ) \ + ZEUS_ENUM_VALUE( rattleMaraca, "rattle.maraca" ) \ + ZEUS_ENUM_VALUE( rattleRainStick, "rattle.rain-stick" ) \ + ZEUS_ENUM_VALUE( rattleRatchet, "rattle.ratchet" ) \ + ZEUS_ENUM_VALUE( rattleRattle, "rattle.rattle" ) \ + ZEUS_ENUM_VALUE( rattleShaker, "rattle.shaker" ) \ + ZEUS_ENUM_VALUE( rattleShakerEgg, "rattle.shaker.egg" ) \ + ZEUS_ENUM_VALUE( rattleShekere, "rattle.shekere" ) \ + ZEUS_ENUM_VALUE( rattleSistre, "rattle.sistre" ) \ + ZEUS_ENUM_VALUE( rattleTelevi, "rattle.televi" ) \ + ZEUS_ENUM_VALUE( rattleVibraslap, "rattle.vibraslap" ) \ + ZEUS_ENUM_VALUE( rattleWasembe, "rattle.wasembe" ) \ + ZEUS_ENUM_VALUE( stringsAjaeng, "strings.ajaeng" ) \ + ZEUS_ENUM_VALUE( stringsArpeggione, "strings.arpeggione" ) \ + ZEUS_ENUM_VALUE( stringsBaryton, "strings.baryton" ) \ + ZEUS_ENUM_VALUE( stringsCello, "strings.cello" ) \ + ZEUS_ENUM_VALUE( stringsCelloPiccolo, "strings.cello.piccolo" ) \ + ZEUS_ENUM_VALUE( stringsContrabass, "strings.contrabass" ) \ + ZEUS_ENUM_VALUE( stringsCrwth, "strings.crwth" ) \ + ZEUS_ENUM_VALUE( stringsDanGao, "strings.dan-gao" ) \ + ZEUS_ENUM_VALUE( stringsDihu, "strings.dihu" ) \ + ZEUS_ENUM_VALUE( stringsErhu, "strings.erhu" ) \ + ZEUS_ENUM_VALUE( stringsErxian, "strings.erxian" ) \ + ZEUS_ENUM_VALUE( stringsEsraj, "strings.esraj" ) \ + ZEUS_ENUM_VALUE( stringsFiddle, "strings.fiddle" ) \ + ZEUS_ENUM_VALUE( stringsFiddleHardanger, "strings.fiddle.hardanger" ) \ + ZEUS_ENUM_VALUE( stringsGadulka, "strings.gadulka" ) \ + ZEUS_ENUM_VALUE( stringsGaohu, "strings.gaohu" ) \ + ZEUS_ENUM_VALUE( stringsGehu, "strings.gehu" ) \ + ZEUS_ENUM_VALUE( stringsGroup, "strings.group" ) \ + ZEUS_ENUM_VALUE( stringsGroupSynth, "strings.group.synth" ) \ + ZEUS_ENUM_VALUE( stringsHaegeum, "strings.haegeum" ) \ + ZEUS_ENUM_VALUE( stringsHurdyGurdy, "strings.hurdy-gurdy" ) \ + ZEUS_ENUM_VALUE( stringsIgil, "strings.igil" ) \ + ZEUS_ENUM_VALUE( stringsKamancha, "strings.kamancha" ) \ + ZEUS_ENUM_VALUE( stringsKokyu, "strings.kokyu" ) \ + ZEUS_ENUM_VALUE( stringsLaruan, "strings.laruan" ) \ + ZEUS_ENUM_VALUE( stringsLeiqin, "strings.leiqin" ) \ + ZEUS_ENUM_VALUE( stringsLirone, "strings.lirone" ) \ + ZEUS_ENUM_VALUE( stringsLyraByzantine, "strings.lyra.byzantine" ) \ + ZEUS_ENUM_VALUE( stringsLyraCretan, "strings.lyra.cretan" ) \ + ZEUS_ENUM_VALUE( stringsMorinKhuur, "strings.morin-khuur" ) \ + ZEUS_ENUM_VALUE( stringsNyckelharpa, "strings.nyckelharpa" ) \ + ZEUS_ENUM_VALUE( stringsOctobass, "strings.octobass" ) \ + ZEUS_ENUM_VALUE( stringsRebab, "strings.rebab" ) \ + ZEUS_ENUM_VALUE( stringsRebec, "strings.rebec" ) \ + ZEUS_ENUM_VALUE( stringsSarangi, "strings.sarangi" ) \ + ZEUS_ENUM_VALUE( stringsStrohViolin, "strings.stroh-violin" ) \ + ZEUS_ENUM_VALUE( stringsTrombaMarina, "strings.tromba-marina" ) \ + ZEUS_ENUM_VALUE( stringsVielle, "strings.vielle" ) \ + ZEUS_ENUM_VALUE( stringsViol, "strings.viol" ) \ + ZEUS_ENUM_VALUE( stringsViolAlto, "strings.viol.alto" ) \ + ZEUS_ENUM_VALUE( stringsViolBass, "strings.viol.bass" ) \ + ZEUS_ENUM_VALUE( stringsViolTenor, "strings.viol.tenor" ) \ + ZEUS_ENUM_VALUE( stringsViolTreble, "strings.viol.treble" ) \ + ZEUS_ENUM_VALUE( stringsViolViolone, "strings.viol.violone" ) \ + ZEUS_ENUM_VALUE( stringsViola, "strings.viola" ) \ + ZEUS_ENUM_VALUE( stringsViolaDamore, "strings.viola-damore" ) \ + ZEUS_ENUM_VALUE( stringsViolin, "strings.violin" ) \ + ZEUS_ENUM_VALUE( stringsViolonoPiccolo, "strings.violono.piccolo" ) \ + ZEUS_ENUM_VALUE( stringsViolotta, "strings.violotta" ) \ + ZEUS_ENUM_VALUE( stringsYayliTanbur, "strings.yayli-tanbur" ) \ + ZEUS_ENUM_VALUE( stringsYazheng, "strings.yazheng" ) \ + ZEUS_ENUM_VALUE( stringsZhonghu, "strings.zhonghu" ) \ + ZEUS_ENUM_VALUE( synthEffects, "synth.effects" ) \ + ZEUS_ENUM_VALUE( synthEffectsAtmosphere, "synth.effects.atmosphere" ) \ + ZEUS_ENUM_VALUE( synthEffectsBrightness, "synth.effects.brightness" ) \ + ZEUS_ENUM_VALUE( synthEffectsCrystal, "synth.effects.crystal" ) \ + ZEUS_ENUM_VALUE( synthEffectsEchoes, "synth.effects.echoes" ) \ + ZEUS_ENUM_VALUE( synthEffectsGoblins, "synth.effects.goblins" ) \ + ZEUS_ENUM_VALUE( synthEffectsRain, "synth.effects.rain" ) \ + ZEUS_ENUM_VALUE( synthEffectsSciFi, "synth.effects.sci-fi" ) \ + ZEUS_ENUM_VALUE( synthEffectsSoundtrack, "synth.effects.soundtrack" ) \ + ZEUS_ENUM_VALUE( synthGroup, "synth.group" ) \ + ZEUS_ENUM_VALUE( synthGroupFifths, "synth.group.fifths" ) \ + ZEUS_ENUM_VALUE( synthGroupOrchestra, "synth.group.orchestra" ) \ + ZEUS_ENUM_VALUE( synthPad, "synth.pad" ) \ + ZEUS_ENUM_VALUE( synthPadBowed, "synth.pad.bowed" ) \ + ZEUS_ENUM_VALUE( synthPadChoir, "synth.pad.choir" ) \ + ZEUS_ENUM_VALUE( synthPadHalo, "synth.pad.halo" ) \ + ZEUS_ENUM_VALUE( synthPadMetallic, "synth.pad.metallic" ) \ + ZEUS_ENUM_VALUE( synthPadPolysynth, "synth.pad.polysynth" ) \ + ZEUS_ENUM_VALUE( synthPadSweep, "synth.pad.sweep" ) \ + ZEUS_ENUM_VALUE( synthPadWarm, "synth.pad.warm" ) \ + ZEUS_ENUM_VALUE( synthTheremin, "synth.theremin" ) \ + ZEUS_ENUM_VALUE( synthToneSawtooth, "synth.tone.sawtooth" ) \ + ZEUS_ENUM_VALUE( synthToneSine, "synth.tone.sine" ) \ + ZEUS_ENUM_VALUE( synthToneSquare, "synth.tone.square" ) \ + ZEUS_ENUM_VALUE( voiceAa, "voice.aa" ) \ + ZEUS_ENUM_VALUE( voiceAlto, "voice.alto" ) \ + ZEUS_ENUM_VALUE( voiceAw, "voice.aw" ) \ + ZEUS_ENUM_VALUE( voiceBaritone, "voice.baritone" ) \ + ZEUS_ENUM_VALUE( voiceBass, "voice.bass" ) \ + ZEUS_ENUM_VALUE( voiceChild, "voice.child" ) \ + ZEUS_ENUM_VALUE( voiceCountertenor, "voice.countertenor" ) \ + ZEUS_ENUM_VALUE( voiceDoo, "voice.doo" ) \ + ZEUS_ENUM_VALUE( voiceEe, "voice.ee" ) \ + ZEUS_ENUM_VALUE( voiceFemale, "voice.female" ) \ + ZEUS_ENUM_VALUE( voiceKazoo, "voice.kazoo" ) \ + ZEUS_ENUM_VALUE( voiceMale, "voice.male" ) \ + ZEUS_ENUM_VALUE( voiceMezzoSoprano, "voice.mezzo-soprano" ) \ + ZEUS_ENUM_VALUE( voiceMm, "voice.mm" ) \ + ZEUS_ENUM_VALUE( voiceOo, "voice.oo" ) \ + ZEUS_ENUM_VALUE( voicePercussion, "voice.percussion" ) \ + ZEUS_ENUM_VALUE( voicePercussionBeatbox, "voice.percussion.beatbox" ) \ + ZEUS_ENUM_VALUE( voiceSoprano, "voice.soprano" ) \ + ZEUS_ENUM_VALUE( voiceSynth, "voice.synth" ) \ + ZEUS_ENUM_VALUE( voiceTalkBox, "voice.talk-box" ) \ + ZEUS_ENUM_VALUE( voiceTenor, "voice.tenor" ) \ + ZEUS_ENUM_VALUE( voiceVocals, "voice.vocals" ) \ + ZEUS_ENUM_VALUE( windFlutesBansuri, "wind.flutes.bansuri" ) \ + ZEUS_ENUM_VALUE( windFlutesBlownBottle, "wind.flutes.blown-bottle" ) \ + ZEUS_ENUM_VALUE( windFlutesCalliope, "wind.flutes.calliope" ) \ + ZEUS_ENUM_VALUE( windFlutesDanso, "wind.flutes.danso" ) \ + ZEUS_ENUM_VALUE( windFlutesDiZi, "wind.flutes.di-zi" ) \ + ZEUS_ENUM_VALUE( windFlutesDvojnice, "wind.flutes.dvojnice" ) \ + ZEUS_ENUM_VALUE( windFlutesFife, "wind.flutes.fife" ) \ + ZEUS_ENUM_VALUE( windFlutesFlageolet, "wind.flutes.flageolet" ) \ + ZEUS_ENUM_VALUE( windFlutesFlute, "wind.flutes.flute" ) \ + ZEUS_ENUM_VALUE( windFlutesFluteAlto, "wind.flutes.flute.alto" ) \ + ZEUS_ENUM_VALUE( windFlutesFluteBass, "wind.flutes.flute.bass" ) \ + ZEUS_ENUM_VALUE( windFlutesFluteContraAlto, "wind.flutes.flute.contra-alto" ) \ + ZEUS_ENUM_VALUE( windFlutesFluteContrabass, "wind.flutes.flute.contrabass" ) \ + ZEUS_ENUM_VALUE( windFlutesFluteDoubleContrabass, "wind.flutes.flute.double-contrabass" ) \ + ZEUS_ENUM_VALUE( windFlutesFluteIrish, "wind.flutes.flute.irish" ) \ + ZEUS_ENUM_VALUE( windFlutesFlutePiccolo, "wind.flutes.flute.piccolo" ) \ + ZEUS_ENUM_VALUE( windFlutesFluteSubcontrabass, "wind.flutes.flute.subcontrabass" ) \ + ZEUS_ENUM_VALUE( windFlutesFujara, "wind.flutes.fujara" ) \ + ZEUS_ENUM_VALUE( windFlutesGemshorn, "wind.flutes.gemshorn" ) \ + ZEUS_ENUM_VALUE( windFlutesHocchiku, "wind.flutes.hocchiku" ) \ + ZEUS_ENUM_VALUE( windFlutesHun, "wind.flutes.hun" ) \ + ZEUS_ENUM_VALUE( windFlutesKaval, "wind.flutes.kaval" ) \ + ZEUS_ENUM_VALUE( windFlutesKawala, "wind.flutes.kawala" ) \ + ZEUS_ENUM_VALUE( windFlutesKhlui, "wind.flutes.khlui" ) \ + ZEUS_ENUM_VALUE( windFlutesKnotweed, "wind.flutes.knotweed" ) \ + ZEUS_ENUM_VALUE( windFlutesKoncovkaAlto, "wind.flutes.koncovka.alto" ) \ + ZEUS_ENUM_VALUE( windFlutesKoudi, "wind.flutes.koudi" ) \ + ZEUS_ENUM_VALUE( windFlutesNey, "wind.flutes.ney" ) \ + ZEUS_ENUM_VALUE( windFlutesNohkan, "wind.flutes.nohkan" ) \ + ZEUS_ENUM_VALUE( windFlutesNose, "wind.flutes.nose" ) \ + ZEUS_ENUM_VALUE( windFlutesOcarina, "wind.flutes.ocarina" ) \ + ZEUS_ENUM_VALUE( windFlutesOvertoneTenor, "wind.flutes.overtone.tenor" ) \ + ZEUS_ENUM_VALUE( windFlutesPalendag, "wind.flutes.palendag" ) \ + ZEUS_ENUM_VALUE( windFlutesPanpipes, "wind.flutes.panpipes" ) \ + ZEUS_ENUM_VALUE( windFlutesQuena, "wind.flutes.quena" ) \ + ZEUS_ENUM_VALUE( windFlutesRecorder, "wind.flutes.recorder" ) \ + ZEUS_ENUM_VALUE( windFlutesRecorderAlto, "wind.flutes.recorder.alto" ) \ + ZEUS_ENUM_VALUE( windFlutesRecorderBass, "wind.flutes.recorder.bass" ) \ + ZEUS_ENUM_VALUE( windFlutesRecorderContrabass, "wind.flutes.recorder.contrabass" ) \ + ZEUS_ENUM_VALUE( windFlutesRecorderDescant, "wind.flutes.recorder.descant" ) \ + ZEUS_ENUM_VALUE( windFlutesRecorderGarklein, "wind.flutes.recorder.garklein" ) \ + ZEUS_ENUM_VALUE( windFlutesRecorderGreatBass, "wind.flutes.recorder.great-bass" ) \ + ZEUS_ENUM_VALUE( windFlutesRecorderSopranino, "wind.flutes.recorder.sopranino" ) \ + ZEUS_ENUM_VALUE( windFlutesRecorderSoprano, "wind.flutes.recorder.soprano" ) \ + ZEUS_ENUM_VALUE( windFlutesRecorderTenor, "wind.flutes.recorder.tenor" ) \ + ZEUS_ENUM_VALUE( windFlutesRyuteki, "wind.flutes.ryuteki" ) \ + ZEUS_ENUM_VALUE( windFlutesShakuhachi, "wind.flutes.shakuhachi" ) \ + ZEUS_ENUM_VALUE( windFlutesShepherdsPipe, "wind.flutes.shepherds-pipe" ) \ + ZEUS_ENUM_VALUE( windFlutesShinobue, "wind.flutes.shinobue" ) \ + ZEUS_ENUM_VALUE( windFlutesShvi, "wind.flutes.shvi" ) \ + ZEUS_ENUM_VALUE( windFlutesSuling, "wind.flutes.suling" ) \ + ZEUS_ENUM_VALUE( windFlutesTarka, "wind.flutes.tarka" ) \ + ZEUS_ENUM_VALUE( windFlutesTumpong, "wind.flutes.tumpong" ) \ + ZEUS_ENUM_VALUE( windFlutesVenu, "wind.flutes.venu" ) \ + ZEUS_ENUM_VALUE( windFlutesWhistle, "wind.flutes.whistle" ) \ + ZEUS_ENUM_VALUE( windFlutesWhistleAlto, "wind.flutes.whistle.alto" ) \ + ZEUS_ENUM_VALUE( windFlutesWhistleLowIrish, "wind.flutes.whistle.low-irish" ) \ + ZEUS_ENUM_VALUE( windFlutesWhistleShiva, "wind.flutes.whistle.shiva" ) \ + ZEUS_ENUM_VALUE( windFlutesWhistleSlide, "wind.flutes.whistle.slide" ) \ + ZEUS_ENUM_VALUE( windFlutesWhistleTin, "wind.flutes.whistle.tin" ) \ + ZEUS_ENUM_VALUE( windFlutesWhistleTinBflat, "wind.flutes.whistle.tin.bflat" ) \ + ZEUS_ENUM_VALUE( windFlutesWhistleTinD, "wind.flutes.whistle.tin.d" ) \ + ZEUS_ENUM_VALUE( windFlutesXiao, "wind.flutes.xiao" ) \ + ZEUS_ENUM_VALUE( windFlutesXun, "wind.flutes.xun" ) \ + ZEUS_ENUM_VALUE( windGroup, "wind.group" ) \ + ZEUS_ENUM_VALUE( windJug, "wind.jug" ) \ + ZEUS_ENUM_VALUE( windPipesBagpipes, "wind.pipes.bagpipes" ) \ + ZEUS_ENUM_VALUE( windPipesGaida, "wind.pipes.gaida" ) \ + ZEUS_ENUM_VALUE( windPipesHighland, "wind.pipes.highland" ) \ + ZEUS_ENUM_VALUE( windPipesUilleann, "wind.pipes.uilleann" ) \ + ZEUS_ENUM_VALUE( windPungi, "wind.pungi" ) \ + ZEUS_ENUM_VALUE( windReedAlbogue, "wind.reed.albogue" ) \ + ZEUS_ENUM_VALUE( windReedAlboka, "wind.reed.alboka" ) \ + ZEUS_ENUM_VALUE( windReedAlgaita, "wind.reed.algaita" ) \ + ZEUS_ENUM_VALUE( windReedArghul, "wind.reed.arghul" ) \ + ZEUS_ENUM_VALUE( windReedBassetHorn, "wind.reed.basset-horn" ) \ + ZEUS_ENUM_VALUE( windReedBassoon, "wind.reed.bassoon" ) \ + ZEUS_ENUM_VALUE( windReedBawu, "wind.reed.bawu" ) \ + ZEUS_ENUM_VALUE( windReedBifora, "wind.reed.bifora" ) \ + ZEUS_ENUM_VALUE( windReedBombarde, "wind.reed.bombarde" ) \ + ZEUS_ENUM_VALUE( windReedChalumeau, "wind.reed.chalumeau" ) \ + ZEUS_ENUM_VALUE( windReedClarinet, "wind.reed.clarinet" ) \ + ZEUS_ENUM_VALUE( windReedClarinetA, "wind.reed.clarinet.a" ) \ + ZEUS_ENUM_VALUE( windReedClarinetAlto, "wind.reed.clarinet.alto" ) \ + ZEUS_ENUM_VALUE( windReedClarinetBass, "wind.reed.clarinet.bass" ) \ + ZEUS_ENUM_VALUE( windReedClarinetBasset, "wind.reed.clarinet.basset" ) \ + ZEUS_ENUM_VALUE( windReedClarinetBflat, "wind.reed.clarinet.bflat" ) \ + ZEUS_ENUM_VALUE( windReedClarinetContraAlto, "wind.reed.clarinet.contra-alto" ) \ + ZEUS_ENUM_VALUE( windReedClarinetContrabass, "wind.reed.clarinet.contrabass" ) \ + ZEUS_ENUM_VALUE( windReedClarinetEflat, "wind.reed.clarinet.eflat" ) \ + ZEUS_ENUM_VALUE( windReedClarinetPiccoloAflat, "wind.reed.clarinet.piccolo.aflat" ) \ + ZEUS_ENUM_VALUE( windReedClarinetteDamour, "wind.reed.clarinette-damour" ) \ + ZEUS_ENUM_VALUE( windReedContrabass, "wind.reed.contrabass" ) \ + ZEUS_ENUM_VALUE( windReedContrabassoon, "wind.reed.contrabassoon" ) \ + ZEUS_ENUM_VALUE( windReedCornamuse, "wind.reed.cornamuse" ) \ + ZEUS_ENUM_VALUE( windReedCromorne, "wind.reed.cromorne" ) \ + ZEUS_ENUM_VALUE( windReedCrumhorn, "wind.reed.crumhorn" ) \ + ZEUS_ENUM_VALUE( windReedCrumhornAlto, "wind.reed.crumhorn.alto" ) \ + ZEUS_ENUM_VALUE( windReedCrumhornBass, "wind.reed.crumhorn.bass" ) \ + ZEUS_ENUM_VALUE( windReedCrumhornGreatBass, "wind.reed.crumhorn.great-bass" ) \ + ZEUS_ENUM_VALUE( windReedCrumhornSoprano, "wind.reed.crumhorn.soprano" ) \ + ZEUS_ENUM_VALUE( windReedCrumhornTenor, "wind.reed.crumhorn.tenor" ) \ + ZEUS_ENUM_VALUE( windReedDiple, "wind.reed.diple" ) \ + ZEUS_ENUM_VALUE( windReedDiplica, "wind.reed.diplica" ) \ + ZEUS_ENUM_VALUE( windReedDuduk, "wind.reed.duduk" ) \ + ZEUS_ENUM_VALUE( windReedDulcian, "wind.reed.dulcian" ) \ + ZEUS_ENUM_VALUE( windReedDulzaina, "wind.reed.dulzaina" ) \ + ZEUS_ENUM_VALUE( windReedEnglishHorn, "wind.reed.english-horn" ) \ + ZEUS_ENUM_VALUE( windReedGuanzi, "wind.reed.guanzi" ) \ + ZEUS_ENUM_VALUE( windReedHarmonica, "wind.reed.harmonica" ) \ + ZEUS_ENUM_VALUE( windReedHarmonicaBass, "wind.reed.harmonica.bass" ) \ + ZEUS_ENUM_VALUE( windReedHeckelClarina, "wind.reed.heckel-clarina" ) \ + ZEUS_ENUM_VALUE( windReedHeckelphone, "wind.reed.heckelphone" ) \ + ZEUS_ENUM_VALUE( windReedHeckelphonePiccolo, "wind.reed.heckelphone.piccolo" ) \ + ZEUS_ENUM_VALUE( windReedHeckelphoneClarinet, "wind.reed.heckelphone-clarinet" ) \ + ZEUS_ENUM_VALUE( windReedHichiriki, "wind.reed.hichiriki" ) \ + ZEUS_ENUM_VALUE( windReedHirtenschalmei, "wind.reed.hirtenschalmei" ) \ + ZEUS_ENUM_VALUE( windReedHne, "wind.reed.hne" ) \ + ZEUS_ENUM_VALUE( windReedHornpipe, "wind.reed.hornpipe" ) \ + ZEUS_ENUM_VALUE( windReedHouguan, "wind.reed.houguan" ) \ + ZEUS_ENUM_VALUE( windReedHulusi, "wind.reed.hulusi" ) \ + ZEUS_ENUM_VALUE( windReedJogiBaja, "wind.reed.jogi-baja" ) \ + ZEUS_ENUM_VALUE( windReedKenBau, "wind.reed.ken-bau" ) \ + ZEUS_ENUM_VALUE( windReedKhaenMouthOrgan, "wind.reed.khaen-mouth-organ" ) \ + ZEUS_ENUM_VALUE( windReedLauneddas, "wind.reed.launeddas" ) \ + ZEUS_ENUM_VALUE( windReedMaqrunah, "wind.reed.maqrunah" ) \ + ZEUS_ENUM_VALUE( windReedMelodica, "wind.reed.melodica" ) \ + ZEUS_ENUM_VALUE( windReedMijwiz, "wind.reed.mijwiz" ) \ + ZEUS_ENUM_VALUE( windReedMizmar, "wind.reed.mizmar" ) \ + ZEUS_ENUM_VALUE( windReedNadaswaram, "wind.reed.nadaswaram" ) \ + ZEUS_ENUM_VALUE( windReedOboe, "wind.reed.oboe" ) \ + ZEUS_ENUM_VALUE( windReedOboeBass, "wind.reed.oboe.bass" ) \ + ZEUS_ENUM_VALUE( windReedOboePiccolo, "wind.reed.oboe.piccolo" ) \ + ZEUS_ENUM_VALUE( windReedOboeDaCaccia, "wind.reed.oboe-da-caccia" ) \ + ZEUS_ENUM_VALUE( windReedOboeDamore, "wind.reed.oboe-damore" ) \ + ZEUS_ENUM_VALUE( windReedOctavin, "wind.reed.octavin" ) \ + ZEUS_ENUM_VALUE( windReedPi, "wind.reed.pi" ) \ + ZEUS_ENUM_VALUE( windReedPibgorn, "wind.reed.pibgorn" ) \ + ZEUS_ENUM_VALUE( windReedPiri, "wind.reed.piri" ) \ + ZEUS_ENUM_VALUE( windReedRackett, "wind.reed.rackett" ) \ + ZEUS_ENUM_VALUE( windReedRauschpfeife, "wind.reed.rauschpfeife" ) \ + ZEUS_ENUM_VALUE( windReedRhaita, "wind.reed.rhaita" ) \ + ZEUS_ENUM_VALUE( windReedRothphone, "wind.reed.rothphone" ) \ + ZEUS_ENUM_VALUE( windReedSarrusaphone, "wind.reed.sarrusaphone" ) \ + ZEUS_ENUM_VALUE( windReedSaxonette, "wind.reed.saxonette" ) \ + ZEUS_ENUM_VALUE( windReedSaxophone, "wind.reed.saxophone" ) \ + ZEUS_ENUM_VALUE( windReedSaxophoneAlto, "wind.reed.saxophone.alto" ) \ + ZEUS_ENUM_VALUE( windReedSaxophoneAulochrome, "wind.reed.saxophone.aulochrome" ) \ + ZEUS_ENUM_VALUE( windReedSaxophoneBaritone, "wind.reed.saxophone.baritone" ) \ + ZEUS_ENUM_VALUE( windReedSaxophoneBass, "wind.reed.saxophone.bass" ) \ + ZEUS_ENUM_VALUE( windReedSaxophoneContrabass, "wind.reed.saxophone.contrabass" ) \ + ZEUS_ENUM_VALUE( windReedSaxophoneMelody, "wind.reed.saxophone.melody" ) \ + ZEUS_ENUM_VALUE( windReedSaxophoneMezzoSoprano, "wind.reed.saxophone.mezzo-soprano" ) \ + ZEUS_ENUM_VALUE( windReedSaxophoneSopranino, "wind.reed.saxophone.sopranino" ) \ + ZEUS_ENUM_VALUE( windReedSaxophoneSopranissimo, "wind.reed.saxophone.sopranissimo" ) \ + ZEUS_ENUM_VALUE( windReedSaxophoneSoprano, "wind.reed.saxophone.soprano" ) \ + ZEUS_ENUM_VALUE( windReedSaxophoneSubcontrabass, "wind.reed.saxophone.subcontrabass" ) \ + ZEUS_ENUM_VALUE( windReedSaxophoneTenor, "wind.reed.saxophone.tenor" ) \ + ZEUS_ENUM_VALUE( windReedShawm, "wind.reed.shawm" ) \ + ZEUS_ENUM_VALUE( windReedShenai, "wind.reed.shenai" ) \ + ZEUS_ENUM_VALUE( windReedSheng, "wind.reed.sheng" ) \ + ZEUS_ENUM_VALUE( windReedSipsi, "wind.reed.sipsi" ) \ + ZEUS_ENUM_VALUE( windReedSopila, "wind.reed.sopila" ) \ + ZEUS_ENUM_VALUE( windReedSorna, "wind.reed.sorna" ) \ + ZEUS_ENUM_VALUE( windReedSralai, "wind.reed.sralai" ) \ + ZEUS_ENUM_VALUE( windReedSuona, "wind.reed.suona" ) \ + ZEUS_ENUM_VALUE( windReedSurnai, "wind.reed.surnai" ) \ + ZEUS_ENUM_VALUE( windReedTaepyeongso, "wind.reed.taepyeongso" ) \ + ZEUS_ENUM_VALUE( windReedTarogato, "wind.reed.tarogato" ) \ + ZEUS_ENUM_VALUE( windReedTarogatoAncient, "wind.reed.tarogato.ancient" ) \ + ZEUS_ENUM_VALUE( windReedTrompetaChina, "wind.reed.trompeta-china" ) \ + ZEUS_ENUM_VALUE( windReedTubax, "wind.reed.tubax" ) \ + ZEUS_ENUM_VALUE( windReedXaphoon, "wind.reed.xaphoon" ) \ + ZEUS_ENUM_VALUE( windReedZhaleika, "wind.reed.zhaleika" ) \ + ZEUS_ENUM_VALUE( windReedZurla, "wind.reed.zurla" ) \ + ZEUS_ENUM_VALUE( windReedZurna, "wind.reed.zurna" ) \ + ZEUS_ENUM_VALUE( woodAgogoBlock, "wood.agogo-block" ) \ + ZEUS_ENUM_VALUE( woodAgungATamlang, "wood.agung-a-tamlang" ) \ + ZEUS_ENUM_VALUE( woodAhoko, "wood.ahoko" ) \ + ZEUS_ENUM_VALUE( woodBones, "wood.bones" ) \ + ZEUS_ENUM_VALUE( woodCastanets, "wood.castanets" ) \ + ZEUS_ENUM_VALUE( woodClaves, "wood.claves" ) \ + ZEUS_ENUM_VALUE( woodDrumSticks, "wood.drum-sticks" ) \ + ZEUS_ENUM_VALUE( woodGourd, "wood.gourd" ) \ + ZEUS_ENUM_VALUE( woodGraniteBlock, "wood.granite-block" ) \ + ZEUS_ENUM_VALUE( woodGuban, "wood.guban" ) \ + ZEUS_ENUM_VALUE( woodGuiro, "wood.guiro" ) \ + ZEUS_ENUM_VALUE( woodHyoushigi, "wood.hyoushigi" ) \ + ZEUS_ENUM_VALUE( woodIpu, "wood.ipu" ) \ + ZEUS_ENUM_VALUE( woodJamBlock, "wood.jam-block" ) \ + ZEUS_ENUM_VALUE( woodKaekeeke, "wood.kaekeeke" ) \ + ZEUS_ENUM_VALUE( woodKagul, "wood.kagul" ) \ + ZEUS_ENUM_VALUE( woodKalaau, "wood.kalaau" ) \ + ZEUS_ENUM_VALUE( woodKashiklar, "wood.kashiklar" ) \ + ZEUS_ENUM_VALUE( woodKubing, "wood.kubing" ) \ + ZEUS_ENUM_VALUE( woodPanClappers, "wood.pan-clappers" ) \ + ZEUS_ENUM_VALUE( woodSandBlock, "wood.sand-block" ) \ + ZEUS_ENUM_VALUE( woodSlapstick, "wood.slapstick" ) \ + ZEUS_ENUM_VALUE( woodStirDrum, "wood.stir-drum" ) \ + ZEUS_ENUM_VALUE( woodTempleBlock, "wood.temple-block" ) \ + ZEUS_ENUM_VALUE( woodTicTocBlock, "wood.tic-toc-block" ) \ + ZEUS_ENUM_VALUE( woodTonetang, "wood.tonetang" ) \ + ZEUS_ENUM_VALUE( woodWoodBlock, "wood.wood-block" ) \ + + #include "mx/utility/EnumWithString.h" + #undef ZEUS_ENUM_CLASS_NAME + #undef ZEUS_ENUM_VALUE + #undef ZEUS_ENUM_MEMBERS + enum class PrincipalVoiceSymbol { hauptstimme = 0, diff --git a/Sourcecode/mx/core/elements/InstrumentSound.cpp b/Sourcecode/mx/core/elements/InstrumentSound.cpp index 2b488a155..29225598b 100755 --- a/Sourcecode/mx/core/elements/InstrumentSound.cpp +++ b/Sourcecode/mx/core/elements/InstrumentSound.cpp @@ -11,11 +11,11 @@ namespace mx namespace core { InstrumentSound::InstrumentSound() - :myValue() + :myValue( PlaybackSound::keyboardPiano ) {} - InstrumentSound::InstrumentSound( const XsString& value ) + InstrumentSound::InstrumentSound( const PlaybackSound& value ) :myValue( value ) {} @@ -49,18 +49,18 @@ namespace mx { MX_UNUSED( indentLevel ); isOneLineOnly = true; - os << myValue; + os << PlaybackSoundToString( myValue ); return os; } - XsString InstrumentSound::getValue() const + PlaybackSound InstrumentSound::getValue() const { return myValue; } - void InstrumentSound::setValue( const XsString& value ) + void InstrumentSound::setValue( const PlaybackSound& value ) { myValue = value; } @@ -70,7 +70,7 @@ namespace mx { MX_UNUSED( message ); MX_UNUSED( xelement ); - myValue.setValue( xelement.getValue() ); + myValue = ( PlaybackSoundFromString( xelement.getValue() ) ); return true; } diff --git a/Sourcecode/mx/core/elements/InstrumentSound.h b/Sourcecode/mx/core/elements/InstrumentSound.h index 1d328d766..cd7497267 100755 --- a/Sourcecode/mx/core/elements/InstrumentSound.h +++ b/Sourcecode/mx/core/elements/InstrumentSound.h @@ -6,7 +6,7 @@ #include "mx/core/ForwardDeclare.h" #include "mx/core/ElementInterface.h" -#include "mx/core/Strings.h" +#include "mx/core/Enums.h" #include #include @@ -20,27 +20,26 @@ namespace mx MX_FORWARD_DECLARE_ELEMENT( InstrumentSound ) inline InstrumentSoundPtr makeInstrumentSound() { return std::make_shared(); } - inline InstrumentSoundPtr makeInstrumentSound( const XsString& value ) { return std::make_shared( value ); } - inline InstrumentSoundPtr makeInstrumentSound( XsString&& value ) { return std::make_shared( std::move( value ) ); } + inline InstrumentSoundPtr makeInstrumentSound( PlaybackSound value ) { return std::make_shared( value ); } class InstrumentSound : public ElementInterface { public: InstrumentSound(); - InstrumentSound( const XsString& value ); + InstrumentSound( const PlaybackSound& value ); virtual bool hasAttributes() const; virtual bool hasContents() const; virtual std::ostream& streamAttributes( std::ostream& os ) const; virtual std::ostream& streamName( std::ostream& os ) const; virtual std::ostream& streamContents( std::ostream& os, const int indentLevel, bool& isOneLineOnly ) const; - XsString getValue() const; - void setValue( const XsString& value ); + PlaybackSound getValue() const; + void setValue( const PlaybackSound& value ); bool fromXElement( std::ostream& message, xml::XElement& xelement ); private: - XsString myValue; + PlaybackSound myValue; }; } } diff --git a/Sourcecode/mx/impl/Converter.cpp b/Sourcecode/mx/impl/Converter.cpp index dd81003f1..800f1fb78 100644 --- a/Sourcecode/mx/impl/Converter.cpp +++ b/Sourcecode/mx/impl/Converter.cpp @@ -379,6 +379,897 @@ namespace mx std::pair{ core::FermataShape::square, api::MarkType::fermataSquare }, std::pair{ core::FermataShape::emptystring, api::MarkType::fermata }, }; + + + const std::map Converter::instrumentMap + { + std::pair{ core::PlaybackSound::brassAlphorn, api::InstrumentSound::brassAlphorn }, + std::pair{ core::PlaybackSound::brassAltoHorn, api::InstrumentSound::brassAltoHorn }, + std::pair{ core::PlaybackSound::brassBaritoneHorn, api::InstrumentSound::brassBaritoneHorn }, + std::pair{ core::PlaybackSound::brassBugle, api::InstrumentSound::brassBugle }, + std::pair{ core::PlaybackSound::brassBugleAlto, api::InstrumentSound::brassBugleAlto }, + std::pair{ core::PlaybackSound::brassBugleBaritone, api::InstrumentSound::brassBugleBaritone }, + std::pair{ core::PlaybackSound::brassBugleContrabass, api::InstrumentSound::brassBugleContrabass }, + std::pair{ core::PlaybackSound::brassBugleEuphoniumBugle, api::InstrumentSound::brassBugleEuphoniumBugle }, + std::pair{ core::PlaybackSound::brassBugleMellophoneBugle, api::InstrumentSound::brassBugleMellophoneBugle }, + std::pair{ core::PlaybackSound::brassBugleSoprano, api::InstrumentSound::brassBugleSoprano }, + std::pair{ core::PlaybackSound::brassCimbasso, api::InstrumentSound::brassCimbasso }, + std::pair{ core::PlaybackSound::brassConchShell, api::InstrumentSound::brassConchShell }, + std::pair{ core::PlaybackSound::brassCornet, api::InstrumentSound::brassCornet }, + std::pair{ core::PlaybackSound::brassCornetSoprano, api::InstrumentSound::brassCornetSoprano }, + std::pair{ core::PlaybackSound::brassCornett, api::InstrumentSound::brassCornett }, + std::pair{ core::PlaybackSound::brassCornettTenor, api::InstrumentSound::brassCornettTenor }, + std::pair{ core::PlaybackSound::brassCornettino, api::InstrumentSound::brassCornettino }, + std::pair{ core::PlaybackSound::brassDidgeridoo, api::InstrumentSound::brassDidgeridoo }, + std::pair{ core::PlaybackSound::brassEuphonium, api::InstrumentSound::brassEuphonium }, + std::pair{ core::PlaybackSound::brassFiscorn, api::InstrumentSound::brassFiscorn }, + std::pair{ core::PlaybackSound::brassFlugelhorn, api::InstrumentSound::brassFlugelhorn }, + std::pair{ core::PlaybackSound::brassFrenchHorn, api::InstrumentSound::brassFrenchHorn }, + std::pair{ core::PlaybackSound::brassGroup, api::InstrumentSound::brassGroup }, + std::pair{ core::PlaybackSound::brassGroupSynth, api::InstrumentSound::brassGroupSynth }, + std::pair{ core::PlaybackSound::brassHelicon, api::InstrumentSound::brassHelicon }, + std::pair{ core::PlaybackSound::brassHoragai, api::InstrumentSound::brassHoragai }, + std::pair{ core::PlaybackSound::brassKuhlohorn, api::InstrumentSound::brassKuhlohorn }, + std::pair{ core::PlaybackSound::brassMellophone, api::InstrumentSound::brassMellophone }, + std::pair{ core::PlaybackSound::brassNaturalHorn, api::InstrumentSound::brassNaturalHorn }, + std::pair{ core::PlaybackSound::brassOphicleide, api::InstrumentSound::brassOphicleide }, + std::pair{ core::PlaybackSound::brassPosthorn, api::InstrumentSound::brassPosthorn }, + std::pair{ core::PlaybackSound::brassRagDung, api::InstrumentSound::brassRagDung }, + std::pair{ core::PlaybackSound::brassSackbutt, api::InstrumentSound::brassSackbutt }, + std::pair{ core::PlaybackSound::brassSackbuttAlto, api::InstrumentSound::brassSackbuttAlto }, + std::pair{ core::PlaybackSound::brassSackbuttBass, api::InstrumentSound::brassSackbuttBass }, + std::pair{ core::PlaybackSound::brassSackbuttTenor, api::InstrumentSound::brassSackbuttTenor }, + std::pair{ core::PlaybackSound::brassSaxhorn, api::InstrumentSound::brassSaxhorn }, + std::pair{ core::PlaybackSound::brassSerpent, api::InstrumentSound::brassSerpent }, + std::pair{ core::PlaybackSound::brassShofar, api::InstrumentSound::brassShofar }, + std::pair{ core::PlaybackSound::brassSousaphone, api::InstrumentSound::brassSousaphone }, + std::pair{ core::PlaybackSound::brassTrombone, api::InstrumentSound::brassTrombone }, + std::pair{ core::PlaybackSound::brassTromboneAlto, api::InstrumentSound::brassTromboneAlto }, + std::pair{ core::PlaybackSound::brassTromboneBass, api::InstrumentSound::brassTromboneBass }, + std::pair{ core::PlaybackSound::brassTromboneContrabass, api::InstrumentSound::brassTromboneContrabass }, + std::pair{ core::PlaybackSound::brassTromboneTenor, api::InstrumentSound::brassTromboneTenor }, + std::pair{ core::PlaybackSound::brassTrumpet, api::InstrumentSound::brassTrumpet }, + std::pair{ core::PlaybackSound::brassTrumpetBaroque, api::InstrumentSound::brassTrumpetBaroque }, + std::pair{ core::PlaybackSound::brassTrumpetBass, api::InstrumentSound::brassTrumpetBass }, + std::pair{ core::PlaybackSound::brassTrumpetBflat, api::InstrumentSound::brassTrumpetBflat }, + std::pair{ core::PlaybackSound::brassTrumpetC, api::InstrumentSound::brassTrumpetC }, + std::pair{ core::PlaybackSound::brassTrumpetD, api::InstrumentSound::brassTrumpetD }, + std::pair{ core::PlaybackSound::brassTrumpetPiccolo, api::InstrumentSound::brassTrumpetPiccolo }, + std::pair{ core::PlaybackSound::brassTrumpetPocket, api::InstrumentSound::brassTrumpetPocket }, + std::pair{ core::PlaybackSound::brassTrumpetSlide, api::InstrumentSound::brassTrumpetSlide }, + std::pair{ core::PlaybackSound::brassTrumpetTenor, api::InstrumentSound::brassTrumpetTenor }, + std::pair{ core::PlaybackSound::brassTuba, api::InstrumentSound::brassTuba }, + std::pair{ core::PlaybackSound::brassTubaBass, api::InstrumentSound::brassTubaBass }, + std::pair{ core::PlaybackSound::brassTubaSubcontrabass, api::InstrumentSound::brassTubaSubcontrabass }, + std::pair{ core::PlaybackSound::brassViennaHorn, api::InstrumentSound::brassViennaHorn }, + std::pair{ core::PlaybackSound::brassVuvuzela, api::InstrumentSound::brassVuvuzela }, + std::pair{ core::PlaybackSound::brassWagnerTuba, api::InstrumentSound::brassWagnerTuba }, + std::pair{ core::PlaybackSound::drumApentemma, api::InstrumentSound::drumApentemma }, + std::pair{ core::PlaybackSound::drumAshiko, api::InstrumentSound::drumAshiko }, + std::pair{ core::PlaybackSound::drumAtabaque, api::InstrumentSound::drumAtabaque }, + std::pair{ core::PlaybackSound::drumAtoke, api::InstrumentSound::drumAtoke }, + std::pair{ core::PlaybackSound::drumAtsimevu, api::InstrumentSound::drumAtsimevu }, + std::pair{ core::PlaybackSound::drumAxatse, api::InstrumentSound::drumAxatse }, + std::pair{ core::PlaybackSound::drumBassDrum, api::InstrumentSound::drumBassDrum }, + std::pair{ core::PlaybackSound::drumBata, api::InstrumentSound::drumBata }, + std::pair{ core::PlaybackSound::drumBataItotele, api::InstrumentSound::drumBataItotele }, + std::pair{ core::PlaybackSound::drumBataIya, api::InstrumentSound::drumBataIya }, + std::pair{ core::PlaybackSound::drumBataOkonkolo, api::InstrumentSound::drumBataOkonkolo }, + std::pair{ core::PlaybackSound::drumBendir, api::InstrumentSound::drumBendir }, + std::pair{ core::PlaybackSound::drumBodhran, api::InstrumentSound::drumBodhran }, + std::pair{ core::PlaybackSound::drumBombo, api::InstrumentSound::drumBombo }, + std::pair{ core::PlaybackSound::drumBongo, api::InstrumentSound::drumBongo }, + std::pair{ core::PlaybackSound::drumBougarabou, api::InstrumentSound::drumBougarabou }, + std::pair{ core::PlaybackSound::drumBuffaloDrum, api::InstrumentSound::drumBuffaloDrum }, + std::pair{ core::PlaybackSound::drumCajon, api::InstrumentSound::drumCajon }, + std::pair{ core::PlaybackSound::drumChenda, api::InstrumentSound::drumChenda }, + std::pair{ core::PlaybackSound::drumChuDaiko, api::InstrumentSound::drumChuDaiko }, + std::pair{ core::PlaybackSound::drumConga, api::InstrumentSound::drumConga }, + std::pair{ core::PlaybackSound::drumCuica, api::InstrumentSound::drumCuica }, + std::pair{ core::PlaybackSound::drumDabakan, api::InstrumentSound::drumDabakan }, + std::pair{ core::PlaybackSound::drumDaff, api::InstrumentSound::drumDaff }, + std::pair{ core::PlaybackSound::drumDafli, api::InstrumentSound::drumDafli }, + std::pair{ core::PlaybackSound::drumDaibyosi, api::InstrumentSound::drumDaibyosi }, + std::pair{ core::PlaybackSound::drumDamroo, api::InstrumentSound::drumDamroo }, + std::pair{ core::PlaybackSound::drumDarabuka, api::InstrumentSound::drumDarabuka }, + std::pair{ core::PlaybackSound::drumDef, api::InstrumentSound::drumDef }, + std::pair{ core::PlaybackSound::drumDhol, api::InstrumentSound::drumDhol }, + std::pair{ core::PlaybackSound::drumDholak, api::InstrumentSound::drumDholak }, + std::pair{ core::PlaybackSound::drumDjembe, api::InstrumentSound::drumDjembe }, + std::pair{ core::PlaybackSound::drumDoira, api::InstrumentSound::drumDoira }, + std::pair{ core::PlaybackSound::drumDondo, api::InstrumentSound::drumDondo }, + std::pair{ core::PlaybackSound::drumDounDounBa, api::InstrumentSound::drumDounDounBa }, + std::pair{ core::PlaybackSound::drumDuff, api::InstrumentSound::drumDuff }, + std::pair{ core::PlaybackSound::drumDumbek, api::InstrumentSound::drumDumbek }, + std::pair{ core::PlaybackSound::drumFontomfrom, api::InstrumentSound::drumFontomfrom }, + std::pair{ core::PlaybackSound::drumFrameDrum, api::InstrumentSound::drumFrameDrum }, + std::pair{ core::PlaybackSound::drumFrameDrumArabian, api::InstrumentSound::drumFrameDrumArabian }, + std::pair{ core::PlaybackSound::drumGeduk, api::InstrumentSound::drumGeduk }, + std::pair{ core::PlaybackSound::drumGhatam, api::InstrumentSound::drumGhatam }, + std::pair{ core::PlaybackSound::drumGome, api::InstrumentSound::drumGome }, + std::pair{ core::PlaybackSound::drumGroup, api::InstrumentSound::drumGroup }, + std::pair{ core::PlaybackSound::drumGroupChinese, api::InstrumentSound::drumGroupChinese }, + std::pair{ core::PlaybackSound::drumGroupEwe, api::InstrumentSound::drumGroupEwe }, + std::pair{ core::PlaybackSound::drumGroupIndian, api::InstrumentSound::drumGroupIndian }, + std::pair{ core::PlaybackSound::drumGroupSet, api::InstrumentSound::drumGroupSet }, + std::pair{ core::PlaybackSound::drumHandDrum, api::InstrumentSound::drumHandDrum }, + std::pair{ core::PlaybackSound::drumHiraDaiko, api::InstrumentSound::drumHiraDaiko }, + std::pair{ core::PlaybackSound::drumIbo, api::InstrumentSound::drumIbo }, + std::pair{ core::PlaybackSound::drumIgihumurizo, api::InstrumentSound::drumIgihumurizo }, + std::pair{ core::PlaybackSound::drumInyahura, api::InstrumentSound::drumInyahura }, + std::pair{ core::PlaybackSound::drumIshakwe, api::InstrumentSound::drumIshakwe }, + std::pair{ core::PlaybackSound::drumJangGu, api::InstrumentSound::drumJangGu }, + std::pair{ core::PlaybackSound::drumKagan, api::InstrumentSound::drumKagan }, + std::pair{ core::PlaybackSound::drumKakko, api::InstrumentSound::drumKakko }, + std::pair{ core::PlaybackSound::drumKanjira, api::InstrumentSound::drumKanjira }, + std::pair{ core::PlaybackSound::drumKendhang, api::InstrumentSound::drumKendhang }, + std::pair{ core::PlaybackSound::drumKendhangAgeng, api::InstrumentSound::drumKendhangAgeng }, + std::pair{ core::PlaybackSound::drumKendhangCiblon, api::InstrumentSound::drumKendhangCiblon }, + std::pair{ core::PlaybackSound::drumKenkeni, api::InstrumentSound::drumKenkeni }, + std::pair{ core::PlaybackSound::drumKhol, api::InstrumentSound::drumKhol }, + std::pair{ core::PlaybackSound::drumKickDrum, api::InstrumentSound::drumKickDrum }, + std::pair{ core::PlaybackSound::drumKidi, api::InstrumentSound::drumKidi }, + std::pair{ core::PlaybackSound::drumKoDaiko, api::InstrumentSound::drumKoDaiko }, + std::pair{ core::PlaybackSound::drumKpanlogo, api::InstrumentSound::drumKpanlogo }, + std::pair{ core::PlaybackSound::drumKudum, api::InstrumentSound::drumKudum }, + std::pair{ core::PlaybackSound::drumLambeg, api::InstrumentSound::drumLambeg }, + std::pair{ core::PlaybackSound::drumLionDrum, api::InstrumentSound::drumLionDrum }, + std::pair{ core::PlaybackSound::drumLogDrum, api::InstrumentSound::drumLogDrum }, + std::pair{ core::PlaybackSound::drumLogDrumAfrican, api::InstrumentSound::drumLogDrumAfrican }, + std::pair{ core::PlaybackSound::drumLogDrumNative, api::InstrumentSound::drumLogDrumNative }, + std::pair{ core::PlaybackSound::drumLogDrumNigerian, api::InstrumentSound::drumLogDrumNigerian }, + std::pair{ core::PlaybackSound::drumMadal, api::InstrumentSound::drumMadal }, + std::pair{ core::PlaybackSound::drumMaddale, api::InstrumentSound::drumMaddale }, + std::pair{ core::PlaybackSound::drumMridangam, api::InstrumentSound::drumMridangam }, + std::pair{ core::PlaybackSound::drumNaal, api::InstrumentSound::drumNaal }, + std::pair{ core::PlaybackSound::drumNagadoDaiko, api::InstrumentSound::drumNagadoDaiko }, + std::pair{ core::PlaybackSound::drumNagara, api::InstrumentSound::drumNagara }, + std::pair{ core::PlaybackSound::drumNaqara, api::InstrumentSound::drumNaqara }, + std::pair{ core::PlaybackSound::drumODaiko, api::InstrumentSound::drumODaiko }, + std::pair{ core::PlaybackSound::drumOkawa, api::InstrumentSound::drumOkawa }, + std::pair{ core::PlaybackSound::drumOkedoDaiko, api::InstrumentSound::drumOkedoDaiko }, + std::pair{ core::PlaybackSound::drumPahuHula, api::InstrumentSound::drumPahuHula }, + std::pair{ core::PlaybackSound::drumPakhawaj, api::InstrumentSound::drumPakhawaj }, + std::pair{ core::PlaybackSound::drumPandeiro, api::InstrumentSound::drumPandeiro }, + std::pair{ core::PlaybackSound::drumPandero, api::InstrumentSound::drumPandero }, + std::pair{ core::PlaybackSound::drumPowwow, api::InstrumentSound::drumPowwow }, + std::pair{ core::PlaybackSound::drumPueblo, api::InstrumentSound::drumPueblo }, + std::pair{ core::PlaybackSound::drumRepinique, api::InstrumentSound::drumRepinique }, + std::pair{ core::PlaybackSound::drumRiq, api::InstrumentSound::drumRiq }, + std::pair{ core::PlaybackSound::drumRototom, api::InstrumentSound::drumRototom }, + std::pair{ core::PlaybackSound::drumSabar, api::InstrumentSound::drumSabar }, + std::pair{ core::PlaybackSound::drumSakara, api::InstrumentSound::drumSakara }, + std::pair{ core::PlaybackSound::drumSampho, api::InstrumentSound::drumSampho }, + std::pair{ core::PlaybackSound::drumSangban, api::InstrumentSound::drumSangban }, + std::pair{ core::PlaybackSound::drumShimeDaiko, api::InstrumentSound::drumShimeDaiko }, + std::pair{ core::PlaybackSound::drumSlitDrum, api::InstrumentSound::drumSlitDrum }, + std::pair{ core::PlaybackSound::drumSlitDrumKrin, api::InstrumentSound::drumSlitDrumKrin }, + std::pair{ core::PlaybackSound::drumSnareDrum, api::InstrumentSound::drumSnareDrum }, + std::pair{ core::PlaybackSound::drumSnareDrumElectric, api::InstrumentSound::drumSnareDrumElectric }, + std::pair{ core::PlaybackSound::drumSogo, api::InstrumentSound::drumSogo }, + std::pair{ core::PlaybackSound::drumSurdo, api::InstrumentSound::drumSurdo }, + std::pair{ core::PlaybackSound::drumTabla, api::InstrumentSound::drumTabla }, + std::pair{ core::PlaybackSound::drumTablaBayan, api::InstrumentSound::drumTablaBayan }, + std::pair{ core::PlaybackSound::drumTablaDayan, api::InstrumentSound::drumTablaDayan }, + std::pair{ core::PlaybackSound::drumTaiko, api::InstrumentSound::drumTaiko }, + std::pair{ core::PlaybackSound::drumTalking, api::InstrumentSound::drumTalking }, + std::pair{ core::PlaybackSound::drumTama, api::InstrumentSound::drumTama }, + std::pair{ core::PlaybackSound::drumTamborita, api::InstrumentSound::drumTamborita }, + std::pair{ core::PlaybackSound::drumTambourine, api::InstrumentSound::drumTambourine }, + std::pair{ core::PlaybackSound::drumTamte, api::InstrumentSound::drumTamte }, + std::pair{ core::PlaybackSound::drumTangku, api::InstrumentSound::drumTangku }, + std::pair{ core::PlaybackSound::drumTanTan, api::InstrumentSound::drumTanTan }, + std::pair{ core::PlaybackSound::drumTaphon, api::InstrumentSound::drumTaphon }, + std::pair{ core::PlaybackSound::drumTar, api::InstrumentSound::drumTar }, + std::pair{ core::PlaybackSound::drumTasha, api::InstrumentSound::drumTasha }, + std::pair{ core::PlaybackSound::drumTenorDrum, api::InstrumentSound::drumTenorDrum }, + std::pair{ core::PlaybackSound::drumTeponaxtli, api::InstrumentSound::drumTeponaxtli }, + std::pair{ core::PlaybackSound::drumThavil, api::InstrumentSound::drumThavil }, + std::pair{ core::PlaybackSound::drumTheBox, api::InstrumentSound::drumTheBox }, + std::pair{ core::PlaybackSound::drumTimbale, api::InstrumentSound::drumTimbale }, + std::pair{ core::PlaybackSound::drumTimpani, api::InstrumentSound::drumTimpani }, + std::pair{ core::PlaybackSound::drumTinaja, api::InstrumentSound::drumTinaja }, + std::pair{ core::PlaybackSound::drumToere, api::InstrumentSound::drumToere }, + std::pair{ core::PlaybackSound::drumTombak, api::InstrumentSound::drumTombak }, + std::pair{ core::PlaybackSound::drumTomTom, api::InstrumentSound::drumTomTom }, + std::pair{ core::PlaybackSound::drumTomTomSynth, api::InstrumentSound::drumTomTomSynth }, + std::pair{ core::PlaybackSound::drumTsuzumi, api::InstrumentSound::drumTsuzumi }, + std::pair{ core::PlaybackSound::drumTumbak, api::InstrumentSound::drumTumbak }, + std::pair{ core::PlaybackSound::drumUchiwaDaiko, api::InstrumentSound::drumUchiwaDaiko }, + std::pair{ core::PlaybackSound::drumUdaku, api::InstrumentSound::drumUdaku }, + std::pair{ core::PlaybackSound::drumUdu, api::InstrumentSound::drumUdu }, + std::pair{ core::PlaybackSound::drumZarb, api::InstrumentSound::drumZarb }, + std::pair{ core::PlaybackSound::effectAeolianHarp, api::InstrumentSound::effectAeolianHarp }, + std::pair{ core::PlaybackSound::effectAirHorn, api::InstrumentSound::effectAirHorn }, + std::pair{ core::PlaybackSound::effectApplause, api::InstrumentSound::effectApplause }, + std::pair{ core::PlaybackSound::effectBassStringSlap, api::InstrumentSound::effectBassStringSlap }, + std::pair{ core::PlaybackSound::effectBird, api::InstrumentSound::effectBird }, + std::pair{ core::PlaybackSound::effectBirdNightingale, api::InstrumentSound::effectBirdNightingale }, + std::pair{ core::PlaybackSound::effectBirdTweet, api::InstrumentSound::effectBirdTweet }, + std::pair{ core::PlaybackSound::effectBreath, api::InstrumentSound::effectBreath }, + std::pair{ core::PlaybackSound::effectBubble, api::InstrumentSound::effectBubble }, + std::pair{ core::PlaybackSound::effectBullroarer, api::InstrumentSound::effectBullroarer }, + std::pair{ core::PlaybackSound::effectBurst, api::InstrumentSound::effectBurst }, + std::pair{ core::PlaybackSound::effectCar, api::InstrumentSound::effectCar }, + std::pair{ core::PlaybackSound::effectCarCrash, api::InstrumentSound::effectCarCrash }, + std::pair{ core::PlaybackSound::effectCarEngine, api::InstrumentSound::effectCarEngine }, + std::pair{ core::PlaybackSound::effectCarPass, api::InstrumentSound::effectCarPass }, + std::pair{ core::PlaybackSound::effectCarStop, api::InstrumentSound::effectCarStop }, + std::pair{ core::PlaybackSound::effectCrickets, api::InstrumentSound::effectCrickets }, + std::pair{ core::PlaybackSound::effectDog, api::InstrumentSound::effectDog }, + std::pair{ core::PlaybackSound::effectDoorCreak, api::InstrumentSound::effectDoorCreak }, + std::pair{ core::PlaybackSound::effectDoorSlam, api::InstrumentSound::effectDoorSlam }, + std::pair{ core::PlaybackSound::effectExplosion, api::InstrumentSound::effectExplosion }, + std::pair{ core::PlaybackSound::effectFluteKeyClick, api::InstrumentSound::effectFluteKeyClick }, + std::pair{ core::PlaybackSound::effectFootsteps, api::InstrumentSound::effectFootsteps }, + std::pair{ core::PlaybackSound::effectFrogs, api::InstrumentSound::effectFrogs }, + std::pair{ core::PlaybackSound::effectGuitarCutting, api::InstrumentSound::effectGuitarCutting }, + std::pair{ core::PlaybackSound::effectGuitarFret, api::InstrumentSound::effectGuitarFret }, + std::pair{ core::PlaybackSound::effectGunshot, api::InstrumentSound::effectGunshot }, + std::pair{ core::PlaybackSound::effectHandClap, api::InstrumentSound::effectHandClap }, + std::pair{ core::PlaybackSound::effectHeartbeat, api::InstrumentSound::effectHeartbeat }, + std::pair{ core::PlaybackSound::effectHelicopter, api::InstrumentSound::effectHelicopter }, + std::pair{ core::PlaybackSound::effectHighQ, api::InstrumentSound::effectHighQ }, + std::pair{ core::PlaybackSound::effectHorseGallop, api::InstrumentSound::effectHorseGallop }, + std::pair{ core::PlaybackSound::effectJetPlane, api::InstrumentSound::effectJetPlane }, + std::pair{ core::PlaybackSound::effectLaserGun, api::InstrumentSound::effectLaserGun }, + std::pair{ core::PlaybackSound::effectLaugh, api::InstrumentSound::effectLaugh }, + std::pair{ core::PlaybackSound::effectLionsRoar, api::InstrumentSound::effectLionsRoar }, + std::pair{ core::PlaybackSound::effectMachineGun, api::InstrumentSound::effectMachineGun }, + std::pair{ core::PlaybackSound::effectMarchingMachine, api::InstrumentSound::effectMarchingMachine }, + std::pair{ core::PlaybackSound::effectMetronomeBell, api::InstrumentSound::effectMetronomeBell }, + std::pair{ core::PlaybackSound::effectMetronomeClick, api::InstrumentSound::effectMetronomeClick }, + std::pair{ core::PlaybackSound::effectPat, api::InstrumentSound::effectPat }, + std::pair{ core::PlaybackSound::effectPunch, api::InstrumentSound::effectPunch }, + std::pair{ core::PlaybackSound::effectRain, api::InstrumentSound::effectRain }, + std::pair{ core::PlaybackSound::effectScratch, api::InstrumentSound::effectScratch }, + std::pair{ core::PlaybackSound::effectScream, api::InstrumentSound::effectScream }, + std::pair{ core::PlaybackSound::effectSeashore, api::InstrumentSound::effectSeashore }, + std::pair{ core::PlaybackSound::effectSiren, api::InstrumentSound::effectSiren }, + std::pair{ core::PlaybackSound::effectSlap, api::InstrumentSound::effectSlap }, + std::pair{ core::PlaybackSound::effectSnap, api::InstrumentSound::effectSnap }, + std::pair{ core::PlaybackSound::effectStamp, api::InstrumentSound::effectStamp }, + std::pair{ core::PlaybackSound::effectStarship, api::InstrumentSound::effectStarship }, + std::pair{ core::PlaybackSound::effectStream, api::InstrumentSound::effectStream }, + std::pair{ core::PlaybackSound::effectTelephoneRing, api::InstrumentSound::effectTelephoneRing }, + std::pair{ core::PlaybackSound::effectThunder, api::InstrumentSound::effectThunder }, + std::pair{ core::PlaybackSound::effectTrain, api::InstrumentSound::effectTrain }, + std::pair{ core::PlaybackSound::effectTrashCan, api::InstrumentSound::effectTrashCan }, + std::pair{ core::PlaybackSound::effectWhip, api::InstrumentSound::effectWhip }, + std::pair{ core::PlaybackSound::effectWhistle, api::InstrumentSound::effectWhistle }, + std::pair{ core::PlaybackSound::effectWhistleMouthSiren, api::InstrumentSound::effectWhistleMouthSiren }, + std::pair{ core::PlaybackSound::effectWhistlePolice, api::InstrumentSound::effectWhistlePolice }, + std::pair{ core::PlaybackSound::effectWhistleSlide, api::InstrumentSound::effectWhistleSlide }, + std::pair{ core::PlaybackSound::effectWhistleTrain, api::InstrumentSound::effectWhistleTrain }, + std::pair{ core::PlaybackSound::effectWind, api::InstrumentSound::effectWind }, + std::pair{ core::PlaybackSound::keyboardAccordion, api::InstrumentSound::keyboardAccordion }, + std::pair{ core::PlaybackSound::keyboardBandoneon, api::InstrumentSound::keyboardBandoneon }, + std::pair{ core::PlaybackSound::keyboardCelesta, api::InstrumentSound::keyboardCelesta }, + std::pair{ core::PlaybackSound::keyboardClavichord, api::InstrumentSound::keyboardClavichord }, + std::pair{ core::PlaybackSound::keyboardClavichordSynth, api::InstrumentSound::keyboardClavichordSynth }, + std::pair{ core::PlaybackSound::keyboardConcertina, api::InstrumentSound::keyboardConcertina }, + std::pair{ core::PlaybackSound::keyboardFortepiano, api::InstrumentSound::keyboardFortepiano }, + std::pair{ core::PlaybackSound::keyboardHarmonium, api::InstrumentSound::keyboardHarmonium }, + std::pair{ core::PlaybackSound::keyboardHarpsichord, api::InstrumentSound::keyboardHarpsichord }, + std::pair{ core::PlaybackSound::keyboardOndesMartenot, api::InstrumentSound::keyboardOndesMartenot }, + std::pair{ core::PlaybackSound::keyboardOrgan, api::InstrumentSound::keyboardOrgan }, + std::pair{ core::PlaybackSound::keyboardOrganDrawbar, api::InstrumentSound::keyboardOrganDrawbar }, + std::pair{ core::PlaybackSound::keyboardOrganPercussive, api::InstrumentSound::keyboardOrganPercussive }, + std::pair{ core::PlaybackSound::keyboardOrganPipe, api::InstrumentSound::keyboardOrganPipe }, + std::pair{ core::PlaybackSound::keyboardOrganReed, api::InstrumentSound::keyboardOrganReed }, + std::pair{ core::PlaybackSound::keyboardOrganRotary, api::InstrumentSound::keyboardOrganRotary }, + std::pair{ core::PlaybackSound::keyboardPiano, api::InstrumentSound::keyboardPiano }, + std::pair{ core::PlaybackSound::keyboardPianoElectric, api::InstrumentSound::keyboardPianoElectric }, + std::pair{ core::PlaybackSound::keyboardPianoGrand, api::InstrumentSound::keyboardPianoGrand }, + std::pair{ core::PlaybackSound::keyboardPianoHonkyTonk, api::InstrumentSound::keyboardPianoHonkyTonk }, + std::pair{ core::PlaybackSound::keyboardPianoPrepared, api::InstrumentSound::keyboardPianoPrepared }, + std::pair{ core::PlaybackSound::keyboardPianoToy, api::InstrumentSound::keyboardPianoToy }, + std::pair{ core::PlaybackSound::keyboardPianoUpright, api::InstrumentSound::keyboardPianoUpright }, + std::pair{ core::PlaybackSound::keyboardVirginal, api::InstrumentSound::keyboardVirginal }, + std::pair{ core::PlaybackSound::metalAdodo, api::InstrumentSound::metalAdodo }, + std::pair{ core::PlaybackSound::metalAnvil, api::InstrumentSound::metalAnvil }, + std::pair{ core::PlaybackSound::metalBabendil, api::InstrumentSound::metalBabendil }, + std::pair{ core::PlaybackSound::metalBellsAgogo, api::InstrumentSound::metalBellsAgogo }, + std::pair{ core::PlaybackSound::metalBellsAlmglocken, api::InstrumentSound::metalBellsAlmglocken }, + std::pair{ core::PlaybackSound::metalBellsBellPlate, api::InstrumentSound::metalBellsBellPlate }, + std::pair{ core::PlaybackSound::metalBellsBellTree, api::InstrumentSound::metalBellsBellTree }, + std::pair{ core::PlaybackSound::metalBellsCarillon, api::InstrumentSound::metalBellsCarillon }, + std::pair{ core::PlaybackSound::metalBellsChimes, api::InstrumentSound::metalBellsChimes }, + std::pair{ core::PlaybackSound::metalBellsChimta, api::InstrumentSound::metalBellsChimta }, + std::pair{ core::PlaybackSound::metalBellsChippli, api::InstrumentSound::metalBellsChippli }, + std::pair{ core::PlaybackSound::metalBellsChurch, api::InstrumentSound::metalBellsChurch }, + std::pair{ core::PlaybackSound::metalBellsCowbell, api::InstrumentSound::metalBellsCowbell }, + std::pair{ core::PlaybackSound::metalBellsDawuro, api::InstrumentSound::metalBellsDawuro }, + std::pair{ core::PlaybackSound::metalBellsGankokwe, api::InstrumentSound::metalBellsGankokwe }, + std::pair{ core::PlaybackSound::metalBellsGhungroo, api::InstrumentSound::metalBellsGhungroo }, + std::pair{ core::PlaybackSound::metalBellsHatheli, api::InstrumentSound::metalBellsHatheli }, + std::pair{ core::PlaybackSound::metalBellsJingleBell, api::InstrumentSound::metalBellsJingleBell }, + std::pair{ core::PlaybackSound::metalBellsKhartal, api::InstrumentSound::metalBellsKhartal }, + std::pair{ core::PlaybackSound::metalBellsMarkTree, api::InstrumentSound::metalBellsMarkTree }, + std::pair{ core::PlaybackSound::metalBellsSistrum, api::InstrumentSound::metalBellsSistrum }, + std::pair{ core::PlaybackSound::metalBellsSleighBells, api::InstrumentSound::metalBellsSleighBells }, + std::pair{ core::PlaybackSound::metalBellsTemple, api::InstrumentSound::metalBellsTemple }, + std::pair{ core::PlaybackSound::metalBellsTibetan, api::InstrumentSound::metalBellsTibetan }, + std::pair{ core::PlaybackSound::metalBellsTinklebell, api::InstrumentSound::metalBellsTinklebell }, + std::pair{ core::PlaybackSound::metalBellsTrychel, api::InstrumentSound::metalBellsTrychel }, + std::pair{ core::PlaybackSound::metalBellsWindChimes, api::InstrumentSound::metalBellsWindChimes }, + std::pair{ core::PlaybackSound::metalBellsZills, api::InstrumentSound::metalBellsZills }, + std::pair{ core::PlaybackSound::metalBerimbau, api::InstrumentSound::metalBerimbau }, + std::pair{ core::PlaybackSound::metalBrakeDrums, api::InstrumentSound::metalBrakeDrums }, + std::pair{ core::PlaybackSound::metalCrotales, api::InstrumentSound::metalCrotales }, + std::pair{ core::PlaybackSound::metalCymbalBo, api::InstrumentSound::metalCymbalBo }, + std::pair{ core::PlaybackSound::metalCymbalCengCeng, api::InstrumentSound::metalCymbalCengCeng }, + std::pair{ core::PlaybackSound::metalCymbalChabara, api::InstrumentSound::metalCymbalChabara }, + std::pair{ core::PlaybackSound::metalCymbalChinese, api::InstrumentSound::metalCymbalChinese }, + std::pair{ core::PlaybackSound::metalCymbalChing, api::InstrumentSound::metalCymbalChing }, + std::pair{ core::PlaybackSound::metalCymbalClash, api::InstrumentSound::metalCymbalClash }, + std::pair{ core::PlaybackSound::metalCymbalCrash, api::InstrumentSound::metalCymbalCrash }, + std::pair{ core::PlaybackSound::metalCymbalFinger, api::InstrumentSound::metalCymbalFinger }, + std::pair{ core::PlaybackSound::metalCymbalHand, api::InstrumentSound::metalCymbalHand }, + std::pair{ core::PlaybackSound::metalCymbalKesi, api::InstrumentSound::metalCymbalKesi }, + std::pair{ core::PlaybackSound::metalCymbalManjeera, api::InstrumentSound::metalCymbalManjeera }, + std::pair{ core::PlaybackSound::metalCymbalReverse, api::InstrumentSound::metalCymbalReverse }, + std::pair{ core::PlaybackSound::metalCymbalRide, api::InstrumentSound::metalCymbalRide }, + std::pair{ core::PlaybackSound::metalCymbalSizzle, api::InstrumentSound::metalCymbalSizzle }, + std::pair{ core::PlaybackSound::metalCymbalSplash, api::InstrumentSound::metalCymbalSplash }, + std::pair{ core::PlaybackSound::metalCymbalSuspended, api::InstrumentSound::metalCymbalSuspended }, + std::pair{ core::PlaybackSound::metalCymbalTebyoshi, api::InstrumentSound::metalCymbalTebyoshi }, + std::pair{ core::PlaybackSound::metalCymbalTibetan, api::InstrumentSound::metalCymbalTibetan }, + std::pair{ core::PlaybackSound::metalCymbalTingsha, api::InstrumentSound::metalCymbalTingsha }, + std::pair{ core::PlaybackSound::metalFlexatone, api::InstrumentSound::metalFlexatone }, + std::pair{ core::PlaybackSound::metalGong, api::InstrumentSound::metalGong }, + std::pair{ core::PlaybackSound::metalGongAgeng, api::InstrumentSound::metalGongAgeng }, + std::pair{ core::PlaybackSound::metalGongAgung, api::InstrumentSound::metalGongAgung }, + std::pair{ core::PlaybackSound::metalGongChanchiki, api::InstrumentSound::metalGongChanchiki }, + std::pair{ core::PlaybackSound::metalGongChinese, api::InstrumentSound::metalGongChinese }, + std::pair{ core::PlaybackSound::metalGongGandingan, api::InstrumentSound::metalGongGandingan }, + std::pair{ core::PlaybackSound::metalGongKempul, api::InstrumentSound::metalGongKempul }, + std::pair{ core::PlaybackSound::metalGongKempyang, api::InstrumentSound::metalGongKempyang }, + std::pair{ core::PlaybackSound::metalGongKetuk, api::InstrumentSound::metalGongKetuk }, + std::pair{ core::PlaybackSound::metalGongKkwenggwari, api::InstrumentSound::metalGongKkwenggwari }, + std::pair{ core::PlaybackSound::metalGongLuo, api::InstrumentSound::metalGongLuo }, + std::pair{ core::PlaybackSound::metalGongSinging, api::InstrumentSound::metalGongSinging }, + std::pair{ core::PlaybackSound::metalGongThai, api::InstrumentSound::metalGongThai }, + std::pair{ core::PlaybackSound::metalGuira, api::InstrumentSound::metalGuira }, + std::pair{ core::PlaybackSound::metalHang, api::InstrumentSound::metalHang }, + std::pair{ core::PlaybackSound::metalHiHat, api::InstrumentSound::metalHiHat }, + std::pair{ core::PlaybackSound::metalJawHarp, api::InstrumentSound::metalJawHarp }, + std::pair{ core::PlaybackSound::metalKengong, api::InstrumentSound::metalKengong }, + std::pair{ core::PlaybackSound::metalMurchang, api::InstrumentSound::metalMurchang }, + std::pair{ core::PlaybackSound::metalMusicalSaw, api::InstrumentSound::metalMusicalSaw }, + std::pair{ core::PlaybackSound::metalSingingBowl, api::InstrumentSound::metalSingingBowl }, + std::pair{ core::PlaybackSound::metalSpoons, api::InstrumentSound::metalSpoons }, + std::pair{ core::PlaybackSound::metalSteelDrums, api::InstrumentSound::metalSteelDrums }, + std::pair{ core::PlaybackSound::metalTamtam, api::InstrumentSound::metalTamtam }, + std::pair{ core::PlaybackSound::metalThundersheet, api::InstrumentSound::metalThundersheet }, + std::pair{ core::PlaybackSound::metalTriangle, api::InstrumentSound::metalTriangle }, + std::pair{ core::PlaybackSound::metalWashboard, api::InstrumentSound::metalWashboard }, + std::pair{ core::PlaybackSound::pitchedPercussionAngklung, api::InstrumentSound::pitchedPercussionAngklung }, + std::pair{ core::PlaybackSound::pitchedPercussionBalafon, api::InstrumentSound::pitchedPercussionBalafon }, + std::pair{ core::PlaybackSound::pitchedPercussionBellLyre, api::InstrumentSound::pitchedPercussionBellLyre }, + std::pair{ core::PlaybackSound::pitchedPercussionBells, api::InstrumentSound::pitchedPercussionBells }, + std::pair{ core::PlaybackSound::pitchedPercussionBianqing, api::InstrumentSound::pitchedPercussionBianqing }, + std::pair{ core::PlaybackSound::pitchedPercussionBianzhong, api::InstrumentSound::pitchedPercussionBianzhong }, + std::pair{ core::PlaybackSound::pitchedPercussionBonang, api::InstrumentSound::pitchedPercussionBonang }, + std::pair{ core::PlaybackSound::pitchedPercussionCimbalom, api::InstrumentSound::pitchedPercussionCimbalom }, + std::pair{ core::PlaybackSound::pitchedPercussionCrystalGlasses, api::InstrumentSound::pitchedPercussionCrystalGlasses }, + std::pair{ core::PlaybackSound::pitchedPercussionDanTamThapLuc, api::InstrumentSound::pitchedPercussionDanTamThapLuc }, + std::pair{ core::PlaybackSound::pitchedPercussionFangxiang, api::InstrumentSound::pitchedPercussionFangxiang }, + std::pair{ core::PlaybackSound::pitchedPercussionGandinganAKayo, api::InstrumentSound::pitchedPercussionGandinganAKayo }, + std::pair{ core::PlaybackSound::pitchedPercussionGangsa, api::InstrumentSound::pitchedPercussionGangsa }, + std::pair{ core::PlaybackSound::pitchedPercussionGender, api::InstrumentSound::pitchedPercussionGender }, + std::pair{ core::PlaybackSound::pitchedPercussionGiying, api::InstrumentSound::pitchedPercussionGiying }, + std::pair{ core::PlaybackSound::pitchedPercussionGlassHarmonica, api::InstrumentSound::pitchedPercussionGlassHarmonica }, + std::pair{ core::PlaybackSound::pitchedPercussionGlockenspiel, api::InstrumentSound::pitchedPercussionGlockenspiel }, + std::pair{ core::PlaybackSound::pitchedPercussionGlockenspielAlto, api::InstrumentSound::pitchedPercussionGlockenspielAlto }, + std::pair{ core::PlaybackSound::pitchedPercussionGlockenspielSoprano, api::InstrumentSound::pitchedPercussionGlockenspielSoprano }, + std::pair{ core::PlaybackSound::pitchedPercussionGyil, api::InstrumentSound::pitchedPercussionGyil }, + std::pair{ core::PlaybackSound::pitchedPercussionHammerDulcimer, api::InstrumentSound::pitchedPercussionHammerDulcimer }, + std::pair{ core::PlaybackSound::pitchedPercussionHandbells, api::InstrumentSound::pitchedPercussionHandbells }, + std::pair{ core::PlaybackSound::pitchedPercussionKalimba, api::InstrumentSound::pitchedPercussionKalimba }, + std::pair{ core::PlaybackSound::pitchedPercussionKantil, api::InstrumentSound::pitchedPercussionKantil }, + std::pair{ core::PlaybackSound::pitchedPercussionKhim, api::InstrumentSound::pitchedPercussionKhim }, + std::pair{ core::PlaybackSound::pitchedPercussionKulintang, api::InstrumentSound::pitchedPercussionKulintang }, + std::pair{ core::PlaybackSound::pitchedPercussionKulintangAKayo, api::InstrumentSound::pitchedPercussionKulintangAKayo }, + std::pair{ core::PlaybackSound::pitchedPercussionKulintangATiniok, api::InstrumentSound::pitchedPercussionKulintangATiniok }, + std::pair{ core::PlaybackSound::pitchedPercussionLikembe, api::InstrumentSound::pitchedPercussionLikembe }, + std::pair{ core::PlaybackSound::pitchedPercussionLuntang, api::InstrumentSound::pitchedPercussionLuntang }, + std::pair{ core::PlaybackSound::pitchedPercussionMarimba, api::InstrumentSound::pitchedPercussionMarimba }, + std::pair{ core::PlaybackSound::pitchedPercussionMarimbaBass, api::InstrumentSound::pitchedPercussionMarimbaBass }, + std::pair{ core::PlaybackSound::pitchedPercussionMbira, api::InstrumentSound::pitchedPercussionMbira }, + std::pair{ core::PlaybackSound::pitchedPercussionMbiraArray, api::InstrumentSound::pitchedPercussionMbiraArray }, + std::pair{ core::PlaybackSound::pitchedPercussionMetallophone, api::InstrumentSound::pitchedPercussionMetallophone }, + std::pair{ core::PlaybackSound::pitchedPercussionMetallophoneAlto, api::InstrumentSound::pitchedPercussionMetallophoneAlto }, + std::pair{ core::PlaybackSound::pitchedPercussionMetallophoneBass, api::InstrumentSound::pitchedPercussionMetallophoneBass }, + std::pair{ core::PlaybackSound::pitchedPercussionMetallophoneSoprano, api::InstrumentSound::pitchedPercussionMetallophoneSoprano }, + std::pair{ core::PlaybackSound::pitchedPercussionMusicBox, api::InstrumentSound::pitchedPercussionMusicBox }, + std::pair{ core::PlaybackSound::pitchedPercussionPelogPanerus, api::InstrumentSound::pitchedPercussionPelogPanerus }, + std::pair{ core::PlaybackSound::pitchedPercussionPemade, api::InstrumentSound::pitchedPercussionPemade }, + std::pair{ core::PlaybackSound::pitchedPercussionPenyacah, api::InstrumentSound::pitchedPercussionPenyacah }, + std::pair{ core::PlaybackSound::pitchedPercussionRanatEk, api::InstrumentSound::pitchedPercussionRanatEk }, + std::pair{ core::PlaybackSound::pitchedPercussionRanatEkLek, api::InstrumentSound::pitchedPercussionRanatEkLek }, + std::pair{ core::PlaybackSound::pitchedPercussionRanatThum, api::InstrumentSound::pitchedPercussionRanatThum }, + std::pair{ core::PlaybackSound::pitchedPercussionRanatThumLek, api::InstrumentSound::pitchedPercussionRanatThumLek }, + std::pair{ core::PlaybackSound::pitchedPercussionReyong, api::InstrumentSound::pitchedPercussionReyong }, + std::pair{ core::PlaybackSound::pitchedPercussionSanza, api::InstrumentSound::pitchedPercussionSanza }, + std::pair{ core::PlaybackSound::pitchedPercussionSaronBarung, api::InstrumentSound::pitchedPercussionSaronBarung }, + std::pair{ core::PlaybackSound::pitchedPercussionSaronDemong, api::InstrumentSound::pitchedPercussionSaronDemong }, + std::pair{ core::PlaybackSound::pitchedPercussionSaronPanerus, api::InstrumentSound::pitchedPercussionSaronPanerus }, + std::pair{ core::PlaybackSound::pitchedPercussionSlendroPanerus, api::InstrumentSound::pitchedPercussionSlendroPanerus }, + std::pair{ core::PlaybackSound::pitchedPercussionSlentem, api::InstrumentSound::pitchedPercussionSlentem }, + std::pair{ core::PlaybackSound::pitchedPercussionTsymbaly, api::InstrumentSound::pitchedPercussionTsymbaly }, + std::pair{ core::PlaybackSound::pitchedPercussionTubes, api::InstrumentSound::pitchedPercussionTubes }, + std::pair{ core::PlaybackSound::pitchedPercussionTubularBells, api::InstrumentSound::pitchedPercussionTubularBells }, + std::pair{ core::PlaybackSound::pitchedPercussionVibraphone, api::InstrumentSound::pitchedPercussionVibraphone }, + std::pair{ core::PlaybackSound::pitchedPercussionXylophone, api::InstrumentSound::pitchedPercussionXylophone }, + std::pair{ core::PlaybackSound::pitchedPercussionXylophoneAlto, api::InstrumentSound::pitchedPercussionXylophoneAlto }, + std::pair{ core::PlaybackSound::pitchedPercussionXylophoneBass, api::InstrumentSound::pitchedPercussionXylophoneBass }, + std::pair{ core::PlaybackSound::pitchedPercussionXylophoneSoprano, api::InstrumentSound::pitchedPercussionXylophoneSoprano }, + std::pair{ core::PlaybackSound::pitchedPercussionXylorimba, api::InstrumentSound::pitchedPercussionXylorimba }, + std::pair{ core::PlaybackSound::pitchedPercussionYangqin, api::InstrumentSound::pitchedPercussionYangqin }, + std::pair{ core::PlaybackSound::pluckArchlute, api::InstrumentSound::pluckArchlute }, + std::pair{ core::PlaybackSound::pluckAutoharp, api::InstrumentSound::pluckAutoharp }, + std::pair{ core::PlaybackSound::pluckBaglama, api::InstrumentSound::pluckBaglama }, + std::pair{ core::PlaybackSound::pluckBajo, api::InstrumentSound::pluckBajo }, + std::pair{ core::PlaybackSound::pluckBalalaika, api::InstrumentSound::pluckBalalaika }, + std::pair{ core::PlaybackSound::pluckBalalaikaAlto, api::InstrumentSound::pluckBalalaikaAlto }, + std::pair{ core::PlaybackSound::pluckBalalaikaBass, api::InstrumentSound::pluckBalalaikaBass }, + std::pair{ core::PlaybackSound::pluckBalalaikaContrabass, api::InstrumentSound::pluckBalalaikaContrabass }, + std::pair{ core::PlaybackSound::pluckBalalaikaPiccolo, api::InstrumentSound::pluckBalalaikaPiccolo }, + std::pair{ core::PlaybackSound::pluckBalalaikaPrima, api::InstrumentSound::pluckBalalaikaPrima }, + std::pair{ core::PlaybackSound::pluckBalalaikaSecunda, api::InstrumentSound::pluckBalalaikaSecunda }, + std::pair{ core::PlaybackSound::pluckBandola, api::InstrumentSound::pluckBandola }, + std::pair{ core::PlaybackSound::pluckBandura, api::InstrumentSound::pluckBandura }, + std::pair{ core::PlaybackSound::pluckBandurria, api::InstrumentSound::pluckBandurria }, + std::pair{ core::PlaybackSound::pluckBanjo, api::InstrumentSound::pluckBanjo }, + std::pair{ core::PlaybackSound::pluckBanjoTenor, api::InstrumentSound::pluckBanjoTenor }, + std::pair{ core::PlaybackSound::pluckBanjolele, api::InstrumentSound::pluckBanjolele }, + std::pair{ core::PlaybackSound::pluckBarbat, api::InstrumentSound::pluckBarbat }, + std::pair{ core::PlaybackSound::pluckBass, api::InstrumentSound::pluckBass }, + std::pair{ core::PlaybackSound::pluckBassAcoustic, api::InstrumentSound::pluckBassAcoustic }, + std::pair{ core::PlaybackSound::pluckBassBolon, api::InstrumentSound::pluckBassBolon }, + std::pair{ core::PlaybackSound::pluckBassElectric, api::InstrumentSound::pluckBassElectric }, + std::pair{ core::PlaybackSound::pluckBassFretless, api::InstrumentSound::pluckBassFretless }, + std::pair{ core::PlaybackSound::pluckBassGuitarron, api::InstrumentSound::pluckBassGuitarron }, + std::pair{ core::PlaybackSound::pluckBassSynth, api::InstrumentSound::pluckBassSynth }, + std::pair{ core::PlaybackSound::pluckBassSynthLead, api::InstrumentSound::pluckBassSynthLead }, + std::pair{ core::PlaybackSound::pluckBassWashtub, api::InstrumentSound::pluckBassWashtub }, + std::pair{ core::PlaybackSound::pluckBassWhamola, api::InstrumentSound::pluckBassWhamola }, + std::pair{ core::PlaybackSound::pluckBegena, api::InstrumentSound::pluckBegena }, + std::pair{ core::PlaybackSound::pluckBiwa, api::InstrumentSound::pluckBiwa }, + std::pair{ core::PlaybackSound::pluckBordonua, api::InstrumentSound::pluckBordonua }, + std::pair{ core::PlaybackSound::pluckBouzouki, api::InstrumentSound::pluckBouzouki }, + std::pair{ core::PlaybackSound::pluckBouzoukiIrish, api::InstrumentSound::pluckBouzoukiIrish }, + std::pair{ core::PlaybackSound::pluckCelticHarp, api::InstrumentSound::pluckCelticHarp }, + std::pair{ core::PlaybackSound::pluckCharango, api::InstrumentSound::pluckCharango }, + std::pair{ core::PlaybackSound::pluckChitarraBattente, api::InstrumentSound::pluckChitarraBattente }, + std::pair{ core::PlaybackSound::pluckCithara, api::InstrumentSound::pluckCithara }, + std::pair{ core::PlaybackSound::pluckCittern, api::InstrumentSound::pluckCittern }, + std::pair{ core::PlaybackSound::pluckCuatro, api::InstrumentSound::pluckCuatro }, + std::pair{ core::PlaybackSound::pluckDanBau, api::InstrumentSound::pluckDanBau }, + std::pair{ core::PlaybackSound::pluckDanNguyet, api::InstrumentSound::pluckDanNguyet }, + std::pair{ core::PlaybackSound::pluckDanTranh, api::InstrumentSound::pluckDanTranh }, + std::pair{ core::PlaybackSound::pluckDanTyBa, api::InstrumentSound::pluckDanTyBa }, + std::pair{ core::PlaybackSound::pluckDiddleyBow, api::InstrumentSound::pluckDiddleyBow }, + std::pair{ core::PlaybackSound::pluckDomra, api::InstrumentSound::pluckDomra }, + std::pair{ core::PlaybackSound::pluckDomu, api::InstrumentSound::pluckDomu }, + std::pair{ core::PlaybackSound::pluckDulcimer, api::InstrumentSound::pluckDulcimer }, + std::pair{ core::PlaybackSound::pluckDutar, api::InstrumentSound::pluckDutar }, + std::pair{ core::PlaybackSound::pluckDuxianqin, api::InstrumentSound::pluckDuxianqin }, + std::pair{ core::PlaybackSound::pluckEktara, api::InstrumentSound::pluckEktara }, + std::pair{ core::PlaybackSound::pluckGeomungo, api::InstrumentSound::pluckGeomungo }, + std::pair{ core::PlaybackSound::pluckGottuvadhyam, api::InstrumentSound::pluckGottuvadhyam }, + std::pair{ core::PlaybackSound::pluckGuitar, api::InstrumentSound::pluckGuitar }, + std::pair{ core::PlaybackSound::pluckGuitarAcoustic, api::InstrumentSound::pluckGuitarAcoustic }, + std::pair{ core::PlaybackSound::pluckGuitarElectric, api::InstrumentSound::pluckGuitarElectric }, + std::pair{ core::PlaybackSound::pluckGuitarNylonString, api::InstrumentSound::pluckGuitarNylonString }, + std::pair{ core::PlaybackSound::pluckGuitarPedalSteel, api::InstrumentSound::pluckGuitarPedalSteel }, + std::pair{ core::PlaybackSound::pluckGuitarPortuguese, api::InstrumentSound::pluckGuitarPortuguese }, + std::pair{ core::PlaybackSound::pluckGuitarRequinto, api::InstrumentSound::pluckGuitarRequinto }, + std::pair{ core::PlaybackSound::pluckGuitarResonator, api::InstrumentSound::pluckGuitarResonator }, + std::pair{ core::PlaybackSound::pluckGuitarSteelString, api::InstrumentSound::pluckGuitarSteelString }, + std::pair{ core::PlaybackSound::pluckGuitjo, api::InstrumentSound::pluckGuitjo }, + std::pair{ core::PlaybackSound::pluckGuitjoDoubleNeck, api::InstrumentSound::pluckGuitjoDoubleNeck }, + std::pair{ core::PlaybackSound::pluckGuqin, api::InstrumentSound::pluckGuqin }, + std::pair{ core::PlaybackSound::pluckGuzheng, api::InstrumentSound::pluckGuzheng }, + std::pair{ core::PlaybackSound::pluckGuzhengChoazhou, api::InstrumentSound::pluckGuzhengChoazhou }, + std::pair{ core::PlaybackSound::pluckHarp, api::InstrumentSound::pluckHarp }, + std::pair{ core::PlaybackSound::pluckHarpGuitar, api::InstrumentSound::pluckHarpGuitar }, + std::pair{ core::PlaybackSound::pluckHuapanguera, api::InstrumentSound::pluckHuapanguera }, + std::pair{ core::PlaybackSound::pluckJaranaHuasteca, api::InstrumentSound::pluckJaranaHuasteca }, + std::pair{ core::PlaybackSound::pluckJaranaJarocha, api::InstrumentSound::pluckJaranaJarocha }, + std::pair{ core::PlaybackSound::pluckJaranaJarochaMosquito, api::InstrumentSound::pluckJaranaJarochaMosquito }, + std::pair{ core::PlaybackSound::pluckJaranaJarochaPrimera, api::InstrumentSound::pluckJaranaJarochaPrimera }, + std::pair{ core::PlaybackSound::pluckJaranaJarochaSegunda, api::InstrumentSound::pluckJaranaJarochaSegunda }, + std::pair{ core::PlaybackSound::pluckJaranaJarochaTercera, api::InstrumentSound::pluckJaranaJarochaTercera }, + std::pair{ core::PlaybackSound::pluckKabosy, api::InstrumentSound::pluckKabosy }, + std::pair{ core::PlaybackSound::pluckKantele, api::InstrumentSound::pluckKantele }, + std::pair{ core::PlaybackSound::pluckKanun, api::InstrumentSound::pluckKanun }, + std::pair{ core::PlaybackSound::pluckKayagum, api::InstrumentSound::pluckKayagum }, + std::pair{ core::PlaybackSound::pluckKobza, api::InstrumentSound::pluckKobza }, + std::pair{ core::PlaybackSound::pluckKomuz, api::InstrumentSound::pluckKomuz }, + std::pair{ core::PlaybackSound::pluckKora, api::InstrumentSound::pluckKora }, + std::pair{ core::PlaybackSound::pluckKoto, api::InstrumentSound::pluckKoto }, + std::pair{ core::PlaybackSound::pluckKutiyapi, api::InstrumentSound::pluckKutiyapi }, + std::pair{ core::PlaybackSound::pluckLangeleik, api::InstrumentSound::pluckLangeleik }, + std::pair{ core::PlaybackSound::pluckLaud, api::InstrumentSound::pluckLaud }, + std::pair{ core::PlaybackSound::pluckLute, api::InstrumentSound::pluckLute }, + std::pair{ core::PlaybackSound::pluckLyre, api::InstrumentSound::pluckLyre }, + std::pair{ core::PlaybackSound::pluckMandobass, api::InstrumentSound::pluckMandobass }, + std::pair{ core::PlaybackSound::pluckMandocello, api::InstrumentSound::pluckMandocello }, + std::pair{ core::PlaybackSound::pluckMandola, api::InstrumentSound::pluckMandola }, + std::pair{ core::PlaybackSound::pluckMandolin, api::InstrumentSound::pluckMandolin }, + std::pair{ core::PlaybackSound::pluckMandolinOctave, api::InstrumentSound::pluckMandolinOctave }, + std::pair{ core::PlaybackSound::pluckMandora, api::InstrumentSound::pluckMandora }, + std::pair{ core::PlaybackSound::pluckMandore, api::InstrumentSound::pluckMandore }, + std::pair{ core::PlaybackSound::pluckMarovany, api::InstrumentSound::pluckMarovany }, + std::pair{ core::PlaybackSound::pluckMusicalBow, api::InstrumentSound::pluckMusicalBow }, + std::pair{ core::PlaybackSound::pluckNgoni, api::InstrumentSound::pluckNgoni }, + std::pair{ core::PlaybackSound::pluckOud, api::InstrumentSound::pluckOud }, + std::pair{ core::PlaybackSound::pluckPipa, api::InstrumentSound::pluckPipa }, + std::pair{ core::PlaybackSound::pluckPsaltery, api::InstrumentSound::pluckPsaltery }, + std::pair{ core::PlaybackSound::pluckRuan, api::InstrumentSound::pluckRuan }, + std::pair{ core::PlaybackSound::pluckSallaneh, api::InstrumentSound::pluckSallaneh }, + std::pair{ core::PlaybackSound::pluckSanshin, api::InstrumentSound::pluckSanshin }, + std::pair{ core::PlaybackSound::pluckSantoor, api::InstrumentSound::pluckSantoor }, + std::pair{ core::PlaybackSound::pluckSanxian, api::InstrumentSound::pluckSanxian }, + std::pair{ core::PlaybackSound::pluckSarod, api::InstrumentSound::pluckSarod }, + std::pair{ core::PlaybackSound::pluckSaung, api::InstrumentSound::pluckSaung }, + std::pair{ core::PlaybackSound::pluckSaz, api::InstrumentSound::pluckSaz }, + std::pair{ core::PlaybackSound::pluckSe, api::InstrumentSound::pluckSe }, + std::pair{ core::PlaybackSound::pluckSetar, api::InstrumentSound::pluckSetar }, + std::pair{ core::PlaybackSound::pluckShamisen, api::InstrumentSound::pluckShamisen }, + std::pair{ core::PlaybackSound::pluckSitar, api::InstrumentSound::pluckSitar }, + std::pair{ core::PlaybackSound::pluckSynth, api::InstrumentSound::pluckSynth }, + std::pair{ core::PlaybackSound::pluckSynthCharang, api::InstrumentSound::pluckSynthCharang }, + std::pair{ core::PlaybackSound::pluckSynthChiff, api::InstrumentSound::pluckSynthChiff }, + std::pair{ core::PlaybackSound::pluckSynthStick, api::InstrumentSound::pluckSynthStick }, + std::pair{ core::PlaybackSound::pluckTambura, api::InstrumentSound::pluckTambura }, + std::pair{ core::PlaybackSound::pluckTamburaBulgarian, api::InstrumentSound::pluckTamburaBulgarian }, + std::pair{ core::PlaybackSound::pluckTamburaFemale, api::InstrumentSound::pluckTamburaFemale }, + std::pair{ core::PlaybackSound::pluckTamburaMale, api::InstrumentSound::pluckTamburaMale }, + std::pair{ core::PlaybackSound::pluckTar, api::InstrumentSound::pluckTar }, + std::pair{ core::PlaybackSound::pluckTheorbo, api::InstrumentSound::pluckTheorbo }, + std::pair{ core::PlaybackSound::pluckTimple, api::InstrumentSound::pluckTimple }, + std::pair{ core::PlaybackSound::pluckTiple, api::InstrumentSound::pluckTiple }, + std::pair{ core::PlaybackSound::pluckTres, api::InstrumentSound::pluckTres }, + std::pair{ core::PlaybackSound::pluckUkulele, api::InstrumentSound::pluckUkulele }, + std::pair{ core::PlaybackSound::pluckUkuleleTenor, api::InstrumentSound::pluckUkuleleTenor }, + std::pair{ core::PlaybackSound::pluckValiha, api::InstrumentSound::pluckValiha }, + std::pair{ core::PlaybackSound::pluckVeena, api::InstrumentSound::pluckVeena }, + std::pair{ core::PlaybackSound::pluckVeenaMohan, api::InstrumentSound::pluckVeenaMohan }, + std::pair{ core::PlaybackSound::pluckVeenaRudra, api::InstrumentSound::pluckVeenaRudra }, + std::pair{ core::PlaybackSound::pluckVeenaVichitra, api::InstrumentSound::pluckVeenaVichitra }, + std::pair{ core::PlaybackSound::pluckVihuela, api::InstrumentSound::pluckVihuela }, + std::pair{ core::PlaybackSound::pluckVihuelaMexican, api::InstrumentSound::pluckVihuelaMexican }, + std::pair{ core::PlaybackSound::pluckXalam, api::InstrumentSound::pluckXalam }, + std::pair{ core::PlaybackSound::pluckYueqin, api::InstrumentSound::pluckYueqin }, + std::pair{ core::PlaybackSound::pluckZither, api::InstrumentSound::pluckZither }, + std::pair{ core::PlaybackSound::pluckZitherOvertone, api::InstrumentSound::pluckZitherOvertone }, + std::pair{ core::PlaybackSound::rattleAfoxe, api::InstrumentSound::rattleAfoxe }, + std::pair{ core::PlaybackSound::rattleBirds, api::InstrumentSound::rattleBirds }, + std::pair{ core::PlaybackSound::rattleCabasa, api::InstrumentSound::rattleCabasa }, + std::pair{ core::PlaybackSound::rattleCaxixi, api::InstrumentSound::rattleCaxixi }, + std::pair{ core::PlaybackSound::rattleCog, api::InstrumentSound::rattleCog }, + std::pair{ core::PlaybackSound::rattleGanza, api::InstrumentSound::rattleGanza }, + std::pair{ core::PlaybackSound::rattleHosho, api::InstrumentSound::rattleHosho }, + std::pair{ core::PlaybackSound::rattleJawbone, api::InstrumentSound::rattleJawbone }, + std::pair{ core::PlaybackSound::rattleKayamba, api::InstrumentSound::rattleKayamba }, + std::pair{ core::PlaybackSound::rattleKpokoKpoko, api::InstrumentSound::rattleKpokoKpoko }, + std::pair{ core::PlaybackSound::rattleLavaStones, api::InstrumentSound::rattleLavaStones }, + std::pair{ core::PlaybackSound::rattleMaraca, api::InstrumentSound::rattleMaraca }, + std::pair{ core::PlaybackSound::rattleRainStick, api::InstrumentSound::rattleRainStick }, + std::pair{ core::PlaybackSound::rattleRatchet, api::InstrumentSound::rattleRatchet }, + std::pair{ core::PlaybackSound::rattleRattle, api::InstrumentSound::rattleRattle }, + std::pair{ core::PlaybackSound::rattleShaker, api::InstrumentSound::rattleShaker }, + std::pair{ core::PlaybackSound::rattleShakerEgg, api::InstrumentSound::rattleShakerEgg }, + std::pair{ core::PlaybackSound::rattleShekere, api::InstrumentSound::rattleShekere }, + std::pair{ core::PlaybackSound::rattleSistre, api::InstrumentSound::rattleSistre }, + std::pair{ core::PlaybackSound::rattleTelevi, api::InstrumentSound::rattleTelevi }, + std::pair{ core::PlaybackSound::rattleVibraslap, api::InstrumentSound::rattleVibraslap }, + std::pair{ core::PlaybackSound::rattleWasembe, api::InstrumentSound::rattleWasembe }, + std::pair{ core::PlaybackSound::stringsAjaeng, api::InstrumentSound::stringsAjaeng }, + std::pair{ core::PlaybackSound::stringsArpeggione, api::InstrumentSound::stringsArpeggione }, + std::pair{ core::PlaybackSound::stringsBaryton, api::InstrumentSound::stringsBaryton }, + std::pair{ core::PlaybackSound::stringsCello, api::InstrumentSound::stringsCello }, + std::pair{ core::PlaybackSound::stringsCelloPiccolo, api::InstrumentSound::stringsCelloPiccolo }, + std::pair{ core::PlaybackSound::stringsContrabass, api::InstrumentSound::stringsContrabass }, + std::pair{ core::PlaybackSound::stringsCrwth, api::InstrumentSound::stringsCrwth }, + std::pair{ core::PlaybackSound::stringsDanGao, api::InstrumentSound::stringsDanGao }, + std::pair{ core::PlaybackSound::stringsDihu, api::InstrumentSound::stringsDihu }, + std::pair{ core::PlaybackSound::stringsErhu, api::InstrumentSound::stringsErhu }, + std::pair{ core::PlaybackSound::stringsErxian, api::InstrumentSound::stringsErxian }, + std::pair{ core::PlaybackSound::stringsEsraj, api::InstrumentSound::stringsEsraj }, + std::pair{ core::PlaybackSound::stringsFiddle, api::InstrumentSound::stringsFiddle }, + std::pair{ core::PlaybackSound::stringsFiddleHardanger, api::InstrumentSound::stringsFiddleHardanger }, + std::pair{ core::PlaybackSound::stringsGadulka, api::InstrumentSound::stringsGadulka }, + std::pair{ core::PlaybackSound::stringsGaohu, api::InstrumentSound::stringsGaohu }, + std::pair{ core::PlaybackSound::stringsGehu, api::InstrumentSound::stringsGehu }, + std::pair{ core::PlaybackSound::stringsGroup, api::InstrumentSound::stringsGroup }, + std::pair{ core::PlaybackSound::stringsGroupSynth, api::InstrumentSound::stringsGroupSynth }, + std::pair{ core::PlaybackSound::stringsHaegeum, api::InstrumentSound::stringsHaegeum }, + std::pair{ core::PlaybackSound::stringsHurdyGurdy, api::InstrumentSound::stringsHurdyGurdy }, + std::pair{ core::PlaybackSound::stringsIgil, api::InstrumentSound::stringsIgil }, + std::pair{ core::PlaybackSound::stringsKamancha, api::InstrumentSound::stringsKamancha }, + std::pair{ core::PlaybackSound::stringsKokyu, api::InstrumentSound::stringsKokyu }, + std::pair{ core::PlaybackSound::stringsLaruan, api::InstrumentSound::stringsLaruan }, + std::pair{ core::PlaybackSound::stringsLeiqin, api::InstrumentSound::stringsLeiqin }, + std::pair{ core::PlaybackSound::stringsLirone, api::InstrumentSound::stringsLirone }, + std::pair{ core::PlaybackSound::stringsLyraByzantine, api::InstrumentSound::stringsLyraByzantine }, + std::pair{ core::PlaybackSound::stringsLyraCretan, api::InstrumentSound::stringsLyraCretan }, + std::pair{ core::PlaybackSound::stringsMorinKhuur, api::InstrumentSound::stringsMorinKhuur }, + std::pair{ core::PlaybackSound::stringsNyckelharpa, api::InstrumentSound::stringsNyckelharpa }, + std::pair{ core::PlaybackSound::stringsOctobass, api::InstrumentSound::stringsOctobass }, + std::pair{ core::PlaybackSound::stringsRebab, api::InstrumentSound::stringsRebab }, + std::pair{ core::PlaybackSound::stringsRebec, api::InstrumentSound::stringsRebec }, + std::pair{ core::PlaybackSound::stringsSarangi, api::InstrumentSound::stringsSarangi }, + std::pair{ core::PlaybackSound::stringsStrohViolin, api::InstrumentSound::stringsStrohViolin }, + std::pair{ core::PlaybackSound::stringsTrombaMarina, api::InstrumentSound::stringsTrombaMarina }, + std::pair{ core::PlaybackSound::stringsVielle, api::InstrumentSound::stringsVielle }, + std::pair{ core::PlaybackSound::stringsViol, api::InstrumentSound::stringsViol }, + std::pair{ core::PlaybackSound::stringsViolAlto, api::InstrumentSound::stringsViolAlto }, + std::pair{ core::PlaybackSound::stringsViolBass, api::InstrumentSound::stringsViolBass }, + std::pair{ core::PlaybackSound::stringsViolTenor, api::InstrumentSound::stringsViolTenor }, + std::pair{ core::PlaybackSound::stringsViolTreble, api::InstrumentSound::stringsViolTreble }, + std::pair{ core::PlaybackSound::stringsViolViolone, api::InstrumentSound::stringsViolViolone }, + std::pair{ core::PlaybackSound::stringsViola, api::InstrumentSound::stringsViola }, + std::pair{ core::PlaybackSound::stringsViolaDamore, api::InstrumentSound::stringsViolaDamore }, + std::pair{ core::PlaybackSound::stringsViolin, api::InstrumentSound::stringsViolin }, + std::pair{ core::PlaybackSound::stringsViolonoPiccolo, api::InstrumentSound::stringsViolonoPiccolo }, + std::pair{ core::PlaybackSound::stringsViolotta, api::InstrumentSound::stringsViolotta }, + std::pair{ core::PlaybackSound::stringsYayliTanbur, api::InstrumentSound::stringsYayliTanbur }, + std::pair{ core::PlaybackSound::stringsYazheng, api::InstrumentSound::stringsYazheng }, + std::pair{ core::PlaybackSound::stringsZhonghu, api::InstrumentSound::stringsZhonghu }, + std::pair{ core::PlaybackSound::synthEffects, api::InstrumentSound::synthEffects }, + std::pair{ core::PlaybackSound::synthEffectsAtmosphere, api::InstrumentSound::synthEffectsAtmosphere }, + std::pair{ core::PlaybackSound::synthEffectsBrightness, api::InstrumentSound::synthEffectsBrightness }, + std::pair{ core::PlaybackSound::synthEffectsCrystal, api::InstrumentSound::synthEffectsCrystal }, + std::pair{ core::PlaybackSound::synthEffectsEchoes, api::InstrumentSound::synthEffectsEchoes }, + std::pair{ core::PlaybackSound::synthEffectsGoblins, api::InstrumentSound::synthEffectsGoblins }, + std::pair{ core::PlaybackSound::synthEffectsRain, api::InstrumentSound::synthEffectsRain }, + std::pair{ core::PlaybackSound::synthEffectsSciFi, api::InstrumentSound::synthEffectsSciFi }, + std::pair{ core::PlaybackSound::synthEffectsSoundtrack, api::InstrumentSound::synthEffectsSoundtrack }, + std::pair{ core::PlaybackSound::synthGroup, api::InstrumentSound::synthGroup }, + std::pair{ core::PlaybackSound::synthGroupFifths, api::InstrumentSound::synthGroupFifths }, + std::pair{ core::PlaybackSound::synthGroupOrchestra, api::InstrumentSound::synthGroupOrchestra }, + std::pair{ core::PlaybackSound::synthPad, api::InstrumentSound::synthPad }, + std::pair{ core::PlaybackSound::synthPadBowed, api::InstrumentSound::synthPadBowed }, + std::pair{ core::PlaybackSound::synthPadChoir, api::InstrumentSound::synthPadChoir }, + std::pair{ core::PlaybackSound::synthPadHalo, api::InstrumentSound::synthPadHalo }, + std::pair{ core::PlaybackSound::synthPadMetallic, api::InstrumentSound::synthPadMetallic }, + std::pair{ core::PlaybackSound::synthPadPolysynth, api::InstrumentSound::synthPadPolysynth }, + std::pair{ core::PlaybackSound::synthPadSweep, api::InstrumentSound::synthPadSweep }, + std::pair{ core::PlaybackSound::synthPadWarm, api::InstrumentSound::synthPadWarm }, + std::pair{ core::PlaybackSound::synthTheremin, api::InstrumentSound::synthTheremin }, + std::pair{ core::PlaybackSound::synthToneSawtooth, api::InstrumentSound::synthToneSawtooth }, + std::pair{ core::PlaybackSound::synthToneSine, api::InstrumentSound::synthToneSine }, + std::pair{ core::PlaybackSound::synthToneSquare, api::InstrumentSound::synthToneSquare }, + std::pair{ core::PlaybackSound::voiceAa, api::InstrumentSound::voiceAa }, + std::pair{ core::PlaybackSound::voiceAlto, api::InstrumentSound::voiceAlto }, + std::pair{ core::PlaybackSound::voiceAw, api::InstrumentSound::voiceAw }, + std::pair{ core::PlaybackSound::voiceBaritone, api::InstrumentSound::voiceBaritone }, + std::pair{ core::PlaybackSound::voiceBass, api::InstrumentSound::voiceBass }, + std::pair{ core::PlaybackSound::voiceChild, api::InstrumentSound::voiceChild }, + std::pair{ core::PlaybackSound::voiceCountertenor, api::InstrumentSound::voiceCountertenor }, + std::pair{ core::PlaybackSound::voiceDoo, api::InstrumentSound::voiceDoo }, + std::pair{ core::PlaybackSound::voiceEe, api::InstrumentSound::voiceEe }, + std::pair{ core::PlaybackSound::voiceFemale, api::InstrumentSound::voiceFemale }, + std::pair{ core::PlaybackSound::voiceKazoo, api::InstrumentSound::voiceKazoo }, + std::pair{ core::PlaybackSound::voiceMale, api::InstrumentSound::voiceMale }, + std::pair{ core::PlaybackSound::voiceMezzoSoprano, api::InstrumentSound::voiceMezzoSoprano }, + std::pair{ core::PlaybackSound::voiceMm, api::InstrumentSound::voiceMm }, + std::pair{ core::PlaybackSound::voiceOo, api::InstrumentSound::voiceOo }, + std::pair{ core::PlaybackSound::voicePercussion, api::InstrumentSound::voicePercussion }, + std::pair{ core::PlaybackSound::voicePercussionBeatbox, api::InstrumentSound::voicePercussionBeatbox }, + std::pair{ core::PlaybackSound::voiceSoprano, api::InstrumentSound::voiceSoprano }, + std::pair{ core::PlaybackSound::voiceSynth, api::InstrumentSound::voiceSynth }, + std::pair{ core::PlaybackSound::voiceTalkBox, api::InstrumentSound::voiceTalkBox }, + std::pair{ core::PlaybackSound::voiceTenor, api::InstrumentSound::voiceTenor }, + std::pair{ core::PlaybackSound::voiceVocals, api::InstrumentSound::voiceVocals }, + std::pair{ core::PlaybackSound::windFlutesBansuri, api::InstrumentSound::windFlutesBansuri }, + std::pair{ core::PlaybackSound::windFlutesBlownBottle, api::InstrumentSound::windFlutesBlownBottle }, + std::pair{ core::PlaybackSound::windFlutesCalliope, api::InstrumentSound::windFlutesCalliope }, + std::pair{ core::PlaybackSound::windFlutesDanso, api::InstrumentSound::windFlutesDanso }, + std::pair{ core::PlaybackSound::windFlutesDiZi, api::InstrumentSound::windFlutesDiZi }, + std::pair{ core::PlaybackSound::windFlutesDvojnice, api::InstrumentSound::windFlutesDvojnice }, + std::pair{ core::PlaybackSound::windFlutesFife, api::InstrumentSound::windFlutesFife }, + std::pair{ core::PlaybackSound::windFlutesFlageolet, api::InstrumentSound::windFlutesFlageolet }, + std::pair{ core::PlaybackSound::windFlutesFlute, api::InstrumentSound::windFlutesFlute }, + std::pair{ core::PlaybackSound::windFlutesFluteAlto, api::InstrumentSound::windFlutesFluteAlto }, + std::pair{ core::PlaybackSound::windFlutesFluteBass, api::InstrumentSound::windFlutesFluteBass }, + std::pair{ core::PlaybackSound::windFlutesFluteContraAlto, api::InstrumentSound::windFlutesFluteContraAlto }, + std::pair{ core::PlaybackSound::windFlutesFluteContrabass, api::InstrumentSound::windFlutesFluteContrabass }, + std::pair{ core::PlaybackSound::windFlutesFluteDoubleContrabass, api::InstrumentSound::windFlutesFluteDoubleContrabass }, + std::pair{ core::PlaybackSound::windFlutesFluteIrish, api::InstrumentSound::windFlutesFluteIrish }, + std::pair{ core::PlaybackSound::windFlutesFlutePiccolo, api::InstrumentSound::windFlutesFlutePiccolo }, + std::pair{ core::PlaybackSound::windFlutesFluteSubcontrabass, api::InstrumentSound::windFlutesFluteSubcontrabass }, + std::pair{ core::PlaybackSound::windFlutesFujara, api::InstrumentSound::windFlutesFujara }, + std::pair{ core::PlaybackSound::windFlutesGemshorn, api::InstrumentSound::windFlutesGemshorn }, + std::pair{ core::PlaybackSound::windFlutesHocchiku, api::InstrumentSound::windFlutesHocchiku }, + std::pair{ core::PlaybackSound::windFlutesHun, api::InstrumentSound::windFlutesHun }, + std::pair{ core::PlaybackSound::windFlutesKaval, api::InstrumentSound::windFlutesKaval }, + std::pair{ core::PlaybackSound::windFlutesKawala, api::InstrumentSound::windFlutesKawala }, + std::pair{ core::PlaybackSound::windFlutesKhlui, api::InstrumentSound::windFlutesKhlui }, + std::pair{ core::PlaybackSound::windFlutesKnotweed, api::InstrumentSound::windFlutesKnotweed }, + std::pair{ core::PlaybackSound::windFlutesKoncovkaAlto, api::InstrumentSound::windFlutesKoncovkaAlto }, + std::pair{ core::PlaybackSound::windFlutesKoudi, api::InstrumentSound::windFlutesKoudi }, + std::pair{ core::PlaybackSound::windFlutesNey, api::InstrumentSound::windFlutesNey }, + std::pair{ core::PlaybackSound::windFlutesNohkan, api::InstrumentSound::windFlutesNohkan }, + std::pair{ core::PlaybackSound::windFlutesNose, api::InstrumentSound::windFlutesNose }, + std::pair{ core::PlaybackSound::windFlutesOcarina, api::InstrumentSound::windFlutesOcarina }, + std::pair{ core::PlaybackSound::windFlutesOvertoneTenor, api::InstrumentSound::windFlutesOvertoneTenor }, + std::pair{ core::PlaybackSound::windFlutesPalendag, api::InstrumentSound::windFlutesPalendag }, + std::pair{ core::PlaybackSound::windFlutesPanpipes, api::InstrumentSound::windFlutesPanpipes }, + std::pair{ core::PlaybackSound::windFlutesQuena, api::InstrumentSound::windFlutesQuena }, + std::pair{ core::PlaybackSound::windFlutesRecorder, api::InstrumentSound::windFlutesRecorder }, + std::pair{ core::PlaybackSound::windFlutesRecorderAlto, api::InstrumentSound::windFlutesRecorderAlto }, + std::pair{ core::PlaybackSound::windFlutesRecorderBass, api::InstrumentSound::windFlutesRecorderBass }, + std::pair{ core::PlaybackSound::windFlutesRecorderContrabass, api::InstrumentSound::windFlutesRecorderContrabass }, + std::pair{ core::PlaybackSound::windFlutesRecorderDescant, api::InstrumentSound::windFlutesRecorderDescant }, + std::pair{ core::PlaybackSound::windFlutesRecorderGarklein, api::InstrumentSound::windFlutesRecorderGarklein }, + std::pair{ core::PlaybackSound::windFlutesRecorderGreatBass, api::InstrumentSound::windFlutesRecorderGreatBass }, + std::pair{ core::PlaybackSound::windFlutesRecorderSopranino, api::InstrumentSound::windFlutesRecorderSopranino }, + std::pair{ core::PlaybackSound::windFlutesRecorderSoprano, api::InstrumentSound::windFlutesRecorderSoprano }, + std::pair{ core::PlaybackSound::windFlutesRecorderTenor, api::InstrumentSound::windFlutesRecorderTenor }, + std::pair{ core::PlaybackSound::windFlutesRyuteki, api::InstrumentSound::windFlutesRyuteki }, + std::pair{ core::PlaybackSound::windFlutesShakuhachi, api::InstrumentSound::windFlutesShakuhachi }, + std::pair{ core::PlaybackSound::windFlutesShepherdsPipe, api::InstrumentSound::windFlutesShepherdsPipe }, + std::pair{ core::PlaybackSound::windFlutesShinobue, api::InstrumentSound::windFlutesShinobue }, + std::pair{ core::PlaybackSound::windFlutesShvi, api::InstrumentSound::windFlutesShvi }, + std::pair{ core::PlaybackSound::windFlutesSuling, api::InstrumentSound::windFlutesSuling }, + std::pair{ core::PlaybackSound::windFlutesTarka, api::InstrumentSound::windFlutesTarka }, + std::pair{ core::PlaybackSound::windFlutesTumpong, api::InstrumentSound::windFlutesTumpong }, + std::pair{ core::PlaybackSound::windFlutesVenu, api::InstrumentSound::windFlutesVenu }, + std::pair{ core::PlaybackSound::windFlutesWhistle, api::InstrumentSound::windFlutesWhistle }, + std::pair{ core::PlaybackSound::windFlutesWhistleAlto, api::InstrumentSound::windFlutesWhistleAlto }, + std::pair{ core::PlaybackSound::windFlutesWhistleLowIrish, api::InstrumentSound::windFlutesWhistleLowIrish }, + std::pair{ core::PlaybackSound::windFlutesWhistleShiva, api::InstrumentSound::windFlutesWhistleShiva }, + std::pair{ core::PlaybackSound::windFlutesWhistleSlide, api::InstrumentSound::windFlutesWhistleSlide }, + std::pair{ core::PlaybackSound::windFlutesWhistleTin, api::InstrumentSound::windFlutesWhistleTin }, + std::pair{ core::PlaybackSound::windFlutesWhistleTinBflat, api::InstrumentSound::windFlutesWhistleTinBflat }, + std::pair{ core::PlaybackSound::windFlutesWhistleTinD, api::InstrumentSound::windFlutesWhistleTinD }, + std::pair{ core::PlaybackSound::windFlutesXiao, api::InstrumentSound::windFlutesXiao }, + std::pair{ core::PlaybackSound::windFlutesXun, api::InstrumentSound::windFlutesXun }, + std::pair{ core::PlaybackSound::windGroup, api::InstrumentSound::windGroup }, + std::pair{ core::PlaybackSound::windJug, api::InstrumentSound::windJug }, + std::pair{ core::PlaybackSound::windPipesBagpipes, api::InstrumentSound::windPipesBagpipes }, + std::pair{ core::PlaybackSound::windPipesGaida, api::InstrumentSound::windPipesGaida }, + std::pair{ core::PlaybackSound::windPipesHighland, api::InstrumentSound::windPipesHighland }, + std::pair{ core::PlaybackSound::windPipesUilleann, api::InstrumentSound::windPipesUilleann }, + std::pair{ core::PlaybackSound::windPungi, api::InstrumentSound::windPungi }, + std::pair{ core::PlaybackSound::windReedAlbogue, api::InstrumentSound::windReedAlbogue }, + std::pair{ core::PlaybackSound::windReedAlboka, api::InstrumentSound::windReedAlboka }, + std::pair{ core::PlaybackSound::windReedAlgaita, api::InstrumentSound::windReedAlgaita }, + std::pair{ core::PlaybackSound::windReedArghul, api::InstrumentSound::windReedArghul }, + std::pair{ core::PlaybackSound::windReedBassetHorn, api::InstrumentSound::windReedBassetHorn }, + std::pair{ core::PlaybackSound::windReedBassoon, api::InstrumentSound::windReedBassoon }, + std::pair{ core::PlaybackSound::windReedBawu, api::InstrumentSound::windReedBawu }, + std::pair{ core::PlaybackSound::windReedBifora, api::InstrumentSound::windReedBifora }, + std::pair{ core::PlaybackSound::windReedBombarde, api::InstrumentSound::windReedBombarde }, + std::pair{ core::PlaybackSound::windReedChalumeau, api::InstrumentSound::windReedChalumeau }, + std::pair{ core::PlaybackSound::windReedClarinet, api::InstrumentSound::windReedClarinet }, + std::pair{ core::PlaybackSound::windReedClarinetA, api::InstrumentSound::windReedClarinetA }, + std::pair{ core::PlaybackSound::windReedClarinetAlto, api::InstrumentSound::windReedClarinetAlto }, + std::pair{ core::PlaybackSound::windReedClarinetBass, api::InstrumentSound::windReedClarinetBass }, + std::pair{ core::PlaybackSound::windReedClarinetBasset, api::InstrumentSound::windReedClarinetBasset }, + std::pair{ core::PlaybackSound::windReedClarinetBflat, api::InstrumentSound::windReedClarinetBflat }, + std::pair{ core::PlaybackSound::windReedClarinetContraAlto, api::InstrumentSound::windReedClarinetContraAlto }, + std::pair{ core::PlaybackSound::windReedClarinetContrabass, api::InstrumentSound::windReedClarinetContrabass }, + std::pair{ core::PlaybackSound::windReedClarinetEflat, api::InstrumentSound::windReedClarinetEflat }, + std::pair{ core::PlaybackSound::windReedClarinetPiccoloAflat, api::InstrumentSound::windReedClarinetPiccoloAflat }, + std::pair{ core::PlaybackSound::windReedClarinetteDamour, api::InstrumentSound::windReedClarinetteDamour }, + std::pair{ core::PlaybackSound::windReedContrabass, api::InstrumentSound::windReedContrabass }, + std::pair{ core::PlaybackSound::windReedContrabassoon, api::InstrumentSound::windReedContrabassoon }, + std::pair{ core::PlaybackSound::windReedCornamuse, api::InstrumentSound::windReedCornamuse }, + std::pair{ core::PlaybackSound::windReedCromorne, api::InstrumentSound::windReedCromorne }, + std::pair{ core::PlaybackSound::windReedCrumhorn, api::InstrumentSound::windReedCrumhorn }, + std::pair{ core::PlaybackSound::windReedCrumhornAlto, api::InstrumentSound::windReedCrumhornAlto }, + std::pair{ core::PlaybackSound::windReedCrumhornBass, api::InstrumentSound::windReedCrumhornBass }, + std::pair{ core::PlaybackSound::windReedCrumhornGreatBass, api::InstrumentSound::windReedCrumhornGreatBass }, + std::pair{ core::PlaybackSound::windReedCrumhornSoprano, api::InstrumentSound::windReedCrumhornSoprano }, + std::pair{ core::PlaybackSound::windReedCrumhornTenor, api::InstrumentSound::windReedCrumhornTenor }, + std::pair{ core::PlaybackSound::windReedDiple, api::InstrumentSound::windReedDiple }, + std::pair{ core::PlaybackSound::windReedDiplica, api::InstrumentSound::windReedDiplica }, + std::pair{ core::PlaybackSound::windReedDuduk, api::InstrumentSound::windReedDuduk }, + std::pair{ core::PlaybackSound::windReedDulcian, api::InstrumentSound::windReedDulcian }, + std::pair{ core::PlaybackSound::windReedDulzaina, api::InstrumentSound::windReedDulzaina }, + std::pair{ core::PlaybackSound::windReedEnglishHorn, api::InstrumentSound::windReedEnglishHorn }, + std::pair{ core::PlaybackSound::windReedGuanzi, api::InstrumentSound::windReedGuanzi }, + std::pair{ core::PlaybackSound::windReedHarmonica, api::InstrumentSound::windReedHarmonica }, + std::pair{ core::PlaybackSound::windReedHarmonicaBass, api::InstrumentSound::windReedHarmonicaBass }, + std::pair{ core::PlaybackSound::windReedHeckelClarina, api::InstrumentSound::windReedHeckelClarina }, + std::pair{ core::PlaybackSound::windReedHeckelphone, api::InstrumentSound::windReedHeckelphone }, + std::pair{ core::PlaybackSound::windReedHeckelphonePiccolo, api::InstrumentSound::windReedHeckelphonePiccolo }, + std::pair{ core::PlaybackSound::windReedHeckelphoneClarinet, api::InstrumentSound::windReedHeckelphoneClarinet }, + std::pair{ core::PlaybackSound::windReedHichiriki, api::InstrumentSound::windReedHichiriki }, + std::pair{ core::PlaybackSound::windReedHirtenschalmei, api::InstrumentSound::windReedHirtenschalmei }, + std::pair{ core::PlaybackSound::windReedHne, api::InstrumentSound::windReedHne }, + std::pair{ core::PlaybackSound::windReedHornpipe, api::InstrumentSound::windReedHornpipe }, + std::pair{ core::PlaybackSound::windReedHouguan, api::InstrumentSound::windReedHouguan }, + std::pair{ core::PlaybackSound::windReedHulusi, api::InstrumentSound::windReedHulusi }, + std::pair{ core::PlaybackSound::windReedJogiBaja, api::InstrumentSound::windReedJogiBaja }, + std::pair{ core::PlaybackSound::windReedKenBau, api::InstrumentSound::windReedKenBau }, + std::pair{ core::PlaybackSound::windReedKhaenMouthOrgan, api::InstrumentSound::windReedKhaenMouthOrgan }, + std::pair{ core::PlaybackSound::windReedLauneddas, api::InstrumentSound::windReedLauneddas }, + std::pair{ core::PlaybackSound::windReedMaqrunah, api::InstrumentSound::windReedMaqrunah }, + std::pair{ core::PlaybackSound::windReedMelodica, api::InstrumentSound::windReedMelodica }, + std::pair{ core::PlaybackSound::windReedMijwiz, api::InstrumentSound::windReedMijwiz }, + std::pair{ core::PlaybackSound::windReedMizmar, api::InstrumentSound::windReedMizmar }, + std::pair{ core::PlaybackSound::windReedNadaswaram, api::InstrumentSound::windReedNadaswaram }, + std::pair{ core::PlaybackSound::windReedOboe, api::InstrumentSound::windReedOboe }, + std::pair{ core::PlaybackSound::windReedOboeBass, api::InstrumentSound::windReedOboeBass }, + std::pair{ core::PlaybackSound::windReedOboePiccolo, api::InstrumentSound::windReedOboePiccolo }, + std::pair{ core::PlaybackSound::windReedOboeDaCaccia, api::InstrumentSound::windReedOboeDaCaccia }, + std::pair{ core::PlaybackSound::windReedOboeDamore, api::InstrumentSound::windReedOboeDamore }, + std::pair{ core::PlaybackSound::windReedOctavin, api::InstrumentSound::windReedOctavin }, + std::pair{ core::PlaybackSound::windReedPi, api::InstrumentSound::windReedPi }, + std::pair{ core::PlaybackSound::windReedPibgorn, api::InstrumentSound::windReedPibgorn }, + std::pair{ core::PlaybackSound::windReedPiri, api::InstrumentSound::windReedPiri }, + std::pair{ core::PlaybackSound::windReedRackett, api::InstrumentSound::windReedRackett }, + std::pair{ core::PlaybackSound::windReedRauschpfeife, api::InstrumentSound::windReedRauschpfeife }, + std::pair{ core::PlaybackSound::windReedRhaita, api::InstrumentSound::windReedRhaita }, + std::pair{ core::PlaybackSound::windReedRothphone, api::InstrumentSound::windReedRothphone }, + std::pair{ core::PlaybackSound::windReedSarrusaphone, api::InstrumentSound::windReedSarrusaphone }, + std::pair{ core::PlaybackSound::windReedSaxonette, api::InstrumentSound::windReedSaxonette }, + std::pair{ core::PlaybackSound::windReedSaxophone, api::InstrumentSound::windReedSaxophone }, + std::pair{ core::PlaybackSound::windReedSaxophoneAlto, api::InstrumentSound::windReedSaxophoneAlto }, + std::pair{ core::PlaybackSound::windReedSaxophoneAulochrome, api::InstrumentSound::windReedSaxophoneAulochrome }, + std::pair{ core::PlaybackSound::windReedSaxophoneBaritone, api::InstrumentSound::windReedSaxophoneBaritone }, + std::pair{ core::PlaybackSound::windReedSaxophoneBass, api::InstrumentSound::windReedSaxophoneBass }, + std::pair{ core::PlaybackSound::windReedSaxophoneContrabass, api::InstrumentSound::windReedSaxophoneContrabass }, + std::pair{ core::PlaybackSound::windReedSaxophoneMelody, api::InstrumentSound::windReedSaxophoneMelody }, + std::pair{ core::PlaybackSound::windReedSaxophoneMezzoSoprano, api::InstrumentSound::windReedSaxophoneMezzoSoprano }, + std::pair{ core::PlaybackSound::windReedSaxophoneSopranino, api::InstrumentSound::windReedSaxophoneSopranino }, + std::pair{ core::PlaybackSound::windReedSaxophoneSopranissimo, api::InstrumentSound::windReedSaxophoneSopranissimo }, + std::pair{ core::PlaybackSound::windReedSaxophoneSoprano, api::InstrumentSound::windReedSaxophoneSoprano }, + std::pair{ core::PlaybackSound::windReedSaxophoneSubcontrabass, api::InstrumentSound::windReedSaxophoneSubcontrabass }, + std::pair{ core::PlaybackSound::windReedSaxophoneTenor, api::InstrumentSound::windReedSaxophoneTenor }, + std::pair{ core::PlaybackSound::windReedShawm, api::InstrumentSound::windReedShawm }, + std::pair{ core::PlaybackSound::windReedShenai, api::InstrumentSound::windReedShenai }, + std::pair{ core::PlaybackSound::windReedSheng, api::InstrumentSound::windReedSheng }, + std::pair{ core::PlaybackSound::windReedSipsi, api::InstrumentSound::windReedSipsi }, + std::pair{ core::PlaybackSound::windReedSopila, api::InstrumentSound::windReedSopila }, + std::pair{ core::PlaybackSound::windReedSorna, api::InstrumentSound::windReedSorna }, + std::pair{ core::PlaybackSound::windReedSralai, api::InstrumentSound::windReedSralai }, + std::pair{ core::PlaybackSound::windReedSuona, api::InstrumentSound::windReedSuona }, + std::pair{ core::PlaybackSound::windReedSurnai, api::InstrumentSound::windReedSurnai }, + std::pair{ core::PlaybackSound::windReedTaepyeongso, api::InstrumentSound::windReedTaepyeongso }, + std::pair{ core::PlaybackSound::windReedTarogato, api::InstrumentSound::windReedTarogato }, + std::pair{ core::PlaybackSound::windReedTarogatoAncient, api::InstrumentSound::windReedTarogatoAncient }, + std::pair{ core::PlaybackSound::windReedTrompetaChina, api::InstrumentSound::windReedTrompetaChina }, + std::pair{ core::PlaybackSound::windReedTubax, api::InstrumentSound::windReedTubax }, + std::pair{ core::PlaybackSound::windReedXaphoon, api::InstrumentSound::windReedXaphoon }, + std::pair{ core::PlaybackSound::windReedZhaleika, api::InstrumentSound::windReedZhaleika }, + std::pair{ core::PlaybackSound::windReedZurla, api::InstrumentSound::windReedZurla }, + std::pair{ core::PlaybackSound::windReedZurna, api::InstrumentSound::windReedZurna }, + std::pair{ core::PlaybackSound::woodAgogoBlock, api::InstrumentSound::woodAgogoBlock }, + std::pair{ core::PlaybackSound::woodAgungATamlang, api::InstrumentSound::woodAgungATamlang }, + std::pair{ core::PlaybackSound::woodAhoko, api::InstrumentSound::woodAhoko }, + std::pair{ core::PlaybackSound::woodBones, api::InstrumentSound::woodBones }, + std::pair{ core::PlaybackSound::woodCastanets, api::InstrumentSound::woodCastanets }, + std::pair{ core::PlaybackSound::woodClaves, api::InstrumentSound::woodClaves }, + std::pair{ core::PlaybackSound::woodDrumSticks, api::InstrumentSound::woodDrumSticks }, + std::pair{ core::PlaybackSound::woodGourd, api::InstrumentSound::woodGourd }, + std::pair{ core::PlaybackSound::woodGraniteBlock, api::InstrumentSound::woodGraniteBlock }, + std::pair{ core::PlaybackSound::woodGuban, api::InstrumentSound::woodGuban }, + std::pair{ core::PlaybackSound::woodGuiro, api::InstrumentSound::woodGuiro }, + std::pair{ core::PlaybackSound::woodHyoushigi, api::InstrumentSound::woodHyoushigi }, + std::pair{ core::PlaybackSound::woodIpu, api::InstrumentSound::woodIpu }, + std::pair{ core::PlaybackSound::woodJamBlock, api::InstrumentSound::woodJamBlock }, + std::pair{ core::PlaybackSound::woodKaekeeke, api::InstrumentSound::woodKaekeeke }, + std::pair{ core::PlaybackSound::woodKagul, api::InstrumentSound::woodKagul }, + std::pair{ core::PlaybackSound::woodKalaau, api::InstrumentSound::woodKalaau }, + std::pair{ core::PlaybackSound::woodKashiklar, api::InstrumentSound::woodKashiklar }, + std::pair{ core::PlaybackSound::woodKubing, api::InstrumentSound::woodKubing }, + std::pair{ core::PlaybackSound::woodPanClappers, api::InstrumentSound::woodPanClappers }, + std::pair{ core::PlaybackSound::woodSandBlock, api::InstrumentSound::woodSandBlock }, + std::pair{ core::PlaybackSound::woodSlapstick, api::InstrumentSound::woodSlapstick }, + std::pair{ core::PlaybackSound::woodStirDrum, api::InstrumentSound::woodStirDrum }, + std::pair{ core::PlaybackSound::woodTempleBlock, api::InstrumentSound::woodTempleBlock }, + std::pair{ core::PlaybackSound::woodTicTocBlock, api::InstrumentSound::woodTicTocBlock }, + std::pair{ core::PlaybackSound::woodTonetang, api::InstrumentSound::woodTonetang }, + std::pair{ core::PlaybackSound::woodWoodBlock, api::InstrumentSound::woodWoodBlock }, + }; api::Step Converter::convert( core::StepEnum inStep ) const @@ -780,6 +1671,18 @@ namespace mx { return findApiItem( fermataMap, api::MarkType::unspecified, value ); } + + + core::PlaybackSound Converter::convert( api::InstrumentSound value ) const + { + return findCoreItem( instrumentMap, core::PlaybackSound::keyboardPiano, value ); + } + + + api::InstrumentSound Converter::convert( core::PlaybackSound value ) const + { + return findApiItem( instrumentMap, api::InstrumentSound::unspecified, value ); + } } } diff --git a/Sourcecode/mx/impl/Converter.h b/Sourcecode/mx/impl/Converter.h index 9c1f9bd87..e8a6341e4 100644 --- a/Sourcecode/mx/impl/Converter.h +++ b/Sourcecode/mx/impl/Converter.h @@ -102,6 +102,9 @@ namespace mx core::FermataShape convertFermata( api::MarkType value ) const; api::MarkType convertFermata( core::FermataShape value ) const; + + core::PlaybackSound convert( api::InstrumentSound value ) const; + api::InstrumentSound convert( core::PlaybackSound value ) const; const static std::map stepMap; const static std::map durationMap; @@ -129,7 +132,8 @@ namespace mx const static std::map lineStopMap; const static std::map bracketMap; const static std::map fermataMap; - + const static std::map instrumentMap; + private: template API_TYPE findApiItem( const std::map& enumMap, API_TYPE defaultToReturn, CORE_TYPE itemToFind ) const diff --git a/Sourcecode/mx/impl/PartReader.cpp b/Sourcecode/mx/impl/PartReader.cpp index dc33fcfd4..fe7a17760 100644 --- a/Sourcecode/mx/impl/PartReader.cpp +++ b/Sourcecode/mx/impl/PartReader.cpp @@ -237,7 +237,8 @@ namespace mx if( scoreInstrument.getHasInstrumentSound() ) { - myOutPartData.instrumentData.sound = scoreInstrument.getInstrumentSound()->getValue().getValue(); + Converter c; + myOutPartData.instrumentData.instrumentSound = c.convert( scoreInstrument.getInstrumentSound()->getValue() ); } if( scoreInstrument.getHasVirtualInstrument() ) diff --git a/Sourcecode/mx/impl/PartWriter.cpp b/Sourcecode/mx/impl/PartWriter.cpp index 5defa5b93..6a1e255e3 100644 --- a/Sourcecode/mx/impl/PartWriter.cpp +++ b/Sourcecode/mx/impl/PartWriter.cpp @@ -142,10 +142,11 @@ namespace mx } } - if( myPartData.instrumentData.sound.size() > 0 ) + if( myPartData.instrumentData.instrumentSound != api::InstrumentSound::unspecified && myPartData.instrumentData.instrumentSound != api::InstrumentSound::errorBadString ) { scoreIntstrument->setHasInstrumentSound( true ); - scoreIntstrument->getInstrumentSound()->setValue( core::XsString{ myPartData.instrumentData.sound } ); + Converter c; + scoreIntstrument->getInstrumentSound()->setValue( c.convert( myPartData.instrumentData.instrumentSound ) ); } if( addScoreInstrument ) diff --git a/Sourcecode/mx/utility/EnumWithString.h b/Sourcecode/mx/utility/EnumWithString.h index ce8324346..0ac8e5a38 100644 --- a/Sourcecode/mx/utility/EnumWithString.h +++ b/Sourcecode/mx/utility/EnumWithString.h @@ -27,7 +27,7 @@ enum class ZEUS_ENUM_CLASS_NAME { ZEUS_ENUM_MEMBERS(ZEUS_ENUM_VALUE) }; #define ZEUS_STRING_CONSTANT_NAME(XXX, value) ZEUS_CAT(ZEUS_CAT(XXX, _), ZEUS_CAT(value, _String)) -#define ZEUS_ENUM_VALUE(value, string) static constexpr const char* const ZEUS_STRING_CONSTANT_NAME( RETURN_ZEUS_ENUM_CLASS_NAME( ZEUS_ENUM_CLASS_NAME ) , value ) = #string; +#define ZEUS_ENUM_VALUE(value, string) static constexpr const char* const ZEUS_STRING_CONSTANT_NAME( RETURN_ZEUS_ENUM_CLASS_NAME( ZEUS_ENUM_CLASS_NAME ) , value ) = string; ZEUS_ENUM_MEMBERS(ZEUS_ENUM_VALUE); diff --git a/Sourcecode/mxtest/control/CompileControl.h b/Sourcecode/mxtest/control/CompileControl.h index a6563380f..7488273f9 100755 --- a/Sourcecode/mxtest/control/CompileControl.h +++ b/Sourcecode/mxtest/control/CompileControl.h @@ -5,7 +5,7 @@ #pragma once #define MX_COMPILE_API_TESTS #define MX_COMPILE_API_ROUNDTRIP -//#define MX_COMPILE_CORE_TESTS +#define MX_COMPILE_CORE_TESTS #define MX_COMPILE_IMPL_TESTS #define MX_COMPILE_IMPORT_TESTS #define MX_COMPILE_NEW_DECIMAL_TESTS diff --git a/Sourcecode/mxtest/core/InstrumentSoundTest.cpp b/Sourcecode/mxtest/core/InstrumentSoundTest.cpp index 9d23e7459..fd05399b1 100755 --- a/Sourcecode/mxtest/core/InstrumentSoundTest.cpp +++ b/Sourcecode/mxtest/core/InstrumentSoundTest.cpp @@ -14,18 +14,18 @@ using namespace mx::core; TEST( Test01, InstrumentSound ) { std::string indentString( INDENT ); - XsString value1{ "ABC" }; - XsString value2{ "XYZ" }; - InstrumentSound object1; + PlaybackSound value1{ PlaybackSound::keyboardHarpsichord }; + PlaybackSound value2{ PlaybackSound::stringsViolin }; + InstrumentSound object1; InstrumentSound object2( value2 ); std::stringstream default_constructed; object1.toStream( default_constructed, 0 ); std::stringstream object2_stream; object2.toStream( object2_stream, 2 ); - std::string expected = R"()"; + std::string expected = R"(keyboard.piano)"; std::string actual = default_constructed.str(); CHECK_EQUAL( expected, actual ) - expected = indentString+indentString+R"(XYZ)"; + expected = indentString+indentString+R"(strings.violin)"; actual = object2_stream.str(); CHECK_EQUAL( expected, actual ) value1 = object2.getValue(); diff --git a/Xcode/Mx.xcodeproj/project.pbxproj b/Xcode/Mx.xcodeproj/project.pbxproj index 92274c2d8..25cdadebe 100755 --- a/Xcode/Mx.xcodeproj/project.pbxproj +++ b/Xcode/Mx.xcodeproj/project.pbxproj @@ -103,6 +103,16 @@ 29A8005D1EF0499300AD2478 /* XAttributeIterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2B71EF0476300AD2478 /* XAttributeIterator.cpp */; }; 29A8005E1EF0499300AD2478 /* XElementIterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2BD1EF0476300AD2478 /* XElementIterator.cpp */; }; 29A8005F1EF0499300AD2478 /* XFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2C01EF0476300AD2478 /* XFactory.cpp */; }; + 29A800641EF0876500AD2478 /* InstrumentSound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A800621EF0876500AD2478 /* InstrumentSound.cpp */; }; + 29A800651EF0876500AD2478 /* InstrumentSound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A800621EF0876500AD2478 /* InstrumentSound.cpp */; }; + 29A800661EF0876500AD2478 /* InstrumentSound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A800621EF0876500AD2478 /* InstrumentSound.cpp */; }; + 29A800671EF0876500AD2478 /* InstrumentSound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A800621EF0876500AD2478 /* InstrumentSound.cpp */; }; + 29A800681EF0876500AD2478 /* InstrumentSound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A800621EF0876500AD2478 /* InstrumentSound.cpp */; }; + 29A800691EF0876500AD2478 /* InstrumentSound.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A800631EF0876500AD2478 /* InstrumentSound.h */; }; + 29A8006A1EF0876500AD2478 /* InstrumentSound.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A800631EF0876500AD2478 /* InstrumentSound.h */; }; + 29A8006B1EF0876500AD2478 /* InstrumentSound.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A800631EF0876500AD2478 /* InstrumentSound.h */; }; + 29A8006C1EF0876500AD2478 /* InstrumentSound.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A800631EF0876500AD2478 /* InstrumentSound.h */; }; + 29A8006D1EF0876500AD2478 /* InstrumentSound.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A800631EF0876500AD2478 /* InstrumentSound.h */; }; 29A8E2D31EF0476300AD2478 /* ClefData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD5C1EF0475D00AD2478 /* ClefData.cpp */; }; 29A8E2D41EF0476300AD2478 /* ClefData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD5C1EF0475D00AD2478 /* ClefData.cpp */; }; 29A8E2D51EF0476300AD2478 /* ClefData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD5C1EF0475D00AD2478 /* ClefData.cpp */; }; @@ -3319,6 +3329,8 @@ /* Begin PBXFileReference section */ 293FFED21DD25C74001477E8 /* libmx-macOS.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libmx-macOS.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; 299F7FE61CA8D2200084CAE5 /* libMx.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMx.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 29A800621EF0876500AD2478 /* InstrumentSound.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InstrumentSound.cpp; sourceTree = ""; }; + 29A800631EF0876500AD2478 /* InstrumentSound.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InstrumentSound.h; sourceTree = ""; }; 29A8DD591EF0475D00AD2478 /* ApiCommon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ApiCommon.h; sourceTree = ""; }; 29A8DD5A1EF0475D00AD2478 /* ApiEquality.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ApiEquality.h; sourceTree = ""; }; 29A8DD5B1EF0475D00AD2478 /* BarlineData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BarlineData.h; sourceTree = ""; }; @@ -4841,6 +4853,8 @@ 29A8DD851EF0475D00AD2478 /* WedgeData.h */, 29A8DD861EF0475D00AD2478 /* WordsData.cpp */, 29A8DD871EF0475D00AD2478 /* WordsData.h */, + 29A800621EF0876500AD2478 /* InstrumentSound.cpp */, + 29A800631EF0876500AD2478 /* InstrumentSound.h */, ); path = api; sourceTree = ""; @@ -6246,6 +6260,7 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( + 29A8006A1EF0876500AD2478 /* InstrumentSound.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -6253,6 +6268,7 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( + 29A800691EF0876500AD2478 /* InstrumentSound.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -6261,6 +6277,7 @@ buildActionMask = 2147483647; files = ( 29A8FDC61EF0497500AD2478 /* MxmacOS.h in Headers */, + 29A8006D1EF0876500AD2478 /* InstrumentSound.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -6269,6 +6286,7 @@ buildActionMask = 2147483647; files = ( 29B962851E79FF410072071D /* MxiOS.h in Headers */, + 29A8006C1EF0876500AD2478 /* InstrumentSound.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -6276,6 +6294,7 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( + 29A8006B1EF0876500AD2478 /* InstrumentSound.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -6558,6 +6577,7 @@ 29A8F18E1EF0476800AD2478 /* Octave.cpp in Sources */, 29A8EFC21EF0476700AD2478 /* MidiChannel.cpp in Sources */, 29A8FD461EF0476E00AD2478 /* PugiAttribute.cpp in Sources */, + 29A800651EF0876500AD2478 /* InstrumentSound.cpp in Sources */, 29A8F6251EF0476A00AD2478 /* Slide.cpp in Sources */, 29A8E8741EF0476400AD2478 /* DisplayStep.cpp in Sources */, 29A8F67F1EF0476A00AD2478 /* SoundAttributes.cpp in Sources */, @@ -7226,6 +7246,7 @@ 29A8F18D1EF0476800AD2478 /* Octave.cpp in Sources */, 29A8EFC11EF0476700AD2478 /* MidiChannel.cpp in Sources */, 29A8FD451EF0476E00AD2478 /* PugiAttribute.cpp in Sources */, + 29A800641EF0876500AD2478 /* InstrumentSound.cpp in Sources */, 29A8F6241EF0476A00AD2478 /* Slide.cpp in Sources */, 29A8E8731EF0476400AD2478 /* DisplayStep.cpp in Sources */, 29A8F67E1EF0476A00AD2478 /* SoundAttributes.cpp in Sources */, @@ -7894,6 +7915,7 @@ 29A8FE3D1EF0499200AD2478 /* DegreeAttributes.cpp in Sources */, 29A8FE3E1EF0499200AD2478 /* DegreeType.cpp in Sources */, 29A8FE3F1EF0499200AD2478 /* DegreeTypeAttributes.cpp in Sources */, + 29A800681EF0876500AD2478 /* InstrumentSound.cpp in Sources */, 29A8FE401EF0499200AD2478 /* DegreeValue.cpp in Sources */, 29A8FE411EF0499200AD2478 /* DegreeValueAttributes.cpp in Sources */, 29A8FE421EF0499200AD2478 /* DelayedInvertedTurn.cpp in Sources */, @@ -8562,6 +8584,7 @@ 29A8F1901EF0476800AD2478 /* Octave.cpp in Sources */, 29A8EFC41EF0476700AD2478 /* MidiChannel.cpp in Sources */, 29A8FD481EF0476E00AD2478 /* PugiAttribute.cpp in Sources */, + 29A800671EF0876500AD2478 /* InstrumentSound.cpp in Sources */, 29A8F6271EF0476A00AD2478 /* Slide.cpp in Sources */, 29A8E8761EF0476400AD2478 /* DisplayStep.cpp in Sources */, 29A8F6811EF0476A00AD2478 /* SoundAttributes.cpp in Sources */, @@ -9230,6 +9253,7 @@ 29A8F18F1EF0476800AD2478 /* Octave.cpp in Sources */, 29A8EFC31EF0476700AD2478 /* MidiChannel.cpp in Sources */, 29A8FD471EF0476E00AD2478 /* PugiAttribute.cpp in Sources */, + 29A800661EF0876500AD2478 /* InstrumentSound.cpp in Sources */, 29A8F6261EF0476A00AD2478 /* Slide.cpp in Sources */, 29A8E8751EF0476400AD2478 /* DisplayStep.cpp in Sources */, 29A8F6801EF0476A00AD2478 /* SoundAttributes.cpp in Sources */, From bb723480a631809b1946296b2bfd1d951862a2f5 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Tue, 13 Jun 2017 15:19:09 -0700 Subject: [PATCH 050/108] mxapi sound id --- Sourcecode/mx/api/InstrumentSound.cpp | 13 - Sourcecode/mx/api/PartData.h | 6 +- Sourcecode/mx/api/SoundID.cpp | 47 + .../mx/api/{InstrumentSound.h => SoundID.h} | 9 +- Sourcecode/mx/impl/Converter.cpp | 1782 ++++++++--------- Sourcecode/mx/impl/Converter.h | 7 +- Sourcecode/mx/impl/PartReader.cpp | 2 +- Sourcecode/mx/impl/PartWriter.cpp | 4 +- Xcode/Mx.xcodeproj/project.pbxproj | 48 +- 9 files changed, 980 insertions(+), 938 deletions(-) delete mode 100644 Sourcecode/mx/api/InstrumentSound.cpp create mode 100644 Sourcecode/mx/api/SoundID.cpp rename Sourcecode/mx/api/{InstrumentSound.h => SoundID.h} (99%) diff --git a/Sourcecode/mx/api/InstrumentSound.cpp b/Sourcecode/mx/api/InstrumentSound.cpp deleted file mode 100644 index e5f753f6f..000000000 --- a/Sourcecode/mx/api/InstrumentSound.cpp +++ /dev/null @@ -1,13 +0,0 @@ -// MusicXML Class Library -// Copyright (c) by Matthew James Briggs -// Distributed under the MIT License - -#include "mx/api/InstrumentSound.h" - -namespace mx -{ - namespace api - { - - } -} diff --git a/Sourcecode/mx/api/PartData.h b/Sourcecode/mx/api/PartData.h index 4dad73945..bb2554911 100755 --- a/Sourcecode/mx/api/PartData.h +++ b/Sourcecode/mx/api/PartData.h @@ -5,7 +5,7 @@ #pragma once #include "mx/api/MeasureData.h" -#include "mx/api/InstrumentSound.h" +#include "mx/api/SoundID.h" #include #include @@ -77,7 +77,7 @@ namespace mx std::string uniqueId; std::string name; std::string abbreviation; - InstrumentSound instrumentSound; + SoundID soundID; SoloOrEnsemble soloOrEnsemble; MidiData midiData; }; @@ -154,7 +154,7 @@ namespace mx MXAPI_EQUALS_MEMBER( uniqueId ) MXAPI_EQUALS_MEMBER( name ) MXAPI_EQUALS_MEMBER( abbreviation ) - MXAPI_EQUALS_MEMBER( instrumentSound ) + MXAPI_EQUALS_MEMBER( soundID ) MXAPI_EQUALS_MEMBER( soloOrEnsemble ) MXAPI_EQUALS_MEMBER( midiData ) MXAPI_EQUALS_END; diff --git a/Sourcecode/mx/api/SoundID.cpp b/Sourcecode/mx/api/SoundID.cpp new file mode 100644 index 000000000..b16656ca7 --- /dev/null +++ b/Sourcecode/mx/api/SoundID.cpp @@ -0,0 +1,47 @@ +// MusicXML Class Library +// Copyright (c) by Matthew James Briggs +// Distributed under the MIT License + +#include "mx/api/SoundID.h" +#include "mx/core/Enums.h" +#include "mx/impl/Converter.h" + +namespace mx +{ + namespace api + { + std::string SoundIDToString( SoundID inSoundID ) + { + if( inSoundID == SoundID::unspecified ) + { + return "unspecified"; + } + else if( inSoundID == SoundID::errorBadString ) + { + return "error.bad.string"; + } + + impl::Converter c; + return core::PlaybackSoundToString( c.convert( inSoundID ) ); + } + + + SoundID SoundIDFromString( const std::string& inString ) + { + SoundID result = SoundID::keyboardPiano; + + try + { + const auto p = core::PlaybackSoundFromString( inString ); + impl::Converter c; + result = c.convert( p ); + } + catch (...) + { + result = SoundID::errorBadString; + } + + return result; + } + } +} diff --git a/Sourcecode/mx/api/InstrumentSound.h b/Sourcecode/mx/api/SoundID.h similarity index 99% rename from Sourcecode/mx/api/InstrumentSound.h rename to Sourcecode/mx/api/SoundID.h index 89b1855e9..cd420abc0 100644 --- a/Sourcecode/mx/api/InstrumentSound.h +++ b/Sourcecode/mx/api/SoundID.h @@ -4,6 +4,8 @@ #pragma once +#include + //#include "mx/api/ApiCommon.h" //#include "mx/api/PositionData.h" //#include "mx/api/ColorData.h" @@ -13,7 +15,12 @@ namespace mx { namespace api { - enum class InstrumentSound + enum class SoundID; + + std::string SoundIDToString( SoundID inSoundID ); + SoundID SoundIDFromString( const std::string& inString ); + + enum class SoundID { unspecified, errorBadString, diff --git a/Sourcecode/mx/impl/Converter.cpp b/Sourcecode/mx/impl/Converter.cpp index 800f1fb78..31efb80c8 100644 --- a/Sourcecode/mx/impl/Converter.cpp +++ b/Sourcecode/mx/impl/Converter.cpp @@ -381,894 +381,894 @@ namespace mx }; - const std::map Converter::instrumentMap - { - std::pair{ core::PlaybackSound::brassAlphorn, api::InstrumentSound::brassAlphorn }, - std::pair{ core::PlaybackSound::brassAltoHorn, api::InstrumentSound::brassAltoHorn }, - std::pair{ core::PlaybackSound::brassBaritoneHorn, api::InstrumentSound::brassBaritoneHorn }, - std::pair{ core::PlaybackSound::brassBugle, api::InstrumentSound::brassBugle }, - std::pair{ core::PlaybackSound::brassBugleAlto, api::InstrumentSound::brassBugleAlto }, - std::pair{ core::PlaybackSound::brassBugleBaritone, api::InstrumentSound::brassBugleBaritone }, - std::pair{ core::PlaybackSound::brassBugleContrabass, api::InstrumentSound::brassBugleContrabass }, - std::pair{ core::PlaybackSound::brassBugleEuphoniumBugle, api::InstrumentSound::brassBugleEuphoniumBugle }, - std::pair{ core::PlaybackSound::brassBugleMellophoneBugle, api::InstrumentSound::brassBugleMellophoneBugle }, - std::pair{ core::PlaybackSound::brassBugleSoprano, api::InstrumentSound::brassBugleSoprano }, - std::pair{ core::PlaybackSound::brassCimbasso, api::InstrumentSound::brassCimbasso }, - std::pair{ core::PlaybackSound::brassConchShell, api::InstrumentSound::brassConchShell }, - std::pair{ core::PlaybackSound::brassCornet, api::InstrumentSound::brassCornet }, - std::pair{ core::PlaybackSound::brassCornetSoprano, api::InstrumentSound::brassCornetSoprano }, - std::pair{ core::PlaybackSound::brassCornett, api::InstrumentSound::brassCornett }, - std::pair{ core::PlaybackSound::brassCornettTenor, api::InstrumentSound::brassCornettTenor }, - std::pair{ core::PlaybackSound::brassCornettino, api::InstrumentSound::brassCornettino }, - std::pair{ core::PlaybackSound::brassDidgeridoo, api::InstrumentSound::brassDidgeridoo }, - std::pair{ core::PlaybackSound::brassEuphonium, api::InstrumentSound::brassEuphonium }, - std::pair{ core::PlaybackSound::brassFiscorn, api::InstrumentSound::brassFiscorn }, - std::pair{ core::PlaybackSound::brassFlugelhorn, api::InstrumentSound::brassFlugelhorn }, - std::pair{ core::PlaybackSound::brassFrenchHorn, api::InstrumentSound::brassFrenchHorn }, - std::pair{ core::PlaybackSound::brassGroup, api::InstrumentSound::brassGroup }, - std::pair{ core::PlaybackSound::brassGroupSynth, api::InstrumentSound::brassGroupSynth }, - std::pair{ core::PlaybackSound::brassHelicon, api::InstrumentSound::brassHelicon }, - std::pair{ core::PlaybackSound::brassHoragai, api::InstrumentSound::brassHoragai }, - std::pair{ core::PlaybackSound::brassKuhlohorn, api::InstrumentSound::brassKuhlohorn }, - std::pair{ core::PlaybackSound::brassMellophone, api::InstrumentSound::brassMellophone }, - std::pair{ core::PlaybackSound::brassNaturalHorn, api::InstrumentSound::brassNaturalHorn }, - std::pair{ core::PlaybackSound::brassOphicleide, api::InstrumentSound::brassOphicleide }, - std::pair{ core::PlaybackSound::brassPosthorn, api::InstrumentSound::brassPosthorn }, - std::pair{ core::PlaybackSound::brassRagDung, api::InstrumentSound::brassRagDung }, - std::pair{ core::PlaybackSound::brassSackbutt, api::InstrumentSound::brassSackbutt }, - std::pair{ core::PlaybackSound::brassSackbuttAlto, api::InstrumentSound::brassSackbuttAlto }, - std::pair{ core::PlaybackSound::brassSackbuttBass, api::InstrumentSound::brassSackbuttBass }, - std::pair{ core::PlaybackSound::brassSackbuttTenor, api::InstrumentSound::brassSackbuttTenor }, - std::pair{ core::PlaybackSound::brassSaxhorn, api::InstrumentSound::brassSaxhorn }, - std::pair{ core::PlaybackSound::brassSerpent, api::InstrumentSound::brassSerpent }, - std::pair{ core::PlaybackSound::brassShofar, api::InstrumentSound::brassShofar }, - std::pair{ core::PlaybackSound::brassSousaphone, api::InstrumentSound::brassSousaphone }, - std::pair{ core::PlaybackSound::brassTrombone, api::InstrumentSound::brassTrombone }, - std::pair{ core::PlaybackSound::brassTromboneAlto, api::InstrumentSound::brassTromboneAlto }, - std::pair{ core::PlaybackSound::brassTromboneBass, api::InstrumentSound::brassTromboneBass }, - std::pair{ core::PlaybackSound::brassTromboneContrabass, api::InstrumentSound::brassTromboneContrabass }, - std::pair{ core::PlaybackSound::brassTromboneTenor, api::InstrumentSound::brassTromboneTenor }, - std::pair{ core::PlaybackSound::brassTrumpet, api::InstrumentSound::brassTrumpet }, - std::pair{ core::PlaybackSound::brassTrumpetBaroque, api::InstrumentSound::brassTrumpetBaroque }, - std::pair{ core::PlaybackSound::brassTrumpetBass, api::InstrumentSound::brassTrumpetBass }, - std::pair{ core::PlaybackSound::brassTrumpetBflat, api::InstrumentSound::brassTrumpetBflat }, - std::pair{ core::PlaybackSound::brassTrumpetC, api::InstrumentSound::brassTrumpetC }, - std::pair{ core::PlaybackSound::brassTrumpetD, api::InstrumentSound::brassTrumpetD }, - std::pair{ core::PlaybackSound::brassTrumpetPiccolo, api::InstrumentSound::brassTrumpetPiccolo }, - std::pair{ core::PlaybackSound::brassTrumpetPocket, api::InstrumentSound::brassTrumpetPocket }, - std::pair{ core::PlaybackSound::brassTrumpetSlide, api::InstrumentSound::brassTrumpetSlide }, - std::pair{ core::PlaybackSound::brassTrumpetTenor, api::InstrumentSound::brassTrumpetTenor }, - std::pair{ core::PlaybackSound::brassTuba, api::InstrumentSound::brassTuba }, - std::pair{ core::PlaybackSound::brassTubaBass, api::InstrumentSound::brassTubaBass }, - std::pair{ core::PlaybackSound::brassTubaSubcontrabass, api::InstrumentSound::brassTubaSubcontrabass }, - std::pair{ core::PlaybackSound::brassViennaHorn, api::InstrumentSound::brassViennaHorn }, - std::pair{ core::PlaybackSound::brassVuvuzela, api::InstrumentSound::brassVuvuzela }, - std::pair{ core::PlaybackSound::brassWagnerTuba, api::InstrumentSound::brassWagnerTuba }, - std::pair{ core::PlaybackSound::drumApentemma, api::InstrumentSound::drumApentemma }, - std::pair{ core::PlaybackSound::drumAshiko, api::InstrumentSound::drumAshiko }, - std::pair{ core::PlaybackSound::drumAtabaque, api::InstrumentSound::drumAtabaque }, - std::pair{ core::PlaybackSound::drumAtoke, api::InstrumentSound::drumAtoke }, - std::pair{ core::PlaybackSound::drumAtsimevu, api::InstrumentSound::drumAtsimevu }, - std::pair{ core::PlaybackSound::drumAxatse, api::InstrumentSound::drumAxatse }, - std::pair{ core::PlaybackSound::drumBassDrum, api::InstrumentSound::drumBassDrum }, - std::pair{ core::PlaybackSound::drumBata, api::InstrumentSound::drumBata }, - std::pair{ core::PlaybackSound::drumBataItotele, api::InstrumentSound::drumBataItotele }, - std::pair{ core::PlaybackSound::drumBataIya, api::InstrumentSound::drumBataIya }, - std::pair{ core::PlaybackSound::drumBataOkonkolo, api::InstrumentSound::drumBataOkonkolo }, - std::pair{ core::PlaybackSound::drumBendir, api::InstrumentSound::drumBendir }, - std::pair{ core::PlaybackSound::drumBodhran, api::InstrumentSound::drumBodhran }, - std::pair{ core::PlaybackSound::drumBombo, api::InstrumentSound::drumBombo }, - std::pair{ core::PlaybackSound::drumBongo, api::InstrumentSound::drumBongo }, - std::pair{ core::PlaybackSound::drumBougarabou, api::InstrumentSound::drumBougarabou }, - std::pair{ core::PlaybackSound::drumBuffaloDrum, api::InstrumentSound::drumBuffaloDrum }, - std::pair{ core::PlaybackSound::drumCajon, api::InstrumentSound::drumCajon }, - std::pair{ core::PlaybackSound::drumChenda, api::InstrumentSound::drumChenda }, - std::pair{ core::PlaybackSound::drumChuDaiko, api::InstrumentSound::drumChuDaiko }, - std::pair{ core::PlaybackSound::drumConga, api::InstrumentSound::drumConga }, - std::pair{ core::PlaybackSound::drumCuica, api::InstrumentSound::drumCuica }, - std::pair{ core::PlaybackSound::drumDabakan, api::InstrumentSound::drumDabakan }, - std::pair{ core::PlaybackSound::drumDaff, api::InstrumentSound::drumDaff }, - std::pair{ core::PlaybackSound::drumDafli, api::InstrumentSound::drumDafli }, - std::pair{ core::PlaybackSound::drumDaibyosi, api::InstrumentSound::drumDaibyosi }, - std::pair{ core::PlaybackSound::drumDamroo, api::InstrumentSound::drumDamroo }, - std::pair{ core::PlaybackSound::drumDarabuka, api::InstrumentSound::drumDarabuka }, - std::pair{ core::PlaybackSound::drumDef, api::InstrumentSound::drumDef }, - std::pair{ core::PlaybackSound::drumDhol, api::InstrumentSound::drumDhol }, - std::pair{ core::PlaybackSound::drumDholak, api::InstrumentSound::drumDholak }, - std::pair{ core::PlaybackSound::drumDjembe, api::InstrumentSound::drumDjembe }, - std::pair{ core::PlaybackSound::drumDoira, api::InstrumentSound::drumDoira }, - std::pair{ core::PlaybackSound::drumDondo, api::InstrumentSound::drumDondo }, - std::pair{ core::PlaybackSound::drumDounDounBa, api::InstrumentSound::drumDounDounBa }, - std::pair{ core::PlaybackSound::drumDuff, api::InstrumentSound::drumDuff }, - std::pair{ core::PlaybackSound::drumDumbek, api::InstrumentSound::drumDumbek }, - std::pair{ core::PlaybackSound::drumFontomfrom, api::InstrumentSound::drumFontomfrom }, - std::pair{ core::PlaybackSound::drumFrameDrum, api::InstrumentSound::drumFrameDrum }, - std::pair{ core::PlaybackSound::drumFrameDrumArabian, api::InstrumentSound::drumFrameDrumArabian }, - std::pair{ core::PlaybackSound::drumGeduk, api::InstrumentSound::drumGeduk }, - std::pair{ core::PlaybackSound::drumGhatam, api::InstrumentSound::drumGhatam }, - std::pair{ core::PlaybackSound::drumGome, api::InstrumentSound::drumGome }, - std::pair{ core::PlaybackSound::drumGroup, api::InstrumentSound::drumGroup }, - std::pair{ core::PlaybackSound::drumGroupChinese, api::InstrumentSound::drumGroupChinese }, - std::pair{ core::PlaybackSound::drumGroupEwe, api::InstrumentSound::drumGroupEwe }, - std::pair{ core::PlaybackSound::drumGroupIndian, api::InstrumentSound::drumGroupIndian }, - std::pair{ core::PlaybackSound::drumGroupSet, api::InstrumentSound::drumGroupSet }, - std::pair{ core::PlaybackSound::drumHandDrum, api::InstrumentSound::drumHandDrum }, - std::pair{ core::PlaybackSound::drumHiraDaiko, api::InstrumentSound::drumHiraDaiko }, - std::pair{ core::PlaybackSound::drumIbo, api::InstrumentSound::drumIbo }, - std::pair{ core::PlaybackSound::drumIgihumurizo, api::InstrumentSound::drumIgihumurizo }, - std::pair{ core::PlaybackSound::drumInyahura, api::InstrumentSound::drumInyahura }, - std::pair{ core::PlaybackSound::drumIshakwe, api::InstrumentSound::drumIshakwe }, - std::pair{ core::PlaybackSound::drumJangGu, api::InstrumentSound::drumJangGu }, - std::pair{ core::PlaybackSound::drumKagan, api::InstrumentSound::drumKagan }, - std::pair{ core::PlaybackSound::drumKakko, api::InstrumentSound::drumKakko }, - std::pair{ core::PlaybackSound::drumKanjira, api::InstrumentSound::drumKanjira }, - std::pair{ core::PlaybackSound::drumKendhang, api::InstrumentSound::drumKendhang }, - std::pair{ core::PlaybackSound::drumKendhangAgeng, api::InstrumentSound::drumKendhangAgeng }, - std::pair{ core::PlaybackSound::drumKendhangCiblon, api::InstrumentSound::drumKendhangCiblon }, - std::pair{ core::PlaybackSound::drumKenkeni, api::InstrumentSound::drumKenkeni }, - std::pair{ core::PlaybackSound::drumKhol, api::InstrumentSound::drumKhol }, - std::pair{ core::PlaybackSound::drumKickDrum, api::InstrumentSound::drumKickDrum }, - std::pair{ core::PlaybackSound::drumKidi, api::InstrumentSound::drumKidi }, - std::pair{ core::PlaybackSound::drumKoDaiko, api::InstrumentSound::drumKoDaiko }, - std::pair{ core::PlaybackSound::drumKpanlogo, api::InstrumentSound::drumKpanlogo }, - std::pair{ core::PlaybackSound::drumKudum, api::InstrumentSound::drumKudum }, - std::pair{ core::PlaybackSound::drumLambeg, api::InstrumentSound::drumLambeg }, - std::pair{ core::PlaybackSound::drumLionDrum, api::InstrumentSound::drumLionDrum }, - std::pair{ core::PlaybackSound::drumLogDrum, api::InstrumentSound::drumLogDrum }, - std::pair{ core::PlaybackSound::drumLogDrumAfrican, api::InstrumentSound::drumLogDrumAfrican }, - std::pair{ core::PlaybackSound::drumLogDrumNative, api::InstrumentSound::drumLogDrumNative }, - std::pair{ core::PlaybackSound::drumLogDrumNigerian, api::InstrumentSound::drumLogDrumNigerian }, - std::pair{ core::PlaybackSound::drumMadal, api::InstrumentSound::drumMadal }, - std::pair{ core::PlaybackSound::drumMaddale, api::InstrumentSound::drumMaddale }, - std::pair{ core::PlaybackSound::drumMridangam, api::InstrumentSound::drumMridangam }, - std::pair{ core::PlaybackSound::drumNaal, api::InstrumentSound::drumNaal }, - std::pair{ core::PlaybackSound::drumNagadoDaiko, api::InstrumentSound::drumNagadoDaiko }, - std::pair{ core::PlaybackSound::drumNagara, api::InstrumentSound::drumNagara }, - std::pair{ core::PlaybackSound::drumNaqara, api::InstrumentSound::drumNaqara }, - std::pair{ core::PlaybackSound::drumODaiko, api::InstrumentSound::drumODaiko }, - std::pair{ core::PlaybackSound::drumOkawa, api::InstrumentSound::drumOkawa }, - std::pair{ core::PlaybackSound::drumOkedoDaiko, api::InstrumentSound::drumOkedoDaiko }, - std::pair{ core::PlaybackSound::drumPahuHula, api::InstrumentSound::drumPahuHula }, - std::pair{ core::PlaybackSound::drumPakhawaj, api::InstrumentSound::drumPakhawaj }, - std::pair{ core::PlaybackSound::drumPandeiro, api::InstrumentSound::drumPandeiro }, - std::pair{ core::PlaybackSound::drumPandero, api::InstrumentSound::drumPandero }, - std::pair{ core::PlaybackSound::drumPowwow, api::InstrumentSound::drumPowwow }, - std::pair{ core::PlaybackSound::drumPueblo, api::InstrumentSound::drumPueblo }, - std::pair{ core::PlaybackSound::drumRepinique, api::InstrumentSound::drumRepinique }, - std::pair{ core::PlaybackSound::drumRiq, api::InstrumentSound::drumRiq }, - std::pair{ core::PlaybackSound::drumRototom, api::InstrumentSound::drumRototom }, - std::pair{ core::PlaybackSound::drumSabar, api::InstrumentSound::drumSabar }, - std::pair{ core::PlaybackSound::drumSakara, api::InstrumentSound::drumSakara }, - std::pair{ core::PlaybackSound::drumSampho, api::InstrumentSound::drumSampho }, - std::pair{ core::PlaybackSound::drumSangban, api::InstrumentSound::drumSangban }, - std::pair{ core::PlaybackSound::drumShimeDaiko, api::InstrumentSound::drumShimeDaiko }, - std::pair{ core::PlaybackSound::drumSlitDrum, api::InstrumentSound::drumSlitDrum }, - std::pair{ core::PlaybackSound::drumSlitDrumKrin, api::InstrumentSound::drumSlitDrumKrin }, - std::pair{ core::PlaybackSound::drumSnareDrum, api::InstrumentSound::drumSnareDrum }, - std::pair{ core::PlaybackSound::drumSnareDrumElectric, api::InstrumentSound::drumSnareDrumElectric }, - std::pair{ core::PlaybackSound::drumSogo, api::InstrumentSound::drumSogo }, - std::pair{ core::PlaybackSound::drumSurdo, api::InstrumentSound::drumSurdo }, - std::pair{ core::PlaybackSound::drumTabla, api::InstrumentSound::drumTabla }, - std::pair{ core::PlaybackSound::drumTablaBayan, api::InstrumentSound::drumTablaBayan }, - std::pair{ core::PlaybackSound::drumTablaDayan, api::InstrumentSound::drumTablaDayan }, - std::pair{ core::PlaybackSound::drumTaiko, api::InstrumentSound::drumTaiko }, - std::pair{ core::PlaybackSound::drumTalking, api::InstrumentSound::drumTalking }, - std::pair{ core::PlaybackSound::drumTama, api::InstrumentSound::drumTama }, - std::pair{ core::PlaybackSound::drumTamborita, api::InstrumentSound::drumTamborita }, - std::pair{ core::PlaybackSound::drumTambourine, api::InstrumentSound::drumTambourine }, - std::pair{ core::PlaybackSound::drumTamte, api::InstrumentSound::drumTamte }, - std::pair{ core::PlaybackSound::drumTangku, api::InstrumentSound::drumTangku }, - std::pair{ core::PlaybackSound::drumTanTan, api::InstrumentSound::drumTanTan }, - std::pair{ core::PlaybackSound::drumTaphon, api::InstrumentSound::drumTaphon }, - std::pair{ core::PlaybackSound::drumTar, api::InstrumentSound::drumTar }, - std::pair{ core::PlaybackSound::drumTasha, api::InstrumentSound::drumTasha }, - std::pair{ core::PlaybackSound::drumTenorDrum, api::InstrumentSound::drumTenorDrum }, - std::pair{ core::PlaybackSound::drumTeponaxtli, api::InstrumentSound::drumTeponaxtli }, - std::pair{ core::PlaybackSound::drumThavil, api::InstrumentSound::drumThavil }, - std::pair{ core::PlaybackSound::drumTheBox, api::InstrumentSound::drumTheBox }, - std::pair{ core::PlaybackSound::drumTimbale, api::InstrumentSound::drumTimbale }, - std::pair{ core::PlaybackSound::drumTimpani, api::InstrumentSound::drumTimpani }, - std::pair{ core::PlaybackSound::drumTinaja, api::InstrumentSound::drumTinaja }, - std::pair{ core::PlaybackSound::drumToere, api::InstrumentSound::drumToere }, - std::pair{ core::PlaybackSound::drumTombak, api::InstrumentSound::drumTombak }, - std::pair{ core::PlaybackSound::drumTomTom, api::InstrumentSound::drumTomTom }, - std::pair{ core::PlaybackSound::drumTomTomSynth, api::InstrumentSound::drumTomTomSynth }, - std::pair{ core::PlaybackSound::drumTsuzumi, api::InstrumentSound::drumTsuzumi }, - std::pair{ core::PlaybackSound::drumTumbak, api::InstrumentSound::drumTumbak }, - std::pair{ core::PlaybackSound::drumUchiwaDaiko, api::InstrumentSound::drumUchiwaDaiko }, - std::pair{ core::PlaybackSound::drumUdaku, api::InstrumentSound::drumUdaku }, - std::pair{ core::PlaybackSound::drumUdu, api::InstrumentSound::drumUdu }, - std::pair{ core::PlaybackSound::drumZarb, api::InstrumentSound::drumZarb }, - std::pair{ core::PlaybackSound::effectAeolianHarp, api::InstrumentSound::effectAeolianHarp }, - std::pair{ core::PlaybackSound::effectAirHorn, api::InstrumentSound::effectAirHorn }, - std::pair{ core::PlaybackSound::effectApplause, api::InstrumentSound::effectApplause }, - std::pair{ core::PlaybackSound::effectBassStringSlap, api::InstrumentSound::effectBassStringSlap }, - std::pair{ core::PlaybackSound::effectBird, api::InstrumentSound::effectBird }, - std::pair{ core::PlaybackSound::effectBirdNightingale, api::InstrumentSound::effectBirdNightingale }, - std::pair{ core::PlaybackSound::effectBirdTweet, api::InstrumentSound::effectBirdTweet }, - std::pair{ core::PlaybackSound::effectBreath, api::InstrumentSound::effectBreath }, - std::pair{ core::PlaybackSound::effectBubble, api::InstrumentSound::effectBubble }, - std::pair{ core::PlaybackSound::effectBullroarer, api::InstrumentSound::effectBullroarer }, - std::pair{ core::PlaybackSound::effectBurst, api::InstrumentSound::effectBurst }, - std::pair{ core::PlaybackSound::effectCar, api::InstrumentSound::effectCar }, - std::pair{ core::PlaybackSound::effectCarCrash, api::InstrumentSound::effectCarCrash }, - std::pair{ core::PlaybackSound::effectCarEngine, api::InstrumentSound::effectCarEngine }, - std::pair{ core::PlaybackSound::effectCarPass, api::InstrumentSound::effectCarPass }, - std::pair{ core::PlaybackSound::effectCarStop, api::InstrumentSound::effectCarStop }, - std::pair{ core::PlaybackSound::effectCrickets, api::InstrumentSound::effectCrickets }, - std::pair{ core::PlaybackSound::effectDog, api::InstrumentSound::effectDog }, - std::pair{ core::PlaybackSound::effectDoorCreak, api::InstrumentSound::effectDoorCreak }, - std::pair{ core::PlaybackSound::effectDoorSlam, api::InstrumentSound::effectDoorSlam }, - std::pair{ core::PlaybackSound::effectExplosion, api::InstrumentSound::effectExplosion }, - std::pair{ core::PlaybackSound::effectFluteKeyClick, api::InstrumentSound::effectFluteKeyClick }, - std::pair{ core::PlaybackSound::effectFootsteps, api::InstrumentSound::effectFootsteps }, - std::pair{ core::PlaybackSound::effectFrogs, api::InstrumentSound::effectFrogs }, - std::pair{ core::PlaybackSound::effectGuitarCutting, api::InstrumentSound::effectGuitarCutting }, - std::pair{ core::PlaybackSound::effectGuitarFret, api::InstrumentSound::effectGuitarFret }, - std::pair{ core::PlaybackSound::effectGunshot, api::InstrumentSound::effectGunshot }, - std::pair{ core::PlaybackSound::effectHandClap, api::InstrumentSound::effectHandClap }, - std::pair{ core::PlaybackSound::effectHeartbeat, api::InstrumentSound::effectHeartbeat }, - std::pair{ core::PlaybackSound::effectHelicopter, api::InstrumentSound::effectHelicopter }, - std::pair{ core::PlaybackSound::effectHighQ, api::InstrumentSound::effectHighQ }, - std::pair{ core::PlaybackSound::effectHorseGallop, api::InstrumentSound::effectHorseGallop }, - std::pair{ core::PlaybackSound::effectJetPlane, api::InstrumentSound::effectJetPlane }, - std::pair{ core::PlaybackSound::effectLaserGun, api::InstrumentSound::effectLaserGun }, - std::pair{ core::PlaybackSound::effectLaugh, api::InstrumentSound::effectLaugh }, - std::pair{ core::PlaybackSound::effectLionsRoar, api::InstrumentSound::effectLionsRoar }, - std::pair{ core::PlaybackSound::effectMachineGun, api::InstrumentSound::effectMachineGun }, - std::pair{ core::PlaybackSound::effectMarchingMachine, api::InstrumentSound::effectMarchingMachine }, - std::pair{ core::PlaybackSound::effectMetronomeBell, api::InstrumentSound::effectMetronomeBell }, - std::pair{ core::PlaybackSound::effectMetronomeClick, api::InstrumentSound::effectMetronomeClick }, - std::pair{ core::PlaybackSound::effectPat, api::InstrumentSound::effectPat }, - std::pair{ core::PlaybackSound::effectPunch, api::InstrumentSound::effectPunch }, - std::pair{ core::PlaybackSound::effectRain, api::InstrumentSound::effectRain }, - std::pair{ core::PlaybackSound::effectScratch, api::InstrumentSound::effectScratch }, - std::pair{ core::PlaybackSound::effectScream, api::InstrumentSound::effectScream }, - std::pair{ core::PlaybackSound::effectSeashore, api::InstrumentSound::effectSeashore }, - std::pair{ core::PlaybackSound::effectSiren, api::InstrumentSound::effectSiren }, - std::pair{ core::PlaybackSound::effectSlap, api::InstrumentSound::effectSlap }, - std::pair{ core::PlaybackSound::effectSnap, api::InstrumentSound::effectSnap }, - std::pair{ core::PlaybackSound::effectStamp, api::InstrumentSound::effectStamp }, - std::pair{ core::PlaybackSound::effectStarship, api::InstrumentSound::effectStarship }, - std::pair{ core::PlaybackSound::effectStream, api::InstrumentSound::effectStream }, - std::pair{ core::PlaybackSound::effectTelephoneRing, api::InstrumentSound::effectTelephoneRing }, - std::pair{ core::PlaybackSound::effectThunder, api::InstrumentSound::effectThunder }, - std::pair{ core::PlaybackSound::effectTrain, api::InstrumentSound::effectTrain }, - std::pair{ core::PlaybackSound::effectTrashCan, api::InstrumentSound::effectTrashCan }, - std::pair{ core::PlaybackSound::effectWhip, api::InstrumentSound::effectWhip }, - std::pair{ core::PlaybackSound::effectWhistle, api::InstrumentSound::effectWhistle }, - std::pair{ core::PlaybackSound::effectWhistleMouthSiren, api::InstrumentSound::effectWhistleMouthSiren }, - std::pair{ core::PlaybackSound::effectWhistlePolice, api::InstrumentSound::effectWhistlePolice }, - std::pair{ core::PlaybackSound::effectWhistleSlide, api::InstrumentSound::effectWhistleSlide }, - std::pair{ core::PlaybackSound::effectWhistleTrain, api::InstrumentSound::effectWhistleTrain }, - std::pair{ core::PlaybackSound::effectWind, api::InstrumentSound::effectWind }, - std::pair{ core::PlaybackSound::keyboardAccordion, api::InstrumentSound::keyboardAccordion }, - std::pair{ core::PlaybackSound::keyboardBandoneon, api::InstrumentSound::keyboardBandoneon }, - std::pair{ core::PlaybackSound::keyboardCelesta, api::InstrumentSound::keyboardCelesta }, - std::pair{ core::PlaybackSound::keyboardClavichord, api::InstrumentSound::keyboardClavichord }, - std::pair{ core::PlaybackSound::keyboardClavichordSynth, api::InstrumentSound::keyboardClavichordSynth }, - std::pair{ core::PlaybackSound::keyboardConcertina, api::InstrumentSound::keyboardConcertina }, - std::pair{ core::PlaybackSound::keyboardFortepiano, api::InstrumentSound::keyboardFortepiano }, - std::pair{ core::PlaybackSound::keyboardHarmonium, api::InstrumentSound::keyboardHarmonium }, - std::pair{ core::PlaybackSound::keyboardHarpsichord, api::InstrumentSound::keyboardHarpsichord }, - std::pair{ core::PlaybackSound::keyboardOndesMartenot, api::InstrumentSound::keyboardOndesMartenot }, - std::pair{ core::PlaybackSound::keyboardOrgan, api::InstrumentSound::keyboardOrgan }, - std::pair{ core::PlaybackSound::keyboardOrganDrawbar, api::InstrumentSound::keyboardOrganDrawbar }, - std::pair{ core::PlaybackSound::keyboardOrganPercussive, api::InstrumentSound::keyboardOrganPercussive }, - std::pair{ core::PlaybackSound::keyboardOrganPipe, api::InstrumentSound::keyboardOrganPipe }, - std::pair{ core::PlaybackSound::keyboardOrganReed, api::InstrumentSound::keyboardOrganReed }, - std::pair{ core::PlaybackSound::keyboardOrganRotary, api::InstrumentSound::keyboardOrganRotary }, - std::pair{ core::PlaybackSound::keyboardPiano, api::InstrumentSound::keyboardPiano }, - std::pair{ core::PlaybackSound::keyboardPianoElectric, api::InstrumentSound::keyboardPianoElectric }, - std::pair{ core::PlaybackSound::keyboardPianoGrand, api::InstrumentSound::keyboardPianoGrand }, - std::pair{ core::PlaybackSound::keyboardPianoHonkyTonk, api::InstrumentSound::keyboardPianoHonkyTonk }, - std::pair{ core::PlaybackSound::keyboardPianoPrepared, api::InstrumentSound::keyboardPianoPrepared }, - std::pair{ core::PlaybackSound::keyboardPianoToy, api::InstrumentSound::keyboardPianoToy }, - std::pair{ core::PlaybackSound::keyboardPianoUpright, api::InstrumentSound::keyboardPianoUpright }, - std::pair{ core::PlaybackSound::keyboardVirginal, api::InstrumentSound::keyboardVirginal }, - std::pair{ core::PlaybackSound::metalAdodo, api::InstrumentSound::metalAdodo }, - std::pair{ core::PlaybackSound::metalAnvil, api::InstrumentSound::metalAnvil }, - std::pair{ core::PlaybackSound::metalBabendil, api::InstrumentSound::metalBabendil }, - std::pair{ core::PlaybackSound::metalBellsAgogo, api::InstrumentSound::metalBellsAgogo }, - std::pair{ core::PlaybackSound::metalBellsAlmglocken, api::InstrumentSound::metalBellsAlmglocken }, - std::pair{ core::PlaybackSound::metalBellsBellPlate, api::InstrumentSound::metalBellsBellPlate }, - std::pair{ core::PlaybackSound::metalBellsBellTree, api::InstrumentSound::metalBellsBellTree }, - std::pair{ core::PlaybackSound::metalBellsCarillon, api::InstrumentSound::metalBellsCarillon }, - std::pair{ core::PlaybackSound::metalBellsChimes, api::InstrumentSound::metalBellsChimes }, - std::pair{ core::PlaybackSound::metalBellsChimta, api::InstrumentSound::metalBellsChimta }, - std::pair{ core::PlaybackSound::metalBellsChippli, api::InstrumentSound::metalBellsChippli }, - std::pair{ core::PlaybackSound::metalBellsChurch, api::InstrumentSound::metalBellsChurch }, - std::pair{ core::PlaybackSound::metalBellsCowbell, api::InstrumentSound::metalBellsCowbell }, - std::pair{ core::PlaybackSound::metalBellsDawuro, api::InstrumentSound::metalBellsDawuro }, - std::pair{ core::PlaybackSound::metalBellsGankokwe, api::InstrumentSound::metalBellsGankokwe }, - std::pair{ core::PlaybackSound::metalBellsGhungroo, api::InstrumentSound::metalBellsGhungroo }, - std::pair{ core::PlaybackSound::metalBellsHatheli, api::InstrumentSound::metalBellsHatheli }, - std::pair{ core::PlaybackSound::metalBellsJingleBell, api::InstrumentSound::metalBellsJingleBell }, - std::pair{ core::PlaybackSound::metalBellsKhartal, api::InstrumentSound::metalBellsKhartal }, - std::pair{ core::PlaybackSound::metalBellsMarkTree, api::InstrumentSound::metalBellsMarkTree }, - std::pair{ core::PlaybackSound::metalBellsSistrum, api::InstrumentSound::metalBellsSistrum }, - std::pair{ core::PlaybackSound::metalBellsSleighBells, api::InstrumentSound::metalBellsSleighBells }, - std::pair{ core::PlaybackSound::metalBellsTemple, api::InstrumentSound::metalBellsTemple }, - std::pair{ core::PlaybackSound::metalBellsTibetan, api::InstrumentSound::metalBellsTibetan }, - std::pair{ core::PlaybackSound::metalBellsTinklebell, api::InstrumentSound::metalBellsTinklebell }, - std::pair{ core::PlaybackSound::metalBellsTrychel, api::InstrumentSound::metalBellsTrychel }, - std::pair{ core::PlaybackSound::metalBellsWindChimes, api::InstrumentSound::metalBellsWindChimes }, - std::pair{ core::PlaybackSound::metalBellsZills, api::InstrumentSound::metalBellsZills }, - std::pair{ core::PlaybackSound::metalBerimbau, api::InstrumentSound::metalBerimbau }, - std::pair{ core::PlaybackSound::metalBrakeDrums, api::InstrumentSound::metalBrakeDrums }, - std::pair{ core::PlaybackSound::metalCrotales, api::InstrumentSound::metalCrotales }, - std::pair{ core::PlaybackSound::metalCymbalBo, api::InstrumentSound::metalCymbalBo }, - std::pair{ core::PlaybackSound::metalCymbalCengCeng, api::InstrumentSound::metalCymbalCengCeng }, - std::pair{ core::PlaybackSound::metalCymbalChabara, api::InstrumentSound::metalCymbalChabara }, - std::pair{ core::PlaybackSound::metalCymbalChinese, api::InstrumentSound::metalCymbalChinese }, - std::pair{ core::PlaybackSound::metalCymbalChing, api::InstrumentSound::metalCymbalChing }, - std::pair{ core::PlaybackSound::metalCymbalClash, api::InstrumentSound::metalCymbalClash }, - std::pair{ core::PlaybackSound::metalCymbalCrash, api::InstrumentSound::metalCymbalCrash }, - std::pair{ core::PlaybackSound::metalCymbalFinger, api::InstrumentSound::metalCymbalFinger }, - std::pair{ core::PlaybackSound::metalCymbalHand, api::InstrumentSound::metalCymbalHand }, - std::pair{ core::PlaybackSound::metalCymbalKesi, api::InstrumentSound::metalCymbalKesi }, - std::pair{ core::PlaybackSound::metalCymbalManjeera, api::InstrumentSound::metalCymbalManjeera }, - std::pair{ core::PlaybackSound::metalCymbalReverse, api::InstrumentSound::metalCymbalReverse }, - std::pair{ core::PlaybackSound::metalCymbalRide, api::InstrumentSound::metalCymbalRide }, - std::pair{ core::PlaybackSound::metalCymbalSizzle, api::InstrumentSound::metalCymbalSizzle }, - std::pair{ core::PlaybackSound::metalCymbalSplash, api::InstrumentSound::metalCymbalSplash }, - std::pair{ core::PlaybackSound::metalCymbalSuspended, api::InstrumentSound::metalCymbalSuspended }, - std::pair{ core::PlaybackSound::metalCymbalTebyoshi, api::InstrumentSound::metalCymbalTebyoshi }, - std::pair{ core::PlaybackSound::metalCymbalTibetan, api::InstrumentSound::metalCymbalTibetan }, - std::pair{ core::PlaybackSound::metalCymbalTingsha, api::InstrumentSound::metalCymbalTingsha }, - std::pair{ core::PlaybackSound::metalFlexatone, api::InstrumentSound::metalFlexatone }, - std::pair{ core::PlaybackSound::metalGong, api::InstrumentSound::metalGong }, - std::pair{ core::PlaybackSound::metalGongAgeng, api::InstrumentSound::metalGongAgeng }, - std::pair{ core::PlaybackSound::metalGongAgung, api::InstrumentSound::metalGongAgung }, - std::pair{ core::PlaybackSound::metalGongChanchiki, api::InstrumentSound::metalGongChanchiki }, - std::pair{ core::PlaybackSound::metalGongChinese, api::InstrumentSound::metalGongChinese }, - std::pair{ core::PlaybackSound::metalGongGandingan, api::InstrumentSound::metalGongGandingan }, - std::pair{ core::PlaybackSound::metalGongKempul, api::InstrumentSound::metalGongKempul }, - std::pair{ core::PlaybackSound::metalGongKempyang, api::InstrumentSound::metalGongKempyang }, - std::pair{ core::PlaybackSound::metalGongKetuk, api::InstrumentSound::metalGongKetuk }, - std::pair{ core::PlaybackSound::metalGongKkwenggwari, api::InstrumentSound::metalGongKkwenggwari }, - std::pair{ core::PlaybackSound::metalGongLuo, api::InstrumentSound::metalGongLuo }, - std::pair{ core::PlaybackSound::metalGongSinging, api::InstrumentSound::metalGongSinging }, - std::pair{ core::PlaybackSound::metalGongThai, api::InstrumentSound::metalGongThai }, - std::pair{ core::PlaybackSound::metalGuira, api::InstrumentSound::metalGuira }, - std::pair{ core::PlaybackSound::metalHang, api::InstrumentSound::metalHang }, - std::pair{ core::PlaybackSound::metalHiHat, api::InstrumentSound::metalHiHat }, - std::pair{ core::PlaybackSound::metalJawHarp, api::InstrumentSound::metalJawHarp }, - std::pair{ core::PlaybackSound::metalKengong, api::InstrumentSound::metalKengong }, - std::pair{ core::PlaybackSound::metalMurchang, api::InstrumentSound::metalMurchang }, - std::pair{ core::PlaybackSound::metalMusicalSaw, api::InstrumentSound::metalMusicalSaw }, - std::pair{ core::PlaybackSound::metalSingingBowl, api::InstrumentSound::metalSingingBowl }, - std::pair{ core::PlaybackSound::metalSpoons, api::InstrumentSound::metalSpoons }, - std::pair{ core::PlaybackSound::metalSteelDrums, api::InstrumentSound::metalSteelDrums }, - std::pair{ core::PlaybackSound::metalTamtam, api::InstrumentSound::metalTamtam }, - std::pair{ core::PlaybackSound::metalThundersheet, api::InstrumentSound::metalThundersheet }, - std::pair{ core::PlaybackSound::metalTriangle, api::InstrumentSound::metalTriangle }, - std::pair{ core::PlaybackSound::metalWashboard, api::InstrumentSound::metalWashboard }, - std::pair{ core::PlaybackSound::pitchedPercussionAngklung, api::InstrumentSound::pitchedPercussionAngklung }, - std::pair{ core::PlaybackSound::pitchedPercussionBalafon, api::InstrumentSound::pitchedPercussionBalafon }, - std::pair{ core::PlaybackSound::pitchedPercussionBellLyre, api::InstrumentSound::pitchedPercussionBellLyre }, - std::pair{ core::PlaybackSound::pitchedPercussionBells, api::InstrumentSound::pitchedPercussionBells }, - std::pair{ core::PlaybackSound::pitchedPercussionBianqing, api::InstrumentSound::pitchedPercussionBianqing }, - std::pair{ core::PlaybackSound::pitchedPercussionBianzhong, api::InstrumentSound::pitchedPercussionBianzhong }, - std::pair{ core::PlaybackSound::pitchedPercussionBonang, api::InstrumentSound::pitchedPercussionBonang }, - std::pair{ core::PlaybackSound::pitchedPercussionCimbalom, api::InstrumentSound::pitchedPercussionCimbalom }, - std::pair{ core::PlaybackSound::pitchedPercussionCrystalGlasses, api::InstrumentSound::pitchedPercussionCrystalGlasses }, - std::pair{ core::PlaybackSound::pitchedPercussionDanTamThapLuc, api::InstrumentSound::pitchedPercussionDanTamThapLuc }, - std::pair{ core::PlaybackSound::pitchedPercussionFangxiang, api::InstrumentSound::pitchedPercussionFangxiang }, - std::pair{ core::PlaybackSound::pitchedPercussionGandinganAKayo, api::InstrumentSound::pitchedPercussionGandinganAKayo }, - std::pair{ core::PlaybackSound::pitchedPercussionGangsa, api::InstrumentSound::pitchedPercussionGangsa }, - std::pair{ core::PlaybackSound::pitchedPercussionGender, api::InstrumentSound::pitchedPercussionGender }, - std::pair{ core::PlaybackSound::pitchedPercussionGiying, api::InstrumentSound::pitchedPercussionGiying }, - std::pair{ core::PlaybackSound::pitchedPercussionGlassHarmonica, api::InstrumentSound::pitchedPercussionGlassHarmonica }, - std::pair{ core::PlaybackSound::pitchedPercussionGlockenspiel, api::InstrumentSound::pitchedPercussionGlockenspiel }, - std::pair{ core::PlaybackSound::pitchedPercussionGlockenspielAlto, api::InstrumentSound::pitchedPercussionGlockenspielAlto }, - std::pair{ core::PlaybackSound::pitchedPercussionGlockenspielSoprano, api::InstrumentSound::pitchedPercussionGlockenspielSoprano }, - std::pair{ core::PlaybackSound::pitchedPercussionGyil, api::InstrumentSound::pitchedPercussionGyil }, - std::pair{ core::PlaybackSound::pitchedPercussionHammerDulcimer, api::InstrumentSound::pitchedPercussionHammerDulcimer }, - std::pair{ core::PlaybackSound::pitchedPercussionHandbells, api::InstrumentSound::pitchedPercussionHandbells }, - std::pair{ core::PlaybackSound::pitchedPercussionKalimba, api::InstrumentSound::pitchedPercussionKalimba }, - std::pair{ core::PlaybackSound::pitchedPercussionKantil, api::InstrumentSound::pitchedPercussionKantil }, - std::pair{ core::PlaybackSound::pitchedPercussionKhim, api::InstrumentSound::pitchedPercussionKhim }, - std::pair{ core::PlaybackSound::pitchedPercussionKulintang, api::InstrumentSound::pitchedPercussionKulintang }, - std::pair{ core::PlaybackSound::pitchedPercussionKulintangAKayo, api::InstrumentSound::pitchedPercussionKulintangAKayo }, - std::pair{ core::PlaybackSound::pitchedPercussionKulintangATiniok, api::InstrumentSound::pitchedPercussionKulintangATiniok }, - std::pair{ core::PlaybackSound::pitchedPercussionLikembe, api::InstrumentSound::pitchedPercussionLikembe }, - std::pair{ core::PlaybackSound::pitchedPercussionLuntang, api::InstrumentSound::pitchedPercussionLuntang }, - std::pair{ core::PlaybackSound::pitchedPercussionMarimba, api::InstrumentSound::pitchedPercussionMarimba }, - std::pair{ core::PlaybackSound::pitchedPercussionMarimbaBass, api::InstrumentSound::pitchedPercussionMarimbaBass }, - std::pair{ core::PlaybackSound::pitchedPercussionMbira, api::InstrumentSound::pitchedPercussionMbira }, - std::pair{ core::PlaybackSound::pitchedPercussionMbiraArray, api::InstrumentSound::pitchedPercussionMbiraArray }, - std::pair{ core::PlaybackSound::pitchedPercussionMetallophone, api::InstrumentSound::pitchedPercussionMetallophone }, - std::pair{ core::PlaybackSound::pitchedPercussionMetallophoneAlto, api::InstrumentSound::pitchedPercussionMetallophoneAlto }, - std::pair{ core::PlaybackSound::pitchedPercussionMetallophoneBass, api::InstrumentSound::pitchedPercussionMetallophoneBass }, - std::pair{ core::PlaybackSound::pitchedPercussionMetallophoneSoprano, api::InstrumentSound::pitchedPercussionMetallophoneSoprano }, - std::pair{ core::PlaybackSound::pitchedPercussionMusicBox, api::InstrumentSound::pitchedPercussionMusicBox }, - std::pair{ core::PlaybackSound::pitchedPercussionPelogPanerus, api::InstrumentSound::pitchedPercussionPelogPanerus }, - std::pair{ core::PlaybackSound::pitchedPercussionPemade, api::InstrumentSound::pitchedPercussionPemade }, - std::pair{ core::PlaybackSound::pitchedPercussionPenyacah, api::InstrumentSound::pitchedPercussionPenyacah }, - std::pair{ core::PlaybackSound::pitchedPercussionRanatEk, api::InstrumentSound::pitchedPercussionRanatEk }, - std::pair{ core::PlaybackSound::pitchedPercussionRanatEkLek, api::InstrumentSound::pitchedPercussionRanatEkLek }, - std::pair{ core::PlaybackSound::pitchedPercussionRanatThum, api::InstrumentSound::pitchedPercussionRanatThum }, - std::pair{ core::PlaybackSound::pitchedPercussionRanatThumLek, api::InstrumentSound::pitchedPercussionRanatThumLek }, - std::pair{ core::PlaybackSound::pitchedPercussionReyong, api::InstrumentSound::pitchedPercussionReyong }, - std::pair{ core::PlaybackSound::pitchedPercussionSanza, api::InstrumentSound::pitchedPercussionSanza }, - std::pair{ core::PlaybackSound::pitchedPercussionSaronBarung, api::InstrumentSound::pitchedPercussionSaronBarung }, - std::pair{ core::PlaybackSound::pitchedPercussionSaronDemong, api::InstrumentSound::pitchedPercussionSaronDemong }, - std::pair{ core::PlaybackSound::pitchedPercussionSaronPanerus, api::InstrumentSound::pitchedPercussionSaronPanerus }, - std::pair{ core::PlaybackSound::pitchedPercussionSlendroPanerus, api::InstrumentSound::pitchedPercussionSlendroPanerus }, - std::pair{ core::PlaybackSound::pitchedPercussionSlentem, api::InstrumentSound::pitchedPercussionSlentem }, - std::pair{ core::PlaybackSound::pitchedPercussionTsymbaly, api::InstrumentSound::pitchedPercussionTsymbaly }, - std::pair{ core::PlaybackSound::pitchedPercussionTubes, api::InstrumentSound::pitchedPercussionTubes }, - std::pair{ core::PlaybackSound::pitchedPercussionTubularBells, api::InstrumentSound::pitchedPercussionTubularBells }, - std::pair{ core::PlaybackSound::pitchedPercussionVibraphone, api::InstrumentSound::pitchedPercussionVibraphone }, - std::pair{ core::PlaybackSound::pitchedPercussionXylophone, api::InstrumentSound::pitchedPercussionXylophone }, - std::pair{ core::PlaybackSound::pitchedPercussionXylophoneAlto, api::InstrumentSound::pitchedPercussionXylophoneAlto }, - std::pair{ core::PlaybackSound::pitchedPercussionXylophoneBass, api::InstrumentSound::pitchedPercussionXylophoneBass }, - std::pair{ core::PlaybackSound::pitchedPercussionXylophoneSoprano, api::InstrumentSound::pitchedPercussionXylophoneSoprano }, - std::pair{ core::PlaybackSound::pitchedPercussionXylorimba, api::InstrumentSound::pitchedPercussionXylorimba }, - std::pair{ core::PlaybackSound::pitchedPercussionYangqin, api::InstrumentSound::pitchedPercussionYangqin }, - std::pair{ core::PlaybackSound::pluckArchlute, api::InstrumentSound::pluckArchlute }, - std::pair{ core::PlaybackSound::pluckAutoharp, api::InstrumentSound::pluckAutoharp }, - std::pair{ core::PlaybackSound::pluckBaglama, api::InstrumentSound::pluckBaglama }, - std::pair{ core::PlaybackSound::pluckBajo, api::InstrumentSound::pluckBajo }, - std::pair{ core::PlaybackSound::pluckBalalaika, api::InstrumentSound::pluckBalalaika }, - std::pair{ core::PlaybackSound::pluckBalalaikaAlto, api::InstrumentSound::pluckBalalaikaAlto }, - std::pair{ core::PlaybackSound::pluckBalalaikaBass, api::InstrumentSound::pluckBalalaikaBass }, - std::pair{ core::PlaybackSound::pluckBalalaikaContrabass, api::InstrumentSound::pluckBalalaikaContrabass }, - std::pair{ core::PlaybackSound::pluckBalalaikaPiccolo, api::InstrumentSound::pluckBalalaikaPiccolo }, - std::pair{ core::PlaybackSound::pluckBalalaikaPrima, api::InstrumentSound::pluckBalalaikaPrima }, - std::pair{ core::PlaybackSound::pluckBalalaikaSecunda, api::InstrumentSound::pluckBalalaikaSecunda }, - std::pair{ core::PlaybackSound::pluckBandola, api::InstrumentSound::pluckBandola }, - std::pair{ core::PlaybackSound::pluckBandura, api::InstrumentSound::pluckBandura }, - std::pair{ core::PlaybackSound::pluckBandurria, api::InstrumentSound::pluckBandurria }, - std::pair{ core::PlaybackSound::pluckBanjo, api::InstrumentSound::pluckBanjo }, - std::pair{ core::PlaybackSound::pluckBanjoTenor, api::InstrumentSound::pluckBanjoTenor }, - std::pair{ core::PlaybackSound::pluckBanjolele, api::InstrumentSound::pluckBanjolele }, - std::pair{ core::PlaybackSound::pluckBarbat, api::InstrumentSound::pluckBarbat }, - std::pair{ core::PlaybackSound::pluckBass, api::InstrumentSound::pluckBass }, - std::pair{ core::PlaybackSound::pluckBassAcoustic, api::InstrumentSound::pluckBassAcoustic }, - std::pair{ core::PlaybackSound::pluckBassBolon, api::InstrumentSound::pluckBassBolon }, - std::pair{ core::PlaybackSound::pluckBassElectric, api::InstrumentSound::pluckBassElectric }, - std::pair{ core::PlaybackSound::pluckBassFretless, api::InstrumentSound::pluckBassFretless }, - std::pair{ core::PlaybackSound::pluckBassGuitarron, api::InstrumentSound::pluckBassGuitarron }, - std::pair{ core::PlaybackSound::pluckBassSynth, api::InstrumentSound::pluckBassSynth }, - std::pair{ core::PlaybackSound::pluckBassSynthLead, api::InstrumentSound::pluckBassSynthLead }, - std::pair{ core::PlaybackSound::pluckBassWashtub, api::InstrumentSound::pluckBassWashtub }, - std::pair{ core::PlaybackSound::pluckBassWhamola, api::InstrumentSound::pluckBassWhamola }, - std::pair{ core::PlaybackSound::pluckBegena, api::InstrumentSound::pluckBegena }, - std::pair{ core::PlaybackSound::pluckBiwa, api::InstrumentSound::pluckBiwa }, - std::pair{ core::PlaybackSound::pluckBordonua, api::InstrumentSound::pluckBordonua }, - std::pair{ core::PlaybackSound::pluckBouzouki, api::InstrumentSound::pluckBouzouki }, - std::pair{ core::PlaybackSound::pluckBouzoukiIrish, api::InstrumentSound::pluckBouzoukiIrish }, - std::pair{ core::PlaybackSound::pluckCelticHarp, api::InstrumentSound::pluckCelticHarp }, - std::pair{ core::PlaybackSound::pluckCharango, api::InstrumentSound::pluckCharango }, - std::pair{ core::PlaybackSound::pluckChitarraBattente, api::InstrumentSound::pluckChitarraBattente }, - std::pair{ core::PlaybackSound::pluckCithara, api::InstrumentSound::pluckCithara }, - std::pair{ core::PlaybackSound::pluckCittern, api::InstrumentSound::pluckCittern }, - std::pair{ core::PlaybackSound::pluckCuatro, api::InstrumentSound::pluckCuatro }, - std::pair{ core::PlaybackSound::pluckDanBau, api::InstrumentSound::pluckDanBau }, - std::pair{ core::PlaybackSound::pluckDanNguyet, api::InstrumentSound::pluckDanNguyet }, - std::pair{ core::PlaybackSound::pluckDanTranh, api::InstrumentSound::pluckDanTranh }, - std::pair{ core::PlaybackSound::pluckDanTyBa, api::InstrumentSound::pluckDanTyBa }, - std::pair{ core::PlaybackSound::pluckDiddleyBow, api::InstrumentSound::pluckDiddleyBow }, - std::pair{ core::PlaybackSound::pluckDomra, api::InstrumentSound::pluckDomra }, - std::pair{ core::PlaybackSound::pluckDomu, api::InstrumentSound::pluckDomu }, - std::pair{ core::PlaybackSound::pluckDulcimer, api::InstrumentSound::pluckDulcimer }, - std::pair{ core::PlaybackSound::pluckDutar, api::InstrumentSound::pluckDutar }, - std::pair{ core::PlaybackSound::pluckDuxianqin, api::InstrumentSound::pluckDuxianqin }, - std::pair{ core::PlaybackSound::pluckEktara, api::InstrumentSound::pluckEktara }, - std::pair{ core::PlaybackSound::pluckGeomungo, api::InstrumentSound::pluckGeomungo }, - std::pair{ core::PlaybackSound::pluckGottuvadhyam, api::InstrumentSound::pluckGottuvadhyam }, - std::pair{ core::PlaybackSound::pluckGuitar, api::InstrumentSound::pluckGuitar }, - std::pair{ core::PlaybackSound::pluckGuitarAcoustic, api::InstrumentSound::pluckGuitarAcoustic }, - std::pair{ core::PlaybackSound::pluckGuitarElectric, api::InstrumentSound::pluckGuitarElectric }, - std::pair{ core::PlaybackSound::pluckGuitarNylonString, api::InstrumentSound::pluckGuitarNylonString }, - std::pair{ core::PlaybackSound::pluckGuitarPedalSteel, api::InstrumentSound::pluckGuitarPedalSteel }, - std::pair{ core::PlaybackSound::pluckGuitarPortuguese, api::InstrumentSound::pluckGuitarPortuguese }, - std::pair{ core::PlaybackSound::pluckGuitarRequinto, api::InstrumentSound::pluckGuitarRequinto }, - std::pair{ core::PlaybackSound::pluckGuitarResonator, api::InstrumentSound::pluckGuitarResonator }, - std::pair{ core::PlaybackSound::pluckGuitarSteelString, api::InstrumentSound::pluckGuitarSteelString }, - std::pair{ core::PlaybackSound::pluckGuitjo, api::InstrumentSound::pluckGuitjo }, - std::pair{ core::PlaybackSound::pluckGuitjoDoubleNeck, api::InstrumentSound::pluckGuitjoDoubleNeck }, - std::pair{ core::PlaybackSound::pluckGuqin, api::InstrumentSound::pluckGuqin }, - std::pair{ core::PlaybackSound::pluckGuzheng, api::InstrumentSound::pluckGuzheng }, - std::pair{ core::PlaybackSound::pluckGuzhengChoazhou, api::InstrumentSound::pluckGuzhengChoazhou }, - std::pair{ core::PlaybackSound::pluckHarp, api::InstrumentSound::pluckHarp }, - std::pair{ core::PlaybackSound::pluckHarpGuitar, api::InstrumentSound::pluckHarpGuitar }, - std::pair{ core::PlaybackSound::pluckHuapanguera, api::InstrumentSound::pluckHuapanguera }, - std::pair{ core::PlaybackSound::pluckJaranaHuasteca, api::InstrumentSound::pluckJaranaHuasteca }, - std::pair{ core::PlaybackSound::pluckJaranaJarocha, api::InstrumentSound::pluckJaranaJarocha }, - std::pair{ core::PlaybackSound::pluckJaranaJarochaMosquito, api::InstrumentSound::pluckJaranaJarochaMosquito }, - std::pair{ core::PlaybackSound::pluckJaranaJarochaPrimera, api::InstrumentSound::pluckJaranaJarochaPrimera }, - std::pair{ core::PlaybackSound::pluckJaranaJarochaSegunda, api::InstrumentSound::pluckJaranaJarochaSegunda }, - std::pair{ core::PlaybackSound::pluckJaranaJarochaTercera, api::InstrumentSound::pluckJaranaJarochaTercera }, - std::pair{ core::PlaybackSound::pluckKabosy, api::InstrumentSound::pluckKabosy }, - std::pair{ core::PlaybackSound::pluckKantele, api::InstrumentSound::pluckKantele }, - std::pair{ core::PlaybackSound::pluckKanun, api::InstrumentSound::pluckKanun }, - std::pair{ core::PlaybackSound::pluckKayagum, api::InstrumentSound::pluckKayagum }, - std::pair{ core::PlaybackSound::pluckKobza, api::InstrumentSound::pluckKobza }, - std::pair{ core::PlaybackSound::pluckKomuz, api::InstrumentSound::pluckKomuz }, - std::pair{ core::PlaybackSound::pluckKora, api::InstrumentSound::pluckKora }, - std::pair{ core::PlaybackSound::pluckKoto, api::InstrumentSound::pluckKoto }, - std::pair{ core::PlaybackSound::pluckKutiyapi, api::InstrumentSound::pluckKutiyapi }, - std::pair{ core::PlaybackSound::pluckLangeleik, api::InstrumentSound::pluckLangeleik }, - std::pair{ core::PlaybackSound::pluckLaud, api::InstrumentSound::pluckLaud }, - std::pair{ core::PlaybackSound::pluckLute, api::InstrumentSound::pluckLute }, - std::pair{ core::PlaybackSound::pluckLyre, api::InstrumentSound::pluckLyre }, - std::pair{ core::PlaybackSound::pluckMandobass, api::InstrumentSound::pluckMandobass }, - std::pair{ core::PlaybackSound::pluckMandocello, api::InstrumentSound::pluckMandocello }, - std::pair{ core::PlaybackSound::pluckMandola, api::InstrumentSound::pluckMandola }, - std::pair{ core::PlaybackSound::pluckMandolin, api::InstrumentSound::pluckMandolin }, - std::pair{ core::PlaybackSound::pluckMandolinOctave, api::InstrumentSound::pluckMandolinOctave }, - std::pair{ core::PlaybackSound::pluckMandora, api::InstrumentSound::pluckMandora }, - std::pair{ core::PlaybackSound::pluckMandore, api::InstrumentSound::pluckMandore }, - std::pair{ core::PlaybackSound::pluckMarovany, api::InstrumentSound::pluckMarovany }, - std::pair{ core::PlaybackSound::pluckMusicalBow, api::InstrumentSound::pluckMusicalBow }, - std::pair{ core::PlaybackSound::pluckNgoni, api::InstrumentSound::pluckNgoni }, - std::pair{ core::PlaybackSound::pluckOud, api::InstrumentSound::pluckOud }, - std::pair{ core::PlaybackSound::pluckPipa, api::InstrumentSound::pluckPipa }, - std::pair{ core::PlaybackSound::pluckPsaltery, api::InstrumentSound::pluckPsaltery }, - std::pair{ core::PlaybackSound::pluckRuan, api::InstrumentSound::pluckRuan }, - std::pair{ core::PlaybackSound::pluckSallaneh, api::InstrumentSound::pluckSallaneh }, - std::pair{ core::PlaybackSound::pluckSanshin, api::InstrumentSound::pluckSanshin }, - std::pair{ core::PlaybackSound::pluckSantoor, api::InstrumentSound::pluckSantoor }, - std::pair{ core::PlaybackSound::pluckSanxian, api::InstrumentSound::pluckSanxian }, - std::pair{ core::PlaybackSound::pluckSarod, api::InstrumentSound::pluckSarod }, - std::pair{ core::PlaybackSound::pluckSaung, api::InstrumentSound::pluckSaung }, - std::pair{ core::PlaybackSound::pluckSaz, api::InstrumentSound::pluckSaz }, - std::pair{ core::PlaybackSound::pluckSe, api::InstrumentSound::pluckSe }, - std::pair{ core::PlaybackSound::pluckSetar, api::InstrumentSound::pluckSetar }, - std::pair{ core::PlaybackSound::pluckShamisen, api::InstrumentSound::pluckShamisen }, - std::pair{ core::PlaybackSound::pluckSitar, api::InstrumentSound::pluckSitar }, - std::pair{ core::PlaybackSound::pluckSynth, api::InstrumentSound::pluckSynth }, - std::pair{ core::PlaybackSound::pluckSynthCharang, api::InstrumentSound::pluckSynthCharang }, - std::pair{ core::PlaybackSound::pluckSynthChiff, api::InstrumentSound::pluckSynthChiff }, - std::pair{ core::PlaybackSound::pluckSynthStick, api::InstrumentSound::pluckSynthStick }, - std::pair{ core::PlaybackSound::pluckTambura, api::InstrumentSound::pluckTambura }, - std::pair{ core::PlaybackSound::pluckTamburaBulgarian, api::InstrumentSound::pluckTamburaBulgarian }, - std::pair{ core::PlaybackSound::pluckTamburaFemale, api::InstrumentSound::pluckTamburaFemale }, - std::pair{ core::PlaybackSound::pluckTamburaMale, api::InstrumentSound::pluckTamburaMale }, - std::pair{ core::PlaybackSound::pluckTar, api::InstrumentSound::pluckTar }, - std::pair{ core::PlaybackSound::pluckTheorbo, api::InstrumentSound::pluckTheorbo }, - std::pair{ core::PlaybackSound::pluckTimple, api::InstrumentSound::pluckTimple }, - std::pair{ core::PlaybackSound::pluckTiple, api::InstrumentSound::pluckTiple }, - std::pair{ core::PlaybackSound::pluckTres, api::InstrumentSound::pluckTres }, - std::pair{ core::PlaybackSound::pluckUkulele, api::InstrumentSound::pluckUkulele }, - std::pair{ core::PlaybackSound::pluckUkuleleTenor, api::InstrumentSound::pluckUkuleleTenor }, - std::pair{ core::PlaybackSound::pluckValiha, api::InstrumentSound::pluckValiha }, - std::pair{ core::PlaybackSound::pluckVeena, api::InstrumentSound::pluckVeena }, - std::pair{ core::PlaybackSound::pluckVeenaMohan, api::InstrumentSound::pluckVeenaMohan }, - std::pair{ core::PlaybackSound::pluckVeenaRudra, api::InstrumentSound::pluckVeenaRudra }, - std::pair{ core::PlaybackSound::pluckVeenaVichitra, api::InstrumentSound::pluckVeenaVichitra }, - std::pair{ core::PlaybackSound::pluckVihuela, api::InstrumentSound::pluckVihuela }, - std::pair{ core::PlaybackSound::pluckVihuelaMexican, api::InstrumentSound::pluckVihuelaMexican }, - std::pair{ core::PlaybackSound::pluckXalam, api::InstrumentSound::pluckXalam }, - std::pair{ core::PlaybackSound::pluckYueqin, api::InstrumentSound::pluckYueqin }, - std::pair{ core::PlaybackSound::pluckZither, api::InstrumentSound::pluckZither }, - std::pair{ core::PlaybackSound::pluckZitherOvertone, api::InstrumentSound::pluckZitherOvertone }, - std::pair{ core::PlaybackSound::rattleAfoxe, api::InstrumentSound::rattleAfoxe }, - std::pair{ core::PlaybackSound::rattleBirds, api::InstrumentSound::rattleBirds }, - std::pair{ core::PlaybackSound::rattleCabasa, api::InstrumentSound::rattleCabasa }, - std::pair{ core::PlaybackSound::rattleCaxixi, api::InstrumentSound::rattleCaxixi }, - std::pair{ core::PlaybackSound::rattleCog, api::InstrumentSound::rattleCog }, - std::pair{ core::PlaybackSound::rattleGanza, api::InstrumentSound::rattleGanza }, - std::pair{ core::PlaybackSound::rattleHosho, api::InstrumentSound::rattleHosho }, - std::pair{ core::PlaybackSound::rattleJawbone, api::InstrumentSound::rattleJawbone }, - std::pair{ core::PlaybackSound::rattleKayamba, api::InstrumentSound::rattleKayamba }, - std::pair{ core::PlaybackSound::rattleKpokoKpoko, api::InstrumentSound::rattleKpokoKpoko }, - std::pair{ core::PlaybackSound::rattleLavaStones, api::InstrumentSound::rattleLavaStones }, - std::pair{ core::PlaybackSound::rattleMaraca, api::InstrumentSound::rattleMaraca }, - std::pair{ core::PlaybackSound::rattleRainStick, api::InstrumentSound::rattleRainStick }, - std::pair{ core::PlaybackSound::rattleRatchet, api::InstrumentSound::rattleRatchet }, - std::pair{ core::PlaybackSound::rattleRattle, api::InstrumentSound::rattleRattle }, - std::pair{ core::PlaybackSound::rattleShaker, api::InstrumentSound::rattleShaker }, - std::pair{ core::PlaybackSound::rattleShakerEgg, api::InstrumentSound::rattleShakerEgg }, - std::pair{ core::PlaybackSound::rattleShekere, api::InstrumentSound::rattleShekere }, - std::pair{ core::PlaybackSound::rattleSistre, api::InstrumentSound::rattleSistre }, - std::pair{ core::PlaybackSound::rattleTelevi, api::InstrumentSound::rattleTelevi }, - std::pair{ core::PlaybackSound::rattleVibraslap, api::InstrumentSound::rattleVibraslap }, - std::pair{ core::PlaybackSound::rattleWasembe, api::InstrumentSound::rattleWasembe }, - std::pair{ core::PlaybackSound::stringsAjaeng, api::InstrumentSound::stringsAjaeng }, - std::pair{ core::PlaybackSound::stringsArpeggione, api::InstrumentSound::stringsArpeggione }, - std::pair{ core::PlaybackSound::stringsBaryton, api::InstrumentSound::stringsBaryton }, - std::pair{ core::PlaybackSound::stringsCello, api::InstrumentSound::stringsCello }, - std::pair{ core::PlaybackSound::stringsCelloPiccolo, api::InstrumentSound::stringsCelloPiccolo }, - std::pair{ core::PlaybackSound::stringsContrabass, api::InstrumentSound::stringsContrabass }, - std::pair{ core::PlaybackSound::stringsCrwth, api::InstrumentSound::stringsCrwth }, - std::pair{ core::PlaybackSound::stringsDanGao, api::InstrumentSound::stringsDanGao }, - std::pair{ core::PlaybackSound::stringsDihu, api::InstrumentSound::stringsDihu }, - std::pair{ core::PlaybackSound::stringsErhu, api::InstrumentSound::stringsErhu }, - std::pair{ core::PlaybackSound::stringsErxian, api::InstrumentSound::stringsErxian }, - std::pair{ core::PlaybackSound::stringsEsraj, api::InstrumentSound::stringsEsraj }, - std::pair{ core::PlaybackSound::stringsFiddle, api::InstrumentSound::stringsFiddle }, - std::pair{ core::PlaybackSound::stringsFiddleHardanger, api::InstrumentSound::stringsFiddleHardanger }, - std::pair{ core::PlaybackSound::stringsGadulka, api::InstrumentSound::stringsGadulka }, - std::pair{ core::PlaybackSound::stringsGaohu, api::InstrumentSound::stringsGaohu }, - std::pair{ core::PlaybackSound::stringsGehu, api::InstrumentSound::stringsGehu }, - std::pair{ core::PlaybackSound::stringsGroup, api::InstrumentSound::stringsGroup }, - std::pair{ core::PlaybackSound::stringsGroupSynth, api::InstrumentSound::stringsGroupSynth }, - std::pair{ core::PlaybackSound::stringsHaegeum, api::InstrumentSound::stringsHaegeum }, - std::pair{ core::PlaybackSound::stringsHurdyGurdy, api::InstrumentSound::stringsHurdyGurdy }, - std::pair{ core::PlaybackSound::stringsIgil, api::InstrumentSound::stringsIgil }, - std::pair{ core::PlaybackSound::stringsKamancha, api::InstrumentSound::stringsKamancha }, - std::pair{ core::PlaybackSound::stringsKokyu, api::InstrumentSound::stringsKokyu }, - std::pair{ core::PlaybackSound::stringsLaruan, api::InstrumentSound::stringsLaruan }, - std::pair{ core::PlaybackSound::stringsLeiqin, api::InstrumentSound::stringsLeiqin }, - std::pair{ core::PlaybackSound::stringsLirone, api::InstrumentSound::stringsLirone }, - std::pair{ core::PlaybackSound::stringsLyraByzantine, api::InstrumentSound::stringsLyraByzantine }, - std::pair{ core::PlaybackSound::stringsLyraCretan, api::InstrumentSound::stringsLyraCretan }, - std::pair{ core::PlaybackSound::stringsMorinKhuur, api::InstrumentSound::stringsMorinKhuur }, - std::pair{ core::PlaybackSound::stringsNyckelharpa, api::InstrumentSound::stringsNyckelharpa }, - std::pair{ core::PlaybackSound::stringsOctobass, api::InstrumentSound::stringsOctobass }, - std::pair{ core::PlaybackSound::stringsRebab, api::InstrumentSound::stringsRebab }, - std::pair{ core::PlaybackSound::stringsRebec, api::InstrumentSound::stringsRebec }, - std::pair{ core::PlaybackSound::stringsSarangi, api::InstrumentSound::stringsSarangi }, - std::pair{ core::PlaybackSound::stringsStrohViolin, api::InstrumentSound::stringsStrohViolin }, - std::pair{ core::PlaybackSound::stringsTrombaMarina, api::InstrumentSound::stringsTrombaMarina }, - std::pair{ core::PlaybackSound::stringsVielle, api::InstrumentSound::stringsVielle }, - std::pair{ core::PlaybackSound::stringsViol, api::InstrumentSound::stringsViol }, - std::pair{ core::PlaybackSound::stringsViolAlto, api::InstrumentSound::stringsViolAlto }, - std::pair{ core::PlaybackSound::stringsViolBass, api::InstrumentSound::stringsViolBass }, - std::pair{ core::PlaybackSound::stringsViolTenor, api::InstrumentSound::stringsViolTenor }, - std::pair{ core::PlaybackSound::stringsViolTreble, api::InstrumentSound::stringsViolTreble }, - std::pair{ core::PlaybackSound::stringsViolViolone, api::InstrumentSound::stringsViolViolone }, - std::pair{ core::PlaybackSound::stringsViola, api::InstrumentSound::stringsViola }, - std::pair{ core::PlaybackSound::stringsViolaDamore, api::InstrumentSound::stringsViolaDamore }, - std::pair{ core::PlaybackSound::stringsViolin, api::InstrumentSound::stringsViolin }, - std::pair{ core::PlaybackSound::stringsViolonoPiccolo, api::InstrumentSound::stringsViolonoPiccolo }, - std::pair{ core::PlaybackSound::stringsViolotta, api::InstrumentSound::stringsViolotta }, - std::pair{ core::PlaybackSound::stringsYayliTanbur, api::InstrumentSound::stringsYayliTanbur }, - std::pair{ core::PlaybackSound::stringsYazheng, api::InstrumentSound::stringsYazheng }, - std::pair{ core::PlaybackSound::stringsZhonghu, api::InstrumentSound::stringsZhonghu }, - std::pair{ core::PlaybackSound::synthEffects, api::InstrumentSound::synthEffects }, - std::pair{ core::PlaybackSound::synthEffectsAtmosphere, api::InstrumentSound::synthEffectsAtmosphere }, - std::pair{ core::PlaybackSound::synthEffectsBrightness, api::InstrumentSound::synthEffectsBrightness }, - std::pair{ core::PlaybackSound::synthEffectsCrystal, api::InstrumentSound::synthEffectsCrystal }, - std::pair{ core::PlaybackSound::synthEffectsEchoes, api::InstrumentSound::synthEffectsEchoes }, - std::pair{ core::PlaybackSound::synthEffectsGoblins, api::InstrumentSound::synthEffectsGoblins }, - std::pair{ core::PlaybackSound::synthEffectsRain, api::InstrumentSound::synthEffectsRain }, - std::pair{ core::PlaybackSound::synthEffectsSciFi, api::InstrumentSound::synthEffectsSciFi }, - std::pair{ core::PlaybackSound::synthEffectsSoundtrack, api::InstrumentSound::synthEffectsSoundtrack }, - std::pair{ core::PlaybackSound::synthGroup, api::InstrumentSound::synthGroup }, - std::pair{ core::PlaybackSound::synthGroupFifths, api::InstrumentSound::synthGroupFifths }, - std::pair{ core::PlaybackSound::synthGroupOrchestra, api::InstrumentSound::synthGroupOrchestra }, - std::pair{ core::PlaybackSound::synthPad, api::InstrumentSound::synthPad }, - std::pair{ core::PlaybackSound::synthPadBowed, api::InstrumentSound::synthPadBowed }, - std::pair{ core::PlaybackSound::synthPadChoir, api::InstrumentSound::synthPadChoir }, - std::pair{ core::PlaybackSound::synthPadHalo, api::InstrumentSound::synthPadHalo }, - std::pair{ core::PlaybackSound::synthPadMetallic, api::InstrumentSound::synthPadMetallic }, - std::pair{ core::PlaybackSound::synthPadPolysynth, api::InstrumentSound::synthPadPolysynth }, - std::pair{ core::PlaybackSound::synthPadSweep, api::InstrumentSound::synthPadSweep }, - std::pair{ core::PlaybackSound::synthPadWarm, api::InstrumentSound::synthPadWarm }, - std::pair{ core::PlaybackSound::synthTheremin, api::InstrumentSound::synthTheremin }, - std::pair{ core::PlaybackSound::synthToneSawtooth, api::InstrumentSound::synthToneSawtooth }, - std::pair{ core::PlaybackSound::synthToneSine, api::InstrumentSound::synthToneSine }, - std::pair{ core::PlaybackSound::synthToneSquare, api::InstrumentSound::synthToneSquare }, - std::pair{ core::PlaybackSound::voiceAa, api::InstrumentSound::voiceAa }, - std::pair{ core::PlaybackSound::voiceAlto, api::InstrumentSound::voiceAlto }, - std::pair{ core::PlaybackSound::voiceAw, api::InstrumentSound::voiceAw }, - std::pair{ core::PlaybackSound::voiceBaritone, api::InstrumentSound::voiceBaritone }, - std::pair{ core::PlaybackSound::voiceBass, api::InstrumentSound::voiceBass }, - std::pair{ core::PlaybackSound::voiceChild, api::InstrumentSound::voiceChild }, - std::pair{ core::PlaybackSound::voiceCountertenor, api::InstrumentSound::voiceCountertenor }, - std::pair{ core::PlaybackSound::voiceDoo, api::InstrumentSound::voiceDoo }, - std::pair{ core::PlaybackSound::voiceEe, api::InstrumentSound::voiceEe }, - std::pair{ core::PlaybackSound::voiceFemale, api::InstrumentSound::voiceFemale }, - std::pair{ core::PlaybackSound::voiceKazoo, api::InstrumentSound::voiceKazoo }, - std::pair{ core::PlaybackSound::voiceMale, api::InstrumentSound::voiceMale }, - std::pair{ core::PlaybackSound::voiceMezzoSoprano, api::InstrumentSound::voiceMezzoSoprano }, - std::pair{ core::PlaybackSound::voiceMm, api::InstrumentSound::voiceMm }, - std::pair{ core::PlaybackSound::voiceOo, api::InstrumentSound::voiceOo }, - std::pair{ core::PlaybackSound::voicePercussion, api::InstrumentSound::voicePercussion }, - std::pair{ core::PlaybackSound::voicePercussionBeatbox, api::InstrumentSound::voicePercussionBeatbox }, - std::pair{ core::PlaybackSound::voiceSoprano, api::InstrumentSound::voiceSoprano }, - std::pair{ core::PlaybackSound::voiceSynth, api::InstrumentSound::voiceSynth }, - std::pair{ core::PlaybackSound::voiceTalkBox, api::InstrumentSound::voiceTalkBox }, - std::pair{ core::PlaybackSound::voiceTenor, api::InstrumentSound::voiceTenor }, - std::pair{ core::PlaybackSound::voiceVocals, api::InstrumentSound::voiceVocals }, - std::pair{ core::PlaybackSound::windFlutesBansuri, api::InstrumentSound::windFlutesBansuri }, - std::pair{ core::PlaybackSound::windFlutesBlownBottle, api::InstrumentSound::windFlutesBlownBottle }, - std::pair{ core::PlaybackSound::windFlutesCalliope, api::InstrumentSound::windFlutesCalliope }, - std::pair{ core::PlaybackSound::windFlutesDanso, api::InstrumentSound::windFlutesDanso }, - std::pair{ core::PlaybackSound::windFlutesDiZi, api::InstrumentSound::windFlutesDiZi }, - std::pair{ core::PlaybackSound::windFlutesDvojnice, api::InstrumentSound::windFlutesDvojnice }, - std::pair{ core::PlaybackSound::windFlutesFife, api::InstrumentSound::windFlutesFife }, - std::pair{ core::PlaybackSound::windFlutesFlageolet, api::InstrumentSound::windFlutesFlageolet }, - std::pair{ core::PlaybackSound::windFlutesFlute, api::InstrumentSound::windFlutesFlute }, - std::pair{ core::PlaybackSound::windFlutesFluteAlto, api::InstrumentSound::windFlutesFluteAlto }, - std::pair{ core::PlaybackSound::windFlutesFluteBass, api::InstrumentSound::windFlutesFluteBass }, - std::pair{ core::PlaybackSound::windFlutesFluteContraAlto, api::InstrumentSound::windFlutesFluteContraAlto }, - std::pair{ core::PlaybackSound::windFlutesFluteContrabass, api::InstrumentSound::windFlutesFluteContrabass }, - std::pair{ core::PlaybackSound::windFlutesFluteDoubleContrabass, api::InstrumentSound::windFlutesFluteDoubleContrabass }, - std::pair{ core::PlaybackSound::windFlutesFluteIrish, api::InstrumentSound::windFlutesFluteIrish }, - std::pair{ core::PlaybackSound::windFlutesFlutePiccolo, api::InstrumentSound::windFlutesFlutePiccolo }, - std::pair{ core::PlaybackSound::windFlutesFluteSubcontrabass, api::InstrumentSound::windFlutesFluteSubcontrabass }, - std::pair{ core::PlaybackSound::windFlutesFujara, api::InstrumentSound::windFlutesFujara }, - std::pair{ core::PlaybackSound::windFlutesGemshorn, api::InstrumentSound::windFlutesGemshorn }, - std::pair{ core::PlaybackSound::windFlutesHocchiku, api::InstrumentSound::windFlutesHocchiku }, - std::pair{ core::PlaybackSound::windFlutesHun, api::InstrumentSound::windFlutesHun }, - std::pair{ core::PlaybackSound::windFlutesKaval, api::InstrumentSound::windFlutesKaval }, - std::pair{ core::PlaybackSound::windFlutesKawala, api::InstrumentSound::windFlutesKawala }, - std::pair{ core::PlaybackSound::windFlutesKhlui, api::InstrumentSound::windFlutesKhlui }, - std::pair{ core::PlaybackSound::windFlutesKnotweed, api::InstrumentSound::windFlutesKnotweed }, - std::pair{ core::PlaybackSound::windFlutesKoncovkaAlto, api::InstrumentSound::windFlutesKoncovkaAlto }, - std::pair{ core::PlaybackSound::windFlutesKoudi, api::InstrumentSound::windFlutesKoudi }, - std::pair{ core::PlaybackSound::windFlutesNey, api::InstrumentSound::windFlutesNey }, - std::pair{ core::PlaybackSound::windFlutesNohkan, api::InstrumentSound::windFlutesNohkan }, - std::pair{ core::PlaybackSound::windFlutesNose, api::InstrumentSound::windFlutesNose }, - std::pair{ core::PlaybackSound::windFlutesOcarina, api::InstrumentSound::windFlutesOcarina }, - std::pair{ core::PlaybackSound::windFlutesOvertoneTenor, api::InstrumentSound::windFlutesOvertoneTenor }, - std::pair{ core::PlaybackSound::windFlutesPalendag, api::InstrumentSound::windFlutesPalendag }, - std::pair{ core::PlaybackSound::windFlutesPanpipes, api::InstrumentSound::windFlutesPanpipes }, - std::pair{ core::PlaybackSound::windFlutesQuena, api::InstrumentSound::windFlutesQuena }, - std::pair{ core::PlaybackSound::windFlutesRecorder, api::InstrumentSound::windFlutesRecorder }, - std::pair{ core::PlaybackSound::windFlutesRecorderAlto, api::InstrumentSound::windFlutesRecorderAlto }, - std::pair{ core::PlaybackSound::windFlutesRecorderBass, api::InstrumentSound::windFlutesRecorderBass }, - std::pair{ core::PlaybackSound::windFlutesRecorderContrabass, api::InstrumentSound::windFlutesRecorderContrabass }, - std::pair{ core::PlaybackSound::windFlutesRecorderDescant, api::InstrumentSound::windFlutesRecorderDescant }, - std::pair{ core::PlaybackSound::windFlutesRecorderGarklein, api::InstrumentSound::windFlutesRecorderGarklein }, - std::pair{ core::PlaybackSound::windFlutesRecorderGreatBass, api::InstrumentSound::windFlutesRecorderGreatBass }, - std::pair{ core::PlaybackSound::windFlutesRecorderSopranino, api::InstrumentSound::windFlutesRecorderSopranino }, - std::pair{ core::PlaybackSound::windFlutesRecorderSoprano, api::InstrumentSound::windFlutesRecorderSoprano }, - std::pair{ core::PlaybackSound::windFlutesRecorderTenor, api::InstrumentSound::windFlutesRecorderTenor }, - std::pair{ core::PlaybackSound::windFlutesRyuteki, api::InstrumentSound::windFlutesRyuteki }, - std::pair{ core::PlaybackSound::windFlutesShakuhachi, api::InstrumentSound::windFlutesShakuhachi }, - std::pair{ core::PlaybackSound::windFlutesShepherdsPipe, api::InstrumentSound::windFlutesShepherdsPipe }, - std::pair{ core::PlaybackSound::windFlutesShinobue, api::InstrumentSound::windFlutesShinobue }, - std::pair{ core::PlaybackSound::windFlutesShvi, api::InstrumentSound::windFlutesShvi }, - std::pair{ core::PlaybackSound::windFlutesSuling, api::InstrumentSound::windFlutesSuling }, - std::pair{ core::PlaybackSound::windFlutesTarka, api::InstrumentSound::windFlutesTarka }, - std::pair{ core::PlaybackSound::windFlutesTumpong, api::InstrumentSound::windFlutesTumpong }, - std::pair{ core::PlaybackSound::windFlutesVenu, api::InstrumentSound::windFlutesVenu }, - std::pair{ core::PlaybackSound::windFlutesWhistle, api::InstrumentSound::windFlutesWhistle }, - std::pair{ core::PlaybackSound::windFlutesWhistleAlto, api::InstrumentSound::windFlutesWhistleAlto }, - std::pair{ core::PlaybackSound::windFlutesWhistleLowIrish, api::InstrumentSound::windFlutesWhistleLowIrish }, - std::pair{ core::PlaybackSound::windFlutesWhistleShiva, api::InstrumentSound::windFlutesWhistleShiva }, - std::pair{ core::PlaybackSound::windFlutesWhistleSlide, api::InstrumentSound::windFlutesWhistleSlide }, - std::pair{ core::PlaybackSound::windFlutesWhistleTin, api::InstrumentSound::windFlutesWhistleTin }, - std::pair{ core::PlaybackSound::windFlutesWhistleTinBflat, api::InstrumentSound::windFlutesWhistleTinBflat }, - std::pair{ core::PlaybackSound::windFlutesWhistleTinD, api::InstrumentSound::windFlutesWhistleTinD }, - std::pair{ core::PlaybackSound::windFlutesXiao, api::InstrumentSound::windFlutesXiao }, - std::pair{ core::PlaybackSound::windFlutesXun, api::InstrumentSound::windFlutesXun }, - std::pair{ core::PlaybackSound::windGroup, api::InstrumentSound::windGroup }, - std::pair{ core::PlaybackSound::windJug, api::InstrumentSound::windJug }, - std::pair{ core::PlaybackSound::windPipesBagpipes, api::InstrumentSound::windPipesBagpipes }, - std::pair{ core::PlaybackSound::windPipesGaida, api::InstrumentSound::windPipesGaida }, - std::pair{ core::PlaybackSound::windPipesHighland, api::InstrumentSound::windPipesHighland }, - std::pair{ core::PlaybackSound::windPipesUilleann, api::InstrumentSound::windPipesUilleann }, - std::pair{ core::PlaybackSound::windPungi, api::InstrumentSound::windPungi }, - std::pair{ core::PlaybackSound::windReedAlbogue, api::InstrumentSound::windReedAlbogue }, - std::pair{ core::PlaybackSound::windReedAlboka, api::InstrumentSound::windReedAlboka }, - std::pair{ core::PlaybackSound::windReedAlgaita, api::InstrumentSound::windReedAlgaita }, - std::pair{ core::PlaybackSound::windReedArghul, api::InstrumentSound::windReedArghul }, - std::pair{ core::PlaybackSound::windReedBassetHorn, api::InstrumentSound::windReedBassetHorn }, - std::pair{ core::PlaybackSound::windReedBassoon, api::InstrumentSound::windReedBassoon }, - std::pair{ core::PlaybackSound::windReedBawu, api::InstrumentSound::windReedBawu }, - std::pair{ core::PlaybackSound::windReedBifora, api::InstrumentSound::windReedBifora }, - std::pair{ core::PlaybackSound::windReedBombarde, api::InstrumentSound::windReedBombarde }, - std::pair{ core::PlaybackSound::windReedChalumeau, api::InstrumentSound::windReedChalumeau }, - std::pair{ core::PlaybackSound::windReedClarinet, api::InstrumentSound::windReedClarinet }, - std::pair{ core::PlaybackSound::windReedClarinetA, api::InstrumentSound::windReedClarinetA }, - std::pair{ core::PlaybackSound::windReedClarinetAlto, api::InstrumentSound::windReedClarinetAlto }, - std::pair{ core::PlaybackSound::windReedClarinetBass, api::InstrumentSound::windReedClarinetBass }, - std::pair{ core::PlaybackSound::windReedClarinetBasset, api::InstrumentSound::windReedClarinetBasset }, - std::pair{ core::PlaybackSound::windReedClarinetBflat, api::InstrumentSound::windReedClarinetBflat }, - std::pair{ core::PlaybackSound::windReedClarinetContraAlto, api::InstrumentSound::windReedClarinetContraAlto }, - std::pair{ core::PlaybackSound::windReedClarinetContrabass, api::InstrumentSound::windReedClarinetContrabass }, - std::pair{ core::PlaybackSound::windReedClarinetEflat, api::InstrumentSound::windReedClarinetEflat }, - std::pair{ core::PlaybackSound::windReedClarinetPiccoloAflat, api::InstrumentSound::windReedClarinetPiccoloAflat }, - std::pair{ core::PlaybackSound::windReedClarinetteDamour, api::InstrumentSound::windReedClarinetteDamour }, - std::pair{ core::PlaybackSound::windReedContrabass, api::InstrumentSound::windReedContrabass }, - std::pair{ core::PlaybackSound::windReedContrabassoon, api::InstrumentSound::windReedContrabassoon }, - std::pair{ core::PlaybackSound::windReedCornamuse, api::InstrumentSound::windReedCornamuse }, - std::pair{ core::PlaybackSound::windReedCromorne, api::InstrumentSound::windReedCromorne }, - std::pair{ core::PlaybackSound::windReedCrumhorn, api::InstrumentSound::windReedCrumhorn }, - std::pair{ core::PlaybackSound::windReedCrumhornAlto, api::InstrumentSound::windReedCrumhornAlto }, - std::pair{ core::PlaybackSound::windReedCrumhornBass, api::InstrumentSound::windReedCrumhornBass }, - std::pair{ core::PlaybackSound::windReedCrumhornGreatBass, api::InstrumentSound::windReedCrumhornGreatBass }, - std::pair{ core::PlaybackSound::windReedCrumhornSoprano, api::InstrumentSound::windReedCrumhornSoprano }, - std::pair{ core::PlaybackSound::windReedCrumhornTenor, api::InstrumentSound::windReedCrumhornTenor }, - std::pair{ core::PlaybackSound::windReedDiple, api::InstrumentSound::windReedDiple }, - std::pair{ core::PlaybackSound::windReedDiplica, api::InstrumentSound::windReedDiplica }, - std::pair{ core::PlaybackSound::windReedDuduk, api::InstrumentSound::windReedDuduk }, - std::pair{ core::PlaybackSound::windReedDulcian, api::InstrumentSound::windReedDulcian }, - std::pair{ core::PlaybackSound::windReedDulzaina, api::InstrumentSound::windReedDulzaina }, - std::pair{ core::PlaybackSound::windReedEnglishHorn, api::InstrumentSound::windReedEnglishHorn }, - std::pair{ core::PlaybackSound::windReedGuanzi, api::InstrumentSound::windReedGuanzi }, - std::pair{ core::PlaybackSound::windReedHarmonica, api::InstrumentSound::windReedHarmonica }, - std::pair{ core::PlaybackSound::windReedHarmonicaBass, api::InstrumentSound::windReedHarmonicaBass }, - std::pair{ core::PlaybackSound::windReedHeckelClarina, api::InstrumentSound::windReedHeckelClarina }, - std::pair{ core::PlaybackSound::windReedHeckelphone, api::InstrumentSound::windReedHeckelphone }, - std::pair{ core::PlaybackSound::windReedHeckelphonePiccolo, api::InstrumentSound::windReedHeckelphonePiccolo }, - std::pair{ core::PlaybackSound::windReedHeckelphoneClarinet, api::InstrumentSound::windReedHeckelphoneClarinet }, - std::pair{ core::PlaybackSound::windReedHichiriki, api::InstrumentSound::windReedHichiriki }, - std::pair{ core::PlaybackSound::windReedHirtenschalmei, api::InstrumentSound::windReedHirtenschalmei }, - std::pair{ core::PlaybackSound::windReedHne, api::InstrumentSound::windReedHne }, - std::pair{ core::PlaybackSound::windReedHornpipe, api::InstrumentSound::windReedHornpipe }, - std::pair{ core::PlaybackSound::windReedHouguan, api::InstrumentSound::windReedHouguan }, - std::pair{ core::PlaybackSound::windReedHulusi, api::InstrumentSound::windReedHulusi }, - std::pair{ core::PlaybackSound::windReedJogiBaja, api::InstrumentSound::windReedJogiBaja }, - std::pair{ core::PlaybackSound::windReedKenBau, api::InstrumentSound::windReedKenBau }, - std::pair{ core::PlaybackSound::windReedKhaenMouthOrgan, api::InstrumentSound::windReedKhaenMouthOrgan }, - std::pair{ core::PlaybackSound::windReedLauneddas, api::InstrumentSound::windReedLauneddas }, - std::pair{ core::PlaybackSound::windReedMaqrunah, api::InstrumentSound::windReedMaqrunah }, - std::pair{ core::PlaybackSound::windReedMelodica, api::InstrumentSound::windReedMelodica }, - std::pair{ core::PlaybackSound::windReedMijwiz, api::InstrumentSound::windReedMijwiz }, - std::pair{ core::PlaybackSound::windReedMizmar, api::InstrumentSound::windReedMizmar }, - std::pair{ core::PlaybackSound::windReedNadaswaram, api::InstrumentSound::windReedNadaswaram }, - std::pair{ core::PlaybackSound::windReedOboe, api::InstrumentSound::windReedOboe }, - std::pair{ core::PlaybackSound::windReedOboeBass, api::InstrumentSound::windReedOboeBass }, - std::pair{ core::PlaybackSound::windReedOboePiccolo, api::InstrumentSound::windReedOboePiccolo }, - std::pair{ core::PlaybackSound::windReedOboeDaCaccia, api::InstrumentSound::windReedOboeDaCaccia }, - std::pair{ core::PlaybackSound::windReedOboeDamore, api::InstrumentSound::windReedOboeDamore }, - std::pair{ core::PlaybackSound::windReedOctavin, api::InstrumentSound::windReedOctavin }, - std::pair{ core::PlaybackSound::windReedPi, api::InstrumentSound::windReedPi }, - std::pair{ core::PlaybackSound::windReedPibgorn, api::InstrumentSound::windReedPibgorn }, - std::pair{ core::PlaybackSound::windReedPiri, api::InstrumentSound::windReedPiri }, - std::pair{ core::PlaybackSound::windReedRackett, api::InstrumentSound::windReedRackett }, - std::pair{ core::PlaybackSound::windReedRauschpfeife, api::InstrumentSound::windReedRauschpfeife }, - std::pair{ core::PlaybackSound::windReedRhaita, api::InstrumentSound::windReedRhaita }, - std::pair{ core::PlaybackSound::windReedRothphone, api::InstrumentSound::windReedRothphone }, - std::pair{ core::PlaybackSound::windReedSarrusaphone, api::InstrumentSound::windReedSarrusaphone }, - std::pair{ core::PlaybackSound::windReedSaxonette, api::InstrumentSound::windReedSaxonette }, - std::pair{ core::PlaybackSound::windReedSaxophone, api::InstrumentSound::windReedSaxophone }, - std::pair{ core::PlaybackSound::windReedSaxophoneAlto, api::InstrumentSound::windReedSaxophoneAlto }, - std::pair{ core::PlaybackSound::windReedSaxophoneAulochrome, api::InstrumentSound::windReedSaxophoneAulochrome }, - std::pair{ core::PlaybackSound::windReedSaxophoneBaritone, api::InstrumentSound::windReedSaxophoneBaritone }, - std::pair{ core::PlaybackSound::windReedSaxophoneBass, api::InstrumentSound::windReedSaxophoneBass }, - std::pair{ core::PlaybackSound::windReedSaxophoneContrabass, api::InstrumentSound::windReedSaxophoneContrabass }, - std::pair{ core::PlaybackSound::windReedSaxophoneMelody, api::InstrumentSound::windReedSaxophoneMelody }, - std::pair{ core::PlaybackSound::windReedSaxophoneMezzoSoprano, api::InstrumentSound::windReedSaxophoneMezzoSoprano }, - std::pair{ core::PlaybackSound::windReedSaxophoneSopranino, api::InstrumentSound::windReedSaxophoneSopranino }, - std::pair{ core::PlaybackSound::windReedSaxophoneSopranissimo, api::InstrumentSound::windReedSaxophoneSopranissimo }, - std::pair{ core::PlaybackSound::windReedSaxophoneSoprano, api::InstrumentSound::windReedSaxophoneSoprano }, - std::pair{ core::PlaybackSound::windReedSaxophoneSubcontrabass, api::InstrumentSound::windReedSaxophoneSubcontrabass }, - std::pair{ core::PlaybackSound::windReedSaxophoneTenor, api::InstrumentSound::windReedSaxophoneTenor }, - std::pair{ core::PlaybackSound::windReedShawm, api::InstrumentSound::windReedShawm }, - std::pair{ core::PlaybackSound::windReedShenai, api::InstrumentSound::windReedShenai }, - std::pair{ core::PlaybackSound::windReedSheng, api::InstrumentSound::windReedSheng }, - std::pair{ core::PlaybackSound::windReedSipsi, api::InstrumentSound::windReedSipsi }, - std::pair{ core::PlaybackSound::windReedSopila, api::InstrumentSound::windReedSopila }, - std::pair{ core::PlaybackSound::windReedSorna, api::InstrumentSound::windReedSorna }, - std::pair{ core::PlaybackSound::windReedSralai, api::InstrumentSound::windReedSralai }, - std::pair{ core::PlaybackSound::windReedSuona, api::InstrumentSound::windReedSuona }, - std::pair{ core::PlaybackSound::windReedSurnai, api::InstrumentSound::windReedSurnai }, - std::pair{ core::PlaybackSound::windReedTaepyeongso, api::InstrumentSound::windReedTaepyeongso }, - std::pair{ core::PlaybackSound::windReedTarogato, api::InstrumentSound::windReedTarogato }, - std::pair{ core::PlaybackSound::windReedTarogatoAncient, api::InstrumentSound::windReedTarogatoAncient }, - std::pair{ core::PlaybackSound::windReedTrompetaChina, api::InstrumentSound::windReedTrompetaChina }, - std::pair{ core::PlaybackSound::windReedTubax, api::InstrumentSound::windReedTubax }, - std::pair{ core::PlaybackSound::windReedXaphoon, api::InstrumentSound::windReedXaphoon }, - std::pair{ core::PlaybackSound::windReedZhaleika, api::InstrumentSound::windReedZhaleika }, - std::pair{ core::PlaybackSound::windReedZurla, api::InstrumentSound::windReedZurla }, - std::pair{ core::PlaybackSound::windReedZurna, api::InstrumentSound::windReedZurna }, - std::pair{ core::PlaybackSound::woodAgogoBlock, api::InstrumentSound::woodAgogoBlock }, - std::pair{ core::PlaybackSound::woodAgungATamlang, api::InstrumentSound::woodAgungATamlang }, - std::pair{ core::PlaybackSound::woodAhoko, api::InstrumentSound::woodAhoko }, - std::pair{ core::PlaybackSound::woodBones, api::InstrumentSound::woodBones }, - std::pair{ core::PlaybackSound::woodCastanets, api::InstrumentSound::woodCastanets }, - std::pair{ core::PlaybackSound::woodClaves, api::InstrumentSound::woodClaves }, - std::pair{ core::PlaybackSound::woodDrumSticks, api::InstrumentSound::woodDrumSticks }, - std::pair{ core::PlaybackSound::woodGourd, api::InstrumentSound::woodGourd }, - std::pair{ core::PlaybackSound::woodGraniteBlock, api::InstrumentSound::woodGraniteBlock }, - std::pair{ core::PlaybackSound::woodGuban, api::InstrumentSound::woodGuban }, - std::pair{ core::PlaybackSound::woodGuiro, api::InstrumentSound::woodGuiro }, - std::pair{ core::PlaybackSound::woodHyoushigi, api::InstrumentSound::woodHyoushigi }, - std::pair{ core::PlaybackSound::woodIpu, api::InstrumentSound::woodIpu }, - std::pair{ core::PlaybackSound::woodJamBlock, api::InstrumentSound::woodJamBlock }, - std::pair{ core::PlaybackSound::woodKaekeeke, api::InstrumentSound::woodKaekeeke }, - std::pair{ core::PlaybackSound::woodKagul, api::InstrumentSound::woodKagul }, - std::pair{ core::PlaybackSound::woodKalaau, api::InstrumentSound::woodKalaau }, - std::pair{ core::PlaybackSound::woodKashiklar, api::InstrumentSound::woodKashiklar }, - std::pair{ core::PlaybackSound::woodKubing, api::InstrumentSound::woodKubing }, - std::pair{ core::PlaybackSound::woodPanClappers, api::InstrumentSound::woodPanClappers }, - std::pair{ core::PlaybackSound::woodSandBlock, api::InstrumentSound::woodSandBlock }, - std::pair{ core::PlaybackSound::woodSlapstick, api::InstrumentSound::woodSlapstick }, - std::pair{ core::PlaybackSound::woodStirDrum, api::InstrumentSound::woodStirDrum }, - std::pair{ core::PlaybackSound::woodTempleBlock, api::InstrumentSound::woodTempleBlock }, - std::pair{ core::PlaybackSound::woodTicTocBlock, api::InstrumentSound::woodTicTocBlock }, - std::pair{ core::PlaybackSound::woodTonetang, api::InstrumentSound::woodTonetang }, - std::pair{ core::PlaybackSound::woodWoodBlock, api::InstrumentSound::woodWoodBlock }, + const std::map Converter::instrumentMap + { + std::pair{ core::PlaybackSound::brassAlphorn, api::SoundID::brassAlphorn }, + std::pair{ core::PlaybackSound::brassAltoHorn, api::SoundID::brassAltoHorn }, + std::pair{ core::PlaybackSound::brassBaritoneHorn, api::SoundID::brassBaritoneHorn }, + std::pair{ core::PlaybackSound::brassBugle, api::SoundID::brassBugle }, + std::pair{ core::PlaybackSound::brassBugleAlto, api::SoundID::brassBugleAlto }, + std::pair{ core::PlaybackSound::brassBugleBaritone, api::SoundID::brassBugleBaritone }, + std::pair{ core::PlaybackSound::brassBugleContrabass, api::SoundID::brassBugleContrabass }, + std::pair{ core::PlaybackSound::brassBugleEuphoniumBugle, api::SoundID::brassBugleEuphoniumBugle }, + std::pair{ core::PlaybackSound::brassBugleMellophoneBugle, api::SoundID::brassBugleMellophoneBugle }, + std::pair{ core::PlaybackSound::brassBugleSoprano, api::SoundID::brassBugleSoprano }, + std::pair{ core::PlaybackSound::brassCimbasso, api::SoundID::brassCimbasso }, + std::pair{ core::PlaybackSound::brassConchShell, api::SoundID::brassConchShell }, + std::pair{ core::PlaybackSound::brassCornet, api::SoundID::brassCornet }, + std::pair{ core::PlaybackSound::brassCornetSoprano, api::SoundID::brassCornetSoprano }, + std::pair{ core::PlaybackSound::brassCornett, api::SoundID::brassCornett }, + std::pair{ core::PlaybackSound::brassCornettTenor, api::SoundID::brassCornettTenor }, + std::pair{ core::PlaybackSound::brassCornettino, api::SoundID::brassCornettino }, + std::pair{ core::PlaybackSound::brassDidgeridoo, api::SoundID::brassDidgeridoo }, + std::pair{ core::PlaybackSound::brassEuphonium, api::SoundID::brassEuphonium }, + std::pair{ core::PlaybackSound::brassFiscorn, api::SoundID::brassFiscorn }, + std::pair{ core::PlaybackSound::brassFlugelhorn, api::SoundID::brassFlugelhorn }, + std::pair{ core::PlaybackSound::brassFrenchHorn, api::SoundID::brassFrenchHorn }, + std::pair{ core::PlaybackSound::brassGroup, api::SoundID::brassGroup }, + std::pair{ core::PlaybackSound::brassGroupSynth, api::SoundID::brassGroupSynth }, + std::pair{ core::PlaybackSound::brassHelicon, api::SoundID::brassHelicon }, + std::pair{ core::PlaybackSound::brassHoragai, api::SoundID::brassHoragai }, + std::pair{ core::PlaybackSound::brassKuhlohorn, api::SoundID::brassKuhlohorn }, + std::pair{ core::PlaybackSound::brassMellophone, api::SoundID::brassMellophone }, + std::pair{ core::PlaybackSound::brassNaturalHorn, api::SoundID::brassNaturalHorn }, + std::pair{ core::PlaybackSound::brassOphicleide, api::SoundID::brassOphicleide }, + std::pair{ core::PlaybackSound::brassPosthorn, api::SoundID::brassPosthorn }, + std::pair{ core::PlaybackSound::brassRagDung, api::SoundID::brassRagDung }, + std::pair{ core::PlaybackSound::brassSackbutt, api::SoundID::brassSackbutt }, + std::pair{ core::PlaybackSound::brassSackbuttAlto, api::SoundID::brassSackbuttAlto }, + std::pair{ core::PlaybackSound::brassSackbuttBass, api::SoundID::brassSackbuttBass }, + std::pair{ core::PlaybackSound::brassSackbuttTenor, api::SoundID::brassSackbuttTenor }, + std::pair{ core::PlaybackSound::brassSaxhorn, api::SoundID::brassSaxhorn }, + std::pair{ core::PlaybackSound::brassSerpent, api::SoundID::brassSerpent }, + std::pair{ core::PlaybackSound::brassShofar, api::SoundID::brassShofar }, + std::pair{ core::PlaybackSound::brassSousaphone, api::SoundID::brassSousaphone }, + std::pair{ core::PlaybackSound::brassTrombone, api::SoundID::brassTrombone }, + std::pair{ core::PlaybackSound::brassTromboneAlto, api::SoundID::brassTromboneAlto }, + std::pair{ core::PlaybackSound::brassTromboneBass, api::SoundID::brassTromboneBass }, + std::pair{ core::PlaybackSound::brassTromboneContrabass, api::SoundID::brassTromboneContrabass }, + std::pair{ core::PlaybackSound::brassTromboneTenor, api::SoundID::brassTromboneTenor }, + std::pair{ core::PlaybackSound::brassTrumpet, api::SoundID::brassTrumpet }, + std::pair{ core::PlaybackSound::brassTrumpetBaroque, api::SoundID::brassTrumpetBaroque }, + std::pair{ core::PlaybackSound::brassTrumpetBass, api::SoundID::brassTrumpetBass }, + std::pair{ core::PlaybackSound::brassTrumpetBflat, api::SoundID::brassTrumpetBflat }, + std::pair{ core::PlaybackSound::brassTrumpetC, api::SoundID::brassTrumpetC }, + std::pair{ core::PlaybackSound::brassTrumpetD, api::SoundID::brassTrumpetD }, + std::pair{ core::PlaybackSound::brassTrumpetPiccolo, api::SoundID::brassTrumpetPiccolo }, + std::pair{ core::PlaybackSound::brassTrumpetPocket, api::SoundID::brassTrumpetPocket }, + std::pair{ core::PlaybackSound::brassTrumpetSlide, api::SoundID::brassTrumpetSlide }, + std::pair{ core::PlaybackSound::brassTrumpetTenor, api::SoundID::brassTrumpetTenor }, + std::pair{ core::PlaybackSound::brassTuba, api::SoundID::brassTuba }, + std::pair{ core::PlaybackSound::brassTubaBass, api::SoundID::brassTubaBass }, + std::pair{ core::PlaybackSound::brassTubaSubcontrabass, api::SoundID::brassTubaSubcontrabass }, + std::pair{ core::PlaybackSound::brassViennaHorn, api::SoundID::brassViennaHorn }, + std::pair{ core::PlaybackSound::brassVuvuzela, api::SoundID::brassVuvuzela }, + std::pair{ core::PlaybackSound::brassWagnerTuba, api::SoundID::brassWagnerTuba }, + std::pair{ core::PlaybackSound::drumApentemma, api::SoundID::drumApentemma }, + std::pair{ core::PlaybackSound::drumAshiko, api::SoundID::drumAshiko }, + std::pair{ core::PlaybackSound::drumAtabaque, api::SoundID::drumAtabaque }, + std::pair{ core::PlaybackSound::drumAtoke, api::SoundID::drumAtoke }, + std::pair{ core::PlaybackSound::drumAtsimevu, api::SoundID::drumAtsimevu }, + std::pair{ core::PlaybackSound::drumAxatse, api::SoundID::drumAxatse }, + std::pair{ core::PlaybackSound::drumBassDrum, api::SoundID::drumBassDrum }, + std::pair{ core::PlaybackSound::drumBata, api::SoundID::drumBata }, + std::pair{ core::PlaybackSound::drumBataItotele, api::SoundID::drumBataItotele }, + std::pair{ core::PlaybackSound::drumBataIya, api::SoundID::drumBataIya }, + std::pair{ core::PlaybackSound::drumBataOkonkolo, api::SoundID::drumBataOkonkolo }, + std::pair{ core::PlaybackSound::drumBendir, api::SoundID::drumBendir }, + std::pair{ core::PlaybackSound::drumBodhran, api::SoundID::drumBodhran }, + std::pair{ core::PlaybackSound::drumBombo, api::SoundID::drumBombo }, + std::pair{ core::PlaybackSound::drumBongo, api::SoundID::drumBongo }, + std::pair{ core::PlaybackSound::drumBougarabou, api::SoundID::drumBougarabou }, + std::pair{ core::PlaybackSound::drumBuffaloDrum, api::SoundID::drumBuffaloDrum }, + std::pair{ core::PlaybackSound::drumCajon, api::SoundID::drumCajon }, + std::pair{ core::PlaybackSound::drumChenda, api::SoundID::drumChenda }, + std::pair{ core::PlaybackSound::drumChuDaiko, api::SoundID::drumChuDaiko }, + std::pair{ core::PlaybackSound::drumConga, api::SoundID::drumConga }, + std::pair{ core::PlaybackSound::drumCuica, api::SoundID::drumCuica }, + std::pair{ core::PlaybackSound::drumDabakan, api::SoundID::drumDabakan }, + std::pair{ core::PlaybackSound::drumDaff, api::SoundID::drumDaff }, + std::pair{ core::PlaybackSound::drumDafli, api::SoundID::drumDafli }, + std::pair{ core::PlaybackSound::drumDaibyosi, api::SoundID::drumDaibyosi }, + std::pair{ core::PlaybackSound::drumDamroo, api::SoundID::drumDamroo }, + std::pair{ core::PlaybackSound::drumDarabuka, api::SoundID::drumDarabuka }, + std::pair{ core::PlaybackSound::drumDef, api::SoundID::drumDef }, + std::pair{ core::PlaybackSound::drumDhol, api::SoundID::drumDhol }, + std::pair{ core::PlaybackSound::drumDholak, api::SoundID::drumDholak }, + std::pair{ core::PlaybackSound::drumDjembe, api::SoundID::drumDjembe }, + std::pair{ core::PlaybackSound::drumDoira, api::SoundID::drumDoira }, + std::pair{ core::PlaybackSound::drumDondo, api::SoundID::drumDondo }, + std::pair{ core::PlaybackSound::drumDounDounBa, api::SoundID::drumDounDounBa }, + std::pair{ core::PlaybackSound::drumDuff, api::SoundID::drumDuff }, + std::pair{ core::PlaybackSound::drumDumbek, api::SoundID::drumDumbek }, + std::pair{ core::PlaybackSound::drumFontomfrom, api::SoundID::drumFontomfrom }, + std::pair{ core::PlaybackSound::drumFrameDrum, api::SoundID::drumFrameDrum }, + std::pair{ core::PlaybackSound::drumFrameDrumArabian, api::SoundID::drumFrameDrumArabian }, + std::pair{ core::PlaybackSound::drumGeduk, api::SoundID::drumGeduk }, + std::pair{ core::PlaybackSound::drumGhatam, api::SoundID::drumGhatam }, + std::pair{ core::PlaybackSound::drumGome, api::SoundID::drumGome }, + std::pair{ core::PlaybackSound::drumGroup, api::SoundID::drumGroup }, + std::pair{ core::PlaybackSound::drumGroupChinese, api::SoundID::drumGroupChinese }, + std::pair{ core::PlaybackSound::drumGroupEwe, api::SoundID::drumGroupEwe }, + std::pair{ core::PlaybackSound::drumGroupIndian, api::SoundID::drumGroupIndian }, + std::pair{ core::PlaybackSound::drumGroupSet, api::SoundID::drumGroupSet }, + std::pair{ core::PlaybackSound::drumHandDrum, api::SoundID::drumHandDrum }, + std::pair{ core::PlaybackSound::drumHiraDaiko, api::SoundID::drumHiraDaiko }, + std::pair{ core::PlaybackSound::drumIbo, api::SoundID::drumIbo }, + std::pair{ core::PlaybackSound::drumIgihumurizo, api::SoundID::drumIgihumurizo }, + std::pair{ core::PlaybackSound::drumInyahura, api::SoundID::drumInyahura }, + std::pair{ core::PlaybackSound::drumIshakwe, api::SoundID::drumIshakwe }, + std::pair{ core::PlaybackSound::drumJangGu, api::SoundID::drumJangGu }, + std::pair{ core::PlaybackSound::drumKagan, api::SoundID::drumKagan }, + std::pair{ core::PlaybackSound::drumKakko, api::SoundID::drumKakko }, + std::pair{ core::PlaybackSound::drumKanjira, api::SoundID::drumKanjira }, + std::pair{ core::PlaybackSound::drumKendhang, api::SoundID::drumKendhang }, + std::pair{ core::PlaybackSound::drumKendhangAgeng, api::SoundID::drumKendhangAgeng }, + std::pair{ core::PlaybackSound::drumKendhangCiblon, api::SoundID::drumKendhangCiblon }, + std::pair{ core::PlaybackSound::drumKenkeni, api::SoundID::drumKenkeni }, + std::pair{ core::PlaybackSound::drumKhol, api::SoundID::drumKhol }, + std::pair{ core::PlaybackSound::drumKickDrum, api::SoundID::drumKickDrum }, + std::pair{ core::PlaybackSound::drumKidi, api::SoundID::drumKidi }, + std::pair{ core::PlaybackSound::drumKoDaiko, api::SoundID::drumKoDaiko }, + std::pair{ core::PlaybackSound::drumKpanlogo, api::SoundID::drumKpanlogo }, + std::pair{ core::PlaybackSound::drumKudum, api::SoundID::drumKudum }, + std::pair{ core::PlaybackSound::drumLambeg, api::SoundID::drumLambeg }, + std::pair{ core::PlaybackSound::drumLionDrum, api::SoundID::drumLionDrum }, + std::pair{ core::PlaybackSound::drumLogDrum, api::SoundID::drumLogDrum }, + std::pair{ core::PlaybackSound::drumLogDrumAfrican, api::SoundID::drumLogDrumAfrican }, + std::pair{ core::PlaybackSound::drumLogDrumNative, api::SoundID::drumLogDrumNative }, + std::pair{ core::PlaybackSound::drumLogDrumNigerian, api::SoundID::drumLogDrumNigerian }, + std::pair{ core::PlaybackSound::drumMadal, api::SoundID::drumMadal }, + std::pair{ core::PlaybackSound::drumMaddale, api::SoundID::drumMaddale }, + std::pair{ core::PlaybackSound::drumMridangam, api::SoundID::drumMridangam }, + std::pair{ core::PlaybackSound::drumNaal, api::SoundID::drumNaal }, + std::pair{ core::PlaybackSound::drumNagadoDaiko, api::SoundID::drumNagadoDaiko }, + std::pair{ core::PlaybackSound::drumNagara, api::SoundID::drumNagara }, + std::pair{ core::PlaybackSound::drumNaqara, api::SoundID::drumNaqara }, + std::pair{ core::PlaybackSound::drumODaiko, api::SoundID::drumODaiko }, + std::pair{ core::PlaybackSound::drumOkawa, api::SoundID::drumOkawa }, + std::pair{ core::PlaybackSound::drumOkedoDaiko, api::SoundID::drumOkedoDaiko }, + std::pair{ core::PlaybackSound::drumPahuHula, api::SoundID::drumPahuHula }, + std::pair{ core::PlaybackSound::drumPakhawaj, api::SoundID::drumPakhawaj }, + std::pair{ core::PlaybackSound::drumPandeiro, api::SoundID::drumPandeiro }, + std::pair{ core::PlaybackSound::drumPandero, api::SoundID::drumPandero }, + std::pair{ core::PlaybackSound::drumPowwow, api::SoundID::drumPowwow }, + std::pair{ core::PlaybackSound::drumPueblo, api::SoundID::drumPueblo }, + std::pair{ core::PlaybackSound::drumRepinique, api::SoundID::drumRepinique }, + std::pair{ core::PlaybackSound::drumRiq, api::SoundID::drumRiq }, + std::pair{ core::PlaybackSound::drumRototom, api::SoundID::drumRototom }, + std::pair{ core::PlaybackSound::drumSabar, api::SoundID::drumSabar }, + std::pair{ core::PlaybackSound::drumSakara, api::SoundID::drumSakara }, + std::pair{ core::PlaybackSound::drumSampho, api::SoundID::drumSampho }, + std::pair{ core::PlaybackSound::drumSangban, api::SoundID::drumSangban }, + std::pair{ core::PlaybackSound::drumShimeDaiko, api::SoundID::drumShimeDaiko }, + std::pair{ core::PlaybackSound::drumSlitDrum, api::SoundID::drumSlitDrum }, + std::pair{ core::PlaybackSound::drumSlitDrumKrin, api::SoundID::drumSlitDrumKrin }, + std::pair{ core::PlaybackSound::drumSnareDrum, api::SoundID::drumSnareDrum }, + std::pair{ core::PlaybackSound::drumSnareDrumElectric, api::SoundID::drumSnareDrumElectric }, + std::pair{ core::PlaybackSound::drumSogo, api::SoundID::drumSogo }, + std::pair{ core::PlaybackSound::drumSurdo, api::SoundID::drumSurdo }, + std::pair{ core::PlaybackSound::drumTabla, api::SoundID::drumTabla }, + std::pair{ core::PlaybackSound::drumTablaBayan, api::SoundID::drumTablaBayan }, + std::pair{ core::PlaybackSound::drumTablaDayan, api::SoundID::drumTablaDayan }, + std::pair{ core::PlaybackSound::drumTaiko, api::SoundID::drumTaiko }, + std::pair{ core::PlaybackSound::drumTalking, api::SoundID::drumTalking }, + std::pair{ core::PlaybackSound::drumTama, api::SoundID::drumTama }, + std::pair{ core::PlaybackSound::drumTamborita, api::SoundID::drumTamborita }, + std::pair{ core::PlaybackSound::drumTambourine, api::SoundID::drumTambourine }, + std::pair{ core::PlaybackSound::drumTamte, api::SoundID::drumTamte }, + std::pair{ core::PlaybackSound::drumTangku, api::SoundID::drumTangku }, + std::pair{ core::PlaybackSound::drumTanTan, api::SoundID::drumTanTan }, + std::pair{ core::PlaybackSound::drumTaphon, api::SoundID::drumTaphon }, + std::pair{ core::PlaybackSound::drumTar, api::SoundID::drumTar }, + std::pair{ core::PlaybackSound::drumTasha, api::SoundID::drumTasha }, + std::pair{ core::PlaybackSound::drumTenorDrum, api::SoundID::drumTenorDrum }, + std::pair{ core::PlaybackSound::drumTeponaxtli, api::SoundID::drumTeponaxtli }, + std::pair{ core::PlaybackSound::drumThavil, api::SoundID::drumThavil }, + std::pair{ core::PlaybackSound::drumTheBox, api::SoundID::drumTheBox }, + std::pair{ core::PlaybackSound::drumTimbale, api::SoundID::drumTimbale }, + std::pair{ core::PlaybackSound::drumTimpani, api::SoundID::drumTimpani }, + std::pair{ core::PlaybackSound::drumTinaja, api::SoundID::drumTinaja }, + std::pair{ core::PlaybackSound::drumToere, api::SoundID::drumToere }, + std::pair{ core::PlaybackSound::drumTombak, api::SoundID::drumTombak }, + std::pair{ core::PlaybackSound::drumTomTom, api::SoundID::drumTomTom }, + std::pair{ core::PlaybackSound::drumTomTomSynth, api::SoundID::drumTomTomSynth }, + std::pair{ core::PlaybackSound::drumTsuzumi, api::SoundID::drumTsuzumi }, + std::pair{ core::PlaybackSound::drumTumbak, api::SoundID::drumTumbak }, + std::pair{ core::PlaybackSound::drumUchiwaDaiko, api::SoundID::drumUchiwaDaiko }, + std::pair{ core::PlaybackSound::drumUdaku, api::SoundID::drumUdaku }, + std::pair{ core::PlaybackSound::drumUdu, api::SoundID::drumUdu }, + std::pair{ core::PlaybackSound::drumZarb, api::SoundID::drumZarb }, + std::pair{ core::PlaybackSound::effectAeolianHarp, api::SoundID::effectAeolianHarp }, + std::pair{ core::PlaybackSound::effectAirHorn, api::SoundID::effectAirHorn }, + std::pair{ core::PlaybackSound::effectApplause, api::SoundID::effectApplause }, + std::pair{ core::PlaybackSound::effectBassStringSlap, api::SoundID::effectBassStringSlap }, + std::pair{ core::PlaybackSound::effectBird, api::SoundID::effectBird }, + std::pair{ core::PlaybackSound::effectBirdNightingale, api::SoundID::effectBirdNightingale }, + std::pair{ core::PlaybackSound::effectBirdTweet, api::SoundID::effectBirdTweet }, + std::pair{ core::PlaybackSound::effectBreath, api::SoundID::effectBreath }, + std::pair{ core::PlaybackSound::effectBubble, api::SoundID::effectBubble }, + std::pair{ core::PlaybackSound::effectBullroarer, api::SoundID::effectBullroarer }, + std::pair{ core::PlaybackSound::effectBurst, api::SoundID::effectBurst }, + std::pair{ core::PlaybackSound::effectCar, api::SoundID::effectCar }, + std::pair{ core::PlaybackSound::effectCarCrash, api::SoundID::effectCarCrash }, + std::pair{ core::PlaybackSound::effectCarEngine, api::SoundID::effectCarEngine }, + std::pair{ core::PlaybackSound::effectCarPass, api::SoundID::effectCarPass }, + std::pair{ core::PlaybackSound::effectCarStop, api::SoundID::effectCarStop }, + std::pair{ core::PlaybackSound::effectCrickets, api::SoundID::effectCrickets }, + std::pair{ core::PlaybackSound::effectDog, api::SoundID::effectDog }, + std::pair{ core::PlaybackSound::effectDoorCreak, api::SoundID::effectDoorCreak }, + std::pair{ core::PlaybackSound::effectDoorSlam, api::SoundID::effectDoorSlam }, + std::pair{ core::PlaybackSound::effectExplosion, api::SoundID::effectExplosion }, + std::pair{ core::PlaybackSound::effectFluteKeyClick, api::SoundID::effectFluteKeyClick }, + std::pair{ core::PlaybackSound::effectFootsteps, api::SoundID::effectFootsteps }, + std::pair{ core::PlaybackSound::effectFrogs, api::SoundID::effectFrogs }, + std::pair{ core::PlaybackSound::effectGuitarCutting, api::SoundID::effectGuitarCutting }, + std::pair{ core::PlaybackSound::effectGuitarFret, api::SoundID::effectGuitarFret }, + std::pair{ core::PlaybackSound::effectGunshot, api::SoundID::effectGunshot }, + std::pair{ core::PlaybackSound::effectHandClap, api::SoundID::effectHandClap }, + std::pair{ core::PlaybackSound::effectHeartbeat, api::SoundID::effectHeartbeat }, + std::pair{ core::PlaybackSound::effectHelicopter, api::SoundID::effectHelicopter }, + std::pair{ core::PlaybackSound::effectHighQ, api::SoundID::effectHighQ }, + std::pair{ core::PlaybackSound::effectHorseGallop, api::SoundID::effectHorseGallop }, + std::pair{ core::PlaybackSound::effectJetPlane, api::SoundID::effectJetPlane }, + std::pair{ core::PlaybackSound::effectLaserGun, api::SoundID::effectLaserGun }, + std::pair{ core::PlaybackSound::effectLaugh, api::SoundID::effectLaugh }, + std::pair{ core::PlaybackSound::effectLionsRoar, api::SoundID::effectLionsRoar }, + std::pair{ core::PlaybackSound::effectMachineGun, api::SoundID::effectMachineGun }, + std::pair{ core::PlaybackSound::effectMarchingMachine, api::SoundID::effectMarchingMachine }, + std::pair{ core::PlaybackSound::effectMetronomeBell, api::SoundID::effectMetronomeBell }, + std::pair{ core::PlaybackSound::effectMetronomeClick, api::SoundID::effectMetronomeClick }, + std::pair{ core::PlaybackSound::effectPat, api::SoundID::effectPat }, + std::pair{ core::PlaybackSound::effectPunch, api::SoundID::effectPunch }, + std::pair{ core::PlaybackSound::effectRain, api::SoundID::effectRain }, + std::pair{ core::PlaybackSound::effectScratch, api::SoundID::effectScratch }, + std::pair{ core::PlaybackSound::effectScream, api::SoundID::effectScream }, + std::pair{ core::PlaybackSound::effectSeashore, api::SoundID::effectSeashore }, + std::pair{ core::PlaybackSound::effectSiren, api::SoundID::effectSiren }, + std::pair{ core::PlaybackSound::effectSlap, api::SoundID::effectSlap }, + std::pair{ core::PlaybackSound::effectSnap, api::SoundID::effectSnap }, + std::pair{ core::PlaybackSound::effectStamp, api::SoundID::effectStamp }, + std::pair{ core::PlaybackSound::effectStarship, api::SoundID::effectStarship }, + std::pair{ core::PlaybackSound::effectStream, api::SoundID::effectStream }, + std::pair{ core::PlaybackSound::effectTelephoneRing, api::SoundID::effectTelephoneRing }, + std::pair{ core::PlaybackSound::effectThunder, api::SoundID::effectThunder }, + std::pair{ core::PlaybackSound::effectTrain, api::SoundID::effectTrain }, + std::pair{ core::PlaybackSound::effectTrashCan, api::SoundID::effectTrashCan }, + std::pair{ core::PlaybackSound::effectWhip, api::SoundID::effectWhip }, + std::pair{ core::PlaybackSound::effectWhistle, api::SoundID::effectWhistle }, + std::pair{ core::PlaybackSound::effectWhistleMouthSiren, api::SoundID::effectWhistleMouthSiren }, + std::pair{ core::PlaybackSound::effectWhistlePolice, api::SoundID::effectWhistlePolice }, + std::pair{ core::PlaybackSound::effectWhistleSlide, api::SoundID::effectWhistleSlide }, + std::pair{ core::PlaybackSound::effectWhistleTrain, api::SoundID::effectWhistleTrain }, + std::pair{ core::PlaybackSound::effectWind, api::SoundID::effectWind }, + std::pair{ core::PlaybackSound::keyboardAccordion, api::SoundID::keyboardAccordion }, + std::pair{ core::PlaybackSound::keyboardBandoneon, api::SoundID::keyboardBandoneon }, + std::pair{ core::PlaybackSound::keyboardCelesta, api::SoundID::keyboardCelesta }, + std::pair{ core::PlaybackSound::keyboardClavichord, api::SoundID::keyboardClavichord }, + std::pair{ core::PlaybackSound::keyboardClavichordSynth, api::SoundID::keyboardClavichordSynth }, + std::pair{ core::PlaybackSound::keyboardConcertina, api::SoundID::keyboardConcertina }, + std::pair{ core::PlaybackSound::keyboardFortepiano, api::SoundID::keyboardFortepiano }, + std::pair{ core::PlaybackSound::keyboardHarmonium, api::SoundID::keyboardHarmonium }, + std::pair{ core::PlaybackSound::keyboardHarpsichord, api::SoundID::keyboardHarpsichord }, + std::pair{ core::PlaybackSound::keyboardOndesMartenot, api::SoundID::keyboardOndesMartenot }, + std::pair{ core::PlaybackSound::keyboardOrgan, api::SoundID::keyboardOrgan }, + std::pair{ core::PlaybackSound::keyboardOrganDrawbar, api::SoundID::keyboardOrganDrawbar }, + std::pair{ core::PlaybackSound::keyboardOrganPercussive, api::SoundID::keyboardOrganPercussive }, + std::pair{ core::PlaybackSound::keyboardOrganPipe, api::SoundID::keyboardOrganPipe }, + std::pair{ core::PlaybackSound::keyboardOrganReed, api::SoundID::keyboardOrganReed }, + std::pair{ core::PlaybackSound::keyboardOrganRotary, api::SoundID::keyboardOrganRotary }, + std::pair{ core::PlaybackSound::keyboardPiano, api::SoundID::keyboardPiano }, + std::pair{ core::PlaybackSound::keyboardPianoElectric, api::SoundID::keyboardPianoElectric }, + std::pair{ core::PlaybackSound::keyboardPianoGrand, api::SoundID::keyboardPianoGrand }, + std::pair{ core::PlaybackSound::keyboardPianoHonkyTonk, api::SoundID::keyboardPianoHonkyTonk }, + std::pair{ core::PlaybackSound::keyboardPianoPrepared, api::SoundID::keyboardPianoPrepared }, + std::pair{ core::PlaybackSound::keyboardPianoToy, api::SoundID::keyboardPianoToy }, + std::pair{ core::PlaybackSound::keyboardPianoUpright, api::SoundID::keyboardPianoUpright }, + std::pair{ core::PlaybackSound::keyboardVirginal, api::SoundID::keyboardVirginal }, + std::pair{ core::PlaybackSound::metalAdodo, api::SoundID::metalAdodo }, + std::pair{ core::PlaybackSound::metalAnvil, api::SoundID::metalAnvil }, + std::pair{ core::PlaybackSound::metalBabendil, api::SoundID::metalBabendil }, + std::pair{ core::PlaybackSound::metalBellsAgogo, api::SoundID::metalBellsAgogo }, + std::pair{ core::PlaybackSound::metalBellsAlmglocken, api::SoundID::metalBellsAlmglocken }, + std::pair{ core::PlaybackSound::metalBellsBellPlate, api::SoundID::metalBellsBellPlate }, + std::pair{ core::PlaybackSound::metalBellsBellTree, api::SoundID::metalBellsBellTree }, + std::pair{ core::PlaybackSound::metalBellsCarillon, api::SoundID::metalBellsCarillon }, + std::pair{ core::PlaybackSound::metalBellsChimes, api::SoundID::metalBellsChimes }, + std::pair{ core::PlaybackSound::metalBellsChimta, api::SoundID::metalBellsChimta }, + std::pair{ core::PlaybackSound::metalBellsChippli, api::SoundID::metalBellsChippli }, + std::pair{ core::PlaybackSound::metalBellsChurch, api::SoundID::metalBellsChurch }, + std::pair{ core::PlaybackSound::metalBellsCowbell, api::SoundID::metalBellsCowbell }, + std::pair{ core::PlaybackSound::metalBellsDawuro, api::SoundID::metalBellsDawuro }, + std::pair{ core::PlaybackSound::metalBellsGankokwe, api::SoundID::metalBellsGankokwe }, + std::pair{ core::PlaybackSound::metalBellsGhungroo, api::SoundID::metalBellsGhungroo }, + std::pair{ core::PlaybackSound::metalBellsHatheli, api::SoundID::metalBellsHatheli }, + std::pair{ core::PlaybackSound::metalBellsJingleBell, api::SoundID::metalBellsJingleBell }, + std::pair{ core::PlaybackSound::metalBellsKhartal, api::SoundID::metalBellsKhartal }, + std::pair{ core::PlaybackSound::metalBellsMarkTree, api::SoundID::metalBellsMarkTree }, + std::pair{ core::PlaybackSound::metalBellsSistrum, api::SoundID::metalBellsSistrum }, + std::pair{ core::PlaybackSound::metalBellsSleighBells, api::SoundID::metalBellsSleighBells }, + std::pair{ core::PlaybackSound::metalBellsTemple, api::SoundID::metalBellsTemple }, + std::pair{ core::PlaybackSound::metalBellsTibetan, api::SoundID::metalBellsTibetan }, + std::pair{ core::PlaybackSound::metalBellsTinklebell, api::SoundID::metalBellsTinklebell }, + std::pair{ core::PlaybackSound::metalBellsTrychel, api::SoundID::metalBellsTrychel }, + std::pair{ core::PlaybackSound::metalBellsWindChimes, api::SoundID::metalBellsWindChimes }, + std::pair{ core::PlaybackSound::metalBellsZills, api::SoundID::metalBellsZills }, + std::pair{ core::PlaybackSound::metalBerimbau, api::SoundID::metalBerimbau }, + std::pair{ core::PlaybackSound::metalBrakeDrums, api::SoundID::metalBrakeDrums }, + std::pair{ core::PlaybackSound::metalCrotales, api::SoundID::metalCrotales }, + std::pair{ core::PlaybackSound::metalCymbalBo, api::SoundID::metalCymbalBo }, + std::pair{ core::PlaybackSound::metalCymbalCengCeng, api::SoundID::metalCymbalCengCeng }, + std::pair{ core::PlaybackSound::metalCymbalChabara, api::SoundID::metalCymbalChabara }, + std::pair{ core::PlaybackSound::metalCymbalChinese, api::SoundID::metalCymbalChinese }, + std::pair{ core::PlaybackSound::metalCymbalChing, api::SoundID::metalCymbalChing }, + std::pair{ core::PlaybackSound::metalCymbalClash, api::SoundID::metalCymbalClash }, + std::pair{ core::PlaybackSound::metalCymbalCrash, api::SoundID::metalCymbalCrash }, + std::pair{ core::PlaybackSound::metalCymbalFinger, api::SoundID::metalCymbalFinger }, + std::pair{ core::PlaybackSound::metalCymbalHand, api::SoundID::metalCymbalHand }, + std::pair{ core::PlaybackSound::metalCymbalKesi, api::SoundID::metalCymbalKesi }, + std::pair{ core::PlaybackSound::metalCymbalManjeera, api::SoundID::metalCymbalManjeera }, + std::pair{ core::PlaybackSound::metalCymbalReverse, api::SoundID::metalCymbalReverse }, + std::pair{ core::PlaybackSound::metalCymbalRide, api::SoundID::metalCymbalRide }, + std::pair{ core::PlaybackSound::metalCymbalSizzle, api::SoundID::metalCymbalSizzle }, + std::pair{ core::PlaybackSound::metalCymbalSplash, api::SoundID::metalCymbalSplash }, + std::pair{ core::PlaybackSound::metalCymbalSuspended, api::SoundID::metalCymbalSuspended }, + std::pair{ core::PlaybackSound::metalCymbalTebyoshi, api::SoundID::metalCymbalTebyoshi }, + std::pair{ core::PlaybackSound::metalCymbalTibetan, api::SoundID::metalCymbalTibetan }, + std::pair{ core::PlaybackSound::metalCymbalTingsha, api::SoundID::metalCymbalTingsha }, + std::pair{ core::PlaybackSound::metalFlexatone, api::SoundID::metalFlexatone }, + std::pair{ core::PlaybackSound::metalGong, api::SoundID::metalGong }, + std::pair{ core::PlaybackSound::metalGongAgeng, api::SoundID::metalGongAgeng }, + std::pair{ core::PlaybackSound::metalGongAgung, api::SoundID::metalGongAgung }, + std::pair{ core::PlaybackSound::metalGongChanchiki, api::SoundID::metalGongChanchiki }, + std::pair{ core::PlaybackSound::metalGongChinese, api::SoundID::metalGongChinese }, + std::pair{ core::PlaybackSound::metalGongGandingan, api::SoundID::metalGongGandingan }, + std::pair{ core::PlaybackSound::metalGongKempul, api::SoundID::metalGongKempul }, + std::pair{ core::PlaybackSound::metalGongKempyang, api::SoundID::metalGongKempyang }, + std::pair{ core::PlaybackSound::metalGongKetuk, api::SoundID::metalGongKetuk }, + std::pair{ core::PlaybackSound::metalGongKkwenggwari, api::SoundID::metalGongKkwenggwari }, + std::pair{ core::PlaybackSound::metalGongLuo, api::SoundID::metalGongLuo }, + std::pair{ core::PlaybackSound::metalGongSinging, api::SoundID::metalGongSinging }, + std::pair{ core::PlaybackSound::metalGongThai, api::SoundID::metalGongThai }, + std::pair{ core::PlaybackSound::metalGuira, api::SoundID::metalGuira }, + std::pair{ core::PlaybackSound::metalHang, api::SoundID::metalHang }, + std::pair{ core::PlaybackSound::metalHiHat, api::SoundID::metalHiHat }, + std::pair{ core::PlaybackSound::metalJawHarp, api::SoundID::metalJawHarp }, + std::pair{ core::PlaybackSound::metalKengong, api::SoundID::metalKengong }, + std::pair{ core::PlaybackSound::metalMurchang, api::SoundID::metalMurchang }, + std::pair{ core::PlaybackSound::metalMusicalSaw, api::SoundID::metalMusicalSaw }, + std::pair{ core::PlaybackSound::metalSingingBowl, api::SoundID::metalSingingBowl }, + std::pair{ core::PlaybackSound::metalSpoons, api::SoundID::metalSpoons }, + std::pair{ core::PlaybackSound::metalSteelDrums, api::SoundID::metalSteelDrums }, + std::pair{ core::PlaybackSound::metalTamtam, api::SoundID::metalTamtam }, + std::pair{ core::PlaybackSound::metalThundersheet, api::SoundID::metalThundersheet }, + std::pair{ core::PlaybackSound::metalTriangle, api::SoundID::metalTriangle }, + std::pair{ core::PlaybackSound::metalWashboard, api::SoundID::metalWashboard }, + std::pair{ core::PlaybackSound::pitchedPercussionAngklung, api::SoundID::pitchedPercussionAngklung }, + std::pair{ core::PlaybackSound::pitchedPercussionBalafon, api::SoundID::pitchedPercussionBalafon }, + std::pair{ core::PlaybackSound::pitchedPercussionBellLyre, api::SoundID::pitchedPercussionBellLyre }, + std::pair{ core::PlaybackSound::pitchedPercussionBells, api::SoundID::pitchedPercussionBells }, + std::pair{ core::PlaybackSound::pitchedPercussionBianqing, api::SoundID::pitchedPercussionBianqing }, + std::pair{ core::PlaybackSound::pitchedPercussionBianzhong, api::SoundID::pitchedPercussionBianzhong }, + std::pair{ core::PlaybackSound::pitchedPercussionBonang, api::SoundID::pitchedPercussionBonang }, + std::pair{ core::PlaybackSound::pitchedPercussionCimbalom, api::SoundID::pitchedPercussionCimbalom }, + std::pair{ core::PlaybackSound::pitchedPercussionCrystalGlasses, api::SoundID::pitchedPercussionCrystalGlasses }, + std::pair{ core::PlaybackSound::pitchedPercussionDanTamThapLuc, api::SoundID::pitchedPercussionDanTamThapLuc }, + std::pair{ core::PlaybackSound::pitchedPercussionFangxiang, api::SoundID::pitchedPercussionFangxiang }, + std::pair{ core::PlaybackSound::pitchedPercussionGandinganAKayo, api::SoundID::pitchedPercussionGandinganAKayo }, + std::pair{ core::PlaybackSound::pitchedPercussionGangsa, api::SoundID::pitchedPercussionGangsa }, + std::pair{ core::PlaybackSound::pitchedPercussionGender, api::SoundID::pitchedPercussionGender }, + std::pair{ core::PlaybackSound::pitchedPercussionGiying, api::SoundID::pitchedPercussionGiying }, + std::pair{ core::PlaybackSound::pitchedPercussionGlassHarmonica, api::SoundID::pitchedPercussionGlassHarmonica }, + std::pair{ core::PlaybackSound::pitchedPercussionGlockenspiel, api::SoundID::pitchedPercussionGlockenspiel }, + std::pair{ core::PlaybackSound::pitchedPercussionGlockenspielAlto, api::SoundID::pitchedPercussionGlockenspielAlto }, + std::pair{ core::PlaybackSound::pitchedPercussionGlockenspielSoprano, api::SoundID::pitchedPercussionGlockenspielSoprano }, + std::pair{ core::PlaybackSound::pitchedPercussionGyil, api::SoundID::pitchedPercussionGyil }, + std::pair{ core::PlaybackSound::pitchedPercussionHammerDulcimer, api::SoundID::pitchedPercussionHammerDulcimer }, + std::pair{ core::PlaybackSound::pitchedPercussionHandbells, api::SoundID::pitchedPercussionHandbells }, + std::pair{ core::PlaybackSound::pitchedPercussionKalimba, api::SoundID::pitchedPercussionKalimba }, + std::pair{ core::PlaybackSound::pitchedPercussionKantil, api::SoundID::pitchedPercussionKantil }, + std::pair{ core::PlaybackSound::pitchedPercussionKhim, api::SoundID::pitchedPercussionKhim }, + std::pair{ core::PlaybackSound::pitchedPercussionKulintang, api::SoundID::pitchedPercussionKulintang }, + std::pair{ core::PlaybackSound::pitchedPercussionKulintangAKayo, api::SoundID::pitchedPercussionKulintangAKayo }, + std::pair{ core::PlaybackSound::pitchedPercussionKulintangATiniok, api::SoundID::pitchedPercussionKulintangATiniok }, + std::pair{ core::PlaybackSound::pitchedPercussionLikembe, api::SoundID::pitchedPercussionLikembe }, + std::pair{ core::PlaybackSound::pitchedPercussionLuntang, api::SoundID::pitchedPercussionLuntang }, + std::pair{ core::PlaybackSound::pitchedPercussionMarimba, api::SoundID::pitchedPercussionMarimba }, + std::pair{ core::PlaybackSound::pitchedPercussionMarimbaBass, api::SoundID::pitchedPercussionMarimbaBass }, + std::pair{ core::PlaybackSound::pitchedPercussionMbira, api::SoundID::pitchedPercussionMbira }, + std::pair{ core::PlaybackSound::pitchedPercussionMbiraArray, api::SoundID::pitchedPercussionMbiraArray }, + std::pair{ core::PlaybackSound::pitchedPercussionMetallophone, api::SoundID::pitchedPercussionMetallophone }, + std::pair{ core::PlaybackSound::pitchedPercussionMetallophoneAlto, api::SoundID::pitchedPercussionMetallophoneAlto }, + std::pair{ core::PlaybackSound::pitchedPercussionMetallophoneBass, api::SoundID::pitchedPercussionMetallophoneBass }, + std::pair{ core::PlaybackSound::pitchedPercussionMetallophoneSoprano, api::SoundID::pitchedPercussionMetallophoneSoprano }, + std::pair{ core::PlaybackSound::pitchedPercussionMusicBox, api::SoundID::pitchedPercussionMusicBox }, + std::pair{ core::PlaybackSound::pitchedPercussionPelogPanerus, api::SoundID::pitchedPercussionPelogPanerus }, + std::pair{ core::PlaybackSound::pitchedPercussionPemade, api::SoundID::pitchedPercussionPemade }, + std::pair{ core::PlaybackSound::pitchedPercussionPenyacah, api::SoundID::pitchedPercussionPenyacah }, + std::pair{ core::PlaybackSound::pitchedPercussionRanatEk, api::SoundID::pitchedPercussionRanatEk }, + std::pair{ core::PlaybackSound::pitchedPercussionRanatEkLek, api::SoundID::pitchedPercussionRanatEkLek }, + std::pair{ core::PlaybackSound::pitchedPercussionRanatThum, api::SoundID::pitchedPercussionRanatThum }, + std::pair{ core::PlaybackSound::pitchedPercussionRanatThumLek, api::SoundID::pitchedPercussionRanatThumLek }, + std::pair{ core::PlaybackSound::pitchedPercussionReyong, api::SoundID::pitchedPercussionReyong }, + std::pair{ core::PlaybackSound::pitchedPercussionSanza, api::SoundID::pitchedPercussionSanza }, + std::pair{ core::PlaybackSound::pitchedPercussionSaronBarung, api::SoundID::pitchedPercussionSaronBarung }, + std::pair{ core::PlaybackSound::pitchedPercussionSaronDemong, api::SoundID::pitchedPercussionSaronDemong }, + std::pair{ core::PlaybackSound::pitchedPercussionSaronPanerus, api::SoundID::pitchedPercussionSaronPanerus }, + std::pair{ core::PlaybackSound::pitchedPercussionSlendroPanerus, api::SoundID::pitchedPercussionSlendroPanerus }, + std::pair{ core::PlaybackSound::pitchedPercussionSlentem, api::SoundID::pitchedPercussionSlentem }, + std::pair{ core::PlaybackSound::pitchedPercussionTsymbaly, api::SoundID::pitchedPercussionTsymbaly }, + std::pair{ core::PlaybackSound::pitchedPercussionTubes, api::SoundID::pitchedPercussionTubes }, + std::pair{ core::PlaybackSound::pitchedPercussionTubularBells, api::SoundID::pitchedPercussionTubularBells }, + std::pair{ core::PlaybackSound::pitchedPercussionVibraphone, api::SoundID::pitchedPercussionVibraphone }, + std::pair{ core::PlaybackSound::pitchedPercussionXylophone, api::SoundID::pitchedPercussionXylophone }, + std::pair{ core::PlaybackSound::pitchedPercussionXylophoneAlto, api::SoundID::pitchedPercussionXylophoneAlto }, + std::pair{ core::PlaybackSound::pitchedPercussionXylophoneBass, api::SoundID::pitchedPercussionXylophoneBass }, + std::pair{ core::PlaybackSound::pitchedPercussionXylophoneSoprano, api::SoundID::pitchedPercussionXylophoneSoprano }, + std::pair{ core::PlaybackSound::pitchedPercussionXylorimba, api::SoundID::pitchedPercussionXylorimba }, + std::pair{ core::PlaybackSound::pitchedPercussionYangqin, api::SoundID::pitchedPercussionYangqin }, + std::pair{ core::PlaybackSound::pluckArchlute, api::SoundID::pluckArchlute }, + std::pair{ core::PlaybackSound::pluckAutoharp, api::SoundID::pluckAutoharp }, + std::pair{ core::PlaybackSound::pluckBaglama, api::SoundID::pluckBaglama }, + std::pair{ core::PlaybackSound::pluckBajo, api::SoundID::pluckBajo }, + std::pair{ core::PlaybackSound::pluckBalalaika, api::SoundID::pluckBalalaika }, + std::pair{ core::PlaybackSound::pluckBalalaikaAlto, api::SoundID::pluckBalalaikaAlto }, + std::pair{ core::PlaybackSound::pluckBalalaikaBass, api::SoundID::pluckBalalaikaBass }, + std::pair{ core::PlaybackSound::pluckBalalaikaContrabass, api::SoundID::pluckBalalaikaContrabass }, + std::pair{ core::PlaybackSound::pluckBalalaikaPiccolo, api::SoundID::pluckBalalaikaPiccolo }, + std::pair{ core::PlaybackSound::pluckBalalaikaPrima, api::SoundID::pluckBalalaikaPrima }, + std::pair{ core::PlaybackSound::pluckBalalaikaSecunda, api::SoundID::pluckBalalaikaSecunda }, + std::pair{ core::PlaybackSound::pluckBandola, api::SoundID::pluckBandola }, + std::pair{ core::PlaybackSound::pluckBandura, api::SoundID::pluckBandura }, + std::pair{ core::PlaybackSound::pluckBandurria, api::SoundID::pluckBandurria }, + std::pair{ core::PlaybackSound::pluckBanjo, api::SoundID::pluckBanjo }, + std::pair{ core::PlaybackSound::pluckBanjoTenor, api::SoundID::pluckBanjoTenor }, + std::pair{ core::PlaybackSound::pluckBanjolele, api::SoundID::pluckBanjolele }, + std::pair{ core::PlaybackSound::pluckBarbat, api::SoundID::pluckBarbat }, + std::pair{ core::PlaybackSound::pluckBass, api::SoundID::pluckBass }, + std::pair{ core::PlaybackSound::pluckBassAcoustic, api::SoundID::pluckBassAcoustic }, + std::pair{ core::PlaybackSound::pluckBassBolon, api::SoundID::pluckBassBolon }, + std::pair{ core::PlaybackSound::pluckBassElectric, api::SoundID::pluckBassElectric }, + std::pair{ core::PlaybackSound::pluckBassFretless, api::SoundID::pluckBassFretless }, + std::pair{ core::PlaybackSound::pluckBassGuitarron, api::SoundID::pluckBassGuitarron }, + std::pair{ core::PlaybackSound::pluckBassSynth, api::SoundID::pluckBassSynth }, + std::pair{ core::PlaybackSound::pluckBassSynthLead, api::SoundID::pluckBassSynthLead }, + std::pair{ core::PlaybackSound::pluckBassWashtub, api::SoundID::pluckBassWashtub }, + std::pair{ core::PlaybackSound::pluckBassWhamola, api::SoundID::pluckBassWhamola }, + std::pair{ core::PlaybackSound::pluckBegena, api::SoundID::pluckBegena }, + std::pair{ core::PlaybackSound::pluckBiwa, api::SoundID::pluckBiwa }, + std::pair{ core::PlaybackSound::pluckBordonua, api::SoundID::pluckBordonua }, + std::pair{ core::PlaybackSound::pluckBouzouki, api::SoundID::pluckBouzouki }, + std::pair{ core::PlaybackSound::pluckBouzoukiIrish, api::SoundID::pluckBouzoukiIrish }, + std::pair{ core::PlaybackSound::pluckCelticHarp, api::SoundID::pluckCelticHarp }, + std::pair{ core::PlaybackSound::pluckCharango, api::SoundID::pluckCharango }, + std::pair{ core::PlaybackSound::pluckChitarraBattente, api::SoundID::pluckChitarraBattente }, + std::pair{ core::PlaybackSound::pluckCithara, api::SoundID::pluckCithara }, + std::pair{ core::PlaybackSound::pluckCittern, api::SoundID::pluckCittern }, + std::pair{ core::PlaybackSound::pluckCuatro, api::SoundID::pluckCuatro }, + std::pair{ core::PlaybackSound::pluckDanBau, api::SoundID::pluckDanBau }, + std::pair{ core::PlaybackSound::pluckDanNguyet, api::SoundID::pluckDanNguyet }, + std::pair{ core::PlaybackSound::pluckDanTranh, api::SoundID::pluckDanTranh }, + std::pair{ core::PlaybackSound::pluckDanTyBa, api::SoundID::pluckDanTyBa }, + std::pair{ core::PlaybackSound::pluckDiddleyBow, api::SoundID::pluckDiddleyBow }, + std::pair{ core::PlaybackSound::pluckDomra, api::SoundID::pluckDomra }, + std::pair{ core::PlaybackSound::pluckDomu, api::SoundID::pluckDomu }, + std::pair{ core::PlaybackSound::pluckDulcimer, api::SoundID::pluckDulcimer }, + std::pair{ core::PlaybackSound::pluckDutar, api::SoundID::pluckDutar }, + std::pair{ core::PlaybackSound::pluckDuxianqin, api::SoundID::pluckDuxianqin }, + std::pair{ core::PlaybackSound::pluckEktara, api::SoundID::pluckEktara }, + std::pair{ core::PlaybackSound::pluckGeomungo, api::SoundID::pluckGeomungo }, + std::pair{ core::PlaybackSound::pluckGottuvadhyam, api::SoundID::pluckGottuvadhyam }, + std::pair{ core::PlaybackSound::pluckGuitar, api::SoundID::pluckGuitar }, + std::pair{ core::PlaybackSound::pluckGuitarAcoustic, api::SoundID::pluckGuitarAcoustic }, + std::pair{ core::PlaybackSound::pluckGuitarElectric, api::SoundID::pluckGuitarElectric }, + std::pair{ core::PlaybackSound::pluckGuitarNylonString, api::SoundID::pluckGuitarNylonString }, + std::pair{ core::PlaybackSound::pluckGuitarPedalSteel, api::SoundID::pluckGuitarPedalSteel }, + std::pair{ core::PlaybackSound::pluckGuitarPortuguese, api::SoundID::pluckGuitarPortuguese }, + std::pair{ core::PlaybackSound::pluckGuitarRequinto, api::SoundID::pluckGuitarRequinto }, + std::pair{ core::PlaybackSound::pluckGuitarResonator, api::SoundID::pluckGuitarResonator }, + std::pair{ core::PlaybackSound::pluckGuitarSteelString, api::SoundID::pluckGuitarSteelString }, + std::pair{ core::PlaybackSound::pluckGuitjo, api::SoundID::pluckGuitjo }, + std::pair{ core::PlaybackSound::pluckGuitjoDoubleNeck, api::SoundID::pluckGuitjoDoubleNeck }, + std::pair{ core::PlaybackSound::pluckGuqin, api::SoundID::pluckGuqin }, + std::pair{ core::PlaybackSound::pluckGuzheng, api::SoundID::pluckGuzheng }, + std::pair{ core::PlaybackSound::pluckGuzhengChoazhou, api::SoundID::pluckGuzhengChoazhou }, + std::pair{ core::PlaybackSound::pluckHarp, api::SoundID::pluckHarp }, + std::pair{ core::PlaybackSound::pluckHarpGuitar, api::SoundID::pluckHarpGuitar }, + std::pair{ core::PlaybackSound::pluckHuapanguera, api::SoundID::pluckHuapanguera }, + std::pair{ core::PlaybackSound::pluckJaranaHuasteca, api::SoundID::pluckJaranaHuasteca }, + std::pair{ core::PlaybackSound::pluckJaranaJarocha, api::SoundID::pluckJaranaJarocha }, + std::pair{ core::PlaybackSound::pluckJaranaJarochaMosquito, api::SoundID::pluckJaranaJarochaMosquito }, + std::pair{ core::PlaybackSound::pluckJaranaJarochaPrimera, api::SoundID::pluckJaranaJarochaPrimera }, + std::pair{ core::PlaybackSound::pluckJaranaJarochaSegunda, api::SoundID::pluckJaranaJarochaSegunda }, + std::pair{ core::PlaybackSound::pluckJaranaJarochaTercera, api::SoundID::pluckJaranaJarochaTercera }, + std::pair{ core::PlaybackSound::pluckKabosy, api::SoundID::pluckKabosy }, + std::pair{ core::PlaybackSound::pluckKantele, api::SoundID::pluckKantele }, + std::pair{ core::PlaybackSound::pluckKanun, api::SoundID::pluckKanun }, + std::pair{ core::PlaybackSound::pluckKayagum, api::SoundID::pluckKayagum }, + std::pair{ core::PlaybackSound::pluckKobza, api::SoundID::pluckKobza }, + std::pair{ core::PlaybackSound::pluckKomuz, api::SoundID::pluckKomuz }, + std::pair{ core::PlaybackSound::pluckKora, api::SoundID::pluckKora }, + std::pair{ core::PlaybackSound::pluckKoto, api::SoundID::pluckKoto }, + std::pair{ core::PlaybackSound::pluckKutiyapi, api::SoundID::pluckKutiyapi }, + std::pair{ core::PlaybackSound::pluckLangeleik, api::SoundID::pluckLangeleik }, + std::pair{ core::PlaybackSound::pluckLaud, api::SoundID::pluckLaud }, + std::pair{ core::PlaybackSound::pluckLute, api::SoundID::pluckLute }, + std::pair{ core::PlaybackSound::pluckLyre, api::SoundID::pluckLyre }, + std::pair{ core::PlaybackSound::pluckMandobass, api::SoundID::pluckMandobass }, + std::pair{ core::PlaybackSound::pluckMandocello, api::SoundID::pluckMandocello }, + std::pair{ core::PlaybackSound::pluckMandola, api::SoundID::pluckMandola }, + std::pair{ core::PlaybackSound::pluckMandolin, api::SoundID::pluckMandolin }, + std::pair{ core::PlaybackSound::pluckMandolinOctave, api::SoundID::pluckMandolinOctave }, + std::pair{ core::PlaybackSound::pluckMandora, api::SoundID::pluckMandora }, + std::pair{ core::PlaybackSound::pluckMandore, api::SoundID::pluckMandore }, + std::pair{ core::PlaybackSound::pluckMarovany, api::SoundID::pluckMarovany }, + std::pair{ core::PlaybackSound::pluckMusicalBow, api::SoundID::pluckMusicalBow }, + std::pair{ core::PlaybackSound::pluckNgoni, api::SoundID::pluckNgoni }, + std::pair{ core::PlaybackSound::pluckOud, api::SoundID::pluckOud }, + std::pair{ core::PlaybackSound::pluckPipa, api::SoundID::pluckPipa }, + std::pair{ core::PlaybackSound::pluckPsaltery, api::SoundID::pluckPsaltery }, + std::pair{ core::PlaybackSound::pluckRuan, api::SoundID::pluckRuan }, + std::pair{ core::PlaybackSound::pluckSallaneh, api::SoundID::pluckSallaneh }, + std::pair{ core::PlaybackSound::pluckSanshin, api::SoundID::pluckSanshin }, + std::pair{ core::PlaybackSound::pluckSantoor, api::SoundID::pluckSantoor }, + std::pair{ core::PlaybackSound::pluckSanxian, api::SoundID::pluckSanxian }, + std::pair{ core::PlaybackSound::pluckSarod, api::SoundID::pluckSarod }, + std::pair{ core::PlaybackSound::pluckSaung, api::SoundID::pluckSaung }, + std::pair{ core::PlaybackSound::pluckSaz, api::SoundID::pluckSaz }, + std::pair{ core::PlaybackSound::pluckSe, api::SoundID::pluckSe }, + std::pair{ core::PlaybackSound::pluckSetar, api::SoundID::pluckSetar }, + std::pair{ core::PlaybackSound::pluckShamisen, api::SoundID::pluckShamisen }, + std::pair{ core::PlaybackSound::pluckSitar, api::SoundID::pluckSitar }, + std::pair{ core::PlaybackSound::pluckSynth, api::SoundID::pluckSynth }, + std::pair{ core::PlaybackSound::pluckSynthCharang, api::SoundID::pluckSynthCharang }, + std::pair{ core::PlaybackSound::pluckSynthChiff, api::SoundID::pluckSynthChiff }, + std::pair{ core::PlaybackSound::pluckSynthStick, api::SoundID::pluckSynthStick }, + std::pair{ core::PlaybackSound::pluckTambura, api::SoundID::pluckTambura }, + std::pair{ core::PlaybackSound::pluckTamburaBulgarian, api::SoundID::pluckTamburaBulgarian }, + std::pair{ core::PlaybackSound::pluckTamburaFemale, api::SoundID::pluckTamburaFemale }, + std::pair{ core::PlaybackSound::pluckTamburaMale, api::SoundID::pluckTamburaMale }, + std::pair{ core::PlaybackSound::pluckTar, api::SoundID::pluckTar }, + std::pair{ core::PlaybackSound::pluckTheorbo, api::SoundID::pluckTheorbo }, + std::pair{ core::PlaybackSound::pluckTimple, api::SoundID::pluckTimple }, + std::pair{ core::PlaybackSound::pluckTiple, api::SoundID::pluckTiple }, + std::pair{ core::PlaybackSound::pluckTres, api::SoundID::pluckTres }, + std::pair{ core::PlaybackSound::pluckUkulele, api::SoundID::pluckUkulele }, + std::pair{ core::PlaybackSound::pluckUkuleleTenor, api::SoundID::pluckUkuleleTenor }, + std::pair{ core::PlaybackSound::pluckValiha, api::SoundID::pluckValiha }, + std::pair{ core::PlaybackSound::pluckVeena, api::SoundID::pluckVeena }, + std::pair{ core::PlaybackSound::pluckVeenaMohan, api::SoundID::pluckVeenaMohan }, + std::pair{ core::PlaybackSound::pluckVeenaRudra, api::SoundID::pluckVeenaRudra }, + std::pair{ core::PlaybackSound::pluckVeenaVichitra, api::SoundID::pluckVeenaVichitra }, + std::pair{ core::PlaybackSound::pluckVihuela, api::SoundID::pluckVihuela }, + std::pair{ core::PlaybackSound::pluckVihuelaMexican, api::SoundID::pluckVihuelaMexican }, + std::pair{ core::PlaybackSound::pluckXalam, api::SoundID::pluckXalam }, + std::pair{ core::PlaybackSound::pluckYueqin, api::SoundID::pluckYueqin }, + std::pair{ core::PlaybackSound::pluckZither, api::SoundID::pluckZither }, + std::pair{ core::PlaybackSound::pluckZitherOvertone, api::SoundID::pluckZitherOvertone }, + std::pair{ core::PlaybackSound::rattleAfoxe, api::SoundID::rattleAfoxe }, + std::pair{ core::PlaybackSound::rattleBirds, api::SoundID::rattleBirds }, + std::pair{ core::PlaybackSound::rattleCabasa, api::SoundID::rattleCabasa }, + std::pair{ core::PlaybackSound::rattleCaxixi, api::SoundID::rattleCaxixi }, + std::pair{ core::PlaybackSound::rattleCog, api::SoundID::rattleCog }, + std::pair{ core::PlaybackSound::rattleGanza, api::SoundID::rattleGanza }, + std::pair{ core::PlaybackSound::rattleHosho, api::SoundID::rattleHosho }, + std::pair{ core::PlaybackSound::rattleJawbone, api::SoundID::rattleJawbone }, + std::pair{ core::PlaybackSound::rattleKayamba, api::SoundID::rattleKayamba }, + std::pair{ core::PlaybackSound::rattleKpokoKpoko, api::SoundID::rattleKpokoKpoko }, + std::pair{ core::PlaybackSound::rattleLavaStones, api::SoundID::rattleLavaStones }, + std::pair{ core::PlaybackSound::rattleMaraca, api::SoundID::rattleMaraca }, + std::pair{ core::PlaybackSound::rattleRainStick, api::SoundID::rattleRainStick }, + std::pair{ core::PlaybackSound::rattleRatchet, api::SoundID::rattleRatchet }, + std::pair{ core::PlaybackSound::rattleRattle, api::SoundID::rattleRattle }, + std::pair{ core::PlaybackSound::rattleShaker, api::SoundID::rattleShaker }, + std::pair{ core::PlaybackSound::rattleShakerEgg, api::SoundID::rattleShakerEgg }, + std::pair{ core::PlaybackSound::rattleShekere, api::SoundID::rattleShekere }, + std::pair{ core::PlaybackSound::rattleSistre, api::SoundID::rattleSistre }, + std::pair{ core::PlaybackSound::rattleTelevi, api::SoundID::rattleTelevi }, + std::pair{ core::PlaybackSound::rattleVibraslap, api::SoundID::rattleVibraslap }, + std::pair{ core::PlaybackSound::rattleWasembe, api::SoundID::rattleWasembe }, + std::pair{ core::PlaybackSound::stringsAjaeng, api::SoundID::stringsAjaeng }, + std::pair{ core::PlaybackSound::stringsArpeggione, api::SoundID::stringsArpeggione }, + std::pair{ core::PlaybackSound::stringsBaryton, api::SoundID::stringsBaryton }, + std::pair{ core::PlaybackSound::stringsCello, api::SoundID::stringsCello }, + std::pair{ core::PlaybackSound::stringsCelloPiccolo, api::SoundID::stringsCelloPiccolo }, + std::pair{ core::PlaybackSound::stringsContrabass, api::SoundID::stringsContrabass }, + std::pair{ core::PlaybackSound::stringsCrwth, api::SoundID::stringsCrwth }, + std::pair{ core::PlaybackSound::stringsDanGao, api::SoundID::stringsDanGao }, + std::pair{ core::PlaybackSound::stringsDihu, api::SoundID::stringsDihu }, + std::pair{ core::PlaybackSound::stringsErhu, api::SoundID::stringsErhu }, + std::pair{ core::PlaybackSound::stringsErxian, api::SoundID::stringsErxian }, + std::pair{ core::PlaybackSound::stringsEsraj, api::SoundID::stringsEsraj }, + std::pair{ core::PlaybackSound::stringsFiddle, api::SoundID::stringsFiddle }, + std::pair{ core::PlaybackSound::stringsFiddleHardanger, api::SoundID::stringsFiddleHardanger }, + std::pair{ core::PlaybackSound::stringsGadulka, api::SoundID::stringsGadulka }, + std::pair{ core::PlaybackSound::stringsGaohu, api::SoundID::stringsGaohu }, + std::pair{ core::PlaybackSound::stringsGehu, api::SoundID::stringsGehu }, + std::pair{ core::PlaybackSound::stringsGroup, api::SoundID::stringsGroup }, + std::pair{ core::PlaybackSound::stringsGroupSynth, api::SoundID::stringsGroupSynth }, + std::pair{ core::PlaybackSound::stringsHaegeum, api::SoundID::stringsHaegeum }, + std::pair{ core::PlaybackSound::stringsHurdyGurdy, api::SoundID::stringsHurdyGurdy }, + std::pair{ core::PlaybackSound::stringsIgil, api::SoundID::stringsIgil }, + std::pair{ core::PlaybackSound::stringsKamancha, api::SoundID::stringsKamancha }, + std::pair{ core::PlaybackSound::stringsKokyu, api::SoundID::stringsKokyu }, + std::pair{ core::PlaybackSound::stringsLaruan, api::SoundID::stringsLaruan }, + std::pair{ core::PlaybackSound::stringsLeiqin, api::SoundID::stringsLeiqin }, + std::pair{ core::PlaybackSound::stringsLirone, api::SoundID::stringsLirone }, + std::pair{ core::PlaybackSound::stringsLyraByzantine, api::SoundID::stringsLyraByzantine }, + std::pair{ core::PlaybackSound::stringsLyraCretan, api::SoundID::stringsLyraCretan }, + std::pair{ core::PlaybackSound::stringsMorinKhuur, api::SoundID::stringsMorinKhuur }, + std::pair{ core::PlaybackSound::stringsNyckelharpa, api::SoundID::stringsNyckelharpa }, + std::pair{ core::PlaybackSound::stringsOctobass, api::SoundID::stringsOctobass }, + std::pair{ core::PlaybackSound::stringsRebab, api::SoundID::stringsRebab }, + std::pair{ core::PlaybackSound::stringsRebec, api::SoundID::stringsRebec }, + std::pair{ core::PlaybackSound::stringsSarangi, api::SoundID::stringsSarangi }, + std::pair{ core::PlaybackSound::stringsStrohViolin, api::SoundID::stringsStrohViolin }, + std::pair{ core::PlaybackSound::stringsTrombaMarina, api::SoundID::stringsTrombaMarina }, + std::pair{ core::PlaybackSound::stringsVielle, api::SoundID::stringsVielle }, + std::pair{ core::PlaybackSound::stringsViol, api::SoundID::stringsViol }, + std::pair{ core::PlaybackSound::stringsViolAlto, api::SoundID::stringsViolAlto }, + std::pair{ core::PlaybackSound::stringsViolBass, api::SoundID::stringsViolBass }, + std::pair{ core::PlaybackSound::stringsViolTenor, api::SoundID::stringsViolTenor }, + std::pair{ core::PlaybackSound::stringsViolTreble, api::SoundID::stringsViolTreble }, + std::pair{ core::PlaybackSound::stringsViolViolone, api::SoundID::stringsViolViolone }, + std::pair{ core::PlaybackSound::stringsViola, api::SoundID::stringsViola }, + std::pair{ core::PlaybackSound::stringsViolaDamore, api::SoundID::stringsViolaDamore }, + std::pair{ core::PlaybackSound::stringsViolin, api::SoundID::stringsViolin }, + std::pair{ core::PlaybackSound::stringsViolonoPiccolo, api::SoundID::stringsViolonoPiccolo }, + std::pair{ core::PlaybackSound::stringsViolotta, api::SoundID::stringsViolotta }, + std::pair{ core::PlaybackSound::stringsYayliTanbur, api::SoundID::stringsYayliTanbur }, + std::pair{ core::PlaybackSound::stringsYazheng, api::SoundID::stringsYazheng }, + std::pair{ core::PlaybackSound::stringsZhonghu, api::SoundID::stringsZhonghu }, + std::pair{ core::PlaybackSound::synthEffects, api::SoundID::synthEffects }, + std::pair{ core::PlaybackSound::synthEffectsAtmosphere, api::SoundID::synthEffectsAtmosphere }, + std::pair{ core::PlaybackSound::synthEffectsBrightness, api::SoundID::synthEffectsBrightness }, + std::pair{ core::PlaybackSound::synthEffectsCrystal, api::SoundID::synthEffectsCrystal }, + std::pair{ core::PlaybackSound::synthEffectsEchoes, api::SoundID::synthEffectsEchoes }, + std::pair{ core::PlaybackSound::synthEffectsGoblins, api::SoundID::synthEffectsGoblins }, + std::pair{ core::PlaybackSound::synthEffectsRain, api::SoundID::synthEffectsRain }, + std::pair{ core::PlaybackSound::synthEffectsSciFi, api::SoundID::synthEffectsSciFi }, + std::pair{ core::PlaybackSound::synthEffectsSoundtrack, api::SoundID::synthEffectsSoundtrack }, + std::pair{ core::PlaybackSound::synthGroup, api::SoundID::synthGroup }, + std::pair{ core::PlaybackSound::synthGroupFifths, api::SoundID::synthGroupFifths }, + std::pair{ core::PlaybackSound::synthGroupOrchestra, api::SoundID::synthGroupOrchestra }, + std::pair{ core::PlaybackSound::synthPad, api::SoundID::synthPad }, + std::pair{ core::PlaybackSound::synthPadBowed, api::SoundID::synthPadBowed }, + std::pair{ core::PlaybackSound::synthPadChoir, api::SoundID::synthPadChoir }, + std::pair{ core::PlaybackSound::synthPadHalo, api::SoundID::synthPadHalo }, + std::pair{ core::PlaybackSound::synthPadMetallic, api::SoundID::synthPadMetallic }, + std::pair{ core::PlaybackSound::synthPadPolysynth, api::SoundID::synthPadPolysynth }, + std::pair{ core::PlaybackSound::synthPadSweep, api::SoundID::synthPadSweep }, + std::pair{ core::PlaybackSound::synthPadWarm, api::SoundID::synthPadWarm }, + std::pair{ core::PlaybackSound::synthTheremin, api::SoundID::synthTheremin }, + std::pair{ core::PlaybackSound::synthToneSawtooth, api::SoundID::synthToneSawtooth }, + std::pair{ core::PlaybackSound::synthToneSine, api::SoundID::synthToneSine }, + std::pair{ core::PlaybackSound::synthToneSquare, api::SoundID::synthToneSquare }, + std::pair{ core::PlaybackSound::voiceAa, api::SoundID::voiceAa }, + std::pair{ core::PlaybackSound::voiceAlto, api::SoundID::voiceAlto }, + std::pair{ core::PlaybackSound::voiceAw, api::SoundID::voiceAw }, + std::pair{ core::PlaybackSound::voiceBaritone, api::SoundID::voiceBaritone }, + std::pair{ core::PlaybackSound::voiceBass, api::SoundID::voiceBass }, + std::pair{ core::PlaybackSound::voiceChild, api::SoundID::voiceChild }, + std::pair{ core::PlaybackSound::voiceCountertenor, api::SoundID::voiceCountertenor }, + std::pair{ core::PlaybackSound::voiceDoo, api::SoundID::voiceDoo }, + std::pair{ core::PlaybackSound::voiceEe, api::SoundID::voiceEe }, + std::pair{ core::PlaybackSound::voiceFemale, api::SoundID::voiceFemale }, + std::pair{ core::PlaybackSound::voiceKazoo, api::SoundID::voiceKazoo }, + std::pair{ core::PlaybackSound::voiceMale, api::SoundID::voiceMale }, + std::pair{ core::PlaybackSound::voiceMezzoSoprano, api::SoundID::voiceMezzoSoprano }, + std::pair{ core::PlaybackSound::voiceMm, api::SoundID::voiceMm }, + std::pair{ core::PlaybackSound::voiceOo, api::SoundID::voiceOo }, + std::pair{ core::PlaybackSound::voicePercussion, api::SoundID::voicePercussion }, + std::pair{ core::PlaybackSound::voicePercussionBeatbox, api::SoundID::voicePercussionBeatbox }, + std::pair{ core::PlaybackSound::voiceSoprano, api::SoundID::voiceSoprano }, + std::pair{ core::PlaybackSound::voiceSynth, api::SoundID::voiceSynth }, + std::pair{ core::PlaybackSound::voiceTalkBox, api::SoundID::voiceTalkBox }, + std::pair{ core::PlaybackSound::voiceTenor, api::SoundID::voiceTenor }, + std::pair{ core::PlaybackSound::voiceVocals, api::SoundID::voiceVocals }, + std::pair{ core::PlaybackSound::windFlutesBansuri, api::SoundID::windFlutesBansuri }, + std::pair{ core::PlaybackSound::windFlutesBlownBottle, api::SoundID::windFlutesBlownBottle }, + std::pair{ core::PlaybackSound::windFlutesCalliope, api::SoundID::windFlutesCalliope }, + std::pair{ core::PlaybackSound::windFlutesDanso, api::SoundID::windFlutesDanso }, + std::pair{ core::PlaybackSound::windFlutesDiZi, api::SoundID::windFlutesDiZi }, + std::pair{ core::PlaybackSound::windFlutesDvojnice, api::SoundID::windFlutesDvojnice }, + std::pair{ core::PlaybackSound::windFlutesFife, api::SoundID::windFlutesFife }, + std::pair{ core::PlaybackSound::windFlutesFlageolet, api::SoundID::windFlutesFlageolet }, + std::pair{ core::PlaybackSound::windFlutesFlute, api::SoundID::windFlutesFlute }, + std::pair{ core::PlaybackSound::windFlutesFluteAlto, api::SoundID::windFlutesFluteAlto }, + std::pair{ core::PlaybackSound::windFlutesFluteBass, api::SoundID::windFlutesFluteBass }, + std::pair{ core::PlaybackSound::windFlutesFluteContraAlto, api::SoundID::windFlutesFluteContraAlto }, + std::pair{ core::PlaybackSound::windFlutesFluteContrabass, api::SoundID::windFlutesFluteContrabass }, + std::pair{ core::PlaybackSound::windFlutesFluteDoubleContrabass, api::SoundID::windFlutesFluteDoubleContrabass }, + std::pair{ core::PlaybackSound::windFlutesFluteIrish, api::SoundID::windFlutesFluteIrish }, + std::pair{ core::PlaybackSound::windFlutesFlutePiccolo, api::SoundID::windFlutesFlutePiccolo }, + std::pair{ core::PlaybackSound::windFlutesFluteSubcontrabass, api::SoundID::windFlutesFluteSubcontrabass }, + std::pair{ core::PlaybackSound::windFlutesFujara, api::SoundID::windFlutesFujara }, + std::pair{ core::PlaybackSound::windFlutesGemshorn, api::SoundID::windFlutesGemshorn }, + std::pair{ core::PlaybackSound::windFlutesHocchiku, api::SoundID::windFlutesHocchiku }, + std::pair{ core::PlaybackSound::windFlutesHun, api::SoundID::windFlutesHun }, + std::pair{ core::PlaybackSound::windFlutesKaval, api::SoundID::windFlutesKaval }, + std::pair{ core::PlaybackSound::windFlutesKawala, api::SoundID::windFlutesKawala }, + std::pair{ core::PlaybackSound::windFlutesKhlui, api::SoundID::windFlutesKhlui }, + std::pair{ core::PlaybackSound::windFlutesKnotweed, api::SoundID::windFlutesKnotweed }, + std::pair{ core::PlaybackSound::windFlutesKoncovkaAlto, api::SoundID::windFlutesKoncovkaAlto }, + std::pair{ core::PlaybackSound::windFlutesKoudi, api::SoundID::windFlutesKoudi }, + std::pair{ core::PlaybackSound::windFlutesNey, api::SoundID::windFlutesNey }, + std::pair{ core::PlaybackSound::windFlutesNohkan, api::SoundID::windFlutesNohkan }, + std::pair{ core::PlaybackSound::windFlutesNose, api::SoundID::windFlutesNose }, + std::pair{ core::PlaybackSound::windFlutesOcarina, api::SoundID::windFlutesOcarina }, + std::pair{ core::PlaybackSound::windFlutesOvertoneTenor, api::SoundID::windFlutesOvertoneTenor }, + std::pair{ core::PlaybackSound::windFlutesPalendag, api::SoundID::windFlutesPalendag }, + std::pair{ core::PlaybackSound::windFlutesPanpipes, api::SoundID::windFlutesPanpipes }, + std::pair{ core::PlaybackSound::windFlutesQuena, api::SoundID::windFlutesQuena }, + std::pair{ core::PlaybackSound::windFlutesRecorder, api::SoundID::windFlutesRecorder }, + std::pair{ core::PlaybackSound::windFlutesRecorderAlto, api::SoundID::windFlutesRecorderAlto }, + std::pair{ core::PlaybackSound::windFlutesRecorderBass, api::SoundID::windFlutesRecorderBass }, + std::pair{ core::PlaybackSound::windFlutesRecorderContrabass, api::SoundID::windFlutesRecorderContrabass }, + std::pair{ core::PlaybackSound::windFlutesRecorderDescant, api::SoundID::windFlutesRecorderDescant }, + std::pair{ core::PlaybackSound::windFlutesRecorderGarklein, api::SoundID::windFlutesRecorderGarklein }, + std::pair{ core::PlaybackSound::windFlutesRecorderGreatBass, api::SoundID::windFlutesRecorderGreatBass }, + std::pair{ core::PlaybackSound::windFlutesRecorderSopranino, api::SoundID::windFlutesRecorderSopranino }, + std::pair{ core::PlaybackSound::windFlutesRecorderSoprano, api::SoundID::windFlutesRecorderSoprano }, + std::pair{ core::PlaybackSound::windFlutesRecorderTenor, api::SoundID::windFlutesRecorderTenor }, + std::pair{ core::PlaybackSound::windFlutesRyuteki, api::SoundID::windFlutesRyuteki }, + std::pair{ core::PlaybackSound::windFlutesShakuhachi, api::SoundID::windFlutesShakuhachi }, + std::pair{ core::PlaybackSound::windFlutesShepherdsPipe, api::SoundID::windFlutesShepherdsPipe }, + std::pair{ core::PlaybackSound::windFlutesShinobue, api::SoundID::windFlutesShinobue }, + std::pair{ core::PlaybackSound::windFlutesShvi, api::SoundID::windFlutesShvi }, + std::pair{ core::PlaybackSound::windFlutesSuling, api::SoundID::windFlutesSuling }, + std::pair{ core::PlaybackSound::windFlutesTarka, api::SoundID::windFlutesTarka }, + std::pair{ core::PlaybackSound::windFlutesTumpong, api::SoundID::windFlutesTumpong }, + std::pair{ core::PlaybackSound::windFlutesVenu, api::SoundID::windFlutesVenu }, + std::pair{ core::PlaybackSound::windFlutesWhistle, api::SoundID::windFlutesWhistle }, + std::pair{ core::PlaybackSound::windFlutesWhistleAlto, api::SoundID::windFlutesWhistleAlto }, + std::pair{ core::PlaybackSound::windFlutesWhistleLowIrish, api::SoundID::windFlutesWhistleLowIrish }, + std::pair{ core::PlaybackSound::windFlutesWhistleShiva, api::SoundID::windFlutesWhistleShiva }, + std::pair{ core::PlaybackSound::windFlutesWhistleSlide, api::SoundID::windFlutesWhistleSlide }, + std::pair{ core::PlaybackSound::windFlutesWhistleTin, api::SoundID::windFlutesWhistleTin }, + std::pair{ core::PlaybackSound::windFlutesWhistleTinBflat, api::SoundID::windFlutesWhistleTinBflat }, + std::pair{ core::PlaybackSound::windFlutesWhistleTinD, api::SoundID::windFlutesWhistleTinD }, + std::pair{ core::PlaybackSound::windFlutesXiao, api::SoundID::windFlutesXiao }, + std::pair{ core::PlaybackSound::windFlutesXun, api::SoundID::windFlutesXun }, + std::pair{ core::PlaybackSound::windGroup, api::SoundID::windGroup }, + std::pair{ core::PlaybackSound::windJug, api::SoundID::windJug }, + std::pair{ core::PlaybackSound::windPipesBagpipes, api::SoundID::windPipesBagpipes }, + std::pair{ core::PlaybackSound::windPipesGaida, api::SoundID::windPipesGaida }, + std::pair{ core::PlaybackSound::windPipesHighland, api::SoundID::windPipesHighland }, + std::pair{ core::PlaybackSound::windPipesUilleann, api::SoundID::windPipesUilleann }, + std::pair{ core::PlaybackSound::windPungi, api::SoundID::windPungi }, + std::pair{ core::PlaybackSound::windReedAlbogue, api::SoundID::windReedAlbogue }, + std::pair{ core::PlaybackSound::windReedAlboka, api::SoundID::windReedAlboka }, + std::pair{ core::PlaybackSound::windReedAlgaita, api::SoundID::windReedAlgaita }, + std::pair{ core::PlaybackSound::windReedArghul, api::SoundID::windReedArghul }, + std::pair{ core::PlaybackSound::windReedBassetHorn, api::SoundID::windReedBassetHorn }, + std::pair{ core::PlaybackSound::windReedBassoon, api::SoundID::windReedBassoon }, + std::pair{ core::PlaybackSound::windReedBawu, api::SoundID::windReedBawu }, + std::pair{ core::PlaybackSound::windReedBifora, api::SoundID::windReedBifora }, + std::pair{ core::PlaybackSound::windReedBombarde, api::SoundID::windReedBombarde }, + std::pair{ core::PlaybackSound::windReedChalumeau, api::SoundID::windReedChalumeau }, + std::pair{ core::PlaybackSound::windReedClarinet, api::SoundID::windReedClarinet }, + std::pair{ core::PlaybackSound::windReedClarinetA, api::SoundID::windReedClarinetA }, + std::pair{ core::PlaybackSound::windReedClarinetAlto, api::SoundID::windReedClarinetAlto }, + std::pair{ core::PlaybackSound::windReedClarinetBass, api::SoundID::windReedClarinetBass }, + std::pair{ core::PlaybackSound::windReedClarinetBasset, api::SoundID::windReedClarinetBasset }, + std::pair{ core::PlaybackSound::windReedClarinetBflat, api::SoundID::windReedClarinetBflat }, + std::pair{ core::PlaybackSound::windReedClarinetContraAlto, api::SoundID::windReedClarinetContraAlto }, + std::pair{ core::PlaybackSound::windReedClarinetContrabass, api::SoundID::windReedClarinetContrabass }, + std::pair{ core::PlaybackSound::windReedClarinetEflat, api::SoundID::windReedClarinetEflat }, + std::pair{ core::PlaybackSound::windReedClarinetPiccoloAflat, api::SoundID::windReedClarinetPiccoloAflat }, + std::pair{ core::PlaybackSound::windReedClarinetteDamour, api::SoundID::windReedClarinetteDamour }, + std::pair{ core::PlaybackSound::windReedContrabass, api::SoundID::windReedContrabass }, + std::pair{ core::PlaybackSound::windReedContrabassoon, api::SoundID::windReedContrabassoon }, + std::pair{ core::PlaybackSound::windReedCornamuse, api::SoundID::windReedCornamuse }, + std::pair{ core::PlaybackSound::windReedCromorne, api::SoundID::windReedCromorne }, + std::pair{ core::PlaybackSound::windReedCrumhorn, api::SoundID::windReedCrumhorn }, + std::pair{ core::PlaybackSound::windReedCrumhornAlto, api::SoundID::windReedCrumhornAlto }, + std::pair{ core::PlaybackSound::windReedCrumhornBass, api::SoundID::windReedCrumhornBass }, + std::pair{ core::PlaybackSound::windReedCrumhornGreatBass, api::SoundID::windReedCrumhornGreatBass }, + std::pair{ core::PlaybackSound::windReedCrumhornSoprano, api::SoundID::windReedCrumhornSoprano }, + std::pair{ core::PlaybackSound::windReedCrumhornTenor, api::SoundID::windReedCrumhornTenor }, + std::pair{ core::PlaybackSound::windReedDiple, api::SoundID::windReedDiple }, + std::pair{ core::PlaybackSound::windReedDiplica, api::SoundID::windReedDiplica }, + std::pair{ core::PlaybackSound::windReedDuduk, api::SoundID::windReedDuduk }, + std::pair{ core::PlaybackSound::windReedDulcian, api::SoundID::windReedDulcian }, + std::pair{ core::PlaybackSound::windReedDulzaina, api::SoundID::windReedDulzaina }, + std::pair{ core::PlaybackSound::windReedEnglishHorn, api::SoundID::windReedEnglishHorn }, + std::pair{ core::PlaybackSound::windReedGuanzi, api::SoundID::windReedGuanzi }, + std::pair{ core::PlaybackSound::windReedHarmonica, api::SoundID::windReedHarmonica }, + std::pair{ core::PlaybackSound::windReedHarmonicaBass, api::SoundID::windReedHarmonicaBass }, + std::pair{ core::PlaybackSound::windReedHeckelClarina, api::SoundID::windReedHeckelClarina }, + std::pair{ core::PlaybackSound::windReedHeckelphone, api::SoundID::windReedHeckelphone }, + std::pair{ core::PlaybackSound::windReedHeckelphonePiccolo, api::SoundID::windReedHeckelphonePiccolo }, + std::pair{ core::PlaybackSound::windReedHeckelphoneClarinet, api::SoundID::windReedHeckelphoneClarinet }, + std::pair{ core::PlaybackSound::windReedHichiriki, api::SoundID::windReedHichiriki }, + std::pair{ core::PlaybackSound::windReedHirtenschalmei, api::SoundID::windReedHirtenschalmei }, + std::pair{ core::PlaybackSound::windReedHne, api::SoundID::windReedHne }, + std::pair{ core::PlaybackSound::windReedHornpipe, api::SoundID::windReedHornpipe }, + std::pair{ core::PlaybackSound::windReedHouguan, api::SoundID::windReedHouguan }, + std::pair{ core::PlaybackSound::windReedHulusi, api::SoundID::windReedHulusi }, + std::pair{ core::PlaybackSound::windReedJogiBaja, api::SoundID::windReedJogiBaja }, + std::pair{ core::PlaybackSound::windReedKenBau, api::SoundID::windReedKenBau }, + std::pair{ core::PlaybackSound::windReedKhaenMouthOrgan, api::SoundID::windReedKhaenMouthOrgan }, + std::pair{ core::PlaybackSound::windReedLauneddas, api::SoundID::windReedLauneddas }, + std::pair{ core::PlaybackSound::windReedMaqrunah, api::SoundID::windReedMaqrunah }, + std::pair{ core::PlaybackSound::windReedMelodica, api::SoundID::windReedMelodica }, + std::pair{ core::PlaybackSound::windReedMijwiz, api::SoundID::windReedMijwiz }, + std::pair{ core::PlaybackSound::windReedMizmar, api::SoundID::windReedMizmar }, + std::pair{ core::PlaybackSound::windReedNadaswaram, api::SoundID::windReedNadaswaram }, + std::pair{ core::PlaybackSound::windReedOboe, api::SoundID::windReedOboe }, + std::pair{ core::PlaybackSound::windReedOboeBass, api::SoundID::windReedOboeBass }, + std::pair{ core::PlaybackSound::windReedOboePiccolo, api::SoundID::windReedOboePiccolo }, + std::pair{ core::PlaybackSound::windReedOboeDaCaccia, api::SoundID::windReedOboeDaCaccia }, + std::pair{ core::PlaybackSound::windReedOboeDamore, api::SoundID::windReedOboeDamore }, + std::pair{ core::PlaybackSound::windReedOctavin, api::SoundID::windReedOctavin }, + std::pair{ core::PlaybackSound::windReedPi, api::SoundID::windReedPi }, + std::pair{ core::PlaybackSound::windReedPibgorn, api::SoundID::windReedPibgorn }, + std::pair{ core::PlaybackSound::windReedPiri, api::SoundID::windReedPiri }, + std::pair{ core::PlaybackSound::windReedRackett, api::SoundID::windReedRackett }, + std::pair{ core::PlaybackSound::windReedRauschpfeife, api::SoundID::windReedRauschpfeife }, + std::pair{ core::PlaybackSound::windReedRhaita, api::SoundID::windReedRhaita }, + std::pair{ core::PlaybackSound::windReedRothphone, api::SoundID::windReedRothphone }, + std::pair{ core::PlaybackSound::windReedSarrusaphone, api::SoundID::windReedSarrusaphone }, + std::pair{ core::PlaybackSound::windReedSaxonette, api::SoundID::windReedSaxonette }, + std::pair{ core::PlaybackSound::windReedSaxophone, api::SoundID::windReedSaxophone }, + std::pair{ core::PlaybackSound::windReedSaxophoneAlto, api::SoundID::windReedSaxophoneAlto }, + std::pair{ core::PlaybackSound::windReedSaxophoneAulochrome, api::SoundID::windReedSaxophoneAulochrome }, + std::pair{ core::PlaybackSound::windReedSaxophoneBaritone, api::SoundID::windReedSaxophoneBaritone }, + std::pair{ core::PlaybackSound::windReedSaxophoneBass, api::SoundID::windReedSaxophoneBass }, + std::pair{ core::PlaybackSound::windReedSaxophoneContrabass, api::SoundID::windReedSaxophoneContrabass }, + std::pair{ core::PlaybackSound::windReedSaxophoneMelody, api::SoundID::windReedSaxophoneMelody }, + std::pair{ core::PlaybackSound::windReedSaxophoneMezzoSoprano, api::SoundID::windReedSaxophoneMezzoSoprano }, + std::pair{ core::PlaybackSound::windReedSaxophoneSopranino, api::SoundID::windReedSaxophoneSopranino }, + std::pair{ core::PlaybackSound::windReedSaxophoneSopranissimo, api::SoundID::windReedSaxophoneSopranissimo }, + std::pair{ core::PlaybackSound::windReedSaxophoneSoprano, api::SoundID::windReedSaxophoneSoprano }, + std::pair{ core::PlaybackSound::windReedSaxophoneSubcontrabass, api::SoundID::windReedSaxophoneSubcontrabass }, + std::pair{ core::PlaybackSound::windReedSaxophoneTenor, api::SoundID::windReedSaxophoneTenor }, + std::pair{ core::PlaybackSound::windReedShawm, api::SoundID::windReedShawm }, + std::pair{ core::PlaybackSound::windReedShenai, api::SoundID::windReedShenai }, + std::pair{ core::PlaybackSound::windReedSheng, api::SoundID::windReedSheng }, + std::pair{ core::PlaybackSound::windReedSipsi, api::SoundID::windReedSipsi }, + std::pair{ core::PlaybackSound::windReedSopila, api::SoundID::windReedSopila }, + std::pair{ core::PlaybackSound::windReedSorna, api::SoundID::windReedSorna }, + std::pair{ core::PlaybackSound::windReedSralai, api::SoundID::windReedSralai }, + std::pair{ core::PlaybackSound::windReedSuona, api::SoundID::windReedSuona }, + std::pair{ core::PlaybackSound::windReedSurnai, api::SoundID::windReedSurnai }, + std::pair{ core::PlaybackSound::windReedTaepyeongso, api::SoundID::windReedTaepyeongso }, + std::pair{ core::PlaybackSound::windReedTarogato, api::SoundID::windReedTarogato }, + std::pair{ core::PlaybackSound::windReedTarogatoAncient, api::SoundID::windReedTarogatoAncient }, + std::pair{ core::PlaybackSound::windReedTrompetaChina, api::SoundID::windReedTrompetaChina }, + std::pair{ core::PlaybackSound::windReedTubax, api::SoundID::windReedTubax }, + std::pair{ core::PlaybackSound::windReedXaphoon, api::SoundID::windReedXaphoon }, + std::pair{ core::PlaybackSound::windReedZhaleika, api::SoundID::windReedZhaleika }, + std::pair{ core::PlaybackSound::windReedZurla, api::SoundID::windReedZurla }, + std::pair{ core::PlaybackSound::windReedZurna, api::SoundID::windReedZurna }, + std::pair{ core::PlaybackSound::woodAgogoBlock, api::SoundID::woodAgogoBlock }, + std::pair{ core::PlaybackSound::woodAgungATamlang, api::SoundID::woodAgungATamlang }, + std::pair{ core::PlaybackSound::woodAhoko, api::SoundID::woodAhoko }, + std::pair{ core::PlaybackSound::woodBones, api::SoundID::woodBones }, + std::pair{ core::PlaybackSound::woodCastanets, api::SoundID::woodCastanets }, + std::pair{ core::PlaybackSound::woodClaves, api::SoundID::woodClaves }, + std::pair{ core::PlaybackSound::woodDrumSticks, api::SoundID::woodDrumSticks }, + std::pair{ core::PlaybackSound::woodGourd, api::SoundID::woodGourd }, + std::pair{ core::PlaybackSound::woodGraniteBlock, api::SoundID::woodGraniteBlock }, + std::pair{ core::PlaybackSound::woodGuban, api::SoundID::woodGuban }, + std::pair{ core::PlaybackSound::woodGuiro, api::SoundID::woodGuiro }, + std::pair{ core::PlaybackSound::woodHyoushigi, api::SoundID::woodHyoushigi }, + std::pair{ core::PlaybackSound::woodIpu, api::SoundID::woodIpu }, + std::pair{ core::PlaybackSound::woodJamBlock, api::SoundID::woodJamBlock }, + std::pair{ core::PlaybackSound::woodKaekeeke, api::SoundID::woodKaekeeke }, + std::pair{ core::PlaybackSound::woodKagul, api::SoundID::woodKagul }, + std::pair{ core::PlaybackSound::woodKalaau, api::SoundID::woodKalaau }, + std::pair{ core::PlaybackSound::woodKashiklar, api::SoundID::woodKashiklar }, + std::pair{ core::PlaybackSound::woodKubing, api::SoundID::woodKubing }, + std::pair{ core::PlaybackSound::woodPanClappers, api::SoundID::woodPanClappers }, + std::pair{ core::PlaybackSound::woodSandBlock, api::SoundID::woodSandBlock }, + std::pair{ core::PlaybackSound::woodSlapstick, api::SoundID::woodSlapstick }, + std::pair{ core::PlaybackSound::woodStirDrum, api::SoundID::woodStirDrum }, + std::pair{ core::PlaybackSound::woodTempleBlock, api::SoundID::woodTempleBlock }, + std::pair{ core::PlaybackSound::woodTicTocBlock, api::SoundID::woodTicTocBlock }, + std::pair{ core::PlaybackSound::woodTonetang, api::SoundID::woodTonetang }, + std::pair{ core::PlaybackSound::woodWoodBlock, api::SoundID::woodWoodBlock }, }; @@ -1673,15 +1673,15 @@ namespace mx } - core::PlaybackSound Converter::convert( api::InstrumentSound value ) const + core::PlaybackSound Converter::convert( api::SoundID value ) const { return findCoreItem( instrumentMap, core::PlaybackSound::keyboardPiano, value ); } - api::InstrumentSound Converter::convert( core::PlaybackSound value ) const + api::SoundID Converter::convert( core::PlaybackSound value ) const { - return findApiItem( instrumentMap, api::InstrumentSound::unspecified, value ); + return findApiItem( instrumentMap, api::SoundID::unspecified, value ); } } diff --git a/Sourcecode/mx/impl/Converter.h b/Sourcecode/mx/impl/Converter.h index e8a6341e4..fca4ca259 100644 --- a/Sourcecode/mx/impl/Converter.h +++ b/Sourcecode/mx/impl/Converter.h @@ -5,6 +5,7 @@ #pragma once #include "mx/api/ClefData.h" +#include "mx/api/SoundID.h" #include "mx/api/MarkData.h" #include "mx/api/NoteData.h" #include "mx/api/PositionData.h" @@ -103,8 +104,8 @@ namespace mx core::FermataShape convertFermata( api::MarkType value ) const; api::MarkType convertFermata( core::FermataShape value ) const; - core::PlaybackSound convert( api::InstrumentSound value ) const; - api::InstrumentSound convert( core::PlaybackSound value ) const; + core::PlaybackSound convert( api::SoundID value ) const; + api::SoundID convert( core::PlaybackSound value ) const; const static std::map stepMap; const static std::map durationMap; @@ -132,7 +133,7 @@ namespace mx const static std::map lineStopMap; const static std::map bracketMap; const static std::map fermataMap; - const static std::map instrumentMap; + const static std::map instrumentMap; private: template diff --git a/Sourcecode/mx/impl/PartReader.cpp b/Sourcecode/mx/impl/PartReader.cpp index fe7a17760..568ef0005 100644 --- a/Sourcecode/mx/impl/PartReader.cpp +++ b/Sourcecode/mx/impl/PartReader.cpp @@ -238,7 +238,7 @@ namespace mx if( scoreInstrument.getHasInstrumentSound() ) { Converter c; - myOutPartData.instrumentData.instrumentSound = c.convert( scoreInstrument.getInstrumentSound()->getValue() ); + myOutPartData.instrumentData.soundID = c.convert( scoreInstrument.getInstrumentSound()->getValue() ); } if( scoreInstrument.getHasVirtualInstrument() ) diff --git a/Sourcecode/mx/impl/PartWriter.cpp b/Sourcecode/mx/impl/PartWriter.cpp index 6a1e255e3..1a1f12476 100644 --- a/Sourcecode/mx/impl/PartWriter.cpp +++ b/Sourcecode/mx/impl/PartWriter.cpp @@ -142,11 +142,11 @@ namespace mx } } - if( myPartData.instrumentData.instrumentSound != api::InstrumentSound::unspecified && myPartData.instrumentData.instrumentSound != api::InstrumentSound::errorBadString ) + if( myPartData.instrumentData.soundID != api::SoundID::unspecified && myPartData.instrumentData.soundID != api::SoundID::errorBadString ) { scoreIntstrument->setHasInstrumentSound( true ); Converter c; - scoreIntstrument->getInstrumentSound()->setValue( c.convert( myPartData.instrumentData.instrumentSound ) ); + scoreIntstrument->getInstrumentSound()->setValue( c.convert( myPartData.instrumentData.soundID ) ); } if( addScoreInstrument ) diff --git a/Xcode/Mx.xcodeproj/project.pbxproj b/Xcode/Mx.xcodeproj/project.pbxproj index 25cdadebe..244dbce83 100755 --- a/Xcode/Mx.xcodeproj/project.pbxproj +++ b/Xcode/Mx.xcodeproj/project.pbxproj @@ -103,16 +103,16 @@ 29A8005D1EF0499300AD2478 /* XAttributeIterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2B71EF0476300AD2478 /* XAttributeIterator.cpp */; }; 29A8005E1EF0499300AD2478 /* XElementIterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2BD1EF0476300AD2478 /* XElementIterator.cpp */; }; 29A8005F1EF0499300AD2478 /* XFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2C01EF0476300AD2478 /* XFactory.cpp */; }; - 29A800641EF0876500AD2478 /* InstrumentSound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A800621EF0876500AD2478 /* InstrumentSound.cpp */; }; - 29A800651EF0876500AD2478 /* InstrumentSound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A800621EF0876500AD2478 /* InstrumentSound.cpp */; }; - 29A800661EF0876500AD2478 /* InstrumentSound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A800621EF0876500AD2478 /* InstrumentSound.cpp */; }; - 29A800671EF0876500AD2478 /* InstrumentSound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A800621EF0876500AD2478 /* InstrumentSound.cpp */; }; - 29A800681EF0876500AD2478 /* InstrumentSound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A800621EF0876500AD2478 /* InstrumentSound.cpp */; }; - 29A800691EF0876500AD2478 /* InstrumentSound.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A800631EF0876500AD2478 /* InstrumentSound.h */; }; - 29A8006A1EF0876500AD2478 /* InstrumentSound.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A800631EF0876500AD2478 /* InstrumentSound.h */; }; - 29A8006B1EF0876500AD2478 /* InstrumentSound.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A800631EF0876500AD2478 /* InstrumentSound.h */; }; - 29A8006C1EF0876500AD2478 /* InstrumentSound.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A800631EF0876500AD2478 /* InstrumentSound.h */; }; - 29A8006D1EF0876500AD2478 /* InstrumentSound.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A800631EF0876500AD2478 /* InstrumentSound.h */; }; + 29A800641EF0876500AD2478 /* SoundID.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A800621EF0876500AD2478 /* SoundID.cpp */; }; + 29A800651EF0876500AD2478 /* SoundID.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A800621EF0876500AD2478 /* SoundID.cpp */; }; + 29A800661EF0876500AD2478 /* SoundID.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A800621EF0876500AD2478 /* SoundID.cpp */; }; + 29A800671EF0876500AD2478 /* SoundID.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A800621EF0876500AD2478 /* SoundID.cpp */; }; + 29A800681EF0876500AD2478 /* SoundID.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A800621EF0876500AD2478 /* SoundID.cpp */; }; + 29A800691EF0876500AD2478 /* SoundID.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A800631EF0876500AD2478 /* SoundID.h */; }; + 29A8006A1EF0876500AD2478 /* SoundID.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A800631EF0876500AD2478 /* SoundID.h */; }; + 29A8006B1EF0876500AD2478 /* SoundID.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A800631EF0876500AD2478 /* SoundID.h */; }; + 29A8006C1EF0876500AD2478 /* SoundID.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A800631EF0876500AD2478 /* SoundID.h */; }; + 29A8006D1EF0876500AD2478 /* SoundID.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A800631EF0876500AD2478 /* SoundID.h */; }; 29A8E2D31EF0476300AD2478 /* ClefData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD5C1EF0475D00AD2478 /* ClefData.cpp */; }; 29A8E2D41EF0476300AD2478 /* ClefData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD5C1EF0475D00AD2478 /* ClefData.cpp */; }; 29A8E2D51EF0476300AD2478 /* ClefData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD5C1EF0475D00AD2478 /* ClefData.cpp */; }; @@ -3329,8 +3329,8 @@ /* Begin PBXFileReference section */ 293FFED21DD25C74001477E8 /* libmx-macOS.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libmx-macOS.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; 299F7FE61CA8D2200084CAE5 /* libMx.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMx.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 29A800621EF0876500AD2478 /* InstrumentSound.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InstrumentSound.cpp; sourceTree = ""; }; - 29A800631EF0876500AD2478 /* InstrumentSound.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InstrumentSound.h; sourceTree = ""; }; + 29A800621EF0876500AD2478 /* SoundID.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SoundID.cpp; sourceTree = ""; }; + 29A800631EF0876500AD2478 /* SoundID.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SoundID.h; sourceTree = ""; }; 29A8DD591EF0475D00AD2478 /* ApiCommon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ApiCommon.h; sourceTree = ""; }; 29A8DD5A1EF0475D00AD2478 /* ApiEquality.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ApiEquality.h; sourceTree = ""; }; 29A8DD5B1EF0475D00AD2478 /* BarlineData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BarlineData.h; sourceTree = ""; }; @@ -4843,6 +4843,8 @@ 29A8DD7B1EF0475D00AD2478 /* ScoreData.h */, 29A8DD7C1EF0475D00AD2478 /* Smufl.cpp */, 29A8DD7D1EF0475D00AD2478 /* Smufl.h */, + 29A800621EF0876500AD2478 /* SoundID.cpp */, + 29A800631EF0876500AD2478 /* SoundID.h */, 29A8DD7E1EF0475D00AD2478 /* SpannerData.h */, 29A8DD7F1EF0475D00AD2478 /* StaffData.h */, 29A8DD801EF0475D00AD2478 /* SystemData.h */, @@ -4853,8 +4855,6 @@ 29A8DD851EF0475D00AD2478 /* WedgeData.h */, 29A8DD861EF0475D00AD2478 /* WordsData.cpp */, 29A8DD871EF0475D00AD2478 /* WordsData.h */, - 29A800621EF0876500AD2478 /* InstrumentSound.cpp */, - 29A800631EF0876500AD2478 /* InstrumentSound.h */, ); path = api; sourceTree = ""; @@ -6260,7 +6260,7 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 29A8006A1EF0876500AD2478 /* InstrumentSound.h in Headers */, + 29A8006A1EF0876500AD2478 /* SoundID.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -6268,7 +6268,7 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 29A800691EF0876500AD2478 /* InstrumentSound.h in Headers */, + 29A800691EF0876500AD2478 /* SoundID.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -6277,7 +6277,7 @@ buildActionMask = 2147483647; files = ( 29A8FDC61EF0497500AD2478 /* MxmacOS.h in Headers */, - 29A8006D1EF0876500AD2478 /* InstrumentSound.h in Headers */, + 29A8006D1EF0876500AD2478 /* SoundID.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -6286,7 +6286,7 @@ buildActionMask = 2147483647; files = ( 29B962851E79FF410072071D /* MxiOS.h in Headers */, - 29A8006C1EF0876500AD2478 /* InstrumentSound.h in Headers */, + 29A8006C1EF0876500AD2478 /* SoundID.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -6294,7 +6294,7 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 29A8006B1EF0876500AD2478 /* InstrumentSound.h in Headers */, + 29A8006B1EF0876500AD2478 /* SoundID.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -6577,7 +6577,7 @@ 29A8F18E1EF0476800AD2478 /* Octave.cpp in Sources */, 29A8EFC21EF0476700AD2478 /* MidiChannel.cpp in Sources */, 29A8FD461EF0476E00AD2478 /* PugiAttribute.cpp in Sources */, - 29A800651EF0876500AD2478 /* InstrumentSound.cpp in Sources */, + 29A800651EF0876500AD2478 /* SoundID.cpp in Sources */, 29A8F6251EF0476A00AD2478 /* Slide.cpp in Sources */, 29A8E8741EF0476400AD2478 /* DisplayStep.cpp in Sources */, 29A8F67F1EF0476A00AD2478 /* SoundAttributes.cpp in Sources */, @@ -7246,7 +7246,7 @@ 29A8F18D1EF0476800AD2478 /* Octave.cpp in Sources */, 29A8EFC11EF0476700AD2478 /* MidiChannel.cpp in Sources */, 29A8FD451EF0476E00AD2478 /* PugiAttribute.cpp in Sources */, - 29A800641EF0876500AD2478 /* InstrumentSound.cpp in Sources */, + 29A800641EF0876500AD2478 /* SoundID.cpp in Sources */, 29A8F6241EF0476A00AD2478 /* Slide.cpp in Sources */, 29A8E8731EF0476400AD2478 /* DisplayStep.cpp in Sources */, 29A8F67E1EF0476A00AD2478 /* SoundAttributes.cpp in Sources */, @@ -7915,7 +7915,7 @@ 29A8FE3D1EF0499200AD2478 /* DegreeAttributes.cpp in Sources */, 29A8FE3E1EF0499200AD2478 /* DegreeType.cpp in Sources */, 29A8FE3F1EF0499200AD2478 /* DegreeTypeAttributes.cpp in Sources */, - 29A800681EF0876500AD2478 /* InstrumentSound.cpp in Sources */, + 29A800681EF0876500AD2478 /* SoundID.cpp in Sources */, 29A8FE401EF0499200AD2478 /* DegreeValue.cpp in Sources */, 29A8FE411EF0499200AD2478 /* DegreeValueAttributes.cpp in Sources */, 29A8FE421EF0499200AD2478 /* DelayedInvertedTurn.cpp in Sources */, @@ -8584,7 +8584,7 @@ 29A8F1901EF0476800AD2478 /* Octave.cpp in Sources */, 29A8EFC41EF0476700AD2478 /* MidiChannel.cpp in Sources */, 29A8FD481EF0476E00AD2478 /* PugiAttribute.cpp in Sources */, - 29A800671EF0876500AD2478 /* InstrumentSound.cpp in Sources */, + 29A800671EF0876500AD2478 /* SoundID.cpp in Sources */, 29A8F6271EF0476A00AD2478 /* Slide.cpp in Sources */, 29A8E8761EF0476400AD2478 /* DisplayStep.cpp in Sources */, 29A8F6811EF0476A00AD2478 /* SoundAttributes.cpp in Sources */, @@ -9253,7 +9253,7 @@ 29A8F18F1EF0476800AD2478 /* Octave.cpp in Sources */, 29A8EFC31EF0476700AD2478 /* MidiChannel.cpp in Sources */, 29A8FD471EF0476E00AD2478 /* PugiAttribute.cpp in Sources */, - 29A800661EF0876500AD2478 /* InstrumentSound.cpp in Sources */, + 29A800661EF0876500AD2478 /* SoundID.cpp in Sources */, 29A8F6261EF0476A00AD2478 /* Slide.cpp in Sources */, 29A8E8751EF0476400AD2478 /* DisplayStep.cpp in Sources */, 29A8F6801EF0476A00AD2478 /* SoundAttributes.cpp in Sources */, From cfd43d9c2e47ba4cfc6146feece439596da67ada Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Tue, 13 Jun 2017 15:35:29 -0700 Subject: [PATCH 051/108] mxapi restore compile control --- Sourcecode/mxtest/control/CompileControl.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Sourcecode/mxtest/control/CompileControl.h b/Sourcecode/mxtest/control/CompileControl.h index 7488273f9..45aa337b2 100755 --- a/Sourcecode/mxtest/control/CompileControl.h +++ b/Sourcecode/mxtest/control/CompileControl.h @@ -5,7 +5,7 @@ #pragma once #define MX_COMPILE_API_TESTS #define MX_COMPILE_API_ROUNDTRIP -#define MX_COMPILE_CORE_TESTS +//#define MX_COMPILE_CORE_TESTS #define MX_COMPILE_IMPL_TESTS #define MX_COMPILE_IMPORT_TESTS #define MX_COMPILE_NEW_DECIMAL_TESTS @@ -15,4 +15,4 @@ // use this to restrict the size of the files that // the test run will open (compile-time constant). // 0 indicates no limit -constexpr const int MX_COMPILE_MAX_FILE_SIZE_BYTES = 1;//(10 * 1024); +constexpr const int MX_COMPILE_MAX_FILE_SIZE_BYTES = 1024; // (1024 * 1024); From f7db864349e0e5d33796b4009d3757637da13e96 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Tue, 13 Jun 2017 15:50:09 -0700 Subject: [PATCH 052/108] mx-version-0.2.0.20 --- Sourcecode/mx/impl/MxVersionDefines.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sourcecode/mx/impl/MxVersionDefines.h b/Sourcecode/mx/impl/MxVersionDefines.h index eb8b8902d..2b4f537ba 100644 --- a/Sourcecode/mx/impl/MxVersionDefines.h +++ b/Sourcecode/mx/impl/MxVersionDefines.h @@ -1,4 +1,4 @@ #define MX_VERSION_MAJOR 0 #define MX_VERSION_MINOR 2 #define MX_VERSION_PATCH 0 -#define MX_VERSION_BUILD 19 +#define MX_VERSION_BUILD 20 From 5572c775e994906297efa344732de09fdab00fc7 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Mon, 19 Jun 2017 18:44:41 -0700 Subject: [PATCH 053/108] sound and general midi work --- Documents/DevNotes/GmMapToMusicXML.xml | 1761 ++++++++++++++++++++++++ Documents/DevNotes/MusicXMLSounds.xml | 888 ++++++++++++ 2 files changed, 2649 insertions(+) create mode 100644 Documents/DevNotes/GmMapToMusicXML.xml create mode 100644 Documents/DevNotes/MusicXMLSounds.xml diff --git a/Documents/DevNotes/GmMapToMusicXML.xml b/Documents/DevNotes/GmMapToMusicXML.xml new file mode 100644 index 000000000..307a92d83 --- /dev/null +++ b/Documents/DevNotes/GmMapToMusicXML.xml @@ -0,0 +1,1761 @@ + + + + + 1 + Acoustic Grand Piano + keyboard.piano + true + + keyboard.piano.prepared + keyboard.piano.upright + keyboard.piano.grand + keyboard.fortepiano + keyboard.bandoneon + keyboard.piano.toy + keyboard.virginal + + + + 2 + Bright Acoustic Piano + keyboard.piano + false + + + + 3 + Electric Grand Piano + keyboard.piano.electric + true + + + + 4 + Honky-tonk Piano + keyboard.piano.honky-tonk + true + + + + 5 + Electric Piano 1 + keyboard.piano.electric + true + + + + 6 + Electric Piano 2 + keyboard.piano.electric + false + + + + 7 + Harpsichord + keyboard.harpsichord + true + + keyboard.harmonium + + + + 8 + Clavi + keyboard.clavichord + true + + wood.claves + keyboard.clavichord.synth + + + + 9 + Celesta + keyboard.celesta + true + + keyboard.concertina + metal.washboard + + + + 10 + Glockenspiel + pitched-percussion.glockenspiel + true + + pitched-percussion.glockenspiel.alto + pitched-percussion.glockenspiel.soprano + pitched-percussion.gender + + + + 11 + Music Box + pitched-percussion.music-box + true + + voice.percussion.beatbox + voice.percussion + + + + 12 + Vibraphone + pitched-percussion.vibraphone + true + + pitched-percussion.dan-tam-thap-luc + pitched-percussion.ranat.thum-lek + pitched-percussion.ranat.ek-lek + rattle.vibraslap + rattle.ratchet + + + + 13 + Marimba + pitched-percussion.marimba + true + + pitched-percussion.xylorimba + pitched-percussion.gyil + pitched-percussion.sanza + pitched-percussion.mbira + pitched-percussion.gangsa + pitched-percussion.pemade + pitched-percussion.luntang + pitched-percussion.penyacah + pitched-percussion.ranat.ek + pitched-percussion.fangxiang + pitched-percussion.ranat.thum + pitched-percussion.mbira.array + pitched-percussion.marimba.bass + pitched-percussion.saron-demong + pitched-percussion.saron-barung + pitched-percussion.hammer-dulcimer + pitched-percussion.glass-harmonica + pitched-percussion.yangqin + pitched-percussion.slentem + pitched-percussion.giying + + + + 14 + Xylophone + pitched-percussion.xylophone + true + + pitched-percussion.metallophone + pitched-percussion.pelog-panerus + pitched-percussion.xylophone.alto + pitched-percussion.xylophone.bass + pitched-percussion.metallophone.bass + pitched-percussion.metallophone.alto + pitched-percussion.xylophone.soprano + pitched-percussion.metallophone.soprano + pitched-percussion.reyong + pitched-percussion.bonang + pitched-percussion.bianzhong + pitched-percussion.saron-panerus + pitched-percussion.slendro-panerus + + + + 15 + Tubular Bells + pitched-percussion.tubular-bells + true + + pitched-percussion.handbells + pitched-percussion.bells + pitched-percussion.tubes + pitched-percussion.bell-lyre + + + + 16 + Dulcimer + pluck.dulcimer + true + + pluck.cittern + pluck.ukulele + pluck.psaltery + pluck.duxianqin + pluck.diddley-bow + + + + 17 + Drawbar Organ + keyboard.organ.drawbar + true + + + + 18 + Percussive Organ + keyboard.organ.percussive + true + + + + 19 + Rock Organ + keyboard.organ.rotary + true + + keyboard.ondes-martenot + + + + 20 + Church Organ + keyboard.organ.pipe + true + + keyboard.organ + + + + 21 + Reed Organ + keyboard.organ.reed + true + + + + 22 + Accordion + keyboard.accordion + true + + + + 23 + Harmonica + wind.reed.harmonica + true + + wind.reed.melodica + wind.reed.harmonica.bass + wind.reed.diplica + wind.reed.hirtenschalmei + wind.reed.hichiriki + + + + 24 + Tango Accordion + keyboard.accordion + false + + + + 25 + Acoustic Guitar (nylon) + pluck.guitar.acoustic + true + + + + 26 + Acoustic Guitar (steel) + pluck.guitar.steel-string + true + + pluck.guitar.nylon-string + pluck.guitar.pedal-steel + + + + 27 + Electric Guitar (jazz) + pluck.guitar.electric + true + + + + 28 + Electric Guitar (clean) + pluck.guitar.electric + true + + + + 29 + Electric Guitar (muted) + pluck.guitar.electric + true + + + + 30 + Overdriven Guitar + pluck.guitar.electric + false + + + + 31 + Distortion Guitar + pluck.guitar.electric + false + + pluck.guitjo.double-neck + pluck.guitjo + pluck.guitar.requinto + pluck.guitar.resonator + pluck.guitar.portuguese + drum.snare-drum.electric + + + + 32 + Guitar harmonics + pluck.guitar.acoustic + false + + + + 33 + Acoustic Bass + pluck.bass.acoustic + true + + pluck.balalaika.piccolo + + + + 34 + Electric Bass (finger) + pluck.bass.electric + true + + + + 35 + Electric Bass (pick) + pluck.bass.electric + false + + + + 36 + Fretless Bass + pluck.bass.fretless + true + + + + 37 + Slap Bass 1 + effect.bass-string-slap + true + + + + 38 + Slap Bass 2 + effect.bass-string-slap + true + + + + 39 + Synth Bass 1 + pluck.bass.synth + true + + pluck.bass.bolon + pluck.bass + pluck.synth + pluck.bass.whamola + pluck.bass.washtub + pluck.balalaika.bass + pluck.bass.guitarron + pluck.balalaika.contrabass + + + + 40 + Synth Bass 2 + pluck.bass.synth + false + + + + 41 + Violin + strings.violin + true + + strings.yayli-tanbur + strings.stroh-violin + strings.morin-khuur + + + + 42 + Viola + strings.viola + true + + strings.violotta + strings.viol.treble + strings.viol.violone + strings.violono.piccolo + strings.viol.alto + strings.viol.bass + strings.ajaeng + strings.laruan + strings.esraj + strings.arpeggione + strings.igil + strings.erhu + strings.viol + strings.viola-damore + strings.hurdy-gurdy + strings.viol.tenor + + + + 43 + Cello + strings.cello + true + + strings.nyckelharpa + strings.cello.piccolo + strings.kamancha + strings.haegeum + strings.sarangi + strings.erxian + strings.rebec + strings.crwth + strings.dihu + strings.vielle + strings.lyra.cretan + + + + 44 + Contrabass + strings.contrabass + true + + strings.octobass + strings.baryton + strings.rebab + strings.lyra.byzantine + brass.bugle.contrabass + rattle.cabasa + rattle.cog + + + + 45 + Tremolo Strings + strings.group + false + + + + 46 + Pizzicato Strings + strings.group + false + + drum.group.indian + strings.zhonghu + strings.dan-gao + strings.gadulka + strings.yazheng + strings.lirone + strings.kokyu + strings.gaohu + wind.group + strings.gehu + strings.tromba-marina + + + + 47 + Orchestral Harp + pluck.harp + true + + pluck.laud + pluck.lute + pluck.lyre + pluck.domra + pluck.valiha + pluck.timple + pluck.vihuela + pluck.autoharp + pluck.archlute + pluck.marovany + pluck.huapanguera + pluck.harp-guitar + pluck.celtic-harp + + + + 48 + Timpani + drum.timpani + true + + drum.kendhang.ciblon + drum.bodhran + drum.kpanlogo + drum.log-drum.native + drum.log-drum.african + drum.log-drum.nigerian + drum.repinique + drum.kanjira + drum.hand-drum + drum.pandero + drum.mridangam + drum.kenkeni + drum.jang-gu + drum.pakhawaj + drum.kendhang + drum.pandeiro + drum.atsimevu + drum.frame-drum.arabian + drum.kagan + drum.tinaja + drum.timbale + drum.kendhang.ageng + drum.sampho + drum.pahu-hula + drum.sangban + drum.dabakan + + + + 49 + String Ensemble 1 + strings.group + true + + + + 50 + String Ensemble 2 + strings.group + false + + + + 51 + SynthStrings 1 + strings.group.synth + true + + + + 52 + SynthStrings 2 + strings.group.synth + false + + + + 53 + Choir Aahs + voice.aa + true + + voice.vocals + voice.female + voice.child + rattle.afoxe + voice.baritone + voice.alto + voice.aw + + + + 54 + Voice Oohs + voice.oo + true + + voice.doo + voice.kazoo + voice.male + voice.bass + voice.ee + voice.mm + + + + 55 + Synth Voice + voice.synth + true + + + + 56 + Orchestra Hit + synth.group.orchestra + true + + drum.group.chinese + + + + 57 + Trumpet + brass.trumpet + true + + + + 58 + Trombone + brass.trombone + true + + brass.mellophone + brass.bugle.mellophone-bugle + brass.trombone.contrabass + brass.trombone.tenor + brass.trombone.alto + brass.trombone.bass + brass.helicon + brass.bugle.baritone + rattle.jawbone + brass.sousaphone + + + + 59 + Tuba + brass.tuba + true + + brass.sackbutt + brass.didgeridoo + brass.sackbutt.alto + brass.sackbutt.bass + brass.sackbutt.tenor + brass.tuba.subcontrabass + brass.wagner-tuba + brass.tuba.bass + brass.bugle.alto + brass.rag-dung + brass.shofar + brass.bugle + brass.ophicleide + brass.bugle.soprano + brass.cimbasso + brass.vuvuzela + + + + 60 + Muted Trumpet + brass.trumpet + false + + brass.trumpet.pocket + brass.trumpet.piccolo + brass.trumpet.slide + brass.trumpet.baroque + brass.trumpet.bass + brass.trumpet.bflat + brass.cornet + brass.trumpet.tenor + brass.trumpet.c + brass.trumpet.d + + + + 61 + French Horn + brass.french-horn + true + + brass.kuhlohorn + brass.vienna-horn + brass.conch-shell + brass.cornettino + brass.alto-horn + brass.cornett.tenor + brass.alphorn + brass.cornet.soprano + brass.posthorn + brass.fiscorn + brass.saxhorn + brass.baritone-horn + brass.natural-horn + brass.cornett + brass.horagai + brass.flugelhorn + + + + 62 + Brass Section + brass.group + true + + drum.group.ewe + brass.euphonium + brass.bugle.euphonium-bugle + drum.group + rattle.ganza + + + + 63 + SynthBrass 1 + brass.group.synth + true + + brass.serpent + drum.group.set + + + + 64 + SynthBrass 2 + brass.group.synth + false + + + + 65 + Soprano Sax + wind.reed.saxophone.soprano + true + + wind.reed.crumhorn.soprano + wind.reed.saxophone.sopranino + wind.reed.saxophone.mezzo-soprano + wind.reed.saxophone.subcontrabass + wind.reed.saxophone.sopranissimo + + + + 66 + Alto Sax + wind.reed.saxophone.alto + true + + wind.reed.saxophone.melody + wind.reed.heckelphone.piccolo + wind.reed.saxophone.aulochrome + wind.reed.heckelphone + wind.reed.sarrusaphone + wind.reed.crumhorn.alto + wind.reed.saxophone.tenor + wind.reed.rothphone + wind.reed.saxonette + wind.reed.saxophone + + + + 67 + Tenor Sax + voice.tenor + true + + pluck.ukulele.tenor + rattle.televi + voice.mezzo-soprano + voice.countertenor + voice.talk-box + + + + 68 + Baritone Sax + wind.reed.saxophone.baritone + true + + wind.reed.saxophone.bass + wind.reed.saxophone.contrabass + + + + 69 + Oboe + wind.reed.oboe + true + + wind.reed.octavin + wind.reed.rackett + wind.reed.oboe.piccolo + wind.reed.bombarde + wind.reed.duduk + wind.reed.oboe-da-caccia + wind.reed.houguan + wind.reed.pibgorn + wind.reed.tarogato + wind.reed.rauschpfeife + wind.reed.albogue + wind.reed.oboe-damore + wind.reed.dulcian + wind.reed.arghul + wind.reed.guanzi + wind.reed.hulusi + wind.reed.chalumeau + wind.reed.mizmar + wind.reed.piri + wind.reed.mijwiz + wind.reed.alboka + wind.reed.diple + wind.reed.hne + wind.reed.pi + wind.reed.oboe.bass + wind.reed.zurla + wind.jug + wind.reed.zhaleika + + + + 70 + English Horn + wind.reed.english-horn + true + + wind.reed.hornpipe + wind.reed.crumhorn + wind.reed.crumhorn.tenor + wind.reed.khaen-mouth-organ + + + + 71 + Bassoon + wind.reed.bassoon + true + + wind.reed.xaphoon + wind.reed.contrabassoon + wind.reed.crumhorn.bass + wind.reed.crumhorn.great-bass + wind.reed.taepyeongso + wind.reed.tubax + wind.reed.basset-horn + wind.reed.bifora + wind.reed.bawu + wind.reed.contrabass + wind.reed.jogi-baja + + + + 72 + Clarinet + wind.reed.clarinet + true + + wind.reed.heckel-clarina + wind.reed.heckelphone-clarinet + wind.reed.clarinet.piccolo.aflat + wind.reed.clarinet.alto + wind.reed.clarinet.bass + wind.reed.cromorne + wind.reed.clarinet.eflat + wind.reed.clarinet.bflat + wind.reed.clarinet.basset + wind.reed.clarinette-damour + wind.reed.clarinet.contrabass + wind.reed.clarinet.contra-alto + wind.reed.clarinet.a + wind.reed.launeddas + wind.reed.trompeta-china + + + + 73 + Piccolo + wind.flutes.flute.piccolo + true + + + + 74 + Flute + wind.flutes.flute + true + + wind.flutes.flute.double-contrabass + wind.flutes.kawala + wind.flutes.di-zi + wind.flutes.ney + wind.flutes.xun + wind.flutes.flute.bass + wind.flutes.khlui + wind.flutes.koudi + wind.flutes.danso + wind.flutes.flute.contrabass + wind.flutes.flute.alto + wind.flutes.flute.contra-alto + wind.flutes.fujara + wind.flutes.kaval + wind.flutes.flute.subcontrabass + wind.flutes.xiao + wind.flutes.nose + wind.flutes.venu + wind.flutes.fife + wind.flutes.knotweed + wind.flutes.hun + wind.flutes.tumpong + wind.flutes.ryuteki + wind.flutes.flute.irish + wind.flutes.flageolet + wind.flutes.dvojnice + wind.flutes.whistle + + + + 75 + Recorder + wind.flutes.recorder + true + + wind.flutes.recorder.bass + wind.flutes.recorder.alto + wind.flutes.koncovka.alto + wind.flutes.overtone.tenor + wind.flutes.recorder.tenor + wind.flutes.recorder.descant + wind.flutes.recorder.soprano + wind.flutes.recorder.sopranino + wind.flutes.recorder.contrabass + wind.flutes.recorder.great-bass + wind.flutes.gemshorn + wind.flutes.recorder.garklein + + + + 76 + Pan Flute + wind.flutes.panpipes + true + + wood.pan-clappers + wind.flutes.shepherds-pipe + wind.flutes.nohkan + wind.flutes.palendag + wind.pipes.highland + wind.pipes.uilleann + + + + 77 + Blown Bottle + wind.flutes.blown-bottle + true + + wind.flutes.whistle.low-irish + rattle.maraca + rattle.caxixi + rattle.hosho + wind.flutes.whistle.tin.bflat + + + + 78 + Shakuhachi + wind.flutes.shakuhachi + true + + wind.flutes.hocchiku + rattle.shaker.egg + wind.flutes.shinobue + rattle.shaker + wind.flutes.shvi + wind.flutes.whistle.shiva + wind.flutes.whistle.slide + + + + 79 + Whistle + effect.whistle + true + + effect.car.stop + effect.high-q + effect.stamp + effect.starship + rattle.wasembe + effect.whip + effect.whistle.mouth-siren + rattle.sistre + effect.whistle.police + effect.whistle.train + effect.whistle.slide + + + + 80 + Ocarina + wind.flutes.ocarina + true + + wind.flutes.quena + wind.flutes.tarka + wind.flutes.bansuri + wind.flutes.suling + wind.flutes.whistle.tin.d + wind.flutes.whistle.tin + + + + 81 + Lead 1 (square) + synth.tone.square + true + + synth.theremin + synth.tone.sine + rattle.lava-stones + + + + 82 + Lead 2 (sawtooth) + synth.tone.sawtooth + true + + wood.tonetang + + + + 83 + Lead 3 (calliope) + wind.flutes.calliope + true + + wind.flutes.whistle.alto + + + + 84 + Lead 4 (chiff) + pluck.synth.chiff + true + + pluck.synth.stick + + + + 85 + Lead 5 (charang) + pluck.synth.charang + true + + pluck.jarana-jarocha + pluck.jarana-jarocha.segunda + pluck.jarana-jarocha.primera + pluck.jarana-jarocha.tercera + pluck.jarana-jarocha.mosquito + pluck.cithara + pluck.charango + pluck.jarana-huasteca + pluck.guzheng.choazhou + pluck.chitarra-battente + + + + 86 + Lead 6 (voice) + voice.synth + false + + voice.soprano + + + + 87 + Lead 7 (fifths) + synth.group.fifths + true + + synth.group + + + + 88 + Lead 8 (bass + lead) + pluck.bass.synth.lead + true + + + + 89 + Pad 1 (new age) + synth.pad + true + + + + 90 + Pad 2 (warm) + synth.pad.warm + true + + + + 91 + Pad 3 (polysynth) + synth.pad.polysynth + true + + + + 92 + Pad 4 (choir) + synth.pad.choir + true + + + + 93 + Pad 5 (bowed) + synth.pad.bowed + true + + + + 94 + Pad 6 (metallic) + synth.pad.metallic + true + + + + 95 + Pad 7 (halo) + synth.pad.halo + true + + + + 96 + Pad 8 (sweep) + synth.pad.sweep + true + + + + 97 + FX 1 (rain) + effect.rain + true + + effect.crickets + rattle.rain-stick + effect.car.engine + effect.air-horn + effect.car + effect.trash-can + effect.train + effect.frogs + effect.scratch + effect.wind + effect.marching-machine + effect.snap + effect.car.pass + effect.car.crash + rattle.rattle + effect.dog + + + + 98 + FX 2 (soundtrack) + synth.effects.soundtrack + true + + + + 99 + FX 3 (crystal) + synth.effects.crystal + true + + + + 100 + FX 4 (atmosphere) + synth.effects.atmosphere + true + + + + 101 + FX 5 (brightness) + synth.effects.brightness + true + + + + 102 + FX 6 (goblins) + synth.effects.goblins + true + + synth.effects.rain + + + + 103 + FX 7 (echoes) + synth.effects.echoes + true + + synth.effects + + + + 104 + FX 8 (sci-fi) + synth.effects.sci-fi + true + + + + 105 + Sitar + pluck.sitar + true + + pluck.sarod + pluck.se + pluck.saz + pluck.tar + pluck.dutar + pluck.setar + pluck.saung + pluck.ektara + pluck.guitar + pluck.zither + pluck.sanxian + pluck.tambura + pluck.sallaneh + pluck.musical-bow + pluck.tambura.male + pluck.veena.vichitra + pluck.tambura.female + + + + 106 + Banjo + pluck.banjo + true + + pluck.mandocello + pluck.mandolin.octave + pluck.bajo + pluck.ruan + pluck.biwa + pluck.barbat + pluck.begena + pluck.mandola + pluck.bandura + pluck.bandola + pluck.mandora + pluck.mandore + pluck.dan-bau + pluck.baglama + pluck.mandolin + pluck.bordonua + pluck.bouzouki + pluck.langeleik + pluck.balalaika + pluck.bandurria + pluck.mandobass + pluck.dan-ty-ba + pluck.dan-tranh + pluck.banjolele + pluck.dan-nguyet + pluck.banjo.tenor + pluck.balalaika.alto + pluck.vihuela.mexican + pluck.balalaika.prima + pluck.tambura.bulgarian + pluck.balalaika.secunda + + + + 107 + Shamisen + pluck.shamisen + true + + pluck.guzheng + pluck.sanshin + pluck.veena.mohan + pluck.veena.rudra + pluck.bouzouki.irish + + + + 108 + Koto + pluck.koto + true + + pluck.santoor + pluck.oud + pluck.domu + pluck.pipa + pluck.tres + pluck.kora + pluck.veena + pluck.kanun + pluck.tiple + pluck.guqin + pluck.xalam + pluck.ngoni + pluck.komuz + pluck.kobza + pluck.cuatro + pluck.kabosy + pluck.yueqin + pluck.theorbo + pluck.kantele + pluck.kayagum + pluck.geomungo + pluck.kutiyapi + pluck.gottuvadhyam + pluck.zither.overtone + rattle.kpoko-kpoko + + + + 109 + Kalimba + pitched-percussion.kalimba + true + + pitched-percussion.cimbalom + pitched-percussion.kantil + pitched-percussion.balafon + pitched-percussion.angklung + pitched-percussion.tsymbaly + pitched-percussion.gandingan-a-kayo + pitched-percussion.crystal-glasses + pitched-percussion.bianqing + pitched-percussion.likembe + pitched-percussion.khim + pitched-percussion.kulintang-a-tiniok + pitched-percussion.kulintang-a-kayo + rattle.kayamba + pitched-percussion.kulintang + + + + 110 + Bag pipe + wind.pipes.bagpipes + true + + wind.pipes.gaida + wind.pungi + + + + 111 + Fiddle + strings.fiddle + true + + strings.fiddle.hardanger + strings.leiqin + + + + 112 + Shanai + wind.reed.shenai + true + + wind.reed.sheng + wind.reed.maqrunah + wind.reed.tarogato.ancient + wind.reed.suona + wind.reed.algaita + wind.reed.sipsi + wind.reed.zurna + wind.reed.ken-bau + wind.reed.dulzaina + wind.reed.cornamuse + wind.reed.nadaswaram + wind.reed.sopila + wind.reed.surnai + wind.reed.sralai + wind.reed.shawm + wind.reed.rhaita + wind.reed.sorna + rattle.shekere + + + + 113 + Tinkle Bell + metal.bells.tinklebell + true + + metal.flexatone + metal.bells.bell-tree + metal.triangle + metal.bells.trychel + metal.bells.tibetan + metal.bells.sleigh-bells + metal.bells.jingle-bell + metal.bells.cowbell + metal.bells.bell-plate + metal.tamtam + metal.bells.temple + + + + 114 + Agogo + metal.bells.agogo + true + + metal.bells.almglocken + metal.adodo + metal.bells.carillon + metal.bells.ghungroo + metal.gong.gandingan + metal.gong.ageng + metal.gong.agung + metal.bells.hatheli + metal.bells.gankokwe + metal.gong.thai + metal.gong.luo + metal.gong.kkwenggwari + metal.anvil + metal.babendil + metal.bells.wind-chimes + metal.bells.dawuro + metal.gong.kempyang + metal.gong.kempul + metal.bells.sistrum + metal.gong.ketuk + metal.gong.chanchiki + metal.kengong + metal.bells.church + metal.bells.zills + metal.bells.chippli + metal.bells.mark-tree + metal.gong + metal.bells.chimta + metal.bells.chimes + metal.bells.khartal + + + + 115 + Steel Drums + metal.steel-drums + true + + wood.stir-drum + metal.spoons + metal.singing-bowl + metal.gong.singing + metal.musical-saw + metal.hi-hat + metal.jaw-harp + metal.murchang + metal.brake-drums + metal.guira + metal.hang + + + + 116 + Woodblock + wood.jam-block + true + + wood.sand-block + wood.wood-block + wood.agogo-block + wood.temple-block + wood.granite-block + wood.tic-toc-block + wood.ipu + wood.slapstick + wood.gourd + wood.guiro + wood.ahoko + wood.kagul + wood.bones + wood.guban + wood.drum-sticks + wood.kalaau + wood.kubing + wood.kaekeeke + wood.kashiklar + wood.castanets + wood.hyoushigi + wood.agung-a-tamlang + + + + 117 + Taiko Drum + drum.taiko + true + + drum.pueblo + drum.tabla + drum.powwow + drum.log-drum + drum.kick-drum + drum.tabla.dayan + drum.tabla.bayan + drum.buffalo-drum + drum.bata.okonkolo + drum.slit-drum + drum.tambourine + drum.the-box + drum.uchiwa-daiko + drum.tan-tan + drum.tangku + drum.tar + drum.darabuka + drum.zarb + drum.axatse + drum.shime-daiko + drum.chu-daiko + drum.chenda + drum.tsuzumi + drum.o-daiko + drum.tamborita + drum.nagado-daiko + drum.inyahura + drum.ko-daiko + drum.taphon + drum.sabar + drum.daibyosi + drum.ghatam + drum.geduk + drum.teponaxtli + drum.naqara + drum.djembe + drum.sakara + drum.nagara + drum.tenor-drum + drum.bendir + drum.hira-daiko + drum.tumbak + drum.dumbek + drum.bongo + drum.talking + drum.toere + drum.tasha + drum.kudum + drum.dholak + drum.thavil + drum.udaku + drum.madal + drum.surdo + drum.maddale + drum.okawa + drum.okedo-daiko + drum.dafli + drum.conga + drum.tamte + drum.dhol + drum.ishakwe + drum.bougarabou + drum.ashiko + drum.khol + drum.snare-drum + drum.dondo + drum.doun-doun-ba + drum.cajon + drum.kakko + drum.tama + drum.kidi + drum.duff + drum.naal + drum.sogo + drum.frame-drum + drum.daff + drum.doira + drum.ibo + drum.cuica + drum.udu + drum.def + drum.apentemma + drum.bass-drum + drum.atabaque + drum.igihumurizo + drum.bata.iya + drum.lion-drum + drum.lambeg + drum.bata + + + + 118 + Melodic Tom + drum.rototom + true + + drum.damroo + drum.bata.itotele + drum.fontomfrom + drum.atoke + drum.bombo + drum.gome + drum.riq + drum.tombak + + + + 119 + Synth Drum + drum.tom-tom.synth + true + + drum.tom-tom + drum.slit-drum.krin + + + + 120 + Reverse Cymbal + metal.cymbal.reverse + true + + metal.cymbal.tingsha + metal.thundersheet + metal.cymbal.manjeera + metal.cymbal.suspended + metal.cymbal.ching + metal.cymbal.ceng-ceng + metal.cymbal.finger + metal.crotales + metal.berimbau + metal.cymbal.chabara + metal.cymbal.tibetan + metal.cymbal.crash + metal.cymbal.kesi + metal.cymbal.tebyoshi + metal.cymbal.hand + metal.cymbal.ride + metal.cymbal.chinese + metal.cymbal.splash + metal.cymbal.clash + metal.cymbal.bo + metal.cymbal.sizzle + metal.gong.chinese + + + + 121 + Guitar Fret Noise + effect.guitar-fret + true + + effect.guitar-cutting + + + + 122 + Breath Noise + effect.breath + true + + effect.bubble + effect.heartbeat + effect.thunder + effect.burst + effect.pat + effect.bullroarer + + + + 123 + Seashore + effect.seashore + true + + effect.door.slam + effect.door.creak + effect.horse-gallop + effect.stream + effect.siren + effect.scream + + + + 124 + Bird Tweet + effect.bird.tweet + true + + effect.bird.nightingale + rattle.birds + effect.bird + + + + 125 + Telephone Ring + effect.telephone-ring + true + + effect.metronome-bell + + + + 126 + Helicopter + effect.helicopter + true + + effect.metronome-click + effect.flute-key-click + + + + 127 + Applause + effect.applause + true + + effect.explosion + effect.aeolian-harp + effect.jet-plane + effect.hand-clap + effect.laugh + effect.slap + + + + 128 + Gunshot + effect.gunshot + true + + effect.footsteps + effect.punch + effect.laser-gun + effect.lions-roar + effect.machine-gun + + + + diff --git a/Documents/DevNotes/MusicXMLSounds.xml b/Documents/DevNotes/MusicXMLSounds.xml new file mode 100644 index 000000000..93871d279 --- /dev/null +++ b/Documents/DevNotes/MusicXMLSounds.xml @@ -0,0 +1,888 @@ + + brass.alphorn + brass.alto-horn + brass.baritone-horn + brass.bugle + brass.bugle.alto + brass.bugle.baritone + brass.bugle.contrabass + brass.bugle.euphonium-bugle + brass.bugle.mellophone-bugle + brass.bugle.soprano + brass.cimbasso + brass.conch-shell + brass.cornet + brass.cornet.soprano + brass.cornett + brass.cornett.tenor + brass.cornettino + brass.didgeridoo + brass.euphonium + brass.fiscorn + brass.flugelhorn + brass.french-horn + brass.group + brass.group.synth + brass.helicon + brass.horagai + brass.kuhlohorn + brass.mellophone + brass.natural-horn + brass.ophicleide + brass.posthorn + brass.rag-dung + brass.sackbutt + brass.sackbutt.alto + brass.sackbutt.bass + brass.sackbutt.tenor + brass.saxhorn + brass.serpent + brass.shofar + brass.sousaphone + brass.trombone + brass.trombone.alto + brass.trombone.bass + brass.trombone.contrabass + brass.trombone.tenor + brass.trumpet + brass.trumpet.baroque + brass.trumpet.bass + brass.trumpet.bflat + brass.trumpet.c + brass.trumpet.d + brass.trumpet.piccolo + brass.trumpet.pocket + brass.trumpet.slide + brass.trumpet.tenor + brass.tuba + brass.tuba.bass + brass.tuba.subcontrabass + brass.vienna-horn + brass.vuvuzela + brass.wagner-tuba + drum.apentemma + drum.ashiko + drum.atabaque + drum.atoke + drum.atsimevu + drum.axatse + drum.bass-drum + drum.bata + drum.bata.itotele + drum.bata.iya + drum.bata.okonkolo + drum.bendir + drum.bodhran + drum.bombo + drum.bongo + drum.bougarabou + drum.buffalo-drum + drum.cajon + drum.chenda + drum.chu-daiko + drum.conga + drum.cuica + drum.dabakan + drum.daff + drum.dafli + drum.daibyosi + drum.damroo + drum.darabuka + drum.def + drum.dhol + drum.dholak + drum.djembe + drum.doira + drum.dondo + drum.doun-doun-ba + drum.duff + drum.dumbek + drum.fontomfrom + drum.frame-drum + drum.frame-drum.arabian + drum.geduk + drum.ghatam + drum.gome + drum.group + drum.group.chinese + drum.group.ewe + drum.group.indian + drum.group.set + drum.hand-drum + drum.hira-daiko + drum.ibo + drum.igihumurizo + drum.inyahura + drum.ishakwe + drum.jang-gu + drum.kagan + drum.kakko + drum.kanjira + drum.kendhang + drum.kendhang.ageng + drum.kendhang.ciblon + drum.kenkeni + drum.khol + drum.kick-drum + drum.kidi + drum.ko-daiko + drum.kpanlogo + drum.kudum + drum.lambeg + drum.lion-drum + drum.log-drum + drum.log-drum.african + drum.log-drum.native + drum.log-drum.nigerian + drum.madal + drum.maddale + drum.mridangam + drum.naal + drum.nagado-daiko + drum.nagara + drum.naqara + drum.o-daiko + drum.okawa + drum.okedo-daiko + drum.pahu-hula + drum.pakhawaj + drum.pandeiro + drum.pandero + drum.powwow + drum.pueblo + drum.repinique + drum.riq + drum.rototom + drum.sabar + drum.sakara + drum.sampho + drum.sangban + drum.shime-daiko + drum.slit-drum + drum.slit-drum.krin + drum.snare-drum + drum.snare-drum.electric + drum.sogo + drum.surdo + drum.tabla + drum.tabla.bayan + drum.tabla.dayan + drum.taiko + drum.talking + drum.tama + drum.tamborita + drum.tambourine + drum.tamte + drum.tangku + drum.tan-tan + drum.taphon + drum.tar + drum.tasha + drum.tenor-drum + drum.teponaxtli + drum.thavil + drum.the-box + drum.timbale + drum.timpani + drum.tinaja + drum.toere + drum.tombak + drum.tom-tom + drum.tom-tom.synth + drum.tsuzumi + drum.tumbak + drum.uchiwa-daiko + drum.udaku + drum.udu + drum.zarb + effect.aeolian-harp + effect.air-horn + effect.applause + effect.bass-string-slap + effect.bird + effect.bird.nightingale + effect.bird.tweet + effect.breath + effect.bubble + effect.bullroarer + effect.burst + effect.car + effect.car.crash + effect.car.engine + effect.car.pass + effect.car.stop + effect.crickets + effect.dog + effect.door.creak + effect.door.slam + effect.explosion + effect.flute-key-click + effect.footsteps + effect.frogs + effect.guitar-cutting + effect.guitar-fret + effect.gunshot + effect.hand-clap + effect.heartbeat + effect.helicopter + effect.high-q + effect.horse-gallop + effect.jet-plane + effect.laser-gun + effect.laugh + effect.lions-roar + effect.machine-gun + effect.marching-machine + effect.metronome-bell + effect.metronome-click + effect.pat + effect.punch + effect.rain + effect.scratch + effect.scream + effect.seashore + effect.siren + effect.slap + effect.snap + effect.stamp + effect.starship + effect.stream + effect.telephone-ring + effect.thunder + effect.train + effect.trash-can + effect.whip + effect.whistle + effect.whistle.mouth-siren + effect.whistle.police + effect.whistle.slide + effect.whistle.train + effect.wind + keyboard.accordion + keyboard.bandoneon + keyboard.celesta + keyboard.clavichord + keyboard.clavichord.synth + keyboard.concertina + keyboard.fortepiano + keyboard.harmonium + keyboard.harpsichord + keyboard.ondes-martenot + keyboard.organ + keyboard.organ.drawbar + keyboard.organ.percussive + keyboard.organ.pipe + keyboard.organ.reed + keyboard.organ.rotary + keyboard.piano + keyboard.piano.electric + keyboard.piano.grand + keyboard.piano.honky-tonk + keyboard.piano.prepared + keyboard.piano.toy + keyboard.piano.upright + keyboard.virginal + metal.adodo + metal.anvil + metal.babendil + metal.bells.agogo + metal.bells.almglocken + metal.bells.bell-plate + metal.bells.bell-tree + metal.bells.carillon + metal.bells.chimes + metal.bells.chimta + metal.bells.chippli + metal.bells.church + metal.bells.cowbell + metal.bells.dawuro + metal.bells.gankokwe + metal.bells.ghungroo + metal.bells.hatheli + metal.bells.jingle-bell + metal.bells.khartal + metal.bells.mark-tree + metal.bells.sistrum + metal.bells.sleigh-bells + metal.bells.temple + metal.bells.tibetan + metal.bells.tinklebell + metal.bells.trychel + metal.bells.wind-chimes + metal.bells.zills + metal.berimbau + metal.brake-drums + metal.crotales + metal.cymbal.bo + metal.cymbal.ceng-ceng + metal.cymbal.chabara + metal.cymbal.chinese + metal.cymbal.ching + metal.cymbal.clash + metal.cymbal.crash + metal.cymbal.finger + metal.cymbal.hand + metal.cymbal.kesi + metal.cymbal.manjeera + metal.cymbal.reverse + metal.cymbal.ride + metal.cymbal.sizzle + metal.cymbal.splash + metal.cymbal.suspended + metal.cymbal.tebyoshi + metal.cymbal.tibetan + metal.cymbal.tingsha + metal.flexatone + metal.gong + metal.gong.ageng + metal.gong.agung + metal.gong.chanchiki + metal.gong.chinese + metal.gong.gandingan + metal.gong.kempul + metal.gong.kempyang + metal.gong.ketuk + metal.gong.kkwenggwari + metal.gong.luo + metal.gong.singing + metal.gong.thai + metal.guira + metal.hang + metal.hi-hat + metal.jaw-harp + metal.kengong + metal.murchang + metal.musical-saw + metal.singing-bowl + metal.spoons + metal.steel-drums + metal.tamtam + metal.thundersheet + metal.triangle + metal.washboard + pitched-percussion.angklung + pitched-percussion.balafon + pitched-percussion.bell-lyre + pitched-percussion.bells + pitched-percussion.bianqing + pitched-percussion.bianzhong + pitched-percussion.bonang + pitched-percussion.cimbalom + pitched-percussion.crystal-glasses + pitched-percussion.dan-tam-thap-luc + pitched-percussion.fangxiang + pitched-percussion.gandingan-a-kayo + pitched-percussion.gangsa + pitched-percussion.gender + pitched-percussion.giying + pitched-percussion.glass-harmonica + pitched-percussion.glockenspiel + pitched-percussion.glockenspiel.alto + pitched-percussion.glockenspiel.soprano + pitched-percussion.gyil + pitched-percussion.hammer-dulcimer + pitched-percussion.handbells + pitched-percussion.kalimba + pitched-percussion.kantil + pitched-percussion.khim + pitched-percussion.kulintang + pitched-percussion.kulintang-a-kayo + pitched-percussion.kulintang-a-tiniok + pitched-percussion.likembe + pitched-percussion.luntang + pitched-percussion.marimba + pitched-percussion.marimba.bass + pitched-percussion.mbira + pitched-percussion.mbira.array + pitched-percussion.metallophone + pitched-percussion.metallophone.alto + pitched-percussion.metallophone.bass + pitched-percussion.metallophone.soprano + pitched-percussion.music-box + pitched-percussion.pelog-panerus + pitched-percussion.pemade + pitched-percussion.penyacah + pitched-percussion.ranat.ek + pitched-percussion.ranat.ek-lek + pitched-percussion.ranat.thum + pitched-percussion.ranat.thum-lek + pitched-percussion.reyong + pitched-percussion.sanza + pitched-percussion.saron-barung + pitched-percussion.saron-demong + pitched-percussion.saron-panerus + pitched-percussion.slendro-panerus + pitched-percussion.slentem + pitched-percussion.tsymbaly + pitched-percussion.tubes + pitched-percussion.tubular-bells + pitched-percussion.vibraphone + pitched-percussion.xylophone + pitched-percussion.xylophone.alto + pitched-percussion.xylophone.bass + pitched-percussion.xylophone.soprano + pitched-percussion.xylorimba + pitched-percussion.yangqin + pluck.archlute + pluck.autoharp + pluck.baglama + pluck.bajo + pluck.balalaika + pluck.balalaika.alto + pluck.balalaika.bass + pluck.balalaika.contrabass + pluck.balalaika.piccolo + pluck.balalaika.prima + pluck.balalaika.secunda + pluck.bandola + pluck.bandura + pluck.bandurria + pluck.banjo + pluck.banjo.tenor + pluck.banjolele + pluck.barbat + pluck.bass + pluck.bass.acoustic + pluck.bass.bolon + pluck.bass.electric + pluck.bass.fretless + pluck.bass.guitarron + pluck.bass.synth + pluck.bass.synth.lead + pluck.bass.washtub + pluck.bass.whamola + pluck.begena + pluck.biwa + pluck.bordonua + pluck.bouzouki + pluck.bouzouki.irish + pluck.celtic-harp + pluck.charango + pluck.chitarra-battente + pluck.cithara + pluck.cittern + pluck.cuatro + pluck.dan-bau + pluck.dan-nguyet + pluck.dan-tranh + pluck.dan-ty-ba + pluck.diddley-bow + pluck.domra + pluck.domu + pluck.dulcimer + pluck.dutar + pluck.duxianqin + pluck.ektara + pluck.geomungo + pluck.gottuvadhyam + pluck.guitar + pluck.guitar.acoustic + pluck.guitar.electric + pluck.guitar.nylon-string + pluck.guitar.pedal-steel + pluck.guitar.portuguese + pluck.guitar.requinto + pluck.guitar.resonator + pluck.guitar.steel-string + pluck.guitjo + pluck.guitjo.double-neck + pluck.guqin + pluck.guzheng + pluck.guzheng.choazhou + pluck.harp + pluck.harp-guitar + pluck.huapanguera + pluck.jarana-huasteca + pluck.jarana-jarocha + pluck.jarana-jarocha.mosquito + pluck.jarana-jarocha.primera + pluck.jarana-jarocha.segunda + pluck.jarana-jarocha.tercera + pluck.kabosy + pluck.kantele + pluck.kanun + pluck.kayagum + pluck.kobza + pluck.komuz + pluck.kora + pluck.koto + pluck.kutiyapi + pluck.langeleik + pluck.laud + pluck.lute + pluck.lyre + pluck.mandobass + pluck.mandocello + pluck.mandola + pluck.mandolin + pluck.mandolin.octave + pluck.mandora + pluck.mandore + pluck.marovany + pluck.musical-bow + pluck.ngoni + pluck.oud + pluck.pipa + pluck.psaltery + pluck.ruan + pluck.sallaneh + pluck.sanshin + pluck.santoor + pluck.sanxian + pluck.sarod + pluck.saung + pluck.saz + pluck.se + pluck.setar + pluck.shamisen + pluck.sitar + pluck.synth + pluck.synth.charang + pluck.synth.chiff + pluck.synth.stick + pluck.tambura + pluck.tambura.bulgarian + pluck.tambura.female + pluck.tambura.male + pluck.tar + pluck.theorbo + pluck.timple + pluck.tiple + pluck.tres + pluck.ukulele + pluck.ukulele.tenor + pluck.valiha + pluck.veena + pluck.veena.mohan + pluck.veena.rudra + pluck.veena.vichitra + pluck.vihuela + pluck.vihuela.mexican + pluck.xalam + pluck.yueqin + pluck.zither + pluck.zither.overtone + rattle.afoxe + rattle.birds + rattle.cabasa + rattle.caxixi + rattle.cog + rattle.ganza + rattle.hosho + rattle.jawbone + rattle.kayamba + rattle.kpoko-kpoko + rattle.lava-stones + rattle.maraca + rattle.rain-stick + rattle.ratchet + rattle.rattle + rattle.shaker + rattle.shaker.egg + rattle.shekere + rattle.sistre + rattle.televi + rattle.vibraslap + rattle.wasembe + strings.ajaeng + strings.arpeggione + strings.baryton + strings.cello + strings.cello.piccolo + strings.contrabass + strings.crwth + strings.dan-gao + strings.dihu + strings.erhu + strings.erxian + strings.esraj + strings.fiddle + strings.fiddle.hardanger + strings.gadulka + strings.gaohu + strings.gehu + strings.group + strings.group.synth + strings.haegeum + strings.hurdy-gurdy + strings.igil + strings.kamancha + strings.kokyu + strings.laruan + strings.leiqin + strings.lirone + strings.lyra.byzantine + strings.lyra.cretan + strings.morin-khuur + strings.nyckelharpa + strings.octobass + strings.rebab + strings.rebec + strings.sarangi + strings.stroh-violin + strings.tromba-marina + strings.vielle + strings.viol + strings.viol.alto + strings.viol.bass + strings.viol.tenor + strings.viol.treble + strings.viol.violone + strings.viola + strings.viola-damore + strings.violin + strings.violono.piccolo + strings.violotta + strings.yayli-tanbur + strings.yazheng + strings.zhonghu + synth.effects + synth.effects.atmosphere + synth.effects.brightness + synth.effects.crystal + synth.effects.echoes + synth.effects.goblins + synth.effects.rain + synth.effects.sci-fi + synth.effects.soundtrack + synth.group + synth.group.fifths + synth.group.orchestra + synth.pad + synth.pad.bowed + synth.pad.choir + synth.pad.halo + synth.pad.metallic + synth.pad.polysynth + synth.pad.sweep + synth.pad.warm + synth.theremin + synth.tone.sawtooth + synth.tone.sine + synth.tone.square + voice.aa + voice.alto + voice.aw + voice.baritone + voice.bass + voice.child + voice.countertenor + voice.doo + voice.ee + voice.female + voice.kazoo + voice.male + voice.mezzo-soprano + voice.mm + voice.oo + voice.percussion + voice.percussion.beatbox + voice.soprano + voice.synth + voice.talk-box + voice.tenor + voice.vocals + wind.flutes.bansuri + wind.flutes.blown-bottle + wind.flutes.calliope + wind.flutes.danso + wind.flutes.di-zi + wind.flutes.dvojnice + wind.flutes.fife + wind.flutes.flageolet + wind.flutes.flute + wind.flutes.flute.alto + wind.flutes.flute.bass + wind.flutes.flute.contra-alto + wind.flutes.flute.contrabass + wind.flutes.flute.double-contrabass + wind.flutes.flute.irish + wind.flutes.flute.piccolo + wind.flutes.flute.subcontrabass + wind.flutes.fujara + wind.flutes.gemshorn + wind.flutes.hocchiku + wind.flutes.hun + wind.flutes.kaval + wind.flutes.kawala + wind.flutes.khlui + wind.flutes.knotweed + wind.flutes.koncovka.alto + wind.flutes.koudi + wind.flutes.ney + wind.flutes.nohkan + wind.flutes.nose + wind.flutes.ocarina + wind.flutes.overtone.tenor + wind.flutes.palendag + wind.flutes.panpipes + wind.flutes.quena + wind.flutes.recorder + wind.flutes.recorder.alto + wind.flutes.recorder.bass + wind.flutes.recorder.contrabass + wind.flutes.recorder.descant + wind.flutes.recorder.garklein + wind.flutes.recorder.great-bass + wind.flutes.recorder.sopranino + wind.flutes.recorder.soprano + wind.flutes.recorder.tenor + wind.flutes.ryuteki + wind.flutes.shakuhachi + wind.flutes.shepherds-pipe + wind.flutes.shinobue + wind.flutes.shvi + wind.flutes.suling + wind.flutes.tarka + wind.flutes.tumpong + wind.flutes.venu + wind.flutes.whistle + wind.flutes.whistle.alto + wind.flutes.whistle.low-irish + wind.flutes.whistle.shiva + wind.flutes.whistle.slide + wind.flutes.whistle.tin + wind.flutes.whistle.tin.bflat + wind.flutes.whistle.tin.d + wind.flutes.xiao + wind.flutes.xun + wind.group + wind.jug + wind.pipes.bagpipes + wind.pipes.gaida + wind.pipes.highland + wind.pipes.uilleann + wind.pungi + wind.reed.albogue + wind.reed.alboka + wind.reed.algaita + wind.reed.arghul + wind.reed.basset-horn + wind.reed.bassoon + wind.reed.bawu + wind.reed.bifora + wind.reed.bombarde + wind.reed.chalumeau + wind.reed.clarinet + wind.reed.clarinet.a + wind.reed.clarinet.alto + wind.reed.clarinet.bass + wind.reed.clarinet.basset + wind.reed.clarinet.bflat + wind.reed.clarinet.contra-alto + wind.reed.clarinet.contrabass + wind.reed.clarinet.eflat + wind.reed.clarinet.piccolo.aflat + wind.reed.clarinette-damour + wind.reed.contrabass + wind.reed.contrabassoon + wind.reed.cornamuse + wind.reed.cromorne + wind.reed.crumhorn + wind.reed.crumhorn.alto + wind.reed.crumhorn.bass + wind.reed.crumhorn.great-bass + wind.reed.crumhorn.soprano + wind.reed.crumhorn.tenor + wind.reed.diple + wind.reed.diplica + wind.reed.duduk + wind.reed.dulcian + wind.reed.dulzaina + wind.reed.english-horn + wind.reed.guanzi + wind.reed.harmonica + wind.reed.harmonica.bass + wind.reed.heckel-clarina + wind.reed.heckelphone + wind.reed.heckelphone.piccolo + wind.reed.heckelphone-clarinet + wind.reed.hichiriki + wind.reed.hirtenschalmei + wind.reed.hne + wind.reed.hornpipe + wind.reed.houguan + wind.reed.hulusi + wind.reed.jogi-baja + wind.reed.ken-bau + wind.reed.khaen-mouth-organ + wind.reed.launeddas + wind.reed.maqrunah + wind.reed.melodica + wind.reed.mijwiz + wind.reed.mizmar + wind.reed.nadaswaram + wind.reed.oboe + wind.reed.oboe.bass + wind.reed.oboe.piccolo + wind.reed.oboe-da-caccia + wind.reed.oboe-damore + wind.reed.octavin + wind.reed.pi + wind.reed.pibgorn + wind.reed.piri + wind.reed.rackett + wind.reed.rauschpfeife + wind.reed.rhaita + wind.reed.rothphone + wind.reed.sarrusaphone + wind.reed.saxonette + wind.reed.saxophone + wind.reed.saxophone.alto + wind.reed.saxophone.aulochrome + wind.reed.saxophone.baritone + wind.reed.saxophone.bass + wind.reed.saxophone.contrabass + wind.reed.saxophone.melody + wind.reed.saxophone.mezzo-soprano + wind.reed.saxophone.sopranino + wind.reed.saxophone.sopranissimo + wind.reed.saxophone.soprano + wind.reed.saxophone.subcontrabass + wind.reed.saxophone.tenor + wind.reed.shawm + wind.reed.shenai + wind.reed.sheng + wind.reed.sipsi + wind.reed.sopila + wind.reed.sorna + wind.reed.sralai + wind.reed.suona + wind.reed.surnai + wind.reed.taepyeongso + wind.reed.tarogato + wind.reed.tarogato.ancient + wind.reed.trompeta-china + wind.reed.tubax + wind.reed.xaphoon + wind.reed.zhaleika + wind.reed.zurla + wind.reed.zurna + wood.agogo-block + wood.agung-a-tamlang + wood.ahoko + wood.bones + wood.castanets + wood.claves + wood.drum-sticks + wood.gourd + wood.granite-block + wood.guban + wood.guiro + wood.hyoushigi + wood.ipu + wood.jam-block + wood.kaekeeke + wood.kagul + wood.kalaau + wood.kashiklar + wood.kubing + wood.pan-clappers + wood.sand-block + wood.slapstick + wood.stir-drum + wood.temple-block + wood.tic-toc-block + wood.tonetang + wood.wood-block + \ No newline at end of file From 4880189e501c2f555a8462ec43802bc68a683cd4 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Wed, 28 Jun 2017 15:22:33 -0700 Subject: [PATCH 054/108] mxapi begin adding chord support --- Sourcecode/mx/api/ChordData.cpp | 38 ++++++ Sourcecode/mx/api/ChordData.h | 76 +++++++++++ Sourcecode/mx/api/DirectionData.h | 16 +-- Sourcecode/mx/api/PitchData.h | 3 +- Sourcecode/mx/impl/DirectionReader.cpp | 124 +++++++++++++++--- Sourcecode/mx/impl/DirectionReader.h | 17 ++- Sourcecode/mx/impl/MeasureReader.cpp | 10 +- Sourcecode/mx/impl/MeasureReader.h | 2 +- .../mxtest/impl/DirectionReaderTest.cpp | 6 +- Xcode/Mx.xcodeproj/project.pbxproj | 25 ++++ 10 files changed, 273 insertions(+), 44 deletions(-) create mode 100644 Sourcecode/mx/api/ChordData.cpp create mode 100644 Sourcecode/mx/api/ChordData.h diff --git a/Sourcecode/mx/api/ChordData.cpp b/Sourcecode/mx/api/ChordData.cpp new file mode 100644 index 000000000..87e189321 --- /dev/null +++ b/Sourcecode/mx/api/ChordData.cpp @@ -0,0 +1,38 @@ +// MusicXML Class Library +// Copyright (c) by Matthew James Briggs +// Distributed under the MIT License + +#include "mx/api/ChordData.h" + +namespace mx +{ + namespace api + { + +//////////////////////////////////////////////////////////////////////////////// +// CTOR AND COPY /////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////// + + ChordData::ChordData() + : root{ Step::c } + , rootAlter{ 0 } + , chordKind{ ChordKind::unspecified } + , text{} + , bass{ Step::unspecified } + , bassAlter{ 0 } + { + + } + +//////////////////////////////////////////////////////////////////////////////// +// PUBLIC FUNCTIONS //////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////// + + + +//////////////////////////////////////////////////////////////////////////////// +// PRIVATE FUNCTIONS /////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////// + + } +} diff --git a/Sourcecode/mx/api/ChordData.h b/Sourcecode/mx/api/ChordData.h new file mode 100644 index 000000000..2cc4b7c68 --- /dev/null +++ b/Sourcecode/mx/api/ChordData.h @@ -0,0 +1,76 @@ +// MusicXML Class Library +// Copyright (c) by Matthew James Briggs +// Distributed under the MIT License + +#include "mx/api/ApiCommon.h" +#include "mx/api/PitchData.h" + +namespace mx +{ + namespace api + { + enum class ChordKind + { + unspecified, + major, + minor, + augmented, + diminished, + dominant, + majorSeventh, + minorSeventh, + diminishedSeventh, + augmentedSeventh, + halfDiminished, + majorMinor, + majorSixth, + minorSixth, + dominantNinth, + majorNinth, + minorNinth, + dominant11Th, + major11Th, + minor11Th, + dominant13Th, + major13Th, + minor13Th, + suspendedSecond, + suspendedFourth, + neapolitan, + italian, + french, + german, + pedal, + power, + tristan, + other, + none + }; + + class ChordData + { + public: + ChordData(); + + public: + Step root; + int rootAlter; + ChordKind chordKind; + std::string text; + Step bass; + int bassAlter; + + }; + + MXAPI_EQUALS_BEGIN( ChordData ) + MXAPI_EQUALS_MEMBER( root ) + MXAPI_EQUALS_MEMBER( rootAlter ) + MXAPI_EQUALS_MEMBER( chordKind ) + MXAPI_EQUALS_MEMBER( text ) + MXAPI_EQUALS_MEMBER( bass ) + MXAPI_EQUALS_MEMBER( bassAlter ) + MXAPI_EQUALS_END; + MXAPI_NOT_EQUALS_AND_VECTORS( ChordData ); + + } +} diff --git a/Sourcecode/mx/api/DirectionData.h b/Sourcecode/mx/api/DirectionData.h index c83165de0..a74bd71a2 100644 --- a/Sourcecode/mx/api/DirectionData.h +++ b/Sourcecode/mx/api/DirectionData.h @@ -10,6 +10,7 @@ #include "mx/api/TempoData.h" #include "mx/api/OttavaData.h" #include "mx/api/WordsData.h" +#include "mx/api/ChordData.h" namespace mx { @@ -27,7 +28,8 @@ namespace mx { int tickTimePosition; Placement placement; - + + // mx::api will place the DirectionData element in the correct place by using an offset element. // MusicXML Documentation: An offset is represented in terms of divisions, and indicates where // the direction will appear relative to the current musical location. This affects the visual // appearance of the direction. If the sound attribute is "yes", then the offset affects @@ -36,9 +38,6 @@ namespace mx // compatibility with earlier versions of the MusicXML format. If an element within a // direction includes a default-x attribute, the offset value will be ignored when determining // the appearance of that element. -// bool isOffsetSpecified; -// int offset; -// Bool offsetSound; // voice value of -1 means unspecified int voice; @@ -62,13 +61,11 @@ namespace mx std::vector bracketStarts; std::vector bracketStops; std::vector words; + std::vector chords; DirectionData() : tickTimePosition{ 0 } , placement{ Placement::unspecified } -// , isOffsetSpecified{ false } -// , offset{ 0 } -// , offsetSound{ Bool::unspecified } , voice{ -1 } , isStaffValueSpecified{ true } , marks{} @@ -79,6 +76,7 @@ namespace mx , bracketStarts{} , bracketStops{} , words{} + , chords{} { } @@ -101,9 +99,6 @@ namespace mx MXAPI_EQUALS_BEGIN( DirectionData ) MXAPI_EQUALS_MEMBER( tickTimePosition ) MXAPI_EQUALS_MEMBER( placement ) -// MXAPI_EQUALS_MEMBER( isOffsetSpecified ) -// MXAPI_EQUALS_MEMBER( offset ) -// MXAPI_EQUALS_MEMBER( offsetSound ) MXAPI_EQUALS_MEMBER( voice ) MXAPI_EQUALS_MEMBER( isStaffValueSpecified ) MXAPI_EQUALS_MEMBER( tempos ) @@ -115,6 +110,7 @@ namespace mx MXAPI_EQUALS_MEMBER( bracketStarts ) MXAPI_EQUALS_MEMBER( bracketStops ) MXAPI_EQUALS_MEMBER( words ) + MXAPI_EQUALS_MEMBER( chords ) MXAPI_EQUALS_END; MXAPI_NOT_EQUALS_AND_VECTORS( DirectionData ); } diff --git a/Sourcecode/mx/api/PitchData.h b/Sourcecode/mx/api/PitchData.h index 5c472ec5f..0d3303f0b 100644 --- a/Sourcecode/mx/api/PitchData.h +++ b/Sourcecode/mx/api/PitchData.h @@ -18,7 +18,8 @@ namespace mx f = 3, g = 4, a = 5, - b = 6 + b = 6, + unspecified = -1 }; enum class Accidental diff --git a/Sourcecode/mx/impl/DirectionReader.cpp b/Sourcecode/mx/impl/DirectionReader.cpp index 41a00e469..dbf4bf445 100644 --- a/Sourcecode/mx/impl/DirectionReader.cpp +++ b/Sourcecode/mx/impl/DirectionReader.cpp @@ -40,13 +40,15 @@ #include "mx/impl/SpannerFunctions.h" #include "mx/impl/DynamicsReader.h" #include "mx/impl/MarkDataFunctions.h" +#include "mx/core/elements/Harmony.h" namespace mx { namespace impl { - DirectionReader::DirectionReader( const core::Direction& inDirection, Cursor inCursor ) + DirectionReader::DirectionReader( std::shared_ptr inDirection, Cursor inCursor ) : myDirection{ inDirection } + , myHarmony{ nullptr } , myCursor{ inCursor } , myConverter{} , myOutDirectionData{} @@ -54,43 +56,123 @@ namespace mx } - + + DirectionReader::DirectionReader( std::shared_ptr inHarmony, Cursor inCursor ) + : myDirection{ nullptr } + , myHarmony{ inHarmony } + , myCursor{ inCursor } + , myConverter{} + , myOutDirectionData{} + { + + } + + api::DirectionData DirectionReader::getDirectionData() { - myOutDirectionData = api::DirectionData{}; - myOutDirectionData.tickTimePosition = myCursor.tickTimePosition; - myOutDirectionData.isStaffValueSpecified = !myDirection.getHasStaff(); - - if( myDirection.getHasOffset() ) + myOutDirectionData = initializeData(); + updateTimeForOffset(); + parsePlacement(); + parseValues(); + + // need to make sure all the MarkData item times match the DirectionData time + fixTimes(); + return returnData(); + } + + + mx::api::DirectionData DirectionReader::initializeData() + { + auto result = api::DirectionData{}; + result.tickTimePosition = myCursor.tickTimePosition; + + if( myDirection ) + { + result.isStaffValueSpecified = myDirection->getHasStaff(); + } + else if ( myHarmony ) { - const auto offset = static_cast( std::ceil( myDirection.getOffset()->getValue().getValue() - 0.5 ) ); - myOutDirectionData.tickTimePosition += offset; + result.isStaffValueSpecified = myHarmony->getHasStaff(); } - if( myDirection.getAttributes()->hasPlacement ) + return result; + } + + + void DirectionReader::updateTimeForOffset() + { + if( myDirection ) { - myOutDirectionData.placement = myConverter.convert( myDirection.getAttributes()->placement ); + if( myDirection->getHasOffset() ) + { + const auto offset = static_cast( std::ceil( myDirection->getOffset()->getValue().getValue() - 0.5 ) ); + myOutDirectionData.tickTimePosition += offset; + } } - - for ( const auto& dtPtr : myDirection.getDirectionTypeSet() ) + else if( myHarmony ) + { + if( myHarmony->getHasOffset() ) + { + const auto offset = static_cast( std::ceil( myHarmony->getOffset()->getValue().getValue() - 0.5 ) ); + myOutDirectionData.tickTimePosition += offset; + } + } + } + + + void DirectionReader::parsePlacement() + { + if( myDirection ) + { + if( myDirection->getAttributes()->hasPlacement ) + { + myOutDirectionData.placement = myConverter.convert( myDirection->getAttributes()->placement ); + } + } + else if( myHarmony ) + { + if( myHarmony->getAttributes()->hasPlacement ) + { + myOutDirectionData.placement = myConverter.convert( myHarmony->getAttributes()->placement ); + } + } + } + + + void DirectionReader::parseValues() + { + if( myDirection ) + { + for ( const auto& dtPtr : myDirection->getDirectionTypeSet() ) + { + const auto& dt = *dtPtr; + parseDirectionType( dt ); + } + } + else if( myHarmony ) { - const auto& dt = *dtPtr; - parseDirectionType( dt ); + MX_THROW("not implemented"); } + } - // messy - need to make sure all the MarkDatas have the same tickTimePosition - // as their parent DirectionData. + + void DirectionReader::fixTimes() + { for( auto& mark : myOutDirectionData.marks ) { mark.tickTimePosition = myOutDirectionData.tickTimePosition; } + } + + mx::api::DirectionData DirectionReader::returnData() + { api::DirectionData temp{ std::move( myOutDirectionData ) }; myOutDirectionData = api::DirectionData{}; return temp; } - - + + void DirectionReader::parseDirectionType( const core::DirectionType& directionType ) { switch ( directionType.getChoice() ) @@ -390,8 +472,8 @@ namespace mx } const auto placement = - myDirection.getAttributes()->hasPlacement ? - ( myDirection.getAttributes()->placement == core::AboveBelow::above ? + myDirection->getAttributes()->hasPlacement ? + ( myDirection->getAttributes()->placement == core::AboveBelow::above ? api::Placement::above : api::Placement::below ) : api::Placement::unspecified; diff --git a/Sourcecode/mx/impl/DirectionReader.h b/Sourcecode/mx/impl/DirectionReader.h index f7f560e64..aeab6157b 100644 --- a/Sourcecode/mx/impl/DirectionReader.h +++ b/Sourcecode/mx/impl/DirectionReader.h @@ -21,22 +21,33 @@ namespace mx using DirectionTypePtr = std::shared_ptr; using DirectionTypeSet = std::vector; class Dynamics; + class Harmony; + using HarmonyPtr = std::shared_ptr; + using HarmonyPtrSet = std::vector; } namespace impl { class DirectionReader { public: - DirectionReader( const core::Direction& inDirection, Cursor inCursor ); + DirectionReader( std::shared_ptr inDirection, Cursor inCursor ); + DirectionReader( std::shared_ptr inHarmony, Cursor inCursor ); api::DirectionData getDirectionData(); private: - const core::Direction& myDirection; + const std::shared_ptr myDirection; + const std::shared_ptr myHarmony; const Cursor myCursor; const Converter myConverter; api::DirectionData myOutDirectionData; private: + mx::api::DirectionData initializeData(); + void updateTimeForOffset(); + void parsePlacement(); + void parseValues(); + void fixTimes(); + mx::api::DirectionData returnData(); void parseStaffIndex(); void parseDirectionType( const core::DirectionType& directionType ); void parseRehearsal( const core::DirectionType& directionType ); @@ -70,7 +81,7 @@ namespace mx if( positionData.placement == api::Placement::unspecified ) { - const auto& dirAttr = *myDirection.getAttributes(); + const auto& dirAttr = *myDirection->getAttributes(); if( dirAttr.hasPlacement ) { diff --git a/Sourcecode/mx/impl/MeasureReader.cpp b/Sourcecode/mx/impl/MeasureReader.cpp index 5d2cf43ca..73e6e083e 100644 --- a/Sourcecode/mx/impl/MeasureReader.cpp +++ b/Sourcecode/mx/impl/MeasureReader.cpp @@ -229,7 +229,7 @@ namespace mx case core::MusicDataChoice::Choice::direction: { myCurrentCursor.isBackupInProgress = false; - parseDirection( *mdc.getDirection() ); + parseDirection( mdc.getDirection() ); advanceTickTimePosition( 0, "parseDirection" ); break; } @@ -375,19 +375,19 @@ namespace mx } - void MeasureReader::parseDirection( const core::Direction& inMxDirection ) const + void MeasureReader::parseDirection( std::shared_ptr inDirection ) const { - DirectionReader reader{ inMxDirection, myCurrentCursor }; + DirectionReader reader{ inDirection, myCurrentCursor }; auto directionData = reader.getDirectionData(); // make an adjustment if the directionData refers to a non-existant staff size_t staffIndex = 0; - bool isStaffIndexSpecified = inMxDirection.getHasStaff(); + bool isStaffIndexSpecified = inDirection->getHasStaff(); bool isStaffIndexInsane = false; if( isStaffIndexSpecified ) { - staffIndex = static_cast( inMxDirection.getStaff()->getValue().getValue() - 1 ); + staffIndex = static_cast( inDirection->getStaff()->getValue().getValue() - 1 ); } isStaffIndexInsane = staffIndex >= myOutMeasureData.staves.size(); diff --git a/Sourcecode/mx/impl/MeasureReader.h b/Sourcecode/mx/impl/MeasureReader.h index 0ee934072..ccb3ac645 100644 --- a/Sourcecode/mx/impl/MeasureReader.h +++ b/Sourcecode/mx/impl/MeasureReader.h @@ -75,7 +75,7 @@ namespace mx void parseNote( const core::Note& inMxNote, const core::NotePtr& nextNotePtr ) const; void parseBackup( const core::Backup& inMxBackup ) const; void parseForward( const core::Forward& inMxForward ) const; - void parseDirection( const core::Direction& inMxDirection ) const; + void parseDirection( std::shared_ptr inDirection ) const; void parseProperties( const core::Properties& inMxProperties ) const; void parseHarmony( const core::Harmony& inMxHarmony ) const; void parseFiguredBass( const core::FiguredBass& inMxFiguredBass ) const; diff --git a/Sourcecode/mxtest/impl/DirectionReaderTest.cpp b/Sourcecode/mxtest/impl/DirectionReaderTest.cpp index 27093baed..cbf3c8372 100644 --- a/Sourcecode/mxtest/impl/DirectionReaderTest.cpp +++ b/Sourcecode/mxtest/impl/DirectionReaderTest.cpp @@ -31,7 +31,7 @@ TEST( ottavaStart15mb, DirectionReader ) attr->size = core::PositiveInteger{ 15 }; Cursor cursor{ 1, 100 }; cursor.tickTimePosition = tickTimePosition; - DirectionReader reader{ *dir, cursor }; + DirectionReader reader{ dir, cursor }; auto directionData = reader.getDirectionData(); CHECK_EQUAL( 1, directionData.ottavaStarts.size() ); const auto& ottavaStart = directionData.ottavaStarts.front(); @@ -76,7 +76,7 @@ TEST( ottavaStart8vaAnd8vb, DirectionReader ) Cursor cursor{ 1, 111 }; cursor.tickTimePosition = tickTimePosition; - DirectionReader reader{ *dir, cursor }; + DirectionReader reader{ dir, cursor }; auto directionData = reader.getDirectionData(); CHECK_EQUAL( 2, directionData.ottavaStarts.size() ); @@ -108,7 +108,7 @@ TEST( ottavaStop, DirectionReader ) attr->size = core::PositiveInteger{ 15 }; Cursor cursor{ 1, 100 }; cursor.tickTimePosition = tickTimePosition; - DirectionReader reader{ *dir, cursor }; + DirectionReader reader{ dir, cursor }; auto directionData = reader.getDirectionData(); CHECK_EQUAL( 1, directionData.ottavaStops.size() ); const auto& ottavaStop = directionData.ottavaStops.front(); diff --git a/Xcode/Mx.xcodeproj/project.pbxproj b/Xcode/Mx.xcodeproj/project.pbxproj index 244dbce83..b0a58473f 100755 --- a/Xcode/Mx.xcodeproj/project.pbxproj +++ b/Xcode/Mx.xcodeproj/project.pbxproj @@ -7,6 +7,16 @@ objects = { /* Begin PBXBuildFile section */ + 2975944F1F044C7600DE2F30 /* ChordData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2975944D1F044C7600DE2F30 /* ChordData.cpp */; }; + 297594501F044C7600DE2F30 /* ChordData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2975944D1F044C7600DE2F30 /* ChordData.cpp */; }; + 297594511F044C7600DE2F30 /* ChordData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2975944D1F044C7600DE2F30 /* ChordData.cpp */; }; + 297594521F044C7600DE2F30 /* ChordData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2975944D1F044C7600DE2F30 /* ChordData.cpp */; }; + 297594531F044C7600DE2F30 /* ChordData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2975944D1F044C7600DE2F30 /* ChordData.cpp */; }; + 297594541F044C7600DE2F30 /* ChordData.h in Headers */ = {isa = PBXBuildFile; fileRef = 2975944E1F044C7600DE2F30 /* ChordData.h */; }; + 297594551F044C7600DE2F30 /* ChordData.h in Headers */ = {isa = PBXBuildFile; fileRef = 2975944E1F044C7600DE2F30 /* ChordData.h */; }; + 297594561F044C7600DE2F30 /* ChordData.h in Headers */ = {isa = PBXBuildFile; fileRef = 2975944E1F044C7600DE2F30 /* ChordData.h */; }; + 297594571F044C7600DE2F30 /* ChordData.h in Headers */ = {isa = PBXBuildFile; fileRef = 2975944E1F044C7600DE2F30 /* ChordData.h */; }; + 297594581F044C7600DE2F30 /* ChordData.h in Headers */ = {isa = PBXBuildFile; fileRef = 2975944E1F044C7600DE2F30 /* ChordData.h */; }; 29A800001EF0499300AD2478 /* TransposeAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1E11EF0476200AD2478 /* TransposeAttributes.cpp */; }; 29A800011EF0499300AD2478 /* Tremolo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1E31EF0476200AD2478 /* Tremolo.cpp */; }; 29A800021EF0499300AD2478 /* TremoloAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1E51EF0476200AD2478 /* TremoloAttributes.cpp */; }; @@ -3328,6 +3338,8 @@ /* Begin PBXFileReference section */ 293FFED21DD25C74001477E8 /* libmx-macOS.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libmx-macOS.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; + 2975944D1F044C7600DE2F30 /* ChordData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ChordData.cpp; sourceTree = ""; }; + 2975944E1F044C7600DE2F30 /* ChordData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ChordData.h; sourceTree = ""; }; 299F7FE61CA8D2200084CAE5 /* libMx.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMx.a; sourceTree = BUILT_PRODUCTS_DIR; }; 29A800621EF0876500AD2478 /* SoundID.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SoundID.cpp; sourceTree = ""; }; 29A800631EF0876500AD2478 /* SoundID.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SoundID.h; sourceTree = ""; }; @@ -4809,6 +4821,8 @@ 29A8DD591EF0475D00AD2478 /* ApiCommon.h */, 29A8DD5A1EF0475D00AD2478 /* ApiEquality.h */, 29A8DD5B1EF0475D00AD2478 /* BarlineData.h */, + 2975944D1F044C7600DE2F30 /* ChordData.cpp */, + 2975944E1F044C7600DE2F30 /* ChordData.h */, 29A8DD5C1EF0475D00AD2478 /* ClefData.cpp */, 29A8DD5D1EF0475D00AD2478 /* ClefData.h */, 29A8DD5E1EF0475D00AD2478 /* ColorData.h */, @@ -6261,6 +6275,7 @@ buildActionMask = 2147483647; files = ( 29A8006A1EF0876500AD2478 /* SoundID.h in Headers */, + 297594551F044C7600DE2F30 /* ChordData.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -6269,6 +6284,7 @@ buildActionMask = 2147483647; files = ( 29A800691EF0876500AD2478 /* SoundID.h in Headers */, + 297594541F044C7600DE2F30 /* ChordData.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -6276,6 +6292,7 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( + 297594581F044C7600DE2F30 /* ChordData.h in Headers */, 29A8FDC61EF0497500AD2478 /* MxmacOS.h in Headers */, 29A8006D1EF0876500AD2478 /* SoundID.h in Headers */, ); @@ -6285,6 +6302,7 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( + 297594571F044C7600DE2F30 /* ChordData.h in Headers */, 29B962851E79FF410072071D /* MxiOS.h in Headers */, 29A8006C1EF0876500AD2478 /* SoundID.h in Headers */, ); @@ -6295,6 +6313,7 @@ buildActionMask = 2147483647; files = ( 29A8006B1EF0876500AD2478 /* SoundID.h in Headers */, + 297594561F044C7600DE2F30 /* ChordData.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -6510,6 +6529,7 @@ 29A8E6581EF0476300AD2478 /* BottomMargin.cpp in Sources */, 29A8F0761EF0476700AD2478 /* MultipleRest.cpp in Sources */, 29A8E45A1EF0476300AD2478 /* AccordionHigh.cpp in Sources */, + 297594501F044C7600DE2F30 /* ChordData.cpp in Sources */, 29A8EB1C1EF0476500AD2478 /* FretAttributes.cpp in Sources */, 29A8E5721EF0476300AD2478 /* BassAlter.cpp in Sources */, 29A8EE961EF0476600AD2478 /* LyricAttributes.cpp in Sources */, @@ -7179,6 +7199,7 @@ 29A8E6571EF0476300AD2478 /* BottomMargin.cpp in Sources */, 29A8F0751EF0476700AD2478 /* MultipleRest.cpp in Sources */, 29A8E4591EF0476300AD2478 /* AccordionHigh.cpp in Sources */, + 2975944F1F044C7600DE2F30 /* ChordData.cpp in Sources */, 29A8EB1B1EF0476500AD2478 /* FretAttributes.cpp in Sources */, 29A8E5711EF0476300AD2478 /* BassAlter.cpp in Sources */, 29A8EE951EF0476600AD2478 /* LyricAttributes.cpp in Sources */, @@ -7848,6 +7869,7 @@ 29A8FDFA1EF0499200AD2478 /* BarlineAttributes.cpp in Sources */, 29A8FDFB1EF0499200AD2478 /* Barre.cpp in Sources */, 29A8FDFC1EF0499200AD2478 /* BarreAttributes.cpp in Sources */, + 297594531F044C7600DE2F30 /* ChordData.cpp in Sources */, 29A8FDFD1EF0499200AD2478 /* BarStyle.cpp in Sources */, 29A8FDFE1EF0499200AD2478 /* BarStyleAttributes.cpp in Sources */, 29A8FDFF1EF0499200AD2478 /* BasePitch.cpp in Sources */, @@ -8517,6 +8539,7 @@ 29A8E65A1EF0476300AD2478 /* BottomMargin.cpp in Sources */, 29A8F0781EF0476700AD2478 /* MultipleRest.cpp in Sources */, 29A8E45C1EF0476300AD2478 /* AccordionHigh.cpp in Sources */, + 297594521F044C7600DE2F30 /* ChordData.cpp in Sources */, 29A8EB1E1EF0476500AD2478 /* FretAttributes.cpp in Sources */, 29A8E5741EF0476300AD2478 /* BassAlter.cpp in Sources */, 29A8EE981EF0476600AD2478 /* LyricAttributes.cpp in Sources */, @@ -9186,6 +9209,7 @@ 29A8E6591EF0476300AD2478 /* BottomMargin.cpp in Sources */, 29A8F0771EF0476700AD2478 /* MultipleRest.cpp in Sources */, 29A8E45B1EF0476300AD2478 /* AccordionHigh.cpp in Sources */, + 297594511F044C7600DE2F30 /* ChordData.cpp in Sources */, 29A8EB1D1EF0476500AD2478 /* FretAttributes.cpp in Sources */, 29A8E5731EF0476300AD2478 /* BassAlter.cpp in Sources */, 29A8EE971EF0476600AD2478 /* LyricAttributes.cpp in Sources */, @@ -10242,6 +10266,7 @@ 29A8FDC91EF0497500AD2478 /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; 29B962861E79FF410072071D /* Build configuration list for PBXNativeTarget "MxiOS" */ = { isa = XCConfigurationList; From 7394b51c10dd5cf11fdc9dc2f5b9627708f02768 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Wed, 28 Jun 2017 15:42:42 -0700 Subject: [PATCH 055/108] mxapi chord test simple --- Resources/mjbsuite/chords_simple.xml | 163 +++++++++++++++++++++ Sourcecode/mx/impl/MeasureReader.cpp | 41 +++--- Sourcecode/mx/impl/MeasureReader.h | 2 +- Sourcecode/mxtest/control/CompileControl.h | 2 +- Sourcecode/mxtest/file/MxFileRepositoy.cpp | 1 + 5 files changed, 189 insertions(+), 20 deletions(-) create mode 100644 Resources/mjbsuite/chords_simple.xml diff --git a/Resources/mjbsuite/chords_simple.xml b/Resources/mjbsuite/chords_simple.xml new file mode 100644 index 000000000..b61f03a4c --- /dev/null +++ b/Resources/mjbsuite/chords_simple.xml @@ -0,0 +1,163 @@ + + + + Chords + + + Finale v25 for Mac + 2017-06-28 + + + + + + + + + + 7.2319 + 40 + + + 1545 + 1194 + + 140 + 70 + 70 + 70 + + + + + 0 + 0 + + 121 + 70 + + + 80 + + + 0.7487 + 5 + 0.7487 + 0.7487 + 5 + 0.7487 + 0.7487 + 0.7487 + 0.7487 + 0.7487 + 60 + 60 + 120 + 8 + + + + + + title + Chords + + + rights + © + + + Score + + + + MusicXML Part + + SmartMusicSoftSynth + + + SmartMusicSoftSynth + + 1 + 15489 + 1 + 80 + 0 + + + + + + + + + 70 + 0 + + 177 + + system + + + 8 + + 0 + major + + + 2 + + G + 2 + + + F + 4 + + + + + + C + + major-seventh + 1 + + + + + + D + + minor + + C + + 1 + + + + + + E + -1 + + dominant + 1 + + + + + + B + + diminished-seventh + 8 + 1 + + + + diff --git a/Sourcecode/mx/impl/MeasureReader.cpp b/Sourcecode/mx/impl/MeasureReader.cpp index 73e6e083e..ba46b528a 100644 --- a/Sourcecode/mx/impl/MeasureReader.cpp +++ b/Sourcecode/mx/impl/MeasureReader.cpp @@ -243,7 +243,7 @@ namespace mx case core::MusicDataChoice::Choice::harmony: { myCurrentCursor.isBackupInProgress = false; - parseHarmony( *mdc.getHarmony() ); + parseHarmony( mdc.getHarmony() ); advanceTickTimePosition( 0, "parseHarmony" ); break; } @@ -351,11 +351,7 @@ namespace mx { ++myCurrentCursor.voiceIndex; } -// else -// { -// // TODO - remove this debugging check -// MX_THROW( "multiple backups in a row" ); -// } + myCurrentCursor.isBackupInProgress = true; const int backupAmount = myCurrentCursor.convertDurationToGlobalTickScale( *inMxBackup.getDuration() ); advanceTickTimePosition( -1 * backupAmount, "backup" ); @@ -374,12 +370,15 @@ namespace mx advanceTickTimePosition( forwardAmount, "forward" ); } - - void MeasureReader::parseDirection( std::shared_ptr inDirection ) const + template + static void parseDirectionImpl( std::shared_ptr inDirection, api::MeasureData& ioMeasureData, const MeasureCursor& inMeasureCursor ); + + template + static void parseDirectionImpl( std::shared_ptr inDirection, api::MeasureData& ioMeasureData, const MeasureCursor& inMeasureCursor ) { - DirectionReader reader{ inDirection, myCurrentCursor }; + DirectionReader reader{ inDirection, inMeasureCursor }; auto directionData = reader.getDirectionData(); - + // make an adjustment if the directionData refers to a non-existant staff size_t staffIndex = 0; bool isStaffIndexSpecified = inDirection->getHasStaff(); @@ -389,9 +388,9 @@ namespace mx { staffIndex = static_cast( inDirection->getStaff()->getValue().getValue() - 1 ); } - - isStaffIndexInsane = staffIndex >= myOutMeasureData.staves.size(); - + + isStaffIndexInsane = staffIndex >= ioMeasureData.staves.size(); + if( !isStaffIndexSpecified || isStaffIndexInsane ) { staffIndex = 0; @@ -401,13 +400,19 @@ namespace mx { directionData.isStaffValueSpecified = true; } - + // in-case we made a mistake in the code above which calculates the staffIndex // make a final check to see if the staffIndex is in-bounds - throw if stupid - MX_ASSERT( staffIndex < myOutMeasureData.staves.size() ); - auto& staff = myOutMeasureData.staves.at( staffIndex ); + MX_ASSERT( staffIndex < ioMeasureData.staves.size() ); + auto& staff = ioMeasureData.staves.at( staffIndex ); staff.directions.emplace_back( std::move( directionData ) ); } + + + void MeasureReader::parseDirection( std::shared_ptr inDirection ) const + { + parseDirectionImpl( inDirection, myOutMeasureData, myCurrentCursor ); + } void MeasureReader::parseProperties( const core::Properties& inMxProperties ) const @@ -491,9 +496,9 @@ namespace mx } - void MeasureReader::parseHarmony( const core::Harmony& inMxHarmony ) const + void MeasureReader::parseHarmony( std::shared_ptr inHarmony ) const { - coutItemNotSupported( inMxHarmony ); + parseDirectionImpl( inHarmony, myOutMeasureData, myCurrentCursor ); } diff --git a/Sourcecode/mx/impl/MeasureReader.h b/Sourcecode/mx/impl/MeasureReader.h index ccb3ac645..86822ee25 100644 --- a/Sourcecode/mx/impl/MeasureReader.h +++ b/Sourcecode/mx/impl/MeasureReader.h @@ -77,7 +77,7 @@ namespace mx void parseForward( const core::Forward& inMxForward ) const; void parseDirection( std::shared_ptr inDirection ) const; void parseProperties( const core::Properties& inMxProperties ) const; - void parseHarmony( const core::Harmony& inMxHarmony ) const; + void parseHarmony( std::shared_ptr inHarmony ) const; void parseFiguredBass( const core::FiguredBass& inMxFiguredBass ) const; void parsePrint( const core::Print& inMxPrint ) const; void parseSound( const core::Sound& inMxSound ) const; diff --git a/Sourcecode/mxtest/control/CompileControl.h b/Sourcecode/mxtest/control/CompileControl.h index 45aa337b2..4dbd44bd5 100755 --- a/Sourcecode/mxtest/control/CompileControl.h +++ b/Sourcecode/mxtest/control/CompileControl.h @@ -15,4 +15,4 @@ // use this to restrict the size of the files that // the test run will open (compile-time constant). // 0 indicates no limit -constexpr const int MX_COMPILE_MAX_FILE_SIZE_BYTES = 1024; // (1024 * 1024); +constexpr const int MX_COMPILE_MAX_FILE_SIZE_BYTES = 1024 * 1024; // (1024 * 1024); diff --git a/Sourcecode/mxtest/file/MxFileRepositoy.cpp b/Sourcecode/mxtest/file/MxFileRepositoy.cpp index 7abd881e9..de89bdd4c 100644 --- a/Sourcecode/mxtest/file/MxFileRepositoy.cpp +++ b/Sourcecode/mxtest/file/MxFileRepositoy.cpp @@ -273,6 +273,7 @@ namespace mxtest myNameSubdirectoryMap.emplace( "freezing.xml", "mjbsuite" ); myNameSubdirectoryMap.emplace( "hello_timewise.xml", "mjbsuite" ); myNameSubdirectoryMap.emplace( "lyre_timewise.xml", "mjbsuite" ); + myNameSubdirectoryMap.emplace( "chords_simple.xml", "mjbsuite" ); // museScore myNameSubdirectoryMap.emplace( "A_Walk_through_the_Park.xml", "musuite" ); From 31a9c637ee8f75a2c7e93d4dab82157e628aa48e Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Wed, 28 Jun 2017 15:55:15 -0700 Subject: [PATCH 056/108] mxapi middle of something does not compile --- Sourcecode/mx/impl/DirectionReader.cpp | 37 ++++++++++++++++++++++---- Sourcecode/mx/impl/DirectionReader.h | 2 ++ 2 files changed, 34 insertions(+), 5 deletions(-) diff --git a/Sourcecode/mx/impl/DirectionReader.cpp b/Sourcecode/mx/impl/DirectionReader.cpp index dbf4bf445..751b20097 100644 --- a/Sourcecode/mx/impl/DirectionReader.cpp +++ b/Sourcecode/mx/impl/DirectionReader.cpp @@ -3,20 +3,32 @@ // Distributed under the MIT License #include "mx/impl/DirectionReader.h" +#include "mx/api/WedgeData.h" #include "mx/core/elements/AccordionRegistration.h" +#include "mx/core/elements/Bass.h" +#include "mx/core/elements/BassAlter.h" +#include "mx/core/elements/BassStep.h" #include "mx/core/elements/Bracket.h" #include "mx/core/elements/Coda.h" #include "mx/core/elements/Damp.h" #include "mx/core/elements/DampAll.h" #include "mx/core/elements/Dashes.h" +#include "mx/core/elements/Degree.h" #include "mx/core/elements/Direction.h" #include "mx/core/elements/DirectionType.h" #include "mx/core/elements/Dynamics.h" +#include "mx/core/elements/EditorialGroup.h" #include "mx/core/elements/EditorialVoiceDirectionGroup.h" #include "mx/core/elements/Eyeglasses.h" #include "mx/core/elements/Footnote.h" +#include "mx/core/elements/Frame.h" +#include "mx/core/elements/Function.h" +#include "mx/core/elements/Harmony.h" +#include "mx/core/elements/HarmonyChordGroup.h" #include "mx/core/elements/HarpPedals.h" #include "mx/core/elements/Image.h" +#include "mx/core/elements/Inversion.h" +#include "mx/core/elements/Kind.h" #include "mx/core/elements/Level.h" #include "mx/core/elements/Metronome.h" #include "mx/core/elements/OctaveShift.h" @@ -26,21 +38,23 @@ #include "mx/core/elements/Percussion.h" #include "mx/core/elements/PrincipalVoice.h" #include "mx/core/elements/Rehearsal.h" +#include "mx/core/elements/Root.h" +#include "mx/core/elements/RootAlter.h" +#include "mx/core/elements/RootStep.h" #include "mx/core/elements/Scordatura.h" #include "mx/core/elements/Segno.h" #include "mx/core/elements/Sound.h" #include "mx/core/elements/Staff.h" +#include "mx/core/elements/Staff.h" #include "mx/core/elements/StringMute.h" #include "mx/core/elements/Voice.h" #include "mx/core/elements/Wedge.h" #include "mx/core/elements/Words.h" +#include "mx/impl/DynamicsReader.h" +#include "mx/impl/MarkDataFunctions.h" #include "mx/impl/MetronomeReader.h" #include "mx/impl/PrintFunctions.h" -#include "mx/api/WedgeData.h" #include "mx/impl/SpannerFunctions.h" -#include "mx/impl/DynamicsReader.h" -#include "mx/impl/MarkDataFunctions.h" -#include "mx/core/elements/Harmony.h" namespace mx { @@ -151,7 +165,13 @@ namespace mx } else if( myHarmony ) { - MX_THROW("not implemented"); + for ( const auto& hPtr : myHarmony->getHarmonyChordGroupSet() ) + { + if( hPtr->getHarmonyChordGroup()->getChord() == core::HarmonyChordGroup::Choice::root ) + { + parseHarmony( *hPtr ); + } + } } } @@ -613,5 +633,12 @@ namespace mx { MX_UNUSED( directionType ); } + + + void DirectionReader::parseHarmony( const core::HarmonyChordGroup& inGrp ) + { + mx::api::ChordData chord; + chord.root = inGrp->getRoot(); + } } } diff --git a/Sourcecode/mx/impl/DirectionReader.h b/Sourcecode/mx/impl/DirectionReader.h index aeab6157b..b9f76e4b8 100644 --- a/Sourcecode/mx/impl/DirectionReader.h +++ b/Sourcecode/mx/impl/DirectionReader.h @@ -24,6 +24,7 @@ namespace mx class Harmony; using HarmonyPtr = std::shared_ptr; using HarmonyPtrSet = std::vector; + class HarmonyChordGroup; } namespace impl { @@ -73,6 +74,7 @@ namespace mx void parseAccordionRegistration( const core::DirectionType& directionType ); void parsePercussion( const core::DirectionType& directionType ); void parseOtherDirection( const core::DirectionType& directionType ); + void parseHarmony( const core::HarmonyChordGroup& inGrp ); template api::PositionData parsePositionData( const ATTRIBUTES_TYPE& attributes ) From 8c249fea40bd5988c7bc3d35e1c9a3d9312f453f Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Wed, 28 Jun 2017 17:49:23 -0700 Subject: [PATCH 057/108] mxapi chord progress --- Resources/mjbsuite/chords_simple.xml | 138 ++---------------- Sourcecode/mx/impl/Converter.cpp | 54 ++++++- Sourcecode/mx/impl/Converter.h | 4 + Sourcecode/mx/impl/DirectionReader.cpp | 30 +++- Sourcecode/mx/utility/Round.h | 17 +++ .../mxtest/api/ApiSimpleChordsScoreData.cpp | 0 Sourcecode/mxtest/api/ApiSimpleChordsTest.h | 0 Sourcecode/mxtest/control/CompileControl.h | 2 +- Sourcecode/mxtest/file/MxFileTest.cpp | 38 ----- Sourcecode/mxtest/file/MxFileTest.h | 5 - Xcode/Mx.xcodeproj/project.pbxproj | 2 + Xcode/MxTest.xcodeproj/project.pbxproj | 6 + 12 files changed, 124 insertions(+), 172 deletions(-) create mode 100644 Sourcecode/mx/utility/Round.h create mode 100644 Sourcecode/mxtest/api/ApiSimpleChordsScoreData.cpp create mode 100644 Sourcecode/mxtest/api/ApiSimpleChordsTest.h diff --git a/Resources/mjbsuite/chords_simple.xml b/Resources/mjbsuite/chords_simple.xml index b61f03a4c..64ed6b61c 100644 --- a/Resources/mjbsuite/chords_simple.xml +++ b/Resources/mjbsuite/chords_simple.xml @@ -1,160 +1,50 @@ - Chords - - - Finale v25 for Mac - 2017-06-28 - - - - - - - - - - 7.2319 - 40 - - - 1545 - 1194 - - 140 - 70 - 70 - 70 - - - - - 0 - 0 - - 121 - 70 - - - 80 - - - 0.7487 - 5 - 0.7487 - 0.7487 - 5 - 0.7487 - 0.7487 - 0.7487 - 0.7487 - 0.7487 - 60 - 60 - 120 - 8 - - - - - - title - Chords - - - rights - © - - - Score - - MusicXML Part - - SmartMusicSoftSynth - - - SmartMusicSoftSynth - - 1 - 15489 - 1 - 80 - 0 - + P1 - - - - - 70 - 0 - - 177 - - system - - - 8 - - 0 - major - - - 2 - - G - 2 - - - F - 4 - - - - + + C - major-seventh + major-seventh 1 - - + + D - minor + minor C + 1 1 - - + + E -1 - dominant + dominant 1 - - + + B - diminished-seventh + diminished-seventh 8 1 diff --git a/Sourcecode/mx/impl/Converter.cpp b/Sourcecode/mx/impl/Converter.cpp index 31efb80c8..ccb76015f 100644 --- a/Sourcecode/mx/impl/Converter.cpp +++ b/Sourcecode/mx/impl/Converter.cpp @@ -1270,8 +1270,46 @@ namespace mx std::pair{ core::PlaybackSound::woodTonetang, api::SoundID::woodTonetang }, std::pair{ core::PlaybackSound::woodWoodBlock, api::SoundID::woodWoodBlock }, }; - - + + + const std::map Converter::kindMap + { + std::pair{ core::KindValue::major, api::ChordKind::major }, + std::pair{ core::KindValue::minor, api::ChordKind::minor }, + std::pair{ core::KindValue::augmented, api::ChordKind::augmented }, + std::pair{ core::KindValue::diminished, api::ChordKind::diminished }, + std::pair{ core::KindValue::dominant, api::ChordKind::dominant }, + std::pair{ core::KindValue::majorSeventh, api::ChordKind::majorSeventh }, + std::pair{ core::KindValue::minorSeventh, api::ChordKind::minorSeventh }, + std::pair{ core::KindValue::diminishedSeventh, api::ChordKind::diminishedSeventh }, + std::pair{ core::KindValue::augmentedSeventh, api::ChordKind::augmentedSeventh }, + std::pair{ core::KindValue::halfDiminished, api::ChordKind::halfDiminished }, + std::pair{ core::KindValue::majorMinor, api::ChordKind::majorMinor }, + std::pair{ core::KindValue::majorSixth, api::ChordKind::majorSixth }, + std::pair{ core::KindValue::minorSixth, api::ChordKind::minorSixth }, + std::pair{ core::KindValue::dominantNinth, api::ChordKind::dominantNinth }, + std::pair{ core::KindValue::majorNinth, api::ChordKind::majorNinth }, + std::pair{ core::KindValue::minorNinth, api::ChordKind::minorNinth }, + std::pair{ core::KindValue::dominant11Th, api::ChordKind::dominant11Th }, + std::pair{ core::KindValue::major11Th, api::ChordKind::major11Th }, + std::pair{ core::KindValue::minor11Th, api::ChordKind::minor11Th }, + std::pair{ core::KindValue::dominant13Th, api::ChordKind::dominant13Th }, + std::pair{ core::KindValue::major13Th, api::ChordKind::major13Th }, + std::pair{ core::KindValue::minor13Th, api::ChordKind::minor13Th }, + std::pair{ core::KindValue::suspendedSecond, api::ChordKind::suspendedSecond }, + std::pair{ core::KindValue::suspendedFourth, api::ChordKind::suspendedFourth }, + std::pair{ core::KindValue::neapolitan, api::ChordKind::neapolitan }, + std::pair{ core::KindValue::italian, api::ChordKind::italian }, + std::pair{ core::KindValue::french, api::ChordKind::french }, + std::pair{ core::KindValue::german, api::ChordKind::german }, + std::pair{ core::KindValue::pedal, api::ChordKind::pedal }, + std::pair{ core::KindValue::power, api::ChordKind::power }, + std::pair{ core::KindValue::tristan, api::ChordKind::tristan }, + std::pair{ core::KindValue::other, api::ChordKind::other }, + std::pair{ core::KindValue::none, api::ChordKind::none }, + }; + + api::Step Converter::convert( core::StepEnum inStep ) const { auto it = stepMap.find( inStep ); @@ -1683,6 +1721,18 @@ namespace mx { return findApiItem( instrumentMap, api::SoundID::unspecified, value ); } + + + core::KindValue Converter::convert( api::ChordKind value ) const + { + return findCoreItem( kindMap, core::KindValue::none, value ); + } + + + api::ChordKind Converter::convert( core::KindValue value ) const + { + return findApiItem( kindMap, api::ChordKind::unspecified, value ); + } } } diff --git a/Sourcecode/mx/impl/Converter.h b/Sourcecode/mx/impl/Converter.h index fca4ca259..42aacd047 100644 --- a/Sourcecode/mx/impl/Converter.h +++ b/Sourcecode/mx/impl/Converter.h @@ -106,6 +106,9 @@ namespace mx core::PlaybackSound convert( api::SoundID value ) const; api::SoundID convert( core::PlaybackSound value ) const; + + core::KindValue convert( api::ChordKind value ) const; + api::ChordKind convert( core::KindValue value ) const; const static std::map stepMap; const static std::map durationMap; @@ -134,6 +137,7 @@ namespace mx const static std::map bracketMap; const static std::map fermataMap; const static std::map instrumentMap; + const static std::map kindMap; private: template diff --git a/Sourcecode/mx/impl/DirectionReader.cpp b/Sourcecode/mx/impl/DirectionReader.cpp index 751b20097..623fcdfab 100644 --- a/Sourcecode/mx/impl/DirectionReader.cpp +++ b/Sourcecode/mx/impl/DirectionReader.cpp @@ -55,6 +55,7 @@ #include "mx/impl/MetronomeReader.h" #include "mx/impl/PrintFunctions.h" #include "mx/impl/SpannerFunctions.h" +#include "mx/utility/Round.h" namespace mx { @@ -167,7 +168,7 @@ namespace mx { for ( const auto& hPtr : myHarmony->getHarmonyChordGroupSet() ) { - if( hPtr->getHarmonyChordGroup()->getChord() == core::HarmonyChordGroup::Choice::root ) + if( hPtr->getChoice() == core::HarmonyChordGroup::Choice::root ) { parseHarmony( *hPtr ); } @@ -638,7 +639,32 @@ namespace mx void DirectionReader::parseHarmony( const core::HarmonyChordGroup& inGrp ) { mx::api::ChordData chord; - chord.root = inGrp->getRoot(); + chord.root = myConverter.convert( inGrp.getRoot()->getRootStep()->getValue() ); + + if( inGrp.getRoot()->getHasRootAlter() ) + { + chord.rootAlter = mx::utility::roundTo( inGrp.getRoot()->getRootAlter()->getValue().getValue() ); + } + + const auto& kind = *inGrp.getKind(); + + chord.chordKind = myConverter.convert( kind.getValue() ); + + if( kind.getAttributes()->hasText ) + { + chord.text = kind.getAttributes()->text.getValue(); + } + + if( inGrp.getHasBass() ) + { + const auto& bass = *inGrp.getBass(); + chord.bass = myConverter.convert( bass.getBassStep()->getValue() ); + + if( bass.getHasBassAlter() ) + { + chord.bassAlter = mx::utility::roundTo( bass.getBassAlter()->getValue().getValue() ); + } + } } } } diff --git a/Sourcecode/mx/utility/Round.h b/Sourcecode/mx/utility/Round.h new file mode 100644 index 000000000..9d13fa409 --- /dev/null +++ b/Sourcecode/mx/utility/Round.h @@ -0,0 +1,17 @@ +// MusicXML Class Library +// Copyright (c) by Matthew James Briggs +// Distributed under the MIT License + +#pragma once + +namespace mx +{ + namespace utility + { + template + inline OUTPUT roundTo( INPUT inValue ) + { + return static_cast( std::ceil( inValue - static_cast( 0.5 ) ) ); + } + } +} diff --git a/Sourcecode/mxtest/api/ApiSimpleChordsScoreData.cpp b/Sourcecode/mxtest/api/ApiSimpleChordsScoreData.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/Sourcecode/mxtest/api/ApiSimpleChordsTest.h b/Sourcecode/mxtest/api/ApiSimpleChordsTest.h new file mode 100644 index 000000000..e69de29bb diff --git a/Sourcecode/mxtest/control/CompileControl.h b/Sourcecode/mxtest/control/CompileControl.h index 4dbd44bd5..57943b393 100755 --- a/Sourcecode/mxtest/control/CompileControl.h +++ b/Sourcecode/mxtest/control/CompileControl.h @@ -15,4 +15,4 @@ // use this to restrict the size of the files that // the test run will open (compile-time constant). // 0 indicates no limit -constexpr const int MX_COMPILE_MAX_FILE_SIZE_BYTES = 1024 * 1024; // (1024 * 1024); +constexpr const int MX_COMPILE_MAX_FILE_SIZE_BYTES = 5433; // 1024 * 1024; // (1024 * 1024); diff --git a/Sourcecode/mxtest/file/MxFileTest.cpp b/Sourcecode/mxtest/file/MxFileTest.cpp index 4a26ffb6a..662160a96 100644 --- a/Sourcecode/mxtest/file/MxFileTest.cpp +++ b/Sourcecode/mxtest/file/MxFileTest.cpp @@ -123,42 +123,4 @@ namespace mxtest { myFailureMessage = inMessage; } - - - // MxFileTest::MxFileTest( MxFileTest&& other ) - // : Test{ std::move( other ) } - // , myTestFile{ std::move( other.myTestFile ) } - // , myTestName{ std::move( other.myTestName ) } - // , myCppFileName{ std::move( other.myCppFileName ) } - // , myCppFileLineNumber{ std::move( other.myCppFileLineNumber ) } - // , myIsSuccess{ std::move( other.myIsSuccess ) } - // , myFailureMessage{ std::move( other.myFailureMessage ) } - // { - - // } - - - // MxFileTest::MxFileTest( const MxFileTest& other ) - // : Test{ other } - // , myTestFile{ other.myTestFile } - // , myTestName{ other.myTestName } - // , myCppFileName{ other.myCppFileName } - // , myCppFileLineNumber{ other.myCppFileLineNumber } - // , myIsSuccess{ other.myIsSuccess } - // , myFailureMessage{ other.myFailureMessage } - // { - - // } - - - // MxFileTest& MxFileTest::operator=( MxFileTest&& other ) - // { - // return *this; - // } - - - // MxFileTest& MxFileTest::operator=( const MxFileTest& other ) - // { - // return *this; - // } } diff --git a/Sourcecode/mxtest/file/MxFileTest.h b/Sourcecode/mxtest/file/MxFileTest.h index 91fae10db..062604baa 100644 --- a/Sourcecode/mxtest/file/MxFileTest.h +++ b/Sourcecode/mxtest/file/MxFileTest.h @@ -37,11 +37,6 @@ namespace mxtest virtual void runTestCode() = 0; - // MxFileTest( MxFileTest&& other ); - // MxFileTest( const MxFileTest& other ); - // MxFileTest& operator=( MxFileTest&& other ); - // MxFileTest& operator=( const MxFileTest& other ); - private: mxtest::MxFile myTestFile; std::string myTestName; diff --git a/Xcode/Mx.xcodeproj/project.pbxproj b/Xcode/Mx.xcodeproj/project.pbxproj index b0a58473f..e420ea71b 100755 --- a/Xcode/Mx.xcodeproj/project.pbxproj +++ b/Xcode/Mx.xcodeproj/project.pbxproj @@ -3340,6 +3340,7 @@ 293FFED21DD25C74001477E8 /* libmx-macOS.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libmx-macOS.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; 2975944D1F044C7600DE2F30 /* ChordData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ChordData.cpp; sourceTree = ""; }; 2975944E1F044C7600DE2F30 /* ChordData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ChordData.h; sourceTree = ""; }; + 297594591F04783100DE2F30 /* Round.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Round.h; sourceTree = ""; }; 299F7FE61CA8D2200084CAE5 /* libMx.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMx.a; sourceTree = BUILT_PRODUCTS_DIR; }; 29A800621EF0876500AD2478 /* SoundID.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SoundID.cpp; sourceTree = ""; }; 29A800631EF0876500AD2478 /* SoundID.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SoundID.h; sourceTree = ""; }; @@ -6214,6 +6215,7 @@ 29A8E2A81EF0476300AD2478 /* Utility.h */, 29A8E2A91EF0476300AD2478 /* UtilityImpl.cpp */, 29A8E2AA1EF0476300AD2478 /* UtilityImpl.h */, + 297594591F04783100DE2F30 /* Round.h */, ); path = utility; sourceTree = ""; diff --git a/Xcode/MxTest.xcodeproj/project.pbxproj b/Xcode/MxTest.xcodeproj/project.pbxproj index 733bc90ff..a43b06644 100755 --- a/Xcode/MxTest.xcodeproj/project.pbxproj +++ b/Xcode/MxTest.xcodeproj/project.pbxproj @@ -42,6 +42,7 @@ 297555FD1D1359CA007732D0 /* HelloWorldTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 297555FB1D1359CA007732D0 /* HelloWorldTest.cpp */; }; 297556081D135AA3007732D0 /* UtilityImplTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 297556061D135AA3007732D0 /* UtilityImplTest.cpp */; }; 297556091D135AA3007732D0 /* UtilityTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 297556071D135AA3007732D0 /* UtilityTest.cpp */; }; + 2975945C1F04848600DE2F30 /* ApiSimpleChordsScoreData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2975945A1F04848600DE2F30 /* ApiSimpleChordsScoreData.cpp */; }; 297DD7C91D1A4BD1003BADC1 /* ImportTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 297DD7C81D1A4BD1003BADC1 /* ImportTest.cpp */; }; 2983E3E61EB43878007FCC34 /* DirectionDataTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2983E3E51EB43878007FCC34 /* DirectionDataTest.cpp */; }; 298F0F4D1D1E4981005C3D9D /* ImportTestImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 298F0F4B1D1E4981005C3D9D /* ImportTestImpl.cpp */; }; @@ -528,6 +529,8 @@ 297556061D135AA3007732D0 /* UtilityImplTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = UtilityImplTest.cpp; path = ../Sourcecode/mxtest/utility/UtilityImplTest.cpp; sourceTree = ""; }; 297556071D135AA3007732D0 /* UtilityTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = UtilityTest.cpp; path = ../Sourcecode/mxtest/utility/UtilityTest.cpp; sourceTree = ""; }; 297556171D136AE0007732D0 /* CompileControl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CompileControl.h; path = ../Sourcecode/mxtest/control/CompileControl.h; sourceTree = ""; }; + 2975945A1F04848600DE2F30 /* ApiSimpleChordsScoreData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ApiSimpleChordsScoreData.cpp; path = ../Sourcecode/mxtest/api/ApiSimpleChordsScoreData.cpp; sourceTree = ""; }; + 2975945B1F04848600DE2F30 /* ApiSimpleChordsTest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ApiSimpleChordsTest.h; path = ../Sourcecode/mxtest/api/ApiSimpleChordsTest.h; sourceTree = ""; }; 297DD7C71D1A4BC1003BADC1 /* ExpectedFiles.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ExpectedFiles.h; path = ../Sourcecode/mxtest/import/ExpectedFiles.h; sourceTree = ""; }; 297DD7C81D1A4BD1003BADC1 /* ImportTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ImportTest.cpp; path = ../Sourcecode/mxtest/import/ImportTest.cpp; sourceTree = ""; }; 2983E3E51EB43878007FCC34 /* DirectionDataTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DirectionDataTest.cpp; path = ../Sourcecode/mxtest/api/DirectionDataTest.cpp; sourceTree = ""; }; @@ -1830,6 +1833,8 @@ 2903C9461DBC7D7600218C9E /* ScoreDataCreator.h */, 2983E3E71EB439F7007FCC34 /* TestHelpers.h */, 29979D611DC811F300707AA4 /* TimeSignatureApiTest.cpp */, + 2975945A1F04848600DE2F30 /* ApiSimpleChordsScoreData.cpp */, + 2975945B1F04848600DE2F30 /* ApiSimpleChordsTest.h */, ); name = api; sourceTree = ""; @@ -2347,6 +2352,7 @@ 29C01E8B1D1312FA0094BE61 /* PrincipalVoiceTest.cpp in Sources */, 29C01EFD1D1312FA0094BE61 /* WavyLineTest.cpp in Sources */, 29C01D7D1D1312FA0094BE61 /* ArtificialTest.cpp in Sources */, + 2975945C1F04848600DE2F30 /* ApiSimpleChordsScoreData.cpp in Sources */, 290A8D181E897C9000AF62C8 /* ApiTester.cpp in Sources */, 29C227F01D2F74B500677B3C /* ChangeValues.cpp in Sources */, 29C01E341D1312FA0094BE61 /* MembraneTest.cpp in Sources */, From 7660bd5cbf287d47101742cbd16f566596103b7b Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Wed, 28 Jun 2017 20:14:24 -0700 Subject: [PATCH 058/108] mxapi chord saving works but round trip does not work --- Resources/mjbsuite/chords_simple.xml | 6 + Sourcecode/mx/impl/DirectionWriter.cpp | 165 +++++++++++--- Sourcecode/mx/impl/DirectionWriter.h | 10 +- Sourcecode/mx/impl/MeasureWriter.cpp | 44 +--- .../mxtest/api/ApiChordSimpleScoreData.h | 90 ++++++++ Sourcecode/mxtest/api/ApiChordSimpleTest.cpp | 42 ++++ .../mxtest/api/ApiSimpleChordsScoreData.cpp | 0 Sourcecode/mxtest/api/ApiSimpleChordsTest.h | 0 Sourcecode/mxtest/api/ChordDataSaveTest.cpp | 204 ++++++++++++++++++ .../mxtest/impl/DirectionWriterTest.cpp | 5 +- Xcode/MxTest.xcodeproj/project.pbxproj | 16 +- 11 files changed, 505 insertions(+), 77 deletions(-) create mode 100644 Sourcecode/mxtest/api/ApiChordSimpleScoreData.h create mode 100644 Sourcecode/mxtest/api/ApiChordSimpleTest.cpp delete mode 100644 Sourcecode/mxtest/api/ApiSimpleChordsScoreData.cpp delete mode 100644 Sourcecode/mxtest/api/ApiSimpleChordsTest.h create mode 100644 Sourcecode/mxtest/api/ChordDataSaveTest.cpp diff --git a/Resources/mjbsuite/chords_simple.xml b/Resources/mjbsuite/chords_simple.xml index 64ed6b61c..c87f29671 100644 --- a/Resources/mjbsuite/chords_simple.xml +++ b/Resources/mjbsuite/chords_simple.xml @@ -8,6 +8,9 @@ + + 101 + C @@ -40,6 +43,9 @@ + + 101 + B diff --git a/Sourcecode/mx/impl/DirectionWriter.cpp b/Sourcecode/mx/impl/DirectionWriter.cpp index f0ce62a86..d8679fa42 100644 --- a/Sourcecode/mx/impl/DirectionWriter.cpp +++ b/Sourcecode/mx/impl/DirectionWriter.cpp @@ -2,41 +2,53 @@ // Copyright (c) by Matthew James Briggs // Distributed under the MIT License - #include "mx/impl/DirectionWriter.h" #include "mx/api/BarlineData.h" #include "mx/core/elements/AccordionRegistration.h" +#include "mx/core/elements/Bass.h" +#include "mx/core/elements/BassAlter.h" +#include "mx/core/elements/BassStep.h" #include "mx/core/elements/BeatUnit.h" #include "mx/core/elements/BeatUnitDot.h" #include "mx/core/elements/BeatUnitGroup.h" #include "mx/core/elements/BeatUnitPer.h" #include "mx/core/elements/BeatUnitPerOrNoteRelationNoteChoice.h" #include "mx/core/elements/Bracket.h" -#include "mx/core/elements/Bracket.h" #include "mx/core/elements/Coda.h" #include "mx/core/elements/Damp.h" #include "mx/core/elements/DampAll.h" #include "mx/core/elements/Dashes.h" +#include "mx/core/elements/Degree.h" #include "mx/core/elements/Direction.h" #include "mx/core/elements/DirectionType.h" #include "mx/core/elements/Dynamics.h" +#include "mx/core/elements/EditorialGroup.h" #include "mx/core/elements/EditorialVoiceDirectionGroup.h" #include "mx/core/elements/Eyeglasses.h" #include "mx/core/elements/Footnote.h" +#include "mx/core/elements/Frame.h" +#include "mx/core/elements/Function.h" +#include "mx/core/elements/Harmony.h" +#include "mx/core/elements/HarmonyChordGroup.h" #include "mx/core/elements/HarpPedals.h" #include "mx/core/elements/Image.h" +#include "mx/core/elements/Inversion.h" +#include "mx/core/elements/Kind.h" #include "mx/core/elements/Level.h" #include "mx/core/elements/Metronome.h" +#include "mx/core/elements/MusicDataChoice.h" #include "mx/core/elements/OctaveShift.h" #include "mx/core/elements/Offset.h" #include "mx/core/elements/OtherDirection.h" #include "mx/core/elements/Pedal.h" -#include "mx/core/elements/Pedal.h" #include "mx/core/elements/Percussion.h" #include "mx/core/elements/PerMinute.h" #include "mx/core/elements/PerMinuteOrBeatUnitChoice.h" #include "mx/core/elements/PrincipalVoice.h" #include "mx/core/elements/Rehearsal.h" +#include "mx/core/elements/Root.h" +#include "mx/core/elements/RootAlter.h" +#include "mx/core/elements/RootStep.h" #include "mx/core/elements/Scordatura.h" #include "mx/core/elements/Segno.h" #include "mx/core/elements/Sound.h" @@ -57,19 +69,19 @@ namespace mx DirectionWriter::DirectionWriter( const api::DirectionData& inDirectionData, const Cursor& inCursor ) : myDirectionData{ inDirectionData } , myCursor{ inCursor } - , myOutDirectionPtr{ nullptr } , myConverter{} , myPlacements{} { } - - core::DirectionPtr DirectionWriter::getDirection() + + core::MusicDataChoiceSet DirectionWriter::getDirectionLikeThings() { - myOutDirectionPtr = core::makeDirection(); + core::MusicDataChoiceSet output{}; + auto directionPtr = core::makeDirection(); myPlacements.clear(); myIsFirstDirectionTypeAdded = false; - auto& directionAttributes = *myOutDirectionPtr->getAttributes(); + auto& directionAttributes = *directionPtr->getAttributes(); if( myDirectionData.placement != api::Placement::unspecified ) { @@ -79,17 +91,17 @@ namespace mx if( myDirectionData.isStaffValueSpecified || myCursor.staffIndex != 0 ) { - myOutDirectionPtr->setHasStaff( true ); - myOutDirectionPtr->getStaff()->setValue( core::StaffNumber{ myCursor.staffIndex + 1 } ); + directionPtr->setHasStaff( true ); + directionPtr->getStaff()->setValue( core::StaffNumber{ myCursor.staffIndex + 1 } ); } if( myDirectionData.tickTimePosition != myCursor.tickTimePosition ) { auto offset = myDirectionData.tickTimePosition - myCursor.tickTimePosition; - myOutDirectionPtr->setHasOffset( true ); - myOutDirectionPtr->getOffset()->setValue( core::DivisionsValue{ static_cast( offset ) } ); - myOutDirectionPtr->getOffset()->getAttributes()->hasSound = true; - myOutDirectionPtr->getOffset()->getAttributes()->sound = core::YesNo::yes; + directionPtr->setHasOffset( true ); + directionPtr->getOffset()->setValue( core::DivisionsValue{ static_cast( offset ) } ); + directionPtr->getOffset()->getAttributes()->hasSound = true; + directionPtr->getOffset()->getAttributes()->sound = core::YesNo::yes; } for( auto mark : myDirectionData.marks ) @@ -101,7 +113,7 @@ namespace mx if( isMarkDynamic( mark.markType ) ) { auto directionTypePtr = core::makeDirectionType(); - this->addDirectionType( directionTypePtr ); + this->addDirectionType( directionTypePtr, directionPtr ); directionTypePtr->setChoice( core::DirectionType::Choice::dynamics ); DynamicsWriter dynamicsWriter{ mark, myCursor }; MX_ASSERT( directionTypePtr->getDynamicsSet().size() == 1 ); @@ -112,16 +124,16 @@ namespace mx if( isMarkPedal( mark.markType ) ) { auto directionTypePtr = core::makeDirectionType(); - this->addDirectionType( directionTypePtr ); + this->addDirectionType( directionTypePtr, directionPtr ); directionTypePtr->setChoice( core::DirectionType::Choice::pedal ); auto pedalPtr = directionTypePtr->getPedal(); auto attr = pedalPtr->getAttributes(); if( mark.positionData.placement != api::Placement::unspecified ) { - myOutDirectionPtr->getAttributes()->hasPlacement = true; + directionPtr->getAttributes()->hasPlacement = true; Converter c; - myOutDirectionPtr->getAttributes()->placement = c.convert( mark.positionData.placement ); + directionPtr->getAttributes()->placement = c.convert( mark.positionData.placement ); } if( mark.markType == api::MarkType::pedal ) @@ -145,7 +157,7 @@ namespace mx { auto wedgeStartDirectionTypePtr = core::makeDirectionType(); wedgeStartDirectionTypePtr->setChoice( core::DirectionType::Choice::wedge ); - this->addDirectionType( wedgeStartDirectionTypePtr ); + this->addDirectionType( wedgeStartDirectionTypePtr, directionPtr ); auto wedgePtr = wedgeStartDirectionTypePtr->getWedge(); auto& attr = *wedgePtr->getAttributes(); @@ -171,7 +183,7 @@ namespace mx { auto wedgeStartDirectionTypePtr = core::makeDirectionType(); wedgeStartDirectionTypePtr->setChoice( core::DirectionType::Choice::wedge ); - this->addDirectionType( wedgeStartDirectionTypePtr ); + this->addDirectionType( wedgeStartDirectionTypePtr, directionPtr ); auto wedgePtr = wedgeStartDirectionTypePtr->getWedge(); auto& attr = *wedgePtr->getAttributes(); attr.type = core::WedgeType::stop; @@ -188,7 +200,7 @@ namespace mx for( const auto& ottavaStart : myDirectionData.ottavaStarts ) { auto oStartDir = core::makeDirectionType(); - this->addDirectionType( oStartDir ); + this->addDirectionType( oStartDir, directionPtr ); oStartDir->setChoice( core::DirectionType::Choice::octaveShift ); auto oStart = oStartDir->getOctaveShift(); auto& attr = *oStart->getAttributes(); @@ -229,7 +241,7 @@ namespace mx for( const auto& ottavaStop : myDirectionData.ottavaStops ) { auto oStopDir = core::makeDirectionType(); - this->addDirectionType( oStopDir ); + this->addDirectionType( oStopDir, directionPtr ); oStopDir->setChoice( core::DirectionType::Choice::octaveShift ); auto oStart = oStopDir->getOctaveShift(); auto& attr = *oStart->getAttributes(); @@ -240,7 +252,7 @@ namespace mx for( const auto& item : myDirectionData.bracketStarts ) { auto outDirType = core::makeDirectionType(); - this->addDirectionType( outDirType ); + this->addDirectionType( outDirType, directionPtr ); outDirType->setChoice( core::DirectionType::Choice::bracket ); auto outElement = outDirType->getBracket(); auto& attr = *outElement->getAttributes(); @@ -255,7 +267,7 @@ namespace mx } auto outDirType = core::makeDirectionType(); - this->addDirectionType( outDirType ); + this->addDirectionType( outDirType, directionPtr ); outDirType->setChoice( core::DirectionType::Choice::metronome ); auto outElement = outDirType->getMetronome(); auto choice = outElement->getBeatUnitPerOrNoteRelationNoteChoice(); @@ -312,26 +324,119 @@ namespace mx if( isFirstWordsAdded ) { - addDirectionType( outDirType ); + addDirectionType( outDirType, directionPtr ); } } + if( myIsFirstDirectionTypeAdded ) + { + auto directionMdc = core::makeMusicDataChoice(); + directionMdc->setChoice( core::MusicDataChoice::Choice::direction ); + directionMdc->setDirection( directionPtr ); + output.push_back( directionMdc ); + } + + auto harmonyMdcs = createHarmonyElements(); + addMusicDataChoices(harmonyMdcs, output); + + // clear state myPlacements.clear(); myIsFirstDirectionTypeAdded = false; - return myOutDirectionPtr; + return output; } - void DirectionWriter::addDirectionType( const core::DirectionTypePtr& directionType ) + void DirectionWriter::addDirectionType( const core::DirectionTypePtr& directionType, const core::DirectionPtr& ioDirection ) { - myOutDirectionPtr->addDirectionType( directionType ); + ioDirection->addDirectionType( directionType ); - if( !myIsFirstDirectionTypeAdded && myOutDirectionPtr->getDirectionTypeSet().size() == 2 ) + if( !myIsFirstDirectionTypeAdded && ioDirection->getDirectionTypeSet().size() == 2 ) { - myOutDirectionPtr->removeDirectionType( myOutDirectionPtr->getDirectionTypeSet().cbegin() ); + ioDirection->removeDirectionType( ioDirection->getDirectionTypeSet().cbegin() ); } myIsFirstDirectionTypeAdded = true; } + + + core::MusicDataChoiceSet DirectionWriter::createHarmonyElements() + { + if( myDirectionData.chords.empty() ) + { + return core::MusicDataChoiceSet{}; + } + + core::MusicDataChoiceSet output; + auto mdc = core::makeMusicDataChoice(); + mdc->setChoice( core::MusicDataChoice::Choice::harmony ); + + auto harmony = mdc->getHarmony(); + const auto& chords = myDirectionData.chords; + + auto chordIter = chords.cbegin(); + const auto chordEnd = chords.cend(); + + for( ; chordIter != chordEnd; ++chordIter ) + { + core::HarmonyChordGroupPtr grp = nullptr; + + if( chordIter == chords.cbegin() ) + { + grp = harmony->getHarmonyChordGroupSet().front(); + } + else + { + grp = core::makeHarmonyChordGroup(); + harmony->addHarmonyChordGroup( grp ); + } + + grp->setChoice( core::HarmonyChordGroup::Choice::root ); + auto step = chordIter->root == api::Step::unspecified ? api::Step::c : chordIter->root; + grp->getRoot()->getRootStep()->setValue( myConverter.convert( step ) ); + if( chordIter->rootAlter != 0 ) + { + grp->getRoot()->setHasRootAlter( true ); + grp->getRoot()->getRootAlter()->setValue( core::Semitones{ static_cast( chordIter->rootAlter ) } ); + } + + if( chordIter->bass != api::Step::unspecified ) + { + grp->setHasBass( true ); + auto bass = grp->getBass(); + bass->getBassStep()->setValue( myConverter.convert( chordIter->bass ) ); + if( chordIter->bassAlter != 0 ) + { + bass->setHasBassAlter( true ); + bass->getBassAlter()->setValue( core::Semitones{ static_cast( chordIter->bassAlter ) } ); + } + } + + const auto k = myConverter.convert( chordIter->chordKind ); + grp->getKind()->setValue( k ); + + if( !chordIter->text.empty() ) + { + auto a = grp->getKind()->getAttributes(); + a->hasText = true; + a->text = core::XsToken{ chordIter->text }; + } + + if( output.empty() ) + { + output.push_back( mdc ); + } + } + + return output; + } + + + void DirectionWriter::addMusicDataChoices( const core::MusicDataChoiceSet& inMdcs, core::MusicDataChoiceSet& ioOutputSet ) + { + for( const auto& mdc : inMdcs ) + { + ioOutputSet.push_back( mdc ); + } + } } } diff --git a/Sourcecode/mx/impl/DirectionWriter.h b/Sourcecode/mx/impl/DirectionWriter.h index f81820a87..cf007d03f 100644 --- a/Sourcecode/mx/impl/DirectionWriter.h +++ b/Sourcecode/mx/impl/DirectionWriter.h @@ -20,6 +20,9 @@ namespace mx using DirectionPtr = std::shared_ptr; class DirectionType; using DirectionTypePtr = std::shared_ptr; + class MusicDataChoice; + using MusicDataChoicePtr = std::shared_ptr; + using MusicDataChoiceSet = std::vector; } namespace impl @@ -28,15 +31,16 @@ namespace mx { public: DirectionWriter( const api::DirectionData& inDirectionData, const Cursor& inCursor ); - core::DirectionPtr getDirection(); + core::MusicDataChoiceSet getDirectionLikeThings(); private: - void addDirectionType( const core::DirectionTypePtr& directionType ); + void addDirectionType( const core::DirectionTypePtr& directionType, const core::DirectionPtr& ioDirection ); + core::MusicDataChoiceSet createHarmonyElements(); + void addMusicDataChoices( const core::MusicDataChoiceSet& inMdcs, core::MusicDataChoiceSet& ioOutputSet ); private: const api::DirectionData& myDirectionData; const Cursor myCursor; - core::DirectionPtr myOutDirectionPtr; const Converter myConverter; bool myIsFirstDirectionTypeAdded; std::set myPlacements; diff --git a/Sourcecode/mx/impl/MeasureWriter.cpp b/Sourcecode/mx/impl/MeasureWriter.cpp index 02571b415..c5f51f40b 100644 --- a/Sourcecode/mx/impl/MeasureWriter.cpp +++ b/Sourcecode/mx/impl/MeasureWriter.cpp @@ -599,39 +599,6 @@ namespace mx return; } - -// const auto firstDirectionTime = directionIter->tickTimePosition; -// -// if( firstDirectionTime < minTickTimePosition ) -// { -// MX_THROW( "firstDirectionTime < minTickTimePosition" ); -// } -// -// for( ; directionIter != directionEnd -// && directionIter->tickTimePosition <= maxTickTimePosition; -// ++directionIter ) -// { -// if( isDirectionDataEmpty( *directionIter ) ) -// { -// continue; -// } -// -// const auto directionTime = directionIter->tickTimePosition; -// -// if( directionTime < minTickTimePosition ) -// { -// MX_THROW( "directionTime < minTickTimePosition" ); -// } -// -// auto directionMdc = core::makeMusicDataChoice(); -// directionMdc->setChoice( core::MusicDataChoice::Choice::direction ); -// DirectionWriter directionWriter{ *directionIter, myHistory.getCursor() }; -// directionMdc->setDirection( directionWriter.getDirection() ); -// myOutMeasure->getMusicDataGroup()->addMusicDataChoice( directionMdc ); -// myHistory.log( "addDirection cursorTime " + std::to_string( myHistory.getCursor().tickTimePosition ) + ", directionTime " + std::to_string( directionIter->tickTimePosition ) ); -// -//// MX_ASSERT(directionMdc->getDirection()->getOffset()->getValue().getValue() != 19.0); -// } } void MeasureWriter::writeDirection( const api::DirectionData& inDirectionData ) @@ -641,11 +608,14 @@ namespace mx myPropertiesWriter->flushBuffer(); } - auto directionMdc = core::makeMusicDataChoice(); - directionMdc->setChoice( core::MusicDataChoice::Choice::direction ); + //auto directionMdc = core::makeMusicDataChoice(); + //directionMdc->setChoice( core::MusicDataChoice::Choice::direction ); DirectionWriter directionWriter{ inDirectionData, myHistory.getCursor() }; - directionMdc->setDirection( directionWriter.getDirection() ); - myOutMeasure->getMusicDataGroup()->addMusicDataChoice( directionMdc ); + auto mdcSet = directionWriter.getDirectionLikeThings(); + for( const auto& mdc : mdcSet ) + { + myOutMeasure->getMusicDataGroup()->addMusicDataChoice( mdc ); + } myHistory.log( "addDirection cursorTime " + std::to_string( myHistory.getCursor().tickTimePosition ) + ", directionTime " + std::to_string( inDirectionData.tickTimePosition ) ); } diff --git a/Sourcecode/mxtest/api/ApiChordSimpleScoreData.h b/Sourcecode/mxtest/api/ApiChordSimpleScoreData.h new file mode 100644 index 000000000..2afb6b5f3 --- /dev/null +++ b/Sourcecode/mxtest/api/ApiChordSimpleScoreData.h @@ -0,0 +1,90 @@ +// MusicXML Class Library +// Copyright (c) by Matthew James Briggs +// Distributed under the MIT License + +#pragma once + +#include "mx/api/ScoreData.h" +#include "mx/api/Smufl.h" +#include "mx/impl/Converter.h" +#include "mx/core/Enums.h" + + +namespace mxtest +{ + inline mx::api::ScoreData apiChordSimpleScoreData() + { + using namespace mx::api; + ScoreData score; + score.ticksPerQuarter = 101; + score.parts.emplace_back(); + auto& part = score.parts.back(); + part.name = "P1"; + part.uniqueId = "P1"; + + // Measure 1 + part.measures.emplace_back(); + auto measure = &part.measures.back(); + measure->staves.emplace_back(); + auto staff = &measure->staves.back(); + staff->directions.emplace_back(); + auto direction = &staff->directions.back(); + direction->tickTimePosition = 0; + direction->isStaffValueSpecified = true; + direction->chords.emplace_back(); + auto chord = &direction->chords.back(); + chord->root = Step::c; + chord->chordKind = ChordKind::majorSeventh; + chord->text = "maj7"; + + // Measure 2 + part.measures.emplace_back(); + measure = &part.measures.back(); + measure->staves.emplace_back(); + staff = &measure->staves.back(); + staff->directions.emplace_back(); + direction = &staff->directions.back(); + direction->tickTimePosition = 0; + direction->isStaffValueSpecified = true; + direction->chords.emplace_back(); + chord = &direction->chords.back(); + chord->root = Step::d; + chord->chordKind = ChordKind::minor; + chord->text = "m"; + chord->bass = Step::c; + chord->bassAlter = 1; + + // Measure 3 + part.measures.emplace_back(); + measure = &part.measures.back(); + measure->staves.emplace_back(); + staff = &measure->staves.back(); + staff->directions.emplace_back(); + direction = &staff->directions.back(); + direction->tickTimePosition = 0; + direction->isStaffValueSpecified = true; + direction->chords.emplace_back(); + chord = &direction->chords.back(); + chord->root = Step::e; + chord->rootAlter = -1; + chord->chordKind = ChordKind::dominant; + chord->text = "7"; + + // Measure 4 + part.measures.emplace_back(); + measure = &part.measures.back(); + measure->staves.emplace_back(); + staff = &measure->staves.back(); + staff->directions.emplace_back(); + direction = &staff->directions.back(); + direction->tickTimePosition = 101; + direction->isStaffValueSpecified = true; + direction->chords.emplace_back(); + chord = &direction->chords.back(); + chord->root = Step::b; + chord->rootAlter = 0; + chord->chordKind = ChordKind::diminishedSeventh; + chord->text = "dim7"; + return score; + } +} diff --git a/Sourcecode/mxtest/api/ApiChordSimpleTest.cpp b/Sourcecode/mxtest/api/ApiChordSimpleTest.cpp new file mode 100644 index 000000000..a5ab9e8f8 --- /dev/null +++ b/Sourcecode/mxtest/api/ApiChordSimpleTest.cpp @@ -0,0 +1,42 @@ +// MusicXML Class Library +// Copyright (c) by Matthew James Briggs +// Distributed under the MIT License + +#include "mxtest/control/CompileControl.h" +#ifdef MX_COMPILE_API_TESTS + +#include "mxtest/api/ApiTester.h" +#include "mxtest/file/MxFileTest.h" +#include "mxtest/file/MxFileTestGroup.h" +#include "mx/api/DocumentManager.h" +#include "cpul/cpulTestHarness.h" +#include "mx/api/ScoreData.h" +#include "mxtest/api/ApiTester.h" +#include "mxtest/api/ApiChordSimpleScoreData.h" + +using namespace mx::api; + +namespace mxtest +{ + constexpr const char* const testFileName = "chords_simple.xml"; + + class ApiChordSimpleScoreData : public ScoreDataCreator + { + virtual mx::api::ScoreData createScoreData() const override + { + return apiChordSimpleScoreData(); + } + }; + + class ApiChordSimpleScoreData; + + static const ApiTester ApiChordSimpleTest + { + ScoreDataCreatorPtr{ new ApiChordSimpleScoreData{} }, + MxFileRepository::getTestFile( testFileName ), + __FILE__, + __LINE__ + }; +} + +#endif diff --git a/Sourcecode/mxtest/api/ApiSimpleChordsScoreData.cpp b/Sourcecode/mxtest/api/ApiSimpleChordsScoreData.cpp deleted file mode 100644 index e69de29bb..000000000 diff --git a/Sourcecode/mxtest/api/ApiSimpleChordsTest.h b/Sourcecode/mxtest/api/ApiSimpleChordsTest.h deleted file mode 100644 index e69de29bb..000000000 diff --git a/Sourcecode/mxtest/api/ChordDataSaveTest.cpp b/Sourcecode/mxtest/api/ChordDataSaveTest.cpp new file mode 100644 index 000000000..c88e61a9e --- /dev/null +++ b/Sourcecode/mxtest/api/ChordDataSaveTest.cpp @@ -0,0 +1,204 @@ +// MusicXML Class Library +// Copyright (c) by Matthew James Briggs +// Distributed under the MIT License + +#include "mxtest/control/CompileControl.h" +#ifdef MX_COMPILE_API_TESTS + +#include "cpul/cpulTestHarness.h" +#include "mxtest/file/MxFileRepository.h" +#include "mx/api/DocumentManager.h" +#include "mxtest/api/TestHelpers.h" +#include "mx/core/Document.h" +#include "mx/core/elements/ScorePartwise.h" +#include "mx/core/elements/PartwisePart.h" +#include "mx/core/elements/PartwiseMeasure.h" +#include "mx/core/elements/MusicDataGroup.h" +#include "mx/core/elements/MusicDataChoice.h" +#include "mx/core/elements/Bass.h" +#include "mx/core/elements/BassAlter.h" +#include "mx/core/elements/BassStep.h" +#include "mx/core/elements/BeatUnit.h" +#include "mx/core/elements/BeatUnitDot.h" +#include "mx/core/elements/BeatUnitGroup.h" +#include "mx/core/elements/BeatUnitPer.h" +#include "mx/core/elements/BeatUnitPerOrNoteRelationNoteChoice.h" +#include "mx/core/elements/Bracket.h" +#include "mx/core/elements/Coda.h" +#include "mx/core/elements/Damp.h" +#include "mx/core/elements/DampAll.h" +#include "mx/core/elements/Dashes.h" +#include "mx/core/elements/Degree.h" +#include "mx/core/elements/Direction.h" +#include "mx/core/elements/DirectionType.h" +#include "mx/core/elements/Dynamics.h" +#include "mx/core/elements/EditorialGroup.h" +#include "mx/core/elements/EditorialVoiceDirectionGroup.h" +#include "mx/core/elements/Eyeglasses.h" +#include "mx/core/elements/Footnote.h" +#include "mx/core/elements/Frame.h" +#include "mx/core/elements/Function.h" +#include "mx/core/elements/Harmony.h" +#include "mx/core/elements/HarmonyChordGroup.h" +#include "mx/core/elements/HarpPedals.h" +#include "mx/core/elements/Image.h" +#include "mx/core/elements/Inversion.h" +#include "mx/core/elements/Kind.h" +#include "mx/core/elements/Level.h" +#include "mx/core/elements/Metronome.h" +#include "mx/core/elements/MusicDataChoice.h" +#include "mx/core/elements/OctaveShift.h" +#include "mx/core/elements/Offset.h" +#include "mx/core/elements/Offset.h" +#include "mx/core/elements/OtherDirection.h" +#include "mx/core/elements/Pedal.h" +#include "mx/core/elements/Pedal.h" +#include "mx/core/elements/Percussion.h" +#include "mx/core/elements/PerMinute.h" +#include "mx/core/elements/PerMinuteOrBeatUnitChoice.h" +#include "mx/core/elements/PrincipalVoice.h" +#include "mx/core/elements/Rehearsal.h" +#include "mx/core/elements/Root.h" +#include "mx/core/elements/RootAlter.h" +#include "mx/core/elements/RootStep.h" +#include "mx/core/elements/Scordatura.h" +#include "mx/core/elements/Segno.h" +#include "mx/core/elements/Sound.h" +#include "mx/core/elements/Staff.h" +#include "mx/core/elements/StringMute.h" +#include "mx/core/elements/Voice.h" +#include "mx/core/elements/Wedge.h" +#include "mx/core/elements/Words.h" + +#include "mxtest/api/ApiChordSimpleScoreData.h" + +using namespace std; +using namespace mx::api; +using namespace mx; +using namespace mxtest; + +TEST( Save, ChordDataSaveTest ) +{ + const auto scoreData = apiChordSimpleScoreData(); + auto& mgr = DocumentManager::getInstance(); + auto docId = mgr.createFromScore( scoreData ); + const auto doc = mgr.getDocument( docId ); + mgr.destroyDocument( docId ); + + const auto scorePartwise = doc->getScorePartwise(); + const auto& partwisePartSet = scorePartwise->getPartwisePartSet(); + const auto& partwisePart = partwisePartSet.front(); + const auto& measureSet = partwisePart->getPartwiseMeasureSet(); + + auto measure = measureSet.at( 0 ); + auto mdc = measure->getMusicDataGroup()->getMusicDataChoiceSet().back(); + CHECK( core::MusicDataChoice::Choice::harmony == mdc->getChoice() ); + auto harmony = mdc->getHarmony(); + auto grp = harmony->getHarmonyChordGroupSet().front(); + auto rootStep = grp->getRoot()->getRootStep()->getValue(); + bool hasRootAlter = grp->getRoot()->getHasRootAlter(); + auto rootAlter = grp->getRoot()->getRootAlter()->getValue().getValue(); + auto kind = grp->getKind()->getValue(); + bool hasText = grp->getKind()->getAttributes()->hasText; + auto text = grp->getKind()->getAttributes()->text.getValue(); + bool hasBass = grp->getHasBass(); + auto bassStep = grp->getBass()->getBassStep()->getValue(); + bool hasBassAlter = grp->getBass()->getHasBassAlter(); + auto bassAlter = grp->getBass()->getBassAlter()->getValue().getValue(); + CHECK( core::StepEnum::c == rootStep ); + CHECK( !hasRootAlter ); + CHECK_DOUBLES_EQUAL( 0.0, rootAlter, 0.01 ); + CHECK( core::KindValue::majorSeventh == kind ); + CHECK( hasText ); + CHECK_EQUAL( "maj7", text ); + CHECK( !hasBass ); + CHECK( core::makeBassStep()->getValue() == bassStep ); + CHECK( !hasBassAlter ); + CHECK_DOUBLES_EQUAL( 0.0, bassAlter, 0.01 ); + + measure = measureSet.at( 1 ); + mdc = measure->getMusicDataGroup()->getMusicDataChoiceSet().back(); + CHECK( core::MusicDataChoice::Choice::harmony == mdc->getChoice() ); + harmony = mdc->getHarmony(); + grp = harmony->getHarmonyChordGroupSet().front(); + rootStep = grp->getRoot()->getRootStep()->getValue(); + hasRootAlter = grp->getRoot()->getHasRootAlter(); + rootAlter = grp->getRoot()->getRootAlter()->getValue().getValue(); + kind = grp->getKind()->getValue(); + hasText = grp->getKind()->getAttributes()->hasText; + text = grp->getKind()->getAttributes()->text.getValue(); + hasBass = grp->getHasBass(); + bassStep = grp->getBass()->getBassStep()->getValue(); + hasBassAlter = grp->getBass()->getHasBassAlter(); + bassAlter = grp->getBass()->getBassAlter()->getValue().getValue(); + CHECK( core::StepEnum::d == rootStep ); + CHECK( !hasRootAlter ); + CHECK_DOUBLES_EQUAL( 0.0, rootAlter, 0.01 ); + CHECK( core::KindValue::minor == kind ); + CHECK( hasText ); + CHECK_EQUAL( "m", text ); + CHECK( hasBass ); + CHECK( core::StepEnum::c == bassStep ); + CHECK( hasBassAlter ); + CHECK_DOUBLES_EQUAL( 1.0, bassAlter, 0.01 ); + + measure = measureSet.at( 2 ); + mdc = measure->getMusicDataGroup()->getMusicDataChoiceSet().back(); + CHECK( core::MusicDataChoice::Choice::harmony == mdc->getChoice() ); + harmony = mdc->getHarmony(); + grp = harmony->getHarmonyChordGroupSet().front(); + rootStep = grp->getRoot()->getRootStep()->getValue(); + hasRootAlter = grp->getRoot()->getHasRootAlter(); + rootAlter = grp->getRoot()->getRootAlter()->getValue().getValue(); + kind = grp->getKind()->getValue(); + hasText = grp->getKind()->getAttributes()->hasText; + text = grp->getKind()->getAttributes()->text.getValue(); + hasBass = grp->getHasBass(); + bassStep = grp->getBass()->getBassStep()->getValue(); + hasBassAlter = grp->getBass()->getHasBassAlter(); + bassAlter = grp->getBass()->getBassAlter()->getValue().getValue(); + CHECK( core::StepEnum::e == rootStep ); + CHECK( hasRootAlter ); + CHECK_DOUBLES_EQUAL( -1.0, rootAlter, 0.01 ); + CHECK( core::KindValue::dominant == kind ); + CHECK( hasText ); + CHECK_EQUAL( "7", text ); + CHECK( !hasBass ); + CHECK( core::makeBassStep()->getValue() == bassStep ); + CHECK( !hasBassAlter ); + CHECK_DOUBLES_EQUAL( 0.0, bassAlter, 0.01 ); + + measure = measureSet.at( 3 ); + mdc = measure->getMusicDataGroup()->getMusicDataChoiceSet().back(); + CHECK( core::MusicDataChoice::Choice::harmony == mdc->getChoice() ); + harmony = mdc->getHarmony(); + grp = harmony->getHarmonyChordGroupSet().front(); + rootStep = grp->getRoot()->getRootStep()->getValue(); + hasRootAlter = grp->getRoot()->getHasRootAlter(); + rootAlter = grp->getRoot()->getRootAlter()->getValue().getValue(); + kind = grp->getKind()->getValue(); + hasText = grp->getKind()->getAttributes()->hasText; + text = grp->getKind()->getAttributes()->text.getValue(); + hasBass = grp->getHasBass(); + bassStep = grp->getBass()->getBassStep()->getValue(); + hasBassAlter = grp->getBass()->getHasBassAlter(); + bassAlter = grp->getBass()->getBassAlter()->getValue().getValue(); + CHECK( core::StepEnum::b == rootStep ); + CHECK( !hasRootAlter ); + CHECK_DOUBLES_EQUAL( 0.0, rootAlter, 0.01 ); + CHECK( core::KindValue::diminishedSeventh == kind ); + CHECK( hasText ); + CHECK_EQUAL( "dim7", text ); + CHECK( !hasBass ); + CHECK( core::makeBassStep()->getValue() == bassStep ); + CHECK( !hasBassAlter ); + CHECK_DOUBLES_EQUAL( 0.0, bassAlter, 0.01 ); + + CHECK( harmony->getHasOffset() ); + auto offset = harmony->getOffset(); + auto offsetValue = offset->getValue().getValue(); + CHECK_DOUBLES_EQUAL( 109.0, offsetValue, 0.01 ); + +} + +#endif diff --git a/Sourcecode/mxtest/impl/DirectionWriterTest.cpp b/Sourcecode/mxtest/impl/DirectionWriterTest.cpp index d6583ac67..877fa29cc 100644 --- a/Sourcecode/mxtest/impl/DirectionWriterTest.cpp +++ b/Sourcecode/mxtest/impl/DirectionWriterTest.cpp @@ -11,6 +11,7 @@ #include "mx/core/elements/DirectionType.h" #include "mx/api/OttavaData.h" #include "mx/core/elements/OctaveShift.h" +#include "mx/core/elements/MusicDataChoice.h" #include @@ -34,7 +35,9 @@ TEST( ottavaStartStop, DirectionWriter ) start.spannerStart.positionData.defaultX = 100.0; DirectionWriter writer{ directionData, cursor }; - auto direction = writer.getDirection(); + const auto mdcSet = writer.getDirectionLikeThings(); + CHECK( mdcSet.front()->getChoice() == core::MusicDataChoice::Choice::direction ); + const auto direction = mdcSet.front()->getDirection(); const auto& directionTypes = direction->getDirectionTypeSet(); CHECK_EQUAL( 2, directionTypes.size() ); diff --git a/Xcode/MxTest.xcodeproj/project.pbxproj b/Xcode/MxTest.xcodeproj/project.pbxproj index a43b06644..fceffcc21 100755 --- a/Xcode/MxTest.xcodeproj/project.pbxproj +++ b/Xcode/MxTest.xcodeproj/project.pbxproj @@ -42,7 +42,8 @@ 297555FD1D1359CA007732D0 /* HelloWorldTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 297555FB1D1359CA007732D0 /* HelloWorldTest.cpp */; }; 297556081D135AA3007732D0 /* UtilityImplTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 297556061D135AA3007732D0 /* UtilityImplTest.cpp */; }; 297556091D135AA3007732D0 /* UtilityTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 297556071D135AA3007732D0 /* UtilityTest.cpp */; }; - 2975945C1F04848600DE2F30 /* ApiSimpleChordsScoreData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2975945A1F04848600DE2F30 /* ApiSimpleChordsScoreData.cpp */; }; + 2975945D1F04880000DE2F30 /* ApiChordSimpleTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2975945B1F04848600DE2F30 /* ApiChordSimpleTest.cpp */; }; + 2975945F1F04A0CD00DE2F30 /* ChordDataSaveTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2975945E1F04A0CD00DE2F30 /* ChordDataSaveTest.cpp */; }; 297DD7C91D1A4BD1003BADC1 /* ImportTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 297DD7C81D1A4BD1003BADC1 /* ImportTest.cpp */; }; 2983E3E61EB43878007FCC34 /* DirectionDataTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2983E3E51EB43878007FCC34 /* DirectionDataTest.cpp */; }; 298F0F4D1D1E4981005C3D9D /* ImportTestImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 298F0F4B1D1E4981005C3D9D /* ImportTestImpl.cpp */; }; @@ -529,8 +530,9 @@ 297556061D135AA3007732D0 /* UtilityImplTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = UtilityImplTest.cpp; path = ../Sourcecode/mxtest/utility/UtilityImplTest.cpp; sourceTree = ""; }; 297556071D135AA3007732D0 /* UtilityTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = UtilityTest.cpp; path = ../Sourcecode/mxtest/utility/UtilityTest.cpp; sourceTree = ""; }; 297556171D136AE0007732D0 /* CompileControl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CompileControl.h; path = ../Sourcecode/mxtest/control/CompileControl.h; sourceTree = ""; }; - 2975945A1F04848600DE2F30 /* ApiSimpleChordsScoreData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ApiSimpleChordsScoreData.cpp; path = ../Sourcecode/mxtest/api/ApiSimpleChordsScoreData.cpp; sourceTree = ""; }; - 2975945B1F04848600DE2F30 /* ApiSimpleChordsTest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ApiSimpleChordsTest.h; path = ../Sourcecode/mxtest/api/ApiSimpleChordsTest.h; sourceTree = ""; }; + 2975945A1F04848600DE2F30 /* ApiChordSimpleScoreData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ApiChordSimpleScoreData.h; path = ../Sourcecode/mxtest/api/ApiChordSimpleScoreData.h; sourceTree = ""; }; + 2975945B1F04848600DE2F30 /* ApiChordSimpleTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ApiChordSimpleTest.cpp; path = ../Sourcecode/mxtest/api/ApiChordSimpleTest.cpp; sourceTree = ""; }; + 2975945E1F04A0CD00DE2F30 /* ChordDataSaveTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ChordDataSaveTest.cpp; path = ../Sourcecode/mxtest/api/ChordDataSaveTest.cpp; sourceTree = ""; }; 297DD7C71D1A4BC1003BADC1 /* ExpectedFiles.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ExpectedFiles.h; path = ../Sourcecode/mxtest/import/ExpectedFiles.h; sourceTree = ""; }; 297DD7C81D1A4BD1003BADC1 /* ImportTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ImportTest.cpp; path = ../Sourcecode/mxtest/import/ImportTest.cpp; sourceTree = ""; }; 2983E3E51EB43878007FCC34 /* DirectionDataTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DirectionDataTest.cpp; path = ../Sourcecode/mxtest/api/DirectionDataTest.cpp; sourceTree = ""; }; @@ -1833,8 +1835,9 @@ 2903C9461DBC7D7600218C9E /* ScoreDataCreator.h */, 2983E3E71EB439F7007FCC34 /* TestHelpers.h */, 29979D611DC811F300707AA4 /* TimeSignatureApiTest.cpp */, - 2975945A1F04848600DE2F30 /* ApiSimpleChordsScoreData.cpp */, - 2975945B1F04848600DE2F30 /* ApiSimpleChordsTest.h */, + 2975945A1F04848600DE2F30 /* ApiChordSimpleScoreData.h */, + 2975945B1F04848600DE2F30 /* ApiChordSimpleTest.cpp */, + 2975945E1F04A0CD00DE2F30 /* ChordDataSaveTest.cpp */, ); name = api; sourceTree = ""; @@ -2079,6 +2082,7 @@ 29C01E1B1D1312FA0094BE61 /* IpaTest.cpp in Sources */, 29C01E2F1D1312FA0094BE61 /* MeasureDistanceTest.cpp in Sources */, 29C01E311D1312FA0094BE61 /* MeasureNumberingTest.cpp in Sources */, + 2975945F1F04A0CD00DE2F30 /* ChordDataSaveTest.cpp in Sources */, 29C01EC51D1312FA0094BE61 /* StoppedTest.cpp in Sources */, 29C01E711D1312FA0094BE61 /* PageWidthTest.cpp in Sources */, 29C01EB91D1312FA0094BE61 /* StaffLinesTest.cpp in Sources */, @@ -2352,7 +2356,7 @@ 29C01E8B1D1312FA0094BE61 /* PrincipalVoiceTest.cpp in Sources */, 29C01EFD1D1312FA0094BE61 /* WavyLineTest.cpp in Sources */, 29C01D7D1D1312FA0094BE61 /* ArtificialTest.cpp in Sources */, - 2975945C1F04848600DE2F30 /* ApiSimpleChordsScoreData.cpp in Sources */, + 2975945D1F04880000DE2F30 /* ApiChordSimpleTest.cpp in Sources */, 290A8D181E897C9000AF62C8 /* ApiTester.cpp in Sources */, 29C227F01D2F74B500677B3C /* ChangeValues.cpp in Sources */, 29C01E341D1312FA0094BE61 /* MembraneTest.cpp in Sources */, From b91aacf90872c0cb6e0703da6c935e34351f3e04 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Wed, 28 Jun 2017 21:40:03 -0700 Subject: [PATCH 059/108] mxapi still cannot fix the round trip test --- Sourcecode/mx/impl/DirectionWriter.cpp | 17 +++++++++++++---- Sourcecode/mx/impl/DirectionWriter.h | 2 +- Sourcecode/mxtest/api/ApiChordSimpleScoreData.h | 2 +- Sourcecode/mxtest/api/ChordDataSaveTest.cpp | 1 + 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/Sourcecode/mx/impl/DirectionWriter.cpp b/Sourcecode/mx/impl/DirectionWriter.cpp index d8679fa42..3c3526949 100644 --- a/Sourcecode/mx/impl/DirectionWriter.cpp +++ b/Sourcecode/mx/impl/DirectionWriter.cpp @@ -94,10 +94,12 @@ namespace mx directionPtr->setHasStaff( true ); directionPtr->getStaff()->setValue( core::StaffNumber{ myCursor.staffIndex + 1 } ); } - + + int offset = 0; + if( myDirectionData.tickTimePosition != myCursor.tickTimePosition ) { - auto offset = myDirectionData.tickTimePosition - myCursor.tickTimePosition; + offset = myDirectionData.tickTimePosition - myCursor.tickTimePosition; directionPtr->setHasOffset( true ); directionPtr->getOffset()->setValue( core::DivisionsValue{ static_cast( offset ) } ); directionPtr->getOffset()->getAttributes()->hasSound = true; @@ -336,7 +338,7 @@ namespace mx output.push_back( directionMdc ); } - auto harmonyMdcs = createHarmonyElements(); + auto harmonyMdcs = createHarmonyElements( offset ); addMusicDataChoices(harmonyMdcs, output); // clear state @@ -359,7 +361,7 @@ namespace mx } - core::MusicDataChoiceSet DirectionWriter::createHarmonyElements() + core::MusicDataChoiceSet DirectionWriter::createHarmonyElements(int inOffset) { if( myDirectionData.chords.empty() ) { @@ -371,6 +373,13 @@ namespace mx mdc->setChoice( core::MusicDataChoice::Choice::harmony ); auto harmony = mdc->getHarmony(); + + if( inOffset != 0 ) + { + harmony->setHasOffset( true ); + harmony->getOffset()->setValue( core::DivisionsValue{ static_cast( inOffset ) } ); + } + const auto& chords = myDirectionData.chords; auto chordIter = chords.cbegin(); diff --git a/Sourcecode/mx/impl/DirectionWriter.h b/Sourcecode/mx/impl/DirectionWriter.h index cf007d03f..98430c037 100644 --- a/Sourcecode/mx/impl/DirectionWriter.h +++ b/Sourcecode/mx/impl/DirectionWriter.h @@ -35,7 +35,7 @@ namespace mx private: void addDirectionType( const core::DirectionTypePtr& directionType, const core::DirectionPtr& ioDirection ); - core::MusicDataChoiceSet createHarmonyElements(); + core::MusicDataChoiceSet createHarmonyElements(int inOffset); void addMusicDataChoices( const core::MusicDataChoiceSet& inMdcs, core::MusicDataChoiceSet& ioOutputSet ); private: diff --git a/Sourcecode/mxtest/api/ApiChordSimpleScoreData.h b/Sourcecode/mxtest/api/ApiChordSimpleScoreData.h index 2afb6b5f3..4ff7d4812 100644 --- a/Sourcecode/mxtest/api/ApiChordSimpleScoreData.h +++ b/Sourcecode/mxtest/api/ApiChordSimpleScoreData.h @@ -77,7 +77,7 @@ namespace mxtest staff = &measure->staves.back(); staff->directions.emplace_back(); direction = &staff->directions.back(); - direction->tickTimePosition = 101; + direction->tickTimePosition = 109; direction->isStaffValueSpecified = true; direction->chords.emplace_back(); chord = &direction->chords.back(); diff --git a/Sourcecode/mxtest/api/ChordDataSaveTest.cpp b/Sourcecode/mxtest/api/ChordDataSaveTest.cpp index c88e61a9e..63ef26cd1 100644 --- a/Sourcecode/mxtest/api/ChordDataSaveTest.cpp +++ b/Sourcecode/mxtest/api/ChordDataSaveTest.cpp @@ -199,6 +199,7 @@ TEST( Save, ChordDataSaveTest ) auto offsetValue = offset->getValue().getValue(); CHECK_DOUBLES_EQUAL( 109.0, offsetValue, 0.01 ); + // TODO - go to DirectionWriter and pass the offset value down into the harmony element } #endif From 4f023a40573bf52441f16807511e5f37a366b54f Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Thu, 29 Jun 2017 11:29:10 -0700 Subject: [PATCH 060/108] mxapi basic chord support complete --- Sourcecode/mx/impl/DirectionReader.cpp | 2 + Sourcecode/mx/impl/DirectionWriter.cpp | 8 +- Sourcecode/mx/impl/DirectionWriter.h | 2 +- ...eTest.cpp => ChordDataSaveAndLoadTest.cpp} | 132 +++++++++++++++++- Xcode/MxTest.xcodeproj/project.pbxproj | 8 +- 5 files changed, 145 insertions(+), 7 deletions(-) rename Sourcecode/mxtest/api/{ChordDataSaveTest.cpp => ChordDataSaveAndLoadTest.cpp} (61%) diff --git a/Sourcecode/mx/impl/DirectionReader.cpp b/Sourcecode/mx/impl/DirectionReader.cpp index 623fcdfab..a40942296 100644 --- a/Sourcecode/mx/impl/DirectionReader.cpp +++ b/Sourcecode/mx/impl/DirectionReader.cpp @@ -665,6 +665,8 @@ namespace mx chord.bassAlter = mx::utility::roundTo( bass.getBassAlter()->getValue().getValue() ); } } + + myOutDirectionData.chords.push_back( chord ); } } } diff --git a/Sourcecode/mx/impl/DirectionWriter.cpp b/Sourcecode/mx/impl/DirectionWriter.cpp index 3c3526949..c26d52069 100644 --- a/Sourcecode/mx/impl/DirectionWriter.cpp +++ b/Sourcecode/mx/impl/DirectionWriter.cpp @@ -361,7 +361,7 @@ namespace mx } - core::MusicDataChoiceSet DirectionWriter::createHarmonyElements(int inOffset) + core::MusicDataChoiceSet DirectionWriter::createHarmonyElements( int inOffset ) { if( myDirectionData.chords.empty() ) { @@ -380,6 +380,12 @@ namespace mx harmony->getOffset()->setValue( core::DivisionsValue{ static_cast( inOffset ) } ); } + if( myDirectionData.isStaffValueSpecified ) + { + harmony->setHasStaff( true ); + harmony->getStaff()->setValue( core::PositiveInteger{ myCursor.staffIndex + 1 } ); + } + const auto& chords = myDirectionData.chords; auto chordIter = chords.cbegin(); diff --git a/Sourcecode/mx/impl/DirectionWriter.h b/Sourcecode/mx/impl/DirectionWriter.h index 98430c037..9b675815a 100644 --- a/Sourcecode/mx/impl/DirectionWriter.h +++ b/Sourcecode/mx/impl/DirectionWriter.h @@ -35,7 +35,7 @@ namespace mx private: void addDirectionType( const core::DirectionTypePtr& directionType, const core::DirectionPtr& ioDirection ); - core::MusicDataChoiceSet createHarmonyElements(int inOffset); + core::MusicDataChoiceSet createHarmonyElements( int inOffset ); void addMusicDataChoices( const core::MusicDataChoiceSet& inMdcs, core::MusicDataChoiceSet& ioOutputSet ); private: diff --git a/Sourcecode/mxtest/api/ChordDataSaveTest.cpp b/Sourcecode/mxtest/api/ChordDataSaveAndLoadTest.cpp similarity index 61% rename from Sourcecode/mxtest/api/ChordDataSaveTest.cpp rename to Sourcecode/mxtest/api/ChordDataSaveAndLoadTest.cpp index 63ef26cd1..8e5aff674 100644 --- a/Sourcecode/mxtest/api/ChordDataSaveTest.cpp +++ b/Sourcecode/mxtest/api/ChordDataSaveAndLoadTest.cpp @@ -91,6 +91,7 @@ TEST( Save, ChordDataSaveTest ) const auto& measureSet = partwisePart->getPartwiseMeasureSet(); auto measure = measureSet.at( 0 ); + CHECK_EQUAL( 2, measure->getMusicDataGroup()->getMusicDataChoiceSet().size() ); auto mdc = measure->getMusicDataGroup()->getMusicDataChoiceSet().back(); CHECK( core::MusicDataChoice::Choice::harmony == mdc->getChoice() ); auto harmony = mdc->getHarmony(); @@ -117,6 +118,7 @@ TEST( Save, ChordDataSaveTest ) CHECK_DOUBLES_EQUAL( 0.0, bassAlter, 0.01 ); measure = measureSet.at( 1 ); + CHECK_EQUAL( 1, measure->getMusicDataGroup()->getMusicDataChoiceSet().size() ); mdc = measure->getMusicDataGroup()->getMusicDataChoiceSet().back(); CHECK( core::MusicDataChoice::Choice::harmony == mdc->getChoice() ); harmony = mdc->getHarmony(); @@ -143,6 +145,7 @@ TEST( Save, ChordDataSaveTest ) CHECK_DOUBLES_EQUAL( 1.0, bassAlter, 0.01 ); measure = measureSet.at( 2 ); + CHECK_EQUAL( 1, measure->getMusicDataGroup()->getMusicDataChoiceSet().size() ); mdc = measure->getMusicDataGroup()->getMusicDataChoiceSet().back(); CHECK( core::MusicDataChoice::Choice::harmony == mdc->getChoice() ); harmony = mdc->getHarmony(); @@ -169,6 +172,7 @@ TEST( Save, ChordDataSaveTest ) CHECK_DOUBLES_EQUAL( 0.0, bassAlter, 0.01 ); measure = measureSet.at( 3 ); + CHECK_EQUAL( 1, measure->getMusicDataGroup()->getMusicDataChoiceSet().size() ); mdc = measure->getMusicDataGroup()->getMusicDataChoiceSet().back(); CHECK( core::MusicDataChoice::Choice::harmony == mdc->getChoice() ); harmony = mdc->getHarmony(); @@ -198,8 +202,134 @@ TEST( Save, ChordDataSaveTest ) auto offset = harmony->getOffset(); auto offsetValue = offset->getValue().getValue(); CHECK_DOUBLES_EQUAL( 109.0, offsetValue, 0.01 ); +} + + +TEST( Load1, ChordDataSaveTest ) +{ + const auto scoreData = MxFileRepository::loadFile( "chords_simple.xml" ); + auto part = &scoreData.parts.front(); + + int measureNumber = 1; + auto measure = &part->measures.at( measureNumber - 1 ); + auto staff = &measure->staves.front(); + auto directions = &staff->directions; + CHECK_EQUAL( 1, directions->size() ); + auto direction = &directions->at( 0 ); + auto chords = &direction->chords; + CHECK_EQUAL( 1, chords->size() ); + CHECK_EQUAL( 0, direction->tempos.size() ); + CHECK_EQUAL( 0, direction->marks.size() ); + CHECK_EQUAL( 0, direction->wedgeStarts.size() ); + CHECK_EQUAL( 0, direction->wedgeStops.size() ); + CHECK_EQUAL( 0, direction->ottavaStarts.size() ); + CHECK_EQUAL( 0, direction->ottavaStops.size() ); + CHECK_EQUAL( 0, direction->bracketStarts.size() ); + CHECK_EQUAL( 0, direction->bracketStops.size() ); + CHECK_EQUAL( 0, direction->words.size() ); + auto chord = &chords->at( 0 ); + CHECK( api::Step::c == chord->root ); + CHECK_EQUAL( 0, chord->rootAlter ); + CHECK( ChordKind::majorSeventh == chord->chordKind ); + CHECK_EQUAL( "maj7", chord->text ); + CHECK( Step::unspecified == chord->bass ); + CHECK_EQUAL( 0, chord->bassAlter ); +} + + +TEST( Load2, ChordDataSaveTest ) +{ + const auto scoreData = MxFileRepository::loadFile( "chords_simple.xml" ); + auto part = &scoreData.parts.front(); + + int measureNumber = 2; + auto measure = &part->measures.at( measureNumber - 1 ); + auto staff = &measure->staves.front(); + auto directions = &staff->directions; + CHECK_EQUAL( 1, directions->size() ); + auto direction = &directions->at( 0 ); + auto chords = &direction->chords; + CHECK_EQUAL( 1, chords->size() ); + CHECK_EQUAL( 0, direction->tempos.size() ); + CHECK_EQUAL( 0, direction->marks.size() ); + CHECK_EQUAL( 0, direction->wedgeStarts.size() ); + CHECK_EQUAL( 0, direction->wedgeStops.size() ); + CHECK_EQUAL( 0, direction->ottavaStarts.size() ); + CHECK_EQUAL( 0, direction->ottavaStops.size() ); + CHECK_EQUAL( 0, direction->bracketStarts.size() ); + CHECK_EQUAL( 0, direction->bracketStops.size() ); + CHECK_EQUAL( 0, direction->words.size() ); + auto chord = &chords->at( 0 ); + CHECK( api::Step::d == chord->root ); + CHECK_EQUAL( 0, chord->rootAlter ); + CHECK( ChordKind::minor == chord->chordKind ); + CHECK_EQUAL( "m", chord->text ); + CHECK( Step::c == chord->bass ); + CHECK_EQUAL( 1, chord->bassAlter ); +} + + +TEST( Load3, ChordDataSaveTest ) +{ + const auto scoreData = MxFileRepository::loadFile( "chords_simple.xml" ); + auto part = &scoreData.parts.front(); + + int measureNumber = 3; + auto measure = &part->measures.at( measureNumber - 1 ); + auto staff = &measure->staves.front(); + auto directions = &staff->directions; + CHECK_EQUAL( 1, directions->size() ); + auto direction = &directions->at( 0 ); + auto chords = &direction->chords; + CHECK_EQUAL( 1, chords->size() ); + CHECK_EQUAL( 0, direction->tempos.size() ); + CHECK_EQUAL( 0, direction->marks.size() ); + CHECK_EQUAL( 0, direction->wedgeStarts.size() ); + CHECK_EQUAL( 0, direction->wedgeStops.size() ); + CHECK_EQUAL( 0, direction->ottavaStarts.size() ); + CHECK_EQUAL( 0, direction->ottavaStops.size() ); + CHECK_EQUAL( 0, direction->bracketStarts.size() ); + CHECK_EQUAL( 0, direction->bracketStops.size() ); + CHECK_EQUAL( 0, direction->words.size() ); + auto chord = &chords->at( 0 ); + CHECK( api::Step::e == chord->root ); + CHECK_EQUAL( -1, chord->rootAlter ); + CHECK( ChordKind::dominant == chord->chordKind ); + CHECK_EQUAL( "7", chord->text ); + CHECK( Step::unspecified == chord->bass ); + CHECK_EQUAL( 0, chord->bassAlter ); +} + + +TEST( Load4, ChordDataSaveTest ) +{ + const auto scoreData = MxFileRepository::loadFile( "chords_simple.xml" ); + auto part = &scoreData.parts.front(); - // TODO - go to DirectionWriter and pass the offset value down into the harmony element + int measureNumber = 4; + auto measure = &part->measures.at( measureNumber - 1 ); + auto staff = &measure->staves.front(); + auto directions = &staff->directions; + CHECK_EQUAL( 1, directions->size() ); + auto direction = &directions->at( 0 ); + auto chords = &direction->chords; + CHECK_EQUAL( 1, chords->size() ); + CHECK_EQUAL( 0, direction->tempos.size() ); + CHECK_EQUAL( 0, direction->marks.size() ); + CHECK_EQUAL( 0, direction->wedgeStarts.size() ); + CHECK_EQUAL( 0, direction->wedgeStops.size() ); + CHECK_EQUAL( 0, direction->ottavaStarts.size() ); + CHECK_EQUAL( 0, direction->ottavaStops.size() ); + CHECK_EQUAL( 0, direction->bracketStarts.size() ); + CHECK_EQUAL( 0, direction->bracketStops.size() ); + CHECK_EQUAL( 0, direction->words.size() ); + auto chord = &chords->at( 0 ); + CHECK( api::Step::b == chord->root ); + CHECK_EQUAL( 0, chord->rootAlter ); + CHECK( ChordKind::diminishedSeventh == chord->chordKind ); + CHECK_EQUAL( "dim7", chord->text ); + CHECK( Step::unspecified == chord->bass ); + CHECK_EQUAL( 0, chord->bassAlter ); } #endif diff --git a/Xcode/MxTest.xcodeproj/project.pbxproj b/Xcode/MxTest.xcodeproj/project.pbxproj index fceffcc21..e2d9dcbce 100755 --- a/Xcode/MxTest.xcodeproj/project.pbxproj +++ b/Xcode/MxTest.xcodeproj/project.pbxproj @@ -43,7 +43,7 @@ 297556081D135AA3007732D0 /* UtilityImplTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 297556061D135AA3007732D0 /* UtilityImplTest.cpp */; }; 297556091D135AA3007732D0 /* UtilityTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 297556071D135AA3007732D0 /* UtilityTest.cpp */; }; 2975945D1F04880000DE2F30 /* ApiChordSimpleTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2975945B1F04848600DE2F30 /* ApiChordSimpleTest.cpp */; }; - 2975945F1F04A0CD00DE2F30 /* ChordDataSaveTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2975945E1F04A0CD00DE2F30 /* ChordDataSaveTest.cpp */; }; + 2975945F1F04A0CD00DE2F30 /* ChordDataSaveAndLoadTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2975945E1F04A0CD00DE2F30 /* ChordDataSaveAndLoadTest.cpp */; }; 297DD7C91D1A4BD1003BADC1 /* ImportTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 297DD7C81D1A4BD1003BADC1 /* ImportTest.cpp */; }; 2983E3E61EB43878007FCC34 /* DirectionDataTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2983E3E51EB43878007FCC34 /* DirectionDataTest.cpp */; }; 298F0F4D1D1E4981005C3D9D /* ImportTestImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 298F0F4B1D1E4981005C3D9D /* ImportTestImpl.cpp */; }; @@ -532,7 +532,7 @@ 297556171D136AE0007732D0 /* CompileControl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CompileControl.h; path = ../Sourcecode/mxtest/control/CompileControl.h; sourceTree = ""; }; 2975945A1F04848600DE2F30 /* ApiChordSimpleScoreData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ApiChordSimpleScoreData.h; path = ../Sourcecode/mxtest/api/ApiChordSimpleScoreData.h; sourceTree = ""; }; 2975945B1F04848600DE2F30 /* ApiChordSimpleTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ApiChordSimpleTest.cpp; path = ../Sourcecode/mxtest/api/ApiChordSimpleTest.cpp; sourceTree = ""; }; - 2975945E1F04A0CD00DE2F30 /* ChordDataSaveTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ChordDataSaveTest.cpp; path = ../Sourcecode/mxtest/api/ChordDataSaveTest.cpp; sourceTree = ""; }; + 2975945E1F04A0CD00DE2F30 /* ChordDataSaveAndLoadTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ChordDataSaveAndLoadTest.cpp; path = ../Sourcecode/mxtest/api/ChordDataSaveAndLoadTest.cpp; sourceTree = ""; }; 297DD7C71D1A4BC1003BADC1 /* ExpectedFiles.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ExpectedFiles.h; path = ../Sourcecode/mxtest/import/ExpectedFiles.h; sourceTree = ""; }; 297DD7C81D1A4BD1003BADC1 /* ImportTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ImportTest.cpp; path = ../Sourcecode/mxtest/import/ImportTest.cpp; sourceTree = ""; }; 2983E3E51EB43878007FCC34 /* DirectionDataTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DirectionDataTest.cpp; path = ../Sourcecode/mxtest/api/DirectionDataTest.cpp; sourceTree = ""; }; @@ -1837,7 +1837,7 @@ 29979D611DC811F300707AA4 /* TimeSignatureApiTest.cpp */, 2975945A1F04848600DE2F30 /* ApiChordSimpleScoreData.h */, 2975945B1F04848600DE2F30 /* ApiChordSimpleTest.cpp */, - 2975945E1F04A0CD00DE2F30 /* ChordDataSaveTest.cpp */, + 2975945E1F04A0CD00DE2F30 /* ChordDataSaveAndLoadTest.cpp */, ); name = api; sourceTree = ""; @@ -2082,7 +2082,7 @@ 29C01E1B1D1312FA0094BE61 /* IpaTest.cpp in Sources */, 29C01E2F1D1312FA0094BE61 /* MeasureDistanceTest.cpp in Sources */, 29C01E311D1312FA0094BE61 /* MeasureNumberingTest.cpp in Sources */, - 2975945F1F04A0CD00DE2F30 /* ChordDataSaveTest.cpp in Sources */, + 2975945F1F04A0CD00DE2F30 /* ChordDataSaveAndLoadTest.cpp in Sources */, 29C01EC51D1312FA0094BE61 /* StoppedTest.cpp in Sources */, 29C01E711D1312FA0094BE61 /* PageWidthTest.cpp in Sources */, 29C01EB91D1312FA0094BE61 /* StaffLinesTest.cpp in Sources */, From 2ac47111b398e5db3931ba8990944d8d5cc7be04 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Thu, 29 Jun 2017 11:41:48 -0700 Subject: [PATCH 061/108] mx-version-0.2.0.21 --- Sourcecode/mx/impl/MxVersionDefines.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sourcecode/mx/impl/MxVersionDefines.h b/Sourcecode/mx/impl/MxVersionDefines.h index 2b4f537ba..2693b6e81 100644 --- a/Sourcecode/mx/impl/MxVersionDefines.h +++ b/Sourcecode/mx/impl/MxVersionDefines.h @@ -1,4 +1,4 @@ #define MX_VERSION_MAJOR 0 #define MX_VERSION_MINOR 2 #define MX_VERSION_PATCH 0 -#define MX_VERSION_BUILD 20 +#define MX_VERSION_BUILD 21 From af94fc96dfd1dacaa5212e66525b7a0759771d1f Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Wed, 5 Jul 2017 19:41:09 -0700 Subject: [PATCH 062/108] mxapi add chord symbol features --- Sourcecode/mx/api/ChordData.cpp | 12 ++++ Sourcecode/mx/api/ChordData.h | 56 +++++++++++++++- Sourcecode/mx/impl/DirectionReader.cpp | 88 ++++++++++++++++++++++++++ Sourcecode/mx/impl/DirectionWriter.cpp | 53 ++++++++++++++++ 4 files changed, 208 insertions(+), 1 deletion(-) diff --git a/Sourcecode/mx/api/ChordData.cpp b/Sourcecode/mx/api/ChordData.cpp index 87e189321..6c235af4c 100644 --- a/Sourcecode/mx/api/ChordData.cpp +++ b/Sourcecode/mx/api/ChordData.cpp @@ -13,13 +13,25 @@ namespace mx // CTOR AND COPY /////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// + Extension::Extension() + : extensionType{ ExtensionType::add } + , extensionAlter{ ExtensionAlter::none } + , extensionNumber{ ExtensionNumber::first } + , printObject{ Bool::unspecified } + { + + } + + ChordData::ChordData() : root{ Step::c } , rootAlter{ 0 } , chordKind{ ChordKind::unspecified } , text{} + , useSymbols{ Bool::unspecified } , bass{ Step::unspecified } , bassAlter{ 0 } + , extensions{} { } diff --git a/Sourcecode/mx/api/ChordData.h b/Sourcecode/mx/api/ChordData.h index 2cc4b7c68..e3be233b7 100644 --- a/Sourcecode/mx/api/ChordData.h +++ b/Sourcecode/mx/api/ChordData.h @@ -2,6 +2,8 @@ // Copyright (c) by Matthew James Briggs // Distributed under the MIT License +#pragma once + #include "mx/api/ApiCommon.h" #include "mx/api/PitchData.h" @@ -47,6 +49,55 @@ namespace mx none }; + enum class ExtensionType + { + add, + remove, + alter + }; + + enum class ExtensionNumber + { + first, + second, + third, + fourth, + fifth, + sixth, + seventh, + ninth, + eleventh, + thirteenth, + }; + + enum class ExtensionAlter + { + none, + flat, + sharp, + doubleFlat, + doubleSharp + }; + + class Extension + { + public: + Extension(); + + ExtensionType extensionType; + ExtensionAlter extensionAlter; + ExtensionNumber extensionNumber; + Bool printObject; + }; + + MXAPI_EQUALS_BEGIN( Extension ) + MXAPI_EQUALS_MEMBER( extensionType ) + MXAPI_EQUALS_MEMBER( extensionAlter ) + MXAPI_EQUALS_MEMBER( extensionNumber ) + MXAPI_EQUALS_MEMBER( printObject ) + MXAPI_EQUALS_END; + MXAPI_NOT_EQUALS_AND_VECTORS( Extension ); + class ChordData { public: @@ -57,9 +108,10 @@ namespace mx int rootAlter; ChordKind chordKind; std::string text; + Bool useSymbols; Step bass; int bassAlter; - + std::vector extensions; }; MXAPI_EQUALS_BEGIN( ChordData ) @@ -67,8 +119,10 @@ namespace mx MXAPI_EQUALS_MEMBER( rootAlter ) MXAPI_EQUALS_MEMBER( chordKind ) MXAPI_EQUALS_MEMBER( text ) + MXAPI_EQUALS_MEMBER( useSymbols ) MXAPI_EQUALS_MEMBER( bass ) MXAPI_EQUALS_MEMBER( bassAlter ) + MXAPI_EQUALS_MEMBER( extensions ) MXAPI_EQUALS_END; MXAPI_NOT_EQUALS_AND_VECTORS( ChordData ); diff --git a/Sourcecode/mx/impl/DirectionReader.cpp b/Sourcecode/mx/impl/DirectionReader.cpp index a40942296..f90a446ce 100644 --- a/Sourcecode/mx/impl/DirectionReader.cpp +++ b/Sourcecode/mx/impl/DirectionReader.cpp @@ -14,6 +14,9 @@ #include "mx/core/elements/DampAll.h" #include "mx/core/elements/Dashes.h" #include "mx/core/elements/Degree.h" +#include "mx/core/elements/DegreeAlter.h" +#include "mx/core/elements/DegreeType.h" +#include "mx/core/elements/DegreeValue.h" #include "mx/core/elements/Direction.h" #include "mx/core/elements/DirectionType.h" #include "mx/core/elements/Dynamics.h" @@ -655,6 +658,18 @@ namespace mx chord.text = kind.getAttributes()->text.getValue(); } + if( kind.getAttributes()->hasUseSymbols ) + { + if( kind.getAttributes()->useSymbols == mx::core::YesNo::yes ) + { + chord.useSymbols = api::Bool::yes; + } + else + { + chord.useSymbols = api::Bool::no; + } + } + if( inGrp.getHasBass() ) { const auto& bass = *inGrp.getBass(); @@ -666,6 +681,79 @@ namespace mx } } + const auto& degrees = inGrp.getDegreeSet(); + + for( const auto& degree : degrees ) + { + api::Extension extension; + bool doAddExtension = true; + + const auto type = degree->getDegreeType()->getValue(); + const auto alter = mx::utility::roundTo( degree->getDegreeAlter()->getValue().getValue() ); + const auto value = degree->getDegreeValue()->getValue().getValue(); + + switch ( type ) + { + case core::DegreeTypeValue::alter: extension.extensionType = api::ExtensionType::alter; break; + case core::DegreeTypeValue::add: extension.extensionType = api::ExtensionType::add; break; + case core::DegreeTypeValue::subtract: extension.extensionType = api::ExtensionType::remove; break; + default: break; + } + + if ( alter <= -2 ) + { + extension.extensionAlter = api::ExtensionAlter::doubleFlat; + } + else if ( alter == -1 ) + { + extension.extensionAlter = api::ExtensionAlter::flat; + } + else if ( alter == 0 ) + { + extension.extensionAlter = api::ExtensionAlter::none; + } + else if ( alter == 1 ) + { + extension.extensionAlter = api::ExtensionAlter::sharp; + } + else if ( alter >= 2 ) + { + extension.extensionAlter = api::ExtensionAlter::doubleSharp; + } + + switch ( value ) + { + case 1: extension.extensionNumber = api::ExtensionNumber::first; break; + case 2: extension.extensionNumber = api::ExtensionNumber::second; break; + case 3: extension.extensionNumber = api::ExtensionNumber::third; break; + case 4: extension.extensionNumber = api::ExtensionNumber::fourth; break; + case 5: extension.extensionNumber = api::ExtensionNumber::fifth; break; + case 6: extension.extensionNumber = api::ExtensionNumber::sixth; break; + case 7: extension.extensionNumber = api::ExtensionNumber::seventh; break; + case 9: extension.extensionNumber = api::ExtensionNumber::ninth; break; + case 11: extension.extensionNumber = api::ExtensionNumber::eleventh; break; + case 13: extension.extensionNumber = api::ExtensionNumber::thirteenth; break; + default: doAddExtension = false; break; + } + + if ( degree->getAttributes()->hasPrintObject ) + { + if ( degree->getAttributes()->printObject == core::YesNo::yes ) + { + extension.printObject = api::Bool::yes; + } + else + { + extension.printObject = api::Bool::no; + } + } + + if( doAddExtension ) + { + chord.extensions.push_back( extension ); + } + } + myOutDirectionData.chords.push_back( chord ); } } diff --git a/Sourcecode/mx/impl/DirectionWriter.cpp b/Sourcecode/mx/impl/DirectionWriter.cpp index c26d52069..05cd43678 100644 --- a/Sourcecode/mx/impl/DirectionWriter.cpp +++ b/Sourcecode/mx/impl/DirectionWriter.cpp @@ -19,6 +19,9 @@ #include "mx/core/elements/DampAll.h" #include "mx/core/elements/Dashes.h" #include "mx/core/elements/Degree.h" +#include "mx/core/elements/DegreeAlter.h" +#include "mx/core/elements/DegreeType.h" +#include "mx/core/elements/DegreeValue.h" #include "mx/core/elements/Direction.h" #include "mx/core/elements/DirectionType.h" #include "mx/core/elements/Dynamics.h" @@ -436,6 +439,56 @@ namespace mx a->text = core::XsToken{ chordIter->text }; } + if( chordIter->useSymbols != api::Bool::unspecified ) + { + grp->getKind()->getAttributes()->hasUseSymbols = true; + grp->getKind()->getAttributes()->useSymbols = chordIter->useSymbols == api::Bool::yes ? mx::core::YesNo::yes : mx::core::YesNo::no; + } + + for( const auto& extension : chordIter->extensions ) + { + auto degree = core::makeDegree(); + + if( extension.extensionType == api::ExtensionType::add ) + { + degree->getDegreeType()->setValue( core::DegreeTypeValue::add ); + } + else if( extension.extensionType == api::ExtensionType::remove ) + { + degree->getDegreeType()->setValue( core::DegreeTypeValue::subtract ); + } + else if( extension.extensionType == api::ExtensionType::alter ) + { + degree->getDegreeType()->setValue( core::DegreeTypeValue::alter ); + } + + switch ( extension.extensionNumber ) + { + case api::ExtensionNumber::first: degree->getDegreeValue()->setValue( mx::core::PositiveInteger{ 1 } ); break; + case api::ExtensionNumber::second: degree->getDegreeValue()->setValue( mx::core::PositiveInteger{ 2 } ); break; + case api::ExtensionNumber::third: degree->getDegreeValue()->setValue( mx::core::PositiveInteger{ 3 } ); break; + case api::ExtensionNumber::fourth: degree->getDegreeValue()->setValue( mx::core::PositiveInteger{ 4 } ); break; + case api::ExtensionNumber::fifth: degree->getDegreeValue()->setValue( mx::core::PositiveInteger{ 5 } ); break; + case api::ExtensionNumber::sixth: degree->getDegreeValue()->setValue( mx::core::PositiveInteger{ 6 } ); break; + case api::ExtensionNumber::seventh: degree->getDegreeValue()->setValue( mx::core::PositiveInteger{ 7 } ); break; + case api::ExtensionNumber::ninth: degree->getDegreeValue()->setValue( mx::core::PositiveInteger{ 9 } ); break; + case api::ExtensionNumber::eleventh: degree->getDegreeValue()->setValue( mx::core::PositiveInteger{ 11 } ); break; + case api::ExtensionNumber::thirteenth: degree->getDegreeValue()->setValue( mx::core::PositiveInteger{ 13 } ); break; + default: break; + } + + switch( extension.extensionAlter ) + { + case api::ExtensionAlter::doubleFlat: degree->getDegreeAlter()->setValue( core::Semitones{ -2.0 } ); break; + case api::ExtensionAlter::doubleSharp: degree->getDegreeAlter()->setValue( core::Semitones{ 2.0 } ); break; + case api::ExtensionAlter::flat: degree->getDegreeAlter()->setValue( core::Semitones{ -1.0 } ); break; + case api::ExtensionAlter::sharp: degree->getDegreeAlter()->setValue( core::Semitones{ 1.0 } ); break; + case api::ExtensionAlter::none: degree->getDegreeAlter()->setValue( core::Semitones{ 0.0 } ); break; + } + + grp->addDegree( degree ); + } + if( output.empty() ) { output.push_back( mdc ); From aeb6eb52c2ab5a34dbaa6a1c69a275da5e976d57 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Wed, 5 Jul 2017 19:54:46 -0700 Subject: [PATCH 063/108] mx-version-0.2.0.22 --- Sourcecode/mx/impl/MxVersionDefines.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sourcecode/mx/impl/MxVersionDefines.h b/Sourcecode/mx/impl/MxVersionDefines.h index 2693b6e81..27a834c29 100644 --- a/Sourcecode/mx/impl/MxVersionDefines.h +++ b/Sourcecode/mx/impl/MxVersionDefines.h @@ -1,4 +1,4 @@ #define MX_VERSION_MAJOR 0 #define MX_VERSION_MINOR 2 #define MX_VERSION_PATCH 0 -#define MX_VERSION_BUILD 21 +#define MX_VERSION_BUILD 22 From 4a5a980e1e1de76570b8b5a1e1566728e1f4be65 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Thu, 6 Jul 2017 15:36:33 -0700 Subject: [PATCH 064/108] mxapi add processing instructions --- Resources/mjbsuite/chords_simple.xml | 5 + Sourcecode/mx/api/DocumentManager.cpp | 4 + Sourcecode/mx/core/AttributesInterface.cpp | 7 + Sourcecode/mx/core/AttributesInterface.h | 7 +- Sourcecode/mx/core/ElementInterface.cpp | 226 +++++++++++++++++- Sourcecode/mx/core/ElementInterface.h | 17 +- .../EmptyPrintObjectStyleAlignAttributes.cpp | 2 +- .../EmptyPrintObjectStyleAlignAttributes.h | 2 +- Sourcecode/mx/core/FromXElement.h | 2 +- Sourcecode/mx/core/ProcessingInstruction.cpp | 102 ++++++++ Sourcecode/mx/core/ProcessingInstruction.h | 52 ++++ Sourcecode/mx/core/elements/Accent.cpp | 2 +- Sourcecode/mx/core/elements/Accent.h | 3 +- Sourcecode/mx/core/elements/Accidental.cpp | 2 +- Sourcecode/mx/core/elements/Accidental.h | 3 +- .../mx/core/elements/AccidentalAttributes.cpp | 2 +- .../mx/core/elements/AccidentalAttributes.h | 3 +- .../mx/core/elements/AccidentalMark.cpp | 2 +- Sourcecode/mx/core/elements/AccidentalMark.h | 3 +- .../elements/AccidentalMarkAttributes.cpp | 2 +- .../core/elements/AccidentalMarkAttributes.h | 3 +- .../mx/core/elements/AccidentalText.cpp | 2 +- Sourcecode/mx/core/elements/AccidentalText.h | 3 +- .../elements/AccidentalTextAttributes.cpp | 2 +- .../core/elements/AccidentalTextAttributes.h | 3 +- Sourcecode/mx/core/elements/Accord.cpp | 2 +- Sourcecode/mx/core/elements/Accord.h | 3 +- .../mx/core/elements/AccordAttributes.cpp | 2 +- .../mx/core/elements/AccordAttributes.h | 3 +- Sourcecode/mx/core/elements/AccordionHigh.cpp | 2 +- Sourcecode/mx/core/elements/AccordionHigh.h | 3 +- Sourcecode/mx/core/elements/AccordionLow.cpp | 2 +- Sourcecode/mx/core/elements/AccordionLow.h | 3 +- .../mx/core/elements/AccordionMiddle.cpp | 2 +- Sourcecode/mx/core/elements/AccordionMiddle.h | 3 +- .../core/elements/AccordionRegistration.cpp | 2 +- .../mx/core/elements/AccordionRegistration.h | 3 +- .../AccordionRegistrationAttributes.cpp | 2 +- .../AccordionRegistrationAttributes.h | 3 +- Sourcecode/mx/core/elements/ActualNotes.cpp | 2 +- Sourcecode/mx/core/elements/ActualNotes.h | 3 +- Sourcecode/mx/core/elements/Alter.cpp | 2 +- Sourcecode/mx/core/elements/Alter.h | 3 +- Sourcecode/mx/core/elements/Appearance.cpp | 2 +- Sourcecode/mx/core/elements/Appearance.h | 3 +- Sourcecode/mx/core/elements/Arpeggiate.cpp | 2 +- Sourcecode/mx/core/elements/Arpeggiate.h | 3 +- .../mx/core/elements/ArpeggiateAttributes.cpp | 2 +- .../mx/core/elements/ArpeggiateAttributes.h | 3 +- Sourcecode/mx/core/elements/Arrow.cpp | 2 +- Sourcecode/mx/core/elements/Arrow.h | 3 +- .../mx/core/elements/ArrowAttributes.cpp | 2 +- Sourcecode/mx/core/elements/ArrowAttributes.h | 3 +- .../mx/core/elements/ArrowDirection.cpp | 2 +- Sourcecode/mx/core/elements/ArrowDirection.h | 3 +- Sourcecode/mx/core/elements/ArrowGroup.cpp | 2 +- Sourcecode/mx/core/elements/ArrowGroup.h | 3 +- Sourcecode/mx/core/elements/ArrowStyle.cpp | 2 +- Sourcecode/mx/core/elements/ArrowStyle.h | 3 +- Sourcecode/mx/core/elements/Articulations.cpp | 2 +- Sourcecode/mx/core/elements/Articulations.h | 3 +- .../mx/core/elements/ArticulationsChoice.cpp | 2 +- .../mx/core/elements/ArticulationsChoice.h | 3 +- Sourcecode/mx/core/elements/Artificial.cpp | 2 +- Sourcecode/mx/core/elements/Artificial.h | 3 +- Sourcecode/mx/core/elements/Backup.cpp | 2 +- Sourcecode/mx/core/elements/Backup.h | 3 +- Sourcecode/mx/core/elements/BarStyle.cpp | 2 +- Sourcecode/mx/core/elements/BarStyle.h | 3 +- .../mx/core/elements/BarStyleAttributes.cpp | 2 +- .../mx/core/elements/BarStyleAttributes.h | 3 +- Sourcecode/mx/core/elements/Barline.cpp | 2 +- Sourcecode/mx/core/elements/Barline.h | 3 +- .../mx/core/elements/BarlineAttributes.cpp | 2 +- .../mx/core/elements/BarlineAttributes.h | 3 +- Sourcecode/mx/core/elements/Barre.cpp | 2 +- Sourcecode/mx/core/elements/Barre.h | 3 +- .../mx/core/elements/BarreAttributes.cpp | 2 +- Sourcecode/mx/core/elements/BarreAttributes.h | 3 +- Sourcecode/mx/core/elements/BasePitch.cpp | 2 +- Sourcecode/mx/core/elements/BasePitch.h | 3 +- Sourcecode/mx/core/elements/Bass.cpp | 2 +- Sourcecode/mx/core/elements/Bass.h | 3 +- Sourcecode/mx/core/elements/BassAlter.cpp | 2 +- Sourcecode/mx/core/elements/BassAlter.h | 3 +- .../mx/core/elements/BassAlterAttributes.cpp | 2 +- .../mx/core/elements/BassAlterAttributes.h | 3 +- Sourcecode/mx/core/elements/BassStep.cpp | 2 +- Sourcecode/mx/core/elements/BassStep.h | 3 +- .../mx/core/elements/BassStepAttributes.cpp | 2 +- .../mx/core/elements/BassStepAttributes.h | 3 +- Sourcecode/mx/core/elements/Beam.cpp | 2 +- Sourcecode/mx/core/elements/Beam.h | 3 +- .../mx/core/elements/BeamAttributes.cpp | 2 +- Sourcecode/mx/core/elements/BeamAttributes.h | 3 +- Sourcecode/mx/core/elements/BeatRepeat.cpp | 2 +- Sourcecode/mx/core/elements/BeatRepeat.h | 3 +- .../mx/core/elements/BeatRepeatAttributes.cpp | 2 +- .../mx/core/elements/BeatRepeatAttributes.h | 3 +- Sourcecode/mx/core/elements/BeatType.cpp | 2 +- Sourcecode/mx/core/elements/BeatType.h | 3 +- Sourcecode/mx/core/elements/BeatUnit.cpp | 2 +- Sourcecode/mx/core/elements/BeatUnit.h | 3 +- Sourcecode/mx/core/elements/BeatUnitDot.cpp | 2 +- Sourcecode/mx/core/elements/BeatUnitDot.h | 3 +- Sourcecode/mx/core/elements/BeatUnitGroup.cpp | 2 +- Sourcecode/mx/core/elements/BeatUnitGroup.h | 3 +- Sourcecode/mx/core/elements/BeatUnitPer.cpp | 2 +- Sourcecode/mx/core/elements/BeatUnitPer.h | 3 +- .../BeatUnitPerOrNoteRelationNoteChoice.cpp | 2 +- .../BeatUnitPerOrNoteRelationNoteChoice.h | 3 +- Sourcecode/mx/core/elements/Beater.cpp | 2 +- Sourcecode/mx/core/elements/Beater.h | 3 +- .../mx/core/elements/BeaterAttributes.cpp | 2 +- .../mx/core/elements/BeaterAttributes.h | 3 +- Sourcecode/mx/core/elements/Beats.cpp | 2 +- Sourcecode/mx/core/elements/Beats.h | 3 +- Sourcecode/mx/core/elements/Bend.cpp | 2 +- Sourcecode/mx/core/elements/Bend.h | 3 +- Sourcecode/mx/core/elements/BendAlter.cpp | 2 +- Sourcecode/mx/core/elements/BendAlter.h | 3 +- .../mx/core/elements/BendAttributes.cpp | 2 +- Sourcecode/mx/core/elements/BendAttributes.h | 3 +- Sourcecode/mx/core/elements/BendChoice.h | 3 +- Sourcecode/mx/core/elements/Bookmark.cpp | 2 +- Sourcecode/mx/core/elements/Bookmark.h | 3 +- .../mx/core/elements/BookmarkAttributes.cpp | 2 +- .../mx/core/elements/BookmarkAttributes.h | 3 +- Sourcecode/mx/core/elements/BottomMargin.cpp | 2 +- Sourcecode/mx/core/elements/BottomMargin.h | 3 +- Sourcecode/mx/core/elements/Bracket.cpp | 2 +- Sourcecode/mx/core/elements/Bracket.h | 3 +- .../mx/core/elements/BracketAttributes.cpp | 2 +- .../mx/core/elements/BracketAttributes.h | 3 +- Sourcecode/mx/core/elements/BreathMark.cpp | 2 +- Sourcecode/mx/core/elements/BreathMark.h | 3 +- .../mx/core/elements/BreathMarkAttributes.cpp | 2 +- .../mx/core/elements/BreathMarkAttributes.h | 3 +- Sourcecode/mx/core/elements/Caesura.cpp | 2 +- Sourcecode/mx/core/elements/Caesura.h | 3 +- Sourcecode/mx/core/elements/Cancel.cpp | 2 +- Sourcecode/mx/core/elements/Cancel.h | 3 +- .../mx/core/elements/CancelAttributes.cpp | 2 +- .../mx/core/elements/CancelAttributes.h | 3 +- Sourcecode/mx/core/elements/Capo.cpp | 2 +- Sourcecode/mx/core/elements/Capo.h | 3 +- Sourcecode/mx/core/elements/Chord.cpp | 2 +- Sourcecode/mx/core/elements/Chord.h | 3 +- Sourcecode/mx/core/elements/Chromatic.cpp | 2 +- Sourcecode/mx/core/elements/Chromatic.h | 3 +- Sourcecode/mx/core/elements/CircularArrow.cpp | 2 +- Sourcecode/mx/core/elements/CircularArrow.h | 3 +- Sourcecode/mx/core/elements/Clef.cpp | 2 +- Sourcecode/mx/core/elements/Clef.h | 3 +- .../mx/core/elements/ClefAttributes.cpp | 2 +- Sourcecode/mx/core/elements/ClefAttributes.h | 3 +- .../mx/core/elements/ClefOctaveChange.cpp | 2 +- .../mx/core/elements/ClefOctaveChange.h | 3 +- Sourcecode/mx/core/elements/Coda.cpp | 2 +- Sourcecode/mx/core/elements/Coda.h | 3 +- Sourcecode/mx/core/elements/Creator.cpp | 2 +- Sourcecode/mx/core/elements/Creator.h | 3 +- .../mx/core/elements/CreatorAttributes.cpp | 2 +- .../mx/core/elements/CreatorAttributes.h | 3 +- Sourcecode/mx/core/elements/Credit.cpp | 2 +- Sourcecode/mx/core/elements/Credit.h | 3 +- .../mx/core/elements/CreditAttributes.cpp | 2 +- .../mx/core/elements/CreditAttributes.h | 3 +- Sourcecode/mx/core/elements/CreditChoice.h | 3 +- Sourcecode/mx/core/elements/CreditImage.cpp | 2 +- Sourcecode/mx/core/elements/CreditImage.h | 3 +- .../core/elements/CreditImageAttributes.cpp | 2 +- .../mx/core/elements/CreditImageAttributes.h | 3 +- Sourcecode/mx/core/elements/CreditType.cpp | 2 +- Sourcecode/mx/core/elements/CreditType.h | 3 +- Sourcecode/mx/core/elements/CreditWords.cpp | 2 +- Sourcecode/mx/core/elements/CreditWords.h | 3 +- .../core/elements/CreditWordsAttributes.cpp | 2 +- .../mx/core/elements/CreditWordsAttributes.h | 3 +- .../mx/core/elements/CreditWordsGroup.h | 3 +- Sourcecode/mx/core/elements/Cue.cpp | 2 +- Sourcecode/mx/core/elements/Cue.h | 3 +- Sourcecode/mx/core/elements/CueNoteGroup.h | 3 +- Sourcecode/mx/core/elements/Damp.cpp | 2 +- Sourcecode/mx/core/elements/Damp.h | 3 +- Sourcecode/mx/core/elements/DampAll.cpp | 2 +- Sourcecode/mx/core/elements/DampAll.h | 3 +- Sourcecode/mx/core/elements/Dashes.cpp | 2 +- Sourcecode/mx/core/elements/Dashes.h | 3 +- .../mx/core/elements/DashesAttributes.cpp | 2 +- .../mx/core/elements/DashesAttributes.h | 3 +- Sourcecode/mx/core/elements/Defaults.cpp | 2 +- Sourcecode/mx/core/elements/Defaults.h | 3 +- Sourcecode/mx/core/elements/Degree.cpp | 2 +- Sourcecode/mx/core/elements/Degree.h | 3 +- Sourcecode/mx/core/elements/DegreeAlter.cpp | 2 +- Sourcecode/mx/core/elements/DegreeAlter.h | 3 +- .../core/elements/DegreeAlterAttributes.cpp | 2 +- .../mx/core/elements/DegreeAlterAttributes.h | 3 +- .../mx/core/elements/DegreeAttributes.cpp | 2 +- .../mx/core/elements/DegreeAttributes.h | 3 +- Sourcecode/mx/core/elements/DegreeType.cpp | 2 +- Sourcecode/mx/core/elements/DegreeType.h | 3 +- .../mx/core/elements/DegreeTypeAttributes.cpp | 2 +- .../mx/core/elements/DegreeTypeAttributes.h | 3 +- Sourcecode/mx/core/elements/DegreeValue.cpp | 2 +- Sourcecode/mx/core/elements/DegreeValue.h | 3 +- .../core/elements/DegreeValueAttributes.cpp | 2 +- .../mx/core/elements/DegreeValueAttributes.h | 3 +- .../mx/core/elements/DelayedInvertedTurn.cpp | 2 +- .../mx/core/elements/DelayedInvertedTurn.h | 3 +- .../DelayedInvertedTurnAttributes.cpp | 2 +- .../elements/DelayedInvertedTurnAttributes.h | 3 +- Sourcecode/mx/core/elements/DelayedTurn.cpp | 2 +- Sourcecode/mx/core/elements/DelayedTurn.h | 3 +- .../core/elements/DelayedTurnAttributes.cpp | 2 +- .../mx/core/elements/DelayedTurnAttributes.h | 3 +- .../mx/core/elements/DetachedLegato.cpp | 2 +- Sourcecode/mx/core/elements/DetachedLegato.h | 3 +- Sourcecode/mx/core/elements/Diatonic.cpp | 2 +- Sourcecode/mx/core/elements/Diatonic.h | 3 +- Sourcecode/mx/core/elements/Direction.cpp | 2 +- Sourcecode/mx/core/elements/Direction.h | 3 +- .../mx/core/elements/DirectionAttributes.cpp | 2 +- .../mx/core/elements/DirectionAttributes.h | 3 +- Sourcecode/mx/core/elements/DirectionType.h | 3 +- Sourcecode/mx/core/elements/Directive.cpp | 2 +- Sourcecode/mx/core/elements/Directive.h | 3 +- .../mx/core/elements/DirectiveAttributes.cpp | 2 +- .../mx/core/elements/DirectiveAttributes.h | 3 +- Sourcecode/mx/core/elements/DisplayOctave.cpp | 2 +- Sourcecode/mx/core/elements/DisplayOctave.h | 3 +- Sourcecode/mx/core/elements/DisplayStep.cpp | 2 +- Sourcecode/mx/core/elements/DisplayStep.h | 3 +- .../core/elements/DisplayStepOctaveGroup.cpp | 2 +- .../mx/core/elements/DisplayStepOctaveGroup.h | 3 +- Sourcecode/mx/core/elements/DisplayText.cpp | 2 +- Sourcecode/mx/core/elements/DisplayText.h | 3 +- .../core/elements/DisplayTextAttributes.cpp | 2 +- .../mx/core/elements/DisplayTextAttributes.h | 3 +- .../elements/DisplayTextOrAccidentalText.cpp | 2 +- .../elements/DisplayTextOrAccidentalText.h | 3 +- Sourcecode/mx/core/elements/Distance.cpp | 2 +- Sourcecode/mx/core/elements/Distance.h | 3 +- .../mx/core/elements/DistanceAttributes.cpp | 2 +- .../mx/core/elements/DistanceAttributes.h | 3 +- Sourcecode/mx/core/elements/Divisions.cpp | 2 +- Sourcecode/mx/core/elements/Divisions.h | 3 +- Sourcecode/mx/core/elements/Doit.cpp | 2 +- Sourcecode/mx/core/elements/Doit.h | 3 +- Sourcecode/mx/core/elements/Dot.cpp | 2 +- Sourcecode/mx/core/elements/Dot.h | 3 +- Sourcecode/mx/core/elements/Double.cpp | 2 +- Sourcecode/mx/core/elements/Double.h | 3 +- Sourcecode/mx/core/elements/DoubleTongue.cpp | 2 +- Sourcecode/mx/core/elements/DoubleTongue.h | 3 +- Sourcecode/mx/core/elements/DownBow.cpp | 2 +- Sourcecode/mx/core/elements/DownBow.h | 3 +- Sourcecode/mx/core/elements/Duration.cpp | 2 +- Sourcecode/mx/core/elements/Duration.h | 3 +- Sourcecode/mx/core/elements/Dynamics.cpp | 2 +- Sourcecode/mx/core/elements/Dynamics.h | 3 +- .../mx/core/elements/DynamicsAttributes.cpp | 2 +- .../mx/core/elements/DynamicsAttributes.h | 3 +- Sourcecode/mx/core/elements/EditorialGroup.h | 3 +- .../elements/EditorialVoiceDirectionGroup.h | 3 +- .../mx/core/elements/EditorialVoiceGroup.h | 3 +- Sourcecode/mx/core/elements/Effect.cpp | 2 +- Sourcecode/mx/core/elements/Effect.h | 3 +- Sourcecode/mx/core/elements/Elevation.cpp | 2 +- Sourcecode/mx/core/elements/Elevation.h | 3 +- Sourcecode/mx/core/elements/Elision.cpp | 2 +- Sourcecode/mx/core/elements/Elision.h | 3 +- .../mx/core/elements/ElisionAttributes.cpp | 2 +- .../mx/core/elements/ElisionAttributes.h | 3 +- .../mx/core/elements/ElisionSyllabicGroup.h | 3 +- .../core/elements/ElisionSyllabicTextGroup.h | 3 +- .../mx/core/elements/EmptyFontAttributes.cpp | 2 +- .../mx/core/elements/EmptyFontAttributes.h | 3 +- .../mx/core/elements/EmptyLineAttributes.cpp | 2 +- .../mx/core/elements/EmptyLineAttributes.h | 3 +- .../elements/EmptyPlacementAttributes.cpp | 2 +- .../core/elements/EmptyPlacementAttributes.h | 3 +- .../elements/EmptyTrillSoundAttributes.cpp | 2 +- .../core/elements/EmptyTrillSoundAttributes.h | 3 +- Sourcecode/mx/core/elements/Encoder.cpp | 2 +- Sourcecode/mx/core/elements/Encoder.h | 3 +- .../mx/core/elements/EncoderAttributes.cpp | 2 +- .../mx/core/elements/EncoderAttributes.h | 3 +- Sourcecode/mx/core/elements/Encoding.cpp | 2 +- Sourcecode/mx/core/elements/Encoding.h | 3 +- .../mx/core/elements/EncodingChoice.cpp | 2 +- Sourcecode/mx/core/elements/EncodingChoice.h | 3 +- Sourcecode/mx/core/elements/EncodingDate.cpp | 2 +- Sourcecode/mx/core/elements/EncodingDate.h | 3 +- .../mx/core/elements/EncodingDescription.cpp | 2 +- .../mx/core/elements/EncodingDescription.h | 3 +- Sourcecode/mx/core/elements/EndLine.cpp | 2 +- Sourcecode/mx/core/elements/EndLine.h | 3 +- Sourcecode/mx/core/elements/EndParagraph.cpp | 2 +- Sourcecode/mx/core/elements/EndParagraph.h | 3 +- Sourcecode/mx/core/elements/Ending.cpp | 2 +- Sourcecode/mx/core/elements/Ending.h | 3 +- .../mx/core/elements/EndingAttributes.cpp | 2 +- .../mx/core/elements/EndingAttributes.h | 3 +- Sourcecode/mx/core/elements/Ensemble.cpp | 2 +- Sourcecode/mx/core/elements/Ensemble.h | 3 +- Sourcecode/mx/core/elements/Extend.cpp | 2 +- Sourcecode/mx/core/elements/Extend.h | 3 +- .../mx/core/elements/ExtendAttributes.cpp | 2 +- .../mx/core/elements/ExtendAttributes.h | 3 +- Sourcecode/mx/core/elements/Eyeglasses.cpp | 2 +- Sourcecode/mx/core/elements/Eyeglasses.h | 3 +- Sourcecode/mx/core/elements/Falloff.cpp | 2 +- Sourcecode/mx/core/elements/Falloff.h | 3 +- Sourcecode/mx/core/elements/Feature.cpp | 2 +- Sourcecode/mx/core/elements/Feature.h | 3 +- .../mx/core/elements/FeatureAttributes.cpp | 2 +- .../mx/core/elements/FeatureAttributes.h | 3 +- Sourcecode/mx/core/elements/Fermata.cpp | 2 +- Sourcecode/mx/core/elements/Fermata.h | 3 +- .../mx/core/elements/FermataAttributes.cpp | 2 +- .../mx/core/elements/FermataAttributes.h | 3 +- Sourcecode/mx/core/elements/Fifths.cpp | 2 +- Sourcecode/mx/core/elements/Fifths.h | 3 +- Sourcecode/mx/core/elements/Figure.cpp | 2 +- Sourcecode/mx/core/elements/Figure.h | 3 +- Sourcecode/mx/core/elements/FigureNumber.cpp | 2 +- Sourcecode/mx/core/elements/FigureNumber.h | 3 +- .../core/elements/FigureNumberAttributes.cpp | 2 +- .../mx/core/elements/FigureNumberAttributes.h | 3 +- Sourcecode/mx/core/elements/FiguredBass.cpp | 2 +- Sourcecode/mx/core/elements/FiguredBass.h | 3 +- .../core/elements/FiguredBassAttributes.cpp | 2 +- .../mx/core/elements/FiguredBassAttributes.h | 3 +- Sourcecode/mx/core/elements/Fingering.cpp | 2 +- Sourcecode/mx/core/elements/Fingering.h | 3 +- .../mx/core/elements/FingeringAttributes.cpp | 2 +- .../mx/core/elements/FingeringAttributes.h | 3 +- Sourcecode/mx/core/elements/Fingernails.cpp | 2 +- Sourcecode/mx/core/elements/Fingernails.h | 3 +- Sourcecode/mx/core/elements/FirstFret.cpp | 2 +- Sourcecode/mx/core/elements/FirstFret.h | 3 +- .../mx/core/elements/FirstFretAttributes.cpp | 2 +- .../mx/core/elements/FirstFretAttributes.h | 3 +- Sourcecode/mx/core/elements/Footnote.cpp | 2 +- Sourcecode/mx/core/elements/Footnote.h | 3 +- .../mx/core/elements/FootnoteAttributes.cpp | 2 +- .../mx/core/elements/FootnoteAttributes.h | 3 +- Sourcecode/mx/core/elements/Forward.cpp | 2 +- Sourcecode/mx/core/elements/Forward.h | 3 +- Sourcecode/mx/core/elements/Frame.cpp | 2 +- Sourcecode/mx/core/elements/Frame.h | 3 +- .../mx/core/elements/FrameAttributes.cpp | 2 +- Sourcecode/mx/core/elements/FrameAttributes.h | 3 +- Sourcecode/mx/core/elements/FrameFrets.cpp | 2 +- Sourcecode/mx/core/elements/FrameFrets.h | 3 +- Sourcecode/mx/core/elements/FrameNote.cpp | 2 +- Sourcecode/mx/core/elements/FrameNote.h | 3 +- Sourcecode/mx/core/elements/FrameStrings.cpp | 2 +- Sourcecode/mx/core/elements/FrameStrings.h | 3 +- Sourcecode/mx/core/elements/Fret.cpp | 2 +- Sourcecode/mx/core/elements/Fret.h | 3 +- .../mx/core/elements/FretAttributes.cpp | 2 +- Sourcecode/mx/core/elements/FretAttributes.h | 3 +- Sourcecode/mx/core/elements/FullNoteGroup.h | 3 +- .../mx/core/elements/FullNoteTypeChoice.h | 3 +- Sourcecode/mx/core/elements/Function.cpp | 2 +- Sourcecode/mx/core/elements/Function.h | 3 +- .../mx/core/elements/FunctionAttributes.cpp | 2 +- .../mx/core/elements/FunctionAttributes.h | 3 +- Sourcecode/mx/core/elements/Glass.cpp | 2 +- Sourcecode/mx/core/elements/Glass.h | 3 +- Sourcecode/mx/core/elements/Glissando.cpp | 2 +- Sourcecode/mx/core/elements/Glissando.h | 3 +- .../mx/core/elements/GlissandoAttributes.cpp | 2 +- .../mx/core/elements/GlissandoAttributes.h | 3 +- Sourcecode/mx/core/elements/Grace.cpp | 2 +- Sourcecode/mx/core/elements/Grace.h | 3 +- .../mx/core/elements/GraceAttributes.cpp | 2 +- Sourcecode/mx/core/elements/GraceAttributes.h | 3 +- Sourcecode/mx/core/elements/GraceNoteGroup.h | 3 +- Sourcecode/mx/core/elements/Group.cpp | 2 +- Sourcecode/mx/core/elements/Group.h | 3 +- .../mx/core/elements/GroupAbbreviation.cpp | 2 +- .../mx/core/elements/GroupAbbreviation.h | 3 +- .../elements/GroupAbbreviationAttributes.cpp | 2 +- .../elements/GroupAbbreviationAttributes.h | 3 +- .../elements/GroupAbbreviationDisplay.cpp | 2 +- .../core/elements/GroupAbbreviationDisplay.h | 3 +- .../GroupAbbreviationDisplayAttributes.cpp | 2 +- .../GroupAbbreviationDisplayAttributes.h | 3 +- Sourcecode/mx/core/elements/GroupBarline.cpp | 2 +- Sourcecode/mx/core/elements/GroupBarline.h | 3 +- .../core/elements/GroupBarlineAttributes.cpp | 2 +- .../mx/core/elements/GroupBarlineAttributes.h | 3 +- Sourcecode/mx/core/elements/GroupName.cpp | 2 +- Sourcecode/mx/core/elements/GroupName.h | 3 +- .../mx/core/elements/GroupNameAttributes.cpp | 2 +- .../mx/core/elements/GroupNameAttributes.h | 3 +- .../mx/core/elements/GroupNameDisplay.cpp | 2 +- .../mx/core/elements/GroupNameDisplay.h | 3 +- .../elements/GroupNameDisplayAttributes.cpp | 2 +- .../elements/GroupNameDisplayAttributes.h | 3 +- Sourcecode/mx/core/elements/GroupSymbol.cpp | 2 +- Sourcecode/mx/core/elements/GroupSymbol.h | 3 +- .../core/elements/GroupSymbolAttributes.cpp | 2 +- .../mx/core/elements/GroupSymbolAttributes.h | 3 +- Sourcecode/mx/core/elements/GroupTime.cpp | 2 +- Sourcecode/mx/core/elements/GroupTime.h | 3 +- Sourcecode/mx/core/elements/Grouping.cpp | 2 +- Sourcecode/mx/core/elements/Grouping.h | 3 +- .../mx/core/elements/GroupingAttributes.cpp | 2 +- .../mx/core/elements/GroupingAttributes.h | 3 +- Sourcecode/mx/core/elements/HammerOn.cpp | 2 +- Sourcecode/mx/core/elements/HammerOn.h | 3 +- .../mx/core/elements/HammerOnAttributes.cpp | 2 +- .../mx/core/elements/HammerOnAttributes.h | 3 +- Sourcecode/mx/core/elements/Handbell.cpp | 2 +- Sourcecode/mx/core/elements/Handbell.h | 3 +- .../mx/core/elements/HandbellAttributes.cpp | 2 +- .../mx/core/elements/HandbellAttributes.h | 3 +- Sourcecode/mx/core/elements/Harmonic.cpp | 2 +- Sourcecode/mx/core/elements/Harmonic.h | 3 +- .../mx/core/elements/HarmonicAttributes.cpp | 2 +- .../mx/core/elements/HarmonicAttributes.h | 3 +- .../mx/core/elements/HarmonicInfoChoice.h | 3 +- .../mx/core/elements/HarmonicTypeChoice.h | 3 +- Sourcecode/mx/core/elements/Harmony.cpp | 7 +- Sourcecode/mx/core/elements/Harmony.h | 3 +- .../mx/core/elements/HarmonyAttributes.cpp | 2 +- .../mx/core/elements/HarmonyAttributes.h | 3 +- .../mx/core/elements/HarmonyChordGroup.h | 3 +- Sourcecode/mx/core/elements/HarpPedals.cpp | 2 +- Sourcecode/mx/core/elements/HarpPedals.h | 3 +- .../mx/core/elements/HarpPedalsAttributes.cpp | 2 +- .../mx/core/elements/HarpPedalsAttributes.h | 3 +- Sourcecode/mx/core/elements/Heel.cpp | 2 +- Sourcecode/mx/core/elements/Heel.h | 3 +- .../mx/core/elements/HeelAttributes.cpp | 2 +- Sourcecode/mx/core/elements/HeelAttributes.h | 3 +- Sourcecode/mx/core/elements/Hole.cpp | 2 +- Sourcecode/mx/core/elements/Hole.h | 3 +- .../mx/core/elements/HoleAttributes.cpp | 2 +- Sourcecode/mx/core/elements/HoleAttributes.h | 3 +- Sourcecode/mx/core/elements/HoleClosed.cpp | 2 +- Sourcecode/mx/core/elements/HoleClosed.h | 3 +- .../mx/core/elements/HoleClosedAttributes.cpp | 2 +- .../mx/core/elements/HoleClosedAttributes.h | 3 +- Sourcecode/mx/core/elements/HoleShape.cpp | 2 +- Sourcecode/mx/core/elements/HoleShape.h | 3 +- Sourcecode/mx/core/elements/HoleType.cpp | 2 +- Sourcecode/mx/core/elements/HoleType.h | 3 +- Sourcecode/mx/core/elements/Humming.cpp | 2 +- Sourcecode/mx/core/elements/Humming.h | 3 +- .../mx/core/elements/Identification.cpp | 2 +- Sourcecode/mx/core/elements/Identification.h | 3 +- Sourcecode/mx/core/elements/Image.cpp | 2 +- Sourcecode/mx/core/elements/Image.h | 3 +- .../mx/core/elements/ImageAttributes.cpp | 2 +- Sourcecode/mx/core/elements/ImageAttributes.h | 3 +- Sourcecode/mx/core/elements/Instrument.cpp | 2 +- Sourcecode/mx/core/elements/Instrument.h | 3 +- .../core/elements/InstrumentAbbreviation.cpp | 2 +- .../mx/core/elements/InstrumentAbbreviation.h | 3 +- .../mx/core/elements/InstrumentAttributes.cpp | 2 +- .../mx/core/elements/InstrumentAttributes.h | 3 +- .../mx/core/elements/InstrumentName.cpp | 2 +- Sourcecode/mx/core/elements/InstrumentName.h | 3 +- .../mx/core/elements/InstrumentSound.cpp | 2 +- Sourcecode/mx/core/elements/InstrumentSound.h | 3 +- Sourcecode/mx/core/elements/Instruments.cpp | 2 +- Sourcecode/mx/core/elements/Instruments.h | 3 +- .../mx/core/elements/Interchangeable.cpp | 2 +- Sourcecode/mx/core/elements/Interchangeable.h | 3 +- .../elements/InterchangeableAttributes.cpp | 2 +- .../core/elements/InterchangeableAttributes.h | 3 +- Sourcecode/mx/core/elements/Inversion.cpp | 2 +- Sourcecode/mx/core/elements/Inversion.h | 3 +- .../mx/core/elements/InversionAttributes.cpp | 2 +- .../mx/core/elements/InversionAttributes.h | 3 +- .../mx/core/elements/InvertedMordent.cpp | 2 +- Sourcecode/mx/core/elements/InvertedMordent.h | 3 +- .../elements/InvertedMordentAttributes.cpp | 2 +- .../core/elements/InvertedMordentAttributes.h | 3 +- Sourcecode/mx/core/elements/InvertedTurn.cpp | 2 +- Sourcecode/mx/core/elements/InvertedTurn.h | 3 +- .../core/elements/InvertedTurnAttributes.cpp | 2 +- .../mx/core/elements/InvertedTurnAttributes.h | 3 +- Sourcecode/mx/core/elements/Ipa.cpp | 2 +- Sourcecode/mx/core/elements/Ipa.h | 3 +- Sourcecode/mx/core/elements/Key.cpp | 2 +- Sourcecode/mx/core/elements/Key.h | 3 +- Sourcecode/mx/core/elements/KeyAccidental.cpp | 2 +- Sourcecode/mx/core/elements/KeyAccidental.h | 3 +- Sourcecode/mx/core/elements/KeyAlter.cpp | 2 +- Sourcecode/mx/core/elements/KeyAlter.h | 3 +- Sourcecode/mx/core/elements/KeyAttributes.cpp | 2 +- Sourcecode/mx/core/elements/KeyAttributes.h | 3 +- Sourcecode/mx/core/elements/KeyChoice.h | 3 +- Sourcecode/mx/core/elements/KeyOctave.cpp | 2 +- Sourcecode/mx/core/elements/KeyOctave.h | 3 +- .../mx/core/elements/KeyOctaveAttributes.cpp | 2 +- .../mx/core/elements/KeyOctaveAttributes.h | 3 +- Sourcecode/mx/core/elements/KeyStep.cpp | 2 +- Sourcecode/mx/core/elements/KeyStep.h | 3 +- Sourcecode/mx/core/elements/Kind.cpp | 2 +- Sourcecode/mx/core/elements/Kind.h | 3 +- .../mx/core/elements/KindAttributes.cpp | 2 +- Sourcecode/mx/core/elements/KindAttributes.h | 3 +- Sourcecode/mx/core/elements/Laughing.cpp | 2 +- Sourcecode/mx/core/elements/Laughing.h | 3 +- Sourcecode/mx/core/elements/LayoutGroup.h | 3 +- Sourcecode/mx/core/elements/LeftDivider.cpp | 2 +- Sourcecode/mx/core/elements/LeftDivider.h | 3 +- Sourcecode/mx/core/elements/LeftMargin.cpp | 2 +- Sourcecode/mx/core/elements/LeftMargin.h | 3 +- Sourcecode/mx/core/elements/Level.cpp | 2 +- Sourcecode/mx/core/elements/Level.h | 3 +- .../mx/core/elements/LevelAttributes.cpp | 2 +- Sourcecode/mx/core/elements/LevelAttributes.h | 3 +- Sourcecode/mx/core/elements/Line.cpp | 2 +- Sourcecode/mx/core/elements/Line.h | 3 +- Sourcecode/mx/core/elements/LineWidth.cpp | 2 +- Sourcecode/mx/core/elements/LineWidth.h | 3 +- .../mx/core/elements/LineWidthAttributes.cpp | 2 +- .../mx/core/elements/LineWidthAttributes.h | 3 +- Sourcecode/mx/core/elements/Link.cpp | 2 +- Sourcecode/mx/core/elements/Link.h | 3 +- .../mx/core/elements/LinkAttributes.cpp | 2 +- Sourcecode/mx/core/elements/LinkAttributes.h | 3 +- Sourcecode/mx/core/elements/Lyric.cpp | 2 +- Sourcecode/mx/core/elements/Lyric.h | 3 +- .../mx/core/elements/LyricAttributes.cpp | 2 +- Sourcecode/mx/core/elements/LyricAttributes.h | 3 +- Sourcecode/mx/core/elements/LyricFont.cpp | 2 +- Sourcecode/mx/core/elements/LyricFont.h | 3 +- .../mx/core/elements/LyricFontAttributes.cpp | 2 +- .../mx/core/elements/LyricFontAttributes.h | 3 +- Sourcecode/mx/core/elements/LyricLanguage.cpp | 2 +- Sourcecode/mx/core/elements/LyricLanguage.h | 3 +- .../core/elements/LyricLanguageAttributes.cpp | 2 +- .../core/elements/LyricLanguageAttributes.h | 3 +- Sourcecode/mx/core/elements/LyricTextChoice.h | 3 +- .../mx/core/elements/MeasureAttributes.cpp | 2 +- .../mx/core/elements/MeasureAttributes.h | 3 +- .../mx/core/elements/MeasureDistance.cpp | 2 +- Sourcecode/mx/core/elements/MeasureDistance.h | 3 +- Sourcecode/mx/core/elements/MeasureLayout.cpp | 2 +- Sourcecode/mx/core/elements/MeasureLayout.h | 3 +- .../mx/core/elements/MeasureNumbering.cpp | 2 +- .../mx/core/elements/MeasureNumbering.h | 3 +- .../elements/MeasureNumberingAttributes.cpp | 2 +- .../elements/MeasureNumberingAttributes.h | 3 +- Sourcecode/mx/core/elements/MeasureRepeat.cpp | 2 +- Sourcecode/mx/core/elements/MeasureRepeat.h | 3 +- .../core/elements/MeasureRepeatAttributes.cpp | 2 +- .../core/elements/MeasureRepeatAttributes.h | 3 +- Sourcecode/mx/core/elements/MeasureStyle.cpp | 2 +- Sourcecode/mx/core/elements/MeasureStyle.h | 3 +- .../core/elements/MeasureStyleAttributes.cpp | 2 +- .../mx/core/elements/MeasureStyleAttributes.h | 3 +- .../mx/core/elements/MeasureStyleChoice.cpp | 2 +- .../mx/core/elements/MeasureStyleChoice.h | 3 +- Sourcecode/mx/core/elements/Membrane.cpp | 2 +- Sourcecode/mx/core/elements/Membrane.h | 3 +- Sourcecode/mx/core/elements/Metal.cpp | 2 +- Sourcecode/mx/core/elements/Metal.h | 3 +- Sourcecode/mx/core/elements/Metronome.cpp | 2 +- Sourcecode/mx/core/elements/Metronome.h | 3 +- .../mx/core/elements/MetronomeAttributes.cpp | 2 +- .../mx/core/elements/MetronomeAttributes.h | 3 +- Sourcecode/mx/core/elements/MetronomeBeam.cpp | 2 +- Sourcecode/mx/core/elements/MetronomeBeam.h | 3 +- .../core/elements/MetronomeBeamAttributes.cpp | 2 +- .../core/elements/MetronomeBeamAttributes.h | 3 +- Sourcecode/mx/core/elements/MetronomeDot.cpp | 2 +- Sourcecode/mx/core/elements/MetronomeDot.h | 3 +- Sourcecode/mx/core/elements/MetronomeNote.cpp | 2 +- Sourcecode/mx/core/elements/MetronomeNote.h | 3 +- .../mx/core/elements/MetronomeRelation.cpp | 2 +- .../mx/core/elements/MetronomeRelation.h | 3 +- .../mx/core/elements/MetronomeRelationGroup.h | 3 +- .../mx/core/elements/MetronomeTuplet.cpp | 2 +- Sourcecode/mx/core/elements/MetronomeTuplet.h | 3 +- .../elements/MetronomeTupletAttributes.cpp | 2 +- .../core/elements/MetronomeTupletAttributes.h | 3 +- Sourcecode/mx/core/elements/MetronomeType.cpp | 2 +- Sourcecode/mx/core/elements/MetronomeType.h | 3 +- Sourcecode/mx/core/elements/MidiBank.cpp | 2 +- Sourcecode/mx/core/elements/MidiBank.h | 3 +- Sourcecode/mx/core/elements/MidiChannel.cpp | 2 +- Sourcecode/mx/core/elements/MidiChannel.h | 3 +- Sourcecode/mx/core/elements/MidiDevice.cpp | 2 +- Sourcecode/mx/core/elements/MidiDevice.h | 3 +- .../mx/core/elements/MidiDeviceAttributes.cpp | 2 +- .../mx/core/elements/MidiDeviceAttributes.h | 3 +- .../core/elements/MidiDeviceInstrumentGroup.h | 3 +- .../mx/core/elements/MidiInstrument.cpp | 2 +- Sourcecode/mx/core/elements/MidiInstrument.h | 3 +- .../elements/MidiInstrumentAttributes.cpp | 2 +- .../core/elements/MidiInstrumentAttributes.h | 3 +- Sourcecode/mx/core/elements/MidiName.cpp | 2 +- Sourcecode/mx/core/elements/MidiName.h | 3 +- Sourcecode/mx/core/elements/MidiProgram.cpp | 2 +- Sourcecode/mx/core/elements/MidiProgram.h | 3 +- Sourcecode/mx/core/elements/MidiUnpitched.cpp | 2 +- Sourcecode/mx/core/elements/MidiUnpitched.h | 3 +- Sourcecode/mx/core/elements/Millimeters.cpp | 2 +- Sourcecode/mx/core/elements/Millimeters.h | 3 +- Sourcecode/mx/core/elements/Miscellaneous.cpp | 2 +- Sourcecode/mx/core/elements/Miscellaneous.h | 3 +- .../mx/core/elements/MiscellaneousField.cpp | 2 +- .../mx/core/elements/MiscellaneousField.h | 3 +- .../elements/MiscellaneousFieldAttributes.cpp | 2 +- .../elements/MiscellaneousFieldAttributes.h | 3 +- Sourcecode/mx/core/elements/Mode.cpp | 2 +- Sourcecode/mx/core/elements/Mode.h | 3 +- Sourcecode/mx/core/elements/Mordent.cpp | 2 +- Sourcecode/mx/core/elements/Mordent.h | 3 +- .../mx/core/elements/MordentAttributes.cpp | 2 +- .../mx/core/elements/MordentAttributes.h | 3 +- .../mx/core/elements/MovementNumber.cpp | 2 +- Sourcecode/mx/core/elements/MovementNumber.h | 3 +- Sourcecode/mx/core/elements/MovementTitle.cpp | 2 +- Sourcecode/mx/core/elements/MovementTitle.h | 3 +- Sourcecode/mx/core/elements/MultipleRest.cpp | 2 +- Sourcecode/mx/core/elements/MultipleRest.h | 3 +- .../core/elements/MultipleRestAttributes.cpp | 2 +- .../mx/core/elements/MultipleRestAttributes.h | 3 +- Sourcecode/mx/core/elements/MusicDataChoice.h | 3 +- Sourcecode/mx/core/elements/MusicDataGroup.h | 3 +- Sourcecode/mx/core/elements/MusicFont.cpp | 2 +- Sourcecode/mx/core/elements/MusicFont.h | 3 +- Sourcecode/mx/core/elements/Mute.cpp | 2 +- Sourcecode/mx/core/elements/Mute.h | 3 +- Sourcecode/mx/core/elements/Natural.cpp | 2 +- Sourcecode/mx/core/elements/Natural.h | 3 +- Sourcecode/mx/core/elements/NonArpeggiate.cpp | 2 +- Sourcecode/mx/core/elements/NonArpeggiate.h | 3 +- .../core/elements/NonArpeggiateAttributes.cpp | 2 +- .../core/elements/NonArpeggiateAttributes.h | 3 +- .../mx/core/elements/NonTraditionalKey.cpp | 2 +- .../mx/core/elements/NonTraditionalKey.h | 3 +- Sourcecode/mx/core/elements/NormalDot.cpp | 2 +- Sourcecode/mx/core/elements/NormalDot.h | 3 +- Sourcecode/mx/core/elements/NormalNoteGroup.h | 3 +- Sourcecode/mx/core/elements/NormalNotes.cpp | 2 +- Sourcecode/mx/core/elements/NormalNotes.h | 3 +- Sourcecode/mx/core/elements/NormalType.cpp | 2 +- Sourcecode/mx/core/elements/NormalType.h | 3 +- .../elements/NormalTypeNormalDotGroup.cpp | 2 +- .../core/elements/NormalTypeNormalDotGroup.h | 3 +- Sourcecode/mx/core/elements/Notations.cpp | 2 +- Sourcecode/mx/core/elements/Notations.h | 3 +- .../mx/core/elements/NotationsAttributes.cpp | 2 +- .../mx/core/elements/NotationsAttributes.h | 3 +- Sourcecode/mx/core/elements/NotationsChoice.h | 3 +- Sourcecode/mx/core/elements/Note.cpp | 2 +- Sourcecode/mx/core/elements/Note.h | 3 +- .../mx/core/elements/NoteAttributes.cpp | 2 +- Sourcecode/mx/core/elements/NoteAttributes.h | 3 +- Sourcecode/mx/core/elements/NoteChoice.h | 3 +- .../mx/core/elements/NoteRelationNote.cpp | 2 +- .../mx/core/elements/NoteRelationNote.h | 3 +- Sourcecode/mx/core/elements/NoteSize.cpp | 2 +- Sourcecode/mx/core/elements/NoteSize.h | 3 +- .../mx/core/elements/NoteSizeAttributes.cpp | 2 +- .../mx/core/elements/NoteSizeAttributes.h | 3 +- Sourcecode/mx/core/elements/Notehead.cpp | 2 +- Sourcecode/mx/core/elements/Notehead.h | 3 +- .../mx/core/elements/NoteheadAttributes.cpp | 2 +- .../mx/core/elements/NoteheadAttributes.h | 3 +- Sourcecode/mx/core/elements/NoteheadText.cpp | 2 +- Sourcecode/mx/core/elements/NoteheadText.h | 3 +- .../mx/core/elements/NoteheadTextChoice.cpp | 2 +- .../mx/core/elements/NoteheadTextChoice.h | 3 +- Sourcecode/mx/core/elements/Octave.cpp | 2 +- Sourcecode/mx/core/elements/Octave.h | 3 +- Sourcecode/mx/core/elements/OctaveChange.cpp | 2 +- Sourcecode/mx/core/elements/OctaveChange.h | 3 +- Sourcecode/mx/core/elements/OctaveShift.cpp | 2 +- Sourcecode/mx/core/elements/OctaveShift.h | 3 +- .../core/elements/OctaveShiftAttributes.cpp | 2 +- .../mx/core/elements/OctaveShiftAttributes.h | 3 +- Sourcecode/mx/core/elements/Offset.cpp | 2 +- Sourcecode/mx/core/elements/Offset.h | 3 +- .../mx/core/elements/OffsetAttributes.cpp | 2 +- .../mx/core/elements/OffsetAttributes.h | 3 +- Sourcecode/mx/core/elements/OpenString.cpp | 2 +- Sourcecode/mx/core/elements/OpenString.h | 3 +- Sourcecode/mx/core/elements/Opus.cpp | 2 +- Sourcecode/mx/core/elements/Opus.h | 3 +- .../mx/core/elements/OpusAttributes.cpp | 2 +- Sourcecode/mx/core/elements/OpusAttributes.h | 3 +- Sourcecode/mx/core/elements/Ornaments.cpp | 2 +- Sourcecode/mx/core/elements/Ornaments.h | 3 +- .../mx/core/elements/OrnamentsChoice.cpp | 2 +- Sourcecode/mx/core/elements/OrnamentsChoice.h | 3 +- .../mx/core/elements/OtherAppearance.cpp | 2 +- Sourcecode/mx/core/elements/OtherAppearance.h | 3 +- .../elements/OtherAppearanceAttributes.cpp | 2 +- .../core/elements/OtherAppearanceAttributes.h | 3 +- .../mx/core/elements/OtherArticulation.cpp | 2 +- .../mx/core/elements/OtherArticulation.h | 3 +- .../elements/OtherArticulationAttributes.cpp | 2 +- .../elements/OtherArticulationAttributes.h | 3 +- .../mx/core/elements/OtherDirection.cpp | 2 +- Sourcecode/mx/core/elements/OtherDirection.h | 3 +- .../elements/OtherDirectionAttributes.cpp | 2 +- .../core/elements/OtherDirectionAttributes.h | 3 +- Sourcecode/mx/core/elements/OtherNotation.cpp | 2 +- Sourcecode/mx/core/elements/OtherNotation.h | 3 +- .../core/elements/OtherNotationAttributes.cpp | 2 +- .../core/elements/OtherNotationAttributes.h | 3 +- Sourcecode/mx/core/elements/OtherOrnament.cpp | 2 +- Sourcecode/mx/core/elements/OtherOrnament.h | 3 +- .../core/elements/OtherOrnamentAttributes.cpp | 2 +- .../core/elements/OtherOrnamentAttributes.h | 3 +- .../mx/core/elements/OtherPercussion.cpp | 2 +- Sourcecode/mx/core/elements/OtherPercussion.h | 3 +- Sourcecode/mx/core/elements/OtherPlay.cpp | 2 +- Sourcecode/mx/core/elements/OtherPlay.h | 3 +- .../mx/core/elements/OtherPlayAttributes.cpp | 2 +- .../mx/core/elements/OtherPlayAttributes.h | 3 +- .../mx/core/elements/OtherTechnical.cpp | 2 +- Sourcecode/mx/core/elements/OtherTechnical.h | 3 +- .../elements/OtherTechnicalAttributes.cpp | 2 +- .../core/elements/OtherTechnicalAttributes.h | 3 +- Sourcecode/mx/core/elements/PageHeight.cpp | 2 +- Sourcecode/mx/core/elements/PageHeight.h | 3 +- Sourcecode/mx/core/elements/PageLayout.cpp | 2 +- Sourcecode/mx/core/elements/PageLayout.h | 3 +- Sourcecode/mx/core/elements/PageMargins.cpp | 2 +- Sourcecode/mx/core/elements/PageMargins.h | 3 +- .../core/elements/PageMarginsAttributes.cpp | 2 +- .../mx/core/elements/PageMarginsAttributes.h | 3 +- Sourcecode/mx/core/elements/PageWidth.cpp | 2 +- Sourcecode/mx/core/elements/PageWidth.h | 3 +- Sourcecode/mx/core/elements/Pan.cpp | 2 +- Sourcecode/mx/core/elements/Pan.h | 3 +- .../mx/core/elements/PartAbbreviation.cpp | 2 +- .../mx/core/elements/PartAbbreviation.h | 3 +- .../elements/PartAbbreviationAttributes.cpp | 2 +- .../elements/PartAbbreviationAttributes.h | 3 +- .../core/elements/PartAbbreviationDisplay.cpp | 2 +- .../core/elements/PartAbbreviationDisplay.h | 3 +- .../PartAbbreviationDisplayAttributes.cpp | 2 +- .../PartAbbreviationDisplayAttributes.h | 3 +- .../mx/core/elements/PartAttributes.cpp | 2 +- Sourcecode/mx/core/elements/PartAttributes.h | 3 +- Sourcecode/mx/core/elements/PartGroup.cpp | 2 +- Sourcecode/mx/core/elements/PartGroup.h | 3 +- .../mx/core/elements/PartGroupAttributes.cpp | 2 +- .../mx/core/elements/PartGroupAttributes.h | 3 +- .../mx/core/elements/PartGroupOrScorePart.h | 3 +- Sourcecode/mx/core/elements/PartList.cpp | 2 +- Sourcecode/mx/core/elements/PartList.h | 3 +- Sourcecode/mx/core/elements/PartName.cpp | 2 +- Sourcecode/mx/core/elements/PartName.h | 3 +- .../mx/core/elements/PartNameAttributes.cpp | 2 +- .../mx/core/elements/PartNameAttributes.h | 3 +- .../mx/core/elements/PartNameDisplay.cpp | 2 +- Sourcecode/mx/core/elements/PartNameDisplay.h | 3 +- .../elements/PartNameDisplayAttributes.cpp | 2 +- .../core/elements/PartNameDisplayAttributes.h | 3 +- Sourcecode/mx/core/elements/PartSymbol.cpp | 2 +- Sourcecode/mx/core/elements/PartSymbol.h | 3 +- .../mx/core/elements/PartSymbolAttributes.cpp | 2 +- .../mx/core/elements/PartSymbolAttributes.h | 3 +- .../mx/core/elements/PartwiseMeasure.cpp | 2 +- Sourcecode/mx/core/elements/PartwiseMeasure.h | 3 +- Sourcecode/mx/core/elements/PartwisePart.cpp | 2 +- Sourcecode/mx/core/elements/PartwisePart.h | 3 +- Sourcecode/mx/core/elements/Pedal.cpp | 2 +- Sourcecode/mx/core/elements/Pedal.h | 3 +- Sourcecode/mx/core/elements/PedalAlter.cpp | 2 +- Sourcecode/mx/core/elements/PedalAlter.h | 3 +- .../mx/core/elements/PedalAttributes.cpp | 2 +- Sourcecode/mx/core/elements/PedalAttributes.h | 3 +- Sourcecode/mx/core/elements/PedalStep.cpp | 2 +- Sourcecode/mx/core/elements/PedalStep.h | 3 +- Sourcecode/mx/core/elements/PedalTuning.cpp | 2 +- Sourcecode/mx/core/elements/PedalTuning.h | 3 +- Sourcecode/mx/core/elements/PerMinute.cpp | 2 +- Sourcecode/mx/core/elements/PerMinute.h | 3 +- .../mx/core/elements/PerMinuteAttributes.cpp | 2 +- .../mx/core/elements/PerMinuteAttributes.h | 3 +- .../elements/PerMinuteOrBeatUnitChoice.cpp | 2 +- .../core/elements/PerMinuteOrBeatUnitChoice.h | 3 +- Sourcecode/mx/core/elements/Percussion.cpp | 2 +- Sourcecode/mx/core/elements/Percussion.h | 3 +- .../mx/core/elements/PercussionAttributes.cpp | 2 +- .../mx/core/elements/PercussionAttributes.h | 3 +- .../mx/core/elements/PercussionChoice.cpp | 2 +- .../mx/core/elements/PercussionChoice.h | 3 +- Sourcecode/mx/core/elements/Pitch.cpp | 2 +- Sourcecode/mx/core/elements/Pitch.h | 3 +- Sourcecode/mx/core/elements/Pitched.cpp | 2 +- Sourcecode/mx/core/elements/Pitched.h | 3 +- Sourcecode/mx/core/elements/Play.cpp | 2 +- Sourcecode/mx/core/elements/Play.h | 3 +- .../mx/core/elements/PlayAttributes.cpp | 2 +- Sourcecode/mx/core/elements/PlayAttributes.h | 3 +- Sourcecode/mx/core/elements/Plop.cpp | 2 +- Sourcecode/mx/core/elements/Plop.h | 3 +- Sourcecode/mx/core/elements/Pluck.cpp | 2 +- Sourcecode/mx/core/elements/Pluck.h | 3 +- .../mx/core/elements/PluckAttributes.cpp | 2 +- Sourcecode/mx/core/elements/PluckAttributes.h | 3 +- Sourcecode/mx/core/elements/PreBend.cpp | 2 +- Sourcecode/mx/core/elements/PreBend.h | 3 +- Sourcecode/mx/core/elements/Prefix.cpp | 2 +- Sourcecode/mx/core/elements/Prefix.h | 3 +- .../mx/core/elements/PrefixAttributes.cpp | 2 +- .../mx/core/elements/PrefixAttributes.h | 3 +- .../mx/core/elements/PrincipalVoice.cpp | 2 +- Sourcecode/mx/core/elements/PrincipalVoice.h | 3 +- .../elements/PrincipalVoiceAttributes.cpp | 2 +- .../core/elements/PrincipalVoiceAttributes.h | 3 +- Sourcecode/mx/core/elements/Print.cpp | 2 +- Sourcecode/mx/core/elements/Print.h | 3 +- .../mx/core/elements/PrintAttributes.cpp | 2 +- Sourcecode/mx/core/elements/PrintAttributes.h | 3 +- Sourcecode/mx/core/elements/Properties.cpp | 2 +- Sourcecode/mx/core/elements/Properties.h | 3 +- Sourcecode/mx/core/elements/PullOff.cpp | 2 +- Sourcecode/mx/core/elements/PullOff.h | 3 +- .../mx/core/elements/PullOffAttributes.cpp | 2 +- .../mx/core/elements/PullOffAttributes.h | 3 +- Sourcecode/mx/core/elements/Rehearsal.cpp | 2 +- Sourcecode/mx/core/elements/Rehearsal.h | 3 +- .../mx/core/elements/RehearsalAttributes.cpp | 2 +- .../mx/core/elements/RehearsalAttributes.h | 3 +- Sourcecode/mx/core/elements/Relation.cpp | 2 +- Sourcecode/mx/core/elements/Relation.h | 3 +- .../mx/core/elements/RelationAttributes.cpp | 2 +- .../mx/core/elements/RelationAttributes.h | 3 +- Sourcecode/mx/core/elements/Release.cpp | 2 +- Sourcecode/mx/core/elements/Release.h | 3 +- Sourcecode/mx/core/elements/Repeat.cpp | 2 +- Sourcecode/mx/core/elements/Repeat.h | 3 +- .../mx/core/elements/RepeatAttributes.cpp | 2 +- .../mx/core/elements/RepeatAttributes.h | 3 +- Sourcecode/mx/core/elements/Rest.cpp | 2 +- Sourcecode/mx/core/elements/Rest.h | 3 +- .../mx/core/elements/RestAttributes.cpp | 2 +- Sourcecode/mx/core/elements/RestAttributes.h | 3 +- Sourcecode/mx/core/elements/RightDivider.cpp | 2 +- Sourcecode/mx/core/elements/RightDivider.h | 3 +- Sourcecode/mx/core/elements/RightMargin.cpp | 2 +- Sourcecode/mx/core/elements/RightMargin.h | 3 +- Sourcecode/mx/core/elements/Rights.cpp | 2 +- Sourcecode/mx/core/elements/Rights.h | 3 +- .../mx/core/elements/RightsAttributes.cpp | 2 +- .../mx/core/elements/RightsAttributes.h | 3 +- Sourcecode/mx/core/elements/Root.cpp | 2 +- Sourcecode/mx/core/elements/Root.h | 3 +- Sourcecode/mx/core/elements/RootAlter.cpp | 2 +- Sourcecode/mx/core/elements/RootAlter.h | 3 +- .../mx/core/elements/RootAlterAttributes.cpp | 2 +- .../mx/core/elements/RootAlterAttributes.h | 3 +- Sourcecode/mx/core/elements/RootStep.cpp | 2 +- Sourcecode/mx/core/elements/RootStep.h | 3 +- .../mx/core/elements/RootStepAttributes.cpp | 2 +- .../mx/core/elements/RootStepAttributes.h | 3 +- Sourcecode/mx/core/elements/Scaling.cpp | 2 +- Sourcecode/mx/core/elements/Scaling.h | 3 +- Sourcecode/mx/core/elements/Schleifer.cpp | 2 +- Sourcecode/mx/core/elements/Schleifer.h | 3 +- Sourcecode/mx/core/elements/Scoop.cpp | 2 +- Sourcecode/mx/core/elements/Scoop.h | 3 +- Sourcecode/mx/core/elements/Scordatura.cpp | 2 +- Sourcecode/mx/core/elements/Scordatura.h | 3 +- .../mx/core/elements/ScoreHeaderGroup.cpp | 2 +- .../mx/core/elements/ScoreHeaderGroup.h | 3 +- .../mx/core/elements/ScoreInstrument.cpp | 2 +- Sourcecode/mx/core/elements/ScoreInstrument.h | 3 +- .../elements/ScoreInstrumentAttributes.cpp | 2 +- .../core/elements/ScoreInstrumentAttributes.h | 3 +- Sourcecode/mx/core/elements/ScorePart.cpp | 2 +- Sourcecode/mx/core/elements/ScorePart.h | 3 +- .../mx/core/elements/ScorePartAttributes.cpp | 2 +- .../mx/core/elements/ScorePartAttributes.h | 3 +- Sourcecode/mx/core/elements/ScorePartwise.cpp | 2 +- Sourcecode/mx/core/elements/ScorePartwise.h | 3 +- .../core/elements/ScorePartwiseAttributes.cpp | 2 +- .../core/elements/ScorePartwiseAttributes.h | 3 +- Sourcecode/mx/core/elements/ScoreTimewise.cpp | 2 +- Sourcecode/mx/core/elements/ScoreTimewise.h | 2 +- .../core/elements/ScoreTimewiseAttributes.cpp | 2 +- .../core/elements/ScoreTimewiseAttributes.h | 3 +- Sourcecode/mx/core/elements/Segno.cpp | 2 +- Sourcecode/mx/core/elements/Segno.h | 3 +- Sourcecode/mx/core/elements/SemiPitched.cpp | 2 +- Sourcecode/mx/core/elements/SemiPitched.h | 3 +- Sourcecode/mx/core/elements/SenzaMisura.cpp | 2 +- Sourcecode/mx/core/elements/SenzaMisura.h | 3 +- Sourcecode/mx/core/elements/Shake.cpp | 2 +- Sourcecode/mx/core/elements/Shake.h | 3 +- Sourcecode/mx/core/elements/Sign.cpp | 2 +- Sourcecode/mx/core/elements/Sign.h | 3 +- Sourcecode/mx/core/elements/Slash.cpp | 2 +- Sourcecode/mx/core/elements/Slash.h | 3 +- .../mx/core/elements/SlashAttributes.cpp | 2 +- Sourcecode/mx/core/elements/SlashAttributes.h | 3 +- Sourcecode/mx/core/elements/SlashDot.cpp | 2 +- Sourcecode/mx/core/elements/SlashDot.h | 3 +- Sourcecode/mx/core/elements/SlashType.cpp | 2 +- Sourcecode/mx/core/elements/SlashType.h | 3 +- Sourcecode/mx/core/elements/Slide.cpp | 2 +- Sourcecode/mx/core/elements/Slide.h | 3 +- .../mx/core/elements/SlideAttributes.cpp | 2 +- Sourcecode/mx/core/elements/SlideAttributes.h | 3 +- Sourcecode/mx/core/elements/Slur.cpp | 2 +- Sourcecode/mx/core/elements/Slur.h | 3 +- .../mx/core/elements/SlurAttributes.cpp | 2 +- Sourcecode/mx/core/elements/SlurAttributes.h | 3 +- Sourcecode/mx/core/elements/SnapPizzicato.cpp | 2 +- Sourcecode/mx/core/elements/SnapPizzicato.h | 3 +- Sourcecode/mx/core/elements/Software.cpp | 2 +- Sourcecode/mx/core/elements/Software.h | 3 +- Sourcecode/mx/core/elements/Solo.cpp | 2 +- Sourcecode/mx/core/elements/Solo.h | 3 +- .../mx/core/elements/SoloOrEnsembleChoice.h | 3 +- Sourcecode/mx/core/elements/Sound.cpp | 2 +- Sourcecode/mx/core/elements/Sound.h | 3 +- .../mx/core/elements/SoundAttributes.cpp | 2 +- Sourcecode/mx/core/elements/SoundAttributes.h | 3 +- Sourcecode/mx/core/elements/SoundingPitch.cpp | 2 +- Sourcecode/mx/core/elements/SoundingPitch.h | 3 +- Sourcecode/mx/core/elements/Source.cpp | 2 +- Sourcecode/mx/core/elements/Source.h | 3 +- Sourcecode/mx/core/elements/Spiccato.cpp | 2 +- Sourcecode/mx/core/elements/Spiccato.h | 3 +- Sourcecode/mx/core/elements/Staccatissimo.cpp | 2 +- Sourcecode/mx/core/elements/Staccatissimo.h | 3 +- Sourcecode/mx/core/elements/Staccato.cpp | 2 +- Sourcecode/mx/core/elements/Staccato.h | 3 +- Sourcecode/mx/core/elements/Staff.cpp | 2 +- Sourcecode/mx/core/elements/Staff.h | 3 +- Sourcecode/mx/core/elements/StaffDetails.cpp | 2 +- Sourcecode/mx/core/elements/StaffDetails.h | 3 +- .../core/elements/StaffDetailsAttributes.cpp | 2 +- .../mx/core/elements/StaffDetailsAttributes.h | 3 +- Sourcecode/mx/core/elements/StaffDistance.cpp | 2 +- Sourcecode/mx/core/elements/StaffDistance.h | 3 +- Sourcecode/mx/core/elements/StaffLayout.cpp | 2 +- Sourcecode/mx/core/elements/StaffLayout.h | 3 +- .../core/elements/StaffLayoutAttributes.cpp | 2 +- .../mx/core/elements/StaffLayoutAttributes.h | 3 +- Sourcecode/mx/core/elements/StaffLines.cpp | 2 +- Sourcecode/mx/core/elements/StaffLines.h | 3 +- Sourcecode/mx/core/elements/StaffSize.cpp | 2 +- Sourcecode/mx/core/elements/StaffSize.h | 3 +- Sourcecode/mx/core/elements/StaffTuning.cpp | 2 +- Sourcecode/mx/core/elements/StaffTuning.h | 3 +- .../core/elements/StaffTuningAttributes.cpp | 2 +- .../mx/core/elements/StaffTuningAttributes.h | 3 +- Sourcecode/mx/core/elements/StaffType.cpp | 2 +- Sourcecode/mx/core/elements/StaffType.h | 3 +- Sourcecode/mx/core/elements/Staves.cpp | 2 +- Sourcecode/mx/core/elements/Staves.h | 3 +- Sourcecode/mx/core/elements/Stem.cpp | 2 +- Sourcecode/mx/core/elements/Stem.h | 3 +- .../mx/core/elements/StemAttributes.cpp | 2 +- Sourcecode/mx/core/elements/StemAttributes.h | 3 +- Sourcecode/mx/core/elements/Step.cpp | 2 +- Sourcecode/mx/core/elements/Step.h | 3 +- Sourcecode/mx/core/elements/Stick.cpp | 2 +- Sourcecode/mx/core/elements/Stick.h | 3 +- .../mx/core/elements/StickAttributes.cpp | 2 +- Sourcecode/mx/core/elements/StickAttributes.h | 3 +- Sourcecode/mx/core/elements/StickLocation.cpp | 2 +- Sourcecode/mx/core/elements/StickLocation.h | 3 +- Sourcecode/mx/core/elements/StickMaterial.cpp | 2 +- Sourcecode/mx/core/elements/StickMaterial.h | 3 +- Sourcecode/mx/core/elements/StickType.cpp | 2 +- Sourcecode/mx/core/elements/StickType.h | 3 +- Sourcecode/mx/core/elements/Stopped.cpp | 2 +- Sourcecode/mx/core/elements/Stopped.h | 3 +- Sourcecode/mx/core/elements/Stress.cpp | 2 +- Sourcecode/mx/core/elements/Stress.h | 3 +- Sourcecode/mx/core/elements/String.cpp | 2 +- Sourcecode/mx/core/elements/String.h | 3 +- .../mx/core/elements/StringAttributes.cpp | 2 +- .../mx/core/elements/StringAttributes.h | 3 +- Sourcecode/mx/core/elements/StringMute.cpp | 2 +- Sourcecode/mx/core/elements/StringMute.h | 3 +- .../mx/core/elements/StringMuteAttributes.cpp | 2 +- .../mx/core/elements/StringMuteAttributes.h | 3 +- Sourcecode/mx/core/elements/StrongAccent.cpp | 2 +- Sourcecode/mx/core/elements/StrongAccent.h | 3 +- .../core/elements/StrongAccentAttributes.cpp | 2 +- .../mx/core/elements/StrongAccentAttributes.h | 3 +- Sourcecode/mx/core/elements/Suffix.cpp | 2 +- Sourcecode/mx/core/elements/Suffix.h | 3 +- .../mx/core/elements/SuffixAttributes.cpp | 2 +- .../mx/core/elements/SuffixAttributes.h | 3 +- Sourcecode/mx/core/elements/Supports.cpp | 2 +- Sourcecode/mx/core/elements/Supports.h | 3 +- .../mx/core/elements/SupportsAttributes.cpp | 2 +- .../mx/core/elements/SupportsAttributes.h | 3 +- Sourcecode/mx/core/elements/Syllabic.cpp | 2 +- Sourcecode/mx/core/elements/Syllabic.h | 3 +- .../mx/core/elements/SyllabicTextGroup.h | 3 +- .../mx/core/elements/SystemDistance.cpp | 2 +- Sourcecode/mx/core/elements/SystemDistance.h | 3 +- .../mx/core/elements/SystemDividers.cpp | 2 +- Sourcecode/mx/core/elements/SystemDividers.h | 3 +- Sourcecode/mx/core/elements/SystemLayout.cpp | 2 +- Sourcecode/mx/core/elements/SystemLayout.h | 3 +- Sourcecode/mx/core/elements/SystemMargins.cpp | 2 +- Sourcecode/mx/core/elements/SystemMargins.h | 3 +- Sourcecode/mx/core/elements/Tap.cpp | 2 +- Sourcecode/mx/core/elements/Tap.h | 3 +- Sourcecode/mx/core/elements/TapAttributes.cpp | 2 +- Sourcecode/mx/core/elements/TapAttributes.h | 3 +- Sourcecode/mx/core/elements/Technical.cpp | 2 +- Sourcecode/mx/core/elements/Technical.h | 3 +- Sourcecode/mx/core/elements/TechnicalChoice.h | 3 +- Sourcecode/mx/core/elements/Tenths.cpp | 2 +- Sourcecode/mx/core/elements/Tenths.h | 3 +- Sourcecode/mx/core/elements/Tenuto.cpp | 2 +- Sourcecode/mx/core/elements/Tenuto.h | 3 +- Sourcecode/mx/core/elements/Text.cpp | 2 +- Sourcecode/mx/core/elements/Text.h | 3 +- .../mx/core/elements/TextAttributes.cpp | 2 +- Sourcecode/mx/core/elements/TextAttributes.h | 3 +- Sourcecode/mx/core/elements/ThumbPosition.cpp | 2 +- Sourcecode/mx/core/elements/ThumbPosition.h | 3 +- Sourcecode/mx/core/elements/Tie.cpp | 2 +- Sourcecode/mx/core/elements/Tie.h | 3 +- Sourcecode/mx/core/elements/TieAttributes.cpp | 2 +- Sourcecode/mx/core/elements/TieAttributes.h | 3 +- Sourcecode/mx/core/elements/Tied.cpp | 2 +- Sourcecode/mx/core/elements/Tied.h | 3 +- .../mx/core/elements/TiedAttributes.cpp | 2 +- Sourcecode/mx/core/elements/TiedAttributes.h | 3 +- Sourcecode/mx/core/elements/Time.cpp | 2 +- Sourcecode/mx/core/elements/Time.h | 3 +- .../mx/core/elements/TimeAttributes.cpp | 2 +- Sourcecode/mx/core/elements/TimeAttributes.h | 3 +- Sourcecode/mx/core/elements/TimeChoice.h | 3 +- .../mx/core/elements/TimeModification.cpp | 2 +- .../mx/core/elements/TimeModification.h | 3 +- .../TimeModificationNormalTypeNormalDot.cpp | 2 +- .../TimeModificationNormalTypeNormalDot.h | 3 +- Sourcecode/mx/core/elements/TimeRelation.cpp | 2 +- Sourcecode/mx/core/elements/TimeRelation.h | 3 +- .../mx/core/elements/TimeSignatureGroup.h | 3 +- .../mx/core/elements/TimewiseMeasure.cpp | 2 +- Sourcecode/mx/core/elements/TimewiseMeasure.h | 3 +- Sourcecode/mx/core/elements/TimewisePart.cpp | 2 +- Sourcecode/mx/core/elements/TimewisePart.h | 3 +- Sourcecode/mx/core/elements/Timpani.cpp | 2 +- Sourcecode/mx/core/elements/Timpani.h | 3 +- Sourcecode/mx/core/elements/Toe.cpp | 2 +- Sourcecode/mx/core/elements/Toe.h | 3 +- Sourcecode/mx/core/elements/ToeAttributes.cpp | 2 +- Sourcecode/mx/core/elements/ToeAttributes.h | 3 +- Sourcecode/mx/core/elements/TopMargin.cpp | 2 +- Sourcecode/mx/core/elements/TopMargin.h | 3 +- .../mx/core/elements/TopSystemDistance.cpp | 2 +- .../mx/core/elements/TopSystemDistance.h | 3 +- Sourcecode/mx/core/elements/TouchingPitch.cpp | 2 +- Sourcecode/mx/core/elements/TouchingPitch.h | 3 +- .../mx/core/elements/TraditionalKey.cpp | 2 +- Sourcecode/mx/core/elements/TraditionalKey.h | 3 +- Sourcecode/mx/core/elements/Transpose.cpp | 2 +- Sourcecode/mx/core/elements/Transpose.h | 3 +- .../mx/core/elements/TransposeAttributes.cpp | 2 +- .../mx/core/elements/TransposeAttributes.h | 3 +- Sourcecode/mx/core/elements/Tremolo.cpp | 2 +- Sourcecode/mx/core/elements/Tremolo.h | 3 +- .../mx/core/elements/TremoloAttributes.cpp | 2 +- .../mx/core/elements/TremoloAttributes.h | 3 +- Sourcecode/mx/core/elements/TrillMark.cpp | 2 +- Sourcecode/mx/core/elements/TrillMark.h | 3 +- Sourcecode/mx/core/elements/TripleTongue.cpp | 2 +- Sourcecode/mx/core/elements/TripleTongue.h | 3 +- Sourcecode/mx/core/elements/TuningAlter.cpp | 2 +- Sourcecode/mx/core/elements/TuningAlter.h | 3 +- Sourcecode/mx/core/elements/TuningOctave.cpp | 2 +- Sourcecode/mx/core/elements/TuningOctave.h | 3 +- Sourcecode/mx/core/elements/TuningStep.cpp | 2 +- Sourcecode/mx/core/elements/TuningStep.h | 3 +- Sourcecode/mx/core/elements/Tuplet.cpp | 2 +- Sourcecode/mx/core/elements/Tuplet.h | 3 +- Sourcecode/mx/core/elements/TupletActual.cpp | 2 +- Sourcecode/mx/core/elements/TupletActual.h | 3 +- .../mx/core/elements/TupletAttributes.cpp | 2 +- .../mx/core/elements/TupletAttributes.h | 3 +- Sourcecode/mx/core/elements/TupletDot.cpp | 2 +- Sourcecode/mx/core/elements/TupletDot.h | 3 +- .../mx/core/elements/TupletDotAttributes.cpp | 2 +- .../mx/core/elements/TupletDotAttributes.h | 3 +- Sourcecode/mx/core/elements/TupletNormal.cpp | 2 +- Sourcecode/mx/core/elements/TupletNormal.h | 3 +- Sourcecode/mx/core/elements/TupletNumber.cpp | 2 +- Sourcecode/mx/core/elements/TupletNumber.h | 3 +- .../core/elements/TupletNumberAttributes.cpp | 2 +- .../mx/core/elements/TupletNumberAttributes.h | 3 +- Sourcecode/mx/core/elements/TupletType.cpp | 2 +- Sourcecode/mx/core/elements/TupletType.h | 3 +- .../mx/core/elements/TupletTypeAttributes.cpp | 2 +- .../mx/core/elements/TupletTypeAttributes.h | 3 +- Sourcecode/mx/core/elements/Turn.cpp | 2 +- Sourcecode/mx/core/elements/Turn.h | 3 +- .../mx/core/elements/TurnAttributes.cpp | 2 +- Sourcecode/mx/core/elements/TurnAttributes.h | 3 +- Sourcecode/mx/core/elements/Type.cpp | 2 +- Sourcecode/mx/core/elements/Type.h | 3 +- .../mx/core/elements/TypeAttributes.cpp | 2 +- Sourcecode/mx/core/elements/TypeAttributes.h | 3 +- Sourcecode/mx/core/elements/Unpitched.cpp | 2 +- Sourcecode/mx/core/elements/Unpitched.h | 3 +- Sourcecode/mx/core/elements/Unstress.cpp | 2 +- Sourcecode/mx/core/elements/Unstress.h | 3 +- Sourcecode/mx/core/elements/UpBow.cpp | 2 +- Sourcecode/mx/core/elements/UpBow.h | 3 +- Sourcecode/mx/core/elements/VerticalTurn.cpp | 2 +- Sourcecode/mx/core/elements/VerticalTurn.h | 3 +- .../mx/core/elements/VirtualInstrument.cpp | 2 +- .../mx/core/elements/VirtualInstrument.h | 3 +- .../mx/core/elements/VirtualLibrary.cpp | 2 +- Sourcecode/mx/core/elements/VirtualLibrary.h | 3 +- Sourcecode/mx/core/elements/VirtualName.cpp | 2 +- Sourcecode/mx/core/elements/VirtualName.h | 3 +- Sourcecode/mx/core/elements/Voice.cpp | 2 +- Sourcecode/mx/core/elements/Voice.h | 3 +- Sourcecode/mx/core/elements/Volume.cpp | 2 +- Sourcecode/mx/core/elements/Volume.h | 3 +- Sourcecode/mx/core/elements/WavyLine.cpp | 2 +- Sourcecode/mx/core/elements/WavyLine.h | 3 +- .../mx/core/elements/WavyLineAttributes.cpp | 2 +- .../mx/core/elements/WavyLineAttributes.h | 3 +- Sourcecode/mx/core/elements/Wedge.cpp | 2 +- Sourcecode/mx/core/elements/Wedge.h | 3 +- .../mx/core/elements/WedgeAttributes.cpp | 2 +- Sourcecode/mx/core/elements/WedgeAttributes.h | 3 +- Sourcecode/mx/core/elements/WithBar.cpp | 2 +- Sourcecode/mx/core/elements/WithBar.h | 3 +- .../mx/core/elements/WithBarAttributes.cpp | 2 +- .../mx/core/elements/WithBarAttributes.h | 3 +- Sourcecode/mx/core/elements/Wood.cpp | 2 +- Sourcecode/mx/core/elements/Wood.h | 3 +- Sourcecode/mx/core/elements/WordFont.cpp | 2 +- Sourcecode/mx/core/elements/WordFont.h | 3 +- Sourcecode/mx/core/elements/Words.cpp | 2 +- Sourcecode/mx/core/elements/Words.h | 3 +- .../mx/core/elements/WordsAttributes.cpp | 2 +- Sourcecode/mx/core/elements/WordsAttributes.h | 3 +- Sourcecode/mx/core/elements/Work.cpp | 2 +- Sourcecode/mx/core/elements/Work.h | 3 +- Sourcecode/mx/core/elements/WorkNumber.cpp | 2 +- Sourcecode/mx/core/elements/WorkNumber.h | 3 +- Sourcecode/mx/core/elements/WorkTitle.cpp | 2 +- Sourcecode/mx/core/elements/WorkTitle.h | 3 +- Sourcecode/mx/xml/PugiAttributeIterImpl.cpp | 9 +- Sourcecode/mx/xml/PugiDoc.cpp | 6 +- Sourcecode/mx/xml/PugiElement.cpp | 146 +++++++++-- Sourcecode/mx/xml/PugiElement.h | 10 + Sourcecode/mx/xml/PugiElementIterImpl.cpp | 115 ++++++++- Sourcecode/mx/xml/PugiElementIterImpl.h | 16 +- Sourcecode/mx/xml/XElement.h | 10 + Sourcecode/mx/xml/XElementIterImpl.h | 3 + Sourcecode/mx/xml/XElementIterator.cpp | 12 + Sourcecode/mx/xml/XElementIterator.h | 2 + Sourcecode/mxtest/control/CompileControl.h | 2 +- Sourcecode/mxtest/import/ExpectedFiles.cpp | 11 +- Sourcecode/mxtest/xml/XElementTest.cpp | 1 + Xcode/Mx.xcodeproj/project.pbxproj | 14 ++ 1173 files changed, 2468 insertions(+), 1205 deletions(-) create mode 100644 Sourcecode/mx/core/ProcessingInstruction.cpp create mode 100644 Sourcecode/mx/core/ProcessingInstruction.h diff --git a/Resources/mjbsuite/chords_simple.xml b/Resources/mjbsuite/chords_simple.xml index c87f29671..da152990a 100644 --- a/Resources/mjbsuite/chords_simple.xml +++ b/Resources/mjbsuite/chords_simple.xml @@ -22,7 +22,10 @@ + + D + minor @@ -42,11 +45,13 @@ 1 + 101 + B diff --git a/Sourcecode/mx/api/DocumentManager.cpp b/Sourcecode/mx/api/DocumentManager.cpp index 0e22dc90e..61502693e 100755 --- a/Sourcecode/mx/api/DocumentManager.cpp +++ b/Sourcecode/mx/api/DocumentManager.cpp @@ -58,6 +58,10 @@ namespace mx auto xdoc = mx::xml::XFactory::makeXDoc(); xdoc->loadFile( filePath ); +#ifdef DEBUG_HELL + xdoc->saveStream( std::cout ); + std::cout << std::endl; +#endif auto mxdoc = mx::core::makeDocument(); std::stringstream messages; diff --git a/Sourcecode/mx/core/AttributesInterface.cpp b/Sourcecode/mx/core/AttributesInterface.cpp index bcca310d3..01cf5344b 100755 --- a/Sourcecode/mx/core/AttributesInterface.cpp +++ b/Sourcecode/mx/core/AttributesInterface.cpp @@ -19,5 +19,12 @@ namespace mx { return value.toStream( os ); } + + + bool + AttributesInterface::fromXElement( std::ostream& message, xml::XElement& xelement ) + { + return this->fromXElementImpl( message, xelement ); + } } } diff --git a/Sourcecode/mx/core/AttributesInterface.h b/Sourcecode/mx/core/AttributesInterface.h index 9dc31ef47..00415bc36 100755 --- a/Sourcecode/mx/core/AttributesInterface.h +++ b/Sourcecode/mx/core/AttributesInterface.h @@ -9,7 +9,7 @@ #include #include -namespace mx +namespace mx { namespace xml { @@ -27,7 +27,10 @@ namespace mx virtual ~AttributesInterface() {} virtual bool hasValues() const; virtual std::ostream& toStream( std::ostream& os ) const; - virtual bool fromXElement( std::ostream& message, xml::XElement& xelement ) = 0; + virtual bool fromXElement( std::ostream& message, xml::XElement& xelement ) final; + + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ) = 0; }; std::ostream& operator<<( std::ostream& os, const AttributesInterface& value ); diff --git a/Sourcecode/mx/core/ElementInterface.cpp b/Sourcecode/mx/core/ElementInterface.cpp index 7380a9b4f..be8759055 100755 --- a/Sourcecode/mx/core/ElementInterface.cpp +++ b/Sourcecode/mx/core/ElementInterface.cpp @@ -3,6 +3,9 @@ // Distributed under the MIT License #include "mx/core/ElementInterface.h" +#include "mx/xml/XElement.h" +#include "mx/xml/XElementIterator.h" +#include "mx/xml/XFactory.h" #include namespace mx @@ -12,9 +15,14 @@ namespace mx const char* INDENT = " "; ElementInterface::ElementInterface() - {} + { + + } - ElementInterface::~ElementInterface() {} + ElementInterface::~ElementInterface() + { + + } std::ostream& ElementInterface::streamOpenTag( std::ostream& os ) const @@ -62,21 +70,24 @@ namespace mx std::ostream& ElementInterface::toStream( std::ostream& os, const int indentLevel ) const { indent( os, indentLevel ); - if ( hasContents() ) + + if( myProcessingInstructions.empty() ) { - streamOpenTag( os ); - bool isOneLineOnly = false; - streamContents( os, indentLevel, isOneLineOnly ); - if ( !isOneLineOnly ) - { - indent( os, indentLevel ); - } - streamCloseTag( os ); + return streamWithoutProcessingInstructions( os, indentLevel ); } else { - streamSelfCloseTag( os ); + std::stringstream ss; + streamWithoutProcessingInstructions( ss, 0 ); + const auto xml = ss.str(); + std::istringstream iss{ xml }; + const auto xdoc = xml::XFactory::makeXDoc(); + xdoc->loadStream( iss ); + const auto root = xdoc->getRoot(); + const bool hasChildren = root->getType() == xml::XElementType::element && root->begin() != root->end(); + streamWithProcessingInstructions( os, indentLevel, hasChildren ); } + return os; } @@ -105,9 +116,200 @@ namespace mx } + bool ElementInterface::fromXElement( std::ostream& message, xml::XElement& xelement ) + { + if( xelement.getIsProcessingInstruction() ) + { + const auto next = xelement.getNextSibling(); + + if( next ) + { + return this->fromXElement( message, *next ); + } + } + + const bool result = this->fromXElementImpl( message, xelement ); + + // check for processing instructions + + if( xelement.getType() == xml::XElementType::element ) + { + auto childIter = xelement.beginWithProcessingInstructions(); + const auto childEnd = xelement.end(); + + while( childIter != childEnd && childIter->getIsProcessingInstruction() ) + { + ProcessingInstruction pi{ childIter->getName(), childIter->getValue() }; + pi.setIsChild( true ); + addProcessingInstruction( std::move( pi ) ); + ++childIter; + } + } + + auto lookahead = xelement.getNextSibling(); + + while( lookahead != nullptr && lookahead->getIsProcessingInstruction() ) + { + ProcessingInstruction pi{ lookahead->getName(), lookahead->getValue() }; + pi.setIsChild( false ); + addProcessingInstruction( std::move( pi ) ); + lookahead = lookahead->getNextSibling(); + } + + return result; + } + + + const ProcessingInstructions& ElementInterface::getProcessingInstructions() const + { + return myProcessingInstructions; + } + + + void ElementInterface::clearProcessingInstructions() + { + myProcessingInstructions.clear(); + } + + + void ElementInterface::addProcessingInstruction( ProcessingInstruction inProcessingInstruction ) + { + myProcessingInstructions.emplace_back( std::move( inProcessingInstruction ) ); + } + + std::ostream& operator<<( std::ostream& os, const ElementInterface& value ) { return value.toStream( os, 0 ); } + + + std::ostream& ElementInterface::writeChildProcessingInstructions( std::ostream& os, const int indentLevel ) const + { + bool isFirst = true; + + for( const auto& pi : myProcessingInstructions ) + { + if( pi.getIsChild() ) + { + if (!isFirst) + { + os << std::endl; + } + indent( os, indentLevel + 1 ); + pi.toStream( os ); + isFirst = false; + } + } + + return os; + } + + + std::ostream& ElementInterface::writeSiblingProcessingInstructions( std::ostream& os, const int indentLevel ) const + { + bool isFirst = true; + + for( const auto& pi : myProcessingInstructions ) + { + if( !pi.getIsChild() ) + { + if (!isFirst) + { + os << std::endl; + } + indent( os, indentLevel ); + pi.toStream( os ); + isFirst = false; + } + } + + return os; + } + + + std::ostream& ElementInterface::writeAllProcessingInstructions( std::ostream& os, const int indentLevel ) const + { + bool isFirst = true; + + for( const auto& pi : myProcessingInstructions ) + { + if (!isFirst) + { + os << std::endl; + } + indent( os, indentLevel ); + pi.toStream( os ); + isFirst = false; + } + + return os; + } + + + std::ostream& ElementInterface::streamWithoutProcessingInstructions( std::ostream& os, const int indentLevel ) const + { + const bool isSelfClosing = !hasContents(); + + if ( !isSelfClosing ) + { + streamOpenTag( os ); + bool isOneLineOnly = false; + streamContents( os, indentLevel, isOneLineOnly ); + if ( !isOneLineOnly ) + { + indent( os, indentLevel ); + } + streamCloseTag( os ); + } + else + { + streamSelfCloseTag( os ); + } + return os; + } + + + std::ostream& ElementInterface::streamWithProcessingInstructions( std::ostream& os, const int indentLevel, const bool inHasChildren ) const + { + const bool isSelfClosing = !hasContents(); + + if ( !isSelfClosing ) + { + streamOpenTag( os ); + bool isOneLineOnly = false; + + if( inHasChildren ) + { + writeChildProcessingInstructions( os, indentLevel ); + } + + streamContents( os, indentLevel, isOneLineOnly ); + + if ( !isOneLineOnly ) + { + indent( os, indentLevel ); + } + streamCloseTag( os ); + + if( inHasChildren ) + { + os << std::endl; + writeSiblingProcessingInstructions( os, indentLevel ); + } + else + { + os << std::endl; + writeAllProcessingInstructions( os, indentLevel ); + } + } + else + { + streamSelfCloseTag( os ); + os << std::endl; + writeAllProcessingInstructions( os, indentLevel ); + } + return os; + } } } diff --git a/Sourcecode/mx/core/ElementInterface.h b/Sourcecode/mx/core/ElementInterface.h index 897340cd2..aaba228c3 100755 --- a/Sourcecode/mx/core/ElementInterface.h +++ b/Sourcecode/mx/core/ElementInterface.h @@ -8,6 +8,7 @@ #include #include "mx/core/UnusedParameter.h" #include "mx/core/AttributesInterface.h" +#include "mx/core/ProcessingInstruction.h" namespace mx { @@ -40,7 +41,21 @@ namespace mx virtual std::ostream& streamSelfCloseTag( std::ostream& os ) const; virtual std::ostream& toStream( std::ostream& os, const int indentLevel ) const; virtual const std::string getElementName() const; - virtual bool fromXElement( std::ostream& message, xml::XElement& xelement ) = 0; + virtual bool fromXElement( std::ostream& message, xml::XElement& xelement ) final; + virtual const ProcessingInstructions& getProcessingInstructions() const final; + virtual void clearProcessingInstructions() final; + virtual void addProcessingInstruction( ProcessingInstruction inProcessingInstruction ) final; + + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ) = 0; + + private: + ProcessingInstructions myProcessingInstructions; + std::ostream& writeChildProcessingInstructions( std::ostream& os, const int indentLevel ) const; + std::ostream& writeSiblingProcessingInstructions( std::ostream& os, const int indentLevel ) const; + std::ostream& writeAllProcessingInstructions( std::ostream& os, const int indentLevel ) const; + std::ostream& streamWithoutProcessingInstructions( std::ostream& os, const int indentLevel ) const; + std::ostream& streamWithProcessingInstructions( std::ostream& os, const int indentLevel, const bool inHasChildren ) const; }; std::ostream& indent( std::ostream& os, const int indentLevel ); diff --git a/Sourcecode/mx/core/EmptyPrintObjectStyleAlignAttributes.cpp b/Sourcecode/mx/core/EmptyPrintObjectStyleAlignAttributes.cpp index 47a92fe66..5acec92e5 100755 --- a/Sourcecode/mx/core/EmptyPrintObjectStyleAlignAttributes.cpp +++ b/Sourcecode/mx/core/EmptyPrintObjectStyleAlignAttributes.cpp @@ -75,7 +75,7 @@ namespace mx } - bool EmptyPrintObjectStyleAlignAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool EmptyPrintObjectStyleAlignAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "EmptyPrintObjectStyleAlignAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/EmptyPrintObjectStyleAlignAttributes.h b/Sourcecode/mx/core/EmptyPrintObjectStyleAlignAttributes.h index d4f5ddccd..e2aa854ed 100755 --- a/Sourcecode/mx/core/EmptyPrintObjectStyleAlignAttributes.h +++ b/Sourcecode/mx/core/EmptyPrintObjectStyleAlignAttributes.h @@ -50,7 +50,7 @@ namespace mx bool hasHalign; bool hasValign; - virtual bool fromXElement( std::ostream& message, xml::XElement& xelement ); + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/FromXElement.h b/Sourcecode/mx/core/FromXElement.h index 7042ff71e..81959f2c4 100755 --- a/Sourcecode/mx/core/FromXElement.h +++ b/Sourcecode/mx/core/FromXElement.h @@ -15,7 +15,7 @@ #ifndef MX_FROM_XELEMENT_UNUSED #define MX_FROM_XELEMENT_UNUSED( class_name ) \ \ - bool class_name::fromXElement( std::ostream& message, xml::XElement& xelement ) \ + bool class_name::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) \ { \ MX_UNUSED( xelement ); \ message << #class_name ": fromXElement function is not expected to be called on this class" << std::endl; \ diff --git a/Sourcecode/mx/core/ProcessingInstruction.cpp b/Sourcecode/mx/core/ProcessingInstruction.cpp new file mode 100644 index 000000000..6ff144dda --- /dev/null +++ b/Sourcecode/mx/core/ProcessingInstruction.cpp @@ -0,0 +1,102 @@ +// MusicXML Class Library +// Copyright (c) by Matthew James Briggs +// Distributed under the MIT License + +#include "mx/core/ProcessingInstruction.h" +#include "mx/utility/Throw.h" + +#include + +namespace mx +{ + namespace core + { + +//////////////////////////////////////////////////////////////////////////////// +// CTOR AND COPY /////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////// + + ProcessingInstruction::ProcessingInstruction() + : myName{ "default-name" } + , myData{} + , mIsChild{true} + { + + } + + + ProcessingInstruction::ProcessingInstruction( StringType inName, StringType inData ) + : ProcessingInstruction{} + { + this->setName( std::move( inName ) ); + this->setData( std::move( inData ) ); + } + +//////////////////////////////////////////////////////////////////////////////// +// PUBLIC FUNCTIONS //////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////// + + const StringType& ProcessingInstruction::getName() const + { + return myName; + } + + + void ProcessingInstruction::setName( StringType inName ) + { + if( !inName.empty() ) + { + myName = std::move( inName ); + } + } + + + const StringType& ProcessingInstruction::getData() const + { + return myData; + } + + + void ProcessingInstruction::setData( StringType inData ) + { + myData = std::move( inData ); + } + + + std::ostream& ProcessingInstruction::toStream( std::ostream& os ) const + { + os << ""; + return os; + } + + + StringType ProcessingInstruction::toString() const + { + std::stringstream ss; + this->toStream( ss ); + return ss.str(); + } + + + bool ProcessingInstruction::getIsChild() const + { + return mIsChild; + } + + + void ProcessingInstruction::setIsChild( bool inValue ) + { + mIsChild = inValue; + } + +//////////////////////////////////////////////////////////////////////////////// +// PRIVATE FUNCTIONS /////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////// + + + } +} diff --git a/Sourcecode/mx/core/ProcessingInstruction.h b/Sourcecode/mx/core/ProcessingInstruction.h new file mode 100644 index 000000000..4651285a0 --- /dev/null +++ b/Sourcecode/mx/core/ProcessingInstruction.h @@ -0,0 +1,52 @@ +// MusicXML Class Library +// Copyright (c) by Matthew James Briggs +// Distributed under the MIT License + +#pragma once + +#include "mx/core/Strings.h" + +#include +#include +#include + +namespace mx +{ + namespace core + { + /// @brief An XML Processing Instruction + /// + /// @detailed Will be written/read to/from the XML + /// document as Processing Instructions + /// + class ProcessingInstruction + { + public: + ProcessingInstruction(); + ProcessingInstruction( StringType inName, StringType inData ); + + public: + const StringType& getName() const; + void setName( StringType inName ); + const StringType& getData() const; + void setData( StringType inData ); + std::ostream& toStream( std::ostream& os ) const; + StringType toString() const; + + /// place the instruction as the first child if possible. this may + /// not be possible if the element has no other child elements. + bool getIsChild() const; + + /// place the instruction as the first child if possible. this may + /// not be possible if the element has no other child elements. + void setIsChild( bool inValue ); + + private: + StringType myName; + StringType myData; + bool mIsChild; + }; + + using ProcessingInstructions = std::vector; + } +} diff --git a/Sourcecode/mx/core/elements/Accent.cpp b/Sourcecode/mx/core/elements/Accent.cpp index be06f4139..9fd539ea8 100755 --- a/Sourcecode/mx/core/elements/Accent.cpp +++ b/Sourcecode/mx/core/elements/Accent.cpp @@ -57,7 +57,7 @@ namespace mx } - bool Accent::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Accent::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Accent.h b/Sourcecode/mx/core/elements/Accent.h index e6771f439..da5fbb4f7 100755 --- a/Sourcecode/mx/core/elements/Accent.h +++ b/Sourcecode/mx/core/elements/Accent.h @@ -35,7 +35,8 @@ namespace mx EmptyPlacementAttributesPtr getAttributes() const; void setAttributes( const EmptyPlacementAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: EmptyPlacementAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/Accidental.cpp b/Sourcecode/mx/core/elements/Accidental.cpp index 291bdfc18..9a8e952a6 100755 --- a/Sourcecode/mx/core/elements/Accidental.cpp +++ b/Sourcecode/mx/core/elements/Accidental.cpp @@ -87,7 +87,7 @@ namespace mx } - bool Accidental::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Accidental::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Accidental.h b/Sourcecode/mx/core/elements/Accidental.h index 14c1113f3..b59fa4159 100755 --- a/Sourcecode/mx/core/elements/Accidental.h +++ b/Sourcecode/mx/core/elements/Accidental.h @@ -41,7 +41,8 @@ namespace mx AccidentalValue getValue() const; void setValue( const AccidentalValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: AccidentalValue myValue; diff --git a/Sourcecode/mx/core/elements/AccidentalAttributes.cpp b/Sourcecode/mx/core/elements/AccidentalAttributes.cpp index 0f3e58a51..0d574e647 100755 --- a/Sourcecode/mx/core/elements/AccidentalAttributes.cpp +++ b/Sourcecode/mx/core/elements/AccidentalAttributes.cpp @@ -80,7 +80,7 @@ namespace mx } - bool AccidentalAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool AccidentalAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "AccidentalAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/AccidentalAttributes.h b/Sourcecode/mx/core/elements/AccidentalAttributes.h index 61b2a1c61..e889ffe8c 100755 --- a/Sourcecode/mx/core/elements/AccidentalAttributes.h +++ b/Sourcecode/mx/core/elements/AccidentalAttributes.h @@ -55,7 +55,8 @@ namespace mx bool hasFontSize; bool hasFontWeight; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/AccidentalMark.cpp b/Sourcecode/mx/core/elements/AccidentalMark.cpp index 65fec617e..7d4fd367b 100755 --- a/Sourcecode/mx/core/elements/AccidentalMark.cpp +++ b/Sourcecode/mx/core/elements/AccidentalMark.cpp @@ -87,7 +87,7 @@ namespace mx } - bool AccidentalMark::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool AccidentalMark::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/AccidentalMark.h b/Sourcecode/mx/core/elements/AccidentalMark.h index d16a8f0b5..1ed1868f7 100755 --- a/Sourcecode/mx/core/elements/AccidentalMark.h +++ b/Sourcecode/mx/core/elements/AccidentalMark.h @@ -41,7 +41,8 @@ namespace mx AccidentalValue getValue() const; void setValue( const AccidentalValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: AccidentalValue myValue; diff --git a/Sourcecode/mx/core/elements/AccidentalMarkAttributes.cpp b/Sourcecode/mx/core/elements/AccidentalMarkAttributes.cpp index 6ecfe147e..5f854cb85 100755 --- a/Sourcecode/mx/core/elements/AccidentalMarkAttributes.cpp +++ b/Sourcecode/mx/core/elements/AccidentalMarkAttributes.cpp @@ -64,7 +64,7 @@ namespace mx } - bool AccidentalMarkAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool AccidentalMarkAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "AccidentalMarkAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/AccidentalMarkAttributes.h b/Sourcecode/mx/core/elements/AccidentalMarkAttributes.h index f98bacba2..acc17430a 100755 --- a/Sourcecode/mx/core/elements/AccidentalMarkAttributes.h +++ b/Sourcecode/mx/core/elements/AccidentalMarkAttributes.h @@ -47,7 +47,8 @@ namespace mx bool hasFontWeight; bool hasPlacement; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/AccidentalText.cpp b/Sourcecode/mx/core/elements/AccidentalText.cpp index aac8e6dea..9fb1aa306 100755 --- a/Sourcecode/mx/core/elements/AccidentalText.cpp +++ b/Sourcecode/mx/core/elements/AccidentalText.cpp @@ -87,7 +87,7 @@ namespace mx } - bool AccidentalText::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool AccidentalText::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/AccidentalText.h b/Sourcecode/mx/core/elements/AccidentalText.h index 54d8dbe47..d01a1f327 100755 --- a/Sourcecode/mx/core/elements/AccidentalText.h +++ b/Sourcecode/mx/core/elements/AccidentalText.h @@ -41,7 +41,8 @@ namespace mx AccidentalValue getValue() const; void setValue( const AccidentalValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: AccidentalValue myValue; diff --git a/Sourcecode/mx/core/elements/AccidentalTextAttributes.cpp b/Sourcecode/mx/core/elements/AccidentalTextAttributes.cpp index df0546159..4fa085139 100755 --- a/Sourcecode/mx/core/elements/AccidentalTextAttributes.cpp +++ b/Sourcecode/mx/core/elements/AccidentalTextAttributes.cpp @@ -104,7 +104,7 @@ namespace mx } - bool AccidentalTextAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool AccidentalTextAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "AccidentalTextAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/AccidentalTextAttributes.h b/Sourcecode/mx/core/elements/AccidentalTextAttributes.h index 1b53540b6..f21743162 100755 --- a/Sourcecode/mx/core/elements/AccidentalTextAttributes.h +++ b/Sourcecode/mx/core/elements/AccidentalTextAttributes.h @@ -69,7 +69,8 @@ namespace mx bool hasSpace; bool hasEnclosure; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Accord.cpp b/Sourcecode/mx/core/elements/Accord.cpp index a44e36454..ee14d4655 100755 --- a/Sourcecode/mx/core/elements/Accord.cpp +++ b/Sourcecode/mx/core/elements/Accord.cpp @@ -136,7 +136,7 @@ namespace mx } - bool Accord::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Accord::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Accord.h b/Sourcecode/mx/core/elements/Accord.h index e2a2ad75d..37f51222e 100755 --- a/Sourcecode/mx/core/elements/Accord.h +++ b/Sourcecode/mx/core/elements/Accord.h @@ -52,7 +52,8 @@ namespace mx TuningOctavePtr getTuningOctave() const; void setTuningOctave( const TuningOctavePtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: AccordAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/AccordAttributes.cpp b/Sourcecode/mx/core/elements/AccordAttributes.cpp index 92885ac47..5432003fe 100755 --- a/Sourcecode/mx/core/elements/AccordAttributes.cpp +++ b/Sourcecode/mx/core/elements/AccordAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool AccordAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool AccordAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "AccordAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/AccordAttributes.h b/Sourcecode/mx/core/elements/AccordAttributes.h index 4baf0cc89..9103de717 100755 --- a/Sourcecode/mx/core/elements/AccordAttributes.h +++ b/Sourcecode/mx/core/elements/AccordAttributes.h @@ -28,7 +28,8 @@ namespace mx StringNumber string; bool hasString; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/AccordionHigh.cpp b/Sourcecode/mx/core/elements/AccordionHigh.cpp index a88abf449..8f15565e2 100755 --- a/Sourcecode/mx/core/elements/AccordionHigh.cpp +++ b/Sourcecode/mx/core/elements/AccordionHigh.cpp @@ -27,7 +27,7 @@ namespace mx } - bool AccordionHigh::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool AccordionHigh::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/AccordionHigh.h b/Sourcecode/mx/core/elements/AccordionHigh.h index 986503407..3b3b21b0f 100755 --- a/Sourcecode/mx/core/elements/AccordionHigh.h +++ b/Sourcecode/mx/core/elements/AccordionHigh.h @@ -31,7 +31,8 @@ namespace mx virtual std::ostream& streamName( std::ostream& os ) const; virtual std::ostream& streamContents( std::ostream& os, const int indentLevel, bool& isOneLineOnly ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/AccordionLow.cpp b/Sourcecode/mx/core/elements/AccordionLow.cpp index 7f8ac165a..72b68f24b 100755 --- a/Sourcecode/mx/core/elements/AccordionLow.cpp +++ b/Sourcecode/mx/core/elements/AccordionLow.cpp @@ -27,7 +27,7 @@ namespace mx } - bool AccordionLow::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool AccordionLow::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/AccordionLow.h b/Sourcecode/mx/core/elements/AccordionLow.h index c2b478685..b4b71b363 100755 --- a/Sourcecode/mx/core/elements/AccordionLow.h +++ b/Sourcecode/mx/core/elements/AccordionLow.h @@ -31,7 +31,8 @@ namespace mx virtual std::ostream& streamName( std::ostream& os ) const; virtual std::ostream& streamContents( std::ostream& os, const int indentLevel, bool& isOneLineOnly ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/AccordionMiddle.cpp b/Sourcecode/mx/core/elements/AccordionMiddle.cpp index 46d906e82..0799ea514 100755 --- a/Sourcecode/mx/core/elements/AccordionMiddle.cpp +++ b/Sourcecode/mx/core/elements/AccordionMiddle.cpp @@ -66,7 +66,7 @@ namespace mx } - bool AccordionMiddle::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool AccordionMiddle::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/AccordionMiddle.h b/Sourcecode/mx/core/elements/AccordionMiddle.h index 06d4c6b6c..a3ed384c5 100755 --- a/Sourcecode/mx/core/elements/AccordionMiddle.h +++ b/Sourcecode/mx/core/elements/AccordionMiddle.h @@ -37,7 +37,8 @@ namespace mx AccordionMiddleValue getValue() const; void setValue( const AccordionMiddleValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: AccordionMiddleValue myValue; diff --git a/Sourcecode/mx/core/elements/AccordionRegistration.cpp b/Sourcecode/mx/core/elements/AccordionRegistration.cpp index 9b357d2e7..00c8e3f63 100755 --- a/Sourcecode/mx/core/elements/AccordionRegistration.cpp +++ b/Sourcecode/mx/core/elements/AccordionRegistration.cpp @@ -171,7 +171,7 @@ namespace mx } - bool AccordionRegistration::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool AccordionRegistration::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/AccordionRegistration.h b/Sourcecode/mx/core/elements/AccordionRegistration.h index bee86b54a..5eb75a3d9 100755 --- a/Sourcecode/mx/core/elements/AccordionRegistration.h +++ b/Sourcecode/mx/core/elements/AccordionRegistration.h @@ -56,7 +56,8 @@ namespace mx bool getHasAccordionLow() const; void setHasAccordionLow( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: AccordionRegistrationAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/AccordionRegistrationAttributes.cpp b/Sourcecode/mx/core/elements/AccordionRegistrationAttributes.cpp index 84e7ce8b6..dad736ebb 100755 --- a/Sourcecode/mx/core/elements/AccordionRegistrationAttributes.cpp +++ b/Sourcecode/mx/core/elements/AccordionRegistrationAttributes.cpp @@ -72,7 +72,7 @@ namespace mx } - bool AccordionRegistrationAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool AccordionRegistrationAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "AccordionRegistrationAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/AccordionRegistrationAttributes.h b/Sourcecode/mx/core/elements/AccordionRegistrationAttributes.h index b08bc8e5a..e3329eca8 100755 --- a/Sourcecode/mx/core/elements/AccordionRegistrationAttributes.h +++ b/Sourcecode/mx/core/elements/AccordionRegistrationAttributes.h @@ -52,7 +52,8 @@ namespace mx bool hasHalign; bool hasValign; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/ActualNotes.cpp b/Sourcecode/mx/core/elements/ActualNotes.cpp index 96948e466..f0ecf29e2 100755 --- a/Sourcecode/mx/core/elements/ActualNotes.cpp +++ b/Sourcecode/mx/core/elements/ActualNotes.cpp @@ -66,7 +66,7 @@ namespace mx } - bool ActualNotes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool ActualNotes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/ActualNotes.h b/Sourcecode/mx/core/elements/ActualNotes.h index 83f7bd3ae..29cf98169 100755 --- a/Sourcecode/mx/core/elements/ActualNotes.h +++ b/Sourcecode/mx/core/elements/ActualNotes.h @@ -37,7 +37,8 @@ namespace mx NonNegativeInteger getValue() const; void setValue( const NonNegativeInteger& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: NonNegativeInteger myValue; diff --git a/Sourcecode/mx/core/elements/Alter.cpp b/Sourcecode/mx/core/elements/Alter.cpp index bfaf93a4b..37df5c51b 100755 --- a/Sourcecode/mx/core/elements/Alter.cpp +++ b/Sourcecode/mx/core/elements/Alter.cpp @@ -66,7 +66,7 @@ namespace mx } - bool Alter::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Alter::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/Alter.h b/Sourcecode/mx/core/elements/Alter.h index 37c416570..960f35ff0 100755 --- a/Sourcecode/mx/core/elements/Alter.h +++ b/Sourcecode/mx/core/elements/Alter.h @@ -37,7 +37,8 @@ namespace mx Semitones getValue() const; void setValue( const Semitones& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Semitones myValue; diff --git a/Sourcecode/mx/core/elements/Appearance.cpp b/Sourcecode/mx/core/elements/Appearance.cpp index 6818ea13d..30354df86 100755 --- a/Sourcecode/mx/core/elements/Appearance.cpp +++ b/Sourcecode/mx/core/elements/Appearance.cpp @@ -241,7 +241,7 @@ namespace mx } - bool Appearance::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Appearance::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/Appearance.h b/Sourcecode/mx/core/elements/Appearance.h index e1ae9e2d9..a3dc4f488 100755 --- a/Sourcecode/mx/core/elements/Appearance.h +++ b/Sourcecode/mx/core/elements/Appearance.h @@ -63,7 +63,8 @@ namespace mx void clearOtherAppearanceSet(); OtherAppearancePtr getOtherAppearance( const OtherAppearanceSetIterConst& setIterator ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: LineWidthSet myLineWidthSet; diff --git a/Sourcecode/mx/core/elements/Arpeggiate.cpp b/Sourcecode/mx/core/elements/Arpeggiate.cpp index 222740d2a..e767d31e5 100755 --- a/Sourcecode/mx/core/elements/Arpeggiate.cpp +++ b/Sourcecode/mx/core/elements/Arpeggiate.cpp @@ -57,7 +57,7 @@ namespace mx } - bool Arpeggiate::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Arpeggiate::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Arpeggiate.h b/Sourcecode/mx/core/elements/Arpeggiate.h index 116455ba1..ced87c2f5 100755 --- a/Sourcecode/mx/core/elements/Arpeggiate.h +++ b/Sourcecode/mx/core/elements/Arpeggiate.h @@ -35,7 +35,8 @@ namespace mx ArpeggiateAttributesPtr getAttributes() const; void setAttributes( const ArpeggiateAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: ArpeggiateAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/ArpeggiateAttributes.cpp b/Sourcecode/mx/core/elements/ArpeggiateAttributes.cpp index d32befa3f..cb1a57053 100755 --- a/Sourcecode/mx/core/elements/ArpeggiateAttributes.cpp +++ b/Sourcecode/mx/core/elements/ArpeggiateAttributes.cpp @@ -56,7 +56,7 @@ namespace mx } - bool ArpeggiateAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool ArpeggiateAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "ArpeggiateAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/ArpeggiateAttributes.h b/Sourcecode/mx/core/elements/ArpeggiateAttributes.h index c619ac0a2..1deca6c48 100755 --- a/Sourcecode/mx/core/elements/ArpeggiateAttributes.h +++ b/Sourcecode/mx/core/elements/ArpeggiateAttributes.h @@ -42,7 +42,8 @@ namespace mx bool hasRelativeY; bool hasPlacement; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Arrow.cpp b/Sourcecode/mx/core/elements/Arrow.cpp index 51c8adc6d..469eaaf4e 100755 --- a/Sourcecode/mx/core/elements/Arrow.cpp +++ b/Sourcecode/mx/core/elements/Arrow.cpp @@ -129,7 +129,7 @@ namespace mx } - bool Arrow::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Arrow::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Arrow.h b/Sourcecode/mx/core/elements/Arrow.h index ea5c5350a..6f7dd4082 100755 --- a/Sourcecode/mx/core/elements/Arrow.h +++ b/Sourcecode/mx/core/elements/Arrow.h @@ -54,7 +54,8 @@ namespace mx CircularArrowPtr getCircularArrow() const; void setCircularArrow( const CircularArrowPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Choice myChoice; diff --git a/Sourcecode/mx/core/elements/ArrowAttributes.cpp b/Sourcecode/mx/core/elements/ArrowAttributes.cpp index e45191fd3..8238f1da7 100755 --- a/Sourcecode/mx/core/elements/ArrowAttributes.cpp +++ b/Sourcecode/mx/core/elements/ArrowAttributes.cpp @@ -68,7 +68,7 @@ namespace mx } - bool ArrowAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool ArrowAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "ArrowAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/ArrowAttributes.h b/Sourcecode/mx/core/elements/ArrowAttributes.h index 079536236..6d7e0c60f 100755 --- a/Sourcecode/mx/core/elements/ArrowAttributes.h +++ b/Sourcecode/mx/core/elements/ArrowAttributes.h @@ -50,7 +50,8 @@ namespace mx bool hasColor; bool hasPlacement; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/ArrowDirection.cpp b/Sourcecode/mx/core/elements/ArrowDirection.cpp index 5bbe55ba3..62e1b8d2b 100755 --- a/Sourcecode/mx/core/elements/ArrowDirection.cpp +++ b/Sourcecode/mx/core/elements/ArrowDirection.cpp @@ -66,7 +66,7 @@ namespace mx } - bool ArrowDirection::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool ArrowDirection::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); myValue = parseArrowDirectionEnum( xelement.getValue() ); diff --git a/Sourcecode/mx/core/elements/ArrowDirection.h b/Sourcecode/mx/core/elements/ArrowDirection.h index 4d6cdc2b0..c267c1319 100755 --- a/Sourcecode/mx/core/elements/ArrowDirection.h +++ b/Sourcecode/mx/core/elements/ArrowDirection.h @@ -37,7 +37,8 @@ namespace mx ArrowDirectionEnum getValue() const; void setValue( const ArrowDirectionEnum& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: ArrowDirectionEnum myValue; diff --git a/Sourcecode/mx/core/elements/ArrowGroup.cpp b/Sourcecode/mx/core/elements/ArrowGroup.cpp index abd997659..dafccf4de 100755 --- a/Sourcecode/mx/core/elements/ArrowGroup.cpp +++ b/Sourcecode/mx/core/elements/ArrowGroup.cpp @@ -98,7 +98,7 @@ namespace mx } - bool ArrowGroup::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool ArrowGroup::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; bool isArrowDirectionFound = false; diff --git a/Sourcecode/mx/core/elements/ArrowGroup.h b/Sourcecode/mx/core/elements/ArrowGroup.h index ec8baf283..b9e9d98a6 100755 --- a/Sourcecode/mx/core/elements/ArrowGroup.h +++ b/Sourcecode/mx/core/elements/ArrowGroup.h @@ -43,7 +43,8 @@ namespace mx bool getHasArrowStyle() const; void setHasArrowStyle( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: ArrowDirectionPtr myArrowDirection; diff --git a/Sourcecode/mx/core/elements/ArrowStyle.cpp b/Sourcecode/mx/core/elements/ArrowStyle.cpp index 874c0a5e9..42bed6924 100755 --- a/Sourcecode/mx/core/elements/ArrowStyle.cpp +++ b/Sourcecode/mx/core/elements/ArrowStyle.cpp @@ -66,7 +66,7 @@ namespace mx } - bool ArrowStyle::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool ArrowStyle::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); myValue = parseArrowStyleEnum( xelement.getValue() ); diff --git a/Sourcecode/mx/core/elements/ArrowStyle.h b/Sourcecode/mx/core/elements/ArrowStyle.h index 331a2aaa6..024712268 100755 --- a/Sourcecode/mx/core/elements/ArrowStyle.h +++ b/Sourcecode/mx/core/elements/ArrowStyle.h @@ -37,7 +37,8 @@ namespace mx ArrowStyleEnum getValue() const; void setValue( const ArrowStyleEnum& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: ArrowStyleEnum myValue; diff --git a/Sourcecode/mx/core/elements/Articulations.cpp b/Sourcecode/mx/core/elements/Articulations.cpp index be68a6c7d..a058cf61a 100755 --- a/Sourcecode/mx/core/elements/Articulations.cpp +++ b/Sourcecode/mx/core/elements/Articulations.cpp @@ -100,7 +100,7 @@ namespace mx } - bool Articulations::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Articulations::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/Articulations.h b/Sourcecode/mx/core/elements/Articulations.h index 3ed0ef597..e347d2c14 100755 --- a/Sourcecode/mx/core/elements/Articulations.h +++ b/Sourcecode/mx/core/elements/Articulations.h @@ -39,7 +39,8 @@ namespace mx void clearArticulationsChoiceSet(); ArticulationsChoicePtr getArticulationsChoice( const ArticulationsChoiceSetIterConst& setIterator ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: ArticulationsChoiceSet myArticulationsChoiceSet; diff --git a/Sourcecode/mx/core/elements/ArticulationsChoice.cpp b/Sourcecode/mx/core/elements/ArticulationsChoice.cpp index fd4488046..c2e551d86 100755 --- a/Sourcecode/mx/core/elements/ArticulationsChoice.cpp +++ b/Sourcecode/mx/core/elements/ArticulationsChoice.cpp @@ -417,7 +417,7 @@ namespace mx } - bool ArticulationsChoice::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool ArticulationsChoice::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { if( xelement.getName() == "accent" ) { diff --git a/Sourcecode/mx/core/elements/ArticulationsChoice.h b/Sourcecode/mx/core/elements/ArticulationsChoice.h index 81ac95f94..0559fb2f0 100755 --- a/Sourcecode/mx/core/elements/ArticulationsChoice.h +++ b/Sourcecode/mx/core/elements/ArticulationsChoice.h @@ -134,7 +134,8 @@ namespace mx OtherArticulationPtr getOtherArticulation() const; void setOtherArticulation( const OtherArticulationPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Choice myChoice; diff --git a/Sourcecode/mx/core/elements/Artificial.cpp b/Sourcecode/mx/core/elements/Artificial.cpp index 88b8d0211..477d350f1 100755 --- a/Sourcecode/mx/core/elements/Artificial.cpp +++ b/Sourcecode/mx/core/elements/Artificial.cpp @@ -27,7 +27,7 @@ namespace mx } - bool Artificial::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Artificial::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/Artificial.h b/Sourcecode/mx/core/elements/Artificial.h index 54d35d292..e001b5a34 100755 --- a/Sourcecode/mx/core/elements/Artificial.h +++ b/Sourcecode/mx/core/elements/Artificial.h @@ -31,7 +31,8 @@ namespace mx virtual std::ostream& streamName( std::ostream& os ) const; virtual std::ostream& streamContents( std::ostream& os, const int indentLevel, bool& isOneLineOnly ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Backup.cpp b/Sourcecode/mx/core/elements/Backup.cpp index 11a3cae13..aa6d0c56b 100755 --- a/Sourcecode/mx/core/elements/Backup.cpp +++ b/Sourcecode/mx/core/elements/Backup.cpp @@ -88,7 +88,7 @@ namespace mx } - bool Backup::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Backup::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; bool isDurationFound = false; diff --git a/Sourcecode/mx/core/elements/Backup.h b/Sourcecode/mx/core/elements/Backup.h index 900e3c863..a287fc1d3 100755 --- a/Sourcecode/mx/core/elements/Backup.h +++ b/Sourcecode/mx/core/elements/Backup.h @@ -41,7 +41,8 @@ namespace mx EditorialGroupPtr getEditorialGroup() const; void setEditorialGroup( const EditorialGroupPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: DurationPtr myDuration; diff --git a/Sourcecode/mx/core/elements/BarStyle.cpp b/Sourcecode/mx/core/elements/BarStyle.cpp index 704de75db..9a53099a4 100755 --- a/Sourcecode/mx/core/elements/BarStyle.cpp +++ b/Sourcecode/mx/core/elements/BarStyle.cpp @@ -87,7 +87,7 @@ namespace mx } - bool BarStyle::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool BarStyle::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/BarStyle.h b/Sourcecode/mx/core/elements/BarStyle.h index 5f57333a1..90bb2a0ee 100755 --- a/Sourcecode/mx/core/elements/BarStyle.h +++ b/Sourcecode/mx/core/elements/BarStyle.h @@ -41,7 +41,8 @@ namespace mx BarStyleEnum getValue() const; void setValue( const BarStyleEnum& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: BarStyleEnum myValue; diff --git a/Sourcecode/mx/core/elements/BarStyleAttributes.cpp b/Sourcecode/mx/core/elements/BarStyleAttributes.cpp index 37c0e4f5a..5b88bb422 100755 --- a/Sourcecode/mx/core/elements/BarStyleAttributes.cpp +++ b/Sourcecode/mx/core/elements/BarStyleAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool BarStyleAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool BarStyleAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "BarStyleAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/BarStyleAttributes.h b/Sourcecode/mx/core/elements/BarStyleAttributes.h index 98144b825..9fa67f7af 100755 --- a/Sourcecode/mx/core/elements/BarStyleAttributes.h +++ b/Sourcecode/mx/core/elements/BarStyleAttributes.h @@ -28,7 +28,8 @@ namespace mx Color color; bool hasColor; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Barline.cpp b/Sourcecode/mx/core/elements/Barline.cpp index 69b6e3f3c..9aa759ab8 100755 --- a/Sourcecode/mx/core/elements/Barline.cpp +++ b/Sourcecode/mx/core/elements/Barline.cpp @@ -358,7 +358,7 @@ namespace mx } - bool Barline::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Barline::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Barline.h b/Sourcecode/mx/core/elements/Barline.h index c48dd3484..0ab962057 100755 --- a/Sourcecode/mx/core/elements/Barline.h +++ b/Sourcecode/mx/core/elements/Barline.h @@ -90,7 +90,8 @@ namespace mx bool getHasRepeat() const; void setHasRepeat( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: BarlineAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/BarlineAttributes.cpp b/Sourcecode/mx/core/elements/BarlineAttributes.cpp index cc6bcac94..468f32092 100755 --- a/Sourcecode/mx/core/elements/BarlineAttributes.cpp +++ b/Sourcecode/mx/core/elements/BarlineAttributes.cpp @@ -44,7 +44,7 @@ namespace mx } - bool BarlineAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool BarlineAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "BarlineAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/BarlineAttributes.h b/Sourcecode/mx/core/elements/BarlineAttributes.h index 6eec0bed2..0c18c6e8b 100755 --- a/Sourcecode/mx/core/elements/BarlineAttributes.h +++ b/Sourcecode/mx/core/elements/BarlineAttributes.h @@ -36,7 +36,8 @@ namespace mx bool hasCoda; bool hasDivisions; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Barre.cpp b/Sourcecode/mx/core/elements/Barre.cpp index 49d94c1d8..19b477419 100755 --- a/Sourcecode/mx/core/elements/Barre.cpp +++ b/Sourcecode/mx/core/elements/Barre.cpp @@ -57,7 +57,7 @@ namespace mx } - bool Barre::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Barre::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Barre.h b/Sourcecode/mx/core/elements/Barre.h index 33e831142..2bff510e9 100755 --- a/Sourcecode/mx/core/elements/Barre.h +++ b/Sourcecode/mx/core/elements/Barre.h @@ -35,7 +35,8 @@ namespace mx BarreAttributesPtr getAttributes() const; void setAttributes( const BarreAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: BarreAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/BarreAttributes.cpp b/Sourcecode/mx/core/elements/BarreAttributes.cpp index 14d1a7d1b..738b7d515 100755 --- a/Sourcecode/mx/core/elements/BarreAttributes.cpp +++ b/Sourcecode/mx/core/elements/BarreAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool BarreAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool BarreAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "BarreAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/BarreAttributes.h b/Sourcecode/mx/core/elements/BarreAttributes.h index 57485f780..c191c4aa8 100755 --- a/Sourcecode/mx/core/elements/BarreAttributes.h +++ b/Sourcecode/mx/core/elements/BarreAttributes.h @@ -28,7 +28,8 @@ namespace mx StartStop type; const bool hasType; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/BasePitch.cpp b/Sourcecode/mx/core/elements/BasePitch.cpp index 764d90675..3b7d299e2 100755 --- a/Sourcecode/mx/core/elements/BasePitch.cpp +++ b/Sourcecode/mx/core/elements/BasePitch.cpp @@ -27,7 +27,7 @@ namespace mx } - bool BasePitch::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool BasePitch::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/BasePitch.h b/Sourcecode/mx/core/elements/BasePitch.h index 73dbcb683..bbbcc9ccb 100755 --- a/Sourcecode/mx/core/elements/BasePitch.h +++ b/Sourcecode/mx/core/elements/BasePitch.h @@ -31,7 +31,8 @@ namespace mx virtual std::ostream& streamName( std::ostream& os ) const; virtual std::ostream& streamContents( std::ostream& os, const int indentLevel, bool& isOneLineOnly ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Bass.cpp b/Sourcecode/mx/core/elements/Bass.cpp index 3cd13022e..113c17af5 100755 --- a/Sourcecode/mx/core/elements/Bass.cpp +++ b/Sourcecode/mx/core/elements/Bass.cpp @@ -101,7 +101,7 @@ namespace mx } - bool Bass::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Bass::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; bool isBassStepFound = false; diff --git a/Sourcecode/mx/core/elements/Bass.h b/Sourcecode/mx/core/elements/Bass.h index d5c15d452..c7a74290d 100755 --- a/Sourcecode/mx/core/elements/Bass.h +++ b/Sourcecode/mx/core/elements/Bass.h @@ -43,7 +43,8 @@ namespace mx bool getHasBassAlter() const; void setHasBassAlter( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: BassStepPtr myBassStep; diff --git a/Sourcecode/mx/core/elements/BassAlter.cpp b/Sourcecode/mx/core/elements/BassAlter.cpp index ca8ab70ba..754b98f1a 100755 --- a/Sourcecode/mx/core/elements/BassAlter.cpp +++ b/Sourcecode/mx/core/elements/BassAlter.cpp @@ -87,7 +87,7 @@ namespace mx } - bool BassAlter::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool BassAlter::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/BassAlter.h b/Sourcecode/mx/core/elements/BassAlter.h index 82e8c3ead..f44475301 100755 --- a/Sourcecode/mx/core/elements/BassAlter.h +++ b/Sourcecode/mx/core/elements/BassAlter.h @@ -41,7 +41,8 @@ namespace mx Semitones getValue() const; void setValue( const Semitones& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Semitones myValue; diff --git a/Sourcecode/mx/core/elements/BassAlterAttributes.cpp b/Sourcecode/mx/core/elements/BassAlterAttributes.cpp index b0ba8f655..98113a0b9 100755 --- a/Sourcecode/mx/core/elements/BassAlterAttributes.cpp +++ b/Sourcecode/mx/core/elements/BassAlterAttributes.cpp @@ -68,7 +68,7 @@ namespace mx } - bool BassAlterAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool BassAlterAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "BassAlterAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/BassAlterAttributes.h b/Sourcecode/mx/core/elements/BassAlterAttributes.h index 14816905d..6d1456166 100755 --- a/Sourcecode/mx/core/elements/BassAlterAttributes.h +++ b/Sourcecode/mx/core/elements/BassAlterAttributes.h @@ -49,7 +49,8 @@ namespace mx bool hasFontWeight; bool hasLocation; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/BassStep.cpp b/Sourcecode/mx/core/elements/BassStep.cpp index 56aa4b317..e373dbaee 100755 --- a/Sourcecode/mx/core/elements/BassStep.cpp +++ b/Sourcecode/mx/core/elements/BassStep.cpp @@ -87,7 +87,7 @@ namespace mx } - bool BassStep::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool BassStep::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/BassStep.h b/Sourcecode/mx/core/elements/BassStep.h index 759834315..cb2ed5239 100755 --- a/Sourcecode/mx/core/elements/BassStep.h +++ b/Sourcecode/mx/core/elements/BassStep.h @@ -41,7 +41,8 @@ namespace mx StepEnum getValue() const; void setValue( const StepEnum& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: StepEnum myValue; diff --git a/Sourcecode/mx/core/elements/BassStepAttributes.cpp b/Sourcecode/mx/core/elements/BassStepAttributes.cpp index f01c3367d..1d8a44595 100755 --- a/Sourcecode/mx/core/elements/BassStepAttributes.cpp +++ b/Sourcecode/mx/core/elements/BassStepAttributes.cpp @@ -64,7 +64,7 @@ namespace mx } - bool BassStepAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool BassStepAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "BassStepAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/BassStepAttributes.h b/Sourcecode/mx/core/elements/BassStepAttributes.h index 5a41ad122..7d687f6f6 100755 --- a/Sourcecode/mx/core/elements/BassStepAttributes.h +++ b/Sourcecode/mx/core/elements/BassStepAttributes.h @@ -47,7 +47,8 @@ namespace mx bool hasFontSize; bool hasFontWeight; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Beam.cpp b/Sourcecode/mx/core/elements/Beam.cpp index f3344c392..c8ac0034c 100755 --- a/Sourcecode/mx/core/elements/Beam.cpp +++ b/Sourcecode/mx/core/elements/Beam.cpp @@ -87,7 +87,7 @@ namespace mx } - bool Beam::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Beam::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Beam.h b/Sourcecode/mx/core/elements/Beam.h index 5eeca2fad..4dfe010a3 100755 --- a/Sourcecode/mx/core/elements/Beam.h +++ b/Sourcecode/mx/core/elements/Beam.h @@ -41,7 +41,8 @@ namespace mx BeamValue getValue() const; void setValue( const BeamValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: BeamValue myValue; diff --git a/Sourcecode/mx/core/elements/BeamAttributes.cpp b/Sourcecode/mx/core/elements/BeamAttributes.cpp index 8e43beb8a..9ebe422b1 100755 --- a/Sourcecode/mx/core/elements/BeamAttributes.cpp +++ b/Sourcecode/mx/core/elements/BeamAttributes.cpp @@ -40,7 +40,7 @@ namespace mx } - bool BeamAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool BeamAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "BeamAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/BeamAttributes.h b/Sourcecode/mx/core/elements/BeamAttributes.h index db5f05677..ed29a8b8b 100755 --- a/Sourcecode/mx/core/elements/BeamAttributes.h +++ b/Sourcecode/mx/core/elements/BeamAttributes.h @@ -33,7 +33,8 @@ namespace mx bool hasRepeater; bool hasFan; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/BeatRepeat.cpp b/Sourcecode/mx/core/elements/BeatRepeat.cpp index 3977e9468..ea0d8e48b 100755 --- a/Sourcecode/mx/core/elements/BeatRepeat.cpp +++ b/Sourcecode/mx/core/elements/BeatRepeat.cpp @@ -122,7 +122,7 @@ namespace mx } - bool BeatRepeat::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool BeatRepeat::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/BeatRepeat.h b/Sourcecode/mx/core/elements/BeatRepeat.h index 3a6f625e9..a40c04773 100755 --- a/Sourcecode/mx/core/elements/BeatRepeat.h +++ b/Sourcecode/mx/core/elements/BeatRepeat.h @@ -47,7 +47,8 @@ namespace mx void removeSlashDot( const SlashDotSetIterConst& value ); void clearSlashDotSet(); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: BeatRepeatAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/BeatRepeatAttributes.cpp b/Sourcecode/mx/core/elements/BeatRepeatAttributes.cpp index cb4a4f21e..d4dda2519 100755 --- a/Sourcecode/mx/core/elements/BeatRepeatAttributes.cpp +++ b/Sourcecode/mx/core/elements/BeatRepeatAttributes.cpp @@ -40,7 +40,7 @@ namespace mx } - bool BeatRepeatAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool BeatRepeatAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "BeatRepeatAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/BeatRepeatAttributes.h b/Sourcecode/mx/core/elements/BeatRepeatAttributes.h index 6ab1798a7..80f36341f 100755 --- a/Sourcecode/mx/core/elements/BeatRepeatAttributes.h +++ b/Sourcecode/mx/core/elements/BeatRepeatAttributes.h @@ -33,7 +33,8 @@ namespace mx bool hasSlashes; bool hasUseDots; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/BeatType.cpp b/Sourcecode/mx/core/elements/BeatType.cpp index b25f89cd2..a3745a1b2 100755 --- a/Sourcecode/mx/core/elements/BeatType.cpp +++ b/Sourcecode/mx/core/elements/BeatType.cpp @@ -66,7 +66,7 @@ namespace mx } - bool BeatType::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool BeatType::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/BeatType.h b/Sourcecode/mx/core/elements/BeatType.h index 7f92bda8a..8db0d9fd7 100755 --- a/Sourcecode/mx/core/elements/BeatType.h +++ b/Sourcecode/mx/core/elements/BeatType.h @@ -37,7 +37,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/BeatUnit.cpp b/Sourcecode/mx/core/elements/BeatUnit.cpp index 9c060f7a6..a55afede3 100755 --- a/Sourcecode/mx/core/elements/BeatUnit.cpp +++ b/Sourcecode/mx/core/elements/BeatUnit.cpp @@ -66,7 +66,7 @@ namespace mx } - bool BeatUnit::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool BeatUnit::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); myValue = parseNoteTypeValue( xelement.getValue() ); diff --git a/Sourcecode/mx/core/elements/BeatUnit.h b/Sourcecode/mx/core/elements/BeatUnit.h index 16295e428..e60d42a2c 100755 --- a/Sourcecode/mx/core/elements/BeatUnit.h +++ b/Sourcecode/mx/core/elements/BeatUnit.h @@ -37,7 +37,8 @@ namespace mx NoteTypeValue getValue() const; void setValue( const NoteTypeValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: NoteTypeValue myValue; diff --git a/Sourcecode/mx/core/elements/BeatUnitDot.cpp b/Sourcecode/mx/core/elements/BeatUnitDot.cpp index 0e04b14c1..b71be39c9 100755 --- a/Sourcecode/mx/core/elements/BeatUnitDot.cpp +++ b/Sourcecode/mx/core/elements/BeatUnitDot.cpp @@ -27,7 +27,7 @@ namespace mx } - bool BeatUnitDot::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool BeatUnitDot::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/BeatUnitDot.h b/Sourcecode/mx/core/elements/BeatUnitDot.h index 60ad8e6c0..e7f3cf8e9 100755 --- a/Sourcecode/mx/core/elements/BeatUnitDot.h +++ b/Sourcecode/mx/core/elements/BeatUnitDot.h @@ -31,7 +31,8 @@ namespace mx virtual std::ostream& streamName( std::ostream& os ) const; virtual std::ostream& streamContents( std::ostream& os, const int indentLevel, bool& isOneLineOnly ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/BeatUnitGroup.cpp b/Sourcecode/mx/core/elements/BeatUnitGroup.cpp index 6687c57e7..9088fcb2b 100755 --- a/Sourcecode/mx/core/elements/BeatUnitGroup.cpp +++ b/Sourcecode/mx/core/elements/BeatUnitGroup.cpp @@ -99,7 +99,7 @@ namespace mx myBeatUnitDotSet.clear(); } - bool BeatUnitGroup::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool BeatUnitGroup::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; bool isBeatUnitFound = false; diff --git a/Sourcecode/mx/core/elements/BeatUnitGroup.h b/Sourcecode/mx/core/elements/BeatUnitGroup.h index 399a5e698..c3c66f382 100755 --- a/Sourcecode/mx/core/elements/BeatUnitGroup.h +++ b/Sourcecode/mx/core/elements/BeatUnitGroup.h @@ -43,7 +43,8 @@ namespace mx void removeBeatUnitDot( const BeatUnitDotSetIterConst& setIterator ); void clearBeatUnitDotSet(); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: BeatUnitPtr myBeatUnit; diff --git a/Sourcecode/mx/core/elements/BeatUnitPer.cpp b/Sourcecode/mx/core/elements/BeatUnitPer.cpp index 143966f6f..242e61ec3 100755 --- a/Sourcecode/mx/core/elements/BeatUnitPer.cpp +++ b/Sourcecode/mx/core/elements/BeatUnitPer.cpp @@ -82,7 +82,7 @@ namespace mx } - bool BeatUnitPer::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool BeatUnitPer::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/BeatUnitPer.h b/Sourcecode/mx/core/elements/BeatUnitPer.h index f1cfaa0f6..f05fb9b76 100755 --- a/Sourcecode/mx/core/elements/BeatUnitPer.h +++ b/Sourcecode/mx/core/elements/BeatUnitPer.h @@ -37,7 +37,8 @@ namespace mx PerMinuteOrBeatUnitChoicePtr getPerMinuteOrBeatUnitChoice() const; void setPerMinuteOtBeatUnitChoice( const PerMinuteOrBeatUnitChoicePtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: BeatUnitGroupPtr myBeatUnitGroup; diff --git a/Sourcecode/mx/core/elements/BeatUnitPerOrNoteRelationNoteChoice.cpp b/Sourcecode/mx/core/elements/BeatUnitPerOrNoteRelationNoteChoice.cpp index 579060951..88b8188ae 100755 --- a/Sourcecode/mx/core/elements/BeatUnitPerOrNoteRelationNoteChoice.cpp +++ b/Sourcecode/mx/core/elements/BeatUnitPerOrNoteRelationNoteChoice.cpp @@ -104,7 +104,7 @@ namespace mx } - bool BeatUnitPerOrNoteRelationNoteChoice::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool BeatUnitPerOrNoteRelationNoteChoice::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_CHOICE_IF( beatUnitPer, "beat-unit-per", BeatUnitPer ); MX_CHOICE_IF( noteRelationNote, "note-relation-note", NoteRelationNote ); diff --git a/Sourcecode/mx/core/elements/BeatUnitPerOrNoteRelationNoteChoice.h b/Sourcecode/mx/core/elements/BeatUnitPerOrNoteRelationNoteChoice.h index 8fe976a07..a5a8f25e2 100755 --- a/Sourcecode/mx/core/elements/BeatUnitPerOrNoteRelationNoteChoice.h +++ b/Sourcecode/mx/core/elements/BeatUnitPerOrNoteRelationNoteChoice.h @@ -44,7 +44,8 @@ namespace mx NoteRelationNotePtr getNoteRelationNote() const; void setNoteRelationNote( const NoteRelationNotePtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Choice myChoice; diff --git a/Sourcecode/mx/core/elements/Beater.cpp b/Sourcecode/mx/core/elements/Beater.cpp index 0bca5ce36..72b8afa99 100755 --- a/Sourcecode/mx/core/elements/Beater.cpp +++ b/Sourcecode/mx/core/elements/Beater.cpp @@ -87,7 +87,7 @@ namespace mx } - bool Beater::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Beater::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Beater.h b/Sourcecode/mx/core/elements/Beater.h index feefe2601..38adca12a 100755 --- a/Sourcecode/mx/core/elements/Beater.h +++ b/Sourcecode/mx/core/elements/Beater.h @@ -41,7 +41,8 @@ namespace mx BeaterValue getValue() const; void setValue( const BeaterValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: BeaterValue myValue; diff --git a/Sourcecode/mx/core/elements/BeaterAttributes.cpp b/Sourcecode/mx/core/elements/BeaterAttributes.cpp index caca6b8a4..a69d7d776 100755 --- a/Sourcecode/mx/core/elements/BeaterAttributes.cpp +++ b/Sourcecode/mx/core/elements/BeaterAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool BeaterAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool BeaterAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "BeaterAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/BeaterAttributes.h b/Sourcecode/mx/core/elements/BeaterAttributes.h index 6b5d18748..ec55f442b 100755 --- a/Sourcecode/mx/core/elements/BeaterAttributes.h +++ b/Sourcecode/mx/core/elements/BeaterAttributes.h @@ -28,7 +28,8 @@ namespace mx TipDirection tip; bool hasTip; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Beats.cpp b/Sourcecode/mx/core/elements/Beats.cpp index 513a32e68..dfb29d2ce 100755 --- a/Sourcecode/mx/core/elements/Beats.cpp +++ b/Sourcecode/mx/core/elements/Beats.cpp @@ -66,7 +66,7 @@ namespace mx } - bool Beats::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Beats::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/Beats.h b/Sourcecode/mx/core/elements/Beats.h index 45668ac36..1fa3efe9a 100755 --- a/Sourcecode/mx/core/elements/Beats.h +++ b/Sourcecode/mx/core/elements/Beats.h @@ -37,7 +37,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/Bend.cpp b/Sourcecode/mx/core/elements/Bend.cpp index ff20bfad5..35d4ebcc7 100755 --- a/Sourcecode/mx/core/elements/Bend.cpp +++ b/Sourcecode/mx/core/elements/Bend.cpp @@ -158,7 +158,7 @@ namespace mx } - bool Bend::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Bend::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Bend.h b/Sourcecode/mx/core/elements/Bend.h index 71b9cef98..7756a5e0f 100755 --- a/Sourcecode/mx/core/elements/Bend.h +++ b/Sourcecode/mx/core/elements/Bend.h @@ -54,7 +54,8 @@ namespace mx bool getHasWithBar() const; void setHasWithBar( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: BendAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/BendAlter.cpp b/Sourcecode/mx/core/elements/BendAlter.cpp index 79d1b997b..83e720cbe 100755 --- a/Sourcecode/mx/core/elements/BendAlter.cpp +++ b/Sourcecode/mx/core/elements/BendAlter.cpp @@ -66,7 +66,7 @@ namespace mx } - bool BendAlter::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool BendAlter::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/BendAlter.h b/Sourcecode/mx/core/elements/BendAlter.h index ba28350a5..9b1f46bd4 100755 --- a/Sourcecode/mx/core/elements/BendAlter.h +++ b/Sourcecode/mx/core/elements/BendAlter.h @@ -37,7 +37,8 @@ namespace mx Semitones getValue() const; void setValue( const Semitones& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Semitones myValue; diff --git a/Sourcecode/mx/core/elements/BendAttributes.cpp b/Sourcecode/mx/core/elements/BendAttributes.cpp index 5fdffa01c..4c1380aaa 100755 --- a/Sourcecode/mx/core/elements/BendAttributes.cpp +++ b/Sourcecode/mx/core/elements/BendAttributes.cpp @@ -80,7 +80,7 @@ namespace mx } - bool BendAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool BendAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "BendAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/BendAttributes.h b/Sourcecode/mx/core/elements/BendAttributes.h index a2535baa7..549668cc7 100755 --- a/Sourcecode/mx/core/elements/BendAttributes.h +++ b/Sourcecode/mx/core/elements/BendAttributes.h @@ -56,7 +56,8 @@ namespace mx bool hasFirstBeat; bool hasLastBeat; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/BendChoice.h b/Sourcecode/mx/core/elements/BendChoice.h index 7be3b4c3d..a91f33132 100755 --- a/Sourcecode/mx/core/elements/BendChoice.h +++ b/Sourcecode/mx/core/elements/BendChoice.h @@ -48,7 +48,8 @@ namespace mx ReleasePtr getRelease() const; void setRelease( const ReleasePtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Choice myChoice; diff --git a/Sourcecode/mx/core/elements/Bookmark.cpp b/Sourcecode/mx/core/elements/Bookmark.cpp index 591555703..656ef7fd0 100755 --- a/Sourcecode/mx/core/elements/Bookmark.cpp +++ b/Sourcecode/mx/core/elements/Bookmark.cpp @@ -57,7 +57,7 @@ namespace mx } - bool Bookmark::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Bookmark::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Bookmark.h b/Sourcecode/mx/core/elements/Bookmark.h index efd35bc0f..a93cb7802 100755 --- a/Sourcecode/mx/core/elements/Bookmark.h +++ b/Sourcecode/mx/core/elements/Bookmark.h @@ -35,7 +35,8 @@ namespace mx BookmarkAttributesPtr getAttributes() const; void setAttributes( const BookmarkAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: BookmarkAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/BookmarkAttributes.cpp b/Sourcecode/mx/core/elements/BookmarkAttributes.cpp index a0cbd4029..24ab66596 100755 --- a/Sourcecode/mx/core/elements/BookmarkAttributes.cpp +++ b/Sourcecode/mx/core/elements/BookmarkAttributes.cpp @@ -44,7 +44,7 @@ namespace mx } - bool BookmarkAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool BookmarkAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "BookmarkAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/BookmarkAttributes.h b/Sourcecode/mx/core/elements/BookmarkAttributes.h index 231141006..71b78b9ce 100755 --- a/Sourcecode/mx/core/elements/BookmarkAttributes.h +++ b/Sourcecode/mx/core/elements/BookmarkAttributes.h @@ -35,7 +35,8 @@ namespace mx bool hasElement; bool hasPosition; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/BottomMargin.cpp b/Sourcecode/mx/core/elements/BottomMargin.cpp index 606bc7ad1..b1066ab90 100755 --- a/Sourcecode/mx/core/elements/BottomMargin.cpp +++ b/Sourcecode/mx/core/elements/BottomMargin.cpp @@ -66,7 +66,7 @@ namespace mx } - bool BottomMargin::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool BottomMargin::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/BottomMargin.h b/Sourcecode/mx/core/elements/BottomMargin.h index fb1dcc334..bf1814992 100755 --- a/Sourcecode/mx/core/elements/BottomMargin.h +++ b/Sourcecode/mx/core/elements/BottomMargin.h @@ -37,7 +37,8 @@ namespace mx TenthsValue getValue() const; void setValue( const TenthsValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: TenthsValue myValue; diff --git a/Sourcecode/mx/core/elements/Bracket.cpp b/Sourcecode/mx/core/elements/Bracket.cpp index 6ff4e2e41..ba97a7465 100755 --- a/Sourcecode/mx/core/elements/Bracket.cpp +++ b/Sourcecode/mx/core/elements/Bracket.cpp @@ -57,7 +57,7 @@ namespace mx } - bool Bracket::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Bracket::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Bracket.h b/Sourcecode/mx/core/elements/Bracket.h index e8ebe186b..ad75ac7d1 100755 --- a/Sourcecode/mx/core/elements/Bracket.h +++ b/Sourcecode/mx/core/elements/Bracket.h @@ -35,7 +35,8 @@ namespace mx BracketAttributesPtr getAttributes() const; void setAttributes( const BracketAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: BracketAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/BracketAttributes.cpp b/Sourcecode/mx/core/elements/BracketAttributes.cpp index b953a042a..a0c8bea81 100755 --- a/Sourcecode/mx/core/elements/BracketAttributes.cpp +++ b/Sourcecode/mx/core/elements/BracketAttributes.cpp @@ -66,7 +66,7 @@ namespace mx } - bool BracketAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool BracketAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "BracketAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/BracketAttributes.h b/Sourcecode/mx/core/elements/BracketAttributes.h index 1b6ded5d0..840e4e55e 100755 --- a/Sourcecode/mx/core/elements/BracketAttributes.h +++ b/Sourcecode/mx/core/elements/BracketAttributes.h @@ -62,7 +62,8 @@ namespace mx bool hasRelativeY; bool hasColor; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/BreathMark.cpp b/Sourcecode/mx/core/elements/BreathMark.cpp index fa3eb81c0..21e7c8af5 100755 --- a/Sourcecode/mx/core/elements/BreathMark.cpp +++ b/Sourcecode/mx/core/elements/BreathMark.cpp @@ -87,7 +87,7 @@ namespace mx } - bool BreathMark::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool BreathMark::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/BreathMark.h b/Sourcecode/mx/core/elements/BreathMark.h index 849775595..abb469af7 100755 --- a/Sourcecode/mx/core/elements/BreathMark.h +++ b/Sourcecode/mx/core/elements/BreathMark.h @@ -41,7 +41,8 @@ namespace mx BreathMarkValue getValue() const; void setValue( const BreathMarkValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: BreathMarkValue myValue; diff --git a/Sourcecode/mx/core/elements/BreathMarkAttributes.cpp b/Sourcecode/mx/core/elements/BreathMarkAttributes.cpp index 708485e36..65486b75b 100755 --- a/Sourcecode/mx/core/elements/BreathMarkAttributes.cpp +++ b/Sourcecode/mx/core/elements/BreathMarkAttributes.cpp @@ -64,7 +64,7 @@ namespace mx } - bool BreathMarkAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool BreathMarkAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "BreathMarkAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/BreathMarkAttributes.h b/Sourcecode/mx/core/elements/BreathMarkAttributes.h index 236a071e3..677e597c6 100755 --- a/Sourcecode/mx/core/elements/BreathMarkAttributes.h +++ b/Sourcecode/mx/core/elements/BreathMarkAttributes.h @@ -47,7 +47,8 @@ namespace mx bool hasFontWeight; bool hasPlacement; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Caesura.cpp b/Sourcecode/mx/core/elements/Caesura.cpp index 59a2f2a1f..91b6abf02 100755 --- a/Sourcecode/mx/core/elements/Caesura.cpp +++ b/Sourcecode/mx/core/elements/Caesura.cpp @@ -57,7 +57,7 @@ namespace mx } - bool Caesura::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Caesura::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Caesura.h b/Sourcecode/mx/core/elements/Caesura.h index 8995be1b1..40fd7dd22 100755 --- a/Sourcecode/mx/core/elements/Caesura.h +++ b/Sourcecode/mx/core/elements/Caesura.h @@ -35,7 +35,8 @@ namespace mx EmptyPlacementAttributesPtr getAttributes() const; void setAttributes( const EmptyPlacementAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: EmptyPlacementAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/Cancel.cpp b/Sourcecode/mx/core/elements/Cancel.cpp index 351fe3ad0..191abb2c9 100755 --- a/Sourcecode/mx/core/elements/Cancel.cpp +++ b/Sourcecode/mx/core/elements/Cancel.cpp @@ -87,7 +87,7 @@ namespace mx } - bool Cancel::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Cancel::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Cancel.h b/Sourcecode/mx/core/elements/Cancel.h index b6ebd521b..46bced8b6 100755 --- a/Sourcecode/mx/core/elements/Cancel.h +++ b/Sourcecode/mx/core/elements/Cancel.h @@ -41,7 +41,8 @@ namespace mx FifthsValue getValue() const; void setValue( const FifthsValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: FifthsValue myValue; diff --git a/Sourcecode/mx/core/elements/CancelAttributes.cpp b/Sourcecode/mx/core/elements/CancelAttributes.cpp index 209b9cbad..6a8dee23e 100755 --- a/Sourcecode/mx/core/elements/CancelAttributes.cpp +++ b/Sourcecode/mx/core/elements/CancelAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool CancelAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool CancelAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "CancelAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/CancelAttributes.h b/Sourcecode/mx/core/elements/CancelAttributes.h index 3cd31b191..7230be6ef 100755 --- a/Sourcecode/mx/core/elements/CancelAttributes.h +++ b/Sourcecode/mx/core/elements/CancelAttributes.h @@ -28,7 +28,8 @@ namespace mx CancelLocation location; bool hasLocation; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Capo.cpp b/Sourcecode/mx/core/elements/Capo.cpp index bfa4df78f..4c052b730 100755 --- a/Sourcecode/mx/core/elements/Capo.cpp +++ b/Sourcecode/mx/core/elements/Capo.cpp @@ -66,7 +66,7 @@ namespace mx } - bool Capo::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Capo::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/Capo.h b/Sourcecode/mx/core/elements/Capo.h index efdca771a..88c0b006a 100755 --- a/Sourcecode/mx/core/elements/Capo.h +++ b/Sourcecode/mx/core/elements/Capo.h @@ -37,7 +37,8 @@ namespace mx NonNegativeInteger getValue() const; void setValue( const NonNegativeInteger& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: NonNegativeInteger myValue; diff --git a/Sourcecode/mx/core/elements/Chord.cpp b/Sourcecode/mx/core/elements/Chord.cpp index 5b009cd9c..e2e4a3306 100755 --- a/Sourcecode/mx/core/elements/Chord.cpp +++ b/Sourcecode/mx/core/elements/Chord.cpp @@ -27,7 +27,7 @@ namespace mx } - bool Chord::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Chord::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/Chord.h b/Sourcecode/mx/core/elements/Chord.h index b5a97b366..94b993f45 100755 --- a/Sourcecode/mx/core/elements/Chord.h +++ b/Sourcecode/mx/core/elements/Chord.h @@ -31,7 +31,8 @@ namespace mx virtual std::ostream& streamName( std::ostream& os ) const; virtual std::ostream& streamContents( std::ostream& os, const int indentLevel, bool& isOneLineOnly ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Chromatic.cpp b/Sourcecode/mx/core/elements/Chromatic.cpp index a956f7e41..b91b61fb7 100755 --- a/Sourcecode/mx/core/elements/Chromatic.cpp +++ b/Sourcecode/mx/core/elements/Chromatic.cpp @@ -66,7 +66,7 @@ namespace mx } - bool Chromatic::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Chromatic::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/Chromatic.h b/Sourcecode/mx/core/elements/Chromatic.h index 751ff288d..64f58d798 100755 --- a/Sourcecode/mx/core/elements/Chromatic.h +++ b/Sourcecode/mx/core/elements/Chromatic.h @@ -37,7 +37,8 @@ namespace mx Semitones getValue() const; void setValue( const Semitones& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Semitones myValue; diff --git a/Sourcecode/mx/core/elements/CircularArrow.cpp b/Sourcecode/mx/core/elements/CircularArrow.cpp index 66d419c99..100c90872 100755 --- a/Sourcecode/mx/core/elements/CircularArrow.cpp +++ b/Sourcecode/mx/core/elements/CircularArrow.cpp @@ -66,7 +66,7 @@ namespace mx } - bool CircularArrow::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool CircularArrow::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); myValue = parseCircularArrowEnum( xelement.getValue() ); diff --git a/Sourcecode/mx/core/elements/CircularArrow.h b/Sourcecode/mx/core/elements/CircularArrow.h index c646b241d..b2b3cd058 100755 --- a/Sourcecode/mx/core/elements/CircularArrow.h +++ b/Sourcecode/mx/core/elements/CircularArrow.h @@ -37,7 +37,8 @@ namespace mx CircularArrowEnum getValue() const; void setValue( const CircularArrowEnum& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: CircularArrowEnum myValue; diff --git a/Sourcecode/mx/core/elements/Clef.cpp b/Sourcecode/mx/core/elements/Clef.cpp index a486a1e38..1e93c0311 100755 --- a/Sourcecode/mx/core/elements/Clef.cpp +++ b/Sourcecode/mx/core/elements/Clef.cpp @@ -152,7 +152,7 @@ namespace mx } - bool Clef::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Clef::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Clef.h b/Sourcecode/mx/core/elements/Clef.h index 57e032cdb..c86b5cbc3 100755 --- a/Sourcecode/mx/core/elements/Clef.h +++ b/Sourcecode/mx/core/elements/Clef.h @@ -54,7 +54,8 @@ namespace mx bool getHasClefOctaveChange() const; void setHasClefOctaveChange( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: ClefAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/ClefAttributes.cpp b/Sourcecode/mx/core/elements/ClefAttributes.cpp index acc6a5cc7..a117b52db 100755 --- a/Sourcecode/mx/core/elements/ClefAttributes.cpp +++ b/Sourcecode/mx/core/elements/ClefAttributes.cpp @@ -84,7 +84,7 @@ namespace mx } - bool ClefAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool ClefAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "ClefAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/ClefAttributes.h b/Sourcecode/mx/core/elements/ClefAttributes.h index 0971c33fe..9535c6f11 100755 --- a/Sourcecode/mx/core/elements/ClefAttributes.h +++ b/Sourcecode/mx/core/elements/ClefAttributes.h @@ -59,7 +59,8 @@ namespace mx bool hasColor; bool hasPrintObject; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/ClefOctaveChange.cpp b/Sourcecode/mx/core/elements/ClefOctaveChange.cpp index 1f91a795c..abab6e18f 100755 --- a/Sourcecode/mx/core/elements/ClefOctaveChange.cpp +++ b/Sourcecode/mx/core/elements/ClefOctaveChange.cpp @@ -66,7 +66,7 @@ namespace mx } - bool ClefOctaveChange::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool ClefOctaveChange::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/ClefOctaveChange.h b/Sourcecode/mx/core/elements/ClefOctaveChange.h index d31c1c41e..60541e073 100755 --- a/Sourcecode/mx/core/elements/ClefOctaveChange.h +++ b/Sourcecode/mx/core/elements/ClefOctaveChange.h @@ -37,7 +37,8 @@ namespace mx Integer getValue() const; void setValue( const Integer& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Integer myValue; diff --git a/Sourcecode/mx/core/elements/Coda.cpp b/Sourcecode/mx/core/elements/Coda.cpp index b208f4bc3..e42dbd826 100755 --- a/Sourcecode/mx/core/elements/Coda.cpp +++ b/Sourcecode/mx/core/elements/Coda.cpp @@ -57,7 +57,7 @@ namespace mx } - bool Coda::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Coda::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Coda.h b/Sourcecode/mx/core/elements/Coda.h index cb968dc41..71f2b3fa1 100755 --- a/Sourcecode/mx/core/elements/Coda.h +++ b/Sourcecode/mx/core/elements/Coda.h @@ -34,7 +34,8 @@ namespace mx EmptyPrintObjectStyleAlignAttributesPtr getAttributes() const; void setAttributes( const EmptyPrintObjectStyleAlignAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: EmptyPrintObjectStyleAlignAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/Creator.cpp b/Sourcecode/mx/core/elements/Creator.cpp index f9b2cf792..9fabb6954 100755 --- a/Sourcecode/mx/core/elements/Creator.cpp +++ b/Sourcecode/mx/core/elements/Creator.cpp @@ -87,7 +87,7 @@ namespace mx } - bool Creator::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Creator::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Creator.h b/Sourcecode/mx/core/elements/Creator.h index dcbf4139f..64379dc91 100755 --- a/Sourcecode/mx/core/elements/Creator.h +++ b/Sourcecode/mx/core/elements/Creator.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/CreatorAttributes.cpp b/Sourcecode/mx/core/elements/CreatorAttributes.cpp index 547ad472e..e8b8b16ad 100755 --- a/Sourcecode/mx/core/elements/CreatorAttributes.cpp +++ b/Sourcecode/mx/core/elements/CreatorAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool CreatorAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool CreatorAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "CreatorAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/CreatorAttributes.h b/Sourcecode/mx/core/elements/CreatorAttributes.h index 93e24f6a5..31f378062 100755 --- a/Sourcecode/mx/core/elements/CreatorAttributes.h +++ b/Sourcecode/mx/core/elements/CreatorAttributes.h @@ -28,7 +28,8 @@ namespace mx XsToken type; bool hasType; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Credit.cpp b/Sourcecode/mx/core/elements/Credit.cpp index d14a1b16b..0134a5b8e 100755 --- a/Sourcecode/mx/core/elements/Credit.cpp +++ b/Sourcecode/mx/core/elements/Credit.cpp @@ -238,7 +238,7 @@ namespace mx } #endif - bool Credit::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Credit::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Credit.h b/Sourcecode/mx/core/elements/Credit.h index 91cdb32d1..0ef044d9d 100755 --- a/Sourcecode/mx/core/elements/Credit.h +++ b/Sourcecode/mx/core/elements/Credit.h @@ -69,7 +69,8 @@ namespace mx CreditChoicePtr getCreditChoice() const; void setCreditChoice( const CreditChoicePtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: CreditAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/CreditAttributes.cpp b/Sourcecode/mx/core/elements/CreditAttributes.cpp index 407d8b3d8..266b48ebc 100755 --- a/Sourcecode/mx/core/elements/CreditAttributes.cpp +++ b/Sourcecode/mx/core/elements/CreditAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool CreditAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool CreditAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "CreditAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/CreditAttributes.h b/Sourcecode/mx/core/elements/CreditAttributes.h index 4a9ba6844..c0722e294 100755 --- a/Sourcecode/mx/core/elements/CreditAttributes.h +++ b/Sourcecode/mx/core/elements/CreditAttributes.h @@ -28,7 +28,8 @@ namespace mx PositiveInteger page; bool hasPage; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/CreditChoice.h b/Sourcecode/mx/core/elements/CreditChoice.h index 799d0470a..7c34acbaf 100755 --- a/Sourcecode/mx/core/elements/CreditChoice.h +++ b/Sourcecode/mx/core/elements/CreditChoice.h @@ -58,7 +58,8 @@ namespace mx void clearCreditWordsGroupSet(); CreditWordsGroupPtr getCreditWordsGroup( const CreditWordsGroupSetIterConst& setIterator ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Choice myChoice; diff --git a/Sourcecode/mx/core/elements/CreditImage.cpp b/Sourcecode/mx/core/elements/CreditImage.cpp index 7f642731d..d2f0d7efb 100755 --- a/Sourcecode/mx/core/elements/CreditImage.cpp +++ b/Sourcecode/mx/core/elements/CreditImage.cpp @@ -57,7 +57,7 @@ namespace mx } - bool CreditImage::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool CreditImage::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/CreditImage.h b/Sourcecode/mx/core/elements/CreditImage.h index 4fc98c477..fd1ab09ba 100755 --- a/Sourcecode/mx/core/elements/CreditImage.h +++ b/Sourcecode/mx/core/elements/CreditImage.h @@ -35,7 +35,8 @@ namespace mx CreditImageAttributesPtr getAttributes() const; void setAttributes( const CreditImageAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: CreditImageAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/CreditImageAttributes.cpp b/Sourcecode/mx/core/elements/CreditImageAttributes.cpp index ac6340ad8..81c11064c 100755 --- a/Sourcecode/mx/core/elements/CreditImageAttributes.cpp +++ b/Sourcecode/mx/core/elements/CreditImageAttributes.cpp @@ -56,7 +56,7 @@ namespace mx } - bool CreditImageAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool CreditImageAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "CreditImageAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/CreditImageAttributes.h b/Sourcecode/mx/core/elements/CreditImageAttributes.h index c8685586d..8b8479f97 100755 --- a/Sourcecode/mx/core/elements/CreditImageAttributes.h +++ b/Sourcecode/mx/core/elements/CreditImageAttributes.h @@ -42,7 +42,8 @@ namespace mx bool hasRelativeY; bool hasHalign; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/CreditType.cpp b/Sourcecode/mx/core/elements/CreditType.cpp index 37ee4f098..b3aacca0e 100755 --- a/Sourcecode/mx/core/elements/CreditType.cpp +++ b/Sourcecode/mx/core/elements/CreditType.cpp @@ -66,7 +66,7 @@ namespace mx } - bool CreditType::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool CreditType::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); myValue.setValue( xelement.getValue() ); diff --git a/Sourcecode/mx/core/elements/CreditType.h b/Sourcecode/mx/core/elements/CreditType.h index 3ad4d70f6..51001bbf3 100755 --- a/Sourcecode/mx/core/elements/CreditType.h +++ b/Sourcecode/mx/core/elements/CreditType.h @@ -37,7 +37,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/CreditWords.cpp b/Sourcecode/mx/core/elements/CreditWords.cpp index 4f97be8f2..d99e925fa 100755 --- a/Sourcecode/mx/core/elements/CreditWords.cpp +++ b/Sourcecode/mx/core/elements/CreditWords.cpp @@ -87,7 +87,7 @@ namespace mx } - bool CreditWords::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool CreditWords::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/CreditWords.h b/Sourcecode/mx/core/elements/CreditWords.h index b5cdd63b6..57c10d0b8 100755 --- a/Sourcecode/mx/core/elements/CreditWords.h +++ b/Sourcecode/mx/core/elements/CreditWords.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/CreditWordsAttributes.cpp b/Sourcecode/mx/core/elements/CreditWordsAttributes.cpp index c5d89e277..edc17dbd0 100755 --- a/Sourcecode/mx/core/elements/CreditWordsAttributes.cpp +++ b/Sourcecode/mx/core/elements/CreditWordsAttributes.cpp @@ -112,7 +112,7 @@ namespace mx } - bool CreditWordsAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool CreditWordsAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "CreditWordsAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/CreditWordsAttributes.h b/Sourcecode/mx/core/elements/CreditWordsAttributes.h index 973a037d3..0273cb1a4 100755 --- a/Sourcecode/mx/core/elements/CreditWordsAttributes.h +++ b/Sourcecode/mx/core/elements/CreditWordsAttributes.h @@ -74,7 +74,8 @@ namespace mx bool hasSpace; bool hasEnclosure; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/CreditWordsGroup.h b/Sourcecode/mx/core/elements/CreditWordsGroup.h index f2553338a..ea88d594a 100755 --- a/Sourcecode/mx/core/elements/CreditWordsGroup.h +++ b/Sourcecode/mx/core/elements/CreditWordsGroup.h @@ -52,7 +52,8 @@ namespace mx CreditWordsPtr getCreditWords() const; void setCreditWords( const CreditWordsPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: LinkSet myLinkSet; diff --git a/Sourcecode/mx/core/elements/Cue.cpp b/Sourcecode/mx/core/elements/Cue.cpp index 4ec083d9d..2f2211cf1 100755 --- a/Sourcecode/mx/core/elements/Cue.cpp +++ b/Sourcecode/mx/core/elements/Cue.cpp @@ -27,7 +27,7 @@ namespace mx } - bool Cue::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Cue::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/Cue.h b/Sourcecode/mx/core/elements/Cue.h index 6fbb3a1aa..ed2b690fd 100755 --- a/Sourcecode/mx/core/elements/Cue.h +++ b/Sourcecode/mx/core/elements/Cue.h @@ -31,7 +31,8 @@ namespace mx virtual std::ostream& streamName( std::ostream& os ) const; virtual std::ostream& streamContents( std::ostream& os, const int indentLevel, bool& isOneLineOnly ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/CueNoteGroup.h b/Sourcecode/mx/core/elements/CueNoteGroup.h index 5610d4299..b03802445 100755 --- a/Sourcecode/mx/core/elements/CueNoteGroup.h +++ b/Sourcecode/mx/core/elements/CueNoteGroup.h @@ -46,7 +46,8 @@ namespace mx DurationPtr getDuration() const; void setDuration( const DurationPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: CuePtr myCue; diff --git a/Sourcecode/mx/core/elements/Damp.cpp b/Sourcecode/mx/core/elements/Damp.cpp index 344a34b3a..d91fe42bd 100755 --- a/Sourcecode/mx/core/elements/Damp.cpp +++ b/Sourcecode/mx/core/elements/Damp.cpp @@ -57,7 +57,7 @@ namespace mx } - bool Damp::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Damp::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Damp.h b/Sourcecode/mx/core/elements/Damp.h index 5a2aebc8c..a2bec46f9 100755 --- a/Sourcecode/mx/core/elements/Damp.h +++ b/Sourcecode/mx/core/elements/Damp.h @@ -34,7 +34,8 @@ namespace mx EmptyPrintObjectStyleAlignAttributesPtr getAttributes() const; void setAttributes( const EmptyPrintObjectStyleAlignAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: EmptyPrintObjectStyleAlignAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/DampAll.cpp b/Sourcecode/mx/core/elements/DampAll.cpp index 50760a92f..bd377c063 100755 --- a/Sourcecode/mx/core/elements/DampAll.cpp +++ b/Sourcecode/mx/core/elements/DampAll.cpp @@ -57,7 +57,7 @@ namespace mx } - bool DampAll::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool DampAll::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/DampAll.h b/Sourcecode/mx/core/elements/DampAll.h index 71c09e820..22e86edcf 100755 --- a/Sourcecode/mx/core/elements/DampAll.h +++ b/Sourcecode/mx/core/elements/DampAll.h @@ -34,7 +34,8 @@ namespace mx EmptyPrintObjectStyleAlignAttributesPtr getAttributes() const; void setAttributes( const EmptyPrintObjectStyleAlignAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: EmptyPrintObjectStyleAlignAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/Dashes.cpp b/Sourcecode/mx/core/elements/Dashes.cpp index eb84440c3..69ce177d8 100755 --- a/Sourcecode/mx/core/elements/Dashes.cpp +++ b/Sourcecode/mx/core/elements/Dashes.cpp @@ -57,7 +57,7 @@ namespace mx } - bool Dashes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Dashes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Dashes.h b/Sourcecode/mx/core/elements/Dashes.h index a4dc0b01e..d575faadc 100755 --- a/Sourcecode/mx/core/elements/Dashes.h +++ b/Sourcecode/mx/core/elements/Dashes.h @@ -35,7 +35,8 @@ namespace mx DashesAttributesPtr getAttributes() const; void setAttributes( const DashesAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: DashesAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/DashesAttributes.cpp b/Sourcecode/mx/core/elements/DashesAttributes.cpp index f38328a42..611c94881 100755 --- a/Sourcecode/mx/core/elements/DashesAttributes.cpp +++ b/Sourcecode/mx/core/elements/DashesAttributes.cpp @@ -60,7 +60,7 @@ namespace mx } - bool DashesAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool DashesAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "DashesAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/DashesAttributes.h b/Sourcecode/mx/core/elements/DashesAttributes.h index 47ec4d361..b9a34f559 100755 --- a/Sourcecode/mx/core/elements/DashesAttributes.h +++ b/Sourcecode/mx/core/elements/DashesAttributes.h @@ -44,7 +44,8 @@ namespace mx bool hasRelativeX; bool hasRelativeY; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Defaults.cpp b/Sourcecode/mx/core/elements/Defaults.cpp index eca7cdd15..61498667a 100755 --- a/Sourcecode/mx/core/elements/Defaults.cpp +++ b/Sourcecode/mx/core/elements/Defaults.cpp @@ -316,7 +316,7 @@ namespace mx } - bool Defaults::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Defaults::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/Defaults.h b/Sourcecode/mx/core/elements/Defaults.h index e9b4bdcf6..de9ba1806 100755 --- a/Sourcecode/mx/core/elements/Defaults.h +++ b/Sourcecode/mx/core/elements/Defaults.h @@ -80,7 +80,8 @@ namespace mx void clearLyricLanguageSet(); LyricLanguagePtr getLyricLanguage( const LyricLanguageSetIterConst& setIterator ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: ScalingPtr myScaling; diff --git a/Sourcecode/mx/core/elements/Degree.cpp b/Sourcecode/mx/core/elements/Degree.cpp index 269d901cb..4438e47ae 100755 --- a/Sourcecode/mx/core/elements/Degree.cpp +++ b/Sourcecode/mx/core/elements/Degree.cpp @@ -120,7 +120,7 @@ namespace mx } - bool Degree::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Degree::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Degree.h b/Sourcecode/mx/core/elements/Degree.h index 4e56460a4..982040b04 100755 --- a/Sourcecode/mx/core/elements/Degree.h +++ b/Sourcecode/mx/core/elements/Degree.h @@ -50,7 +50,8 @@ namespace mx DegreeTypePtr getDegreeType() const; void setDegreeType( const DegreeTypePtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: DegreeAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/DegreeAlter.cpp b/Sourcecode/mx/core/elements/DegreeAlter.cpp index 8a70db6b7..fd9b404c0 100755 --- a/Sourcecode/mx/core/elements/DegreeAlter.cpp +++ b/Sourcecode/mx/core/elements/DegreeAlter.cpp @@ -87,7 +87,7 @@ namespace mx } - bool DegreeAlter::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool DegreeAlter::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/DegreeAlter.h b/Sourcecode/mx/core/elements/DegreeAlter.h index c7e3242ea..4da700478 100755 --- a/Sourcecode/mx/core/elements/DegreeAlter.h +++ b/Sourcecode/mx/core/elements/DegreeAlter.h @@ -41,7 +41,8 @@ namespace mx Semitones getValue() const; void setValue( const Semitones& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Semitones myValue; diff --git a/Sourcecode/mx/core/elements/DegreeAlterAttributes.cpp b/Sourcecode/mx/core/elements/DegreeAlterAttributes.cpp index 7bb2294ac..a5f9a7939 100755 --- a/Sourcecode/mx/core/elements/DegreeAlterAttributes.cpp +++ b/Sourcecode/mx/core/elements/DegreeAlterAttributes.cpp @@ -64,7 +64,7 @@ namespace mx } - bool DegreeAlterAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool DegreeAlterAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "DegreeAlterAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/DegreeAlterAttributes.h b/Sourcecode/mx/core/elements/DegreeAlterAttributes.h index 7a816278e..966b07f16 100755 --- a/Sourcecode/mx/core/elements/DegreeAlterAttributes.h +++ b/Sourcecode/mx/core/elements/DegreeAlterAttributes.h @@ -47,7 +47,8 @@ namespace mx bool hasFontWeight; bool hasPlusMinus; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/DegreeAttributes.cpp b/Sourcecode/mx/core/elements/DegreeAttributes.cpp index 2a4242834..eb92dd23f 100755 --- a/Sourcecode/mx/core/elements/DegreeAttributes.cpp +++ b/Sourcecode/mx/core/elements/DegreeAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool DegreeAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool DegreeAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "DegreeAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/DegreeAttributes.h b/Sourcecode/mx/core/elements/DegreeAttributes.h index 7c2e37133..c2e716c8b 100755 --- a/Sourcecode/mx/core/elements/DegreeAttributes.h +++ b/Sourcecode/mx/core/elements/DegreeAttributes.h @@ -28,7 +28,8 @@ namespace mx YesNo printObject; bool hasPrintObject; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/DegreeType.cpp b/Sourcecode/mx/core/elements/DegreeType.cpp index 71fabcb1a..368df4141 100755 --- a/Sourcecode/mx/core/elements/DegreeType.cpp +++ b/Sourcecode/mx/core/elements/DegreeType.cpp @@ -87,7 +87,7 @@ namespace mx } - bool DegreeType::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool DegreeType::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/DegreeType.h b/Sourcecode/mx/core/elements/DegreeType.h index f7a1c1647..b5f438d79 100755 --- a/Sourcecode/mx/core/elements/DegreeType.h +++ b/Sourcecode/mx/core/elements/DegreeType.h @@ -41,7 +41,8 @@ namespace mx DegreeTypeValue getValue() const; void setValue( const DegreeTypeValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: DegreeTypeValue myValue; diff --git a/Sourcecode/mx/core/elements/DegreeTypeAttributes.cpp b/Sourcecode/mx/core/elements/DegreeTypeAttributes.cpp index b5cf76622..eb30ad36b 100755 --- a/Sourcecode/mx/core/elements/DegreeTypeAttributes.cpp +++ b/Sourcecode/mx/core/elements/DegreeTypeAttributes.cpp @@ -64,7 +64,7 @@ namespace mx } - bool DegreeTypeAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool DegreeTypeAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "DegreeTypeAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/DegreeTypeAttributes.h b/Sourcecode/mx/core/elements/DegreeTypeAttributes.h index 814dbc4d4..f102afc27 100755 --- a/Sourcecode/mx/core/elements/DegreeTypeAttributes.h +++ b/Sourcecode/mx/core/elements/DegreeTypeAttributes.h @@ -47,7 +47,8 @@ namespace mx bool hasFontSize; bool hasFontWeight; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/DegreeValue.cpp b/Sourcecode/mx/core/elements/DegreeValue.cpp index 6e8ce72f4..272fcf49a 100755 --- a/Sourcecode/mx/core/elements/DegreeValue.cpp +++ b/Sourcecode/mx/core/elements/DegreeValue.cpp @@ -87,7 +87,7 @@ namespace mx } - bool DegreeValue::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool DegreeValue::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/DegreeValue.h b/Sourcecode/mx/core/elements/DegreeValue.h index 458c9b484..d2c728984 100755 --- a/Sourcecode/mx/core/elements/DegreeValue.h +++ b/Sourcecode/mx/core/elements/DegreeValue.h @@ -41,7 +41,8 @@ namespace mx PositiveInteger getValue() const; void setValue( const PositiveInteger& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: PositiveInteger myValue; diff --git a/Sourcecode/mx/core/elements/DegreeValueAttributes.cpp b/Sourcecode/mx/core/elements/DegreeValueAttributes.cpp index 52e85d200..e3eb8a813 100755 --- a/Sourcecode/mx/core/elements/DegreeValueAttributes.cpp +++ b/Sourcecode/mx/core/elements/DegreeValueAttributes.cpp @@ -68,7 +68,7 @@ namespace mx } - bool DegreeValueAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool DegreeValueAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "DegreeValueAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/DegreeValueAttributes.h b/Sourcecode/mx/core/elements/DegreeValueAttributes.h index 37ba827dd..1df6e5d42 100755 --- a/Sourcecode/mx/core/elements/DegreeValueAttributes.h +++ b/Sourcecode/mx/core/elements/DegreeValueAttributes.h @@ -49,7 +49,8 @@ namespace mx bool hasFontSize; bool hasFontWeight; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/DelayedInvertedTurn.cpp b/Sourcecode/mx/core/elements/DelayedInvertedTurn.cpp index 7b83fe3c8..315f65ba1 100755 --- a/Sourcecode/mx/core/elements/DelayedInvertedTurn.cpp +++ b/Sourcecode/mx/core/elements/DelayedInvertedTurn.cpp @@ -57,7 +57,7 @@ namespace mx } - bool DelayedInvertedTurn::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool DelayedInvertedTurn::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/DelayedInvertedTurn.h b/Sourcecode/mx/core/elements/DelayedInvertedTurn.h index 8d287f0ee..f6fc9f346 100755 --- a/Sourcecode/mx/core/elements/DelayedInvertedTurn.h +++ b/Sourcecode/mx/core/elements/DelayedInvertedTurn.h @@ -35,7 +35,8 @@ namespace mx DelayedInvertedTurnAttributesPtr getAttributes() const; void setAttributes( const DelayedInvertedTurnAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: DelayedInvertedTurnAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/DelayedInvertedTurnAttributes.cpp b/Sourcecode/mx/core/elements/DelayedInvertedTurnAttributes.cpp index 07996f6be..5cdaa61a0 100755 --- a/Sourcecode/mx/core/elements/DelayedInvertedTurnAttributes.cpp +++ b/Sourcecode/mx/core/elements/DelayedInvertedTurnAttributes.cpp @@ -96,7 +96,7 @@ namespace mx } - bool DelayedInvertedTurnAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool DelayedInvertedTurnAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "DelayedInvertedTurnAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/DelayedInvertedTurnAttributes.h b/Sourcecode/mx/core/elements/DelayedInvertedTurnAttributes.h index 5d1489182..c14b2c4d8 100755 --- a/Sourcecode/mx/core/elements/DelayedInvertedTurnAttributes.h +++ b/Sourcecode/mx/core/elements/DelayedInvertedTurnAttributes.h @@ -63,7 +63,8 @@ namespace mx bool hasLastBeat; bool hasSlash; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/DelayedTurn.cpp b/Sourcecode/mx/core/elements/DelayedTurn.cpp index 50b15da90..566368218 100755 --- a/Sourcecode/mx/core/elements/DelayedTurn.cpp +++ b/Sourcecode/mx/core/elements/DelayedTurn.cpp @@ -57,7 +57,7 @@ namespace mx } - bool DelayedTurn::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool DelayedTurn::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/DelayedTurn.h b/Sourcecode/mx/core/elements/DelayedTurn.h index 590831db1..d035f84ed 100755 --- a/Sourcecode/mx/core/elements/DelayedTurn.h +++ b/Sourcecode/mx/core/elements/DelayedTurn.h @@ -35,7 +35,8 @@ namespace mx DelayedTurnAttributesPtr getAttributes() const; void setAttributes( const DelayedTurnAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: DelayedTurnAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/DelayedTurnAttributes.cpp b/Sourcecode/mx/core/elements/DelayedTurnAttributes.cpp index 4db12b9ea..07242eebc 100755 --- a/Sourcecode/mx/core/elements/DelayedTurnAttributes.cpp +++ b/Sourcecode/mx/core/elements/DelayedTurnAttributes.cpp @@ -96,7 +96,7 @@ namespace mx } - bool DelayedTurnAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool DelayedTurnAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "DelayedTurnAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/DelayedTurnAttributes.h b/Sourcecode/mx/core/elements/DelayedTurnAttributes.h index d2f60435d..7fd72c4c2 100755 --- a/Sourcecode/mx/core/elements/DelayedTurnAttributes.h +++ b/Sourcecode/mx/core/elements/DelayedTurnAttributes.h @@ -63,7 +63,8 @@ namespace mx bool hasLastBeat; bool hasSlash; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/DetachedLegato.cpp b/Sourcecode/mx/core/elements/DetachedLegato.cpp index 5fccc70a1..1bee45521 100755 --- a/Sourcecode/mx/core/elements/DetachedLegato.cpp +++ b/Sourcecode/mx/core/elements/DetachedLegato.cpp @@ -57,7 +57,7 @@ namespace mx } - bool DetachedLegato::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool DetachedLegato::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/DetachedLegato.h b/Sourcecode/mx/core/elements/DetachedLegato.h index a69235089..02a6b5df9 100755 --- a/Sourcecode/mx/core/elements/DetachedLegato.h +++ b/Sourcecode/mx/core/elements/DetachedLegato.h @@ -35,7 +35,8 @@ namespace mx EmptyPlacementAttributesPtr getAttributes() const; void setAttributes( const EmptyPlacementAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: EmptyPlacementAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/Diatonic.cpp b/Sourcecode/mx/core/elements/Diatonic.cpp index 55ad822f8..cc01d0f06 100755 --- a/Sourcecode/mx/core/elements/Diatonic.cpp +++ b/Sourcecode/mx/core/elements/Diatonic.cpp @@ -66,7 +66,7 @@ namespace mx } - bool Diatonic::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Diatonic::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/Diatonic.h b/Sourcecode/mx/core/elements/Diatonic.h index 4153a1338..d30d445b7 100755 --- a/Sourcecode/mx/core/elements/Diatonic.h +++ b/Sourcecode/mx/core/elements/Diatonic.h @@ -37,7 +37,8 @@ namespace mx Integer getValue() const; void setValue( const Integer& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Integer myValue; diff --git a/Sourcecode/mx/core/elements/Direction.cpp b/Sourcecode/mx/core/elements/Direction.cpp index c1220c805..7c9b2236d 100755 --- a/Sourcecode/mx/core/elements/Direction.cpp +++ b/Sourcecode/mx/core/elements/Direction.cpp @@ -316,7 +316,7 @@ namespace mx } - bool Direction::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Direction::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; bool isDirectionTypeFound = false; diff --git a/Sourcecode/mx/core/elements/Direction.h b/Sourcecode/mx/core/elements/Direction.h index a40cefc81..b83949a4b 100755 --- a/Sourcecode/mx/core/elements/Direction.h +++ b/Sourcecode/mx/core/elements/Direction.h @@ -75,7 +75,8 @@ namespace mx bool getHasSound() const; void setHasSound( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: DirectionAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/DirectionAttributes.cpp b/Sourcecode/mx/core/elements/DirectionAttributes.cpp index 312a05e05..b7a6ffe12 100755 --- a/Sourcecode/mx/core/elements/DirectionAttributes.cpp +++ b/Sourcecode/mx/core/elements/DirectionAttributes.cpp @@ -36,7 +36,7 @@ namespace mx } - bool DirectionAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool DirectionAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "DirectionAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/DirectionAttributes.h b/Sourcecode/mx/core/elements/DirectionAttributes.h index 68358fe7b..be5c056a5 100755 --- a/Sourcecode/mx/core/elements/DirectionAttributes.h +++ b/Sourcecode/mx/core/elements/DirectionAttributes.h @@ -30,7 +30,8 @@ namespace mx bool hasPlacement; bool hasDirective; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/DirectionType.h b/Sourcecode/mx/core/elements/DirectionType.h index 883ba2276..063a652b2 100755 --- a/Sourcecode/mx/core/elements/DirectionType.h +++ b/Sourcecode/mx/core/elements/DirectionType.h @@ -186,7 +186,8 @@ namespace mx OtherDirectionPtr getOtherDirection() const; void setOtherDirection( const OtherDirectionPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Choice myChoice; diff --git a/Sourcecode/mx/core/elements/Directive.cpp b/Sourcecode/mx/core/elements/Directive.cpp index 8d2b46981..dab5c871a 100755 --- a/Sourcecode/mx/core/elements/Directive.cpp +++ b/Sourcecode/mx/core/elements/Directive.cpp @@ -84,7 +84,7 @@ namespace mx } - bool Directive::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Directive::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Directive.h b/Sourcecode/mx/core/elements/Directive.h index 0fecf9586..e78b65ab9 100755 --- a/Sourcecode/mx/core/elements/Directive.h +++ b/Sourcecode/mx/core/elements/Directive.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: DirectiveAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/DirectiveAttributes.cpp b/Sourcecode/mx/core/elements/DirectiveAttributes.cpp index d3ef9c6dc..cddef4f4f 100755 --- a/Sourcecode/mx/core/elements/DirectiveAttributes.cpp +++ b/Sourcecode/mx/core/elements/DirectiveAttributes.cpp @@ -64,7 +64,7 @@ namespace mx } - bool DirectiveAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool DirectiveAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "DirectiveAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/DirectiveAttributes.h b/Sourcecode/mx/core/elements/DirectiveAttributes.h index 9cb4da475..6bdcf4e9e 100755 --- a/Sourcecode/mx/core/elements/DirectiveAttributes.h +++ b/Sourcecode/mx/core/elements/DirectiveAttributes.h @@ -47,7 +47,8 @@ namespace mx bool hasFontWeight; bool hasLang; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/DisplayOctave.cpp b/Sourcecode/mx/core/elements/DisplayOctave.cpp index 29b227d68..2ca19de78 100755 --- a/Sourcecode/mx/core/elements/DisplayOctave.cpp +++ b/Sourcecode/mx/core/elements/DisplayOctave.cpp @@ -66,7 +66,7 @@ namespace mx } - bool DisplayOctave::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool DisplayOctave::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/DisplayOctave.h b/Sourcecode/mx/core/elements/DisplayOctave.h index d826c64d9..8d8270219 100755 --- a/Sourcecode/mx/core/elements/DisplayOctave.h +++ b/Sourcecode/mx/core/elements/DisplayOctave.h @@ -37,7 +37,8 @@ namespace mx OctaveValue getValue() const; void setValue( const OctaveValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: OctaveValue myValue; diff --git a/Sourcecode/mx/core/elements/DisplayStep.cpp b/Sourcecode/mx/core/elements/DisplayStep.cpp index b3b733878..2f52cd594 100755 --- a/Sourcecode/mx/core/elements/DisplayStep.cpp +++ b/Sourcecode/mx/core/elements/DisplayStep.cpp @@ -66,7 +66,7 @@ namespace mx } - bool DisplayStep::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool DisplayStep::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); myValue = parseStepEnum( xelement.getValue() ); diff --git a/Sourcecode/mx/core/elements/DisplayStep.h b/Sourcecode/mx/core/elements/DisplayStep.h index f77ab4ced..9a06cf146 100755 --- a/Sourcecode/mx/core/elements/DisplayStep.h +++ b/Sourcecode/mx/core/elements/DisplayStep.h @@ -37,7 +37,8 @@ namespace mx StepEnum getValue() const; void setValue( const StepEnum& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: StepEnum myValue; diff --git a/Sourcecode/mx/core/elements/DisplayStepOctaveGroup.cpp b/Sourcecode/mx/core/elements/DisplayStepOctaveGroup.cpp index 415341822..96dcb0dc5 100755 --- a/Sourcecode/mx/core/elements/DisplayStepOctaveGroup.cpp +++ b/Sourcecode/mx/core/elements/DisplayStepOctaveGroup.cpp @@ -82,7 +82,7 @@ namespace mx } - bool DisplayStepOctaveGroup::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool DisplayStepOctaveGroup::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; bool isDisplayStepFound = false; diff --git a/Sourcecode/mx/core/elements/DisplayStepOctaveGroup.h b/Sourcecode/mx/core/elements/DisplayStepOctaveGroup.h index 2a6bdb2a8..465e1689d 100755 --- a/Sourcecode/mx/core/elements/DisplayStepOctaveGroup.h +++ b/Sourcecode/mx/core/elements/DisplayStepOctaveGroup.h @@ -41,7 +41,8 @@ namespace mx DisplayOctavePtr getDisplayOctave() const; void setDisplayOctave( const DisplayOctavePtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: DisplayStepPtr myDisplayStep; diff --git a/Sourcecode/mx/core/elements/DisplayText.cpp b/Sourcecode/mx/core/elements/DisplayText.cpp index acd16531f..e0247f211 100755 --- a/Sourcecode/mx/core/elements/DisplayText.cpp +++ b/Sourcecode/mx/core/elements/DisplayText.cpp @@ -87,7 +87,7 @@ namespace mx } - bool DisplayText::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool DisplayText::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/DisplayText.h b/Sourcecode/mx/core/elements/DisplayText.h index 81be20554..a62eb74f1 100755 --- a/Sourcecode/mx/core/elements/DisplayText.h +++ b/Sourcecode/mx/core/elements/DisplayText.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/DisplayTextAttributes.cpp b/Sourcecode/mx/core/elements/DisplayTextAttributes.cpp index 1f404ecd4..092a6c1ac 100755 --- a/Sourcecode/mx/core/elements/DisplayTextAttributes.cpp +++ b/Sourcecode/mx/core/elements/DisplayTextAttributes.cpp @@ -104,7 +104,7 @@ namespace mx } - bool DisplayTextAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool DisplayTextAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "DisplayTextAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/DisplayTextAttributes.h b/Sourcecode/mx/core/elements/DisplayTextAttributes.h index fbb8fb095..eb1ddfbae 100755 --- a/Sourcecode/mx/core/elements/DisplayTextAttributes.h +++ b/Sourcecode/mx/core/elements/DisplayTextAttributes.h @@ -69,7 +69,8 @@ namespace mx bool hasSpace; bool hasEnclosure; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/DisplayTextOrAccidentalText.cpp b/Sourcecode/mx/core/elements/DisplayTextOrAccidentalText.cpp index 290371be1..36cf6f3a1 100755 --- a/Sourcecode/mx/core/elements/DisplayTextOrAccidentalText.cpp +++ b/Sourcecode/mx/core/elements/DisplayTextOrAccidentalText.cpp @@ -118,7 +118,7 @@ namespace mx } - bool DisplayTextOrAccidentalText::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool DisplayTextOrAccidentalText::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_CHOICE_IF( displayText, "display-text", DisplayText ); MX_CHOICE_IF( accidentalText, "accidental-text", AccidentalText ); diff --git a/Sourcecode/mx/core/elements/DisplayTextOrAccidentalText.h b/Sourcecode/mx/core/elements/DisplayTextOrAccidentalText.h index da804b574..03965d69b 100755 --- a/Sourcecode/mx/core/elements/DisplayTextOrAccidentalText.h +++ b/Sourcecode/mx/core/elements/DisplayTextOrAccidentalText.h @@ -44,7 +44,8 @@ namespace mx AccidentalTextPtr getAccidentalText() const; void setAccidentalText( const AccidentalTextPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Choice myChoice; diff --git a/Sourcecode/mx/core/elements/Distance.cpp b/Sourcecode/mx/core/elements/Distance.cpp index 9fd2f8087..0837d63a6 100755 --- a/Sourcecode/mx/core/elements/Distance.cpp +++ b/Sourcecode/mx/core/elements/Distance.cpp @@ -87,7 +87,7 @@ namespace mx } - bool Distance::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Distance::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Distance.h b/Sourcecode/mx/core/elements/Distance.h index 5e95468b4..b6976f90e 100755 --- a/Sourcecode/mx/core/elements/Distance.h +++ b/Sourcecode/mx/core/elements/Distance.h @@ -41,7 +41,8 @@ namespace mx TenthsValue getValue() const; void setValue( const TenthsValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: TenthsValue myValue; diff --git a/Sourcecode/mx/core/elements/DistanceAttributes.cpp b/Sourcecode/mx/core/elements/DistanceAttributes.cpp index 302c436c3..012483417 100755 --- a/Sourcecode/mx/core/elements/DistanceAttributes.cpp +++ b/Sourcecode/mx/core/elements/DistanceAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool DistanceAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool DistanceAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "DistanceAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/DistanceAttributes.h b/Sourcecode/mx/core/elements/DistanceAttributes.h index 6c9272d13..e524ab93b 100755 --- a/Sourcecode/mx/core/elements/DistanceAttributes.h +++ b/Sourcecode/mx/core/elements/DistanceAttributes.h @@ -28,7 +28,8 @@ namespace mx DistanceType type; const bool hasType; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Divisions.cpp b/Sourcecode/mx/core/elements/Divisions.cpp index e0f27f5fb..11a5de46c 100755 --- a/Sourcecode/mx/core/elements/Divisions.cpp +++ b/Sourcecode/mx/core/elements/Divisions.cpp @@ -66,7 +66,7 @@ namespace mx } - bool Divisions::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Divisions::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); myValue.parse( xelement.getValue() ); diff --git a/Sourcecode/mx/core/elements/Divisions.h b/Sourcecode/mx/core/elements/Divisions.h index 6656758a7..34371f331 100755 --- a/Sourcecode/mx/core/elements/Divisions.h +++ b/Sourcecode/mx/core/elements/Divisions.h @@ -37,7 +37,8 @@ namespace mx PositiveDivisionsValue getValue() const; void setValue( const PositiveDivisionsValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: PositiveDivisionsValue myValue; diff --git a/Sourcecode/mx/core/elements/Doit.cpp b/Sourcecode/mx/core/elements/Doit.cpp index 060fc5935..0de66bdf6 100755 --- a/Sourcecode/mx/core/elements/Doit.cpp +++ b/Sourcecode/mx/core/elements/Doit.cpp @@ -57,7 +57,7 @@ namespace mx } - bool Doit::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Doit::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Doit.h b/Sourcecode/mx/core/elements/Doit.h index 567d1ccb6..d75962c0b 100755 --- a/Sourcecode/mx/core/elements/Doit.h +++ b/Sourcecode/mx/core/elements/Doit.h @@ -35,7 +35,8 @@ namespace mx EmptyLineAttributesPtr getAttributes() const; void setAttributes( const EmptyLineAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: EmptyLineAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/Dot.cpp b/Sourcecode/mx/core/elements/Dot.cpp index b8cd3fcb8..ac2fa55ce 100755 --- a/Sourcecode/mx/core/elements/Dot.cpp +++ b/Sourcecode/mx/core/elements/Dot.cpp @@ -57,7 +57,7 @@ namespace mx } - bool Dot::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Dot::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Dot.h b/Sourcecode/mx/core/elements/Dot.h index 3e1db8022..f491f3030 100755 --- a/Sourcecode/mx/core/elements/Dot.h +++ b/Sourcecode/mx/core/elements/Dot.h @@ -35,7 +35,8 @@ namespace mx EmptyPlacementAttributesPtr getAttributes() const; void setAttributes( const EmptyPlacementAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: EmptyPlacementAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/Double.cpp b/Sourcecode/mx/core/elements/Double.cpp index 53f983563..35d306d77 100755 --- a/Sourcecode/mx/core/elements/Double.cpp +++ b/Sourcecode/mx/core/elements/Double.cpp @@ -27,7 +27,7 @@ namespace mx } - bool Double::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Double::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/Double.h b/Sourcecode/mx/core/elements/Double.h index db5ab0341..bcbcbbb31 100755 --- a/Sourcecode/mx/core/elements/Double.h +++ b/Sourcecode/mx/core/elements/Double.h @@ -31,7 +31,8 @@ namespace mx virtual std::ostream& streamName( std::ostream& os ) const; virtual std::ostream& streamContents( std::ostream& os, const int indentLevel, bool& isOneLineOnly ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/DoubleTongue.cpp b/Sourcecode/mx/core/elements/DoubleTongue.cpp index e6223f0eb..416800255 100755 --- a/Sourcecode/mx/core/elements/DoubleTongue.cpp +++ b/Sourcecode/mx/core/elements/DoubleTongue.cpp @@ -57,7 +57,7 @@ namespace mx } - bool DoubleTongue::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool DoubleTongue::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/DoubleTongue.h b/Sourcecode/mx/core/elements/DoubleTongue.h index b06413b20..d4257b41e 100755 --- a/Sourcecode/mx/core/elements/DoubleTongue.h +++ b/Sourcecode/mx/core/elements/DoubleTongue.h @@ -35,7 +35,8 @@ namespace mx EmptyPlacementAttributesPtr getAttributes() const; void setAttributes( const EmptyPlacementAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: EmptyPlacementAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/DownBow.cpp b/Sourcecode/mx/core/elements/DownBow.cpp index 007998ec4..72d79cbf4 100755 --- a/Sourcecode/mx/core/elements/DownBow.cpp +++ b/Sourcecode/mx/core/elements/DownBow.cpp @@ -57,7 +57,7 @@ namespace mx } - bool DownBow::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool DownBow::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/DownBow.h b/Sourcecode/mx/core/elements/DownBow.h index 54707c322..58e65b30f 100755 --- a/Sourcecode/mx/core/elements/DownBow.h +++ b/Sourcecode/mx/core/elements/DownBow.h @@ -35,7 +35,8 @@ namespace mx EmptyPlacementAttributesPtr getAttributes() const; void setAttributes( const EmptyPlacementAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: EmptyPlacementAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/Duration.cpp b/Sourcecode/mx/core/elements/Duration.cpp index b24328e46..d30312789 100755 --- a/Sourcecode/mx/core/elements/Duration.cpp +++ b/Sourcecode/mx/core/elements/Duration.cpp @@ -66,7 +66,7 @@ namespace mx } - bool Duration::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Duration::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/Duration.h b/Sourcecode/mx/core/elements/Duration.h index 5f5112884..f3e0c435c 100755 --- a/Sourcecode/mx/core/elements/Duration.h +++ b/Sourcecode/mx/core/elements/Duration.h @@ -37,7 +37,8 @@ namespace mx PositiveDivisionsValue getValue() const; void setValue( const PositiveDivisionsValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: PositiveDivisionsValue myValue; diff --git a/Sourcecode/mx/core/elements/Dynamics.cpp b/Sourcecode/mx/core/elements/Dynamics.cpp index f9bf10e43..1937055f2 100755 --- a/Sourcecode/mx/core/elements/Dynamics.cpp +++ b/Sourcecode/mx/core/elements/Dynamics.cpp @@ -89,7 +89,7 @@ namespace mx } - bool Dynamics::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Dynamics::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Dynamics.h b/Sourcecode/mx/core/elements/Dynamics.h index 5b7462f99..2c1dfb6be 100755 --- a/Sourcecode/mx/core/elements/Dynamics.h +++ b/Sourcecode/mx/core/elements/Dynamics.h @@ -42,7 +42,8 @@ namespace mx void setValue( const DynamicsValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: DynamicsValue myValue; diff --git a/Sourcecode/mx/core/elements/DynamicsAttributes.cpp b/Sourcecode/mx/core/elements/DynamicsAttributes.cpp index f273bbb56..877d205d1 100755 --- a/Sourcecode/mx/core/elements/DynamicsAttributes.cpp +++ b/Sourcecode/mx/core/elements/DynamicsAttributes.cpp @@ -76,7 +76,7 @@ namespace mx } - bool DynamicsAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool DynamicsAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "DynamicsAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/DynamicsAttributes.h b/Sourcecode/mx/core/elements/DynamicsAttributes.h index c361d94cf..d4deeefa1 100755 --- a/Sourcecode/mx/core/elements/DynamicsAttributes.h +++ b/Sourcecode/mx/core/elements/DynamicsAttributes.h @@ -63,7 +63,8 @@ namespace mx bool hasLineThrough; bool hasEnclosure; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/EditorialGroup.h b/Sourcecode/mx/core/elements/EditorialGroup.h index 031106e43..c9f36992e 100755 --- a/Sourcecode/mx/core/elements/EditorialGroup.h +++ b/Sourcecode/mx/core/elements/EditorialGroup.h @@ -45,7 +45,8 @@ namespace mx bool getHasLevel() const; void setHasLevel( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: FootnotePtr myFootnote; diff --git a/Sourcecode/mx/core/elements/EditorialVoiceDirectionGroup.h b/Sourcecode/mx/core/elements/EditorialVoiceDirectionGroup.h index f3009e050..5911ff512 100755 --- a/Sourcecode/mx/core/elements/EditorialVoiceDirectionGroup.h +++ b/Sourcecode/mx/core/elements/EditorialVoiceDirectionGroup.h @@ -53,7 +53,8 @@ namespace mx bool getHasVoice() const; void setHasVoice( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: FootnotePtr myFootnote; diff --git a/Sourcecode/mx/core/elements/EditorialVoiceGroup.h b/Sourcecode/mx/core/elements/EditorialVoiceGroup.h index b16e4f130..5278463de 100755 --- a/Sourcecode/mx/core/elements/EditorialVoiceGroup.h +++ b/Sourcecode/mx/core/elements/EditorialVoiceGroup.h @@ -52,7 +52,8 @@ namespace mx bool getHasVoice() const; void setHasVoice( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: FootnotePtr myFootnote; diff --git a/Sourcecode/mx/core/elements/Effect.cpp b/Sourcecode/mx/core/elements/Effect.cpp index dae652ca7..4f3418e37 100755 --- a/Sourcecode/mx/core/elements/Effect.cpp +++ b/Sourcecode/mx/core/elements/Effect.cpp @@ -66,7 +66,7 @@ namespace mx } - bool Effect::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Effect::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); myValue = parseEffectEnum( xelement.getValue() ); diff --git a/Sourcecode/mx/core/elements/Effect.h b/Sourcecode/mx/core/elements/Effect.h index 65060da59..0e99ab64d 100755 --- a/Sourcecode/mx/core/elements/Effect.h +++ b/Sourcecode/mx/core/elements/Effect.h @@ -37,7 +37,8 @@ namespace mx EffectEnum getValue() const; void setValue( const EffectEnum& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: EffectEnum myValue; diff --git a/Sourcecode/mx/core/elements/Elevation.cpp b/Sourcecode/mx/core/elements/Elevation.cpp index 1ae4327ea..9aece2547 100755 --- a/Sourcecode/mx/core/elements/Elevation.cpp +++ b/Sourcecode/mx/core/elements/Elevation.cpp @@ -66,7 +66,7 @@ namespace mx } - bool Elevation::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Elevation::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/Elevation.h b/Sourcecode/mx/core/elements/Elevation.h index 258299a46..25d20c667 100755 --- a/Sourcecode/mx/core/elements/Elevation.h +++ b/Sourcecode/mx/core/elements/Elevation.h @@ -37,7 +37,8 @@ namespace mx RotationDegrees getValue() const; void setValue( const RotationDegrees& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: RotationDegrees myValue; diff --git a/Sourcecode/mx/core/elements/Elision.cpp b/Sourcecode/mx/core/elements/Elision.cpp index 151923fa5..4e7f560e2 100755 --- a/Sourcecode/mx/core/elements/Elision.cpp +++ b/Sourcecode/mx/core/elements/Elision.cpp @@ -87,7 +87,7 @@ namespace mx } - bool Elision::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Elision::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Elision.h b/Sourcecode/mx/core/elements/Elision.h index 8faae3903..4d6a0c7c7 100755 --- a/Sourcecode/mx/core/elements/Elision.h +++ b/Sourcecode/mx/core/elements/Elision.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/ElisionAttributes.cpp b/Sourcecode/mx/core/elements/ElisionAttributes.cpp index 504e0cc3f..b9ebe6f43 100755 --- a/Sourcecode/mx/core/elements/ElisionAttributes.cpp +++ b/Sourcecode/mx/core/elements/ElisionAttributes.cpp @@ -68,7 +68,7 @@ namespace mx } - bool ElisionAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool ElisionAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "ElisionAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/ElisionAttributes.h b/Sourcecode/mx/core/elements/ElisionAttributes.h index 2b69ce8da..19d5aecd0 100755 --- a/Sourcecode/mx/core/elements/ElisionAttributes.h +++ b/Sourcecode/mx/core/elements/ElisionAttributes.h @@ -51,7 +51,8 @@ namespace mx bool hasLetterSpacing; bool hasLang; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/ElisionSyllabicGroup.h b/Sourcecode/mx/core/elements/ElisionSyllabicGroup.h index 77dbda728..1d065b417 100755 --- a/Sourcecode/mx/core/elements/ElisionSyllabicGroup.h +++ b/Sourcecode/mx/core/elements/ElisionSyllabicGroup.h @@ -43,7 +43,8 @@ namespace mx bool getHasSyllabic() const; void setHasSyllabic( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: ElisionPtr myElision; diff --git a/Sourcecode/mx/core/elements/ElisionSyllabicTextGroup.h b/Sourcecode/mx/core/elements/ElisionSyllabicTextGroup.h index 2691e5d0d..8322e92f9 100755 --- a/Sourcecode/mx/core/elements/ElisionSyllabicTextGroup.h +++ b/Sourcecode/mx/core/elements/ElisionSyllabicTextGroup.h @@ -43,7 +43,8 @@ namespace mx TextPtr getText() const; void setText( const TextPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: ElisionSyllabicGroupPtr myElisionSyllabicGroup; diff --git a/Sourcecode/mx/core/elements/EmptyFontAttributes.cpp b/Sourcecode/mx/core/elements/EmptyFontAttributes.cpp index a8c4788dd..9ca5418ea 100755 --- a/Sourcecode/mx/core/elements/EmptyFontAttributes.cpp +++ b/Sourcecode/mx/core/elements/EmptyFontAttributes.cpp @@ -44,7 +44,7 @@ namespace mx } - bool EmptyFontAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool EmptyFontAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "EmptyFontAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/EmptyFontAttributes.h b/Sourcecode/mx/core/elements/EmptyFontAttributes.h index 9763c8da9..3c74d41af 100755 --- a/Sourcecode/mx/core/elements/EmptyFontAttributes.h +++ b/Sourcecode/mx/core/elements/EmptyFontAttributes.h @@ -36,7 +36,8 @@ namespace mx bool hasFontSize; bool hasFontWeight; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/EmptyLineAttributes.cpp b/Sourcecode/mx/core/elements/EmptyLineAttributes.cpp index 5039a9273..7a455d3c6 100755 --- a/Sourcecode/mx/core/elements/EmptyLineAttributes.cpp +++ b/Sourcecode/mx/core/elements/EmptyLineAttributes.cpp @@ -82,7 +82,7 @@ namespace mx } - bool EmptyLineAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool EmptyLineAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "EmptyLineAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/EmptyLineAttributes.h b/Sourcecode/mx/core/elements/EmptyLineAttributes.h index ef4a44653..a7e17a36c 100755 --- a/Sourcecode/mx/core/elements/EmptyLineAttributes.h +++ b/Sourcecode/mx/core/elements/EmptyLineAttributes.h @@ -55,7 +55,8 @@ namespace mx bool hasFontWeight; bool hasPlacement; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/EmptyPlacementAttributes.cpp b/Sourcecode/mx/core/elements/EmptyPlacementAttributes.cpp index b6484f1e2..d10d04d78 100755 --- a/Sourcecode/mx/core/elements/EmptyPlacementAttributes.cpp +++ b/Sourcecode/mx/core/elements/EmptyPlacementAttributes.cpp @@ -64,7 +64,7 @@ namespace mx } - bool EmptyPlacementAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool EmptyPlacementAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "EmptyPlacementAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/EmptyPlacementAttributes.h b/Sourcecode/mx/core/elements/EmptyPlacementAttributes.h index 6bc6395d5..e4225e33d 100755 --- a/Sourcecode/mx/core/elements/EmptyPlacementAttributes.h +++ b/Sourcecode/mx/core/elements/EmptyPlacementAttributes.h @@ -47,7 +47,8 @@ namespace mx bool hasFontWeight; bool hasPlacement; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/EmptyTrillSoundAttributes.cpp b/Sourcecode/mx/core/elements/EmptyTrillSoundAttributes.cpp index 3d71a240f..07f29a8c5 100755 --- a/Sourcecode/mx/core/elements/EmptyTrillSoundAttributes.cpp +++ b/Sourcecode/mx/core/elements/EmptyTrillSoundAttributes.cpp @@ -92,7 +92,7 @@ namespace mx } - bool EmptyTrillSoundAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool EmptyTrillSoundAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "EmptyTrillSoundAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/EmptyTrillSoundAttributes.h b/Sourcecode/mx/core/elements/EmptyTrillSoundAttributes.h index 4e658d131..ccf7d7801 100755 --- a/Sourcecode/mx/core/elements/EmptyTrillSoundAttributes.h +++ b/Sourcecode/mx/core/elements/EmptyTrillSoundAttributes.h @@ -61,7 +61,8 @@ namespace mx bool hasSecondBeat; bool hasLastBeat; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Encoder.cpp b/Sourcecode/mx/core/elements/Encoder.cpp index 743da1350..700b32411 100755 --- a/Sourcecode/mx/core/elements/Encoder.cpp +++ b/Sourcecode/mx/core/elements/Encoder.cpp @@ -87,7 +87,7 @@ namespace mx } - bool Encoder::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Encoder::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Encoder.h b/Sourcecode/mx/core/elements/Encoder.h index 144a7c938..d2d6122ae 100755 --- a/Sourcecode/mx/core/elements/Encoder.h +++ b/Sourcecode/mx/core/elements/Encoder.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/EncoderAttributes.cpp b/Sourcecode/mx/core/elements/EncoderAttributes.cpp index 466655a9e..826fb5135 100755 --- a/Sourcecode/mx/core/elements/EncoderAttributes.cpp +++ b/Sourcecode/mx/core/elements/EncoderAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool EncoderAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool EncoderAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "EncoderAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/EncoderAttributes.h b/Sourcecode/mx/core/elements/EncoderAttributes.h index 064bf5fcd..f90734721 100755 --- a/Sourcecode/mx/core/elements/EncoderAttributes.h +++ b/Sourcecode/mx/core/elements/EncoderAttributes.h @@ -28,7 +28,8 @@ namespace mx XsToken type; bool hasType; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Encoding.cpp b/Sourcecode/mx/core/elements/Encoding.cpp index 1eca46238..73fffd131 100755 --- a/Sourcecode/mx/core/elements/Encoding.cpp +++ b/Sourcecode/mx/core/elements/Encoding.cpp @@ -92,7 +92,7 @@ namespace mx } - bool Encoding::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Encoding::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/Encoding.h b/Sourcecode/mx/core/elements/Encoding.h index 168024ce5..e24ac7079 100755 --- a/Sourcecode/mx/core/elements/Encoding.h +++ b/Sourcecode/mx/core/elements/Encoding.h @@ -38,7 +38,8 @@ namespace mx void removeEncodingChoice( const EncodingChoiceSetIterConst& value ); void clearEncodingChoiceSet(); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: EncodingChoiceSet myEncodingChoiceSet; diff --git a/Sourcecode/mx/core/elements/EncodingChoice.cpp b/Sourcecode/mx/core/elements/EncodingChoice.cpp index ff2230f03..09db6d6f5 100755 --- a/Sourcecode/mx/core/elements/EncodingChoice.cpp +++ b/Sourcecode/mx/core/elements/EncodingChoice.cpp @@ -175,7 +175,7 @@ namespace mx } - bool EncodingChoice::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool EncodingChoice::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_CHOICE_IF( encodingDate, "encoding-date", EncodingDate ); MX_CHOICE_IF( encoder, "encoder", Encoder ); diff --git a/Sourcecode/mx/core/elements/EncodingChoice.h b/Sourcecode/mx/core/elements/EncodingChoice.h index a91e85522..dcbb01e91 100755 --- a/Sourcecode/mx/core/elements/EncodingChoice.h +++ b/Sourcecode/mx/core/elements/EncodingChoice.h @@ -68,7 +68,8 @@ namespace mx SupportsPtr getSupports() const; void setSupports( const SupportsPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Choice myChoice; diff --git a/Sourcecode/mx/core/elements/EncodingDate.cpp b/Sourcecode/mx/core/elements/EncodingDate.cpp index 259e98721..22b4fb7e9 100755 --- a/Sourcecode/mx/core/elements/EncodingDate.cpp +++ b/Sourcecode/mx/core/elements/EncodingDate.cpp @@ -66,7 +66,7 @@ namespace mx } - bool EncodingDate::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool EncodingDate::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/EncodingDate.h b/Sourcecode/mx/core/elements/EncodingDate.h index 425724a10..87ef83c76 100755 --- a/Sourcecode/mx/core/elements/EncodingDate.h +++ b/Sourcecode/mx/core/elements/EncodingDate.h @@ -37,7 +37,8 @@ namespace mx Date getValue() const; void setValue( const Date& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Date myValue; diff --git a/Sourcecode/mx/core/elements/EncodingDescription.cpp b/Sourcecode/mx/core/elements/EncodingDescription.cpp index 7673938b5..1ffcd85e4 100755 --- a/Sourcecode/mx/core/elements/EncodingDescription.cpp +++ b/Sourcecode/mx/core/elements/EncodingDescription.cpp @@ -66,7 +66,7 @@ namespace mx } - bool EncodingDescription::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool EncodingDescription::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/EncodingDescription.h b/Sourcecode/mx/core/elements/EncodingDescription.h index 51c66d2f9..74c34f84a 100755 --- a/Sourcecode/mx/core/elements/EncodingDescription.h +++ b/Sourcecode/mx/core/elements/EncodingDescription.h @@ -37,7 +37,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/EndLine.cpp b/Sourcecode/mx/core/elements/EndLine.cpp index 1c984679c..1cc4fb072 100755 --- a/Sourcecode/mx/core/elements/EndLine.cpp +++ b/Sourcecode/mx/core/elements/EndLine.cpp @@ -27,7 +27,7 @@ namespace mx } - bool EndLine::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool EndLine::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/EndLine.h b/Sourcecode/mx/core/elements/EndLine.h index 6d2da4373..7f1d8dae3 100755 --- a/Sourcecode/mx/core/elements/EndLine.h +++ b/Sourcecode/mx/core/elements/EndLine.h @@ -31,7 +31,8 @@ namespace mx virtual std::ostream& streamName( std::ostream& os ) const; virtual std::ostream& streamContents( std::ostream& os, const int indentLevel, bool& isOneLineOnly ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/EndParagraph.cpp b/Sourcecode/mx/core/elements/EndParagraph.cpp index 4f4b7d5c7..5b975ecf2 100755 --- a/Sourcecode/mx/core/elements/EndParagraph.cpp +++ b/Sourcecode/mx/core/elements/EndParagraph.cpp @@ -27,7 +27,7 @@ namespace mx } - bool EndParagraph::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool EndParagraph::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/EndParagraph.h b/Sourcecode/mx/core/elements/EndParagraph.h index 7d05b7a88..f0667b416 100755 --- a/Sourcecode/mx/core/elements/EndParagraph.h +++ b/Sourcecode/mx/core/elements/EndParagraph.h @@ -31,7 +31,8 @@ namespace mx virtual std::ostream& streamName( std::ostream& os ) const; virtual std::ostream& streamContents( std::ostream& os, const int indentLevel, bool& isOneLineOnly ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Ending.cpp b/Sourcecode/mx/core/elements/Ending.cpp index 371d25143..2f6b72f4e 100755 --- a/Sourcecode/mx/core/elements/Ending.cpp +++ b/Sourcecode/mx/core/elements/Ending.cpp @@ -87,7 +87,7 @@ namespace mx } - bool Ending::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Ending::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Ending.h b/Sourcecode/mx/core/elements/Ending.h index d51813b40..118e3b341 100755 --- a/Sourcecode/mx/core/elements/Ending.h +++ b/Sourcecode/mx/core/elements/Ending.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/EndingAttributes.cpp b/Sourcecode/mx/core/elements/EndingAttributes.cpp index 4c684ab03..d2a68a0ea 100755 --- a/Sourcecode/mx/core/elements/EndingAttributes.cpp +++ b/Sourcecode/mx/core/elements/EndingAttributes.cpp @@ -84,7 +84,7 @@ namespace mx } - bool EndingAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool EndingAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "EndingAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/EndingAttributes.h b/Sourcecode/mx/core/elements/EndingAttributes.h index 8c3b0323a..afa69b022 100755 --- a/Sourcecode/mx/core/elements/EndingAttributes.h +++ b/Sourcecode/mx/core/elements/EndingAttributes.h @@ -57,7 +57,8 @@ namespace mx bool hasTextX; bool hasTextY; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Ensemble.cpp b/Sourcecode/mx/core/elements/Ensemble.cpp index b2ad3a52e..a74422be0 100755 --- a/Sourcecode/mx/core/elements/Ensemble.cpp +++ b/Sourcecode/mx/core/elements/Ensemble.cpp @@ -66,7 +66,7 @@ namespace mx } - bool Ensemble::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Ensemble::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/Ensemble.h b/Sourcecode/mx/core/elements/Ensemble.h index fd0c8a1be..9a82d8c4d 100755 --- a/Sourcecode/mx/core/elements/Ensemble.h +++ b/Sourcecode/mx/core/elements/Ensemble.h @@ -37,7 +37,8 @@ namespace mx PositiveIntegerOrEmpty getValue() const; void setValue( const PositiveIntegerOrEmpty& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: PositiveIntegerOrEmpty myValue; diff --git a/Sourcecode/mx/core/elements/Extend.cpp b/Sourcecode/mx/core/elements/Extend.cpp index ff07dea1d..27b137a8d 100755 --- a/Sourcecode/mx/core/elements/Extend.cpp +++ b/Sourcecode/mx/core/elements/Extend.cpp @@ -57,7 +57,7 @@ namespace mx } - bool Extend::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Extend::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Extend.h b/Sourcecode/mx/core/elements/Extend.h index 0e50358e4..573d46d69 100755 --- a/Sourcecode/mx/core/elements/Extend.h +++ b/Sourcecode/mx/core/elements/Extend.h @@ -35,7 +35,8 @@ namespace mx ExtendAttributesPtr getAttributes() const; void setAttributes( const ExtendAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: ExtendAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/ExtendAttributes.cpp b/Sourcecode/mx/core/elements/ExtendAttributes.cpp index c8366beaa..7d65f883c 100755 --- a/Sourcecode/mx/core/elements/ExtendAttributes.cpp +++ b/Sourcecode/mx/core/elements/ExtendAttributes.cpp @@ -64,7 +64,7 @@ namespace mx } - bool ExtendAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool ExtendAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "ExtendAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/ExtendAttributes.h b/Sourcecode/mx/core/elements/ExtendAttributes.h index 06bd4e8b4..c582d28dd 100755 --- a/Sourcecode/mx/core/elements/ExtendAttributes.h +++ b/Sourcecode/mx/core/elements/ExtendAttributes.h @@ -47,7 +47,8 @@ namespace mx bool hasFontSize; bool hasFontWeight; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Eyeglasses.cpp b/Sourcecode/mx/core/elements/Eyeglasses.cpp index b1af08f95..aa06dadbf 100755 --- a/Sourcecode/mx/core/elements/Eyeglasses.cpp +++ b/Sourcecode/mx/core/elements/Eyeglasses.cpp @@ -57,7 +57,7 @@ namespace mx } - bool Eyeglasses::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Eyeglasses::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Eyeglasses.h b/Sourcecode/mx/core/elements/Eyeglasses.h index 59459a7bd..0fd96a303 100755 --- a/Sourcecode/mx/core/elements/Eyeglasses.h +++ b/Sourcecode/mx/core/elements/Eyeglasses.h @@ -34,7 +34,8 @@ namespace mx EmptyPrintObjectStyleAlignAttributesPtr getAttributes() const; void setAttributes( const EmptyPrintObjectStyleAlignAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: EmptyPrintObjectStyleAlignAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/Falloff.cpp b/Sourcecode/mx/core/elements/Falloff.cpp index a800d4fbf..9484d9312 100755 --- a/Sourcecode/mx/core/elements/Falloff.cpp +++ b/Sourcecode/mx/core/elements/Falloff.cpp @@ -57,7 +57,7 @@ namespace mx } - bool Falloff::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Falloff::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Falloff.h b/Sourcecode/mx/core/elements/Falloff.h index b86862e3e..f821fc3ca 100755 --- a/Sourcecode/mx/core/elements/Falloff.h +++ b/Sourcecode/mx/core/elements/Falloff.h @@ -35,7 +35,8 @@ namespace mx EmptyLineAttributesPtr getAttributes() const; void setAttributes( const EmptyLineAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: EmptyLineAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/Feature.cpp b/Sourcecode/mx/core/elements/Feature.cpp index 0114b18fb..165300963 100755 --- a/Sourcecode/mx/core/elements/Feature.cpp +++ b/Sourcecode/mx/core/elements/Feature.cpp @@ -87,7 +87,7 @@ namespace mx } - bool Feature::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Feature::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Feature.h b/Sourcecode/mx/core/elements/Feature.h index f8d48660e..c94e37527 100755 --- a/Sourcecode/mx/core/elements/Feature.h +++ b/Sourcecode/mx/core/elements/Feature.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/FeatureAttributes.cpp b/Sourcecode/mx/core/elements/FeatureAttributes.cpp index 3c71e1ca0..8975d8e78 100755 --- a/Sourcecode/mx/core/elements/FeatureAttributes.cpp +++ b/Sourcecode/mx/core/elements/FeatureAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool FeatureAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool FeatureAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "FeatureAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/FeatureAttributes.h b/Sourcecode/mx/core/elements/FeatureAttributes.h index 412da0cbc..3eaddd7ef 100755 --- a/Sourcecode/mx/core/elements/FeatureAttributes.h +++ b/Sourcecode/mx/core/elements/FeatureAttributes.h @@ -28,7 +28,8 @@ namespace mx XsToken type; bool hasType; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Fermata.cpp b/Sourcecode/mx/core/elements/Fermata.cpp index 0ce61e24a..9487a69b8 100755 --- a/Sourcecode/mx/core/elements/Fermata.cpp +++ b/Sourcecode/mx/core/elements/Fermata.cpp @@ -87,7 +87,7 @@ namespace mx } - bool Fermata::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Fermata::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Fermata.h b/Sourcecode/mx/core/elements/Fermata.h index 68db7f783..557570253 100755 --- a/Sourcecode/mx/core/elements/Fermata.h +++ b/Sourcecode/mx/core/elements/Fermata.h @@ -41,7 +41,8 @@ namespace mx FermataShape getValue() const; void setValue( const FermataShape& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: FermataShape myValue; diff --git a/Sourcecode/mx/core/elements/FermataAttributes.cpp b/Sourcecode/mx/core/elements/FermataAttributes.cpp index ba000da87..41e9032c1 100755 --- a/Sourcecode/mx/core/elements/FermataAttributes.cpp +++ b/Sourcecode/mx/core/elements/FermataAttributes.cpp @@ -68,7 +68,7 @@ namespace mx } - bool FermataAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool FermataAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "FermataAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/FermataAttributes.h b/Sourcecode/mx/core/elements/FermataAttributes.h index c9aecafd4..e1767aa2d 100755 --- a/Sourcecode/mx/core/elements/FermataAttributes.h +++ b/Sourcecode/mx/core/elements/FermataAttributes.h @@ -50,7 +50,8 @@ namespace mx bool hasFontWeight; bool hasColor; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Fifths.cpp b/Sourcecode/mx/core/elements/Fifths.cpp index 036c5e3c9..b10143bb3 100755 --- a/Sourcecode/mx/core/elements/Fifths.cpp +++ b/Sourcecode/mx/core/elements/Fifths.cpp @@ -66,7 +66,7 @@ namespace mx } - bool Fifths::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Fifths::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/Fifths.h b/Sourcecode/mx/core/elements/Fifths.h index b1c26e979..611d26377 100755 --- a/Sourcecode/mx/core/elements/Fifths.h +++ b/Sourcecode/mx/core/elements/Fifths.h @@ -37,7 +37,8 @@ namespace mx FifthsValue getValue() const; void setValue( const FifthsValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: FifthsValue myValue; diff --git a/Sourcecode/mx/core/elements/Figure.cpp b/Sourcecode/mx/core/elements/Figure.cpp index 409b2fa38..255b9653b 100755 --- a/Sourcecode/mx/core/elements/Figure.cpp +++ b/Sourcecode/mx/core/elements/Figure.cpp @@ -194,7 +194,7 @@ namespace mx } - bool Figure::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Figure::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/Figure.h b/Sourcecode/mx/core/elements/Figure.h index e74f55dcb..07af402b8 100755 --- a/Sourcecode/mx/core/elements/Figure.h +++ b/Sourcecode/mx/core/elements/Figure.h @@ -59,7 +59,8 @@ namespace mx bool getHasExtend() const; void setHasExtend( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: PrefixPtr myPrefix; diff --git a/Sourcecode/mx/core/elements/FigureNumber.cpp b/Sourcecode/mx/core/elements/FigureNumber.cpp index 41ae1c790..1016d7fb6 100755 --- a/Sourcecode/mx/core/elements/FigureNumber.cpp +++ b/Sourcecode/mx/core/elements/FigureNumber.cpp @@ -87,7 +87,7 @@ namespace mx } - bool FigureNumber::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool FigureNumber::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/FigureNumber.h b/Sourcecode/mx/core/elements/FigureNumber.h index 036ecc5a0..3a603ec8d 100755 --- a/Sourcecode/mx/core/elements/FigureNumber.h +++ b/Sourcecode/mx/core/elements/FigureNumber.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/FigureNumberAttributes.cpp b/Sourcecode/mx/core/elements/FigureNumberAttributes.cpp index 075faee49..818b541c3 100755 --- a/Sourcecode/mx/core/elements/FigureNumberAttributes.cpp +++ b/Sourcecode/mx/core/elements/FigureNumberAttributes.cpp @@ -60,7 +60,7 @@ namespace mx } - bool FigureNumberAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool FigureNumberAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "FigureNumberAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/FigureNumberAttributes.h b/Sourcecode/mx/core/elements/FigureNumberAttributes.h index 407b5fd52..17b49103b 100755 --- a/Sourcecode/mx/core/elements/FigureNumberAttributes.h +++ b/Sourcecode/mx/core/elements/FigureNumberAttributes.h @@ -45,7 +45,8 @@ namespace mx bool hasFontSize; bool hasFontWeight; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/FiguredBass.cpp b/Sourcecode/mx/core/elements/FiguredBass.cpp index 8c1ae6055..11a9e3c0a 100755 --- a/Sourcecode/mx/core/elements/FiguredBass.cpp +++ b/Sourcecode/mx/core/elements/FiguredBass.cpp @@ -176,7 +176,7 @@ namespace mx } - bool FiguredBass::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool FiguredBass::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/FiguredBass.h b/Sourcecode/mx/core/elements/FiguredBass.h index 19479a2c2..5031afc18 100755 --- a/Sourcecode/mx/core/elements/FiguredBass.h +++ b/Sourcecode/mx/core/elements/FiguredBass.h @@ -55,7 +55,8 @@ namespace mx EditorialGroupPtr getEditorialGroup() const; void setEditorialGroup( const EditorialGroupPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: FiguredBassAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/FiguredBassAttributes.cpp b/Sourcecode/mx/core/elements/FiguredBassAttributes.cpp index 9995ace1f..f2fda39d8 100755 --- a/Sourcecode/mx/core/elements/FiguredBassAttributes.cpp +++ b/Sourcecode/mx/core/elements/FiguredBassAttributes.cpp @@ -84,7 +84,7 @@ namespace mx } - bool FiguredBassAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool FiguredBassAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "FiguredBassAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/FiguredBassAttributes.h b/Sourcecode/mx/core/elements/FiguredBassAttributes.h index 1a160c257..72ea485cf 100755 --- a/Sourcecode/mx/core/elements/FiguredBassAttributes.h +++ b/Sourcecode/mx/core/elements/FiguredBassAttributes.h @@ -58,7 +58,8 @@ namespace mx bool hasPrintLyric; bool hasParentheses; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Fingering.cpp b/Sourcecode/mx/core/elements/Fingering.cpp index b0a513546..3d9b65edc 100755 --- a/Sourcecode/mx/core/elements/Fingering.cpp +++ b/Sourcecode/mx/core/elements/Fingering.cpp @@ -87,7 +87,7 @@ namespace mx } - bool Fingering::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Fingering::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Fingering.h b/Sourcecode/mx/core/elements/Fingering.h index 234ed8c18..fde34e84d 100755 --- a/Sourcecode/mx/core/elements/Fingering.h +++ b/Sourcecode/mx/core/elements/Fingering.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/FingeringAttributes.cpp b/Sourcecode/mx/core/elements/FingeringAttributes.cpp index 364aefaa2..da7227c82 100755 --- a/Sourcecode/mx/core/elements/FingeringAttributes.cpp +++ b/Sourcecode/mx/core/elements/FingeringAttributes.cpp @@ -72,7 +72,7 @@ namespace mx } - bool FingeringAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool FingeringAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "FingeringAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/FingeringAttributes.h b/Sourcecode/mx/core/elements/FingeringAttributes.h index 2c228faa6..cb13dfc78 100755 --- a/Sourcecode/mx/core/elements/FingeringAttributes.h +++ b/Sourcecode/mx/core/elements/FingeringAttributes.h @@ -51,7 +51,8 @@ namespace mx bool hasFontWeight; bool hasPlacement; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Fingernails.cpp b/Sourcecode/mx/core/elements/Fingernails.cpp index c4aab006c..c9a829c25 100755 --- a/Sourcecode/mx/core/elements/Fingernails.cpp +++ b/Sourcecode/mx/core/elements/Fingernails.cpp @@ -57,7 +57,7 @@ namespace mx } - bool Fingernails::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Fingernails::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Fingernails.h b/Sourcecode/mx/core/elements/Fingernails.h index ee1bbf842..c4ae70df8 100755 --- a/Sourcecode/mx/core/elements/Fingernails.h +++ b/Sourcecode/mx/core/elements/Fingernails.h @@ -35,7 +35,8 @@ namespace mx EmptyPlacementAttributesPtr getAttributes() const; void setAttributes( const EmptyPlacementAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: EmptyPlacementAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/FirstFret.cpp b/Sourcecode/mx/core/elements/FirstFret.cpp index c72773096..8115fe75f 100755 --- a/Sourcecode/mx/core/elements/FirstFret.cpp +++ b/Sourcecode/mx/core/elements/FirstFret.cpp @@ -87,7 +87,7 @@ namespace mx } - bool FirstFret::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool FirstFret::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/FirstFret.h b/Sourcecode/mx/core/elements/FirstFret.h index 8a773dbc2..0448c5fdf 100755 --- a/Sourcecode/mx/core/elements/FirstFret.h +++ b/Sourcecode/mx/core/elements/FirstFret.h @@ -41,7 +41,8 @@ namespace mx PositiveInteger getValue() const; void setValue( const PositiveInteger& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: PositiveInteger myValue; diff --git a/Sourcecode/mx/core/elements/FirstFretAttributes.cpp b/Sourcecode/mx/core/elements/FirstFretAttributes.cpp index 252ded735..f5fece38d 100755 --- a/Sourcecode/mx/core/elements/FirstFretAttributes.cpp +++ b/Sourcecode/mx/core/elements/FirstFretAttributes.cpp @@ -36,7 +36,7 @@ namespace mx } - bool FirstFretAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool FirstFretAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "FirstFretAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/FirstFretAttributes.h b/Sourcecode/mx/core/elements/FirstFretAttributes.h index d91c7f6cb..57dc530bd 100755 --- a/Sourcecode/mx/core/elements/FirstFretAttributes.h +++ b/Sourcecode/mx/core/elements/FirstFretAttributes.h @@ -31,7 +31,8 @@ namespace mx bool hasText; bool hasLocation; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Footnote.cpp b/Sourcecode/mx/core/elements/Footnote.cpp index 62bf9ef66..a60330996 100755 --- a/Sourcecode/mx/core/elements/Footnote.cpp +++ b/Sourcecode/mx/core/elements/Footnote.cpp @@ -87,7 +87,7 @@ namespace mx } - bool Footnote::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Footnote::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Footnote.h b/Sourcecode/mx/core/elements/Footnote.h index 1cf25d136..ffc4e150d 100755 --- a/Sourcecode/mx/core/elements/Footnote.h +++ b/Sourcecode/mx/core/elements/Footnote.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/FootnoteAttributes.cpp b/Sourcecode/mx/core/elements/FootnoteAttributes.cpp index 5b404d640..1c75d1bb9 100755 --- a/Sourcecode/mx/core/elements/FootnoteAttributes.cpp +++ b/Sourcecode/mx/core/elements/FootnoteAttributes.cpp @@ -104,7 +104,7 @@ namespace mx } - bool FootnoteAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool FootnoteAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "FootnoteAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/FootnoteAttributes.h b/Sourcecode/mx/core/elements/FootnoteAttributes.h index ce19eb136..b779c7ab5 100755 --- a/Sourcecode/mx/core/elements/FootnoteAttributes.h +++ b/Sourcecode/mx/core/elements/FootnoteAttributes.h @@ -69,7 +69,8 @@ namespace mx bool hasSpace; bool hasEnclosure; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Forward.cpp b/Sourcecode/mx/core/elements/Forward.cpp index 8bd63af81..4777dc0cb 100755 --- a/Sourcecode/mx/core/elements/Forward.cpp +++ b/Sourcecode/mx/core/elements/Forward.cpp @@ -123,7 +123,7 @@ namespace mx } - bool Forward::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Forward::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; bool isDurationFound = false; diff --git a/Sourcecode/mx/core/elements/Forward.h b/Sourcecode/mx/core/elements/Forward.h index 6522e5743..a646f40af 100755 --- a/Sourcecode/mx/core/elements/Forward.h +++ b/Sourcecode/mx/core/elements/Forward.h @@ -49,7 +49,8 @@ namespace mx bool getHasStaff() const; void setHasStaff( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: DurationPtr myDuration; diff --git a/Sourcecode/mx/core/elements/Frame.cpp b/Sourcecode/mx/core/elements/Frame.cpp index f572f8624..e751b0f89 100755 --- a/Sourcecode/mx/core/elements/Frame.cpp +++ b/Sourcecode/mx/core/elements/Frame.cpp @@ -189,7 +189,7 @@ namespace mx } - bool Frame::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Frame::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Frame.h b/Sourcecode/mx/core/elements/Frame.h index 18944a374..61ddcfbbc 100755 --- a/Sourcecode/mx/core/elements/Frame.h +++ b/Sourcecode/mx/core/elements/Frame.h @@ -60,7 +60,8 @@ namespace mx void clearFrameNoteSet(); FrameNotePtr getFrameNote( const FrameNoteSetIterConst& setIterator ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: FrameAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/FrameAttributes.cpp b/Sourcecode/mx/core/elements/FrameAttributes.cpp index a0ae7dde7..4ab7b46ee 100755 --- a/Sourcecode/mx/core/elements/FrameAttributes.cpp +++ b/Sourcecode/mx/core/elements/FrameAttributes.cpp @@ -68,7 +68,7 @@ namespace mx } - bool FrameAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool FrameAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "FrameAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/FrameAttributes.h b/Sourcecode/mx/core/elements/FrameAttributes.h index f5458e60b..7c0ec56ef 100755 --- a/Sourcecode/mx/core/elements/FrameAttributes.h +++ b/Sourcecode/mx/core/elements/FrameAttributes.h @@ -49,7 +49,8 @@ namespace mx bool hasWidth; bool hasUnplayed; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/FrameFrets.cpp b/Sourcecode/mx/core/elements/FrameFrets.cpp index 4918a28c5..51ec56f8e 100755 --- a/Sourcecode/mx/core/elements/FrameFrets.cpp +++ b/Sourcecode/mx/core/elements/FrameFrets.cpp @@ -66,7 +66,7 @@ namespace mx } - bool FrameFrets::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool FrameFrets::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/FrameFrets.h b/Sourcecode/mx/core/elements/FrameFrets.h index a2af2ebed..c78780def 100755 --- a/Sourcecode/mx/core/elements/FrameFrets.h +++ b/Sourcecode/mx/core/elements/FrameFrets.h @@ -37,7 +37,8 @@ namespace mx PositiveInteger getValue() const; void setValue( const PositiveInteger& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: PositiveInteger myValue; diff --git a/Sourcecode/mx/core/elements/FrameNote.cpp b/Sourcecode/mx/core/elements/FrameNote.cpp index 762e415dd..3e51fc86a 100755 --- a/Sourcecode/mx/core/elements/FrameNote.cpp +++ b/Sourcecode/mx/core/elements/FrameNote.cpp @@ -155,7 +155,7 @@ namespace mx } - bool FrameNote::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool FrameNote::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; bool isStringFound = false; diff --git a/Sourcecode/mx/core/elements/FrameNote.h b/Sourcecode/mx/core/elements/FrameNote.h index 60d4b9137..c8bcc0265 100755 --- a/Sourcecode/mx/core/elements/FrameNote.h +++ b/Sourcecode/mx/core/elements/FrameNote.h @@ -55,7 +55,8 @@ namespace mx bool getHasBarre() const; void setHasBarre( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: StringPtr myString; diff --git a/Sourcecode/mx/core/elements/FrameStrings.cpp b/Sourcecode/mx/core/elements/FrameStrings.cpp index 9ba5a43cf..e7d875ca6 100755 --- a/Sourcecode/mx/core/elements/FrameStrings.cpp +++ b/Sourcecode/mx/core/elements/FrameStrings.cpp @@ -66,7 +66,7 @@ namespace mx } - bool FrameStrings::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool FrameStrings::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/FrameStrings.h b/Sourcecode/mx/core/elements/FrameStrings.h index 950130346..46955359b 100755 --- a/Sourcecode/mx/core/elements/FrameStrings.h +++ b/Sourcecode/mx/core/elements/FrameStrings.h @@ -37,7 +37,8 @@ namespace mx PositiveInteger getValue() const; void setValue( const PositiveInteger& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: PositiveInteger myValue; diff --git a/Sourcecode/mx/core/elements/Fret.cpp b/Sourcecode/mx/core/elements/Fret.cpp index 5c5b24115..d34f9b075 100755 --- a/Sourcecode/mx/core/elements/Fret.cpp +++ b/Sourcecode/mx/core/elements/Fret.cpp @@ -87,7 +87,7 @@ namespace mx } - bool Fret::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Fret::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Fret.h b/Sourcecode/mx/core/elements/Fret.h index 4430028ea..18d157f77 100755 --- a/Sourcecode/mx/core/elements/Fret.h +++ b/Sourcecode/mx/core/elements/Fret.h @@ -41,7 +41,8 @@ namespace mx NonNegativeInteger getValue() const; void setValue( const NonNegativeInteger& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: NonNegativeInteger myValue; diff --git a/Sourcecode/mx/core/elements/FretAttributes.cpp b/Sourcecode/mx/core/elements/FretAttributes.cpp index 9f0d54212..68daa12f1 100755 --- a/Sourcecode/mx/core/elements/FretAttributes.cpp +++ b/Sourcecode/mx/core/elements/FretAttributes.cpp @@ -44,7 +44,7 @@ namespace mx } - bool FretAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool FretAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "FretAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/FretAttributes.h b/Sourcecode/mx/core/elements/FretAttributes.h index f898b2b55..843777334 100755 --- a/Sourcecode/mx/core/elements/FretAttributes.h +++ b/Sourcecode/mx/core/elements/FretAttributes.h @@ -36,7 +36,8 @@ namespace mx bool hasFontSize; bool hasFontWeight; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/FullNoteGroup.h b/Sourcecode/mx/core/elements/FullNoteGroup.h index c7f49098e..2199ef4a0 100755 --- a/Sourcecode/mx/core/elements/FullNoteGroup.h +++ b/Sourcecode/mx/core/elements/FullNoteGroup.h @@ -43,7 +43,8 @@ namespace mx FullNoteTypeChoicePtr getFullNoteTypeChoice() const; void setFullNoteTypeChoice( const FullNoteTypeChoicePtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: MX_MUTEX diff --git a/Sourcecode/mx/core/elements/FullNoteTypeChoice.h b/Sourcecode/mx/core/elements/FullNoteTypeChoice.h index 2e5058a3d..1e3aa1894 100755 --- a/Sourcecode/mx/core/elements/FullNoteTypeChoice.h +++ b/Sourcecode/mx/core/elements/FullNoteTypeChoice.h @@ -56,7 +56,8 @@ namespace mx RestPtr getRest() const; void setRest( const RestPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: MX_MUTEX diff --git a/Sourcecode/mx/core/elements/Function.cpp b/Sourcecode/mx/core/elements/Function.cpp index b3c66da94..e27243677 100755 --- a/Sourcecode/mx/core/elements/Function.cpp +++ b/Sourcecode/mx/core/elements/Function.cpp @@ -87,7 +87,7 @@ namespace mx } - bool Function::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Function::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Function.h b/Sourcecode/mx/core/elements/Function.h index 49e829cbd..ce9dae1e1 100755 --- a/Sourcecode/mx/core/elements/Function.h +++ b/Sourcecode/mx/core/elements/Function.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/FunctionAttributes.cpp b/Sourcecode/mx/core/elements/FunctionAttributes.cpp index 67113c918..efdaee125 100755 --- a/Sourcecode/mx/core/elements/FunctionAttributes.cpp +++ b/Sourcecode/mx/core/elements/FunctionAttributes.cpp @@ -60,7 +60,7 @@ namespace mx } - bool FunctionAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool FunctionAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "FunctionAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/FunctionAttributes.h b/Sourcecode/mx/core/elements/FunctionAttributes.h index 0f516050a..9a65b251e 100755 --- a/Sourcecode/mx/core/elements/FunctionAttributes.h +++ b/Sourcecode/mx/core/elements/FunctionAttributes.h @@ -45,7 +45,8 @@ namespace mx bool hasFontSize; bool hasFontWeight; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Glass.cpp b/Sourcecode/mx/core/elements/Glass.cpp index e635df8ec..a24fc1037 100755 --- a/Sourcecode/mx/core/elements/Glass.cpp +++ b/Sourcecode/mx/core/elements/Glass.cpp @@ -66,7 +66,7 @@ namespace mx } - bool Glass::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Glass::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); myValue = parseGlassEnum( xelement.getValue() ); diff --git a/Sourcecode/mx/core/elements/Glass.h b/Sourcecode/mx/core/elements/Glass.h index 4a2d53ced..ce1e3166f 100755 --- a/Sourcecode/mx/core/elements/Glass.h +++ b/Sourcecode/mx/core/elements/Glass.h @@ -37,7 +37,8 @@ namespace mx GlassEnum getValue() const; void setValue( const GlassEnum& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: GlassEnum myValue; diff --git a/Sourcecode/mx/core/elements/Glissando.cpp b/Sourcecode/mx/core/elements/Glissando.cpp index 55edcb2b4..548041139 100755 --- a/Sourcecode/mx/core/elements/Glissando.cpp +++ b/Sourcecode/mx/core/elements/Glissando.cpp @@ -87,7 +87,7 @@ namespace mx } - bool Glissando::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Glissando::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Glissando.h b/Sourcecode/mx/core/elements/Glissando.h index 50693b5d9..684579f1c 100755 --- a/Sourcecode/mx/core/elements/Glissando.h +++ b/Sourcecode/mx/core/elements/Glissando.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/GlissandoAttributes.cpp b/Sourcecode/mx/core/elements/GlissandoAttributes.cpp index 6e650939c..44f3ad6eb 100755 --- a/Sourcecode/mx/core/elements/GlissandoAttributes.cpp +++ b/Sourcecode/mx/core/elements/GlissandoAttributes.cpp @@ -80,7 +80,7 @@ namespace mx } - bool GlissandoAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool GlissandoAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "GlissandoAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/GlissandoAttributes.h b/Sourcecode/mx/core/elements/GlissandoAttributes.h index ca7e595bb..501186890 100755 --- a/Sourcecode/mx/core/elements/GlissandoAttributes.h +++ b/Sourcecode/mx/core/elements/GlissandoAttributes.h @@ -56,7 +56,8 @@ namespace mx bool hasFontSize; bool hasFontWeight; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Grace.cpp b/Sourcecode/mx/core/elements/Grace.cpp index 2b2b6b04c..990aa37ce 100755 --- a/Sourcecode/mx/core/elements/Grace.cpp +++ b/Sourcecode/mx/core/elements/Grace.cpp @@ -57,7 +57,7 @@ namespace mx } - bool Grace::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Grace::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Grace.h b/Sourcecode/mx/core/elements/Grace.h index 26c4cda09..654cc0e90 100755 --- a/Sourcecode/mx/core/elements/Grace.h +++ b/Sourcecode/mx/core/elements/Grace.h @@ -35,7 +35,8 @@ namespace mx GraceAttributesPtr getAttributes() const; void setAttributes( const GraceAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: GraceAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/GraceAttributes.cpp b/Sourcecode/mx/core/elements/GraceAttributes.cpp index dbaf35e56..0068c6fcf 100755 --- a/Sourcecode/mx/core/elements/GraceAttributes.cpp +++ b/Sourcecode/mx/core/elements/GraceAttributes.cpp @@ -44,7 +44,7 @@ namespace mx } - bool GraceAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool GraceAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "GraceAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/GraceAttributes.h b/Sourcecode/mx/core/elements/GraceAttributes.h index c0a0a7af8..55c98e226 100755 --- a/Sourcecode/mx/core/elements/GraceAttributes.h +++ b/Sourcecode/mx/core/elements/GraceAttributes.h @@ -35,7 +35,8 @@ namespace mx bool hasMakeTime; bool hasSlash; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/GraceNoteGroup.h b/Sourcecode/mx/core/elements/GraceNoteGroup.h index 4f4837bd1..0a0a66be8 100755 --- a/Sourcecode/mx/core/elements/GraceNoteGroup.h +++ b/Sourcecode/mx/core/elements/GraceNoteGroup.h @@ -49,7 +49,8 @@ namespace mx void clearTieSet(); TiePtr getTie( const TieSetIterConst& setIterator ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: GracePtr myGrace; diff --git a/Sourcecode/mx/core/elements/Group.cpp b/Sourcecode/mx/core/elements/Group.cpp index c272a58d2..b76f8b45b 100755 --- a/Sourcecode/mx/core/elements/Group.cpp +++ b/Sourcecode/mx/core/elements/Group.cpp @@ -66,7 +66,7 @@ namespace mx } - bool Group::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Group::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/Group.h b/Sourcecode/mx/core/elements/Group.h index 2a4c9ccfe..0dffe9eff 100755 --- a/Sourcecode/mx/core/elements/Group.h +++ b/Sourcecode/mx/core/elements/Group.h @@ -37,7 +37,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/GroupAbbreviation.cpp b/Sourcecode/mx/core/elements/GroupAbbreviation.cpp index 7b8f7e4d3..d2f04393e 100755 --- a/Sourcecode/mx/core/elements/GroupAbbreviation.cpp +++ b/Sourcecode/mx/core/elements/GroupAbbreviation.cpp @@ -87,7 +87,7 @@ namespace mx } - bool GroupAbbreviation::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool GroupAbbreviation::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/GroupAbbreviation.h b/Sourcecode/mx/core/elements/GroupAbbreviation.h index c081de377..267174750 100755 --- a/Sourcecode/mx/core/elements/GroupAbbreviation.h +++ b/Sourcecode/mx/core/elements/GroupAbbreviation.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/GroupAbbreviationAttributes.cpp b/Sourcecode/mx/core/elements/GroupAbbreviationAttributes.cpp index 23a60ce26..ec0ba7845 100755 --- a/Sourcecode/mx/core/elements/GroupAbbreviationAttributes.cpp +++ b/Sourcecode/mx/core/elements/GroupAbbreviationAttributes.cpp @@ -64,7 +64,7 @@ namespace mx } - bool GroupAbbreviationAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool GroupAbbreviationAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "GroupAbbreviationAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/GroupAbbreviationAttributes.h b/Sourcecode/mx/core/elements/GroupAbbreviationAttributes.h index 8ac0072f7..c4f6dbc30 100755 --- a/Sourcecode/mx/core/elements/GroupAbbreviationAttributes.h +++ b/Sourcecode/mx/core/elements/GroupAbbreviationAttributes.h @@ -47,7 +47,8 @@ namespace mx bool hasFontWeight; bool hasJustify; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/GroupAbbreviationDisplay.cpp b/Sourcecode/mx/core/elements/GroupAbbreviationDisplay.cpp index 1370ff4f0..ae5e2176b 100755 --- a/Sourcecode/mx/core/elements/GroupAbbreviationDisplay.cpp +++ b/Sourcecode/mx/core/elements/GroupAbbreviationDisplay.cpp @@ -120,7 +120,7 @@ namespace mx } - bool GroupAbbreviationDisplay::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool GroupAbbreviationDisplay::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/GroupAbbreviationDisplay.h b/Sourcecode/mx/core/elements/GroupAbbreviationDisplay.h index 1af212537..2e24f5d5e 100755 --- a/Sourcecode/mx/core/elements/GroupAbbreviationDisplay.h +++ b/Sourcecode/mx/core/elements/GroupAbbreviationDisplay.h @@ -49,7 +49,8 @@ namespace mx DisplayTextOrAccidentalTextPtr getDisplayTextOrAccidentalText( const DisplayTextOrAccidentalTextSetIterConst& setIterator ) const; const DisplayTextOrAccidentalTextSet& getDisplayTextOrAccidentalTextSet() const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: GroupAbbreviationDisplayAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/GroupAbbreviationDisplayAttributes.cpp b/Sourcecode/mx/core/elements/GroupAbbreviationDisplayAttributes.cpp index a969c8951..b52792dd9 100755 --- a/Sourcecode/mx/core/elements/GroupAbbreviationDisplayAttributes.cpp +++ b/Sourcecode/mx/core/elements/GroupAbbreviationDisplayAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool GroupAbbreviationDisplayAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool GroupAbbreviationDisplayAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "GroupAbbreviationDisplayAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/GroupAbbreviationDisplayAttributes.h b/Sourcecode/mx/core/elements/GroupAbbreviationDisplayAttributes.h index 4dd2e4231..6797b4163 100755 --- a/Sourcecode/mx/core/elements/GroupAbbreviationDisplayAttributes.h +++ b/Sourcecode/mx/core/elements/GroupAbbreviationDisplayAttributes.h @@ -28,7 +28,8 @@ namespace mx YesNo printObject; bool hasPrintObject; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/GroupBarline.cpp b/Sourcecode/mx/core/elements/GroupBarline.cpp index e038e07c0..3db02e9d0 100755 --- a/Sourcecode/mx/core/elements/GroupBarline.cpp +++ b/Sourcecode/mx/core/elements/GroupBarline.cpp @@ -87,7 +87,7 @@ namespace mx } - bool GroupBarline::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool GroupBarline::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/GroupBarline.h b/Sourcecode/mx/core/elements/GroupBarline.h index d138d24d8..2511446c2 100755 --- a/Sourcecode/mx/core/elements/GroupBarline.h +++ b/Sourcecode/mx/core/elements/GroupBarline.h @@ -41,7 +41,8 @@ namespace mx GroupBarlineValue getValue() const; void setValue( const GroupBarlineValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: GroupBarlineValue myValue; diff --git a/Sourcecode/mx/core/elements/GroupBarlineAttributes.cpp b/Sourcecode/mx/core/elements/GroupBarlineAttributes.cpp index bf3cf9253..fd60a6eae 100755 --- a/Sourcecode/mx/core/elements/GroupBarlineAttributes.cpp +++ b/Sourcecode/mx/core/elements/GroupBarlineAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool GroupBarlineAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool GroupBarlineAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "GroupBarlineAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/GroupBarlineAttributes.h b/Sourcecode/mx/core/elements/GroupBarlineAttributes.h index 4f2fc5c81..2467570e9 100755 --- a/Sourcecode/mx/core/elements/GroupBarlineAttributes.h +++ b/Sourcecode/mx/core/elements/GroupBarlineAttributes.h @@ -28,7 +28,8 @@ namespace mx Color color; bool hasColor; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/GroupName.cpp b/Sourcecode/mx/core/elements/GroupName.cpp index 7e1bfb0f9..f9e5d5161 100755 --- a/Sourcecode/mx/core/elements/GroupName.cpp +++ b/Sourcecode/mx/core/elements/GroupName.cpp @@ -87,7 +87,7 @@ namespace mx } - bool GroupName::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool GroupName::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/GroupName.h b/Sourcecode/mx/core/elements/GroupName.h index db7aaa09e..ee704cb7a 100755 --- a/Sourcecode/mx/core/elements/GroupName.h +++ b/Sourcecode/mx/core/elements/GroupName.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/GroupNameAttributes.cpp b/Sourcecode/mx/core/elements/GroupNameAttributes.cpp index 6531e355f..5f4a0bd28 100755 --- a/Sourcecode/mx/core/elements/GroupNameAttributes.cpp +++ b/Sourcecode/mx/core/elements/GroupNameAttributes.cpp @@ -64,7 +64,7 @@ namespace mx } - bool GroupNameAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool GroupNameAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "GroupNameAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/GroupNameAttributes.h b/Sourcecode/mx/core/elements/GroupNameAttributes.h index 431ddd012..6659b1907 100755 --- a/Sourcecode/mx/core/elements/GroupNameAttributes.h +++ b/Sourcecode/mx/core/elements/GroupNameAttributes.h @@ -47,7 +47,8 @@ namespace mx bool hasFontWeight; bool hasJustify; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/GroupNameDisplay.cpp b/Sourcecode/mx/core/elements/GroupNameDisplay.cpp index 8707eb1a8..75ccea353 100755 --- a/Sourcecode/mx/core/elements/GroupNameDisplay.cpp +++ b/Sourcecode/mx/core/elements/GroupNameDisplay.cpp @@ -120,7 +120,7 @@ namespace mx } - bool GroupNameDisplay::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool GroupNameDisplay::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/GroupNameDisplay.h b/Sourcecode/mx/core/elements/GroupNameDisplay.h index 9ba9f3d69..957efcddc 100755 --- a/Sourcecode/mx/core/elements/GroupNameDisplay.h +++ b/Sourcecode/mx/core/elements/GroupNameDisplay.h @@ -45,7 +45,8 @@ namespace mx DisplayTextOrAccidentalTextPtr getDisplayTextOrAccidentalText( const DisplayTextOrAccidentalTextSetIterConst& setIterator ) const; const DisplayTextOrAccidentalTextSet& getDisplayTextOrAccidentalTextSet() const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: GroupNameDisplayAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/GroupNameDisplayAttributes.cpp b/Sourcecode/mx/core/elements/GroupNameDisplayAttributes.cpp index eec1f6c8b..7d5b17d70 100755 --- a/Sourcecode/mx/core/elements/GroupNameDisplayAttributes.cpp +++ b/Sourcecode/mx/core/elements/GroupNameDisplayAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool GroupNameDisplayAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool GroupNameDisplayAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "GroupNameDisplayAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/GroupNameDisplayAttributes.h b/Sourcecode/mx/core/elements/GroupNameDisplayAttributes.h index b999faac7..121935145 100755 --- a/Sourcecode/mx/core/elements/GroupNameDisplayAttributes.h +++ b/Sourcecode/mx/core/elements/GroupNameDisplayAttributes.h @@ -28,7 +28,8 @@ namespace mx YesNo printObject; bool hasPrintObject; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/GroupSymbol.cpp b/Sourcecode/mx/core/elements/GroupSymbol.cpp index 359cfa2bf..bb980d8d8 100755 --- a/Sourcecode/mx/core/elements/GroupSymbol.cpp +++ b/Sourcecode/mx/core/elements/GroupSymbol.cpp @@ -87,7 +87,7 @@ namespace mx } - bool GroupSymbol::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool GroupSymbol::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/GroupSymbol.h b/Sourcecode/mx/core/elements/GroupSymbol.h index 83d2cbef5..748a479ef 100755 --- a/Sourcecode/mx/core/elements/GroupSymbol.h +++ b/Sourcecode/mx/core/elements/GroupSymbol.h @@ -41,7 +41,8 @@ namespace mx GroupSymbolValue getValue() const; void setValue( const GroupSymbolValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: GroupSymbolValue myValue; diff --git a/Sourcecode/mx/core/elements/GroupSymbolAttributes.cpp b/Sourcecode/mx/core/elements/GroupSymbolAttributes.cpp index 5e875d6cb..7d5303694 100755 --- a/Sourcecode/mx/core/elements/GroupSymbolAttributes.cpp +++ b/Sourcecode/mx/core/elements/GroupSymbolAttributes.cpp @@ -44,7 +44,7 @@ namespace mx } - bool GroupSymbolAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool GroupSymbolAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "GroupSymbolAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/GroupSymbolAttributes.h b/Sourcecode/mx/core/elements/GroupSymbolAttributes.h index 003363c97..c1ddcef28 100755 --- a/Sourcecode/mx/core/elements/GroupSymbolAttributes.h +++ b/Sourcecode/mx/core/elements/GroupSymbolAttributes.h @@ -34,7 +34,8 @@ namespace mx bool hasRelativeX; bool hasRelativeY; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/GroupTime.cpp b/Sourcecode/mx/core/elements/GroupTime.cpp index 43c8b832a..64d76d953 100755 --- a/Sourcecode/mx/core/elements/GroupTime.cpp +++ b/Sourcecode/mx/core/elements/GroupTime.cpp @@ -27,7 +27,7 @@ namespace mx } - bool GroupTime::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool GroupTime::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/GroupTime.h b/Sourcecode/mx/core/elements/GroupTime.h index 9749c8899..715f6f47f 100755 --- a/Sourcecode/mx/core/elements/GroupTime.h +++ b/Sourcecode/mx/core/elements/GroupTime.h @@ -31,7 +31,8 @@ namespace mx virtual std::ostream& streamName( std::ostream& os ) const; virtual std::ostream& streamContents( std::ostream& os, const int indentLevel, bool& isOneLineOnly ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Grouping.cpp b/Sourcecode/mx/core/elements/Grouping.cpp index 1c201f97d..51bdff9c7 100755 --- a/Sourcecode/mx/core/elements/Grouping.cpp +++ b/Sourcecode/mx/core/elements/Grouping.cpp @@ -117,7 +117,7 @@ namespace mx } - bool Grouping::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Grouping::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Grouping.h b/Sourcecode/mx/core/elements/Grouping.h index d47e92e52..0683ee6e4 100755 --- a/Sourcecode/mx/core/elements/Grouping.h +++ b/Sourcecode/mx/core/elements/Grouping.h @@ -43,7 +43,8 @@ namespace mx void clearFeatureSet(); FeaturePtr getFeature( const FeatureSetIterConst& setIterator ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: GroupingAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/GroupingAttributes.cpp b/Sourcecode/mx/core/elements/GroupingAttributes.cpp index d46dcfc11..173eda83c 100755 --- a/Sourcecode/mx/core/elements/GroupingAttributes.cpp +++ b/Sourcecode/mx/core/elements/GroupingAttributes.cpp @@ -40,7 +40,7 @@ namespace mx } - bool GroupingAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool GroupingAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "GroupingAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/GroupingAttributes.h b/Sourcecode/mx/core/elements/GroupingAttributes.h index 2940dba14..b48b43be0 100755 --- a/Sourcecode/mx/core/elements/GroupingAttributes.h +++ b/Sourcecode/mx/core/elements/GroupingAttributes.h @@ -33,7 +33,8 @@ namespace mx bool hasNumber; bool hasMemberOf; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/HammerOn.cpp b/Sourcecode/mx/core/elements/HammerOn.cpp index 7db46ba00..8c16ce807 100755 --- a/Sourcecode/mx/core/elements/HammerOn.cpp +++ b/Sourcecode/mx/core/elements/HammerOn.cpp @@ -87,7 +87,7 @@ namespace mx } - bool HammerOn::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool HammerOn::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/HammerOn.h b/Sourcecode/mx/core/elements/HammerOn.h index eb9dcbbba..ab6c2d29d 100755 --- a/Sourcecode/mx/core/elements/HammerOn.h +++ b/Sourcecode/mx/core/elements/HammerOn.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/HammerOnAttributes.cpp b/Sourcecode/mx/core/elements/HammerOnAttributes.cpp index 7ee703302..08b8724f3 100755 --- a/Sourcecode/mx/core/elements/HammerOnAttributes.cpp +++ b/Sourcecode/mx/core/elements/HammerOnAttributes.cpp @@ -72,7 +72,7 @@ namespace mx } - bool HammerOnAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool HammerOnAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "HammerOnAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/HammerOnAttributes.h b/Sourcecode/mx/core/elements/HammerOnAttributes.h index 286226e23..f5d1d5bd8 100755 --- a/Sourcecode/mx/core/elements/HammerOnAttributes.h +++ b/Sourcecode/mx/core/elements/HammerOnAttributes.h @@ -52,7 +52,8 @@ namespace mx bool hasFontWeight; bool hasPlacement; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Handbell.cpp b/Sourcecode/mx/core/elements/Handbell.cpp index cbe41af6d..25c87109e 100755 --- a/Sourcecode/mx/core/elements/Handbell.cpp +++ b/Sourcecode/mx/core/elements/Handbell.cpp @@ -87,7 +87,7 @@ namespace mx } - bool Handbell::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Handbell::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Handbell.h b/Sourcecode/mx/core/elements/Handbell.h index 5e11993b3..7a76a528a 100755 --- a/Sourcecode/mx/core/elements/Handbell.h +++ b/Sourcecode/mx/core/elements/Handbell.h @@ -41,7 +41,8 @@ namespace mx HandbellValue getValue() const; void setValue( const HandbellValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: HandbellValue myValue; diff --git a/Sourcecode/mx/core/elements/HandbellAttributes.cpp b/Sourcecode/mx/core/elements/HandbellAttributes.cpp index a8a5550a3..f48ee6379 100755 --- a/Sourcecode/mx/core/elements/HandbellAttributes.cpp +++ b/Sourcecode/mx/core/elements/HandbellAttributes.cpp @@ -64,7 +64,7 @@ namespace mx } - bool HandbellAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool HandbellAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "HandbellAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/HandbellAttributes.h b/Sourcecode/mx/core/elements/HandbellAttributes.h index fdf74df11..ba311048d 100755 --- a/Sourcecode/mx/core/elements/HandbellAttributes.h +++ b/Sourcecode/mx/core/elements/HandbellAttributes.h @@ -47,7 +47,8 @@ namespace mx bool hasFontWeight; bool hasPlacement; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Harmonic.cpp b/Sourcecode/mx/core/elements/Harmonic.cpp index d4c3899a5..d057a0c49 100755 --- a/Sourcecode/mx/core/elements/Harmonic.cpp +++ b/Sourcecode/mx/core/elements/Harmonic.cpp @@ -145,7 +145,7 @@ namespace mx } - bool Harmonic::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Harmonic::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Harmonic.h b/Sourcecode/mx/core/elements/Harmonic.h index 451deb5bf..ed24743a1 100755 --- a/Sourcecode/mx/core/elements/Harmonic.h +++ b/Sourcecode/mx/core/elements/Harmonic.h @@ -49,7 +49,8 @@ namespace mx bool getHasHarmonicInfoChoice() const; void setHasHarmonicInfoChoice( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: HarmonicAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/HarmonicAttributes.cpp b/Sourcecode/mx/core/elements/HarmonicAttributes.cpp index 7f51a8c6e..40c49cdcd 100755 --- a/Sourcecode/mx/core/elements/HarmonicAttributes.cpp +++ b/Sourcecode/mx/core/elements/HarmonicAttributes.cpp @@ -72,7 +72,7 @@ namespace mx } - bool HarmonicAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool HarmonicAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "HarmonicAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/HarmonicAttributes.h b/Sourcecode/mx/core/elements/HarmonicAttributes.h index 0867b6015..1e40f5a48 100755 --- a/Sourcecode/mx/core/elements/HarmonicAttributes.h +++ b/Sourcecode/mx/core/elements/HarmonicAttributes.h @@ -52,7 +52,8 @@ namespace mx bool hasColor; bool hasPlacement; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/HarmonicInfoChoice.h b/Sourcecode/mx/core/elements/HarmonicInfoChoice.h index 4f68aeab3..19579072c 100755 --- a/Sourcecode/mx/core/elements/HarmonicInfoChoice.h +++ b/Sourcecode/mx/core/elements/HarmonicInfoChoice.h @@ -56,7 +56,8 @@ namespace mx SoundingPitchPtr getSoundingPitch() const; void setSoundingPitch( const SoundingPitchPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Choice myChoice; diff --git a/Sourcecode/mx/core/elements/HarmonicTypeChoice.h b/Sourcecode/mx/core/elements/HarmonicTypeChoice.h index a6070d844..657407230 100755 --- a/Sourcecode/mx/core/elements/HarmonicTypeChoice.h +++ b/Sourcecode/mx/core/elements/HarmonicTypeChoice.h @@ -50,7 +50,8 @@ namespace mx ArtificialPtr getArtificial() const; void setArtificial( const ArtificialPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Choice myChoice; diff --git a/Sourcecode/mx/core/elements/Harmony.cpp b/Sourcecode/mx/core/elements/Harmony.cpp index 7ff2d000e..2a88f3b69 100755 --- a/Sourcecode/mx/core/elements/Harmony.cpp +++ b/Sourcecode/mx/core/elements/Harmony.cpp @@ -249,7 +249,7 @@ namespace mx } - bool Harmony::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Harmony::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); @@ -277,7 +277,10 @@ namespace mx } decrementIter = true; ++it; - if( it == endIter || it->getName() != "kind" ) { message << "Harmony: 'kind' is a required element and is missing aborting" << std::endl; return false; } + if( it == endIter || it->getName() != "kind" ) + { + message << "Harmony: 'kind' is a required element and is missing aborting" << std::endl; return false; + } isSuccess &= item->getKind()->fromXElement( message, *it ); decrementIter = true; ++it; diff --git a/Sourcecode/mx/core/elements/Harmony.h b/Sourcecode/mx/core/elements/Harmony.h index d79ea86be..bbba219f5 100755 --- a/Sourcecode/mx/core/elements/Harmony.h +++ b/Sourcecode/mx/core/elements/Harmony.h @@ -69,7 +69,8 @@ namespace mx bool getHasStaff() const; void setHasStaff( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: HarmonyAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/HarmonyAttributes.cpp b/Sourcecode/mx/core/elements/HarmonyAttributes.cpp index 16f8af7a8..2351a2183 100755 --- a/Sourcecode/mx/core/elements/HarmonyAttributes.cpp +++ b/Sourcecode/mx/core/elements/HarmonyAttributes.cpp @@ -80,7 +80,7 @@ namespace mx } - bool HarmonyAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool HarmonyAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "HarmonyAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/HarmonyAttributes.h b/Sourcecode/mx/core/elements/HarmonyAttributes.h index cc3cc48f5..2c8d6b753 100755 --- a/Sourcecode/mx/core/elements/HarmonyAttributes.h +++ b/Sourcecode/mx/core/elements/HarmonyAttributes.h @@ -56,7 +56,8 @@ namespace mx bool hasColor; bool hasPlacement; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/HarmonyChordGroup.h b/Sourcecode/mx/core/elements/HarmonyChordGroup.h index f354c654e..a31e14d54 100755 --- a/Sourcecode/mx/core/elements/HarmonyChordGroup.h +++ b/Sourcecode/mx/core/elements/HarmonyChordGroup.h @@ -75,7 +75,8 @@ namespace mx void clearDegreeSet(); DegreePtr getDegree( const DegreeSetIterConst& setIterator ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Choice myChoice; diff --git a/Sourcecode/mx/core/elements/HarpPedals.cpp b/Sourcecode/mx/core/elements/HarpPedals.cpp index 3e9a6b82b..59e132bee 100755 --- a/Sourcecode/mx/core/elements/HarpPedals.cpp +++ b/Sourcecode/mx/core/elements/HarpPedals.cpp @@ -116,7 +116,7 @@ namespace mx } - bool HarpPedals::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool HarpPedals::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/HarpPedals.h b/Sourcecode/mx/core/elements/HarpPedals.h index 0b2870766..97c4d3b41 100755 --- a/Sourcecode/mx/core/elements/HarpPedals.h +++ b/Sourcecode/mx/core/elements/HarpPedals.h @@ -43,7 +43,8 @@ namespace mx void clearPedalTuningSet(); PedalTuningPtr getPedalTuning( const PedalTuningSetIterConst& setIterator ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: HarpPedalsAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/HarpPedalsAttributes.cpp b/Sourcecode/mx/core/elements/HarpPedalsAttributes.cpp index 21be89d33..ffeace0fe 100755 --- a/Sourcecode/mx/core/elements/HarpPedalsAttributes.cpp +++ b/Sourcecode/mx/core/elements/HarpPedalsAttributes.cpp @@ -72,7 +72,7 @@ namespace mx } - bool HarpPedalsAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool HarpPedalsAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "HarpPedalsAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/HarpPedalsAttributes.h b/Sourcecode/mx/core/elements/HarpPedalsAttributes.h index 11db80a94..6dc0ba674 100755 --- a/Sourcecode/mx/core/elements/HarpPedalsAttributes.h +++ b/Sourcecode/mx/core/elements/HarpPedalsAttributes.h @@ -52,7 +52,8 @@ namespace mx bool hasHalign; bool hasValign; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Heel.cpp b/Sourcecode/mx/core/elements/Heel.cpp index 78e3c4f1b..bba9e1cca 100755 --- a/Sourcecode/mx/core/elements/Heel.cpp +++ b/Sourcecode/mx/core/elements/Heel.cpp @@ -63,7 +63,7 @@ namespace mx } - bool Heel::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Heel::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Heel.h b/Sourcecode/mx/core/elements/Heel.h index 4dd5ad889..d81dc57a2 100755 --- a/Sourcecode/mx/core/elements/Heel.h +++ b/Sourcecode/mx/core/elements/Heel.h @@ -35,7 +35,8 @@ namespace mx HeelAttributesPtr getAttributes() const; void setAttributes( const HeelAttributesPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: HeelAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/HeelAttributes.cpp b/Sourcecode/mx/core/elements/HeelAttributes.cpp index 4e97de7ad..1655cb252 100755 --- a/Sourcecode/mx/core/elements/HeelAttributes.cpp +++ b/Sourcecode/mx/core/elements/HeelAttributes.cpp @@ -72,7 +72,7 @@ namespace mx } - bool HeelAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool HeelAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "HeelAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/HeelAttributes.h b/Sourcecode/mx/core/elements/HeelAttributes.h index 94e3e515c..e58122543 100755 --- a/Sourcecode/mx/core/elements/HeelAttributes.h +++ b/Sourcecode/mx/core/elements/HeelAttributes.h @@ -52,7 +52,8 @@ namespace mx bool hasPlacement; bool hasSubstitution; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Hole.cpp b/Sourcecode/mx/core/elements/Hole.cpp index d10ded86a..a9d868840 100755 --- a/Sourcecode/mx/core/elements/Hole.cpp +++ b/Sourcecode/mx/core/elements/Hole.cpp @@ -152,7 +152,7 @@ namespace mx } - bool Hole::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Hole::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Hole.h b/Sourcecode/mx/core/elements/Hole.h index 8846b483a..3fbfee765 100755 --- a/Sourcecode/mx/core/elements/Hole.h +++ b/Sourcecode/mx/core/elements/Hole.h @@ -54,7 +54,8 @@ namespace mx bool getHasHoleShape() const; void setHasHoleShape( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: HoleAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/HoleAttributes.cpp b/Sourcecode/mx/core/elements/HoleAttributes.cpp index 666a65327..3f91503b4 100755 --- a/Sourcecode/mx/core/elements/HoleAttributes.cpp +++ b/Sourcecode/mx/core/elements/HoleAttributes.cpp @@ -68,7 +68,7 @@ namespace mx } - bool HoleAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool HoleAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "HoleAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/HoleAttributes.h b/Sourcecode/mx/core/elements/HoleAttributes.h index 2a7fc7592..a6c267ea0 100755 --- a/Sourcecode/mx/core/elements/HoleAttributes.h +++ b/Sourcecode/mx/core/elements/HoleAttributes.h @@ -50,7 +50,8 @@ namespace mx bool hasColor; bool hasPlacement; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/HoleClosed.cpp b/Sourcecode/mx/core/elements/HoleClosed.cpp index d01fba28f..8b9e5e206 100755 --- a/Sourcecode/mx/core/elements/HoleClosed.cpp +++ b/Sourcecode/mx/core/elements/HoleClosed.cpp @@ -87,7 +87,7 @@ namespace mx } - bool HoleClosed::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool HoleClosed::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/HoleClosed.h b/Sourcecode/mx/core/elements/HoleClosed.h index 9042daf2d..d62ac426a 100755 --- a/Sourcecode/mx/core/elements/HoleClosed.h +++ b/Sourcecode/mx/core/elements/HoleClosed.h @@ -41,7 +41,8 @@ namespace mx HoleClosedValue getValue() const; void setValue( const HoleClosedValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: HoleClosedValue myValue; diff --git a/Sourcecode/mx/core/elements/HoleClosedAttributes.cpp b/Sourcecode/mx/core/elements/HoleClosedAttributes.cpp index b7464eea8..037e2875f 100755 --- a/Sourcecode/mx/core/elements/HoleClosedAttributes.cpp +++ b/Sourcecode/mx/core/elements/HoleClosedAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool HoleClosedAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool HoleClosedAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "HoleClosedAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/HoleClosedAttributes.h b/Sourcecode/mx/core/elements/HoleClosedAttributes.h index af212197a..1c6eb2011 100755 --- a/Sourcecode/mx/core/elements/HoleClosedAttributes.h +++ b/Sourcecode/mx/core/elements/HoleClosedAttributes.h @@ -28,7 +28,8 @@ namespace mx HoleClosedLocation location; bool hasLocation; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/HoleShape.cpp b/Sourcecode/mx/core/elements/HoleShape.cpp index 39ca5b22a..3aac456be 100755 --- a/Sourcecode/mx/core/elements/HoleShape.cpp +++ b/Sourcecode/mx/core/elements/HoleShape.cpp @@ -66,7 +66,7 @@ namespace mx } - bool HoleShape::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool HoleShape::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/HoleShape.h b/Sourcecode/mx/core/elements/HoleShape.h index 7b353e5d9..ba41225f8 100755 --- a/Sourcecode/mx/core/elements/HoleShape.h +++ b/Sourcecode/mx/core/elements/HoleShape.h @@ -37,7 +37,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/HoleType.cpp b/Sourcecode/mx/core/elements/HoleType.cpp index f977951e6..2c629a012 100755 --- a/Sourcecode/mx/core/elements/HoleType.cpp +++ b/Sourcecode/mx/core/elements/HoleType.cpp @@ -66,7 +66,7 @@ namespace mx } - bool HoleType::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool HoleType::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/HoleType.h b/Sourcecode/mx/core/elements/HoleType.h index 0a22ad369..8ba11462c 100755 --- a/Sourcecode/mx/core/elements/HoleType.h +++ b/Sourcecode/mx/core/elements/HoleType.h @@ -37,7 +37,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/Humming.cpp b/Sourcecode/mx/core/elements/Humming.cpp index 3e31ac6f4..ac441074c 100755 --- a/Sourcecode/mx/core/elements/Humming.cpp +++ b/Sourcecode/mx/core/elements/Humming.cpp @@ -27,7 +27,7 @@ namespace mx } - bool Humming::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Humming::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/Humming.h b/Sourcecode/mx/core/elements/Humming.h index 8408ddfef..4d73f4c4b 100755 --- a/Sourcecode/mx/core/elements/Humming.h +++ b/Sourcecode/mx/core/elements/Humming.h @@ -31,7 +31,8 @@ namespace mx virtual std::ostream& streamName( std::ostream& os ) const; virtual std::ostream& streamContents( std::ostream& os, const int indentLevel, bool& isOneLineOnly ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Identification.cpp b/Sourcecode/mx/core/elements/Identification.cpp index 32c88c9f9..5003aa6cf 100755 --- a/Sourcecode/mx/core/elements/Identification.cpp +++ b/Sourcecode/mx/core/elements/Identification.cpp @@ -305,7 +305,7 @@ namespace mx } - bool Identification::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Identification::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/Identification.h b/Sourcecode/mx/core/elements/Identification.h index 40110102a..bc8bce0b5 100755 --- a/Sourcecode/mx/core/elements/Identification.h +++ b/Sourcecode/mx/core/elements/Identification.h @@ -76,7 +76,8 @@ namespace mx bool getHasMiscellaneous() const; void setHasMiscellaneous( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: CreatorSet myCreatorSet; diff --git a/Sourcecode/mx/core/elements/Image.cpp b/Sourcecode/mx/core/elements/Image.cpp index e9bdc7364..fd67e634d 100755 --- a/Sourcecode/mx/core/elements/Image.cpp +++ b/Sourcecode/mx/core/elements/Image.cpp @@ -57,7 +57,7 @@ namespace mx } - bool Image::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Image::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Image.h b/Sourcecode/mx/core/elements/Image.h index 8a29f69cf..c297b1fde 100755 --- a/Sourcecode/mx/core/elements/Image.h +++ b/Sourcecode/mx/core/elements/Image.h @@ -35,7 +35,8 @@ namespace mx ImageAttributesPtr getAttributes() const; void setAttributes( const ImageAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: ImageAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/ImageAttributes.cpp b/Sourcecode/mx/core/elements/ImageAttributes.cpp index 3e32f6f94..29b3c2095 100755 --- a/Sourcecode/mx/core/elements/ImageAttributes.cpp +++ b/Sourcecode/mx/core/elements/ImageAttributes.cpp @@ -56,7 +56,7 @@ namespace mx } - bool ImageAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool ImageAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "ImageAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/ImageAttributes.h b/Sourcecode/mx/core/elements/ImageAttributes.h index ffc75880b..9d3ca0b45 100755 --- a/Sourcecode/mx/core/elements/ImageAttributes.h +++ b/Sourcecode/mx/core/elements/ImageAttributes.h @@ -42,7 +42,8 @@ namespace mx bool hasRelativeY; bool hasHalign; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Instrument.cpp b/Sourcecode/mx/core/elements/Instrument.cpp index 10e4300b5..f1498351c 100755 --- a/Sourcecode/mx/core/elements/Instrument.cpp +++ b/Sourcecode/mx/core/elements/Instrument.cpp @@ -57,7 +57,7 @@ namespace mx } - bool Instrument::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Instrument::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Instrument.h b/Sourcecode/mx/core/elements/Instrument.h index 9e56aa13b..e3c8c1182 100755 --- a/Sourcecode/mx/core/elements/Instrument.h +++ b/Sourcecode/mx/core/elements/Instrument.h @@ -35,7 +35,8 @@ namespace mx InstrumentAttributesPtr getAttributes() const; void setAttributes( const InstrumentAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: InstrumentAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/InstrumentAbbreviation.cpp b/Sourcecode/mx/core/elements/InstrumentAbbreviation.cpp index 8212c786a..6f43711a7 100755 --- a/Sourcecode/mx/core/elements/InstrumentAbbreviation.cpp +++ b/Sourcecode/mx/core/elements/InstrumentAbbreviation.cpp @@ -66,7 +66,7 @@ namespace mx } - bool InstrumentAbbreviation::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool InstrumentAbbreviation::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/InstrumentAbbreviation.h b/Sourcecode/mx/core/elements/InstrumentAbbreviation.h index 450785ea2..72377ad7f 100755 --- a/Sourcecode/mx/core/elements/InstrumentAbbreviation.h +++ b/Sourcecode/mx/core/elements/InstrumentAbbreviation.h @@ -37,7 +37,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/InstrumentAttributes.cpp b/Sourcecode/mx/core/elements/InstrumentAttributes.cpp index 29425b45c..0f378d636 100755 --- a/Sourcecode/mx/core/elements/InstrumentAttributes.cpp +++ b/Sourcecode/mx/core/elements/InstrumentAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool InstrumentAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool InstrumentAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "InstrumentAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/InstrumentAttributes.h b/Sourcecode/mx/core/elements/InstrumentAttributes.h index 499d3a47e..cbc9134a6 100755 --- a/Sourcecode/mx/core/elements/InstrumentAttributes.h +++ b/Sourcecode/mx/core/elements/InstrumentAttributes.h @@ -28,7 +28,8 @@ namespace mx XsIDREF id; const bool hasId; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/InstrumentName.cpp b/Sourcecode/mx/core/elements/InstrumentName.cpp index 81c827c43..5ede59416 100755 --- a/Sourcecode/mx/core/elements/InstrumentName.cpp +++ b/Sourcecode/mx/core/elements/InstrumentName.cpp @@ -66,7 +66,7 @@ namespace mx } - bool InstrumentName::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool InstrumentName::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/InstrumentName.h b/Sourcecode/mx/core/elements/InstrumentName.h index d2184752d..3a82d34c4 100755 --- a/Sourcecode/mx/core/elements/InstrumentName.h +++ b/Sourcecode/mx/core/elements/InstrumentName.h @@ -37,7 +37,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/InstrumentSound.cpp b/Sourcecode/mx/core/elements/InstrumentSound.cpp index 29225598b..1494c53d8 100755 --- a/Sourcecode/mx/core/elements/InstrumentSound.cpp +++ b/Sourcecode/mx/core/elements/InstrumentSound.cpp @@ -66,7 +66,7 @@ namespace mx } - bool InstrumentSound::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool InstrumentSound::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/InstrumentSound.h b/Sourcecode/mx/core/elements/InstrumentSound.h index cd7497267..fdefad42e 100755 --- a/Sourcecode/mx/core/elements/InstrumentSound.h +++ b/Sourcecode/mx/core/elements/InstrumentSound.h @@ -36,7 +36,8 @@ namespace mx PlaybackSound getValue() const; void setValue( const PlaybackSound& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: PlaybackSound myValue; diff --git a/Sourcecode/mx/core/elements/Instruments.cpp b/Sourcecode/mx/core/elements/Instruments.cpp index 10ba14dbe..3a1947846 100755 --- a/Sourcecode/mx/core/elements/Instruments.cpp +++ b/Sourcecode/mx/core/elements/Instruments.cpp @@ -66,7 +66,7 @@ namespace mx } - bool Instruments::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Instruments::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/Instruments.h b/Sourcecode/mx/core/elements/Instruments.h index 6e20d9783..f1bf80325 100755 --- a/Sourcecode/mx/core/elements/Instruments.h +++ b/Sourcecode/mx/core/elements/Instruments.h @@ -37,7 +37,8 @@ namespace mx NonNegativeInteger getValue() const; void setValue( const NonNegativeInteger& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: NonNegativeInteger myValue; diff --git a/Sourcecode/mx/core/elements/Interchangeable.cpp b/Sourcecode/mx/core/elements/Interchangeable.cpp index 6e85b29fc..f1e6d3181 100755 --- a/Sourcecode/mx/core/elements/Interchangeable.cpp +++ b/Sourcecode/mx/core/elements/Interchangeable.cpp @@ -136,7 +136,7 @@ namespace mx } - bool Interchangeable::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Interchangeable::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Interchangeable.h b/Sourcecode/mx/core/elements/Interchangeable.h index f0c2ac636..2c21e0200 100755 --- a/Sourcecode/mx/core/elements/Interchangeable.h +++ b/Sourcecode/mx/core/elements/Interchangeable.h @@ -52,7 +52,8 @@ namespace mx BeatTypePtr getBeatType() const; void setBeatType( const BeatTypePtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: InterchangeableAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/InterchangeableAttributes.cpp b/Sourcecode/mx/core/elements/InterchangeableAttributes.cpp index 03ba8a1bc..2e7a7f931 100755 --- a/Sourcecode/mx/core/elements/InterchangeableAttributes.cpp +++ b/Sourcecode/mx/core/elements/InterchangeableAttributes.cpp @@ -36,7 +36,7 @@ namespace mx } - bool InterchangeableAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool InterchangeableAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "InterchangeableAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/InterchangeableAttributes.h b/Sourcecode/mx/core/elements/InterchangeableAttributes.h index 731f96dbc..8c17528d7 100755 --- a/Sourcecode/mx/core/elements/InterchangeableAttributes.h +++ b/Sourcecode/mx/core/elements/InterchangeableAttributes.h @@ -30,7 +30,8 @@ namespace mx bool hasSymbol; bool hasSeparator; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Inversion.cpp b/Sourcecode/mx/core/elements/Inversion.cpp index 5a7c1d627..5b01c2a46 100755 --- a/Sourcecode/mx/core/elements/Inversion.cpp +++ b/Sourcecode/mx/core/elements/Inversion.cpp @@ -87,7 +87,7 @@ namespace mx } - bool Inversion::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Inversion::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Inversion.h b/Sourcecode/mx/core/elements/Inversion.h index eea6edf83..57ff1dee4 100755 --- a/Sourcecode/mx/core/elements/Inversion.h +++ b/Sourcecode/mx/core/elements/Inversion.h @@ -41,7 +41,8 @@ namespace mx NonNegativeInteger getValue() const; void setValue( const NonNegativeInteger& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: NonNegativeInteger myValue; diff --git a/Sourcecode/mx/core/elements/InversionAttributes.cpp b/Sourcecode/mx/core/elements/InversionAttributes.cpp index 20b4144b8..64e24b647 100755 --- a/Sourcecode/mx/core/elements/InversionAttributes.cpp +++ b/Sourcecode/mx/core/elements/InversionAttributes.cpp @@ -60,7 +60,7 @@ namespace mx } - bool InversionAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool InversionAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "InversionAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/InversionAttributes.h b/Sourcecode/mx/core/elements/InversionAttributes.h index 92535b8bf..e58885416 100755 --- a/Sourcecode/mx/core/elements/InversionAttributes.h +++ b/Sourcecode/mx/core/elements/InversionAttributes.h @@ -45,7 +45,8 @@ namespace mx bool hasFontSize; bool hasFontWeight; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/InvertedMordent.cpp b/Sourcecode/mx/core/elements/InvertedMordent.cpp index 1a2530acb..1a5ef303f 100755 --- a/Sourcecode/mx/core/elements/InvertedMordent.cpp +++ b/Sourcecode/mx/core/elements/InvertedMordent.cpp @@ -62,7 +62,7 @@ namespace mx } - bool InvertedMordent::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool InvertedMordent::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/InvertedMordent.h b/Sourcecode/mx/core/elements/InvertedMordent.h index 4de882cb7..17ab0adfb 100755 --- a/Sourcecode/mx/core/elements/InvertedMordent.h +++ b/Sourcecode/mx/core/elements/InvertedMordent.h @@ -35,7 +35,8 @@ namespace mx InvertedMordentAttributesPtr getAttributes() const; void setAttributes( const InvertedMordentAttributesPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: InvertedMordentAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/InvertedMordentAttributes.cpp b/Sourcecode/mx/core/elements/InvertedMordentAttributes.cpp index 1fcd2c9dc..f7d5899bd 100755 --- a/Sourcecode/mx/core/elements/InvertedMordentAttributes.cpp +++ b/Sourcecode/mx/core/elements/InvertedMordentAttributes.cpp @@ -109,7 +109,7 @@ namespace mx } - bool InvertedMordentAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool InvertedMordentAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "InvertedMordentAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/InvertedMordentAttributes.h b/Sourcecode/mx/core/elements/InvertedMordentAttributes.h index 80cc40697..b32c56f40 100755 --- a/Sourcecode/mx/core/elements/InvertedMordentAttributes.h +++ b/Sourcecode/mx/core/elements/InvertedMordentAttributes.h @@ -70,7 +70,8 @@ namespace mx bool hasApproach; bool hasDeparture; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/InvertedTurn.cpp b/Sourcecode/mx/core/elements/InvertedTurn.cpp index e5eb1f64f..b5714e469 100755 --- a/Sourcecode/mx/core/elements/InvertedTurn.cpp +++ b/Sourcecode/mx/core/elements/InvertedTurn.cpp @@ -57,7 +57,7 @@ namespace mx } - bool InvertedTurn::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool InvertedTurn::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/InvertedTurn.h b/Sourcecode/mx/core/elements/InvertedTurn.h index 034615347..d643e3d09 100755 --- a/Sourcecode/mx/core/elements/InvertedTurn.h +++ b/Sourcecode/mx/core/elements/InvertedTurn.h @@ -35,7 +35,8 @@ namespace mx InvertedTurnAttributesPtr getAttributes() const; void setAttributes( const InvertedTurnAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: InvertedTurnAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/InvertedTurnAttributes.cpp b/Sourcecode/mx/core/elements/InvertedTurnAttributes.cpp index f7c77f3b2..7b2111aa0 100755 --- a/Sourcecode/mx/core/elements/InvertedTurnAttributes.cpp +++ b/Sourcecode/mx/core/elements/InvertedTurnAttributes.cpp @@ -96,7 +96,7 @@ namespace mx } - bool InvertedTurnAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool InvertedTurnAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "InvertedTurnAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/InvertedTurnAttributes.h b/Sourcecode/mx/core/elements/InvertedTurnAttributes.h index b0e2330d0..1cf8175a5 100755 --- a/Sourcecode/mx/core/elements/InvertedTurnAttributes.h +++ b/Sourcecode/mx/core/elements/InvertedTurnAttributes.h @@ -63,7 +63,8 @@ namespace mx bool hasLastBeat; bool hasSlash; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Ipa.cpp b/Sourcecode/mx/core/elements/Ipa.cpp index f219c5165..6ad117b1b 100755 --- a/Sourcecode/mx/core/elements/Ipa.cpp +++ b/Sourcecode/mx/core/elements/Ipa.cpp @@ -66,7 +66,7 @@ namespace mx } - bool Ipa::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Ipa::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/Ipa.h b/Sourcecode/mx/core/elements/Ipa.h index d16b56115..1b65dec57 100755 --- a/Sourcecode/mx/core/elements/Ipa.h +++ b/Sourcecode/mx/core/elements/Ipa.h @@ -37,7 +37,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/Key.cpp b/Sourcecode/mx/core/elements/Key.cpp index 53606bc8c..ea4a7cecd 100755 --- a/Sourcecode/mx/core/elements/Key.cpp +++ b/Sourcecode/mx/core/elements/Key.cpp @@ -146,7 +146,7 @@ namespace mx } - bool Key::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Key::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Key.h b/Sourcecode/mx/core/elements/Key.h index 505deb6f0..bdd49c26a 100755 --- a/Sourcecode/mx/core/elements/Key.h +++ b/Sourcecode/mx/core/elements/Key.h @@ -49,7 +49,8 @@ namespace mx void addKeyOctave( const KeyOctavePtr& value ); void clearKeyOctaveSet(); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: KeyAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/KeyAccidental.cpp b/Sourcecode/mx/core/elements/KeyAccidental.cpp index dce39b8aa..6969063a9 100755 --- a/Sourcecode/mx/core/elements/KeyAccidental.cpp +++ b/Sourcecode/mx/core/elements/KeyAccidental.cpp @@ -66,7 +66,7 @@ namespace mx } - bool KeyAccidental::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool KeyAccidental::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); myValue = parseAccidentalValue( xelement.getValue() ); diff --git a/Sourcecode/mx/core/elements/KeyAccidental.h b/Sourcecode/mx/core/elements/KeyAccidental.h index a08db548b..5df5d9bf7 100755 --- a/Sourcecode/mx/core/elements/KeyAccidental.h +++ b/Sourcecode/mx/core/elements/KeyAccidental.h @@ -37,7 +37,8 @@ namespace mx AccidentalValue getValue() const; void setValue( const AccidentalValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: AccidentalValue myValue; diff --git a/Sourcecode/mx/core/elements/KeyAlter.cpp b/Sourcecode/mx/core/elements/KeyAlter.cpp index 15ae0c7e3..ca3621573 100755 --- a/Sourcecode/mx/core/elements/KeyAlter.cpp +++ b/Sourcecode/mx/core/elements/KeyAlter.cpp @@ -66,7 +66,7 @@ namespace mx } - bool KeyAlter::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool KeyAlter::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/KeyAlter.h b/Sourcecode/mx/core/elements/KeyAlter.h index ea45c5270..d87ed4c10 100755 --- a/Sourcecode/mx/core/elements/KeyAlter.h +++ b/Sourcecode/mx/core/elements/KeyAlter.h @@ -37,7 +37,8 @@ namespace mx Semitones getValue() const; void setValue( const Semitones& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Semitones myValue; diff --git a/Sourcecode/mx/core/elements/KeyAttributes.cpp b/Sourcecode/mx/core/elements/KeyAttributes.cpp index db900ab78..ff96fd8dd 100755 --- a/Sourcecode/mx/core/elements/KeyAttributes.cpp +++ b/Sourcecode/mx/core/elements/KeyAttributes.cpp @@ -72,7 +72,7 @@ namespace mx } - bool KeyAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool KeyAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "KeyAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/KeyAttributes.h b/Sourcecode/mx/core/elements/KeyAttributes.h index 091a037da..36bf59d19 100755 --- a/Sourcecode/mx/core/elements/KeyAttributes.h +++ b/Sourcecode/mx/core/elements/KeyAttributes.h @@ -53,7 +53,8 @@ namespace mx bool hasColor; bool hasPrintObject; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/KeyChoice.h b/Sourcecode/mx/core/elements/KeyChoice.h index 2d2387196..39ee353d6 100755 --- a/Sourcecode/mx/core/elements/KeyChoice.h +++ b/Sourcecode/mx/core/elements/KeyChoice.h @@ -48,7 +48,8 @@ namespace mx void clearNonTraditionalKeySet(); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Choice myChoice; diff --git a/Sourcecode/mx/core/elements/KeyOctave.cpp b/Sourcecode/mx/core/elements/KeyOctave.cpp index 91bc139a7..6b8206543 100755 --- a/Sourcecode/mx/core/elements/KeyOctave.cpp +++ b/Sourcecode/mx/core/elements/KeyOctave.cpp @@ -87,7 +87,7 @@ namespace mx } - bool KeyOctave::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool KeyOctave::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/KeyOctave.h b/Sourcecode/mx/core/elements/KeyOctave.h index c8e900034..49204ff17 100755 --- a/Sourcecode/mx/core/elements/KeyOctave.h +++ b/Sourcecode/mx/core/elements/KeyOctave.h @@ -41,7 +41,8 @@ namespace mx OctaveValue getValue() const; void setValue( const OctaveValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: OctaveValue myValue; diff --git a/Sourcecode/mx/core/elements/KeyOctaveAttributes.cpp b/Sourcecode/mx/core/elements/KeyOctaveAttributes.cpp index c11e6e0be..ac7d08afb 100755 --- a/Sourcecode/mx/core/elements/KeyOctaveAttributes.cpp +++ b/Sourcecode/mx/core/elements/KeyOctaveAttributes.cpp @@ -36,7 +36,7 @@ namespace mx } - bool KeyOctaveAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool KeyOctaveAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "KeyOctaveAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/KeyOctaveAttributes.h b/Sourcecode/mx/core/elements/KeyOctaveAttributes.h index fdb429224..433d38b91 100755 --- a/Sourcecode/mx/core/elements/KeyOctaveAttributes.h +++ b/Sourcecode/mx/core/elements/KeyOctaveAttributes.h @@ -31,7 +31,8 @@ namespace mx const bool hasNumber; bool hasCancel; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/KeyStep.cpp b/Sourcecode/mx/core/elements/KeyStep.cpp index 58a296866..7af8e45ca 100755 --- a/Sourcecode/mx/core/elements/KeyStep.cpp +++ b/Sourcecode/mx/core/elements/KeyStep.cpp @@ -66,7 +66,7 @@ namespace mx } - bool KeyStep::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool KeyStep::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/KeyStep.h b/Sourcecode/mx/core/elements/KeyStep.h index 07c3cd69a..6c9030a76 100755 --- a/Sourcecode/mx/core/elements/KeyStep.h +++ b/Sourcecode/mx/core/elements/KeyStep.h @@ -37,7 +37,8 @@ namespace mx StepEnum getValue() const; void setValue( const StepEnum& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: StepEnum myValue; diff --git a/Sourcecode/mx/core/elements/Kind.cpp b/Sourcecode/mx/core/elements/Kind.cpp index c8a81d74b..93dc97d74 100755 --- a/Sourcecode/mx/core/elements/Kind.cpp +++ b/Sourcecode/mx/core/elements/Kind.cpp @@ -87,7 +87,7 @@ namespace mx } - bool Kind::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Kind::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Kind.h b/Sourcecode/mx/core/elements/Kind.h index adbe43590..6242a1527 100755 --- a/Sourcecode/mx/core/elements/Kind.h +++ b/Sourcecode/mx/core/elements/Kind.h @@ -41,7 +41,8 @@ namespace mx KindValue getValue() const; void setValue( const KindValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: KindValue myValue; diff --git a/Sourcecode/mx/core/elements/KindAttributes.cpp b/Sourcecode/mx/core/elements/KindAttributes.cpp index 4a211402d..9ba455b0c 100755 --- a/Sourcecode/mx/core/elements/KindAttributes.cpp +++ b/Sourcecode/mx/core/elements/KindAttributes.cpp @@ -84,7 +84,7 @@ namespace mx } - bool KindAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool KindAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "KindAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/KindAttributes.h b/Sourcecode/mx/core/elements/KindAttributes.h index 0ed5deab7..994254131 100755 --- a/Sourcecode/mx/core/elements/KindAttributes.h +++ b/Sourcecode/mx/core/elements/KindAttributes.h @@ -57,7 +57,8 @@ namespace mx bool hasFontWeight; bool hasHalign; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Laughing.cpp b/Sourcecode/mx/core/elements/Laughing.cpp index c4748d310..c66625c81 100755 --- a/Sourcecode/mx/core/elements/Laughing.cpp +++ b/Sourcecode/mx/core/elements/Laughing.cpp @@ -27,7 +27,7 @@ namespace mx } - bool Laughing::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Laughing::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/Laughing.h b/Sourcecode/mx/core/elements/Laughing.h index c8f9772c0..cd1ef4cbb 100755 --- a/Sourcecode/mx/core/elements/Laughing.h +++ b/Sourcecode/mx/core/elements/Laughing.h @@ -31,7 +31,8 @@ namespace mx virtual std::ostream& streamName( std::ostream& os ) const; virtual std::ostream& streamContents( std::ostream& os, const int indentLevel, bool& isOneLineOnly ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/LayoutGroup.h b/Sourcecode/mx/core/elements/LayoutGroup.h index 8b64de646..6d3e59e5d 100755 --- a/Sourcecode/mx/core/elements/LayoutGroup.h +++ b/Sourcecode/mx/core/elements/LayoutGroup.h @@ -53,7 +53,8 @@ namespace mx void clearStaffLayoutSet(); StaffLayoutPtr getStaffLayout( const StaffLayoutSetIterConst& setIterator ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: PageLayoutPtr myPageLayout; diff --git a/Sourcecode/mx/core/elements/LeftDivider.cpp b/Sourcecode/mx/core/elements/LeftDivider.cpp index e2130f571..37e21f018 100755 --- a/Sourcecode/mx/core/elements/LeftDivider.cpp +++ b/Sourcecode/mx/core/elements/LeftDivider.cpp @@ -57,7 +57,7 @@ namespace mx } - bool LeftDivider::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool LeftDivider::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/LeftDivider.h b/Sourcecode/mx/core/elements/LeftDivider.h index b16e3b0a4..485f5ca1a 100755 --- a/Sourcecode/mx/core/elements/LeftDivider.h +++ b/Sourcecode/mx/core/elements/LeftDivider.h @@ -34,7 +34,8 @@ namespace mx EmptyPrintObjectStyleAlignAttributesPtr getAttributes() const; void setAttributes( const EmptyPrintObjectStyleAlignAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: EmptyPrintObjectStyleAlignAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/LeftMargin.cpp b/Sourcecode/mx/core/elements/LeftMargin.cpp index 7162b6b50..e1d9a5264 100755 --- a/Sourcecode/mx/core/elements/LeftMargin.cpp +++ b/Sourcecode/mx/core/elements/LeftMargin.cpp @@ -66,7 +66,7 @@ namespace mx } - bool LeftMargin::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool LeftMargin::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/LeftMargin.h b/Sourcecode/mx/core/elements/LeftMargin.h index 07438f387..34738b676 100755 --- a/Sourcecode/mx/core/elements/LeftMargin.h +++ b/Sourcecode/mx/core/elements/LeftMargin.h @@ -37,7 +37,8 @@ namespace mx TenthsValue getValue() const; void setValue( const TenthsValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: TenthsValue myValue; diff --git a/Sourcecode/mx/core/elements/Level.cpp b/Sourcecode/mx/core/elements/Level.cpp index 0a03dd7c2..00dbd3460 100755 --- a/Sourcecode/mx/core/elements/Level.cpp +++ b/Sourcecode/mx/core/elements/Level.cpp @@ -87,7 +87,7 @@ namespace mx } - bool Level::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Level::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Level.h b/Sourcecode/mx/core/elements/Level.h index c13a64375..62082b2f9 100755 --- a/Sourcecode/mx/core/elements/Level.h +++ b/Sourcecode/mx/core/elements/Level.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/LevelAttributes.cpp b/Sourcecode/mx/core/elements/LevelAttributes.cpp index 4e7109174..46544bbda 100755 --- a/Sourcecode/mx/core/elements/LevelAttributes.cpp +++ b/Sourcecode/mx/core/elements/LevelAttributes.cpp @@ -44,7 +44,7 @@ namespace mx } - bool LevelAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool LevelAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "LevelAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/LevelAttributes.h b/Sourcecode/mx/core/elements/LevelAttributes.h index b31e935f5..147a6158b 100755 --- a/Sourcecode/mx/core/elements/LevelAttributes.h +++ b/Sourcecode/mx/core/elements/LevelAttributes.h @@ -34,7 +34,8 @@ namespace mx bool hasBracket; bool hasSize; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Line.cpp b/Sourcecode/mx/core/elements/Line.cpp index a325a6206..950bcb33e 100755 --- a/Sourcecode/mx/core/elements/Line.cpp +++ b/Sourcecode/mx/core/elements/Line.cpp @@ -66,7 +66,7 @@ namespace mx } - bool Line::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Line::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/Line.h b/Sourcecode/mx/core/elements/Line.h index b15331cc5..1f03bd604 100755 --- a/Sourcecode/mx/core/elements/Line.h +++ b/Sourcecode/mx/core/elements/Line.h @@ -37,7 +37,8 @@ namespace mx StaffLine getValue() const; void setValue( const StaffLine& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: StaffLine myValue; diff --git a/Sourcecode/mx/core/elements/LineWidth.cpp b/Sourcecode/mx/core/elements/LineWidth.cpp index e790fcdba..f60760ca8 100755 --- a/Sourcecode/mx/core/elements/LineWidth.cpp +++ b/Sourcecode/mx/core/elements/LineWidth.cpp @@ -87,7 +87,7 @@ namespace mx } - bool LineWidth::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool LineWidth::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/LineWidth.h b/Sourcecode/mx/core/elements/LineWidth.h index 5e0aa487d..da933ffe7 100755 --- a/Sourcecode/mx/core/elements/LineWidth.h +++ b/Sourcecode/mx/core/elements/LineWidth.h @@ -41,7 +41,8 @@ namespace mx TenthsValue getValue() const; void setValue( const TenthsValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: TenthsValue myValue; diff --git a/Sourcecode/mx/core/elements/LineWidthAttributes.cpp b/Sourcecode/mx/core/elements/LineWidthAttributes.cpp index 4bf7b68d0..b68857d63 100755 --- a/Sourcecode/mx/core/elements/LineWidthAttributes.cpp +++ b/Sourcecode/mx/core/elements/LineWidthAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool LineWidthAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool LineWidthAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "LineWidthAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/LineWidthAttributes.h b/Sourcecode/mx/core/elements/LineWidthAttributes.h index bf35c2de8..06fa9ec11 100755 --- a/Sourcecode/mx/core/elements/LineWidthAttributes.h +++ b/Sourcecode/mx/core/elements/LineWidthAttributes.h @@ -28,7 +28,8 @@ namespace mx LineWidthType type; const bool hasType; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Link.cpp b/Sourcecode/mx/core/elements/Link.cpp index 61fd12c36..5af5282b9 100755 --- a/Sourcecode/mx/core/elements/Link.cpp +++ b/Sourcecode/mx/core/elements/Link.cpp @@ -56,7 +56,7 @@ namespace mx } - bool Link::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Link::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); return myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Link.h b/Sourcecode/mx/core/elements/Link.h index cacd90d98..674ab503d 100755 --- a/Sourcecode/mx/core/elements/Link.h +++ b/Sourcecode/mx/core/elements/Link.h @@ -35,7 +35,8 @@ namespace mx LinkAttributesPtr getAttributes() const; void setAttributes( const LinkAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: LinkAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/LinkAttributes.cpp b/Sourcecode/mx/core/elements/LinkAttributes.cpp index 7e28eda46..ec601d1f4 100755 --- a/Sourcecode/mx/core/elements/LinkAttributes.cpp +++ b/Sourcecode/mx/core/elements/LinkAttributes.cpp @@ -80,7 +80,7 @@ namespace mx } - bool LinkAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool LinkAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "LinkAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/LinkAttributes.h b/Sourcecode/mx/core/elements/LinkAttributes.h index 40070b8fa..954b99ef1 100755 --- a/Sourcecode/mx/core/elements/LinkAttributes.h +++ b/Sourcecode/mx/core/elements/LinkAttributes.h @@ -55,7 +55,8 @@ namespace mx bool hasRelativeX; bool hasRelativeY; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Lyric.cpp b/Sourcecode/mx/core/elements/Lyric.cpp index 933552630..8ab120301 100755 --- a/Sourcecode/mx/core/elements/Lyric.cpp +++ b/Sourcecode/mx/core/elements/Lyric.cpp @@ -181,7 +181,7 @@ namespace mx } - bool Lyric::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Lyric::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Lyric.h b/Sourcecode/mx/core/elements/Lyric.h index 365f38035..19b03e7e6 100755 --- a/Sourcecode/mx/core/elements/Lyric.h +++ b/Sourcecode/mx/core/elements/Lyric.h @@ -59,7 +59,8 @@ namespace mx EditorialGroupPtr getEditorialGroup() const; void setEditorialGroup( const EditorialGroupPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: LyricAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/LyricAttributes.cpp b/Sourcecode/mx/core/elements/LyricAttributes.cpp index 358a0c492..be323fbb8 100755 --- a/Sourcecode/mx/core/elements/LyricAttributes.cpp +++ b/Sourcecode/mx/core/elements/LyricAttributes.cpp @@ -68,7 +68,7 @@ namespace mx } - bool LyricAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool LyricAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "LyricAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/LyricAttributes.h b/Sourcecode/mx/core/elements/LyricAttributes.h index d2c8e8179..d94cdec9d 100755 --- a/Sourcecode/mx/core/elements/LyricAttributes.h +++ b/Sourcecode/mx/core/elements/LyricAttributes.h @@ -49,7 +49,8 @@ namespace mx bool hasColor; bool hasPrintObject; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/LyricFont.cpp b/Sourcecode/mx/core/elements/LyricFont.cpp index 10232be69..3a08cb5c7 100755 --- a/Sourcecode/mx/core/elements/LyricFont.cpp +++ b/Sourcecode/mx/core/elements/LyricFont.cpp @@ -57,7 +57,7 @@ namespace mx } - bool LyricFont::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool LyricFont::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/LyricFont.h b/Sourcecode/mx/core/elements/LyricFont.h index 25441f30f..7f421e51b 100755 --- a/Sourcecode/mx/core/elements/LyricFont.h +++ b/Sourcecode/mx/core/elements/LyricFont.h @@ -35,7 +35,8 @@ namespace mx LyricFontAttributesPtr getAttributes() const; void setAttributes( const LyricFontAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: LyricFontAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/LyricFontAttributes.cpp b/Sourcecode/mx/core/elements/LyricFontAttributes.cpp index 33ef4793c..06b5a256d 100755 --- a/Sourcecode/mx/core/elements/LyricFontAttributes.cpp +++ b/Sourcecode/mx/core/elements/LyricFontAttributes.cpp @@ -52,7 +52,7 @@ namespace mx } - bool LyricFontAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool LyricFontAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "LyricFontAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/LyricFontAttributes.h b/Sourcecode/mx/core/elements/LyricFontAttributes.h index 207f69333..b39cd2ead 100755 --- a/Sourcecode/mx/core/elements/LyricFontAttributes.h +++ b/Sourcecode/mx/core/elements/LyricFontAttributes.h @@ -40,7 +40,8 @@ namespace mx bool hasFontSize; bool hasFontWeight; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/LyricLanguage.cpp b/Sourcecode/mx/core/elements/LyricLanguage.cpp index 2e724acfb..1c68af5a8 100755 --- a/Sourcecode/mx/core/elements/LyricLanguage.cpp +++ b/Sourcecode/mx/core/elements/LyricLanguage.cpp @@ -57,7 +57,7 @@ namespace mx } - bool LyricLanguage::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool LyricLanguage::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/LyricLanguage.h b/Sourcecode/mx/core/elements/LyricLanguage.h index bb078cb88..7e5c75a59 100755 --- a/Sourcecode/mx/core/elements/LyricLanguage.h +++ b/Sourcecode/mx/core/elements/LyricLanguage.h @@ -35,7 +35,8 @@ namespace mx LyricLanguageAttributesPtr getAttributes() const; void setAttributes( const LyricLanguageAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: LyricLanguageAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/LyricLanguageAttributes.cpp b/Sourcecode/mx/core/elements/LyricLanguageAttributes.cpp index b7a759550..cd16cbc86 100755 --- a/Sourcecode/mx/core/elements/LyricLanguageAttributes.cpp +++ b/Sourcecode/mx/core/elements/LyricLanguageAttributes.cpp @@ -40,7 +40,7 @@ namespace mx } - bool LyricLanguageAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool LyricLanguageAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "LyricLanguageAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/LyricLanguageAttributes.h b/Sourcecode/mx/core/elements/LyricLanguageAttributes.h index 590ea3731..9fe88b56a 100755 --- a/Sourcecode/mx/core/elements/LyricLanguageAttributes.h +++ b/Sourcecode/mx/core/elements/LyricLanguageAttributes.h @@ -32,7 +32,8 @@ namespace mx bool hasName; const bool hasLang; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/LyricTextChoice.h b/Sourcecode/mx/core/elements/LyricTextChoice.h index 7e0079b49..61b5188f2 100755 --- a/Sourcecode/mx/core/elements/LyricTextChoice.h +++ b/Sourcecode/mx/core/elements/LyricTextChoice.h @@ -60,7 +60,8 @@ namespace mx HummingPtr getHumming() const; void setHumming( const HummingPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Choice myChoice; diff --git a/Sourcecode/mx/core/elements/MeasureAttributes.cpp b/Sourcecode/mx/core/elements/MeasureAttributes.cpp index be26e4b4e..0c3023091 100755 --- a/Sourcecode/mx/core/elements/MeasureAttributes.cpp +++ b/Sourcecode/mx/core/elements/MeasureAttributes.cpp @@ -45,7 +45,7 @@ namespace mx } - bool MeasureAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool MeasureAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "MeasureAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/MeasureAttributes.h b/Sourcecode/mx/core/elements/MeasureAttributes.h index d90de171e..9ec808f79 100755 --- a/Sourcecode/mx/core/elements/MeasureAttributes.h +++ b/Sourcecode/mx/core/elements/MeasureAttributes.h @@ -36,7 +36,8 @@ namespace mx bool hasNonControlling; bool hasWidth; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/MeasureDistance.cpp b/Sourcecode/mx/core/elements/MeasureDistance.cpp index 808b28271..1b6cc75f5 100755 --- a/Sourcecode/mx/core/elements/MeasureDistance.cpp +++ b/Sourcecode/mx/core/elements/MeasureDistance.cpp @@ -66,7 +66,7 @@ namespace mx } - bool MeasureDistance::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool MeasureDistance::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/MeasureDistance.h b/Sourcecode/mx/core/elements/MeasureDistance.h index e9d89e44c..6d55aba61 100755 --- a/Sourcecode/mx/core/elements/MeasureDistance.h +++ b/Sourcecode/mx/core/elements/MeasureDistance.h @@ -37,7 +37,8 @@ namespace mx TenthsValue getValue() const; void setValue( const TenthsValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: TenthsValue myValue; diff --git a/Sourcecode/mx/core/elements/MeasureLayout.cpp b/Sourcecode/mx/core/elements/MeasureLayout.cpp index 76fe0db00..4121daafb 100755 --- a/Sourcecode/mx/core/elements/MeasureLayout.cpp +++ b/Sourcecode/mx/core/elements/MeasureLayout.cpp @@ -86,7 +86,7 @@ namespace mx } - bool MeasureLayout::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool MeasureLayout::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/MeasureLayout.h b/Sourcecode/mx/core/elements/MeasureLayout.h index 53baa2ec0..56ae4b6f8 100755 --- a/Sourcecode/mx/core/elements/MeasureLayout.h +++ b/Sourcecode/mx/core/elements/MeasureLayout.h @@ -38,7 +38,8 @@ namespace mx bool getHasMeasureDistance() const; void setHasMeasureDistance( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: MeasureDistancePtr myMeasureDistance; diff --git a/Sourcecode/mx/core/elements/MeasureNumbering.cpp b/Sourcecode/mx/core/elements/MeasureNumbering.cpp index 78f612e42..437e01d23 100755 --- a/Sourcecode/mx/core/elements/MeasureNumbering.cpp +++ b/Sourcecode/mx/core/elements/MeasureNumbering.cpp @@ -87,7 +87,7 @@ namespace mx } - bool MeasureNumbering::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool MeasureNumbering::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/MeasureNumbering.h b/Sourcecode/mx/core/elements/MeasureNumbering.h index 236c03d47..8e39be373 100755 --- a/Sourcecode/mx/core/elements/MeasureNumbering.h +++ b/Sourcecode/mx/core/elements/MeasureNumbering.h @@ -41,7 +41,8 @@ namespace mx MeasureNumberingValue getValue() const; void setValue( const MeasureNumberingValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: MeasureNumberingValue myValue; diff --git a/Sourcecode/mx/core/elements/MeasureNumberingAttributes.cpp b/Sourcecode/mx/core/elements/MeasureNumberingAttributes.cpp index 96106aac7..e5867fa6a 100755 --- a/Sourcecode/mx/core/elements/MeasureNumberingAttributes.cpp +++ b/Sourcecode/mx/core/elements/MeasureNumberingAttributes.cpp @@ -64,7 +64,7 @@ namespace mx } - bool MeasureNumberingAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool MeasureNumberingAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "MeasureNumberingAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/MeasureNumberingAttributes.h b/Sourcecode/mx/core/elements/MeasureNumberingAttributes.h index 497bdf942..3be5c5f27 100755 --- a/Sourcecode/mx/core/elements/MeasureNumberingAttributes.h +++ b/Sourcecode/mx/core/elements/MeasureNumberingAttributes.h @@ -47,7 +47,8 @@ namespace mx bool hasFontWeight; bool hasHalign; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/MeasureRepeat.cpp b/Sourcecode/mx/core/elements/MeasureRepeat.cpp index 4c202566b..d690fc498 100755 --- a/Sourcecode/mx/core/elements/MeasureRepeat.cpp +++ b/Sourcecode/mx/core/elements/MeasureRepeat.cpp @@ -87,7 +87,7 @@ namespace mx } - bool MeasureRepeat::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool MeasureRepeat::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/MeasureRepeat.h b/Sourcecode/mx/core/elements/MeasureRepeat.h index afaac849e..c6cc3d761 100755 --- a/Sourcecode/mx/core/elements/MeasureRepeat.h +++ b/Sourcecode/mx/core/elements/MeasureRepeat.h @@ -41,7 +41,8 @@ namespace mx PositiveIntegerOrEmpty getValue() const; void setValue( const PositiveIntegerOrEmpty& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: PositiveIntegerOrEmpty myValue; diff --git a/Sourcecode/mx/core/elements/MeasureRepeatAttributes.cpp b/Sourcecode/mx/core/elements/MeasureRepeatAttributes.cpp index ce30933ee..99b4fa8d7 100755 --- a/Sourcecode/mx/core/elements/MeasureRepeatAttributes.cpp +++ b/Sourcecode/mx/core/elements/MeasureRepeatAttributes.cpp @@ -36,7 +36,7 @@ namespace mx } - bool MeasureRepeatAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool MeasureRepeatAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "MeasureRepeatAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/MeasureRepeatAttributes.h b/Sourcecode/mx/core/elements/MeasureRepeatAttributes.h index d47580acf..c4d3e265f 100755 --- a/Sourcecode/mx/core/elements/MeasureRepeatAttributes.h +++ b/Sourcecode/mx/core/elements/MeasureRepeatAttributes.h @@ -31,7 +31,8 @@ namespace mx const bool hasType; bool hasSlashes; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/MeasureStyle.cpp b/Sourcecode/mx/core/elements/MeasureStyle.cpp index e997967f8..e4c48106e 100755 --- a/Sourcecode/mx/core/elements/MeasureStyle.cpp +++ b/Sourcecode/mx/core/elements/MeasureStyle.cpp @@ -82,7 +82,7 @@ namespace mx } - bool MeasureStyle::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool MeasureStyle::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/MeasureStyle.h b/Sourcecode/mx/core/elements/MeasureStyle.h index 886777c00..18eadc175 100755 --- a/Sourcecode/mx/core/elements/MeasureStyle.h +++ b/Sourcecode/mx/core/elements/MeasureStyle.h @@ -38,7 +38,8 @@ namespace mx MeasureStyleChoicePtr getMeasureStyleChoice() const; void setMeasureStyleChoice( const MeasureStyleChoicePtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: MeasureStyleAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/MeasureStyleAttributes.cpp b/Sourcecode/mx/core/elements/MeasureStyleAttributes.cpp index a4fb8a640..9bddd1842 100755 --- a/Sourcecode/mx/core/elements/MeasureStyleAttributes.cpp +++ b/Sourcecode/mx/core/elements/MeasureStyleAttributes.cpp @@ -52,7 +52,7 @@ namespace mx } - bool MeasureStyleAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool MeasureStyleAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "MeasureStyleAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/MeasureStyleAttributes.h b/Sourcecode/mx/core/elements/MeasureStyleAttributes.h index ba16ebeb5..6f2625420 100755 --- a/Sourcecode/mx/core/elements/MeasureStyleAttributes.h +++ b/Sourcecode/mx/core/elements/MeasureStyleAttributes.h @@ -42,7 +42,8 @@ namespace mx bool hasFontWeight; bool hasColor; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/MeasureStyleChoice.cpp b/Sourcecode/mx/core/elements/MeasureStyleChoice.cpp index 76a8a6d58..c87090520 100755 --- a/Sourcecode/mx/core/elements/MeasureStyleChoice.cpp +++ b/Sourcecode/mx/core/elements/MeasureStyleChoice.cpp @@ -145,7 +145,7 @@ namespace mx } - bool MeasureStyleChoice::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool MeasureStyleChoice::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_CHOICE_IF( multipleRest, "multiple-rest", MultipleRest ); MX_CHOICE_IF( measureRepeat, "measure-repeat", MeasureRepeat ); diff --git a/Sourcecode/mx/core/elements/MeasureStyleChoice.h b/Sourcecode/mx/core/elements/MeasureStyleChoice.h index 8bb07dc7a..0a61119a5 100755 --- a/Sourcecode/mx/core/elements/MeasureStyleChoice.h +++ b/Sourcecode/mx/core/elements/MeasureStyleChoice.h @@ -52,7 +52,8 @@ namespace mx SlashPtr getSlash() const; void setSlash( const SlashPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Choice myChoice; diff --git a/Sourcecode/mx/core/elements/Membrane.cpp b/Sourcecode/mx/core/elements/Membrane.cpp index 12014d4b1..64958b52d 100755 --- a/Sourcecode/mx/core/elements/Membrane.cpp +++ b/Sourcecode/mx/core/elements/Membrane.cpp @@ -66,7 +66,7 @@ namespace mx } - bool Membrane::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Membrane::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/Membrane.h b/Sourcecode/mx/core/elements/Membrane.h index e3e30ff11..d1ad7eff7 100755 --- a/Sourcecode/mx/core/elements/Membrane.h +++ b/Sourcecode/mx/core/elements/Membrane.h @@ -37,7 +37,8 @@ namespace mx MembraneEnum getValue() const; void setValue( const MembraneEnum& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: MembraneEnum myValue; diff --git a/Sourcecode/mx/core/elements/Metal.cpp b/Sourcecode/mx/core/elements/Metal.cpp index 700a23289..b77de52e2 100755 --- a/Sourcecode/mx/core/elements/Metal.cpp +++ b/Sourcecode/mx/core/elements/Metal.cpp @@ -66,7 +66,7 @@ namespace mx } - bool Metal::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Metal::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); myValue = parseMetalEnum( xelement.getValue() ); diff --git a/Sourcecode/mx/core/elements/Metal.h b/Sourcecode/mx/core/elements/Metal.h index 46f831930..129080291 100755 --- a/Sourcecode/mx/core/elements/Metal.h +++ b/Sourcecode/mx/core/elements/Metal.h @@ -37,7 +37,8 @@ namespace mx MetalEnum getValue() const; void setValue( const MetalEnum& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: MetalEnum myValue; diff --git a/Sourcecode/mx/core/elements/Metronome.cpp b/Sourcecode/mx/core/elements/Metronome.cpp index a50645d6b..7de26c3b2 100755 --- a/Sourcecode/mx/core/elements/Metronome.cpp +++ b/Sourcecode/mx/core/elements/Metronome.cpp @@ -102,7 +102,7 @@ namespace mx */ - bool Metronome::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Metronome::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Metronome.h b/Sourcecode/mx/core/elements/Metronome.h index 91fb841d7..c75b4902c 100755 --- a/Sourcecode/mx/core/elements/Metronome.h +++ b/Sourcecode/mx/core/elements/Metronome.h @@ -38,7 +38,8 @@ namespace mx BeatUnitPerOrNoteRelationNoteChoicePtr getBeatUnitPerOrNoteRelationNoteChoice() const; void setBeatUnitPerOrNoteRelationNoteChoice( const BeatUnitPerOrNoteRelationNoteChoicePtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: MetronomeAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/MetronomeAttributes.cpp b/Sourcecode/mx/core/elements/MetronomeAttributes.cpp index 74278fcba..9b0b533b9 100755 --- a/Sourcecode/mx/core/elements/MetronomeAttributes.cpp +++ b/Sourcecode/mx/core/elements/MetronomeAttributes.cpp @@ -80,7 +80,7 @@ namespace mx } - bool MetronomeAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool MetronomeAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "MetronomeAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/MetronomeAttributes.h b/Sourcecode/mx/core/elements/MetronomeAttributes.h index d5c7cb4b2..106e4cf07 100755 --- a/Sourcecode/mx/core/elements/MetronomeAttributes.h +++ b/Sourcecode/mx/core/elements/MetronomeAttributes.h @@ -56,7 +56,8 @@ namespace mx bool hasJustify; bool hasParentheses; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/MetronomeBeam.cpp b/Sourcecode/mx/core/elements/MetronomeBeam.cpp index fa086b43c..555d36222 100755 --- a/Sourcecode/mx/core/elements/MetronomeBeam.cpp +++ b/Sourcecode/mx/core/elements/MetronomeBeam.cpp @@ -87,7 +87,7 @@ namespace mx } - bool MetronomeBeam::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool MetronomeBeam::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/MetronomeBeam.h b/Sourcecode/mx/core/elements/MetronomeBeam.h index d1e6e8afc..9a6353fa2 100755 --- a/Sourcecode/mx/core/elements/MetronomeBeam.h +++ b/Sourcecode/mx/core/elements/MetronomeBeam.h @@ -41,7 +41,8 @@ namespace mx BeamValue getValue() const; void setValue( const BeamValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: BeamValue myValue; diff --git a/Sourcecode/mx/core/elements/MetronomeBeamAttributes.cpp b/Sourcecode/mx/core/elements/MetronomeBeamAttributes.cpp index 43f72ee62..0aaaf752a 100755 --- a/Sourcecode/mx/core/elements/MetronomeBeamAttributes.cpp +++ b/Sourcecode/mx/core/elements/MetronomeBeamAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool MetronomeBeamAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool MetronomeBeamAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "MetronomeBeamAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/MetronomeBeamAttributes.h b/Sourcecode/mx/core/elements/MetronomeBeamAttributes.h index c8b12f353..01305a9d3 100755 --- a/Sourcecode/mx/core/elements/MetronomeBeamAttributes.h +++ b/Sourcecode/mx/core/elements/MetronomeBeamAttributes.h @@ -28,7 +28,8 @@ namespace mx BeamLevel number; bool hasNumber; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/MetronomeDot.cpp b/Sourcecode/mx/core/elements/MetronomeDot.cpp index 13620852a..e5e301dc7 100755 --- a/Sourcecode/mx/core/elements/MetronomeDot.cpp +++ b/Sourcecode/mx/core/elements/MetronomeDot.cpp @@ -27,7 +27,7 @@ namespace mx } - bool MetronomeDot::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool MetronomeDot::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/MetronomeDot.h b/Sourcecode/mx/core/elements/MetronomeDot.h index 3f7854eef..f57d9dc0a 100755 --- a/Sourcecode/mx/core/elements/MetronomeDot.h +++ b/Sourcecode/mx/core/elements/MetronomeDot.h @@ -31,7 +31,8 @@ namespace mx virtual std::ostream& streamName( std::ostream& os ) const; virtual std::ostream& streamContents( std::ostream& os, const int indentLevel, bool& isOneLineOnly ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/MetronomeNote.cpp b/Sourcecode/mx/core/elements/MetronomeNote.cpp index a891c5761..c3b23ebbb 100755 --- a/Sourcecode/mx/core/elements/MetronomeNote.cpp +++ b/Sourcecode/mx/core/elements/MetronomeNote.cpp @@ -195,7 +195,7 @@ namespace mx } - bool MetronomeNote::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool MetronomeNote::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; bool isMetronomeTypeFound = false; diff --git a/Sourcecode/mx/core/elements/MetronomeNote.h b/Sourcecode/mx/core/elements/MetronomeNote.h index beb9615ef..0d88d91a5 100755 --- a/Sourcecode/mx/core/elements/MetronomeNote.h +++ b/Sourcecode/mx/core/elements/MetronomeNote.h @@ -59,7 +59,8 @@ namespace mx bool getHasMetronomeTuplet() const; void setHasMetronomeTuplet( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: MetronomeTypePtr myMetronomeType; diff --git a/Sourcecode/mx/core/elements/MetronomeRelation.cpp b/Sourcecode/mx/core/elements/MetronomeRelation.cpp index d529bff4e..f0631775e 100755 --- a/Sourcecode/mx/core/elements/MetronomeRelation.cpp +++ b/Sourcecode/mx/core/elements/MetronomeRelation.cpp @@ -66,7 +66,7 @@ namespace mx } - bool MetronomeRelation::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool MetronomeRelation::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); myValue.setValue( xelement.getValue() ); diff --git a/Sourcecode/mx/core/elements/MetronomeRelation.h b/Sourcecode/mx/core/elements/MetronomeRelation.h index bb4632e1d..43f0e1b94 100755 --- a/Sourcecode/mx/core/elements/MetronomeRelation.h +++ b/Sourcecode/mx/core/elements/MetronomeRelation.h @@ -35,7 +35,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/MetronomeRelationGroup.h b/Sourcecode/mx/core/elements/MetronomeRelationGroup.h index b9657bd8b..ee4510018 100755 --- a/Sourcecode/mx/core/elements/MetronomeRelationGroup.h +++ b/Sourcecode/mx/core/elements/MetronomeRelationGroup.h @@ -41,7 +41,8 @@ namespace mx MetronomeNotePtr getMetronomeNote() const; void setMetronomeNote( const MetronomeNotePtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: MetronomeRelationPtr myMetronomeRelation; diff --git a/Sourcecode/mx/core/elements/MetronomeTuplet.cpp b/Sourcecode/mx/core/elements/MetronomeTuplet.cpp index 8742d66f0..d07cdc2f3 100755 --- a/Sourcecode/mx/core/elements/MetronomeTuplet.cpp +++ b/Sourcecode/mx/core/elements/MetronomeTuplet.cpp @@ -136,7 +136,7 @@ namespace mx } - bool MetronomeTuplet::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool MetronomeTuplet::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/MetronomeTuplet.h b/Sourcecode/mx/core/elements/MetronomeTuplet.h index d8a33e775..27be28f4d 100755 --- a/Sourcecode/mx/core/elements/MetronomeTuplet.h +++ b/Sourcecode/mx/core/elements/MetronomeTuplet.h @@ -53,7 +53,8 @@ namespace mx bool getHasTimeModificationNormalTypeNormalDot() const; void setHasTimeModificationNormalTypeNormalDot( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: MetronomeTupletAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/MetronomeTupletAttributes.cpp b/Sourcecode/mx/core/elements/MetronomeTupletAttributes.cpp index 47aaa72cf..ccabacbbf 100755 --- a/Sourcecode/mx/core/elements/MetronomeTupletAttributes.cpp +++ b/Sourcecode/mx/core/elements/MetronomeTupletAttributes.cpp @@ -40,7 +40,7 @@ namespace mx } - bool MetronomeTupletAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool MetronomeTupletAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "MetronomeTupletAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/MetronomeTupletAttributes.h b/Sourcecode/mx/core/elements/MetronomeTupletAttributes.h index af98cfb12..284d813b0 100755 --- a/Sourcecode/mx/core/elements/MetronomeTupletAttributes.h +++ b/Sourcecode/mx/core/elements/MetronomeTupletAttributes.h @@ -32,7 +32,8 @@ namespace mx bool hasBracket; bool hasShowNumber; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/MetronomeType.cpp b/Sourcecode/mx/core/elements/MetronomeType.cpp index 36e8a743f..91980da5b 100755 --- a/Sourcecode/mx/core/elements/MetronomeType.cpp +++ b/Sourcecode/mx/core/elements/MetronomeType.cpp @@ -66,7 +66,7 @@ namespace mx } - bool MetronomeType::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool MetronomeType::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); myValue = parseNoteTypeValue( xelement.getValue() ); diff --git a/Sourcecode/mx/core/elements/MetronomeType.h b/Sourcecode/mx/core/elements/MetronomeType.h index 2c4631f79..ee051452b 100755 --- a/Sourcecode/mx/core/elements/MetronomeType.h +++ b/Sourcecode/mx/core/elements/MetronomeType.h @@ -37,7 +37,8 @@ namespace mx NoteTypeValue getValue() const; void setValue( const NoteTypeValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: NoteTypeValue myValue; diff --git a/Sourcecode/mx/core/elements/MidiBank.cpp b/Sourcecode/mx/core/elements/MidiBank.cpp index d14c1bcc9..adc6d51b2 100755 --- a/Sourcecode/mx/core/elements/MidiBank.cpp +++ b/Sourcecode/mx/core/elements/MidiBank.cpp @@ -66,7 +66,7 @@ namespace mx } - bool MidiBank::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool MidiBank::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/MidiBank.h b/Sourcecode/mx/core/elements/MidiBank.h index ec4e01338..187c9fd55 100755 --- a/Sourcecode/mx/core/elements/MidiBank.h +++ b/Sourcecode/mx/core/elements/MidiBank.h @@ -37,7 +37,8 @@ namespace mx Midi16384 getValue() const; void setValue( const Midi16384& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Midi16384 myValue; diff --git a/Sourcecode/mx/core/elements/MidiChannel.cpp b/Sourcecode/mx/core/elements/MidiChannel.cpp index 33c2c6dca..daefd42af 100755 --- a/Sourcecode/mx/core/elements/MidiChannel.cpp +++ b/Sourcecode/mx/core/elements/MidiChannel.cpp @@ -66,7 +66,7 @@ namespace mx } - bool MidiChannel::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool MidiChannel::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/MidiChannel.h b/Sourcecode/mx/core/elements/MidiChannel.h index ee25f0e21..beca1e138 100755 --- a/Sourcecode/mx/core/elements/MidiChannel.h +++ b/Sourcecode/mx/core/elements/MidiChannel.h @@ -37,7 +37,8 @@ namespace mx Midi16 getValue() const; void setValue( const Midi16& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Midi16 myValue; diff --git a/Sourcecode/mx/core/elements/MidiDevice.cpp b/Sourcecode/mx/core/elements/MidiDevice.cpp index b715b5e3a..55612f4ac 100755 --- a/Sourcecode/mx/core/elements/MidiDevice.cpp +++ b/Sourcecode/mx/core/elements/MidiDevice.cpp @@ -87,7 +87,7 @@ namespace mx } - bool MidiDevice::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool MidiDevice::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/MidiDevice.h b/Sourcecode/mx/core/elements/MidiDevice.h index b94c5e162..8c875ac26 100755 --- a/Sourcecode/mx/core/elements/MidiDevice.h +++ b/Sourcecode/mx/core/elements/MidiDevice.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/MidiDeviceAttributes.cpp b/Sourcecode/mx/core/elements/MidiDeviceAttributes.cpp index 693ba1d32..e1cea2ae6 100755 --- a/Sourcecode/mx/core/elements/MidiDeviceAttributes.cpp +++ b/Sourcecode/mx/core/elements/MidiDeviceAttributes.cpp @@ -36,7 +36,7 @@ namespace mx } - bool MidiDeviceAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool MidiDeviceAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "MidiDeviceAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/MidiDeviceAttributes.h b/Sourcecode/mx/core/elements/MidiDeviceAttributes.h index 5a1a23058..24b5a9ed2 100755 --- a/Sourcecode/mx/core/elements/MidiDeviceAttributes.h +++ b/Sourcecode/mx/core/elements/MidiDeviceAttributes.h @@ -31,7 +31,8 @@ namespace mx bool hasPort; bool hasId; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/MidiDeviceInstrumentGroup.h b/Sourcecode/mx/core/elements/MidiDeviceInstrumentGroup.h index 7ea7c9f2d..968953832 100755 --- a/Sourcecode/mx/core/elements/MidiDeviceInstrumentGroup.h +++ b/Sourcecode/mx/core/elements/MidiDeviceInstrumentGroup.h @@ -45,7 +45,8 @@ namespace mx bool getHasMidiInstrument() const; void setHasMidiInstrument( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: MidiDevicePtr myMidiDevice; diff --git a/Sourcecode/mx/core/elements/MidiInstrument.cpp b/Sourcecode/mx/core/elements/MidiInstrument.cpp index 75a1faaf8..fecbe56d4 100755 --- a/Sourcecode/mx/core/elements/MidiInstrument.cpp +++ b/Sourcecode/mx/core/elements/MidiInstrument.cpp @@ -357,7 +357,7 @@ namespace mx } - bool MidiInstrument::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool MidiInstrument::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/MidiInstrument.h b/Sourcecode/mx/core/elements/MidiInstrument.h index 0c7029506..d53434456 100755 --- a/Sourcecode/mx/core/elements/MidiInstrument.h +++ b/Sourcecode/mx/core/elements/MidiInstrument.h @@ -91,7 +91,8 @@ namespace mx bool getHasElevation() const; void setHasElevation( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: MidiInstrumentAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/MidiInstrumentAttributes.cpp b/Sourcecode/mx/core/elements/MidiInstrumentAttributes.cpp index 5a20de812..c2bb29bf3 100755 --- a/Sourcecode/mx/core/elements/MidiInstrumentAttributes.cpp +++ b/Sourcecode/mx/core/elements/MidiInstrumentAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool MidiInstrumentAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool MidiInstrumentAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "MidiInstrumentAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/MidiInstrumentAttributes.h b/Sourcecode/mx/core/elements/MidiInstrumentAttributes.h index fc0407698..6f10c3f6d 100755 --- a/Sourcecode/mx/core/elements/MidiInstrumentAttributes.h +++ b/Sourcecode/mx/core/elements/MidiInstrumentAttributes.h @@ -28,7 +28,8 @@ namespace mx XsIDREF id; const bool hasId; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/MidiName.cpp b/Sourcecode/mx/core/elements/MidiName.cpp index 06f23225d..09b314413 100755 --- a/Sourcecode/mx/core/elements/MidiName.cpp +++ b/Sourcecode/mx/core/elements/MidiName.cpp @@ -66,7 +66,7 @@ namespace mx } - bool MidiName::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool MidiName::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/MidiName.h b/Sourcecode/mx/core/elements/MidiName.h index 2aabb8364..fc22508e9 100755 --- a/Sourcecode/mx/core/elements/MidiName.h +++ b/Sourcecode/mx/core/elements/MidiName.h @@ -37,7 +37,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/MidiProgram.cpp b/Sourcecode/mx/core/elements/MidiProgram.cpp index 7a4ebbe3e..46f42ec6a 100755 --- a/Sourcecode/mx/core/elements/MidiProgram.cpp +++ b/Sourcecode/mx/core/elements/MidiProgram.cpp @@ -66,7 +66,7 @@ namespace mx } - bool MidiProgram::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool MidiProgram::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/MidiProgram.h b/Sourcecode/mx/core/elements/MidiProgram.h index a9b650b0f..b0d99253a 100755 --- a/Sourcecode/mx/core/elements/MidiProgram.h +++ b/Sourcecode/mx/core/elements/MidiProgram.h @@ -37,7 +37,8 @@ namespace mx Midi128 getValue() const; void setValue( const Midi128& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Midi128 myValue; diff --git a/Sourcecode/mx/core/elements/MidiUnpitched.cpp b/Sourcecode/mx/core/elements/MidiUnpitched.cpp index b4f32a6db..ecd186c64 100755 --- a/Sourcecode/mx/core/elements/MidiUnpitched.cpp +++ b/Sourcecode/mx/core/elements/MidiUnpitched.cpp @@ -66,7 +66,7 @@ namespace mx } - bool MidiUnpitched::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool MidiUnpitched::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/MidiUnpitched.h b/Sourcecode/mx/core/elements/MidiUnpitched.h index ddcae90bf..397da0d42 100755 --- a/Sourcecode/mx/core/elements/MidiUnpitched.h +++ b/Sourcecode/mx/core/elements/MidiUnpitched.h @@ -37,7 +37,8 @@ namespace mx Midi128 getValue() const; void setValue( const Midi128& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Midi128 myValue; diff --git a/Sourcecode/mx/core/elements/Millimeters.cpp b/Sourcecode/mx/core/elements/Millimeters.cpp index ec57b4abb..94315f4ae 100755 --- a/Sourcecode/mx/core/elements/Millimeters.cpp +++ b/Sourcecode/mx/core/elements/Millimeters.cpp @@ -66,7 +66,7 @@ namespace mx } - bool Millimeters::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Millimeters::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/Millimeters.h b/Sourcecode/mx/core/elements/Millimeters.h index ce616f3d5..e83ef7956 100755 --- a/Sourcecode/mx/core/elements/Millimeters.h +++ b/Sourcecode/mx/core/elements/Millimeters.h @@ -37,7 +37,8 @@ namespace mx MillimetersValue getValue() const; void setValue( const MillimetersValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: MillimetersValue myValue; diff --git a/Sourcecode/mx/core/elements/Miscellaneous.cpp b/Sourcecode/mx/core/elements/Miscellaneous.cpp index 1bb912724..01e558403 100755 --- a/Sourcecode/mx/core/elements/Miscellaneous.cpp +++ b/Sourcecode/mx/core/elements/Miscellaneous.cpp @@ -101,7 +101,7 @@ namespace mx } - bool Miscellaneous::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Miscellaneous::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/Miscellaneous.h b/Sourcecode/mx/core/elements/Miscellaneous.h index 2f7e7e538..a7687c14e 100755 --- a/Sourcecode/mx/core/elements/Miscellaneous.h +++ b/Sourcecode/mx/core/elements/Miscellaneous.h @@ -39,7 +39,8 @@ namespace mx void clearMiscellaneousFieldSet(); MiscellaneousFieldPtr getMiscellaneousField( const MiscellaneousFieldSetIterConst& setIterator ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: MiscellaneousFieldSet myMiscellaneousFieldSet; diff --git a/Sourcecode/mx/core/elements/MiscellaneousField.cpp b/Sourcecode/mx/core/elements/MiscellaneousField.cpp index bcd785463..1bd2bdddc 100755 --- a/Sourcecode/mx/core/elements/MiscellaneousField.cpp +++ b/Sourcecode/mx/core/elements/MiscellaneousField.cpp @@ -87,7 +87,7 @@ namespace mx } - bool MiscellaneousField::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool MiscellaneousField::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/MiscellaneousField.h b/Sourcecode/mx/core/elements/MiscellaneousField.h index 97811ed0a..eab00b17c 100755 --- a/Sourcecode/mx/core/elements/MiscellaneousField.h +++ b/Sourcecode/mx/core/elements/MiscellaneousField.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/MiscellaneousFieldAttributes.cpp b/Sourcecode/mx/core/elements/MiscellaneousFieldAttributes.cpp index 27ac04c44..f014db482 100755 --- a/Sourcecode/mx/core/elements/MiscellaneousFieldAttributes.cpp +++ b/Sourcecode/mx/core/elements/MiscellaneousFieldAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool MiscellaneousFieldAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool MiscellaneousFieldAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "MiscellaneousFieldAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/MiscellaneousFieldAttributes.h b/Sourcecode/mx/core/elements/MiscellaneousFieldAttributes.h index 7733439a0..97dde8944 100755 --- a/Sourcecode/mx/core/elements/MiscellaneousFieldAttributes.h +++ b/Sourcecode/mx/core/elements/MiscellaneousFieldAttributes.h @@ -28,7 +28,8 @@ namespace mx XsToken name; const bool hasName; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Mode.cpp b/Sourcecode/mx/core/elements/Mode.cpp index bcedab1e6..e76920d17 100755 --- a/Sourcecode/mx/core/elements/Mode.cpp +++ b/Sourcecode/mx/core/elements/Mode.cpp @@ -66,7 +66,7 @@ namespace mx } - bool Mode::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Mode::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/Mode.h b/Sourcecode/mx/core/elements/Mode.h index 13173e259..689e76d69 100755 --- a/Sourcecode/mx/core/elements/Mode.h +++ b/Sourcecode/mx/core/elements/Mode.h @@ -37,7 +37,8 @@ namespace mx ModeValue getValue() const; void setValue( const ModeValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: ModeValue myValue; diff --git a/Sourcecode/mx/core/elements/Mordent.cpp b/Sourcecode/mx/core/elements/Mordent.cpp index f8557b682..fc6b0eb5d 100755 --- a/Sourcecode/mx/core/elements/Mordent.cpp +++ b/Sourcecode/mx/core/elements/Mordent.cpp @@ -63,7 +63,7 @@ namespace mx } - bool Mordent::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Mordent::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Mordent.h b/Sourcecode/mx/core/elements/Mordent.h index dfeece542..f5b57981c 100755 --- a/Sourcecode/mx/core/elements/Mordent.h +++ b/Sourcecode/mx/core/elements/Mordent.h @@ -35,7 +35,8 @@ namespace mx MordentAttributesPtr getAttributes() const; void setAttributes( const MordentAttributesPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: MordentAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/MordentAttributes.cpp b/Sourcecode/mx/core/elements/MordentAttributes.cpp index f3057c61a..72b8feb2e 100755 --- a/Sourcecode/mx/core/elements/MordentAttributes.cpp +++ b/Sourcecode/mx/core/elements/MordentAttributes.cpp @@ -108,7 +108,7 @@ namespace mx } - bool MordentAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool MordentAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "MordentAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/MordentAttributes.h b/Sourcecode/mx/core/elements/MordentAttributes.h index d39456f66..df3dd6531 100755 --- a/Sourcecode/mx/core/elements/MordentAttributes.h +++ b/Sourcecode/mx/core/elements/MordentAttributes.h @@ -70,7 +70,8 @@ namespace mx bool hasApproach; bool hasDeparture; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/MovementNumber.cpp b/Sourcecode/mx/core/elements/MovementNumber.cpp index cbe18d61c..d6114f711 100755 --- a/Sourcecode/mx/core/elements/MovementNumber.cpp +++ b/Sourcecode/mx/core/elements/MovementNumber.cpp @@ -66,7 +66,7 @@ namespace mx } - bool MovementNumber::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool MovementNumber::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/MovementNumber.h b/Sourcecode/mx/core/elements/MovementNumber.h index 96318823e..b56f9bdb5 100755 --- a/Sourcecode/mx/core/elements/MovementNumber.h +++ b/Sourcecode/mx/core/elements/MovementNumber.h @@ -37,7 +37,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/MovementTitle.cpp b/Sourcecode/mx/core/elements/MovementTitle.cpp index e2a5b187d..26fc67a5f 100755 --- a/Sourcecode/mx/core/elements/MovementTitle.cpp +++ b/Sourcecode/mx/core/elements/MovementTitle.cpp @@ -66,7 +66,7 @@ namespace mx } - bool MovementTitle::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool MovementTitle::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/MovementTitle.h b/Sourcecode/mx/core/elements/MovementTitle.h index 9ad1b1fac..0975b3afe 100755 --- a/Sourcecode/mx/core/elements/MovementTitle.h +++ b/Sourcecode/mx/core/elements/MovementTitle.h @@ -37,7 +37,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/MultipleRest.cpp b/Sourcecode/mx/core/elements/MultipleRest.cpp index fa3f413f5..5847cff68 100755 --- a/Sourcecode/mx/core/elements/MultipleRest.cpp +++ b/Sourcecode/mx/core/elements/MultipleRest.cpp @@ -87,7 +87,7 @@ namespace mx } - bool MultipleRest::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool MultipleRest::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/MultipleRest.h b/Sourcecode/mx/core/elements/MultipleRest.h index adcd4de12..d4342b99d 100755 --- a/Sourcecode/mx/core/elements/MultipleRest.h +++ b/Sourcecode/mx/core/elements/MultipleRest.h @@ -41,7 +41,8 @@ namespace mx PositiveIntegerOrEmpty getValue() const; void setValue( const PositiveIntegerOrEmpty& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: PositiveIntegerOrEmpty myValue; diff --git a/Sourcecode/mx/core/elements/MultipleRestAttributes.cpp b/Sourcecode/mx/core/elements/MultipleRestAttributes.cpp index 66bfa3c49..76488eb35 100755 --- a/Sourcecode/mx/core/elements/MultipleRestAttributes.cpp +++ b/Sourcecode/mx/core/elements/MultipleRestAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool MultipleRestAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool MultipleRestAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "MultipleRestAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/MultipleRestAttributes.h b/Sourcecode/mx/core/elements/MultipleRestAttributes.h index 0c6371e02..372651099 100755 --- a/Sourcecode/mx/core/elements/MultipleRestAttributes.h +++ b/Sourcecode/mx/core/elements/MultipleRestAttributes.h @@ -28,7 +28,8 @@ namespace mx YesNo useSymbols; bool hasUseSymbols; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/MusicDataChoice.h b/Sourcecode/mx/core/elements/MusicDataChoice.h index 36c812387..89f193514 100755 --- a/Sourcecode/mx/core/elements/MusicDataChoice.h +++ b/Sourcecode/mx/core/elements/MusicDataChoice.h @@ -116,7 +116,8 @@ namespace mx BookmarkPtr getBookmark() const; void setBookmark( const BookmarkPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: MX_MUTEX diff --git a/Sourcecode/mx/core/elements/MusicDataGroup.h b/Sourcecode/mx/core/elements/MusicDataGroup.h index 2316f7b20..757f42b82 100755 --- a/Sourcecode/mx/core/elements/MusicDataGroup.h +++ b/Sourcecode/mx/core/elements/MusicDataGroup.h @@ -39,7 +39,8 @@ namespace mx void clearMusicDataChoiceSet(); MusicDataChoicePtr getMusicDataChoice( const MusicDataChoiceSetIterConst& setIterator ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: MusicDataChoiceSet myMusicDataChoiceSet; diff --git a/Sourcecode/mx/core/elements/MusicFont.cpp b/Sourcecode/mx/core/elements/MusicFont.cpp index 799a10da3..6c163eb3c 100755 --- a/Sourcecode/mx/core/elements/MusicFont.cpp +++ b/Sourcecode/mx/core/elements/MusicFont.cpp @@ -57,7 +57,7 @@ namespace mx } - bool MusicFont::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool MusicFont::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/MusicFont.h b/Sourcecode/mx/core/elements/MusicFont.h index b362b1652..87f7b4c4e 100755 --- a/Sourcecode/mx/core/elements/MusicFont.h +++ b/Sourcecode/mx/core/elements/MusicFont.h @@ -35,7 +35,8 @@ namespace mx EmptyFontAttributesPtr getAttributes() const; void setAttributes( const EmptyFontAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: EmptyFontAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/Mute.cpp b/Sourcecode/mx/core/elements/Mute.cpp index e8f79cf53..8ac2262ec 100755 --- a/Sourcecode/mx/core/elements/Mute.cpp +++ b/Sourcecode/mx/core/elements/Mute.cpp @@ -66,7 +66,7 @@ namespace mx } - bool Mute::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Mute::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); myValue = parseMuteEnum( xelement.getValue() ); diff --git a/Sourcecode/mx/core/elements/Mute.h b/Sourcecode/mx/core/elements/Mute.h index 978b36760..682af5d65 100755 --- a/Sourcecode/mx/core/elements/Mute.h +++ b/Sourcecode/mx/core/elements/Mute.h @@ -37,7 +37,8 @@ namespace mx MuteEnum getValue() const; void setValue( const MuteEnum& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: MuteEnum myValue; diff --git a/Sourcecode/mx/core/elements/Natural.cpp b/Sourcecode/mx/core/elements/Natural.cpp index f6619a963..e65af9508 100755 --- a/Sourcecode/mx/core/elements/Natural.cpp +++ b/Sourcecode/mx/core/elements/Natural.cpp @@ -27,7 +27,7 @@ namespace mx } - bool Natural::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Natural::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/Natural.h b/Sourcecode/mx/core/elements/Natural.h index 11446aef0..499f11db5 100755 --- a/Sourcecode/mx/core/elements/Natural.h +++ b/Sourcecode/mx/core/elements/Natural.h @@ -31,7 +31,8 @@ namespace mx virtual std::ostream& streamName( std::ostream& os ) const; virtual std::ostream& streamContents( std::ostream& os, const int indentLevel, bool& isOneLineOnly ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/NonArpeggiate.cpp b/Sourcecode/mx/core/elements/NonArpeggiate.cpp index bd91ced6d..376bebdaa 100755 --- a/Sourcecode/mx/core/elements/NonArpeggiate.cpp +++ b/Sourcecode/mx/core/elements/NonArpeggiate.cpp @@ -57,7 +57,7 @@ namespace mx } - bool NonArpeggiate::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool NonArpeggiate::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/NonArpeggiate.h b/Sourcecode/mx/core/elements/NonArpeggiate.h index 15e823523..8b760d9e4 100755 --- a/Sourcecode/mx/core/elements/NonArpeggiate.h +++ b/Sourcecode/mx/core/elements/NonArpeggiate.h @@ -35,7 +35,8 @@ namespace mx NonArpeggiateAttributesPtr getAttributes() const; void setAttributes( const NonArpeggiateAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: NonArpeggiateAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/NonArpeggiateAttributes.cpp b/Sourcecode/mx/core/elements/NonArpeggiateAttributes.cpp index ee397a14f..a9715a5e8 100755 --- a/Sourcecode/mx/core/elements/NonArpeggiateAttributes.cpp +++ b/Sourcecode/mx/core/elements/NonArpeggiateAttributes.cpp @@ -56,7 +56,7 @@ namespace mx } - bool NonArpeggiateAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool NonArpeggiateAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "NonArpeggiateAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/NonArpeggiateAttributes.h b/Sourcecode/mx/core/elements/NonArpeggiateAttributes.h index 143a96ea2..892806777 100755 --- a/Sourcecode/mx/core/elements/NonArpeggiateAttributes.h +++ b/Sourcecode/mx/core/elements/NonArpeggiateAttributes.h @@ -42,7 +42,8 @@ namespace mx bool hasRelativeY; bool hasPlacement; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/NonTraditionalKey.cpp b/Sourcecode/mx/core/elements/NonTraditionalKey.cpp index e026b3fe6..a502afe88 100755 --- a/Sourcecode/mx/core/elements/NonTraditionalKey.cpp +++ b/Sourcecode/mx/core/elements/NonTraditionalKey.cpp @@ -123,7 +123,7 @@ namespace mx } - bool NonTraditionalKey::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool NonTraditionalKey::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; bool isKeyStepFound = false; diff --git a/Sourcecode/mx/core/elements/NonTraditionalKey.h b/Sourcecode/mx/core/elements/NonTraditionalKey.h index e6a659946..fdb44c3ec 100755 --- a/Sourcecode/mx/core/elements/NonTraditionalKey.h +++ b/Sourcecode/mx/core/elements/NonTraditionalKey.h @@ -42,7 +42,8 @@ namespace mx bool getHasKeyAccidental() const; void setHasKeyAccidental( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: KeyStepPtr myKeyStep; diff --git a/Sourcecode/mx/core/elements/NormalDot.cpp b/Sourcecode/mx/core/elements/NormalDot.cpp index 4b36f19d0..2b3cda51c 100755 --- a/Sourcecode/mx/core/elements/NormalDot.cpp +++ b/Sourcecode/mx/core/elements/NormalDot.cpp @@ -27,7 +27,7 @@ namespace mx } - bool NormalDot::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool NormalDot::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/NormalDot.h b/Sourcecode/mx/core/elements/NormalDot.h index 7a9c60ebe..82006bbc4 100755 --- a/Sourcecode/mx/core/elements/NormalDot.h +++ b/Sourcecode/mx/core/elements/NormalDot.h @@ -31,7 +31,8 @@ namespace mx virtual std::ostream& streamName( std::ostream& os ) const; virtual std::ostream& streamContents( std::ostream& os, const int indentLevel, bool& isOneLineOnly ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/NormalNoteGroup.h b/Sourcecode/mx/core/elements/NormalNoteGroup.h index d43901fdc..c29d90904 100755 --- a/Sourcecode/mx/core/elements/NormalNoteGroup.h +++ b/Sourcecode/mx/core/elements/NormalNoteGroup.h @@ -49,7 +49,8 @@ namespace mx void clearTieSet(); TiePtr getTie( const TieSetIterConst& setIterator ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: FullNoteGroupPtr myFullNoteGroup; diff --git a/Sourcecode/mx/core/elements/NormalNotes.cpp b/Sourcecode/mx/core/elements/NormalNotes.cpp index 9ff6a5f0d..f3490b8b7 100755 --- a/Sourcecode/mx/core/elements/NormalNotes.cpp +++ b/Sourcecode/mx/core/elements/NormalNotes.cpp @@ -66,7 +66,7 @@ namespace mx } - bool NormalNotes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool NormalNotes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/NormalNotes.h b/Sourcecode/mx/core/elements/NormalNotes.h index ce2e3f5ed..b339970b2 100755 --- a/Sourcecode/mx/core/elements/NormalNotes.h +++ b/Sourcecode/mx/core/elements/NormalNotes.h @@ -37,7 +37,8 @@ namespace mx NonNegativeInteger getValue() const; void setValue( const NonNegativeInteger& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: NonNegativeInteger myValue; diff --git a/Sourcecode/mx/core/elements/NormalType.cpp b/Sourcecode/mx/core/elements/NormalType.cpp index 3b0a8587c..de6997c0e 100755 --- a/Sourcecode/mx/core/elements/NormalType.cpp +++ b/Sourcecode/mx/core/elements/NormalType.cpp @@ -66,7 +66,7 @@ namespace mx } - bool NormalType::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool NormalType::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); myValue = parseNoteTypeValue( xelement.getValue() ); diff --git a/Sourcecode/mx/core/elements/NormalType.h b/Sourcecode/mx/core/elements/NormalType.h index 1c8844578..c388d1c46 100755 --- a/Sourcecode/mx/core/elements/NormalType.h +++ b/Sourcecode/mx/core/elements/NormalType.h @@ -37,7 +37,8 @@ namespace mx NoteTypeValue getValue() const; void setValue( const NoteTypeValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: NoteTypeValue myValue; diff --git a/Sourcecode/mx/core/elements/NormalTypeNormalDotGroup.cpp b/Sourcecode/mx/core/elements/NormalTypeNormalDotGroup.cpp index d7d50ca9e..233583919 100755 --- a/Sourcecode/mx/core/elements/NormalTypeNormalDotGroup.cpp +++ b/Sourcecode/mx/core/elements/NormalTypeNormalDotGroup.cpp @@ -110,7 +110,7 @@ namespace mx } - bool NormalTypeNormalDotGroup::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool NormalTypeNormalDotGroup::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; bool isNormalTypeFound = false; diff --git a/Sourcecode/mx/core/elements/NormalTypeNormalDotGroup.h b/Sourcecode/mx/core/elements/NormalTypeNormalDotGroup.h index 9008000d7..eaf5135d2 100755 --- a/Sourcecode/mx/core/elements/NormalTypeNormalDotGroup.h +++ b/Sourcecode/mx/core/elements/NormalTypeNormalDotGroup.h @@ -44,7 +44,8 @@ namespace mx void clearNormalDotSet(); NormalDotPtr getNormalDot( const NormalDotSetIterConst& setIterator ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: NormalTypePtr myNormalType; diff --git a/Sourcecode/mx/core/elements/Notations.cpp b/Sourcecode/mx/core/elements/Notations.cpp index 93cf5da67..5ad58ab3c 100755 --- a/Sourcecode/mx/core/elements/Notations.cpp +++ b/Sourcecode/mx/core/elements/Notations.cpp @@ -155,7 +155,7 @@ namespace mx } - bool Notations::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Notations::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Notations.h b/Sourcecode/mx/core/elements/Notations.h index 3bad5aaae..fb66fdcbc 100755 --- a/Sourcecode/mx/core/elements/Notations.h +++ b/Sourcecode/mx/core/elements/Notations.h @@ -48,7 +48,8 @@ namespace mx void clearNotationsChoiceSet(); NotationsChoicePtr getNotationsChoice( const NotationsChoiceSetIterConst& setIterator ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: NotationsAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/NotationsAttributes.cpp b/Sourcecode/mx/core/elements/NotationsAttributes.cpp index c040fcf53..1b1e2e4ad 100755 --- a/Sourcecode/mx/core/elements/NotationsAttributes.cpp +++ b/Sourcecode/mx/core/elements/NotationsAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool NotationsAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool NotationsAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "NotationsAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/NotationsAttributes.h b/Sourcecode/mx/core/elements/NotationsAttributes.h index 3de578a0a..11d31a2d5 100755 --- a/Sourcecode/mx/core/elements/NotationsAttributes.h +++ b/Sourcecode/mx/core/elements/NotationsAttributes.h @@ -28,7 +28,8 @@ namespace mx YesNo printObject; bool hasPrintObject; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/NotationsChoice.h b/Sourcecode/mx/core/elements/NotationsChoice.h index f81f49b9c..fa1b374b8 100755 --- a/Sourcecode/mx/core/elements/NotationsChoice.h +++ b/Sourcecode/mx/core/elements/NotationsChoice.h @@ -122,7 +122,8 @@ namespace mx OtherNotationPtr getOtherNotation() const; void setOtherNotation( const OtherNotationPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Choice myChoice; diff --git a/Sourcecode/mx/core/elements/Note.cpp b/Sourcecode/mx/core/elements/Note.cpp index 5b8fedeb7..7855af046 100755 --- a/Sourcecode/mx/core/elements/Note.cpp +++ b/Sourcecode/mx/core/elements/Note.cpp @@ -649,7 +649,7 @@ namespace mx } - bool Note::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Note::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; bool isNoteChoiceFound = false; diff --git a/Sourcecode/mx/core/elements/Note.h b/Sourcecode/mx/core/elements/Note.h index 61041a1d5..d99ebb27e 100755 --- a/Sourcecode/mx/core/elements/Note.h +++ b/Sourcecode/mx/core/elements/Note.h @@ -147,7 +147,8 @@ namespace mx bool getHasPlay() const; void setHasPlay( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: MX_MUTEX diff --git a/Sourcecode/mx/core/elements/NoteAttributes.cpp b/Sourcecode/mx/core/elements/NoteAttributes.cpp index 9507e4436..ac7d5cdce 100755 --- a/Sourcecode/mx/core/elements/NoteAttributes.cpp +++ b/Sourcecode/mx/core/elements/NoteAttributes.cpp @@ -104,7 +104,7 @@ namespace mx } - bool NoteAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool NoteAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "NoteAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/NoteAttributes.h b/Sourcecode/mx/core/elements/NoteAttributes.h index deea3ff62..8db3b26ed 100755 --- a/Sourcecode/mx/core/elements/NoteAttributes.h +++ b/Sourcecode/mx/core/elements/NoteAttributes.h @@ -68,7 +68,8 @@ namespace mx bool hasTimeOnly; bool hasPizzicato; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/NoteChoice.h b/Sourcecode/mx/core/elements/NoteChoice.h index 5799e1f8e..c6d464c34 100755 --- a/Sourcecode/mx/core/elements/NoteChoice.h +++ b/Sourcecode/mx/core/elements/NoteChoice.h @@ -56,7 +56,8 @@ namespace mx NormalNoteGroupPtr getNormalNoteGroup() const; void setNormalNoteGroup( const NormalNoteGroupPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Choice myChoice; diff --git a/Sourcecode/mx/core/elements/NoteRelationNote.cpp b/Sourcecode/mx/core/elements/NoteRelationNote.cpp index d7c7d332b..48ad47560 100755 --- a/Sourcecode/mx/core/elements/NoteRelationNote.cpp +++ b/Sourcecode/mx/core/elements/NoteRelationNote.cpp @@ -128,7 +128,7 @@ namespace mx } - bool NoteRelationNote::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool NoteRelationNote::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/NoteRelationNote.h b/Sourcecode/mx/core/elements/NoteRelationNote.h index 9823e42df..fb40efe81 100755 --- a/Sourcecode/mx/core/elements/NoteRelationNote.h +++ b/Sourcecode/mx/core/elements/NoteRelationNote.h @@ -45,7 +45,8 @@ namespace mx bool getHasMetronomeRelationGroup() const; void setHasMetronomeRelationGroup( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: MetronomeNoteSet myMetronomeNoteSet; diff --git a/Sourcecode/mx/core/elements/NoteSize.cpp b/Sourcecode/mx/core/elements/NoteSize.cpp index 26c95c85a..0d466adcf 100755 --- a/Sourcecode/mx/core/elements/NoteSize.cpp +++ b/Sourcecode/mx/core/elements/NoteSize.cpp @@ -87,7 +87,7 @@ namespace mx } - bool NoteSize::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool NoteSize::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/NoteSize.h b/Sourcecode/mx/core/elements/NoteSize.h index a30fa3143..e094641bc 100755 --- a/Sourcecode/mx/core/elements/NoteSize.h +++ b/Sourcecode/mx/core/elements/NoteSize.h @@ -41,7 +41,8 @@ namespace mx NonNegativeDecimal getValue() const; void setValue( const NonNegativeDecimal& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: NonNegativeDecimal myValue; diff --git a/Sourcecode/mx/core/elements/NoteSizeAttributes.cpp b/Sourcecode/mx/core/elements/NoteSizeAttributes.cpp index bcb325bc7..bf91355c0 100755 --- a/Sourcecode/mx/core/elements/NoteSizeAttributes.cpp +++ b/Sourcecode/mx/core/elements/NoteSizeAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool NoteSizeAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool NoteSizeAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "NoteSizeAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/NoteSizeAttributes.h b/Sourcecode/mx/core/elements/NoteSizeAttributes.h index 2c6a5f7da..85affcd6e 100755 --- a/Sourcecode/mx/core/elements/NoteSizeAttributes.h +++ b/Sourcecode/mx/core/elements/NoteSizeAttributes.h @@ -28,7 +28,8 @@ namespace mx NoteSizeType type; const bool hasType; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Notehead.cpp b/Sourcecode/mx/core/elements/Notehead.cpp index 9b1533af2..3f61cecb0 100755 --- a/Sourcecode/mx/core/elements/Notehead.cpp +++ b/Sourcecode/mx/core/elements/Notehead.cpp @@ -87,7 +87,7 @@ namespace mx } - bool Notehead::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Notehead::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Notehead.h b/Sourcecode/mx/core/elements/Notehead.h index a0b90a8b9..bc31a0eb2 100755 --- a/Sourcecode/mx/core/elements/Notehead.h +++ b/Sourcecode/mx/core/elements/Notehead.h @@ -41,7 +41,8 @@ namespace mx NoteheadValue getValue() const; void setValue( const NoteheadValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: NoteheadValue myValue; diff --git a/Sourcecode/mx/core/elements/NoteheadAttributes.cpp b/Sourcecode/mx/core/elements/NoteheadAttributes.cpp index e413fd2c8..c0d47da58 100755 --- a/Sourcecode/mx/core/elements/NoteheadAttributes.cpp +++ b/Sourcecode/mx/core/elements/NoteheadAttributes.cpp @@ -55,7 +55,7 @@ namespace mx } - bool NoteheadAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool NoteheadAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "NoteheadAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/NoteheadAttributes.h b/Sourcecode/mx/core/elements/NoteheadAttributes.h index 9d9662e6d..c49831244 100755 --- a/Sourcecode/mx/core/elements/NoteheadAttributes.h +++ b/Sourcecode/mx/core/elements/NoteheadAttributes.h @@ -43,7 +43,8 @@ namespace mx bool hasFontWeight; bool hasColor; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/NoteheadText.cpp b/Sourcecode/mx/core/elements/NoteheadText.cpp index 341261aa2..8f3248cb8 100755 --- a/Sourcecode/mx/core/elements/NoteheadText.cpp +++ b/Sourcecode/mx/core/elements/NoteheadText.cpp @@ -89,7 +89,7 @@ namespace mx } - bool NoteheadText::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool NoteheadText::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; bool isFirstItemAdded = false; diff --git a/Sourcecode/mx/core/elements/NoteheadText.h b/Sourcecode/mx/core/elements/NoteheadText.h index 2bd818e7d..b0268605a 100755 --- a/Sourcecode/mx/core/elements/NoteheadText.h +++ b/Sourcecode/mx/core/elements/NoteheadText.h @@ -41,7 +41,8 @@ namespace mx void clearNoteheadTextChoiceSet(); NoteheadTextChoicePtr getNoteheadTextChoice( const NoteheadTextChoiceSetIterConst& setIterator ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: NoteheadTextChoiceSet myNoteheadTextChoiceSet; diff --git a/Sourcecode/mx/core/elements/NoteheadTextChoice.cpp b/Sourcecode/mx/core/elements/NoteheadTextChoice.cpp index a8644c829..8b256a8cc 100755 --- a/Sourcecode/mx/core/elements/NoteheadTextChoice.cpp +++ b/Sourcecode/mx/core/elements/NoteheadTextChoice.cpp @@ -105,7 +105,7 @@ namespace mx } - bool NoteheadTextChoice::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool NoteheadTextChoice::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { if( xelement.getName() == "display-text" ) diff --git a/Sourcecode/mx/core/elements/NoteheadTextChoice.h b/Sourcecode/mx/core/elements/NoteheadTextChoice.h index 929f49cb4..b19a9e56c 100755 --- a/Sourcecode/mx/core/elements/NoteheadTextChoice.h +++ b/Sourcecode/mx/core/elements/NoteheadTextChoice.h @@ -51,7 +51,8 @@ namespace mx AccidentalTextPtr getAccidentalText() const; void setAccidentalText( const AccidentalTextPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Choice myChoice; diff --git a/Sourcecode/mx/core/elements/Octave.cpp b/Sourcecode/mx/core/elements/Octave.cpp index 2bd3feef5..d0890dc46 100755 --- a/Sourcecode/mx/core/elements/Octave.cpp +++ b/Sourcecode/mx/core/elements/Octave.cpp @@ -66,7 +66,7 @@ namespace mx } - bool Octave::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Octave::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/Octave.h b/Sourcecode/mx/core/elements/Octave.h index b88d7ba8e..87bd22138 100755 --- a/Sourcecode/mx/core/elements/Octave.h +++ b/Sourcecode/mx/core/elements/Octave.h @@ -37,7 +37,8 @@ namespace mx OctaveValue getValue() const; void setValue( const OctaveValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: OctaveValue myValue; diff --git a/Sourcecode/mx/core/elements/OctaveChange.cpp b/Sourcecode/mx/core/elements/OctaveChange.cpp index b782a8bcf..0e23eb1ab 100755 --- a/Sourcecode/mx/core/elements/OctaveChange.cpp +++ b/Sourcecode/mx/core/elements/OctaveChange.cpp @@ -66,7 +66,7 @@ namespace mx } - bool OctaveChange::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool OctaveChange::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); myValue.parse( xelement.getValue() ); diff --git a/Sourcecode/mx/core/elements/OctaveChange.h b/Sourcecode/mx/core/elements/OctaveChange.h index 623d84e36..dbd547b80 100755 --- a/Sourcecode/mx/core/elements/OctaveChange.h +++ b/Sourcecode/mx/core/elements/OctaveChange.h @@ -37,7 +37,8 @@ namespace mx Integer getValue() const; void setValue( const Integer& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Integer myValue; diff --git a/Sourcecode/mx/core/elements/OctaveShift.cpp b/Sourcecode/mx/core/elements/OctaveShift.cpp index 4602b4487..d507dc0be 100755 --- a/Sourcecode/mx/core/elements/OctaveShift.cpp +++ b/Sourcecode/mx/core/elements/OctaveShift.cpp @@ -57,7 +57,7 @@ namespace mx } - bool OctaveShift::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool OctaveShift::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/OctaveShift.h b/Sourcecode/mx/core/elements/OctaveShift.h index 471e1ffa7..2243c5210 100755 --- a/Sourcecode/mx/core/elements/OctaveShift.h +++ b/Sourcecode/mx/core/elements/OctaveShift.h @@ -35,7 +35,8 @@ namespace mx OctaveShiftAttributesPtr getAttributes() const; void setAttributes( const OctaveShiftAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: OctaveShiftAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/OctaveShiftAttributes.cpp b/Sourcecode/mx/core/elements/OctaveShiftAttributes.cpp index 611410c96..1fa60bf45 100755 --- a/Sourcecode/mx/core/elements/OctaveShiftAttributes.cpp +++ b/Sourcecode/mx/core/elements/OctaveShiftAttributes.cpp @@ -80,7 +80,7 @@ namespace mx } - bool OctaveShiftAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool OctaveShiftAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "OctaveShiftAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/OctaveShiftAttributes.h b/Sourcecode/mx/core/elements/OctaveShiftAttributes.h index cae2c92e1..201f6299b 100755 --- a/Sourcecode/mx/core/elements/OctaveShiftAttributes.h +++ b/Sourcecode/mx/core/elements/OctaveShiftAttributes.h @@ -56,7 +56,8 @@ namespace mx bool hasFontSize; bool hasFontWeight; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Offset.cpp b/Sourcecode/mx/core/elements/Offset.cpp index c8eb3e952..9f3a17b9c 100755 --- a/Sourcecode/mx/core/elements/Offset.cpp +++ b/Sourcecode/mx/core/elements/Offset.cpp @@ -87,7 +87,7 @@ namespace mx } - bool Offset::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Offset::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Offset.h b/Sourcecode/mx/core/elements/Offset.h index 608568f3e..c3406e5df 100755 --- a/Sourcecode/mx/core/elements/Offset.h +++ b/Sourcecode/mx/core/elements/Offset.h @@ -41,7 +41,8 @@ namespace mx DivisionsValue getValue() const; void setValue( const DivisionsValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: DivisionsValue myValue; diff --git a/Sourcecode/mx/core/elements/OffsetAttributes.cpp b/Sourcecode/mx/core/elements/OffsetAttributes.cpp index d03499939..7c49b9bab 100755 --- a/Sourcecode/mx/core/elements/OffsetAttributes.cpp +++ b/Sourcecode/mx/core/elements/OffsetAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool OffsetAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool OffsetAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "OffsetAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/OffsetAttributes.h b/Sourcecode/mx/core/elements/OffsetAttributes.h index bbd5fbc47..915b8e671 100755 --- a/Sourcecode/mx/core/elements/OffsetAttributes.h +++ b/Sourcecode/mx/core/elements/OffsetAttributes.h @@ -28,7 +28,8 @@ namespace mx YesNo sound; bool hasSound; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/OpenString.cpp b/Sourcecode/mx/core/elements/OpenString.cpp index a2ed20062..01efc90a3 100755 --- a/Sourcecode/mx/core/elements/OpenString.cpp +++ b/Sourcecode/mx/core/elements/OpenString.cpp @@ -57,7 +57,7 @@ namespace mx } - bool OpenString::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool OpenString::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/OpenString.h b/Sourcecode/mx/core/elements/OpenString.h index f56cf81e2..4ba548168 100755 --- a/Sourcecode/mx/core/elements/OpenString.h +++ b/Sourcecode/mx/core/elements/OpenString.h @@ -35,7 +35,8 @@ namespace mx EmptyPlacementAttributesPtr getAttributes() const; void setAttributes( const EmptyPlacementAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: EmptyPlacementAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/Opus.cpp b/Sourcecode/mx/core/elements/Opus.cpp index 4ebfd9015..e1bede9a4 100755 --- a/Sourcecode/mx/core/elements/Opus.cpp +++ b/Sourcecode/mx/core/elements/Opus.cpp @@ -57,7 +57,7 @@ namespace mx } - bool Opus::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Opus::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Opus.h b/Sourcecode/mx/core/elements/Opus.h index 1e6c3c133..853388496 100755 --- a/Sourcecode/mx/core/elements/Opus.h +++ b/Sourcecode/mx/core/elements/Opus.h @@ -35,7 +35,8 @@ namespace mx OpusAttributesPtr getAttributes() const; void setAttributes( const OpusAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: OpusAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/OpusAttributes.cpp b/Sourcecode/mx/core/elements/OpusAttributes.cpp index 4cb391894..b857e4856 100755 --- a/Sourcecode/mx/core/elements/OpusAttributes.cpp +++ b/Sourcecode/mx/core/elements/OpusAttributes.cpp @@ -52,7 +52,7 @@ namespace mx } - bool OpusAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool OpusAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "OpusAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/OpusAttributes.h b/Sourcecode/mx/core/elements/OpusAttributes.h index 09b9f812b..6301dc968 100755 --- a/Sourcecode/mx/core/elements/OpusAttributes.h +++ b/Sourcecode/mx/core/elements/OpusAttributes.h @@ -39,7 +39,8 @@ namespace mx bool hasShow; bool hasActuate; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Ornaments.cpp b/Sourcecode/mx/core/elements/Ornaments.cpp index a6a7a0e74..b3af8fa43 100755 --- a/Sourcecode/mx/core/elements/Ornaments.cpp +++ b/Sourcecode/mx/core/elements/Ornaments.cpp @@ -163,7 +163,7 @@ namespace mx constexpr size_t ornamentsChoicesSize = 13; - bool Ornaments::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Ornaments::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/Ornaments.h b/Sourcecode/mx/core/elements/Ornaments.h index a9b20f972..5d131b045 100755 --- a/Sourcecode/mx/core/elements/Ornaments.h +++ b/Sourcecode/mx/core/elements/Ornaments.h @@ -48,7 +48,8 @@ namespace mx void clearAccidentalMarkSet(); AccidentalMarkPtr getAccidentalMark( const AccidentalMarkSetIterConst& setIterator ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: OrnamentsChoiceSet myOrnamentsChoiceSet; diff --git a/Sourcecode/mx/core/elements/OrnamentsChoice.cpp b/Sourcecode/mx/core/elements/OrnamentsChoice.cpp index 6ec4556af..f08e8c36c 100755 --- a/Sourcecode/mx/core/elements/OrnamentsChoice.cpp +++ b/Sourcecode/mx/core/elements/OrnamentsChoice.cpp @@ -350,7 +350,7 @@ namespace mx } - bool OrnamentsChoice::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool OrnamentsChoice::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/OrnamentsChoice.h b/Sourcecode/mx/core/elements/OrnamentsChoice.h index ab69a9e17..274a2033a 100755 --- a/Sourcecode/mx/core/elements/OrnamentsChoice.h +++ b/Sourcecode/mx/core/elements/OrnamentsChoice.h @@ -116,7 +116,8 @@ namespace mx OtherOrnamentPtr getOtherOrnament() const; void setOtherOrnament( const OtherOrnamentPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Choice myChoice; diff --git a/Sourcecode/mx/core/elements/OtherAppearance.cpp b/Sourcecode/mx/core/elements/OtherAppearance.cpp index 8354f15fd..510fd431b 100755 --- a/Sourcecode/mx/core/elements/OtherAppearance.cpp +++ b/Sourcecode/mx/core/elements/OtherAppearance.cpp @@ -87,7 +87,7 @@ namespace mx } - bool OtherAppearance::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool OtherAppearance::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/OtherAppearance.h b/Sourcecode/mx/core/elements/OtherAppearance.h index 4e3efc483..ed198e509 100755 --- a/Sourcecode/mx/core/elements/OtherAppearance.h +++ b/Sourcecode/mx/core/elements/OtherAppearance.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/OtherAppearanceAttributes.cpp b/Sourcecode/mx/core/elements/OtherAppearanceAttributes.cpp index f4464e4c0..74effbe7d 100755 --- a/Sourcecode/mx/core/elements/OtherAppearanceAttributes.cpp +++ b/Sourcecode/mx/core/elements/OtherAppearanceAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool OtherAppearanceAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool OtherAppearanceAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "OtherAppearanceAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/OtherAppearanceAttributes.h b/Sourcecode/mx/core/elements/OtherAppearanceAttributes.h index 4954ea6e6..ec47bcbe3 100755 --- a/Sourcecode/mx/core/elements/OtherAppearanceAttributes.h +++ b/Sourcecode/mx/core/elements/OtherAppearanceAttributes.h @@ -28,7 +28,8 @@ namespace mx XsToken type; const bool hasType; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/OtherArticulation.cpp b/Sourcecode/mx/core/elements/OtherArticulation.cpp index 15847fc75..37a5673c1 100755 --- a/Sourcecode/mx/core/elements/OtherArticulation.cpp +++ b/Sourcecode/mx/core/elements/OtherArticulation.cpp @@ -87,7 +87,7 @@ namespace mx } - bool OtherArticulation::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool OtherArticulation::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/OtherArticulation.h b/Sourcecode/mx/core/elements/OtherArticulation.h index b09c709c0..b35574de7 100755 --- a/Sourcecode/mx/core/elements/OtherArticulation.h +++ b/Sourcecode/mx/core/elements/OtherArticulation.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/OtherArticulationAttributes.cpp b/Sourcecode/mx/core/elements/OtherArticulationAttributes.cpp index e36e1b73e..7a3693e62 100755 --- a/Sourcecode/mx/core/elements/OtherArticulationAttributes.cpp +++ b/Sourcecode/mx/core/elements/OtherArticulationAttributes.cpp @@ -64,7 +64,7 @@ namespace mx } - bool OtherArticulationAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool OtherArticulationAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "OtherArticulationAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/OtherArticulationAttributes.h b/Sourcecode/mx/core/elements/OtherArticulationAttributes.h index a5da50829..d4faecac6 100755 --- a/Sourcecode/mx/core/elements/OtherArticulationAttributes.h +++ b/Sourcecode/mx/core/elements/OtherArticulationAttributes.h @@ -47,7 +47,8 @@ namespace mx bool hasFontWeight; bool hasPlacement; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/OtherDirection.cpp b/Sourcecode/mx/core/elements/OtherDirection.cpp index dad12cdfb..42b4f5a33 100755 --- a/Sourcecode/mx/core/elements/OtherDirection.cpp +++ b/Sourcecode/mx/core/elements/OtherDirection.cpp @@ -87,7 +87,7 @@ namespace mx } - bool OtherDirection::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool OtherDirection::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/OtherDirection.h b/Sourcecode/mx/core/elements/OtherDirection.h index eca8e0085..3bc42ac33 100755 --- a/Sourcecode/mx/core/elements/OtherDirection.h +++ b/Sourcecode/mx/core/elements/OtherDirection.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/OtherDirectionAttributes.cpp b/Sourcecode/mx/core/elements/OtherDirectionAttributes.cpp index 330e4a263..52e30a982 100755 --- a/Sourcecode/mx/core/elements/OtherDirectionAttributes.cpp +++ b/Sourcecode/mx/core/elements/OtherDirectionAttributes.cpp @@ -68,7 +68,7 @@ namespace mx } - bool OtherDirectionAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool OtherDirectionAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "OtherDirectionAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/OtherDirectionAttributes.h b/Sourcecode/mx/core/elements/OtherDirectionAttributes.h index 924693be4..a0c1b4738 100755 --- a/Sourcecode/mx/core/elements/OtherDirectionAttributes.h +++ b/Sourcecode/mx/core/elements/OtherDirectionAttributes.h @@ -49,7 +49,8 @@ namespace mx bool hasFontWeight; bool hasHalign; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/OtherNotation.cpp b/Sourcecode/mx/core/elements/OtherNotation.cpp index 23f9e3bd0..6bbc36a02 100755 --- a/Sourcecode/mx/core/elements/OtherNotation.cpp +++ b/Sourcecode/mx/core/elements/OtherNotation.cpp @@ -87,7 +87,7 @@ namespace mx } - bool OtherNotation::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool OtherNotation::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/OtherNotation.h b/Sourcecode/mx/core/elements/OtherNotation.h index 400d1eda6..8c3ac4acc 100755 --- a/Sourcecode/mx/core/elements/OtherNotation.h +++ b/Sourcecode/mx/core/elements/OtherNotation.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/OtherNotationAttributes.cpp b/Sourcecode/mx/core/elements/OtherNotationAttributes.cpp index 1a2e786ab..28d9a4105 100755 --- a/Sourcecode/mx/core/elements/OtherNotationAttributes.cpp +++ b/Sourcecode/mx/core/elements/OtherNotationAttributes.cpp @@ -76,7 +76,7 @@ namespace mx } - bool OtherNotationAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool OtherNotationAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "OtherNotationAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/OtherNotationAttributes.h b/Sourcecode/mx/core/elements/OtherNotationAttributes.h index c3f908448..660649ea6 100755 --- a/Sourcecode/mx/core/elements/OtherNotationAttributes.h +++ b/Sourcecode/mx/core/elements/OtherNotationAttributes.h @@ -54,7 +54,8 @@ namespace mx bool hasFontWeight; bool hasPlacement; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/OtherOrnament.cpp b/Sourcecode/mx/core/elements/OtherOrnament.cpp index 5b9906a29..2ac03b6d4 100755 --- a/Sourcecode/mx/core/elements/OtherOrnament.cpp +++ b/Sourcecode/mx/core/elements/OtherOrnament.cpp @@ -87,7 +87,7 @@ namespace mx } - bool OtherOrnament::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool OtherOrnament::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/OtherOrnament.h b/Sourcecode/mx/core/elements/OtherOrnament.h index f739d3aca..e1b7a7e11 100755 --- a/Sourcecode/mx/core/elements/OtherOrnament.h +++ b/Sourcecode/mx/core/elements/OtherOrnament.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/OtherOrnamentAttributes.cpp b/Sourcecode/mx/core/elements/OtherOrnamentAttributes.cpp index badb698da..48ee699b2 100755 --- a/Sourcecode/mx/core/elements/OtherOrnamentAttributes.cpp +++ b/Sourcecode/mx/core/elements/OtherOrnamentAttributes.cpp @@ -64,7 +64,7 @@ namespace mx } - bool OtherOrnamentAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool OtherOrnamentAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "OtherOrnamentAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/OtherOrnamentAttributes.h b/Sourcecode/mx/core/elements/OtherOrnamentAttributes.h index aa17b9777..efa8fcb2b 100755 --- a/Sourcecode/mx/core/elements/OtherOrnamentAttributes.h +++ b/Sourcecode/mx/core/elements/OtherOrnamentAttributes.h @@ -47,7 +47,8 @@ namespace mx bool hasFontWeight; bool hasPlacement; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/OtherPercussion.cpp b/Sourcecode/mx/core/elements/OtherPercussion.cpp index 3415a7af9..74a9c8267 100755 --- a/Sourcecode/mx/core/elements/OtherPercussion.cpp +++ b/Sourcecode/mx/core/elements/OtherPercussion.cpp @@ -66,7 +66,7 @@ namespace mx } - bool OtherPercussion::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool OtherPercussion::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/OtherPercussion.h b/Sourcecode/mx/core/elements/OtherPercussion.h index 52ad9c51a..c00558194 100755 --- a/Sourcecode/mx/core/elements/OtherPercussion.h +++ b/Sourcecode/mx/core/elements/OtherPercussion.h @@ -37,7 +37,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/OtherPlay.cpp b/Sourcecode/mx/core/elements/OtherPlay.cpp index a390a3e80..02c7f488f 100755 --- a/Sourcecode/mx/core/elements/OtherPlay.cpp +++ b/Sourcecode/mx/core/elements/OtherPlay.cpp @@ -87,7 +87,7 @@ namespace mx } - bool OtherPlay::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool OtherPlay::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/OtherPlay.h b/Sourcecode/mx/core/elements/OtherPlay.h index 3419e0b77..686133e56 100755 --- a/Sourcecode/mx/core/elements/OtherPlay.h +++ b/Sourcecode/mx/core/elements/OtherPlay.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/OtherPlayAttributes.cpp b/Sourcecode/mx/core/elements/OtherPlayAttributes.cpp index f22c36958..c122af100 100755 --- a/Sourcecode/mx/core/elements/OtherPlayAttributes.cpp +++ b/Sourcecode/mx/core/elements/OtherPlayAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool OtherPlayAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool OtherPlayAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "OtherPlayAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/OtherPlayAttributes.h b/Sourcecode/mx/core/elements/OtherPlayAttributes.h index 25d3807b0..26a92bb0b 100755 --- a/Sourcecode/mx/core/elements/OtherPlayAttributes.h +++ b/Sourcecode/mx/core/elements/OtherPlayAttributes.h @@ -28,7 +28,8 @@ namespace mx XsToken type; const bool hasType; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/OtherTechnical.cpp b/Sourcecode/mx/core/elements/OtherTechnical.cpp index 6a66a7f4c..840343e3f 100755 --- a/Sourcecode/mx/core/elements/OtherTechnical.cpp +++ b/Sourcecode/mx/core/elements/OtherTechnical.cpp @@ -87,7 +87,7 @@ namespace mx } - bool OtherTechnical::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool OtherTechnical::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/OtherTechnical.h b/Sourcecode/mx/core/elements/OtherTechnical.h index 35c46a7fa..899c6bc24 100755 --- a/Sourcecode/mx/core/elements/OtherTechnical.h +++ b/Sourcecode/mx/core/elements/OtherTechnical.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/OtherTechnicalAttributes.cpp b/Sourcecode/mx/core/elements/OtherTechnicalAttributes.cpp index f8e2e2320..9e9bb74ab 100755 --- a/Sourcecode/mx/core/elements/OtherTechnicalAttributes.cpp +++ b/Sourcecode/mx/core/elements/OtherTechnicalAttributes.cpp @@ -64,7 +64,7 @@ namespace mx } - bool OtherTechnicalAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool OtherTechnicalAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "OtherTechnicalAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/OtherTechnicalAttributes.h b/Sourcecode/mx/core/elements/OtherTechnicalAttributes.h index bebbdb572..95c245a02 100755 --- a/Sourcecode/mx/core/elements/OtherTechnicalAttributes.h +++ b/Sourcecode/mx/core/elements/OtherTechnicalAttributes.h @@ -47,7 +47,8 @@ namespace mx bool hasFontWeight; bool hasPlacement; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/PageHeight.cpp b/Sourcecode/mx/core/elements/PageHeight.cpp index 694f27380..cdf217de7 100755 --- a/Sourcecode/mx/core/elements/PageHeight.cpp +++ b/Sourcecode/mx/core/elements/PageHeight.cpp @@ -66,7 +66,7 @@ namespace mx } - bool PageHeight::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool PageHeight::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/PageHeight.h b/Sourcecode/mx/core/elements/PageHeight.h index 295b8f89f..db743a08b 100755 --- a/Sourcecode/mx/core/elements/PageHeight.h +++ b/Sourcecode/mx/core/elements/PageHeight.h @@ -37,7 +37,8 @@ namespace mx TenthsValue getValue() const; void setValue( const TenthsValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: TenthsValue myValue; diff --git a/Sourcecode/mx/core/elements/PageLayout.cpp b/Sourcecode/mx/core/elements/PageLayout.cpp index 4d1d096a9..c2b625839 100755 --- a/Sourcecode/mx/core/elements/PageLayout.cpp +++ b/Sourcecode/mx/core/elements/PageLayout.cpp @@ -135,7 +135,7 @@ namespace mx } - bool PageLayout::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool PageLayout::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; bool isPageHeightFound = false; diff --git a/Sourcecode/mx/core/elements/PageLayout.h b/Sourcecode/mx/core/elements/PageLayout.h index 49caf0494..4a03b582d 100755 --- a/Sourcecode/mx/core/elements/PageLayout.h +++ b/Sourcecode/mx/core/elements/PageLayout.h @@ -49,7 +49,8 @@ namespace mx void clearPageMarginsSet(); PageMarginsPtr getPageMargins( const PageMarginsSetIterConst& setIterator ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: PageHeightPtr myPageHeight; diff --git a/Sourcecode/mx/core/elements/PageMargins.cpp b/Sourcecode/mx/core/elements/PageMargins.cpp index e699e72c4..3734ea4f5 100755 --- a/Sourcecode/mx/core/elements/PageMargins.cpp +++ b/Sourcecode/mx/core/elements/PageMargins.cpp @@ -139,7 +139,7 @@ namespace mx } - bool PageMargins::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool PageMargins::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/PageMargins.h b/Sourcecode/mx/core/elements/PageMargins.h index 137db9d91..bcb0579c2 100755 --- a/Sourcecode/mx/core/elements/PageMargins.h +++ b/Sourcecode/mx/core/elements/PageMargins.h @@ -55,7 +55,8 @@ namespace mx BottomMarginPtr getBottomMargin() const; void setBottomMargin( const BottomMarginPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: PageMarginsAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/PageMarginsAttributes.cpp b/Sourcecode/mx/core/elements/PageMarginsAttributes.cpp index f20e500ae..4b6b28701 100755 --- a/Sourcecode/mx/core/elements/PageMarginsAttributes.cpp +++ b/Sourcecode/mx/core/elements/PageMarginsAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool PageMarginsAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool PageMarginsAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "PageMarginsAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/PageMarginsAttributes.h b/Sourcecode/mx/core/elements/PageMarginsAttributes.h index a3b346600..ab2e83323 100755 --- a/Sourcecode/mx/core/elements/PageMarginsAttributes.h +++ b/Sourcecode/mx/core/elements/PageMarginsAttributes.h @@ -28,7 +28,8 @@ namespace mx MarginType type; bool hasType; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/PageWidth.cpp b/Sourcecode/mx/core/elements/PageWidth.cpp index 1d7e1a7e8..7d1ca999b 100755 --- a/Sourcecode/mx/core/elements/PageWidth.cpp +++ b/Sourcecode/mx/core/elements/PageWidth.cpp @@ -66,7 +66,7 @@ namespace mx } - bool PageWidth::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool PageWidth::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/PageWidth.h b/Sourcecode/mx/core/elements/PageWidth.h index 7e5886bed..2a23b297c 100755 --- a/Sourcecode/mx/core/elements/PageWidth.h +++ b/Sourcecode/mx/core/elements/PageWidth.h @@ -37,7 +37,8 @@ namespace mx TenthsValue getValue() const; void setValue( const TenthsValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: TenthsValue myValue; diff --git a/Sourcecode/mx/core/elements/Pan.cpp b/Sourcecode/mx/core/elements/Pan.cpp index 26dc15bb5..4fcd3b1c7 100755 --- a/Sourcecode/mx/core/elements/Pan.cpp +++ b/Sourcecode/mx/core/elements/Pan.cpp @@ -66,7 +66,7 @@ namespace mx } - bool Pan::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Pan::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/Pan.h b/Sourcecode/mx/core/elements/Pan.h index 6602fc612..7beda6c96 100755 --- a/Sourcecode/mx/core/elements/Pan.h +++ b/Sourcecode/mx/core/elements/Pan.h @@ -37,7 +37,8 @@ namespace mx RotationDegrees getValue() const; void setValue( const RotationDegrees& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: RotationDegrees myValue; diff --git a/Sourcecode/mx/core/elements/PartAbbreviation.cpp b/Sourcecode/mx/core/elements/PartAbbreviation.cpp index a8ff7a2ec..76eb2ae67 100755 --- a/Sourcecode/mx/core/elements/PartAbbreviation.cpp +++ b/Sourcecode/mx/core/elements/PartAbbreviation.cpp @@ -87,7 +87,7 @@ namespace mx } - bool PartAbbreviation::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool PartAbbreviation::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/PartAbbreviation.h b/Sourcecode/mx/core/elements/PartAbbreviation.h index b935ddf33..da90818a5 100755 --- a/Sourcecode/mx/core/elements/PartAbbreviation.h +++ b/Sourcecode/mx/core/elements/PartAbbreviation.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/PartAbbreviationAttributes.cpp b/Sourcecode/mx/core/elements/PartAbbreviationAttributes.cpp index 9b58b3d30..a28a114f5 100755 --- a/Sourcecode/mx/core/elements/PartAbbreviationAttributes.cpp +++ b/Sourcecode/mx/core/elements/PartAbbreviationAttributes.cpp @@ -68,7 +68,7 @@ namespace mx } - bool PartAbbreviationAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool PartAbbreviationAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "PartAbbreviationAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/PartAbbreviationAttributes.h b/Sourcecode/mx/core/elements/PartAbbreviationAttributes.h index 93828376d..ae1456bd8 100755 --- a/Sourcecode/mx/core/elements/PartAbbreviationAttributes.h +++ b/Sourcecode/mx/core/elements/PartAbbreviationAttributes.h @@ -49,7 +49,8 @@ namespace mx bool hasPrintObject; bool hasJustify; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/PartAbbreviationDisplay.cpp b/Sourcecode/mx/core/elements/PartAbbreviationDisplay.cpp index ca3f38720..b6837ec21 100755 --- a/Sourcecode/mx/core/elements/PartAbbreviationDisplay.cpp +++ b/Sourcecode/mx/core/elements/PartAbbreviationDisplay.cpp @@ -123,7 +123,7 @@ namespace mx } - bool PartAbbreviationDisplay::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool PartAbbreviationDisplay::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/PartAbbreviationDisplay.h b/Sourcecode/mx/core/elements/PartAbbreviationDisplay.h index c77586ea9..c52053b1c 100755 --- a/Sourcecode/mx/core/elements/PartAbbreviationDisplay.h +++ b/Sourcecode/mx/core/elements/PartAbbreviationDisplay.h @@ -44,7 +44,8 @@ namespace mx DisplayTextOrAccidentalTextPtr getDisplayTextOrAccidentalText( const DisplayTextOrAccidentalTextSetIterConst& setIterator ) const; const DisplayTextOrAccidentalTextSet& getDisplayTextOrAccidentalTextSet() const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: PartAbbreviationDisplayAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/PartAbbreviationDisplayAttributes.cpp b/Sourcecode/mx/core/elements/PartAbbreviationDisplayAttributes.cpp index 8bb11f4c2..fc4dcde20 100755 --- a/Sourcecode/mx/core/elements/PartAbbreviationDisplayAttributes.cpp +++ b/Sourcecode/mx/core/elements/PartAbbreviationDisplayAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool PartAbbreviationDisplayAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool PartAbbreviationDisplayAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "PartAbbreviationDisplayAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/PartAbbreviationDisplayAttributes.h b/Sourcecode/mx/core/elements/PartAbbreviationDisplayAttributes.h index 51e46c743..ae1b53d3b 100755 --- a/Sourcecode/mx/core/elements/PartAbbreviationDisplayAttributes.h +++ b/Sourcecode/mx/core/elements/PartAbbreviationDisplayAttributes.h @@ -28,7 +28,8 @@ namespace mx YesNo printObject; bool hasPrintObject; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/PartAttributes.cpp b/Sourcecode/mx/core/elements/PartAttributes.cpp index 46f4fbf61..8aa07c026 100755 --- a/Sourcecode/mx/core/elements/PartAttributes.cpp +++ b/Sourcecode/mx/core/elements/PartAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool PartAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool PartAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "PartAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/PartAttributes.h b/Sourcecode/mx/core/elements/PartAttributes.h index 8b63736c9..8b133b2ea 100755 --- a/Sourcecode/mx/core/elements/PartAttributes.h +++ b/Sourcecode/mx/core/elements/PartAttributes.h @@ -28,7 +28,8 @@ namespace mx XsIDREF id; const bool hasId; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/PartGroup.cpp b/Sourcecode/mx/core/elements/PartGroup.cpp index 3641b6405..2b605285f 100755 --- a/Sourcecode/mx/core/elements/PartGroup.cpp +++ b/Sourcecode/mx/core/elements/PartGroup.cpp @@ -344,7 +344,7 @@ namespace mx } - bool PartGroup::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool PartGroup::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/PartGroup.h b/Sourcecode/mx/core/elements/PartGroup.h index 328308287..540c4271b 100755 --- a/Sourcecode/mx/core/elements/PartGroup.h +++ b/Sourcecode/mx/core/elements/PartGroup.h @@ -89,7 +89,8 @@ namespace mx EditorialGroupPtr getEditorialGroup() const; void setEditorialGroup( const EditorialGroupPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: PartGroupAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/PartGroupAttributes.cpp b/Sourcecode/mx/core/elements/PartGroupAttributes.cpp index b2094ddd6..ba82e33e6 100755 --- a/Sourcecode/mx/core/elements/PartGroupAttributes.cpp +++ b/Sourcecode/mx/core/elements/PartGroupAttributes.cpp @@ -36,7 +36,7 @@ namespace mx } - bool PartGroupAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool PartGroupAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "PartGroupAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/PartGroupAttributes.h b/Sourcecode/mx/core/elements/PartGroupAttributes.h index 944f9a130..c50683e96 100755 --- a/Sourcecode/mx/core/elements/PartGroupAttributes.h +++ b/Sourcecode/mx/core/elements/PartGroupAttributes.h @@ -31,7 +31,8 @@ namespace mx const bool hasType; bool hasNumber; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/PartGroupOrScorePart.h b/Sourcecode/mx/core/elements/PartGroupOrScorePart.h index 1710ede8f..22a2f41d3 100755 --- a/Sourcecode/mx/core/elements/PartGroupOrScorePart.h +++ b/Sourcecode/mx/core/elements/PartGroupOrScorePart.h @@ -50,7 +50,8 @@ namespace mx ScorePartPtr getScorePart() const; void setScorePart( const ScorePartPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Choice myChoice; diff --git a/Sourcecode/mx/core/elements/PartList.cpp b/Sourcecode/mx/core/elements/PartList.cpp index 41dd0fa38..437f21db8 100755 --- a/Sourcecode/mx/core/elements/PartList.cpp +++ b/Sourcecode/mx/core/elements/PartList.cpp @@ -160,7 +160,7 @@ namespace mx } - bool PartList::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool PartList::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; bool isFirstScorePartEncountered = false; diff --git a/Sourcecode/mx/core/elements/PartList.h b/Sourcecode/mx/core/elements/PartList.h index 33363ff44..b7e487c53 100755 --- a/Sourcecode/mx/core/elements/PartList.h +++ b/Sourcecode/mx/core/elements/PartList.h @@ -52,7 +52,8 @@ namespace mx void clearPartGroupOrScorePartSet(); PartGroupOrScorePartPtr getPartGroupOrScorePart( const PartGroupOrScorePartSetIterConst& setIterator ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: PartGroupSet myPartGroupSet; diff --git a/Sourcecode/mx/core/elements/PartName.cpp b/Sourcecode/mx/core/elements/PartName.cpp index 16291f4c2..905a49a93 100755 --- a/Sourcecode/mx/core/elements/PartName.cpp +++ b/Sourcecode/mx/core/elements/PartName.cpp @@ -87,7 +87,7 @@ namespace mx } - bool PartName::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool PartName::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/PartName.h b/Sourcecode/mx/core/elements/PartName.h index a71a93d23..1446953d5 100755 --- a/Sourcecode/mx/core/elements/PartName.h +++ b/Sourcecode/mx/core/elements/PartName.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/PartNameAttributes.cpp b/Sourcecode/mx/core/elements/PartNameAttributes.cpp index 9be3f01b7..a410e78d0 100755 --- a/Sourcecode/mx/core/elements/PartNameAttributes.cpp +++ b/Sourcecode/mx/core/elements/PartNameAttributes.cpp @@ -72,7 +72,7 @@ namespace mx } - bool PartNameAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool PartNameAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "PartNameAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/PartNameAttributes.h b/Sourcecode/mx/core/elements/PartNameAttributes.h index 3e417458e..e675d529a 100755 --- a/Sourcecode/mx/core/elements/PartNameAttributes.h +++ b/Sourcecode/mx/core/elements/PartNameAttributes.h @@ -52,7 +52,8 @@ namespace mx bool hasPrintObject; bool hasJustify; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/PartNameDisplay.cpp b/Sourcecode/mx/core/elements/PartNameDisplay.cpp index e59ac8942..45bd29947 100755 --- a/Sourcecode/mx/core/elements/PartNameDisplay.cpp +++ b/Sourcecode/mx/core/elements/PartNameDisplay.cpp @@ -123,7 +123,7 @@ namespace mx } - bool PartNameDisplay::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool PartNameDisplay::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/PartNameDisplay.h b/Sourcecode/mx/core/elements/PartNameDisplay.h index 85af4ec2f..9a69df3bc 100755 --- a/Sourcecode/mx/core/elements/PartNameDisplay.h +++ b/Sourcecode/mx/core/elements/PartNameDisplay.h @@ -44,7 +44,8 @@ namespace mx DisplayTextOrAccidentalTextPtr getDisplayTextOrAccidentalText( const DisplayTextOrAccidentalTextSetIterConst& setIterator ) const; const DisplayTextOrAccidentalTextSet& getDisplayTextOrAccidentalTextSet() const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: PartNameDisplayAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/PartNameDisplayAttributes.cpp b/Sourcecode/mx/core/elements/PartNameDisplayAttributes.cpp index 71828826b..433115634 100755 --- a/Sourcecode/mx/core/elements/PartNameDisplayAttributes.cpp +++ b/Sourcecode/mx/core/elements/PartNameDisplayAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool PartNameDisplayAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool PartNameDisplayAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "PartNameDisplayAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/PartNameDisplayAttributes.h b/Sourcecode/mx/core/elements/PartNameDisplayAttributes.h index 5f28e30b8..7f98b67e5 100755 --- a/Sourcecode/mx/core/elements/PartNameDisplayAttributes.h +++ b/Sourcecode/mx/core/elements/PartNameDisplayAttributes.h @@ -28,7 +28,8 @@ namespace mx YesNo printObject; bool hasPrintObject; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/PartSymbol.cpp b/Sourcecode/mx/core/elements/PartSymbol.cpp index 48e5a7016..298bf242c 100755 --- a/Sourcecode/mx/core/elements/PartSymbol.cpp +++ b/Sourcecode/mx/core/elements/PartSymbol.cpp @@ -87,7 +87,7 @@ namespace mx } - bool PartSymbol::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool PartSymbol::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/PartSymbol.h b/Sourcecode/mx/core/elements/PartSymbol.h index c1c837abf..79caff449 100755 --- a/Sourcecode/mx/core/elements/PartSymbol.h +++ b/Sourcecode/mx/core/elements/PartSymbol.h @@ -41,7 +41,8 @@ namespace mx GroupSymbolValue getValue() const; void setValue( const GroupSymbolValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: GroupSymbolValue myValue; diff --git a/Sourcecode/mx/core/elements/PartSymbolAttributes.cpp b/Sourcecode/mx/core/elements/PartSymbolAttributes.cpp index fb26a7843..830e89cbd 100755 --- a/Sourcecode/mx/core/elements/PartSymbolAttributes.cpp +++ b/Sourcecode/mx/core/elements/PartSymbolAttributes.cpp @@ -52,7 +52,7 @@ namespace mx } - bool PartSymbolAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool PartSymbolAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "PartSymbolAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/PartSymbolAttributes.h b/Sourcecode/mx/core/elements/PartSymbolAttributes.h index 2f6d37003..32db4a972 100755 --- a/Sourcecode/mx/core/elements/PartSymbolAttributes.h +++ b/Sourcecode/mx/core/elements/PartSymbolAttributes.h @@ -39,7 +39,8 @@ namespace mx bool hasRelativeX; bool hasRelativeY; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/PartwiseMeasure.cpp b/Sourcecode/mx/core/elements/PartwiseMeasure.cpp index 48bbbd382..ff1287d5d 100755 --- a/Sourcecode/mx/core/elements/PartwiseMeasure.cpp +++ b/Sourcecode/mx/core/elements/PartwiseMeasure.cpp @@ -105,7 +105,7 @@ namespace mx } - bool PartwiseMeasure::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool PartwiseMeasure::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; bool isFirstMusicDataChoiceAdded = false; diff --git a/Sourcecode/mx/core/elements/PartwiseMeasure.h b/Sourcecode/mx/core/elements/PartwiseMeasure.h index 1a59a1de4..af8849161 100755 --- a/Sourcecode/mx/core/elements/PartwiseMeasure.h +++ b/Sourcecode/mx/core/elements/PartwiseMeasure.h @@ -40,7 +40,8 @@ namespace mx MusicDataGroupPtr getMusicDataGroup() const; void setMusicDataGroup( const MusicDataGroupPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: MX_MUTEX diff --git a/Sourcecode/mx/core/elements/PartwisePart.cpp b/Sourcecode/mx/core/elements/PartwisePart.cpp index 74726dc3c..e0992fe6b 100755 --- a/Sourcecode/mx/core/elements/PartwisePart.cpp +++ b/Sourcecode/mx/core/elements/PartwisePart.cpp @@ -122,7 +122,7 @@ namespace mx return PartwiseMeasurePtr(); } - bool PartwisePart::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool PartwisePart::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/PartwisePart.h b/Sourcecode/mx/core/elements/PartwisePart.h index b8aab21bf..b3d5b852b 100755 --- a/Sourcecode/mx/core/elements/PartwisePart.h +++ b/Sourcecode/mx/core/elements/PartwisePart.h @@ -43,7 +43,8 @@ namespace mx void clearPartwiseMeasureSet(); PartwiseMeasurePtr getPartwiseMeasure( const PartwiseMeasureSetIterConst& setIterator ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: PartAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/Pedal.cpp b/Sourcecode/mx/core/elements/Pedal.cpp index b80be0292..39e5bfa95 100755 --- a/Sourcecode/mx/core/elements/Pedal.cpp +++ b/Sourcecode/mx/core/elements/Pedal.cpp @@ -57,7 +57,7 @@ namespace mx } - bool Pedal::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Pedal::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Pedal.h b/Sourcecode/mx/core/elements/Pedal.h index c4e302c90..84a1cc14f 100755 --- a/Sourcecode/mx/core/elements/Pedal.h +++ b/Sourcecode/mx/core/elements/Pedal.h @@ -35,7 +35,8 @@ namespace mx PedalAttributesPtr getAttributes() const; void setAttributes( const PedalAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: PedalAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/PedalAlter.cpp b/Sourcecode/mx/core/elements/PedalAlter.cpp index e2e3eb905..deba03a8d 100755 --- a/Sourcecode/mx/core/elements/PedalAlter.cpp +++ b/Sourcecode/mx/core/elements/PedalAlter.cpp @@ -66,7 +66,7 @@ namespace mx } - bool PedalAlter::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool PedalAlter::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/PedalAlter.h b/Sourcecode/mx/core/elements/PedalAlter.h index 0e3d11484..d6c49690e 100755 --- a/Sourcecode/mx/core/elements/PedalAlter.h +++ b/Sourcecode/mx/core/elements/PedalAlter.h @@ -37,7 +37,8 @@ namespace mx Semitones getValue() const; void setValue( const Semitones& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Semitones myValue; diff --git a/Sourcecode/mx/core/elements/PedalAttributes.cpp b/Sourcecode/mx/core/elements/PedalAttributes.cpp index 782ecb49e..0822658cf 100755 --- a/Sourcecode/mx/core/elements/PedalAttributes.cpp +++ b/Sourcecode/mx/core/elements/PedalAttributes.cpp @@ -76,7 +76,7 @@ namespace mx } - bool PedalAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool PedalAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "PedalAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/PedalAttributes.h b/Sourcecode/mx/core/elements/PedalAttributes.h index a10d794d1..c3b57e510 100755 --- a/Sourcecode/mx/core/elements/PedalAttributes.h +++ b/Sourcecode/mx/core/elements/PedalAttributes.h @@ -53,7 +53,8 @@ namespace mx bool hasFontWeight; bool hasHalign; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/PedalStep.cpp b/Sourcecode/mx/core/elements/PedalStep.cpp index 63007e5ee..33b86d3d2 100755 --- a/Sourcecode/mx/core/elements/PedalStep.cpp +++ b/Sourcecode/mx/core/elements/PedalStep.cpp @@ -66,7 +66,7 @@ namespace mx } - bool PedalStep::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool PedalStep::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); myValue = parseStepEnum( xelement.getValue() ); diff --git a/Sourcecode/mx/core/elements/PedalStep.h b/Sourcecode/mx/core/elements/PedalStep.h index ee5644cb5..5e78cae2c 100755 --- a/Sourcecode/mx/core/elements/PedalStep.h +++ b/Sourcecode/mx/core/elements/PedalStep.h @@ -37,7 +37,8 @@ namespace mx StepEnum getValue() const; void setValue( const StepEnum& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: StepEnum myValue; diff --git a/Sourcecode/mx/core/elements/PedalTuning.cpp b/Sourcecode/mx/core/elements/PedalTuning.cpp index 72a0789d2..ba8a4f0e1 100755 --- a/Sourcecode/mx/core/elements/PedalTuning.cpp +++ b/Sourcecode/mx/core/elements/PedalTuning.cpp @@ -85,7 +85,7 @@ namespace mx } - bool PedalTuning::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool PedalTuning::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; bool isPedalStepFound = false; diff --git a/Sourcecode/mx/core/elements/PedalTuning.h b/Sourcecode/mx/core/elements/PedalTuning.h index cc9c1d497..c9b710913 100755 --- a/Sourcecode/mx/core/elements/PedalTuning.h +++ b/Sourcecode/mx/core/elements/PedalTuning.h @@ -41,7 +41,8 @@ namespace mx PedalAlterPtr getPedalAlter() const; void setPedalAlter( const PedalAlterPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: PedalStepPtr myPedalStep; diff --git a/Sourcecode/mx/core/elements/PerMinute.cpp b/Sourcecode/mx/core/elements/PerMinute.cpp index 42e58b26b..afcb3364a 100755 --- a/Sourcecode/mx/core/elements/PerMinute.cpp +++ b/Sourcecode/mx/core/elements/PerMinute.cpp @@ -87,7 +87,7 @@ namespace mx } - bool PerMinute::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool PerMinute::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/PerMinute.h b/Sourcecode/mx/core/elements/PerMinute.h index cd2e72276..1f3f4f3cc 100755 --- a/Sourcecode/mx/core/elements/PerMinute.h +++ b/Sourcecode/mx/core/elements/PerMinute.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/PerMinuteAttributes.cpp b/Sourcecode/mx/core/elements/PerMinuteAttributes.cpp index 4b3f29f27..476a4aa63 100755 --- a/Sourcecode/mx/core/elements/PerMinuteAttributes.cpp +++ b/Sourcecode/mx/core/elements/PerMinuteAttributes.cpp @@ -44,7 +44,7 @@ namespace mx } - bool PerMinuteAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool PerMinuteAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "PerMinuteAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/PerMinuteAttributes.h b/Sourcecode/mx/core/elements/PerMinuteAttributes.h index 1ffa9c3be..b476054f1 100755 --- a/Sourcecode/mx/core/elements/PerMinuteAttributes.h +++ b/Sourcecode/mx/core/elements/PerMinuteAttributes.h @@ -36,7 +36,8 @@ namespace mx bool hasFontSize; bool hasFontWeight; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/PerMinuteOrBeatUnitChoice.cpp b/Sourcecode/mx/core/elements/PerMinuteOrBeatUnitChoice.cpp index 5f2ac8027..296d553fe 100755 --- a/Sourcecode/mx/core/elements/PerMinuteOrBeatUnitChoice.cpp +++ b/Sourcecode/mx/core/elements/PerMinuteOrBeatUnitChoice.cpp @@ -107,7 +107,7 @@ namespace mx } - bool PerMinuteOrBeatUnitChoice::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool PerMinuteOrBeatUnitChoice::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_CHOICE_IF( perMinute, "per-minute", PerMinute ); MX_CHOICE_IF( beatUnitGroup, "beat-unit-group", BeatUnitGroup ); diff --git a/Sourcecode/mx/core/elements/PerMinuteOrBeatUnitChoice.h b/Sourcecode/mx/core/elements/PerMinuteOrBeatUnitChoice.h index 57526f631..cc1d35294 100755 --- a/Sourcecode/mx/core/elements/PerMinuteOrBeatUnitChoice.h +++ b/Sourcecode/mx/core/elements/PerMinuteOrBeatUnitChoice.h @@ -44,7 +44,8 @@ namespace mx BeatUnitGroupPtr getBeatUnitGroup() const; void setBeatUnitGroup( const BeatUnitGroupPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Choice myChoice; diff --git a/Sourcecode/mx/core/elements/Percussion.cpp b/Sourcecode/mx/core/elements/Percussion.cpp index c6ff34f72..c00d45027 100755 --- a/Sourcecode/mx/core/elements/Percussion.cpp +++ b/Sourcecode/mx/core/elements/Percussion.cpp @@ -82,7 +82,7 @@ namespace mx } - bool Percussion::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Percussion::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Percussion.h b/Sourcecode/mx/core/elements/Percussion.h index ae86c65c9..a1863f96c 100755 --- a/Sourcecode/mx/core/elements/Percussion.h +++ b/Sourcecode/mx/core/elements/Percussion.h @@ -38,7 +38,8 @@ namespace mx PercussionChoicePtr getPercussionChoice() const; void setPercussionChoice( const PercussionChoicePtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: PercussionAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/PercussionAttributes.cpp b/Sourcecode/mx/core/elements/PercussionAttributes.cpp index c860640a2..7203b7d36 100755 --- a/Sourcecode/mx/core/elements/PercussionAttributes.cpp +++ b/Sourcecode/mx/core/elements/PercussionAttributes.cpp @@ -76,7 +76,7 @@ namespace mx } - bool PercussionAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool PercussionAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "PercussionAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/PercussionAttributes.h b/Sourcecode/mx/core/elements/PercussionAttributes.h index 3081eb122..e64809dcc 100755 --- a/Sourcecode/mx/core/elements/PercussionAttributes.h +++ b/Sourcecode/mx/core/elements/PercussionAttributes.h @@ -54,7 +54,8 @@ namespace mx bool hasValign; bool hasEnclosure; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/PercussionChoice.cpp b/Sourcecode/mx/core/elements/PercussionChoice.cpp index 30a9bde58..269cdd1cb 100755 --- a/Sourcecode/mx/core/elements/PercussionChoice.cpp +++ b/Sourcecode/mx/core/elements/PercussionChoice.cpp @@ -351,7 +351,7 @@ namespace mx } - bool PercussionChoice::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool PercussionChoice::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { if( xelement.getName() == "glass" ) { diff --git a/Sourcecode/mx/core/elements/PercussionChoice.h b/Sourcecode/mx/core/elements/PercussionChoice.h index 7d93fc821..b7731ca1d 100755 --- a/Sourcecode/mx/core/elements/PercussionChoice.h +++ b/Sourcecode/mx/core/elements/PercussionChoice.h @@ -114,7 +114,8 @@ namespace mx OtherPercussionPtr getOtherPercussion() const; void setOtherPercussion( const OtherPercussionPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Choice myChoice; diff --git a/Sourcecode/mx/core/elements/Pitch.cpp b/Sourcecode/mx/core/elements/Pitch.cpp index 9dbc52d12..17938c26e 100755 --- a/Sourcecode/mx/core/elements/Pitch.cpp +++ b/Sourcecode/mx/core/elements/Pitch.cpp @@ -120,7 +120,7 @@ namespace mx } - bool Pitch::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Pitch::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; bool isStepFound = false; diff --git a/Sourcecode/mx/core/elements/Pitch.h b/Sourcecode/mx/core/elements/Pitch.h index e02fe624d..37b9c2790 100755 --- a/Sourcecode/mx/core/elements/Pitch.h +++ b/Sourcecode/mx/core/elements/Pitch.h @@ -48,7 +48,8 @@ namespace mx OctavePtr getOctave() const; void setOctave( const OctavePtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: StepPtr myStep; diff --git a/Sourcecode/mx/core/elements/Pitched.cpp b/Sourcecode/mx/core/elements/Pitched.cpp index d23eeb113..f3aab9851 100755 --- a/Sourcecode/mx/core/elements/Pitched.cpp +++ b/Sourcecode/mx/core/elements/Pitched.cpp @@ -66,7 +66,7 @@ namespace mx } - bool Pitched::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Pitched::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/Pitched.h b/Sourcecode/mx/core/elements/Pitched.h index 6c49f9ddb..b451bf6f5 100755 --- a/Sourcecode/mx/core/elements/Pitched.h +++ b/Sourcecode/mx/core/elements/Pitched.h @@ -37,7 +37,8 @@ namespace mx PitchedEnum getValue() const; void setValue( const PitchedEnum& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: PitchedEnum myValue; diff --git a/Sourcecode/mx/core/elements/Play.cpp b/Sourcecode/mx/core/elements/Play.cpp index f797374d6..288c6ce3d 100755 --- a/Sourcecode/mx/core/elements/Play.cpp +++ b/Sourcecode/mx/core/elements/Play.cpp @@ -170,7 +170,7 @@ namespace mx } - bool Play::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Play::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { if( xelement.getName() == "ipa" ) { diff --git a/Sourcecode/mx/core/elements/Play.h b/Sourcecode/mx/core/elements/Play.h index 3c1255fca..8d53a1271 100755 --- a/Sourcecode/mx/core/elements/Play.h +++ b/Sourcecode/mx/core/elements/Play.h @@ -67,7 +67,8 @@ namespace mx void setOtherPlay( const OtherPlayPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: PlayAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/PlayAttributes.cpp b/Sourcecode/mx/core/elements/PlayAttributes.cpp index bee0cc819..253bac297 100755 --- a/Sourcecode/mx/core/elements/PlayAttributes.cpp +++ b/Sourcecode/mx/core/elements/PlayAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool PlayAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool PlayAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "PlayAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/PlayAttributes.h b/Sourcecode/mx/core/elements/PlayAttributes.h index b47fe691f..f91300702 100755 --- a/Sourcecode/mx/core/elements/PlayAttributes.h +++ b/Sourcecode/mx/core/elements/PlayAttributes.h @@ -28,7 +28,8 @@ namespace mx XsIDREF id; bool hasId; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Plop.cpp b/Sourcecode/mx/core/elements/Plop.cpp index 29fccd6a9..fe36d1630 100755 --- a/Sourcecode/mx/core/elements/Plop.cpp +++ b/Sourcecode/mx/core/elements/Plop.cpp @@ -57,7 +57,7 @@ namespace mx } - bool Plop::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Plop::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Plop.h b/Sourcecode/mx/core/elements/Plop.h index dad432b23..906ac9081 100755 --- a/Sourcecode/mx/core/elements/Plop.h +++ b/Sourcecode/mx/core/elements/Plop.h @@ -35,7 +35,8 @@ namespace mx EmptyLineAttributesPtr getAttributes() const; void setAttributes( const EmptyLineAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: EmptyLineAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/Pluck.cpp b/Sourcecode/mx/core/elements/Pluck.cpp index 594c5137c..2d7b5f14e 100755 --- a/Sourcecode/mx/core/elements/Pluck.cpp +++ b/Sourcecode/mx/core/elements/Pluck.cpp @@ -87,7 +87,7 @@ namespace mx } - bool Pluck::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Pluck::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Pluck.h b/Sourcecode/mx/core/elements/Pluck.h index 93ca09e1a..99731214d 100755 --- a/Sourcecode/mx/core/elements/Pluck.h +++ b/Sourcecode/mx/core/elements/Pluck.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/PluckAttributes.cpp b/Sourcecode/mx/core/elements/PluckAttributes.cpp index b537f234d..b380e9093 100755 --- a/Sourcecode/mx/core/elements/PluckAttributes.cpp +++ b/Sourcecode/mx/core/elements/PluckAttributes.cpp @@ -64,7 +64,7 @@ namespace mx } - bool PluckAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool PluckAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "PluckAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/PluckAttributes.h b/Sourcecode/mx/core/elements/PluckAttributes.h index 446ab8f39..104dc9b78 100755 --- a/Sourcecode/mx/core/elements/PluckAttributes.h +++ b/Sourcecode/mx/core/elements/PluckAttributes.h @@ -47,7 +47,8 @@ namespace mx bool hasFontWeight; bool hasPlacement; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/PreBend.cpp b/Sourcecode/mx/core/elements/PreBend.cpp index 145668790..991ca826c 100755 --- a/Sourcecode/mx/core/elements/PreBend.cpp +++ b/Sourcecode/mx/core/elements/PreBend.cpp @@ -27,7 +27,7 @@ namespace mx } - bool PreBend::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool PreBend::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/PreBend.h b/Sourcecode/mx/core/elements/PreBend.h index b034ec29f..e5a1ae51c 100755 --- a/Sourcecode/mx/core/elements/PreBend.h +++ b/Sourcecode/mx/core/elements/PreBend.h @@ -31,7 +31,8 @@ namespace mx virtual std::ostream& streamName( std::ostream& os ) const; virtual std::ostream& streamContents( std::ostream& os, const int indentLevel, bool& isOneLineOnly ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Prefix.cpp b/Sourcecode/mx/core/elements/Prefix.cpp index e13e3f98e..2f26713b5 100755 --- a/Sourcecode/mx/core/elements/Prefix.cpp +++ b/Sourcecode/mx/core/elements/Prefix.cpp @@ -87,7 +87,7 @@ namespace mx } - bool Prefix::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Prefix::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Prefix.h b/Sourcecode/mx/core/elements/Prefix.h index 7130f847c..8f17d7322 100755 --- a/Sourcecode/mx/core/elements/Prefix.h +++ b/Sourcecode/mx/core/elements/Prefix.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/PrefixAttributes.cpp b/Sourcecode/mx/core/elements/PrefixAttributes.cpp index 8ee5ae63e..6644c6ee1 100755 --- a/Sourcecode/mx/core/elements/PrefixAttributes.cpp +++ b/Sourcecode/mx/core/elements/PrefixAttributes.cpp @@ -60,7 +60,7 @@ namespace mx } - bool PrefixAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool PrefixAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "PrefixAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/PrefixAttributes.h b/Sourcecode/mx/core/elements/PrefixAttributes.h index fc99a27b7..94dd3e88e 100755 --- a/Sourcecode/mx/core/elements/PrefixAttributes.h +++ b/Sourcecode/mx/core/elements/PrefixAttributes.h @@ -45,7 +45,8 @@ namespace mx bool hasFontSize; bool hasFontWeight; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/PrincipalVoice.cpp b/Sourcecode/mx/core/elements/PrincipalVoice.cpp index bdaaca5b2..42cee6924 100755 --- a/Sourcecode/mx/core/elements/PrincipalVoice.cpp +++ b/Sourcecode/mx/core/elements/PrincipalVoice.cpp @@ -87,7 +87,7 @@ namespace mx } - bool PrincipalVoice::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool PrincipalVoice::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/PrincipalVoice.h b/Sourcecode/mx/core/elements/PrincipalVoice.h index 57aae0d42..ef68553b0 100755 --- a/Sourcecode/mx/core/elements/PrincipalVoice.h +++ b/Sourcecode/mx/core/elements/PrincipalVoice.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/PrincipalVoiceAttributes.cpp b/Sourcecode/mx/core/elements/PrincipalVoiceAttributes.cpp index 841bf3518..fd59b461e 100755 --- a/Sourcecode/mx/core/elements/PrincipalVoiceAttributes.cpp +++ b/Sourcecode/mx/core/elements/PrincipalVoiceAttributes.cpp @@ -72,7 +72,7 @@ namespace mx } - bool PrincipalVoiceAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool PrincipalVoiceAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "PrincipalVoiceAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/PrincipalVoiceAttributes.h b/Sourcecode/mx/core/elements/PrincipalVoiceAttributes.h index 9261bfb4d..d7e466ad9 100755 --- a/Sourcecode/mx/core/elements/PrincipalVoiceAttributes.h +++ b/Sourcecode/mx/core/elements/PrincipalVoiceAttributes.h @@ -51,7 +51,8 @@ namespace mx bool hasFontWeight; bool hasHalign; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Print.cpp b/Sourcecode/mx/core/elements/Print.cpp index 30c6c2994..2f3e3c684 100755 --- a/Sourcecode/mx/core/elements/Print.cpp +++ b/Sourcecode/mx/core/elements/Print.cpp @@ -236,7 +236,7 @@ namespace mx } - bool Print::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Print::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Print.h b/Sourcecode/mx/core/elements/Print.h index 8262ceec7..61b74714f 100755 --- a/Sourcecode/mx/core/elements/Print.h +++ b/Sourcecode/mx/core/elements/Print.h @@ -68,7 +68,8 @@ namespace mx bool getHasPartAbbreviationDisplay() const; void setHasPartAbbreviationDisplay( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: PrintAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/PrintAttributes.cpp b/Sourcecode/mx/core/elements/PrintAttributes.cpp index bebcd33f3..ad4f3d2d3 100755 --- a/Sourcecode/mx/core/elements/PrintAttributes.cpp +++ b/Sourcecode/mx/core/elements/PrintAttributes.cpp @@ -48,7 +48,7 @@ namespace mx } - bool PrintAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool PrintAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "PrintAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/PrintAttributes.h b/Sourcecode/mx/core/elements/PrintAttributes.h index 78000d938..c537dcb17 100755 --- a/Sourcecode/mx/core/elements/PrintAttributes.h +++ b/Sourcecode/mx/core/elements/PrintAttributes.h @@ -39,7 +39,8 @@ namespace mx bool hasBlankPage; bool hasPageNumber; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Properties.cpp b/Sourcecode/mx/core/elements/Properties.cpp index 50aa04ef3..e38af0d7e 100755 --- a/Sourcecode/mx/core/elements/Properties.cpp +++ b/Sourcecode/mx/core/elements/Properties.cpp @@ -558,7 +558,7 @@ namespace mx } - bool Properties::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Properties::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; xml::XElementIterator end = xelement.end(); diff --git a/Sourcecode/mx/core/elements/Properties.h b/Sourcecode/mx/core/elements/Properties.h index 35c59fc0d..937029db9 100755 --- a/Sourcecode/mx/core/elements/Properties.h +++ b/Sourcecode/mx/core/elements/Properties.h @@ -120,7 +120,8 @@ namespace mx void clearMeasureStyleSet(); MeasureStylePtr getMeasureStyle( const MeasureStyleSetIterConst& setIterator ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: EditorialGroupPtr myEditorialGroup; diff --git a/Sourcecode/mx/core/elements/PullOff.cpp b/Sourcecode/mx/core/elements/PullOff.cpp index 33659ce9a..de09f8ae7 100755 --- a/Sourcecode/mx/core/elements/PullOff.cpp +++ b/Sourcecode/mx/core/elements/PullOff.cpp @@ -87,7 +87,7 @@ namespace mx } - bool PullOff::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool PullOff::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/PullOff.h b/Sourcecode/mx/core/elements/PullOff.h index 03623ab15..4e2602fba 100755 --- a/Sourcecode/mx/core/elements/PullOff.h +++ b/Sourcecode/mx/core/elements/PullOff.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/PullOffAttributes.cpp b/Sourcecode/mx/core/elements/PullOffAttributes.cpp index 3e8a94ff4..d9d506f61 100755 --- a/Sourcecode/mx/core/elements/PullOffAttributes.cpp +++ b/Sourcecode/mx/core/elements/PullOffAttributes.cpp @@ -72,7 +72,7 @@ namespace mx } - bool PullOffAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool PullOffAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "PullOffAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/PullOffAttributes.h b/Sourcecode/mx/core/elements/PullOffAttributes.h index e7a0d2d67..d51a2a683 100755 --- a/Sourcecode/mx/core/elements/PullOffAttributes.h +++ b/Sourcecode/mx/core/elements/PullOffAttributes.h @@ -52,7 +52,8 @@ namespace mx bool hasFontWeight; bool hasPlacement; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Rehearsal.cpp b/Sourcecode/mx/core/elements/Rehearsal.cpp index 1eb48c479..3923515f6 100755 --- a/Sourcecode/mx/core/elements/Rehearsal.cpp +++ b/Sourcecode/mx/core/elements/Rehearsal.cpp @@ -87,7 +87,7 @@ namespace mx } - bool Rehearsal::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Rehearsal::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Rehearsal.h b/Sourcecode/mx/core/elements/Rehearsal.h index b3e9dccdf..108fd28d5 100755 --- a/Sourcecode/mx/core/elements/Rehearsal.h +++ b/Sourcecode/mx/core/elements/Rehearsal.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/RehearsalAttributes.cpp b/Sourcecode/mx/core/elements/RehearsalAttributes.cpp index c3b702936..ede8eb4bd 100755 --- a/Sourcecode/mx/core/elements/RehearsalAttributes.cpp +++ b/Sourcecode/mx/core/elements/RehearsalAttributes.cpp @@ -104,7 +104,7 @@ namespace mx } - bool RehearsalAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool RehearsalAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "RehearsalAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/RehearsalAttributes.h b/Sourcecode/mx/core/elements/RehearsalAttributes.h index d88c3a81a..de08b4dee 100755 --- a/Sourcecode/mx/core/elements/RehearsalAttributes.h +++ b/Sourcecode/mx/core/elements/RehearsalAttributes.h @@ -69,7 +69,8 @@ namespace mx bool hasSpace; bool hasEnclosure; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Relation.cpp b/Sourcecode/mx/core/elements/Relation.cpp index 473e08ac7..727e78e8f 100755 --- a/Sourcecode/mx/core/elements/Relation.cpp +++ b/Sourcecode/mx/core/elements/Relation.cpp @@ -87,7 +87,7 @@ namespace mx } - bool Relation::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Relation::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Relation.h b/Sourcecode/mx/core/elements/Relation.h index ef30389b4..a3cd01341 100755 --- a/Sourcecode/mx/core/elements/Relation.h +++ b/Sourcecode/mx/core/elements/Relation.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/RelationAttributes.cpp b/Sourcecode/mx/core/elements/RelationAttributes.cpp index 1beca34c5..69217b5c9 100755 --- a/Sourcecode/mx/core/elements/RelationAttributes.cpp +++ b/Sourcecode/mx/core/elements/RelationAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool RelationAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool RelationAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "RelationAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/RelationAttributes.h b/Sourcecode/mx/core/elements/RelationAttributes.h index aac13ed16..cfa82703c 100755 --- a/Sourcecode/mx/core/elements/RelationAttributes.h +++ b/Sourcecode/mx/core/elements/RelationAttributes.h @@ -28,7 +28,8 @@ namespace mx XsToken type; bool hasType; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Release.cpp b/Sourcecode/mx/core/elements/Release.cpp index 48321342f..09625aae7 100755 --- a/Sourcecode/mx/core/elements/Release.cpp +++ b/Sourcecode/mx/core/elements/Release.cpp @@ -27,7 +27,7 @@ namespace mx } - bool Release::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Release::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/Release.h b/Sourcecode/mx/core/elements/Release.h index 9408cce5f..08c25fc81 100755 --- a/Sourcecode/mx/core/elements/Release.h +++ b/Sourcecode/mx/core/elements/Release.h @@ -31,7 +31,8 @@ namespace mx virtual std::ostream& streamName( std::ostream& os ) const; virtual std::ostream& streamContents( std::ostream& os, const int indentLevel, bool& isOneLineOnly ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Repeat.cpp b/Sourcecode/mx/core/elements/Repeat.cpp index 2864fe97b..b123688af 100755 --- a/Sourcecode/mx/core/elements/Repeat.cpp +++ b/Sourcecode/mx/core/elements/Repeat.cpp @@ -57,7 +57,7 @@ namespace mx } - bool Repeat::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Repeat::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Repeat.h b/Sourcecode/mx/core/elements/Repeat.h index c9c79eaf2..be5a8c700 100755 --- a/Sourcecode/mx/core/elements/Repeat.h +++ b/Sourcecode/mx/core/elements/Repeat.h @@ -35,7 +35,8 @@ namespace mx RepeatAttributesPtr getAttributes() const; void setAttributes( const RepeatAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: RepeatAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/RepeatAttributes.cpp b/Sourcecode/mx/core/elements/RepeatAttributes.cpp index 579ed2592..5e928a3fe 100755 --- a/Sourcecode/mx/core/elements/RepeatAttributes.cpp +++ b/Sourcecode/mx/core/elements/RepeatAttributes.cpp @@ -40,7 +40,7 @@ namespace mx } - bool RepeatAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool RepeatAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "RepeatAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/RepeatAttributes.h b/Sourcecode/mx/core/elements/RepeatAttributes.h index d2651d3e1..a4c03dd35 100755 --- a/Sourcecode/mx/core/elements/RepeatAttributes.h +++ b/Sourcecode/mx/core/elements/RepeatAttributes.h @@ -33,7 +33,8 @@ namespace mx bool hasTimes; bool hasWinged; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Rest.cpp b/Sourcecode/mx/core/elements/Rest.cpp index b8b116fd4..da8ab075c 100755 --- a/Sourcecode/mx/core/elements/Rest.cpp +++ b/Sourcecode/mx/core/elements/Rest.cpp @@ -102,7 +102,7 @@ namespace mx } - bool Rest::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Rest::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Rest.h b/Sourcecode/mx/core/elements/Rest.h index 883df19cb..1d52fbe42 100755 --- a/Sourcecode/mx/core/elements/Rest.h +++ b/Sourcecode/mx/core/elements/Rest.h @@ -42,7 +42,8 @@ namespace mx bool getHasDisplayStepOctaveGroup() const; void setHasDisplayStepOctaveGroup( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: RestAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/RestAttributes.cpp b/Sourcecode/mx/core/elements/RestAttributes.cpp index 1302a2e63..83f5b791f 100755 --- a/Sourcecode/mx/core/elements/RestAttributes.cpp +++ b/Sourcecode/mx/core/elements/RestAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool RestAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool RestAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "RestAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/RestAttributes.h b/Sourcecode/mx/core/elements/RestAttributes.h index bbe0b07d3..7174724ca 100755 --- a/Sourcecode/mx/core/elements/RestAttributes.h +++ b/Sourcecode/mx/core/elements/RestAttributes.h @@ -28,7 +28,8 @@ namespace mx YesNo measure; bool hasMeasure; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/RightDivider.cpp b/Sourcecode/mx/core/elements/RightDivider.cpp index 1726086e7..6ff999204 100755 --- a/Sourcecode/mx/core/elements/RightDivider.cpp +++ b/Sourcecode/mx/core/elements/RightDivider.cpp @@ -57,7 +57,7 @@ namespace mx } - bool RightDivider::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool RightDivider::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/RightDivider.h b/Sourcecode/mx/core/elements/RightDivider.h index df85691cb..f2678f7c9 100755 --- a/Sourcecode/mx/core/elements/RightDivider.h +++ b/Sourcecode/mx/core/elements/RightDivider.h @@ -34,7 +34,8 @@ namespace mx EmptyPrintObjectStyleAlignAttributesPtr getAttributes() const; void setAttributes( const EmptyPrintObjectStyleAlignAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: EmptyPrintObjectStyleAlignAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/RightMargin.cpp b/Sourcecode/mx/core/elements/RightMargin.cpp index 667c416e1..d16d95f15 100755 --- a/Sourcecode/mx/core/elements/RightMargin.cpp +++ b/Sourcecode/mx/core/elements/RightMargin.cpp @@ -66,7 +66,7 @@ namespace mx } - bool RightMargin::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool RightMargin::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/RightMargin.h b/Sourcecode/mx/core/elements/RightMargin.h index 218567d74..13f919fca 100755 --- a/Sourcecode/mx/core/elements/RightMargin.h +++ b/Sourcecode/mx/core/elements/RightMargin.h @@ -37,7 +37,8 @@ namespace mx TenthsValue getValue() const; void setValue( const TenthsValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: TenthsValue myValue; diff --git a/Sourcecode/mx/core/elements/Rights.cpp b/Sourcecode/mx/core/elements/Rights.cpp index 7d7f418f4..17a4d4431 100755 --- a/Sourcecode/mx/core/elements/Rights.cpp +++ b/Sourcecode/mx/core/elements/Rights.cpp @@ -87,7 +87,7 @@ namespace mx } - bool Rights::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Rights::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Rights.h b/Sourcecode/mx/core/elements/Rights.h index b1ad76f61..fb3c2c14d 100755 --- a/Sourcecode/mx/core/elements/Rights.h +++ b/Sourcecode/mx/core/elements/Rights.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/RightsAttributes.cpp b/Sourcecode/mx/core/elements/RightsAttributes.cpp index 08570e554..957975c06 100755 --- a/Sourcecode/mx/core/elements/RightsAttributes.cpp +++ b/Sourcecode/mx/core/elements/RightsAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool RightsAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool RightsAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "RightsAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/RightsAttributes.h b/Sourcecode/mx/core/elements/RightsAttributes.h index a4f7d04f2..0a25d8581 100755 --- a/Sourcecode/mx/core/elements/RightsAttributes.h +++ b/Sourcecode/mx/core/elements/RightsAttributes.h @@ -28,7 +28,8 @@ namespace mx XsToken type; bool hasType; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Root.cpp b/Sourcecode/mx/core/elements/Root.cpp index c3ac09ded..1eae712e1 100755 --- a/Sourcecode/mx/core/elements/Root.cpp +++ b/Sourcecode/mx/core/elements/Root.cpp @@ -101,7 +101,7 @@ namespace mx } - bool Root::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Root::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; bool isRootStepFound = false; diff --git a/Sourcecode/mx/core/elements/Root.h b/Sourcecode/mx/core/elements/Root.h index f4f917fbf..60359604f 100755 --- a/Sourcecode/mx/core/elements/Root.h +++ b/Sourcecode/mx/core/elements/Root.h @@ -43,7 +43,8 @@ namespace mx bool getHasRootAlter() const; void setHasRootAlter( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: RootStepPtr myRootStep; diff --git a/Sourcecode/mx/core/elements/RootAlter.cpp b/Sourcecode/mx/core/elements/RootAlter.cpp index f7334f7cb..0c6d69e46 100755 --- a/Sourcecode/mx/core/elements/RootAlter.cpp +++ b/Sourcecode/mx/core/elements/RootAlter.cpp @@ -87,7 +87,7 @@ namespace mx } - bool RootAlter::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool RootAlter::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/RootAlter.h b/Sourcecode/mx/core/elements/RootAlter.h index 944b35e5c..a7bb40552 100755 --- a/Sourcecode/mx/core/elements/RootAlter.h +++ b/Sourcecode/mx/core/elements/RootAlter.h @@ -41,7 +41,8 @@ namespace mx Semitones getValue() const; void setValue( const Semitones& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Semitones myValue; diff --git a/Sourcecode/mx/core/elements/RootAlterAttributes.cpp b/Sourcecode/mx/core/elements/RootAlterAttributes.cpp index 7d8678575..70ec34f26 100755 --- a/Sourcecode/mx/core/elements/RootAlterAttributes.cpp +++ b/Sourcecode/mx/core/elements/RootAlterAttributes.cpp @@ -68,7 +68,7 @@ namespace mx } - bool RootAlterAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool RootAlterAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "RootAlterAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/RootAlterAttributes.h b/Sourcecode/mx/core/elements/RootAlterAttributes.h index 52ce0442f..001bc9939 100755 --- a/Sourcecode/mx/core/elements/RootAlterAttributes.h +++ b/Sourcecode/mx/core/elements/RootAlterAttributes.h @@ -49,7 +49,8 @@ namespace mx bool hasFontWeight; bool hasLocation; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/RootStep.cpp b/Sourcecode/mx/core/elements/RootStep.cpp index efb458de1..a857a55b9 100755 --- a/Sourcecode/mx/core/elements/RootStep.cpp +++ b/Sourcecode/mx/core/elements/RootStep.cpp @@ -87,7 +87,7 @@ namespace mx } - bool RootStep::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool RootStep::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/RootStep.h b/Sourcecode/mx/core/elements/RootStep.h index 813a48c02..e2aab54cb 100755 --- a/Sourcecode/mx/core/elements/RootStep.h +++ b/Sourcecode/mx/core/elements/RootStep.h @@ -41,7 +41,8 @@ namespace mx StepEnum getValue() const; void setValue( const StepEnum& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: StepEnum myValue; diff --git a/Sourcecode/mx/core/elements/RootStepAttributes.cpp b/Sourcecode/mx/core/elements/RootStepAttributes.cpp index f30d91407..c94398afd 100755 --- a/Sourcecode/mx/core/elements/RootStepAttributes.cpp +++ b/Sourcecode/mx/core/elements/RootStepAttributes.cpp @@ -64,7 +64,7 @@ namespace mx } - bool RootStepAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool RootStepAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "RootStepAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/RootStepAttributes.h b/Sourcecode/mx/core/elements/RootStepAttributes.h index 91a967872..cdbb210f2 100755 --- a/Sourcecode/mx/core/elements/RootStepAttributes.h +++ b/Sourcecode/mx/core/elements/RootStepAttributes.h @@ -47,7 +47,8 @@ namespace mx bool hasFontSize; bool hasFontWeight; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Scaling.cpp b/Sourcecode/mx/core/elements/Scaling.cpp index 2c0db76ed..b23e86e88 100755 --- a/Sourcecode/mx/core/elements/Scaling.cpp +++ b/Sourcecode/mx/core/elements/Scaling.cpp @@ -85,7 +85,7 @@ namespace mx } - bool Scaling::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Scaling::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; bool isMillimetersFound = false; diff --git a/Sourcecode/mx/core/elements/Scaling.h b/Sourcecode/mx/core/elements/Scaling.h index 9a6085486..31d47c4ae 100755 --- a/Sourcecode/mx/core/elements/Scaling.h +++ b/Sourcecode/mx/core/elements/Scaling.h @@ -41,7 +41,8 @@ namespace mx TenthsPtr getTenths() const; void setTenths( const TenthsPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: MillimetersPtr myMillimeters; diff --git a/Sourcecode/mx/core/elements/Schleifer.cpp b/Sourcecode/mx/core/elements/Schleifer.cpp index 1c1784975..8024b2553 100755 --- a/Sourcecode/mx/core/elements/Schleifer.cpp +++ b/Sourcecode/mx/core/elements/Schleifer.cpp @@ -57,7 +57,7 @@ namespace mx } - bool Schleifer::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Schleifer::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Schleifer.h b/Sourcecode/mx/core/elements/Schleifer.h index c173c7902..9d01ba350 100755 --- a/Sourcecode/mx/core/elements/Schleifer.h +++ b/Sourcecode/mx/core/elements/Schleifer.h @@ -35,7 +35,8 @@ namespace mx EmptyPlacementAttributesPtr getAttributes() const; void setAttributes( const EmptyPlacementAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: EmptyPlacementAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/Scoop.cpp b/Sourcecode/mx/core/elements/Scoop.cpp index 48f2be4da..07d94fa52 100755 --- a/Sourcecode/mx/core/elements/Scoop.cpp +++ b/Sourcecode/mx/core/elements/Scoop.cpp @@ -57,7 +57,7 @@ namespace mx } - bool Scoop::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Scoop::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Scoop.h b/Sourcecode/mx/core/elements/Scoop.h index 6ca4dcdaa..6a0a6178e 100755 --- a/Sourcecode/mx/core/elements/Scoop.h +++ b/Sourcecode/mx/core/elements/Scoop.h @@ -35,7 +35,8 @@ namespace mx EmptyLineAttributesPtr getAttributes() const; void setAttributes( const EmptyLineAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: EmptyLineAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/Scordatura.cpp b/Sourcecode/mx/core/elements/Scordatura.cpp index b6c873b48..3789554c8 100755 --- a/Sourcecode/mx/core/elements/Scordatura.cpp +++ b/Sourcecode/mx/core/elements/Scordatura.cpp @@ -100,7 +100,7 @@ namespace mx } - bool Scordatura::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Scordatura::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/Scordatura.h b/Sourcecode/mx/core/elements/Scordatura.h index cc4c60f3a..8500ef5ca 100755 --- a/Sourcecode/mx/core/elements/Scordatura.h +++ b/Sourcecode/mx/core/elements/Scordatura.h @@ -39,7 +39,8 @@ namespace mx void clearAccordSet(); AccordPtr getAccord( const AccordSetIterConst& setIterator ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: AccordSet myAccordSet; diff --git a/Sourcecode/mx/core/elements/ScoreHeaderGroup.cpp b/Sourcecode/mx/core/elements/ScoreHeaderGroup.cpp index 29a367252..96cd44016 100755 --- a/Sourcecode/mx/core/elements/ScoreHeaderGroup.cpp +++ b/Sourcecode/mx/core/elements/ScoreHeaderGroup.cpp @@ -314,7 +314,7 @@ namespace mx } - bool ScoreHeaderGroup::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool ScoreHeaderGroup::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; bool isPartListFound = false; diff --git a/Sourcecode/mx/core/elements/ScoreHeaderGroup.h b/Sourcecode/mx/core/elements/ScoreHeaderGroup.h index 0964cee5c..2cc66eb68 100755 --- a/Sourcecode/mx/core/elements/ScoreHeaderGroup.h +++ b/Sourcecode/mx/core/elements/ScoreHeaderGroup.h @@ -79,7 +79,8 @@ namespace mx PartListPtr getPartList() const; void setPartList( const PartListPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: WorkPtr myWork; diff --git a/Sourcecode/mx/core/elements/ScoreInstrument.cpp b/Sourcecode/mx/core/elements/ScoreInstrument.cpp index 824af47dc..e0c91025a 100755 --- a/Sourcecode/mx/core/elements/ScoreInstrument.cpp +++ b/Sourcecode/mx/core/elements/ScoreInstrument.cpp @@ -224,7 +224,7 @@ namespace mx } - bool ScoreInstrument::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool ScoreInstrument::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/ScoreInstrument.h b/Sourcecode/mx/core/elements/ScoreInstrument.h index 429770725..d6ee1df80 100755 --- a/Sourcecode/mx/core/elements/ScoreInstrument.h +++ b/Sourcecode/mx/core/elements/ScoreInstrument.h @@ -68,7 +68,8 @@ namespace mx bool getHasVirtualInstrument() const; void setHasVirtualInstrument( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: ScoreInstrumentAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/ScoreInstrumentAttributes.cpp b/Sourcecode/mx/core/elements/ScoreInstrumentAttributes.cpp index 2cf5a27d2..39e5419e9 100755 --- a/Sourcecode/mx/core/elements/ScoreInstrumentAttributes.cpp +++ b/Sourcecode/mx/core/elements/ScoreInstrumentAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool ScoreInstrumentAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool ScoreInstrumentAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "ScoreInstrumentAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/ScoreInstrumentAttributes.h b/Sourcecode/mx/core/elements/ScoreInstrumentAttributes.h index b22219f94..be98343f7 100755 --- a/Sourcecode/mx/core/elements/ScoreInstrumentAttributes.h +++ b/Sourcecode/mx/core/elements/ScoreInstrumentAttributes.h @@ -28,7 +28,8 @@ namespace mx XsID id; const bool hasId; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/ScorePart.cpp b/Sourcecode/mx/core/elements/ScorePart.cpp index a788f677e..ef5698603 100755 --- a/Sourcecode/mx/core/elements/ScorePart.cpp +++ b/Sourcecode/mx/core/elements/ScorePart.cpp @@ -368,7 +368,7 @@ namespace mx } - bool ScorePart::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool ScorePart::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/ScorePart.h b/Sourcecode/mx/core/elements/ScorePart.h index 88bc7994d..c9178066b 100755 --- a/Sourcecode/mx/core/elements/ScorePart.h +++ b/Sourcecode/mx/core/elements/ScorePart.h @@ -98,7 +98,8 @@ namespace mx void clearMidiDeviceInstrumentGroupSet(); MidiDeviceInstrumentGroupPtr getMidiDeviceInstrumentGroup( const MidiDeviceInstrumentGroupSetIterConst& setIterator ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: ScorePartAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/ScorePartAttributes.cpp b/Sourcecode/mx/core/elements/ScorePartAttributes.cpp index 41e90e705..1b85ede4a 100755 --- a/Sourcecode/mx/core/elements/ScorePartAttributes.cpp +++ b/Sourcecode/mx/core/elements/ScorePartAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool ScorePartAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool ScorePartAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "ScorePartAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/ScorePartAttributes.h b/Sourcecode/mx/core/elements/ScorePartAttributes.h index 1de4518dd..29d40f3f0 100755 --- a/Sourcecode/mx/core/elements/ScorePartAttributes.h +++ b/Sourcecode/mx/core/elements/ScorePartAttributes.h @@ -28,7 +28,8 @@ namespace mx XsID id; const bool hasId; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/ScorePartwise.cpp b/Sourcecode/mx/core/elements/ScorePartwise.cpp index 4f68117c7..506d25031 100755 --- a/Sourcecode/mx/core/elements/ScorePartwise.cpp +++ b/Sourcecode/mx/core/elements/ScorePartwise.cpp @@ -135,7 +135,7 @@ namespace mx } - bool ScorePartwise::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool ScorePartwise::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; bool isFirstPartAdded = false; diff --git a/Sourcecode/mx/core/elements/ScorePartwise.h b/Sourcecode/mx/core/elements/ScorePartwise.h index 0ae269421..27d5e9742 100755 --- a/Sourcecode/mx/core/elements/ScorePartwise.h +++ b/Sourcecode/mx/core/elements/ScorePartwise.h @@ -48,7 +48,8 @@ namespace mx void clearPartwisePartSet(); PartwisePartPtr getPartwisePart( const PartwisePartSetIterConst& setIterator ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: ScorePartwiseAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/ScorePartwiseAttributes.cpp b/Sourcecode/mx/core/elements/ScorePartwiseAttributes.cpp index ef4a4c537..eb9a339c2 100755 --- a/Sourcecode/mx/core/elements/ScorePartwiseAttributes.cpp +++ b/Sourcecode/mx/core/elements/ScorePartwiseAttributes.cpp @@ -35,7 +35,7 @@ namespace mx } - bool ScorePartwiseAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool ScorePartwiseAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "ScorePartwiseAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/ScorePartwiseAttributes.h b/Sourcecode/mx/core/elements/ScorePartwiseAttributes.h index 1d52eacab..22dfcf029 100755 --- a/Sourcecode/mx/core/elements/ScorePartwiseAttributes.h +++ b/Sourcecode/mx/core/elements/ScorePartwiseAttributes.h @@ -28,7 +28,8 @@ namespace mx XsToken version; bool hasVersion; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/ScoreTimewise.cpp b/Sourcecode/mx/core/elements/ScoreTimewise.cpp index 2cb5f02c5..f03e08b66 100755 --- a/Sourcecode/mx/core/elements/ScoreTimewise.cpp +++ b/Sourcecode/mx/core/elements/ScoreTimewise.cpp @@ -136,7 +136,7 @@ namespace mx return TimewiseMeasurePtr(); } - bool ScoreTimewise::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool ScoreTimewise::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; bool isFirstMeasureAdded = false; diff --git a/Sourcecode/mx/core/elements/ScoreTimewise.h b/Sourcecode/mx/core/elements/ScoreTimewise.h index 557a68bd0..178840e72 100755 --- a/Sourcecode/mx/core/elements/ScoreTimewise.h +++ b/Sourcecode/mx/core/elements/ScoreTimewise.h @@ -48,7 +48,7 @@ namespace mx void clearTimewiseMeasureSet(); TimewiseMeasurePtr getTimewiseMeasure( const TimewiseMeasureSetIterConst& setIterator ) const; - virtual bool fromXElement( std::ostream& message, xml::XElement& xelement ); + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: ScoreTimewiseAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/ScoreTimewiseAttributes.cpp b/Sourcecode/mx/core/elements/ScoreTimewiseAttributes.cpp index d153d4b63..cb2584ae5 100755 --- a/Sourcecode/mx/core/elements/ScoreTimewiseAttributes.cpp +++ b/Sourcecode/mx/core/elements/ScoreTimewiseAttributes.cpp @@ -34,7 +34,7 @@ namespace mx } - bool ScoreTimewiseAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool ScoreTimewiseAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "ScoreTimewiseAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/ScoreTimewiseAttributes.h b/Sourcecode/mx/core/elements/ScoreTimewiseAttributes.h index be7c1ef03..aa7d34ca7 100755 --- a/Sourcecode/mx/core/elements/ScoreTimewiseAttributes.h +++ b/Sourcecode/mx/core/elements/ScoreTimewiseAttributes.h @@ -28,7 +28,8 @@ namespace mx XsToken version; bool hasVersion; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Segno.cpp b/Sourcecode/mx/core/elements/Segno.cpp index 3ff2b04b1..abe7c9dca 100755 --- a/Sourcecode/mx/core/elements/Segno.cpp +++ b/Sourcecode/mx/core/elements/Segno.cpp @@ -57,7 +57,7 @@ namespace mx } - bool Segno::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Segno::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Segno.h b/Sourcecode/mx/core/elements/Segno.h index 76d733ac9..710e148b8 100755 --- a/Sourcecode/mx/core/elements/Segno.h +++ b/Sourcecode/mx/core/elements/Segno.h @@ -34,7 +34,8 @@ namespace mx EmptyPrintObjectStyleAlignAttributesPtr getAttributes() const; void setAttributes( const EmptyPrintObjectStyleAlignAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: EmptyPrintObjectStyleAlignAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/SemiPitched.cpp b/Sourcecode/mx/core/elements/SemiPitched.cpp index cd367d0d7..a1e9f4719 100755 --- a/Sourcecode/mx/core/elements/SemiPitched.cpp +++ b/Sourcecode/mx/core/elements/SemiPitched.cpp @@ -66,7 +66,7 @@ namespace mx } - bool SemiPitched::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool SemiPitched::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); myValue = parseSemiPitchedEnum( xelement.getValue() ); diff --git a/Sourcecode/mx/core/elements/SemiPitched.h b/Sourcecode/mx/core/elements/SemiPitched.h index 14303df45..f18cc6677 100755 --- a/Sourcecode/mx/core/elements/SemiPitched.h +++ b/Sourcecode/mx/core/elements/SemiPitched.h @@ -37,7 +37,8 @@ namespace mx SemiPitchedEnum getValue() const; void setValue( const SemiPitchedEnum& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: SemiPitchedEnum myValue; diff --git a/Sourcecode/mx/core/elements/SenzaMisura.cpp b/Sourcecode/mx/core/elements/SenzaMisura.cpp index a81475141..1e9adfa98 100755 --- a/Sourcecode/mx/core/elements/SenzaMisura.cpp +++ b/Sourcecode/mx/core/elements/SenzaMisura.cpp @@ -66,7 +66,7 @@ namespace mx } - bool SenzaMisura::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool SenzaMisura::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/SenzaMisura.h b/Sourcecode/mx/core/elements/SenzaMisura.h index b88bff6b6..4ac13b923 100755 --- a/Sourcecode/mx/core/elements/SenzaMisura.h +++ b/Sourcecode/mx/core/elements/SenzaMisura.h @@ -37,7 +37,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/Shake.cpp b/Sourcecode/mx/core/elements/Shake.cpp index a181fd862..52bf726b5 100755 --- a/Sourcecode/mx/core/elements/Shake.cpp +++ b/Sourcecode/mx/core/elements/Shake.cpp @@ -57,7 +57,7 @@ namespace mx } - bool Shake::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Shake::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Shake.h b/Sourcecode/mx/core/elements/Shake.h index b91270c12..d8eb05ad9 100755 --- a/Sourcecode/mx/core/elements/Shake.h +++ b/Sourcecode/mx/core/elements/Shake.h @@ -35,7 +35,8 @@ namespace mx EmptyTrillSoundAttributesPtr getAttributes() const; void setAttributes( const EmptyTrillSoundAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: EmptyTrillSoundAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/Sign.cpp b/Sourcecode/mx/core/elements/Sign.cpp index d63192ebe..439a52078 100755 --- a/Sourcecode/mx/core/elements/Sign.cpp +++ b/Sourcecode/mx/core/elements/Sign.cpp @@ -66,7 +66,7 @@ namespace mx } - bool Sign::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Sign::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); myValue = parseClefSign( xelement.getValue() ); diff --git a/Sourcecode/mx/core/elements/Sign.h b/Sourcecode/mx/core/elements/Sign.h index 04ee01d7a..922e3ec66 100755 --- a/Sourcecode/mx/core/elements/Sign.h +++ b/Sourcecode/mx/core/elements/Sign.h @@ -37,7 +37,8 @@ namespace mx ClefSign getValue() const; void setValue( const ClefSign& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: ClefSign myValue; diff --git a/Sourcecode/mx/core/elements/Slash.cpp b/Sourcecode/mx/core/elements/Slash.cpp index f9f87affa..1506436fe 100755 --- a/Sourcecode/mx/core/elements/Slash.cpp +++ b/Sourcecode/mx/core/elements/Slash.cpp @@ -122,7 +122,7 @@ namespace mx } - bool Slash::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Slash::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Slash.h b/Sourcecode/mx/core/elements/Slash.h index ff48b629a..373dcaf8a 100755 --- a/Sourcecode/mx/core/elements/Slash.h +++ b/Sourcecode/mx/core/elements/Slash.h @@ -47,7 +47,8 @@ namespace mx void removeSlashDot( const SlashDotSetIterConst& value ); void clearSlashDotSet(); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: SlashAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/SlashAttributes.cpp b/Sourcecode/mx/core/elements/SlashAttributes.cpp index cc744c770..f1996edc4 100755 --- a/Sourcecode/mx/core/elements/SlashAttributes.cpp +++ b/Sourcecode/mx/core/elements/SlashAttributes.cpp @@ -40,7 +40,7 @@ namespace mx } - bool SlashAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool SlashAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "SlashAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/SlashAttributes.h b/Sourcecode/mx/core/elements/SlashAttributes.h index ce907534d..9d0304635 100755 --- a/Sourcecode/mx/core/elements/SlashAttributes.h +++ b/Sourcecode/mx/core/elements/SlashAttributes.h @@ -32,7 +32,8 @@ namespace mx bool hasUseDots; bool hasUseStems; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/SlashDot.cpp b/Sourcecode/mx/core/elements/SlashDot.cpp index 0591915ce..f3fcc58ed 100755 --- a/Sourcecode/mx/core/elements/SlashDot.cpp +++ b/Sourcecode/mx/core/elements/SlashDot.cpp @@ -27,7 +27,7 @@ namespace mx } - bool SlashDot::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool SlashDot::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/SlashDot.h b/Sourcecode/mx/core/elements/SlashDot.h index e09a8bcf9..45b919ebe 100755 --- a/Sourcecode/mx/core/elements/SlashDot.h +++ b/Sourcecode/mx/core/elements/SlashDot.h @@ -31,7 +31,8 @@ namespace mx virtual std::ostream& streamName( std::ostream& os ) const; virtual std::ostream& streamContents( std::ostream& os, const int indentLevel, bool& isOneLineOnly ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/SlashType.cpp b/Sourcecode/mx/core/elements/SlashType.cpp index b743da47a..a634e12ef 100755 --- a/Sourcecode/mx/core/elements/SlashType.cpp +++ b/Sourcecode/mx/core/elements/SlashType.cpp @@ -66,7 +66,7 @@ namespace mx } - bool SlashType::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool SlashType::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); myValue = parseNoteTypeValue( xelement.getValue() ); diff --git a/Sourcecode/mx/core/elements/SlashType.h b/Sourcecode/mx/core/elements/SlashType.h index 701b07e2c..e30a6655e 100755 --- a/Sourcecode/mx/core/elements/SlashType.h +++ b/Sourcecode/mx/core/elements/SlashType.h @@ -37,7 +37,8 @@ namespace mx NoteTypeValue getValue() const; void setValue( const NoteTypeValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: NoteTypeValue myValue; diff --git a/Sourcecode/mx/core/elements/Slide.cpp b/Sourcecode/mx/core/elements/Slide.cpp index 240b3843b..4e0481c0b 100755 --- a/Sourcecode/mx/core/elements/Slide.cpp +++ b/Sourcecode/mx/core/elements/Slide.cpp @@ -87,7 +87,7 @@ namespace mx } - bool Slide::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Slide::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Slide.h b/Sourcecode/mx/core/elements/Slide.h index 6b11892cd..50ce35ee7 100755 --- a/Sourcecode/mx/core/elements/Slide.h +++ b/Sourcecode/mx/core/elements/Slide.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/SlideAttributes.cpp b/Sourcecode/mx/core/elements/SlideAttributes.cpp index 1648c5f8c..8f4e14e09 100755 --- a/Sourcecode/mx/core/elements/SlideAttributes.cpp +++ b/Sourcecode/mx/core/elements/SlideAttributes.cpp @@ -96,7 +96,7 @@ namespace mx } - bool SlideAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool SlideAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "SlideAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/SlideAttributes.h b/Sourcecode/mx/core/elements/SlideAttributes.h index 9d661c2d1..a730c671d 100755 --- a/Sourcecode/mx/core/elements/SlideAttributes.h +++ b/Sourcecode/mx/core/elements/SlideAttributes.h @@ -64,7 +64,8 @@ namespace mx bool hasFirstBeat; bool hasLastBeat; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Slur.cpp b/Sourcecode/mx/core/elements/Slur.cpp index c7e5b2dc0..2be93230e 100755 --- a/Sourcecode/mx/core/elements/Slur.cpp +++ b/Sourcecode/mx/core/elements/Slur.cpp @@ -57,7 +57,7 @@ namespace mx } - bool Slur::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Slur::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Slur.h b/Sourcecode/mx/core/elements/Slur.h index 9cd3ec878..a33607714 100755 --- a/Sourcecode/mx/core/elements/Slur.h +++ b/Sourcecode/mx/core/elements/Slur.h @@ -35,7 +35,8 @@ namespace mx SlurAttributesPtr getAttributes() const; void setAttributes( const SlurAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: SlurAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/SlurAttributes.cpp b/Sourcecode/mx/core/elements/SlurAttributes.cpp index 4736a4fb2..4e4f723f1 100755 --- a/Sourcecode/mx/core/elements/SlurAttributes.cpp +++ b/Sourcecode/mx/core/elements/SlurAttributes.cpp @@ -98,7 +98,7 @@ namespace mx } - bool SlurAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool SlurAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "SlurAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/SlurAttributes.h b/Sourcecode/mx/core/elements/SlurAttributes.h index 506b9f1e6..fe8da723b 100755 --- a/Sourcecode/mx/core/elements/SlurAttributes.h +++ b/Sourcecode/mx/core/elements/SlurAttributes.h @@ -88,7 +88,8 @@ namespace mx bool hasBezierY2; bool hasColor; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/SnapPizzicato.cpp b/Sourcecode/mx/core/elements/SnapPizzicato.cpp index 8547d0990..41848aa89 100755 --- a/Sourcecode/mx/core/elements/SnapPizzicato.cpp +++ b/Sourcecode/mx/core/elements/SnapPizzicato.cpp @@ -57,7 +57,7 @@ namespace mx } - bool SnapPizzicato::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool SnapPizzicato::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/SnapPizzicato.h b/Sourcecode/mx/core/elements/SnapPizzicato.h index 01fea8b78..cbb159ca2 100755 --- a/Sourcecode/mx/core/elements/SnapPizzicato.h +++ b/Sourcecode/mx/core/elements/SnapPizzicato.h @@ -35,7 +35,8 @@ namespace mx EmptyPlacementAttributesPtr getAttributes() const; void setAttributes( const EmptyPlacementAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: EmptyPlacementAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/Software.cpp b/Sourcecode/mx/core/elements/Software.cpp index ca5af2dd9..6c7b8006e 100755 --- a/Sourcecode/mx/core/elements/Software.cpp +++ b/Sourcecode/mx/core/elements/Software.cpp @@ -66,7 +66,7 @@ namespace mx } - bool Software::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Software::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/Software.h b/Sourcecode/mx/core/elements/Software.h index 2491eb655..a39a25eac 100755 --- a/Sourcecode/mx/core/elements/Software.h +++ b/Sourcecode/mx/core/elements/Software.h @@ -37,7 +37,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/Solo.cpp b/Sourcecode/mx/core/elements/Solo.cpp index 031cdb94f..c0a3fef48 100755 --- a/Sourcecode/mx/core/elements/Solo.cpp +++ b/Sourcecode/mx/core/elements/Solo.cpp @@ -27,7 +27,7 @@ namespace mx } - bool Solo::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Solo::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( xelement ); MX_UNUSED( message ); diff --git a/Sourcecode/mx/core/elements/Solo.h b/Sourcecode/mx/core/elements/Solo.h index 8f0cd6e96..94acd5666 100755 --- a/Sourcecode/mx/core/elements/Solo.h +++ b/Sourcecode/mx/core/elements/Solo.h @@ -31,7 +31,8 @@ namespace mx virtual std::ostream& streamName( std::ostream& os ) const; virtual std::ostream& streamContents( std::ostream& os, const int indentLevel, bool& isOneLineOnly ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/SoloOrEnsembleChoice.h b/Sourcecode/mx/core/elements/SoloOrEnsembleChoice.h index fd7b86d65..7875ebb47 100755 --- a/Sourcecode/mx/core/elements/SoloOrEnsembleChoice.h +++ b/Sourcecode/mx/core/elements/SoloOrEnsembleChoice.h @@ -50,7 +50,8 @@ namespace mx EnsemblePtr getEnsemble() const; void setEnsemble( const EnsemblePtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Choice myChoice; diff --git a/Sourcecode/mx/core/elements/Sound.cpp b/Sourcecode/mx/core/elements/Sound.cpp index c3b1bfc11..e724d990f 100755 --- a/Sourcecode/mx/core/elements/Sound.cpp +++ b/Sourcecode/mx/core/elements/Sound.cpp @@ -175,7 +175,7 @@ namespace mx } - bool Sound::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Sound::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Sound.h b/Sourcecode/mx/core/elements/Sound.h index 147b6230a..034dd6664 100755 --- a/Sourcecode/mx/core/elements/Sound.h +++ b/Sourcecode/mx/core/elements/Sound.h @@ -56,7 +56,8 @@ namespace mx bool getHasPlay() const; void setHasPlay( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: SoundAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/SoundAttributes.cpp b/Sourcecode/mx/core/elements/SoundAttributes.cpp index adb518460..1d572c671 100755 --- a/Sourcecode/mx/core/elements/SoundAttributes.cpp +++ b/Sourcecode/mx/core/elements/SoundAttributes.cpp @@ -96,7 +96,7 @@ namespace mx } - bool SoundAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool SoundAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "SoundAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/SoundAttributes.h b/Sourcecode/mx/core/elements/SoundAttributes.h index 7f526e776..2cf53ba50 100755 --- a/Sourcecode/mx/core/elements/SoundAttributes.h +++ b/Sourcecode/mx/core/elements/SoundAttributes.h @@ -63,7 +63,8 @@ namespace mx bool hasSoftPedal; bool hasSostenutoPedal; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/SoundingPitch.cpp b/Sourcecode/mx/core/elements/SoundingPitch.cpp index edfa3b2a8..f9ea963ea 100755 --- a/Sourcecode/mx/core/elements/SoundingPitch.cpp +++ b/Sourcecode/mx/core/elements/SoundingPitch.cpp @@ -27,7 +27,7 @@ namespace mx } - bool SoundingPitch::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool SoundingPitch::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/SoundingPitch.h b/Sourcecode/mx/core/elements/SoundingPitch.h index 33009b63d..d995892d2 100755 --- a/Sourcecode/mx/core/elements/SoundingPitch.h +++ b/Sourcecode/mx/core/elements/SoundingPitch.h @@ -31,7 +31,8 @@ namespace mx virtual std::ostream& streamName( std::ostream& os ) const; virtual std::ostream& streamContents( std::ostream& os, const int indentLevel, bool& isOneLineOnly ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Source.cpp b/Sourcecode/mx/core/elements/Source.cpp index 08ee42054..5a205947a 100755 --- a/Sourcecode/mx/core/elements/Source.cpp +++ b/Sourcecode/mx/core/elements/Source.cpp @@ -66,7 +66,7 @@ namespace mx } - bool Source::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Source::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/Source.h b/Sourcecode/mx/core/elements/Source.h index 47290f1e8..82741dced 100755 --- a/Sourcecode/mx/core/elements/Source.h +++ b/Sourcecode/mx/core/elements/Source.h @@ -37,7 +37,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/Spiccato.cpp b/Sourcecode/mx/core/elements/Spiccato.cpp index f34df1f9a..d6f134260 100755 --- a/Sourcecode/mx/core/elements/Spiccato.cpp +++ b/Sourcecode/mx/core/elements/Spiccato.cpp @@ -57,7 +57,7 @@ namespace mx } - bool Spiccato::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Spiccato::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Spiccato.h b/Sourcecode/mx/core/elements/Spiccato.h index 34ca14db2..ae37faf43 100755 --- a/Sourcecode/mx/core/elements/Spiccato.h +++ b/Sourcecode/mx/core/elements/Spiccato.h @@ -35,7 +35,8 @@ namespace mx EmptyPlacementAttributesPtr getAttributes() const; void setAttributes( const EmptyPlacementAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: EmptyPlacementAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/Staccatissimo.cpp b/Sourcecode/mx/core/elements/Staccatissimo.cpp index 4723b140d..54ed2e643 100755 --- a/Sourcecode/mx/core/elements/Staccatissimo.cpp +++ b/Sourcecode/mx/core/elements/Staccatissimo.cpp @@ -57,7 +57,7 @@ namespace mx } - bool Staccatissimo::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Staccatissimo::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Staccatissimo.h b/Sourcecode/mx/core/elements/Staccatissimo.h index f6f35c620..c3afe542a 100755 --- a/Sourcecode/mx/core/elements/Staccatissimo.h +++ b/Sourcecode/mx/core/elements/Staccatissimo.h @@ -35,7 +35,8 @@ namespace mx EmptyPlacementAttributesPtr getAttributes() const; void setAttributes( const EmptyPlacementAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: EmptyPlacementAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/Staccato.cpp b/Sourcecode/mx/core/elements/Staccato.cpp index 467bb78f3..57c262ea6 100755 --- a/Sourcecode/mx/core/elements/Staccato.cpp +++ b/Sourcecode/mx/core/elements/Staccato.cpp @@ -57,7 +57,7 @@ namespace mx } - bool Staccato::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Staccato::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Staccato.h b/Sourcecode/mx/core/elements/Staccato.h index d906b91cc..0ed6eb993 100755 --- a/Sourcecode/mx/core/elements/Staccato.h +++ b/Sourcecode/mx/core/elements/Staccato.h @@ -35,7 +35,8 @@ namespace mx EmptyPlacementAttributesPtr getAttributes() const; void setAttributes( const EmptyPlacementAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: EmptyPlacementAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/Staff.cpp b/Sourcecode/mx/core/elements/Staff.cpp index 5c26eea15..78e629d94 100755 --- a/Sourcecode/mx/core/elements/Staff.cpp +++ b/Sourcecode/mx/core/elements/Staff.cpp @@ -66,7 +66,7 @@ namespace mx } - bool Staff::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Staff::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/Staff.h b/Sourcecode/mx/core/elements/Staff.h index 27b3d7c79..138242dd9 100755 --- a/Sourcecode/mx/core/elements/Staff.h +++ b/Sourcecode/mx/core/elements/Staff.h @@ -37,7 +37,8 @@ namespace mx PositiveInteger getValue() const; void setValue( const PositiveInteger& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: PositiveInteger myValue; diff --git a/Sourcecode/mx/core/elements/StaffDetails.cpp b/Sourcecode/mx/core/elements/StaffDetails.cpp index 66393366a..744489998 100755 --- a/Sourcecode/mx/core/elements/StaffDetails.cpp +++ b/Sourcecode/mx/core/elements/StaffDetails.cpp @@ -251,7 +251,7 @@ namespace mx } - bool StaffDetails::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool StaffDetails::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/StaffDetails.h b/Sourcecode/mx/core/elements/StaffDetails.h index f393c7cd0..7165142cf 100755 --- a/Sourcecode/mx/core/elements/StaffDetails.h +++ b/Sourcecode/mx/core/elements/StaffDetails.h @@ -72,7 +72,8 @@ namespace mx bool getHasStaffSize() const; void setHasStaffSize( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: StaffDetailsAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/StaffDetailsAttributes.cpp b/Sourcecode/mx/core/elements/StaffDetailsAttributes.cpp index c0a66c213..e2bbd1794 100755 --- a/Sourcecode/mx/core/elements/StaffDetailsAttributes.cpp +++ b/Sourcecode/mx/core/elements/StaffDetailsAttributes.cpp @@ -44,7 +44,7 @@ namespace mx } - bool StaffDetailsAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool StaffDetailsAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "StaffDetailsAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/StaffDetailsAttributes.h b/Sourcecode/mx/core/elements/StaffDetailsAttributes.h index 9aa2a49f8..a9699e6dd 100755 --- a/Sourcecode/mx/core/elements/StaffDetailsAttributes.h +++ b/Sourcecode/mx/core/elements/StaffDetailsAttributes.h @@ -35,7 +35,8 @@ namespace mx bool hasPrintObject; bool hasPrintSpacing; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/StaffDistance.cpp b/Sourcecode/mx/core/elements/StaffDistance.cpp index fe0a8efe8..31ca3808f 100755 --- a/Sourcecode/mx/core/elements/StaffDistance.cpp +++ b/Sourcecode/mx/core/elements/StaffDistance.cpp @@ -66,7 +66,7 @@ namespace mx } - bool StaffDistance::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool StaffDistance::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/StaffDistance.h b/Sourcecode/mx/core/elements/StaffDistance.h index 7a3b91a5d..95cd6286f 100755 --- a/Sourcecode/mx/core/elements/StaffDistance.h +++ b/Sourcecode/mx/core/elements/StaffDistance.h @@ -37,7 +37,8 @@ namespace mx TenthsValue getValue() const; void setValue( const TenthsValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: TenthsValue myValue; diff --git a/Sourcecode/mx/core/elements/StaffLayout.cpp b/Sourcecode/mx/core/elements/StaffLayout.cpp index 9d509fa59..378b0d7a0 100755 --- a/Sourcecode/mx/core/elements/StaffLayout.cpp +++ b/Sourcecode/mx/core/elements/StaffLayout.cpp @@ -101,7 +101,7 @@ namespace mx } - bool StaffLayout::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool StaffLayout::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/StaffLayout.h b/Sourcecode/mx/core/elements/StaffLayout.h index c011395f3..644eef9dd 100755 --- a/Sourcecode/mx/core/elements/StaffLayout.h +++ b/Sourcecode/mx/core/elements/StaffLayout.h @@ -42,7 +42,8 @@ namespace mx bool getHasStaffDistance() const; void setHasStaffDistance( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: StaffLayoutAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/StaffLayoutAttributes.cpp b/Sourcecode/mx/core/elements/StaffLayoutAttributes.cpp index 4e652d3d5..6c527e94c 100755 --- a/Sourcecode/mx/core/elements/StaffLayoutAttributes.cpp +++ b/Sourcecode/mx/core/elements/StaffLayoutAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool StaffLayoutAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool StaffLayoutAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "StaffLayoutAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/StaffLayoutAttributes.h b/Sourcecode/mx/core/elements/StaffLayoutAttributes.h index b0dd6b447..c01997797 100755 --- a/Sourcecode/mx/core/elements/StaffLayoutAttributes.h +++ b/Sourcecode/mx/core/elements/StaffLayoutAttributes.h @@ -28,7 +28,8 @@ namespace mx StaffNumber number; bool hasNumber; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/StaffLines.cpp b/Sourcecode/mx/core/elements/StaffLines.cpp index da76e4e04..5fcb2d67d 100755 --- a/Sourcecode/mx/core/elements/StaffLines.cpp +++ b/Sourcecode/mx/core/elements/StaffLines.cpp @@ -66,7 +66,7 @@ namespace mx } - bool StaffLines::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool StaffLines::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/StaffLines.h b/Sourcecode/mx/core/elements/StaffLines.h index 82325a964..9e45be42d 100755 --- a/Sourcecode/mx/core/elements/StaffLines.h +++ b/Sourcecode/mx/core/elements/StaffLines.h @@ -37,7 +37,8 @@ namespace mx NonNegativeInteger getValue() const; void setValue( const NonNegativeInteger& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: NonNegativeInteger myValue; diff --git a/Sourcecode/mx/core/elements/StaffSize.cpp b/Sourcecode/mx/core/elements/StaffSize.cpp index f84c5776e..a48e9f18b 100755 --- a/Sourcecode/mx/core/elements/StaffSize.cpp +++ b/Sourcecode/mx/core/elements/StaffSize.cpp @@ -66,7 +66,7 @@ namespace mx } - bool StaffSize::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool StaffSize::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/StaffSize.h b/Sourcecode/mx/core/elements/StaffSize.h index 094a52049..af5636c52 100755 --- a/Sourcecode/mx/core/elements/StaffSize.h +++ b/Sourcecode/mx/core/elements/StaffSize.h @@ -37,7 +37,8 @@ namespace mx NonNegativeDecimal getValue() const; void setValue( const NonNegativeDecimal& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: NonNegativeDecimal myValue; diff --git a/Sourcecode/mx/core/elements/StaffTuning.cpp b/Sourcecode/mx/core/elements/StaffTuning.cpp index 64a446345..cc0c3d6bc 100755 --- a/Sourcecode/mx/core/elements/StaffTuning.cpp +++ b/Sourcecode/mx/core/elements/StaffTuning.cpp @@ -136,7 +136,7 @@ namespace mx } - bool StaffTuning::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool StaffTuning::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/StaffTuning.h b/Sourcecode/mx/core/elements/StaffTuning.h index 2d1024947..b46a3a5fc 100755 --- a/Sourcecode/mx/core/elements/StaffTuning.h +++ b/Sourcecode/mx/core/elements/StaffTuning.h @@ -52,7 +52,8 @@ namespace mx TuningOctavePtr getTuningOctave() const; void setTuningOctave( const TuningOctavePtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: StaffTuningAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/StaffTuningAttributes.cpp b/Sourcecode/mx/core/elements/StaffTuningAttributes.cpp index 42efd4e13..702d98494 100755 --- a/Sourcecode/mx/core/elements/StaffTuningAttributes.cpp +++ b/Sourcecode/mx/core/elements/StaffTuningAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool StaffTuningAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool StaffTuningAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "StaffTuningAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/StaffTuningAttributes.h b/Sourcecode/mx/core/elements/StaffTuningAttributes.h index 1899fc49a..36d758871 100755 --- a/Sourcecode/mx/core/elements/StaffTuningAttributes.h +++ b/Sourcecode/mx/core/elements/StaffTuningAttributes.h @@ -28,7 +28,8 @@ namespace mx StaffLine line; bool hasLine; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/StaffType.cpp b/Sourcecode/mx/core/elements/StaffType.cpp index ddd8b829a..ad06a5346 100755 --- a/Sourcecode/mx/core/elements/StaffType.cpp +++ b/Sourcecode/mx/core/elements/StaffType.cpp @@ -66,7 +66,7 @@ namespace mx } - bool StaffType::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool StaffType::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/StaffType.h b/Sourcecode/mx/core/elements/StaffType.h index c959c49b5..3be53c177 100755 --- a/Sourcecode/mx/core/elements/StaffType.h +++ b/Sourcecode/mx/core/elements/StaffType.h @@ -37,7 +37,8 @@ namespace mx StaffTypeEnum getValue() const; void setValue( const StaffTypeEnum& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: StaffTypeEnum myValue; diff --git a/Sourcecode/mx/core/elements/Staves.cpp b/Sourcecode/mx/core/elements/Staves.cpp index 8417a5b0c..d72e4ab27 100755 --- a/Sourcecode/mx/core/elements/Staves.cpp +++ b/Sourcecode/mx/core/elements/Staves.cpp @@ -66,7 +66,7 @@ namespace mx } - bool Staves::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Staves::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/Staves.h b/Sourcecode/mx/core/elements/Staves.h index 6bafd3cc5..9c1899c3f 100755 --- a/Sourcecode/mx/core/elements/Staves.h +++ b/Sourcecode/mx/core/elements/Staves.h @@ -37,7 +37,8 @@ namespace mx NonNegativeInteger getValue() const; void setValue( const NonNegativeInteger& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: NonNegativeInteger myValue; diff --git a/Sourcecode/mx/core/elements/Stem.cpp b/Sourcecode/mx/core/elements/Stem.cpp index 787386d1d..deb56ccdd 100755 --- a/Sourcecode/mx/core/elements/Stem.cpp +++ b/Sourcecode/mx/core/elements/Stem.cpp @@ -87,7 +87,7 @@ namespace mx } - bool Stem::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Stem::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Stem.h b/Sourcecode/mx/core/elements/Stem.h index 35ce52455..09e3c4199 100755 --- a/Sourcecode/mx/core/elements/Stem.h +++ b/Sourcecode/mx/core/elements/Stem.h @@ -41,7 +41,8 @@ namespace mx StemValue getValue() const; void setValue( const StemValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: StemValue myValue; diff --git a/Sourcecode/mx/core/elements/StemAttributes.cpp b/Sourcecode/mx/core/elements/StemAttributes.cpp index 510ced0a3..ed26f36e7 100755 --- a/Sourcecode/mx/core/elements/StemAttributes.cpp +++ b/Sourcecode/mx/core/elements/StemAttributes.cpp @@ -44,7 +44,7 @@ namespace mx } - bool StemAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool StemAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "StemAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/StemAttributes.h b/Sourcecode/mx/core/elements/StemAttributes.h index 499270d8e..26d7dc839 100755 --- a/Sourcecode/mx/core/elements/StemAttributes.h +++ b/Sourcecode/mx/core/elements/StemAttributes.h @@ -34,7 +34,8 @@ namespace mx bool hasRelativeX; bool hasRelativeY; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Step.cpp b/Sourcecode/mx/core/elements/Step.cpp index a554fc374..86d9ecd63 100755 --- a/Sourcecode/mx/core/elements/Step.cpp +++ b/Sourcecode/mx/core/elements/Step.cpp @@ -66,7 +66,7 @@ namespace mx } - bool Step::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Step::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); myValue = parseStepEnum( xelement.getValue() ); diff --git a/Sourcecode/mx/core/elements/Step.h b/Sourcecode/mx/core/elements/Step.h index 037ed7997..f387ba220 100755 --- a/Sourcecode/mx/core/elements/Step.h +++ b/Sourcecode/mx/core/elements/Step.h @@ -37,7 +37,8 @@ namespace mx StepEnum getValue() const; void setValue( const StepEnum& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: StepEnum myValue; diff --git a/Sourcecode/mx/core/elements/Stick.cpp b/Sourcecode/mx/core/elements/Stick.cpp index ded095449..75b1e1b3b 100755 --- a/Sourcecode/mx/core/elements/Stick.cpp +++ b/Sourcecode/mx/core/elements/Stick.cpp @@ -101,7 +101,7 @@ namespace mx } - bool Stick::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Stick::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Stick.h b/Sourcecode/mx/core/elements/Stick.h index 54789ddb2..7d0d86eea 100755 --- a/Sourcecode/mx/core/elements/Stick.h +++ b/Sourcecode/mx/core/elements/Stick.h @@ -45,7 +45,8 @@ namespace mx StickMaterialPtr getStickMaterial() const; void setStickMaterial( const StickMaterialPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: StickAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/StickAttributes.cpp b/Sourcecode/mx/core/elements/StickAttributes.cpp index 5f4f13635..68f98ac2c 100755 --- a/Sourcecode/mx/core/elements/StickAttributes.cpp +++ b/Sourcecode/mx/core/elements/StickAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool StickAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool StickAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "StickAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/StickAttributes.h b/Sourcecode/mx/core/elements/StickAttributes.h index 7d8ee9779..bb9d2e1be 100755 --- a/Sourcecode/mx/core/elements/StickAttributes.h +++ b/Sourcecode/mx/core/elements/StickAttributes.h @@ -28,7 +28,8 @@ namespace mx TipDirection tip; bool hasTip; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/StickLocation.cpp b/Sourcecode/mx/core/elements/StickLocation.cpp index 710ab8b2a..d50ce5a6f 100755 --- a/Sourcecode/mx/core/elements/StickLocation.cpp +++ b/Sourcecode/mx/core/elements/StickLocation.cpp @@ -66,7 +66,7 @@ namespace mx } - bool StickLocation::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool StickLocation::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); myValue = parseStickLocationEnum( xelement.getValue() ); diff --git a/Sourcecode/mx/core/elements/StickLocation.h b/Sourcecode/mx/core/elements/StickLocation.h index eb230b4a9..2d95d4930 100755 --- a/Sourcecode/mx/core/elements/StickLocation.h +++ b/Sourcecode/mx/core/elements/StickLocation.h @@ -37,7 +37,8 @@ namespace mx StickLocationEnum getValue() const; void setValue( const StickLocationEnum& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: StickLocationEnum myValue; diff --git a/Sourcecode/mx/core/elements/StickMaterial.cpp b/Sourcecode/mx/core/elements/StickMaterial.cpp index 9ae6dca79..fb3787d4d 100755 --- a/Sourcecode/mx/core/elements/StickMaterial.cpp +++ b/Sourcecode/mx/core/elements/StickMaterial.cpp @@ -66,7 +66,7 @@ namespace mx } - bool StickMaterial::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool StickMaterial::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); myValue = parseStickMaterialEnum( xelement.getValue() ); diff --git a/Sourcecode/mx/core/elements/StickMaterial.h b/Sourcecode/mx/core/elements/StickMaterial.h index 2ed6fe890..8fc69a032 100755 --- a/Sourcecode/mx/core/elements/StickMaterial.h +++ b/Sourcecode/mx/core/elements/StickMaterial.h @@ -37,7 +37,8 @@ namespace mx StickMaterialEnum getValue() const; void setValue( const StickMaterialEnum& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: StickMaterialEnum myValue; diff --git a/Sourcecode/mx/core/elements/StickType.cpp b/Sourcecode/mx/core/elements/StickType.cpp index 211d4391d..8087dbff3 100755 --- a/Sourcecode/mx/core/elements/StickType.cpp +++ b/Sourcecode/mx/core/elements/StickType.cpp @@ -66,7 +66,7 @@ namespace mx } - bool StickType::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool StickType::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); myValue = parseStickTypeEnum( xelement.getValue() ); diff --git a/Sourcecode/mx/core/elements/StickType.h b/Sourcecode/mx/core/elements/StickType.h index 0a2da4921..5c100bb0d 100755 --- a/Sourcecode/mx/core/elements/StickType.h +++ b/Sourcecode/mx/core/elements/StickType.h @@ -37,7 +37,8 @@ namespace mx StickTypeEnum getValue() const; void setValue( const StickTypeEnum& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: StickTypeEnum myValue; diff --git a/Sourcecode/mx/core/elements/Stopped.cpp b/Sourcecode/mx/core/elements/Stopped.cpp index c328fe67f..fcf3e0d34 100755 --- a/Sourcecode/mx/core/elements/Stopped.cpp +++ b/Sourcecode/mx/core/elements/Stopped.cpp @@ -57,7 +57,7 @@ namespace mx } - bool Stopped::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Stopped::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Stopped.h b/Sourcecode/mx/core/elements/Stopped.h index f1b89212e..78cbd9ff8 100755 --- a/Sourcecode/mx/core/elements/Stopped.h +++ b/Sourcecode/mx/core/elements/Stopped.h @@ -35,7 +35,8 @@ namespace mx EmptyPlacementAttributesPtr getAttributes() const; void setAttributes( const EmptyPlacementAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: EmptyPlacementAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/Stress.cpp b/Sourcecode/mx/core/elements/Stress.cpp index 3ba941b7b..806c9ea07 100755 --- a/Sourcecode/mx/core/elements/Stress.cpp +++ b/Sourcecode/mx/core/elements/Stress.cpp @@ -57,7 +57,7 @@ namespace mx } - bool Stress::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Stress::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Stress.h b/Sourcecode/mx/core/elements/Stress.h index a4c036c51..c8d677b09 100755 --- a/Sourcecode/mx/core/elements/Stress.h +++ b/Sourcecode/mx/core/elements/Stress.h @@ -35,7 +35,8 @@ namespace mx EmptyPlacementAttributesPtr getAttributes() const; void setAttributes( const EmptyPlacementAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: EmptyPlacementAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/String.cpp b/Sourcecode/mx/core/elements/String.cpp index a021e6fcf..49c342ee3 100755 --- a/Sourcecode/mx/core/elements/String.cpp +++ b/Sourcecode/mx/core/elements/String.cpp @@ -87,7 +87,7 @@ namespace mx } - bool String::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool String::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/String.h b/Sourcecode/mx/core/elements/String.h index d95a2994f..b19d75307 100755 --- a/Sourcecode/mx/core/elements/String.h +++ b/Sourcecode/mx/core/elements/String.h @@ -42,7 +42,8 @@ namespace mx StringNumber getValue() const; void setValue( const StringNumber& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: StringAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/StringAttributes.cpp b/Sourcecode/mx/core/elements/StringAttributes.cpp index 27fc4e4f0..138239c12 100755 --- a/Sourcecode/mx/core/elements/StringAttributes.cpp +++ b/Sourcecode/mx/core/elements/StringAttributes.cpp @@ -68,7 +68,7 @@ namespace mx } - bool StringAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool StringAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "StringAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/StringAttributes.h b/Sourcecode/mx/core/elements/StringAttributes.h index e8e2b0e59..08c9417d0 100755 --- a/Sourcecode/mx/core/elements/StringAttributes.h +++ b/Sourcecode/mx/core/elements/StringAttributes.h @@ -50,7 +50,8 @@ namespace mx bool hasColor; bool hasPlacement; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/StringMute.cpp b/Sourcecode/mx/core/elements/StringMute.cpp index 7de98e2fd..501e8291d 100755 --- a/Sourcecode/mx/core/elements/StringMute.cpp +++ b/Sourcecode/mx/core/elements/StringMute.cpp @@ -57,7 +57,7 @@ namespace mx } - bool StringMute::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool StringMute::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/StringMute.h b/Sourcecode/mx/core/elements/StringMute.h index 4dedf24c0..23e0360d6 100755 --- a/Sourcecode/mx/core/elements/StringMute.h +++ b/Sourcecode/mx/core/elements/StringMute.h @@ -35,7 +35,8 @@ namespace mx StringMuteAttributesPtr getAttributes() const; void setAttributes( const StringMuteAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: StringMuteAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/StringMuteAttributes.cpp b/Sourcecode/mx/core/elements/StringMuteAttributes.cpp index f7350456c..77f5a70de 100755 --- a/Sourcecode/mx/core/elements/StringMuteAttributes.cpp +++ b/Sourcecode/mx/core/elements/StringMuteAttributes.cpp @@ -68,7 +68,7 @@ namespace mx } - bool StringMuteAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool StringMuteAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "StringMuteAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/StringMuteAttributes.h b/Sourcecode/mx/core/elements/StringMuteAttributes.h index 79b4a320d..9b558b564 100755 --- a/Sourcecode/mx/core/elements/StringMuteAttributes.h +++ b/Sourcecode/mx/core/elements/StringMuteAttributes.h @@ -49,7 +49,8 @@ namespace mx bool hasFontWeight; bool hasHalign; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/StrongAccent.cpp b/Sourcecode/mx/core/elements/StrongAccent.cpp index 9135447c0..43f6321ca 100755 --- a/Sourcecode/mx/core/elements/StrongAccent.cpp +++ b/Sourcecode/mx/core/elements/StrongAccent.cpp @@ -63,7 +63,7 @@ namespace mx } - bool StrongAccent::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool StrongAccent::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/StrongAccent.h b/Sourcecode/mx/core/elements/StrongAccent.h index c5c466d92..23e005a76 100755 --- a/Sourcecode/mx/core/elements/StrongAccent.h +++ b/Sourcecode/mx/core/elements/StrongAccent.h @@ -35,7 +35,8 @@ namespace mx StrongAccentAttributesPtr getAttributes() const; void setAttributes( const StrongAccentAttributesPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: StrongAccentAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/StrongAccentAttributes.cpp b/Sourcecode/mx/core/elements/StrongAccentAttributes.cpp index 79b1c4241..3414c34e4 100755 --- a/Sourcecode/mx/core/elements/StrongAccentAttributes.cpp +++ b/Sourcecode/mx/core/elements/StrongAccentAttributes.cpp @@ -72,7 +72,7 @@ namespace mx } - bool StrongAccentAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool StrongAccentAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "StrongAccentAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/StrongAccentAttributes.h b/Sourcecode/mx/core/elements/StrongAccentAttributes.h index c3edb2dc0..928db0db2 100755 --- a/Sourcecode/mx/core/elements/StrongAccentAttributes.h +++ b/Sourcecode/mx/core/elements/StrongAccentAttributes.h @@ -52,7 +52,8 @@ namespace mx bool hasPlacement; bool hasType; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Suffix.cpp b/Sourcecode/mx/core/elements/Suffix.cpp index b24deb8ec..d51b5460c 100755 --- a/Sourcecode/mx/core/elements/Suffix.cpp +++ b/Sourcecode/mx/core/elements/Suffix.cpp @@ -87,7 +87,7 @@ namespace mx } - bool Suffix::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Suffix::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Suffix.h b/Sourcecode/mx/core/elements/Suffix.h index 8b0f4dd06..596479aa0 100755 --- a/Sourcecode/mx/core/elements/Suffix.h +++ b/Sourcecode/mx/core/elements/Suffix.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/SuffixAttributes.cpp b/Sourcecode/mx/core/elements/SuffixAttributes.cpp index 09e935aa5..da727c6d2 100755 --- a/Sourcecode/mx/core/elements/SuffixAttributes.cpp +++ b/Sourcecode/mx/core/elements/SuffixAttributes.cpp @@ -60,7 +60,7 @@ namespace mx } - bool SuffixAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool SuffixAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "SuffixAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/SuffixAttributes.h b/Sourcecode/mx/core/elements/SuffixAttributes.h index 9b87b29cf..6edc6c707 100755 --- a/Sourcecode/mx/core/elements/SuffixAttributes.h +++ b/Sourcecode/mx/core/elements/SuffixAttributes.h @@ -45,7 +45,8 @@ namespace mx bool hasFontSize; bool hasFontWeight; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Supports.cpp b/Sourcecode/mx/core/elements/Supports.cpp index c5a4c2b32..4f9ff53b0 100755 --- a/Sourcecode/mx/core/elements/Supports.cpp +++ b/Sourcecode/mx/core/elements/Supports.cpp @@ -57,7 +57,7 @@ namespace mx } - bool Supports::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Supports::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Supports.h b/Sourcecode/mx/core/elements/Supports.h index c47b70564..32030c742 100755 --- a/Sourcecode/mx/core/elements/Supports.h +++ b/Sourcecode/mx/core/elements/Supports.h @@ -35,7 +35,8 @@ namespace mx SupportsAttributesPtr getAttributes() const; void setAttributes( const SupportsAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: SupportsAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/SupportsAttributes.cpp b/Sourcecode/mx/core/elements/SupportsAttributes.cpp index a48af86ee..cd54b3b01 100755 --- a/Sourcecode/mx/core/elements/SupportsAttributes.cpp +++ b/Sourcecode/mx/core/elements/SupportsAttributes.cpp @@ -44,7 +44,7 @@ namespace mx } - bool SupportsAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool SupportsAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "SupportsAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/SupportsAttributes.h b/Sourcecode/mx/core/elements/SupportsAttributes.h index d36ca6006..194823097 100755 --- a/Sourcecode/mx/core/elements/SupportsAttributes.h +++ b/Sourcecode/mx/core/elements/SupportsAttributes.h @@ -35,7 +35,8 @@ namespace mx bool hasAttribute; bool hasValue; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Syllabic.cpp b/Sourcecode/mx/core/elements/Syllabic.cpp index 9dfe90994..7d907eca8 100755 --- a/Sourcecode/mx/core/elements/Syllabic.cpp +++ b/Sourcecode/mx/core/elements/Syllabic.cpp @@ -66,7 +66,7 @@ namespace mx } - bool Syllabic::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Syllabic::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/Syllabic.h b/Sourcecode/mx/core/elements/Syllabic.h index a3821f206..6e25be731 100755 --- a/Sourcecode/mx/core/elements/Syllabic.h +++ b/Sourcecode/mx/core/elements/Syllabic.h @@ -37,7 +37,8 @@ namespace mx SyllabicEnum getValue() const; void setValue( const SyllabicEnum& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: SyllabicEnum myValue; diff --git a/Sourcecode/mx/core/elements/SyllabicTextGroup.h b/Sourcecode/mx/core/elements/SyllabicTextGroup.h index f1f48a9fc..a3127dc0e 100755 --- a/Sourcecode/mx/core/elements/SyllabicTextGroup.h +++ b/Sourcecode/mx/core/elements/SyllabicTextGroup.h @@ -58,7 +58,8 @@ namespace mx bool getHasExtend() const; void setHasExtend( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: SyllabicPtr mySyllabic; diff --git a/Sourcecode/mx/core/elements/SystemDistance.cpp b/Sourcecode/mx/core/elements/SystemDistance.cpp index 3aa304154..392ef5cb5 100755 --- a/Sourcecode/mx/core/elements/SystemDistance.cpp +++ b/Sourcecode/mx/core/elements/SystemDistance.cpp @@ -66,7 +66,7 @@ namespace mx } - bool SystemDistance::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool SystemDistance::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/SystemDistance.h b/Sourcecode/mx/core/elements/SystemDistance.h index 6a2988dc1..b19153a55 100755 --- a/Sourcecode/mx/core/elements/SystemDistance.h +++ b/Sourcecode/mx/core/elements/SystemDistance.h @@ -37,7 +37,8 @@ namespace mx TenthsValue getValue() const; void setValue( const TenthsValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: TenthsValue myValue; diff --git a/Sourcecode/mx/core/elements/SystemDividers.cpp b/Sourcecode/mx/core/elements/SystemDividers.cpp index 4b484e5e6..bbb632820 100755 --- a/Sourcecode/mx/core/elements/SystemDividers.cpp +++ b/Sourcecode/mx/core/elements/SystemDividers.cpp @@ -85,7 +85,7 @@ namespace mx } - bool SystemDividers::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool SystemDividers::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; bool isLeftDividerFound = false; diff --git a/Sourcecode/mx/core/elements/SystemDividers.h b/Sourcecode/mx/core/elements/SystemDividers.h index 70cb04d6f..9432c5603 100755 --- a/Sourcecode/mx/core/elements/SystemDividers.h +++ b/Sourcecode/mx/core/elements/SystemDividers.h @@ -41,7 +41,8 @@ namespace mx RightDividerPtr getRightDivider() const; void setRightDivider( const RightDividerPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: LeftDividerPtr myLeftDivider; diff --git a/Sourcecode/mx/core/elements/SystemLayout.cpp b/Sourcecode/mx/core/elements/SystemLayout.cpp index 215ffe628..0a73dedbd 100755 --- a/Sourcecode/mx/core/elements/SystemLayout.cpp +++ b/Sourcecode/mx/core/elements/SystemLayout.cpp @@ -193,7 +193,7 @@ namespace mx } - bool SystemLayout::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool SystemLayout::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/SystemLayout.h b/Sourcecode/mx/core/elements/SystemLayout.h index ddd18d131..7eeb5fa4e 100755 --- a/Sourcecode/mx/core/elements/SystemLayout.h +++ b/Sourcecode/mx/core/elements/SystemLayout.h @@ -57,7 +57,8 @@ namespace mx bool getHasSystemDividers() const; void setHasSystemDividers( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: SystemMarginsPtr mySystemMargins; diff --git a/Sourcecode/mx/core/elements/SystemMargins.cpp b/Sourcecode/mx/core/elements/SystemMargins.cpp index bd2109fbc..a6cb53b67 100755 --- a/Sourcecode/mx/core/elements/SystemMargins.cpp +++ b/Sourcecode/mx/core/elements/SystemMargins.cpp @@ -85,7 +85,7 @@ namespace mx } - bool SystemMargins::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool SystemMargins::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; bool isLeftMarginFound = false; diff --git a/Sourcecode/mx/core/elements/SystemMargins.h b/Sourcecode/mx/core/elements/SystemMargins.h index 86ed453df..3ab80c718 100755 --- a/Sourcecode/mx/core/elements/SystemMargins.h +++ b/Sourcecode/mx/core/elements/SystemMargins.h @@ -41,7 +41,8 @@ namespace mx RightMarginPtr getRightMargin() const; void setRightMargin( const RightMarginPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: LeftMarginPtr myLeftMargin; diff --git a/Sourcecode/mx/core/elements/Tap.cpp b/Sourcecode/mx/core/elements/Tap.cpp index 632f28cb2..7526931e5 100755 --- a/Sourcecode/mx/core/elements/Tap.cpp +++ b/Sourcecode/mx/core/elements/Tap.cpp @@ -87,7 +87,7 @@ namespace mx } - bool Tap::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Tap::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Tap.h b/Sourcecode/mx/core/elements/Tap.h index 1967c19c5..4936d1882 100755 --- a/Sourcecode/mx/core/elements/Tap.h +++ b/Sourcecode/mx/core/elements/Tap.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/TapAttributes.cpp b/Sourcecode/mx/core/elements/TapAttributes.cpp index e8fb5b158..83d6738b6 100755 --- a/Sourcecode/mx/core/elements/TapAttributes.cpp +++ b/Sourcecode/mx/core/elements/TapAttributes.cpp @@ -64,7 +64,7 @@ namespace mx } - bool TapAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool TapAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "TapAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/TapAttributes.h b/Sourcecode/mx/core/elements/TapAttributes.h index 295e64956..53131baa3 100755 --- a/Sourcecode/mx/core/elements/TapAttributes.h +++ b/Sourcecode/mx/core/elements/TapAttributes.h @@ -47,7 +47,8 @@ namespace mx bool hasFontWeight; bool hasPlacement; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Technical.cpp b/Sourcecode/mx/core/elements/Technical.cpp index 5fd5c994b..c729d8e8d 100755 --- a/Sourcecode/mx/core/elements/Technical.cpp +++ b/Sourcecode/mx/core/elements/Technical.cpp @@ -124,7 +124,7 @@ namespace mx } - bool Technical::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Technical::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; xml::XElementIterator end = xelement.end(); diff --git a/Sourcecode/mx/core/elements/Technical.h b/Sourcecode/mx/core/elements/Technical.h index 130a9b9c9..b4501a378 100755 --- a/Sourcecode/mx/core/elements/Technical.h +++ b/Sourcecode/mx/core/elements/Technical.h @@ -39,7 +39,8 @@ namespace mx void clearTechnicalChoiceSet(); TechnicalChoicePtr getTechnicalChoice( const TechnicalChoiceSetIterConst& setIterator ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: TechnicalChoiceSet myTechnicalChoiceSet; diff --git a/Sourcecode/mx/core/elements/TechnicalChoice.h b/Sourcecode/mx/core/elements/TechnicalChoice.h index 2171f622f..ee41c2862 100755 --- a/Sourcecode/mx/core/elements/TechnicalChoice.h +++ b/Sourcecode/mx/core/elements/TechnicalChoice.h @@ -182,7 +182,8 @@ namespace mx OtherTechnicalPtr getOtherTechnical() const; void setOtherTechnical( const OtherTechnicalPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Choice myChoice; diff --git a/Sourcecode/mx/core/elements/Tenths.cpp b/Sourcecode/mx/core/elements/Tenths.cpp index 8953c4778..843bed140 100755 --- a/Sourcecode/mx/core/elements/Tenths.cpp +++ b/Sourcecode/mx/core/elements/Tenths.cpp @@ -66,7 +66,7 @@ namespace mx } - bool Tenths::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Tenths::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/Tenths.h b/Sourcecode/mx/core/elements/Tenths.h index f501c5dd0..a5fa6510a 100755 --- a/Sourcecode/mx/core/elements/Tenths.h +++ b/Sourcecode/mx/core/elements/Tenths.h @@ -37,7 +37,8 @@ namespace mx TenthsValue getValue() const; void setValue( const TenthsValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: TenthsValue myValue; diff --git a/Sourcecode/mx/core/elements/Tenuto.cpp b/Sourcecode/mx/core/elements/Tenuto.cpp index d86e95d6c..6228cb763 100755 --- a/Sourcecode/mx/core/elements/Tenuto.cpp +++ b/Sourcecode/mx/core/elements/Tenuto.cpp @@ -57,7 +57,7 @@ namespace mx } - bool Tenuto::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Tenuto::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Tenuto.h b/Sourcecode/mx/core/elements/Tenuto.h index 5fcdeb664..64aed4517 100755 --- a/Sourcecode/mx/core/elements/Tenuto.h +++ b/Sourcecode/mx/core/elements/Tenuto.h @@ -35,7 +35,8 @@ namespace mx EmptyPlacementAttributesPtr getAttributes() const; void setAttributes( const EmptyPlacementAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: EmptyPlacementAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/Text.cpp b/Sourcecode/mx/core/elements/Text.cpp index 28357a753..b08a12d40 100755 --- a/Sourcecode/mx/core/elements/Text.cpp +++ b/Sourcecode/mx/core/elements/Text.cpp @@ -87,7 +87,7 @@ namespace mx } - bool Text::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Text::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Text.h b/Sourcecode/mx/core/elements/Text.h index 335979687..31b542e06 100755 --- a/Sourcecode/mx/core/elements/Text.h +++ b/Sourcecode/mx/core/elements/Text.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/TextAttributes.cpp b/Sourcecode/mx/core/elements/TextAttributes.cpp index 51446bc03..556ba97f7 100755 --- a/Sourcecode/mx/core/elements/TextAttributes.cpp +++ b/Sourcecode/mx/core/elements/TextAttributes.cpp @@ -68,7 +68,7 @@ namespace mx } - bool TextAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool TextAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "TextAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/TextAttributes.h b/Sourcecode/mx/core/elements/TextAttributes.h index af428284c..fc0206ba8 100755 --- a/Sourcecode/mx/core/elements/TextAttributes.h +++ b/Sourcecode/mx/core/elements/TextAttributes.h @@ -51,7 +51,8 @@ namespace mx bool hasLetterSpacing; bool hasLang; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/ThumbPosition.cpp b/Sourcecode/mx/core/elements/ThumbPosition.cpp index 13d160478..acc5d5239 100755 --- a/Sourcecode/mx/core/elements/ThumbPosition.cpp +++ b/Sourcecode/mx/core/elements/ThumbPosition.cpp @@ -57,7 +57,7 @@ namespace mx } - bool ThumbPosition::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool ThumbPosition::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/ThumbPosition.h b/Sourcecode/mx/core/elements/ThumbPosition.h index df58685a7..51d7c3019 100755 --- a/Sourcecode/mx/core/elements/ThumbPosition.h +++ b/Sourcecode/mx/core/elements/ThumbPosition.h @@ -35,7 +35,8 @@ namespace mx EmptyPlacementAttributesPtr getAttributes() const; void setAttributes( const EmptyPlacementAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: EmptyPlacementAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/Tie.cpp b/Sourcecode/mx/core/elements/Tie.cpp index 8d152849d..fbb210f71 100755 --- a/Sourcecode/mx/core/elements/Tie.cpp +++ b/Sourcecode/mx/core/elements/Tie.cpp @@ -57,7 +57,7 @@ namespace mx } - bool Tie::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Tie::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Tie.h b/Sourcecode/mx/core/elements/Tie.h index 8da15af79..0b2dd12a9 100755 --- a/Sourcecode/mx/core/elements/Tie.h +++ b/Sourcecode/mx/core/elements/Tie.h @@ -35,7 +35,8 @@ namespace mx TieAttributesPtr getAttributes() const; void setAttributes( const TieAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: TieAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/TieAttributes.cpp b/Sourcecode/mx/core/elements/TieAttributes.cpp index 4c5899363..46965d365 100755 --- a/Sourcecode/mx/core/elements/TieAttributes.cpp +++ b/Sourcecode/mx/core/elements/TieAttributes.cpp @@ -36,7 +36,7 @@ namespace mx } - bool TieAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool TieAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "TieAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/TieAttributes.h b/Sourcecode/mx/core/elements/TieAttributes.h index ff90135c0..4ba471cff 100755 --- a/Sourcecode/mx/core/elements/TieAttributes.h +++ b/Sourcecode/mx/core/elements/TieAttributes.h @@ -31,7 +31,8 @@ namespace mx const bool hasType; bool hasTimeOnly; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Tied.cpp b/Sourcecode/mx/core/elements/Tied.cpp index 3d73f60de..7ac05a25c 100755 --- a/Sourcecode/mx/core/elements/Tied.cpp +++ b/Sourcecode/mx/core/elements/Tied.cpp @@ -57,7 +57,7 @@ namespace mx } - bool Tied::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Tied::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Tied.h b/Sourcecode/mx/core/elements/Tied.h index 193e85b8f..2ad89d65e 100755 --- a/Sourcecode/mx/core/elements/Tied.h +++ b/Sourcecode/mx/core/elements/Tied.h @@ -35,7 +35,8 @@ namespace mx TiedAttributesPtr getAttributes() const; void setAttributes( const TiedAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: TiedAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/TiedAttributes.cpp b/Sourcecode/mx/core/elements/TiedAttributes.cpp index 31fce6949..090c26565 100755 --- a/Sourcecode/mx/core/elements/TiedAttributes.cpp +++ b/Sourcecode/mx/core/elements/TiedAttributes.cpp @@ -100,7 +100,7 @@ namespace mx } - bool TiedAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool TiedAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "TiedAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/TiedAttributes.h b/Sourcecode/mx/core/elements/TiedAttributes.h index 61b89f8ce..473b4329e 100755 --- a/Sourcecode/mx/core/elements/TiedAttributes.h +++ b/Sourcecode/mx/core/elements/TiedAttributes.h @@ -65,7 +65,8 @@ namespace mx bool hasBezierY2; bool hasColor; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Time.cpp b/Sourcecode/mx/core/elements/Time.cpp index 8d008f07a..6396abb7c 100755 --- a/Sourcecode/mx/core/elements/Time.cpp +++ b/Sourcecode/mx/core/elements/Time.cpp @@ -81,7 +81,7 @@ namespace mx } - bool Time::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Time::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Time.h b/Sourcecode/mx/core/elements/Time.h index bfdea3e92..d135f79f1 100755 --- a/Sourcecode/mx/core/elements/Time.h +++ b/Sourcecode/mx/core/elements/Time.h @@ -38,7 +38,8 @@ namespace mx TimeChoicePtr getTimeChoice() const; void setTimeChoice( const TimeChoicePtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: TimeAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/TimeAttributes.cpp b/Sourcecode/mx/core/elements/TimeAttributes.cpp index 5557aa1cc..dd978cbb4 100755 --- a/Sourcecode/mx/core/elements/TimeAttributes.cpp +++ b/Sourcecode/mx/core/elements/TimeAttributes.cpp @@ -88,7 +88,7 @@ namespace mx } - bool TimeAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool TimeAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "TimeAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/TimeAttributes.h b/Sourcecode/mx/core/elements/TimeAttributes.h index 7c97c5037..ae3ab3102 100755 --- a/Sourcecode/mx/core/elements/TimeAttributes.h +++ b/Sourcecode/mx/core/elements/TimeAttributes.h @@ -61,7 +61,8 @@ namespace mx bool hasValign; bool hasPrintObject; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/TimeChoice.h b/Sourcecode/mx/core/elements/TimeChoice.h index eb201c258..f08ad89f0 100755 --- a/Sourcecode/mx/core/elements/TimeChoice.h +++ b/Sourcecode/mx/core/elements/TimeChoice.h @@ -51,7 +51,8 @@ namespace mx SenzaMisuraPtr getSenzaMisura() const; void setSenzaMisura( const SenzaMisuraPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Choice myChoice; diff --git a/Sourcecode/mx/core/elements/TimeModification.cpp b/Sourcecode/mx/core/elements/TimeModification.cpp index 1804380e5..e2d2f7836 100755 --- a/Sourcecode/mx/core/elements/TimeModification.cpp +++ b/Sourcecode/mx/core/elements/TimeModification.cpp @@ -122,7 +122,7 @@ namespace mx } - bool TimeModification::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool TimeModification::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; bool isActualNotesFound = false; diff --git a/Sourcecode/mx/core/elements/TimeModification.h b/Sourcecode/mx/core/elements/TimeModification.h index ee1092161..53cf4879e 100755 --- a/Sourcecode/mx/core/elements/TimeModification.h +++ b/Sourcecode/mx/core/elements/TimeModification.h @@ -48,7 +48,8 @@ namespace mx bool getHasNormalTypeNormalDotGroup() const; void setHasNormalTypeNormalDotGroup( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: ActualNotesPtr myActualNotes; diff --git a/Sourcecode/mx/core/elements/TimeModificationNormalTypeNormalDot.cpp b/Sourcecode/mx/core/elements/TimeModificationNormalTypeNormalDot.cpp index 812eb15ec..b15bae251 100755 --- a/Sourcecode/mx/core/elements/TimeModificationNormalTypeNormalDot.cpp +++ b/Sourcecode/mx/core/elements/TimeModificationNormalTypeNormalDot.cpp @@ -110,7 +110,7 @@ namespace mx } - bool TimeModificationNormalTypeNormalDot::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool TimeModificationNormalTypeNormalDot::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; bool isNormalTypeFound = false; diff --git a/Sourcecode/mx/core/elements/TimeModificationNormalTypeNormalDot.h b/Sourcecode/mx/core/elements/TimeModificationNormalTypeNormalDot.h index a21173558..0783cb511 100755 --- a/Sourcecode/mx/core/elements/TimeModificationNormalTypeNormalDot.h +++ b/Sourcecode/mx/core/elements/TimeModificationNormalTypeNormalDot.h @@ -44,7 +44,8 @@ namespace mx void clearNormalDotSet(); NormalDotPtr getNormalDot( const NormalDotSetIterConst& setIterator ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: NormalTypePtr myNormalType; diff --git a/Sourcecode/mx/core/elements/TimeRelation.cpp b/Sourcecode/mx/core/elements/TimeRelation.cpp index 17ecd30bf..ebe66876e 100755 --- a/Sourcecode/mx/core/elements/TimeRelation.cpp +++ b/Sourcecode/mx/core/elements/TimeRelation.cpp @@ -66,7 +66,7 @@ namespace mx } - bool TimeRelation::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool TimeRelation::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); myValue = parseTimeRelationEnum( xelement.getValue() ); diff --git a/Sourcecode/mx/core/elements/TimeRelation.h b/Sourcecode/mx/core/elements/TimeRelation.h index c534243ad..bf36b0002 100755 --- a/Sourcecode/mx/core/elements/TimeRelation.h +++ b/Sourcecode/mx/core/elements/TimeRelation.h @@ -37,7 +37,8 @@ namespace mx TimeRelationEnum getValue() const; void setValue( const TimeRelationEnum& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: TimeRelationEnum myValue; diff --git a/Sourcecode/mx/core/elements/TimeSignatureGroup.h b/Sourcecode/mx/core/elements/TimeSignatureGroup.h index 7bef29fa6..363dc38aa 100755 --- a/Sourcecode/mx/core/elements/TimeSignatureGroup.h +++ b/Sourcecode/mx/core/elements/TimeSignatureGroup.h @@ -42,7 +42,8 @@ namespace mx bool getHasInterchangeable() const; void setHasInterchangeable( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: BeatsPtr myBeats; diff --git a/Sourcecode/mx/core/elements/TimewiseMeasure.cpp b/Sourcecode/mx/core/elements/TimewiseMeasure.cpp index b31d79f75..d6dfaa009 100755 --- a/Sourcecode/mx/core/elements/TimewiseMeasure.cpp +++ b/Sourcecode/mx/core/elements/TimewiseMeasure.cpp @@ -119,7 +119,7 @@ namespace mx } - bool TimewiseMeasure::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool TimewiseMeasure::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/TimewiseMeasure.h b/Sourcecode/mx/core/elements/TimewiseMeasure.h index 5b0e0f5ad..549b097fc 100755 --- a/Sourcecode/mx/core/elements/TimewiseMeasure.h +++ b/Sourcecode/mx/core/elements/TimewiseMeasure.h @@ -43,7 +43,8 @@ namespace mx void clearTimewisePartSet(); TimewisePartPtr getTimewisePart( const TimewisePartSetIterConst& setIterator ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: MeasureAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/TimewisePart.cpp b/Sourcecode/mx/core/elements/TimewisePart.cpp index b8a3431d8..13e6ad274 100755 --- a/Sourcecode/mx/core/elements/TimewisePart.cpp +++ b/Sourcecode/mx/core/elements/TimewisePart.cpp @@ -104,7 +104,7 @@ namespace mx } - bool TimewisePart::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool TimewisePart::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; bool isFirstMusicDataChoiceAdded = false; diff --git a/Sourcecode/mx/core/elements/TimewisePart.h b/Sourcecode/mx/core/elements/TimewisePart.h index 2902c6a3a..35fabbced 100755 --- a/Sourcecode/mx/core/elements/TimewisePart.h +++ b/Sourcecode/mx/core/elements/TimewisePart.h @@ -40,7 +40,8 @@ namespace mx MusicDataGroupPtr getMusicDataGroup() const; void setMusicDataGroup( const MusicDataGroupPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: PartAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/Timpani.cpp b/Sourcecode/mx/core/elements/Timpani.cpp index bb2f81cfd..f9161fc79 100755 --- a/Sourcecode/mx/core/elements/Timpani.cpp +++ b/Sourcecode/mx/core/elements/Timpani.cpp @@ -27,7 +27,7 @@ namespace mx } - bool Timpani::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Timpani::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/Timpani.h b/Sourcecode/mx/core/elements/Timpani.h index 8bd01c119..e24b4c9e2 100755 --- a/Sourcecode/mx/core/elements/Timpani.h +++ b/Sourcecode/mx/core/elements/Timpani.h @@ -31,7 +31,8 @@ namespace mx virtual std::ostream& streamName( std::ostream& os ) const; virtual std::ostream& streamContents( std::ostream& os, const int indentLevel, bool& isOneLineOnly ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Toe.cpp b/Sourcecode/mx/core/elements/Toe.cpp index 3ffe3e908..d11fb95a3 100755 --- a/Sourcecode/mx/core/elements/Toe.cpp +++ b/Sourcecode/mx/core/elements/Toe.cpp @@ -63,7 +63,7 @@ namespace mx } - bool Toe::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Toe::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Toe.h b/Sourcecode/mx/core/elements/Toe.h index b50a6b378..ea0dd013b 100755 --- a/Sourcecode/mx/core/elements/Toe.h +++ b/Sourcecode/mx/core/elements/Toe.h @@ -35,7 +35,8 @@ namespace mx ToeAttributesPtr getAttributes() const; void setAttributes( const ToeAttributesPtr& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: ToeAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/ToeAttributes.cpp b/Sourcecode/mx/core/elements/ToeAttributes.cpp index 3aaaeedf0..953d5047a 100755 --- a/Sourcecode/mx/core/elements/ToeAttributes.cpp +++ b/Sourcecode/mx/core/elements/ToeAttributes.cpp @@ -72,7 +72,7 @@ namespace mx } - bool ToeAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool ToeAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "ToeAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/ToeAttributes.h b/Sourcecode/mx/core/elements/ToeAttributes.h index 434e0009c..c8350aa80 100755 --- a/Sourcecode/mx/core/elements/ToeAttributes.h +++ b/Sourcecode/mx/core/elements/ToeAttributes.h @@ -52,7 +52,8 @@ namespace mx bool hasPlacement; bool hasSubstitution; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/TopMargin.cpp b/Sourcecode/mx/core/elements/TopMargin.cpp index 42db433ed..0bed68d7f 100755 --- a/Sourcecode/mx/core/elements/TopMargin.cpp +++ b/Sourcecode/mx/core/elements/TopMargin.cpp @@ -66,7 +66,7 @@ namespace mx } - bool TopMargin::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool TopMargin::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/TopMargin.h b/Sourcecode/mx/core/elements/TopMargin.h index 9e6add71c..66f342a4b 100755 --- a/Sourcecode/mx/core/elements/TopMargin.h +++ b/Sourcecode/mx/core/elements/TopMargin.h @@ -37,7 +37,8 @@ namespace mx TenthsValue getValue() const; void setValue( const TenthsValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: TenthsValue myValue; diff --git a/Sourcecode/mx/core/elements/TopSystemDistance.cpp b/Sourcecode/mx/core/elements/TopSystemDistance.cpp index 244db5630..d57ba44d5 100755 --- a/Sourcecode/mx/core/elements/TopSystemDistance.cpp +++ b/Sourcecode/mx/core/elements/TopSystemDistance.cpp @@ -66,7 +66,7 @@ namespace mx } - bool TopSystemDistance::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool TopSystemDistance::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/TopSystemDistance.h b/Sourcecode/mx/core/elements/TopSystemDistance.h index 7ebf4419f..b1e588ab4 100755 --- a/Sourcecode/mx/core/elements/TopSystemDistance.h +++ b/Sourcecode/mx/core/elements/TopSystemDistance.h @@ -37,7 +37,8 @@ namespace mx TenthsValue getValue() const; void setValue( const TenthsValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: TenthsValue myValue; diff --git a/Sourcecode/mx/core/elements/TouchingPitch.cpp b/Sourcecode/mx/core/elements/TouchingPitch.cpp index 0a2a14579..ae8b1344d 100755 --- a/Sourcecode/mx/core/elements/TouchingPitch.cpp +++ b/Sourcecode/mx/core/elements/TouchingPitch.cpp @@ -27,7 +27,7 @@ namespace mx } - bool TouchingPitch::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool TouchingPitch::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/TouchingPitch.h b/Sourcecode/mx/core/elements/TouchingPitch.h index 62cd32874..6eca9681f 100755 --- a/Sourcecode/mx/core/elements/TouchingPitch.h +++ b/Sourcecode/mx/core/elements/TouchingPitch.h @@ -31,7 +31,8 @@ namespace mx virtual std::ostream& streamName( std::ostream& os ) const; virtual std::ostream& streamContents( std::ostream& os, const int indentLevel, bool& isOneLineOnly ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/TraditionalKey.cpp b/Sourcecode/mx/core/elements/TraditionalKey.cpp index 496b60c31..44b378584 100755 --- a/Sourcecode/mx/core/elements/TraditionalKey.cpp +++ b/Sourcecode/mx/core/elements/TraditionalKey.cpp @@ -137,7 +137,7 @@ namespace mx } - bool TraditionalKey::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool TraditionalKey::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; bool isFifthsFound = false; diff --git a/Sourcecode/mx/core/elements/TraditionalKey.h b/Sourcecode/mx/core/elements/TraditionalKey.h index 4e19c50a4..7aff1a69a 100755 --- a/Sourcecode/mx/core/elements/TraditionalKey.h +++ b/Sourcecode/mx/core/elements/TraditionalKey.h @@ -44,7 +44,8 @@ namespace mx bool getHasMode() const; void setHasMode( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: CancelPtr myCancel; diff --git a/Sourcecode/mx/core/elements/Transpose.cpp b/Sourcecode/mx/core/elements/Transpose.cpp index 01850eefe..89075ce3b 100755 --- a/Sourcecode/mx/core/elements/Transpose.cpp +++ b/Sourcecode/mx/core/elements/Transpose.cpp @@ -187,7 +187,7 @@ namespace mx } - bool Transpose::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Transpose::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Transpose.h b/Sourcecode/mx/core/elements/Transpose.h index d6cfe706c..e58d2a2c6 100755 --- a/Sourcecode/mx/core/elements/Transpose.h +++ b/Sourcecode/mx/core/elements/Transpose.h @@ -61,7 +61,8 @@ namespace mx bool getHasDouble() const; void setHasDouble( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: TransposeAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/TransposeAttributes.cpp b/Sourcecode/mx/core/elements/TransposeAttributes.cpp index 4cf7ed3c9..37066098c 100755 --- a/Sourcecode/mx/core/elements/TransposeAttributes.cpp +++ b/Sourcecode/mx/core/elements/TransposeAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool TransposeAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool TransposeAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "TransposeAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/TransposeAttributes.h b/Sourcecode/mx/core/elements/TransposeAttributes.h index ad7122bc4..999947e07 100755 --- a/Sourcecode/mx/core/elements/TransposeAttributes.h +++ b/Sourcecode/mx/core/elements/TransposeAttributes.h @@ -28,7 +28,8 @@ namespace mx StaffNumber number; bool hasNumber; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Tremolo.cpp b/Sourcecode/mx/core/elements/Tremolo.cpp index bc294b079..32d1d8bf0 100755 --- a/Sourcecode/mx/core/elements/Tremolo.cpp +++ b/Sourcecode/mx/core/elements/Tremolo.cpp @@ -87,7 +87,7 @@ namespace mx } - bool Tremolo::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Tremolo::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Tremolo.h b/Sourcecode/mx/core/elements/Tremolo.h index d8b870ea5..0348594b0 100755 --- a/Sourcecode/mx/core/elements/Tremolo.h +++ b/Sourcecode/mx/core/elements/Tremolo.h @@ -41,7 +41,8 @@ namespace mx TremoloMarks getValue() const; void setValue( const TremoloMarks& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: TremoloMarks myValue; diff --git a/Sourcecode/mx/core/elements/TremoloAttributes.cpp b/Sourcecode/mx/core/elements/TremoloAttributes.cpp index c203362b9..b1c828e19 100755 --- a/Sourcecode/mx/core/elements/TremoloAttributes.cpp +++ b/Sourcecode/mx/core/elements/TremoloAttributes.cpp @@ -68,7 +68,7 @@ namespace mx } - bool TremoloAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool TremoloAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "TremoloAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/TremoloAttributes.h b/Sourcecode/mx/core/elements/TremoloAttributes.h index 7797221c9..f21ca0eef 100755 --- a/Sourcecode/mx/core/elements/TremoloAttributes.h +++ b/Sourcecode/mx/core/elements/TremoloAttributes.h @@ -49,7 +49,8 @@ namespace mx bool hasFontWeight; bool hasPlacement; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/TrillMark.cpp b/Sourcecode/mx/core/elements/TrillMark.cpp index 06281e3d4..b16ec819e 100755 --- a/Sourcecode/mx/core/elements/TrillMark.cpp +++ b/Sourcecode/mx/core/elements/TrillMark.cpp @@ -57,7 +57,7 @@ namespace mx } - bool TrillMark::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool TrillMark::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/TrillMark.h b/Sourcecode/mx/core/elements/TrillMark.h index 710466018..6619cbde0 100755 --- a/Sourcecode/mx/core/elements/TrillMark.h +++ b/Sourcecode/mx/core/elements/TrillMark.h @@ -35,7 +35,8 @@ namespace mx EmptyTrillSoundAttributesPtr getAttributes() const; void setAttributes( const EmptyTrillSoundAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: EmptyTrillSoundAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/TripleTongue.cpp b/Sourcecode/mx/core/elements/TripleTongue.cpp index 2720b8104..27d85ce2c 100755 --- a/Sourcecode/mx/core/elements/TripleTongue.cpp +++ b/Sourcecode/mx/core/elements/TripleTongue.cpp @@ -57,7 +57,7 @@ namespace mx } - bool TripleTongue::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool TripleTongue::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/TripleTongue.h b/Sourcecode/mx/core/elements/TripleTongue.h index 2eeea8895..fd3563dbc 100755 --- a/Sourcecode/mx/core/elements/TripleTongue.h +++ b/Sourcecode/mx/core/elements/TripleTongue.h @@ -35,7 +35,8 @@ namespace mx EmptyPlacementAttributesPtr getAttributes() const; void setAttributes( const EmptyPlacementAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: EmptyPlacementAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/TuningAlter.cpp b/Sourcecode/mx/core/elements/TuningAlter.cpp index a357033fb..f299a9ca8 100755 --- a/Sourcecode/mx/core/elements/TuningAlter.cpp +++ b/Sourcecode/mx/core/elements/TuningAlter.cpp @@ -66,7 +66,7 @@ namespace mx } - bool TuningAlter::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool TuningAlter::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/TuningAlter.h b/Sourcecode/mx/core/elements/TuningAlter.h index a65a81e09..de7ea31e3 100755 --- a/Sourcecode/mx/core/elements/TuningAlter.h +++ b/Sourcecode/mx/core/elements/TuningAlter.h @@ -37,7 +37,8 @@ namespace mx Semitones getValue() const; void setValue( const Semitones& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Semitones myValue; diff --git a/Sourcecode/mx/core/elements/TuningOctave.cpp b/Sourcecode/mx/core/elements/TuningOctave.cpp index 8a9d3ce14..a5aedf088 100755 --- a/Sourcecode/mx/core/elements/TuningOctave.cpp +++ b/Sourcecode/mx/core/elements/TuningOctave.cpp @@ -66,7 +66,7 @@ namespace mx } - bool TuningOctave::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool TuningOctave::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/TuningOctave.h b/Sourcecode/mx/core/elements/TuningOctave.h index a6efb37ce..372a567c2 100755 --- a/Sourcecode/mx/core/elements/TuningOctave.h +++ b/Sourcecode/mx/core/elements/TuningOctave.h @@ -37,7 +37,8 @@ namespace mx OctaveValue getValue() const; void setValue( const OctaveValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: OctaveValue myValue; diff --git a/Sourcecode/mx/core/elements/TuningStep.cpp b/Sourcecode/mx/core/elements/TuningStep.cpp index d3e5e2324..bb4ad2133 100755 --- a/Sourcecode/mx/core/elements/TuningStep.cpp +++ b/Sourcecode/mx/core/elements/TuningStep.cpp @@ -66,7 +66,7 @@ namespace mx } - bool TuningStep::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool TuningStep::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); myValue = parseStepEnum( xelement.getValue() ); diff --git a/Sourcecode/mx/core/elements/TuningStep.h b/Sourcecode/mx/core/elements/TuningStep.h index 06e1b35bf..01226a928 100755 --- a/Sourcecode/mx/core/elements/TuningStep.h +++ b/Sourcecode/mx/core/elements/TuningStep.h @@ -37,7 +37,8 @@ namespace mx StepEnum getValue() const; void setValue( const StepEnum& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: StepEnum myValue; diff --git a/Sourcecode/mx/core/elements/Tuplet.cpp b/Sourcecode/mx/core/elements/Tuplet.cpp index b691bc854..8c208c63b 100755 --- a/Sourcecode/mx/core/elements/Tuplet.cpp +++ b/Sourcecode/mx/core/elements/Tuplet.cpp @@ -136,7 +136,7 @@ namespace mx } - bool Tuplet::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Tuplet::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Tuplet.h b/Sourcecode/mx/core/elements/Tuplet.h index bca51a6a7..67b2f521f 100755 --- a/Sourcecode/mx/core/elements/Tuplet.h +++ b/Sourcecode/mx/core/elements/Tuplet.h @@ -49,7 +49,8 @@ namespace mx bool getHasTupletNormal() const; void setHasTupletNormal( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: TupletAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/TupletActual.cpp b/Sourcecode/mx/core/elements/TupletActual.cpp index cdcd255cc..794e44076 100755 --- a/Sourcecode/mx/core/elements/TupletActual.cpp +++ b/Sourcecode/mx/core/elements/TupletActual.cpp @@ -171,7 +171,7 @@ namespace mx } - bool TupletActual::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool TupletActual::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/TupletActual.h b/Sourcecode/mx/core/elements/TupletActual.h index 10d8d103a..0a3816ed3 100755 --- a/Sourcecode/mx/core/elements/TupletActual.h +++ b/Sourcecode/mx/core/elements/TupletActual.h @@ -53,7 +53,8 @@ namespace mx void clearTupletDotSet(); TupletDotPtr getTupletDot( const TupletDotSetIterConst& setIterator ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: TupletNumberPtr myTupletNumber; diff --git a/Sourcecode/mx/core/elements/TupletAttributes.cpp b/Sourcecode/mx/core/elements/TupletAttributes.cpp index f66e298f7..5a45069d7 100755 --- a/Sourcecode/mx/core/elements/TupletAttributes.cpp +++ b/Sourcecode/mx/core/elements/TupletAttributes.cpp @@ -72,7 +72,7 @@ namespace mx } - bool TupletAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool TupletAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "TupletAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/TupletAttributes.h b/Sourcecode/mx/core/elements/TupletAttributes.h index 9035e9cf3..c29073bd6 100755 --- a/Sourcecode/mx/core/elements/TupletAttributes.h +++ b/Sourcecode/mx/core/elements/TupletAttributes.h @@ -50,7 +50,8 @@ namespace mx bool hasRelativeY; bool hasPlacement; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/TupletDot.cpp b/Sourcecode/mx/core/elements/TupletDot.cpp index a2fbaa46a..6e3bf7e63 100755 --- a/Sourcecode/mx/core/elements/TupletDot.cpp +++ b/Sourcecode/mx/core/elements/TupletDot.cpp @@ -57,7 +57,7 @@ namespace mx } - bool TupletDot::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool TupletDot::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/TupletDot.h b/Sourcecode/mx/core/elements/TupletDot.h index 9d280a1f2..d62f1fae9 100755 --- a/Sourcecode/mx/core/elements/TupletDot.h +++ b/Sourcecode/mx/core/elements/TupletDot.h @@ -35,7 +35,8 @@ namespace mx TupletDotAttributesPtr getAttributes() const; void setAttributes( const TupletDotAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: TupletDotAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/TupletDotAttributes.cpp b/Sourcecode/mx/core/elements/TupletDotAttributes.cpp index 0df05dafa..72ef15c3f 100755 --- a/Sourcecode/mx/core/elements/TupletDotAttributes.cpp +++ b/Sourcecode/mx/core/elements/TupletDotAttributes.cpp @@ -44,7 +44,7 @@ namespace mx } - bool TupletDotAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool TupletDotAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "TupletDotAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/TupletDotAttributes.h b/Sourcecode/mx/core/elements/TupletDotAttributes.h index 8fd6d7d04..4176e38ae 100755 --- a/Sourcecode/mx/core/elements/TupletDotAttributes.h +++ b/Sourcecode/mx/core/elements/TupletDotAttributes.h @@ -36,7 +36,8 @@ namespace mx bool hasFontSize; bool hasFontWeight; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/TupletNormal.cpp b/Sourcecode/mx/core/elements/TupletNormal.cpp index 320c3e99e..180751610 100755 --- a/Sourcecode/mx/core/elements/TupletNormal.cpp +++ b/Sourcecode/mx/core/elements/TupletNormal.cpp @@ -171,7 +171,7 @@ namespace mx } - bool TupletNormal::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool TupletNormal::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/TupletNormal.h b/Sourcecode/mx/core/elements/TupletNormal.h index 9ebde1a6b..21e81b1ae 100755 --- a/Sourcecode/mx/core/elements/TupletNormal.h +++ b/Sourcecode/mx/core/elements/TupletNormal.h @@ -53,7 +53,8 @@ namespace mx void clearTupletDotSet(); TupletDotPtr getTupletDot( const TupletDotSetIterConst& setIterator ) const; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: TupletNumberPtr myTupletNumber; diff --git a/Sourcecode/mx/core/elements/TupletNumber.cpp b/Sourcecode/mx/core/elements/TupletNumber.cpp index f8407f737..61ff6adc7 100755 --- a/Sourcecode/mx/core/elements/TupletNumber.cpp +++ b/Sourcecode/mx/core/elements/TupletNumber.cpp @@ -87,7 +87,7 @@ namespace mx } - bool TupletNumber::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool TupletNumber::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/TupletNumber.h b/Sourcecode/mx/core/elements/TupletNumber.h index 8274b71ca..58ad1ec29 100755 --- a/Sourcecode/mx/core/elements/TupletNumber.h +++ b/Sourcecode/mx/core/elements/TupletNumber.h @@ -41,7 +41,8 @@ namespace mx NonNegativeInteger getValue() const; void setValue( const NonNegativeInteger& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: NonNegativeInteger myValue; diff --git a/Sourcecode/mx/core/elements/TupletNumberAttributes.cpp b/Sourcecode/mx/core/elements/TupletNumberAttributes.cpp index 80f856ad9..b31f7bdf0 100755 --- a/Sourcecode/mx/core/elements/TupletNumberAttributes.cpp +++ b/Sourcecode/mx/core/elements/TupletNumberAttributes.cpp @@ -44,7 +44,7 @@ namespace mx } - bool TupletNumberAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool TupletNumberAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "TupletNumberAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/TupletNumberAttributes.h b/Sourcecode/mx/core/elements/TupletNumberAttributes.h index bb82b9274..55417541f 100755 --- a/Sourcecode/mx/core/elements/TupletNumberAttributes.h +++ b/Sourcecode/mx/core/elements/TupletNumberAttributes.h @@ -36,7 +36,8 @@ namespace mx bool hasFontSize; bool hasFontWeight; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/TupletType.cpp b/Sourcecode/mx/core/elements/TupletType.cpp index fec28961c..bbe19f783 100755 --- a/Sourcecode/mx/core/elements/TupletType.cpp +++ b/Sourcecode/mx/core/elements/TupletType.cpp @@ -87,7 +87,7 @@ namespace mx } - bool TupletType::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool TupletType::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/TupletType.h b/Sourcecode/mx/core/elements/TupletType.h index ea4e55af6..8191a4db4 100755 --- a/Sourcecode/mx/core/elements/TupletType.h +++ b/Sourcecode/mx/core/elements/TupletType.h @@ -41,7 +41,8 @@ namespace mx NoteTypeValue getValue() const; void setValue( const NoteTypeValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: NoteTypeValue myValue; diff --git a/Sourcecode/mx/core/elements/TupletTypeAttributes.cpp b/Sourcecode/mx/core/elements/TupletTypeAttributes.cpp index f5bf52626..254dbc3f6 100755 --- a/Sourcecode/mx/core/elements/TupletTypeAttributes.cpp +++ b/Sourcecode/mx/core/elements/TupletTypeAttributes.cpp @@ -44,7 +44,7 @@ namespace mx } - bool TupletTypeAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool TupletTypeAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "TupletTypeAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/TupletTypeAttributes.h b/Sourcecode/mx/core/elements/TupletTypeAttributes.h index 2d4155d00..415c078ea 100755 --- a/Sourcecode/mx/core/elements/TupletTypeAttributes.h +++ b/Sourcecode/mx/core/elements/TupletTypeAttributes.h @@ -36,7 +36,8 @@ namespace mx bool hasFontSize; bool hasFontWeight; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Turn.cpp b/Sourcecode/mx/core/elements/Turn.cpp index 5f354d245..13543445c 100755 --- a/Sourcecode/mx/core/elements/Turn.cpp +++ b/Sourcecode/mx/core/elements/Turn.cpp @@ -57,7 +57,7 @@ namespace mx } - bool Turn::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Turn::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Turn.h b/Sourcecode/mx/core/elements/Turn.h index 0082f423f..8a502a697 100755 --- a/Sourcecode/mx/core/elements/Turn.h +++ b/Sourcecode/mx/core/elements/Turn.h @@ -35,7 +35,8 @@ namespace mx TurnAttributesPtr getAttributes() const; void setAttributes( const TurnAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: TurnAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/TurnAttributes.cpp b/Sourcecode/mx/core/elements/TurnAttributes.cpp index 3592d72c2..95412de61 100755 --- a/Sourcecode/mx/core/elements/TurnAttributes.cpp +++ b/Sourcecode/mx/core/elements/TurnAttributes.cpp @@ -96,7 +96,7 @@ namespace mx } - bool TurnAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool TurnAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "TurnAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/TurnAttributes.h b/Sourcecode/mx/core/elements/TurnAttributes.h index 7ae658be2..b505891ff 100755 --- a/Sourcecode/mx/core/elements/TurnAttributes.h +++ b/Sourcecode/mx/core/elements/TurnAttributes.h @@ -63,7 +63,8 @@ namespace mx bool hasLastBeat; bool hasSlash; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Type.cpp b/Sourcecode/mx/core/elements/Type.cpp index 89d714bbf..6cedf073c 100755 --- a/Sourcecode/mx/core/elements/Type.cpp +++ b/Sourcecode/mx/core/elements/Type.cpp @@ -87,7 +87,7 @@ namespace mx } - bool Type::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Type::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Type.h b/Sourcecode/mx/core/elements/Type.h index 887b643a6..64ed6f61e 100755 --- a/Sourcecode/mx/core/elements/Type.h +++ b/Sourcecode/mx/core/elements/Type.h @@ -41,7 +41,8 @@ namespace mx NoteTypeValue getValue() const; void setValue( const NoteTypeValue& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: NoteTypeValue myValue; diff --git a/Sourcecode/mx/core/elements/TypeAttributes.cpp b/Sourcecode/mx/core/elements/TypeAttributes.cpp index 685f05aeb..5d6becb70 100755 --- a/Sourcecode/mx/core/elements/TypeAttributes.cpp +++ b/Sourcecode/mx/core/elements/TypeAttributes.cpp @@ -32,7 +32,7 @@ namespace mx } - bool TypeAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool TypeAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "TypeAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/TypeAttributes.h b/Sourcecode/mx/core/elements/TypeAttributes.h index 7413429e3..2ab39fea7 100755 --- a/Sourcecode/mx/core/elements/TypeAttributes.h +++ b/Sourcecode/mx/core/elements/TypeAttributes.h @@ -28,7 +28,8 @@ namespace mx SymbolSize size; bool hasSize; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Unpitched.cpp b/Sourcecode/mx/core/elements/Unpitched.cpp index d44df08dc..376808fa2 100755 --- a/Sourcecode/mx/core/elements/Unpitched.cpp +++ b/Sourcecode/mx/core/elements/Unpitched.cpp @@ -86,7 +86,7 @@ namespace mx } - bool Unpitched::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Unpitched::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/Unpitched.h b/Sourcecode/mx/core/elements/Unpitched.h index c294b1326..4ccbd3eac 100755 --- a/Sourcecode/mx/core/elements/Unpitched.h +++ b/Sourcecode/mx/core/elements/Unpitched.h @@ -38,7 +38,8 @@ namespace mx bool getHasDisplayStepOctaveGroup() const; void setHasDisplayStepOctaveGroup( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: DisplayStepOctaveGroupPtr myDisplayStepOctaveGroup; diff --git a/Sourcecode/mx/core/elements/Unstress.cpp b/Sourcecode/mx/core/elements/Unstress.cpp index fc039ca9b..f4cf30438 100755 --- a/Sourcecode/mx/core/elements/Unstress.cpp +++ b/Sourcecode/mx/core/elements/Unstress.cpp @@ -57,7 +57,7 @@ namespace mx } - bool Unstress::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Unstress::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Unstress.h b/Sourcecode/mx/core/elements/Unstress.h index 98c1b8e6e..adb97abf8 100755 --- a/Sourcecode/mx/core/elements/Unstress.h +++ b/Sourcecode/mx/core/elements/Unstress.h @@ -35,7 +35,8 @@ namespace mx EmptyPlacementAttributesPtr getAttributes() const; void setAttributes( const EmptyPlacementAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: EmptyPlacementAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/UpBow.cpp b/Sourcecode/mx/core/elements/UpBow.cpp index 4b586e7fb..8b08b21b8 100755 --- a/Sourcecode/mx/core/elements/UpBow.cpp +++ b/Sourcecode/mx/core/elements/UpBow.cpp @@ -57,7 +57,7 @@ namespace mx } - bool UpBow::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool UpBow::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/UpBow.h b/Sourcecode/mx/core/elements/UpBow.h index 7e6d6d80b..790478f54 100755 --- a/Sourcecode/mx/core/elements/UpBow.h +++ b/Sourcecode/mx/core/elements/UpBow.h @@ -35,7 +35,8 @@ namespace mx EmptyPlacementAttributesPtr getAttributes() const; void setAttributes( const EmptyPlacementAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: EmptyPlacementAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/VerticalTurn.cpp b/Sourcecode/mx/core/elements/VerticalTurn.cpp index 1f39d3272..59202820d 100755 --- a/Sourcecode/mx/core/elements/VerticalTurn.cpp +++ b/Sourcecode/mx/core/elements/VerticalTurn.cpp @@ -57,7 +57,7 @@ namespace mx } - bool VerticalTurn::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool VerticalTurn::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/VerticalTurn.h b/Sourcecode/mx/core/elements/VerticalTurn.h index 859907636..f19574ba3 100755 --- a/Sourcecode/mx/core/elements/VerticalTurn.h +++ b/Sourcecode/mx/core/elements/VerticalTurn.h @@ -35,7 +35,8 @@ namespace mx EmptyTrillSoundAttributesPtr getAttributes() const; void setAttributes( const EmptyTrillSoundAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: EmptyTrillSoundAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/VirtualInstrument.cpp b/Sourcecode/mx/core/elements/VirtualInstrument.cpp index 457d778e5..5900cf6cd 100755 --- a/Sourcecode/mx/core/elements/VirtualInstrument.cpp +++ b/Sourcecode/mx/core/elements/VirtualInstrument.cpp @@ -120,7 +120,7 @@ namespace mx } - bool VirtualInstrument::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool VirtualInstrument::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/VirtualInstrument.h b/Sourcecode/mx/core/elements/VirtualInstrument.h index 6ed1e52ef..0c1525acd 100755 --- a/Sourcecode/mx/core/elements/VirtualInstrument.h +++ b/Sourcecode/mx/core/elements/VirtualInstrument.h @@ -45,7 +45,8 @@ namespace mx bool getHasVirtualName() const; void setHasVirtualName( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: VirtualLibraryPtr myVirtualLibrary; diff --git a/Sourcecode/mx/core/elements/VirtualLibrary.cpp b/Sourcecode/mx/core/elements/VirtualLibrary.cpp index af55a6569..ce57a9950 100755 --- a/Sourcecode/mx/core/elements/VirtualLibrary.cpp +++ b/Sourcecode/mx/core/elements/VirtualLibrary.cpp @@ -66,7 +66,7 @@ namespace mx } - bool VirtualLibrary::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool VirtualLibrary::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/VirtualLibrary.h b/Sourcecode/mx/core/elements/VirtualLibrary.h index 15efcc194..58a35cedd 100755 --- a/Sourcecode/mx/core/elements/VirtualLibrary.h +++ b/Sourcecode/mx/core/elements/VirtualLibrary.h @@ -37,7 +37,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/VirtualName.cpp b/Sourcecode/mx/core/elements/VirtualName.cpp index 98a4d88f0..6380f9a01 100755 --- a/Sourcecode/mx/core/elements/VirtualName.cpp +++ b/Sourcecode/mx/core/elements/VirtualName.cpp @@ -66,7 +66,7 @@ namespace mx } - bool VirtualName::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool VirtualName::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/VirtualName.h b/Sourcecode/mx/core/elements/VirtualName.h index 7d9b89620..73cf19a95 100755 --- a/Sourcecode/mx/core/elements/VirtualName.h +++ b/Sourcecode/mx/core/elements/VirtualName.h @@ -37,7 +37,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/Voice.cpp b/Sourcecode/mx/core/elements/Voice.cpp index cc29777e3..2f1b8506f 100755 --- a/Sourcecode/mx/core/elements/Voice.cpp +++ b/Sourcecode/mx/core/elements/Voice.cpp @@ -66,7 +66,7 @@ namespace mx } - bool Voice::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Voice::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/Voice.h b/Sourcecode/mx/core/elements/Voice.h index ff8993070..aacf32c29 100755 --- a/Sourcecode/mx/core/elements/Voice.h +++ b/Sourcecode/mx/core/elements/Voice.h @@ -37,7 +37,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/Volume.cpp b/Sourcecode/mx/core/elements/Volume.cpp index 2c9172a73..d031f0d01 100755 --- a/Sourcecode/mx/core/elements/Volume.cpp +++ b/Sourcecode/mx/core/elements/Volume.cpp @@ -66,7 +66,7 @@ namespace mx } - bool Volume::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Volume::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); myValue.parse( xelement.getValue() ); diff --git a/Sourcecode/mx/core/elements/Volume.h b/Sourcecode/mx/core/elements/Volume.h index 6e4991d98..650032f94 100755 --- a/Sourcecode/mx/core/elements/Volume.h +++ b/Sourcecode/mx/core/elements/Volume.h @@ -37,7 +37,8 @@ namespace mx Percent getValue() const; void setValue( const Percent& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: Percent myValue; diff --git a/Sourcecode/mx/core/elements/WavyLine.cpp b/Sourcecode/mx/core/elements/WavyLine.cpp index 343777e24..b5640c05d 100755 --- a/Sourcecode/mx/core/elements/WavyLine.cpp +++ b/Sourcecode/mx/core/elements/WavyLine.cpp @@ -57,7 +57,7 @@ namespace mx } - bool WavyLine::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool WavyLine::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/WavyLine.h b/Sourcecode/mx/core/elements/WavyLine.h index 47f776c28..d9131eb2a 100755 --- a/Sourcecode/mx/core/elements/WavyLine.h +++ b/Sourcecode/mx/core/elements/WavyLine.h @@ -35,7 +35,8 @@ namespace mx WavyLineAttributesPtr getAttributes() const; void setAttributes( const WavyLineAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: WavyLineAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/WavyLineAttributes.cpp b/Sourcecode/mx/core/elements/WavyLineAttributes.cpp index 02d47729a..2f6c688fa 100755 --- a/Sourcecode/mx/core/elements/WavyLineAttributes.cpp +++ b/Sourcecode/mx/core/elements/WavyLineAttributes.cpp @@ -84,7 +84,7 @@ namespace mx } - bool WavyLineAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool WavyLineAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "WavyLineAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/WavyLineAttributes.h b/Sourcecode/mx/core/elements/WavyLineAttributes.h index c96a88bb0..ae8a1c9c6 100755 --- a/Sourcecode/mx/core/elements/WavyLineAttributes.h +++ b/Sourcecode/mx/core/elements/WavyLineAttributes.h @@ -56,7 +56,8 @@ namespace mx bool hasSecondBeat; bool hasLastBeat; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Wedge.cpp b/Sourcecode/mx/core/elements/Wedge.cpp index bfc1d5391..09e2eb4cc 100755 --- a/Sourcecode/mx/core/elements/Wedge.cpp +++ b/Sourcecode/mx/core/elements/Wedge.cpp @@ -57,7 +57,7 @@ namespace mx } - bool Wedge::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Wedge::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/Wedge.h b/Sourcecode/mx/core/elements/Wedge.h index 182f951fb..7d1f4b4f6 100755 --- a/Sourcecode/mx/core/elements/Wedge.h +++ b/Sourcecode/mx/core/elements/Wedge.h @@ -35,7 +35,8 @@ namespace mx WedgeAttributesPtr getAttributes() const; void setAttributes( const WedgeAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: WedgeAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/WedgeAttributes.cpp b/Sourcecode/mx/core/elements/WedgeAttributes.cpp index ddd346043..ad3cd44c5 100755 --- a/Sourcecode/mx/core/elements/WedgeAttributes.cpp +++ b/Sourcecode/mx/core/elements/WedgeAttributes.cpp @@ -72,7 +72,7 @@ namespace mx } - bool WedgeAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool WedgeAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "WedgeAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/WedgeAttributes.h b/Sourcecode/mx/core/elements/WedgeAttributes.h index 589a1135d..543aafca6 100755 --- a/Sourcecode/mx/core/elements/WedgeAttributes.h +++ b/Sourcecode/mx/core/elements/WedgeAttributes.h @@ -50,7 +50,8 @@ namespace mx bool hasRelativeX; bool hasRelativeY; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/WithBar.cpp b/Sourcecode/mx/core/elements/WithBar.cpp index cc28ecfbf..8c4bcfc11 100755 --- a/Sourcecode/mx/core/elements/WithBar.cpp +++ b/Sourcecode/mx/core/elements/WithBar.cpp @@ -87,7 +87,7 @@ namespace mx } - bool WithBar::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool WithBar::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/WithBar.h b/Sourcecode/mx/core/elements/WithBar.h index f67944271..37e03e8da 100755 --- a/Sourcecode/mx/core/elements/WithBar.h +++ b/Sourcecode/mx/core/elements/WithBar.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/WithBarAttributes.cpp b/Sourcecode/mx/core/elements/WithBarAttributes.cpp index 019c4bc72..d994ec029 100755 --- a/Sourcecode/mx/core/elements/WithBarAttributes.cpp +++ b/Sourcecode/mx/core/elements/WithBarAttributes.cpp @@ -64,7 +64,7 @@ namespace mx } - bool WithBarAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool WithBarAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "WithBarAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/WithBarAttributes.h b/Sourcecode/mx/core/elements/WithBarAttributes.h index 2c814d90c..a5aacef28 100755 --- a/Sourcecode/mx/core/elements/WithBarAttributes.h +++ b/Sourcecode/mx/core/elements/WithBarAttributes.h @@ -47,7 +47,8 @@ namespace mx bool hasFontWeight; bool hasPlacement; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Wood.cpp b/Sourcecode/mx/core/elements/Wood.cpp index 146cc9a3a..44039fade 100755 --- a/Sourcecode/mx/core/elements/Wood.cpp +++ b/Sourcecode/mx/core/elements/Wood.cpp @@ -66,7 +66,7 @@ namespace mx } - bool Wood::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Wood::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/Wood.h b/Sourcecode/mx/core/elements/Wood.h index 4f61a2bfb..dd4dc39cc 100755 --- a/Sourcecode/mx/core/elements/Wood.h +++ b/Sourcecode/mx/core/elements/Wood.h @@ -37,7 +37,8 @@ namespace mx WoodEnum getValue() const; void setValue( const WoodEnum& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: WoodEnum myValue; diff --git a/Sourcecode/mx/core/elements/WordFont.cpp b/Sourcecode/mx/core/elements/WordFont.cpp index 8483cc07c..1abc852ae 100755 --- a/Sourcecode/mx/core/elements/WordFont.cpp +++ b/Sourcecode/mx/core/elements/WordFont.cpp @@ -57,7 +57,7 @@ namespace mx } - bool WordFont::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool WordFont::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { return myAttributes->fromXElement( message, xelement ); } diff --git a/Sourcecode/mx/core/elements/WordFont.h b/Sourcecode/mx/core/elements/WordFont.h index 40bc04611..4d613b5d0 100755 --- a/Sourcecode/mx/core/elements/WordFont.h +++ b/Sourcecode/mx/core/elements/WordFont.h @@ -35,7 +35,8 @@ namespace mx EmptyFontAttributesPtr getAttributes() const; void setAttributes( const EmptyFontAttributesPtr& attributes ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: EmptyFontAttributesPtr myAttributes; diff --git a/Sourcecode/mx/core/elements/Words.cpp b/Sourcecode/mx/core/elements/Words.cpp index 854405c68..7d657dcfc 100755 --- a/Sourcecode/mx/core/elements/Words.cpp +++ b/Sourcecode/mx/core/elements/Words.cpp @@ -87,7 +87,7 @@ namespace mx } - bool Words::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Words::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; isSuccess &= myAttributes->fromXElement( message, xelement ); diff --git a/Sourcecode/mx/core/elements/Words.h b/Sourcecode/mx/core/elements/Words.h index 76eb75dda..c77c20410 100755 --- a/Sourcecode/mx/core/elements/Words.h +++ b/Sourcecode/mx/core/elements/Words.h @@ -41,7 +41,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/WordsAttributes.cpp b/Sourcecode/mx/core/elements/WordsAttributes.cpp index c138c284c..b9d6d41b9 100755 --- a/Sourcecode/mx/core/elements/WordsAttributes.cpp +++ b/Sourcecode/mx/core/elements/WordsAttributes.cpp @@ -104,7 +104,7 @@ namespace mx } - bool WordsAttributes::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool WordsAttributes::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { const char* const className = "WordsAttributes"; bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/WordsAttributes.h b/Sourcecode/mx/core/elements/WordsAttributes.h index 29564108f..e965d8186 100755 --- a/Sourcecode/mx/core/elements/WordsAttributes.h +++ b/Sourcecode/mx/core/elements/WordsAttributes.h @@ -69,7 +69,8 @@ namespace mx bool hasSpace; bool hasEnclosure; - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); }; } } diff --git a/Sourcecode/mx/core/elements/Work.cpp b/Sourcecode/mx/core/elements/Work.cpp index 01a0b784d..a7a582cc5 100755 --- a/Sourcecode/mx/core/elements/Work.cpp +++ b/Sourcecode/mx/core/elements/Work.cpp @@ -155,7 +155,7 @@ namespace mx } - bool Work::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool Work::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { bool isSuccess = true; diff --git a/Sourcecode/mx/core/elements/Work.h b/Sourcecode/mx/core/elements/Work.h index c32b30a08..eac65e844 100755 --- a/Sourcecode/mx/core/elements/Work.h +++ b/Sourcecode/mx/core/elements/Work.h @@ -52,7 +52,8 @@ namespace mx bool getHasOpus() const; void setHasOpus( const bool value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: WorkNumberPtr myWorkNumber; diff --git a/Sourcecode/mx/core/elements/WorkNumber.cpp b/Sourcecode/mx/core/elements/WorkNumber.cpp index 817ea77d2..012563ae4 100755 --- a/Sourcecode/mx/core/elements/WorkNumber.cpp +++ b/Sourcecode/mx/core/elements/WorkNumber.cpp @@ -66,7 +66,7 @@ namespace mx } - bool WorkNumber::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool WorkNumber::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/WorkNumber.h b/Sourcecode/mx/core/elements/WorkNumber.h index 023899f03..8fe1d1546 100755 --- a/Sourcecode/mx/core/elements/WorkNumber.h +++ b/Sourcecode/mx/core/elements/WorkNumber.h @@ -37,7 +37,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/core/elements/WorkTitle.cpp b/Sourcecode/mx/core/elements/WorkTitle.cpp index 9ec8f8a1a..7696f41d0 100755 --- a/Sourcecode/mx/core/elements/WorkTitle.cpp +++ b/Sourcecode/mx/core/elements/WorkTitle.cpp @@ -66,7 +66,7 @@ namespace mx } - bool WorkTitle::fromXElement( std::ostream& message, xml::XElement& xelement ) + bool WorkTitle::fromXElementImpl( std::ostream& message, xml::XElement& xelement ) { MX_UNUSED( message ); MX_UNUSED( xelement ); diff --git a/Sourcecode/mx/core/elements/WorkTitle.h b/Sourcecode/mx/core/elements/WorkTitle.h index 79102e946..3b65b4432 100755 --- a/Sourcecode/mx/core/elements/WorkTitle.h +++ b/Sourcecode/mx/core/elements/WorkTitle.h @@ -37,7 +37,8 @@ namespace mx XsString getValue() const; void setValue( const XsString& value ); - bool fromXElement( std::ostream& message, xml::XElement& xelement ); + private: + virtual bool fromXElementImpl( std::ostream& message, xml::XElement& xelement ); private: XsString myValue; diff --git a/Sourcecode/mx/xml/PugiAttributeIterImpl.cpp b/Sourcecode/mx/xml/PugiAttributeIterImpl.cpp index 0d5e01067..95ccdacab 100755 --- a/Sourcecode/mx/xml/PugiAttributeIterImpl.cpp +++ b/Sourcecode/mx/xml/PugiAttributeIterImpl.cpp @@ -6,8 +6,6 @@ #include "mx/xml/XDoc.h" #include "mx/xml/XThrow.h" -#define MX_CHECK_NODE_STATE if( myParentElement.type() != pugi::node_element ) { MX_THROW_XNULL; } - namespace mx { namespace xml @@ -31,8 +29,7 @@ namespace mx , myXDoc( parentXDoc ) , myReturnableAttribute() { - MX_CHECK_NODE_STATE; - if( myParentElement.type() != pugi::node_element ) + if( myParentElement.type() != pugi::node_element && myParentElement.type() != pugi::node_pi ) { MX_THROW( "improperly constructed, parent should be of element type" ); } @@ -98,7 +95,7 @@ namespace mx if ( getIsEndIter() ) { - MX_THROW( "XAttributeIterator attempted to dereference and 'end' iterator" ); + MX_THROW( "XAttributeIterator attempted to dereference an 'end' iterator" ); } myReturnableAttribute = PugiAttribute{ *myIter, myParentElement, myXDoc.lock() }; @@ -115,7 +112,7 @@ namespace mx if ( getIsEndIter() ) { - MX_THROW( "XAttributeIterator attempted to dereference and 'end' iterator" ); + MX_THROW( "XAttributeIterator attempted to dereference an 'end' iterator" ); } myReturnableAttribute = PugiAttribute{ *myIter, myParentElement, myXDoc.lock() }; diff --git a/Sourcecode/mx/xml/PugiDoc.cpp b/Sourcecode/mx/xml/PugiDoc.cpp index 37e9330eb..ae5d33a39 100755 --- a/Sourcecode/mx/xml/PugiDoc.cpp +++ b/Sourcecode/mx/xml/PugiDoc.cpp @@ -12,6 +12,8 @@ namespace mx { namespace xml { + static const unsigned int standardOptions = pugi::parse_default | pugi::parse_declaration | pugi::parse_doctype | pugi::parse_pi; + PugiDoc::PugiDoc() : myDoc() , myXmlVersion( DEFAULT_XML_VERSION ) @@ -20,7 +22,7 @@ namespace mx , myDoWriteBom( false ) { std::istringstream is( R"()" ); - auto options = pugi::parse_default | pugi::parse_declaration | pugi::parse_doctype; + auto options = standardOptions; myDoc.load( is, options ); } @@ -28,7 +30,7 @@ namespace mx void PugiDoc::loadStream( std::istream& is ) { - auto options = pugi::parse_default | pugi::parse_declaration | pugi::parse_doctype; + auto options = standardOptions; auto parseResult = myDoc.load( is, options ); if( parseResult.status != pugi::status_ok ) { diff --git a/Sourcecode/mx/xml/PugiElement.cpp b/Sourcecode/mx/xml/PugiElement.cpp index 1f1d0fcf3..ca4efc859 100755 --- a/Sourcecode/mx/xml/PugiElement.cpp +++ b/Sourcecode/mx/xml/PugiElement.cpp @@ -9,7 +9,7 @@ #include "mx/xml/XThrow.h" #define MX_CHECK_NULL_NODE if( getIsNull() ) { MX_THROW_XNULL; } -#define MX_CHECK_NODE_ELEMENT if ( myNode.type() != pugi::node_element ) { MX_THROW( "bad internal state, node should be an element" ); } +#define MX_CHECK_NODE_ELEMENT if ( myNodeType != pugi::node_element && myNodeType != pugi::node_pi ) { MX_THROW( "bad internal state, node should be an element" ); } namespace mx { @@ -18,8 +18,10 @@ namespace mx PugiElement::PugiElement() : myNode() , myXDoc( XDocCPtr{ nullptr} ) + , myNodeType{ pugi::xml_node_type::node_null } + , myEndIter{} { - + update(); } @@ -28,8 +30,17 @@ namespace mx const XDocCPtr& xdoc ) : myNode( node ) , myXDoc( xdoc ) + , myNodeType{ pugi::xml_node_type::node_null } + , myEndIter{} { - MX_CHECK_NODE_ELEMENT; + update(); + const bool isElement = myNodeType == pugi::node_element; + const bool isProcessingInstruction = myNodeType == pugi::node_pi; + + if( ( !isElement ) && ( !isProcessingInstruction ) ) + { + MX_THROW( "bad internal state, node should be an element" ); + } } @@ -63,14 +74,30 @@ namespace mx bool PugiElement::getIsNull() const { auto ptr = myXDoc.lock(); + if( !ptr ) { return true; } - else if( myNode.type() != pugi::node_element ) + else if( myNodeType != pugi::node_element ) + { + if( myNodeType != pugi::node_pi ) + { + return true; + } + } + + return false; + } + + + bool PugiElement::getIsProcessingInstruction() const + { + if( myNodeType == pugi::node_pi ) { return true; } + return false; } @@ -91,7 +118,15 @@ namespace mx { return std::string{}; } - return std::string{ myNode.text().as_string() }; + + if (getIsProcessingInstruction()) + { + return std::string{ myNode.value() }; + } + else + { + return std::string{ myNode.text().as_string() }; + } } @@ -102,6 +137,7 @@ namespace mx return; } myNode.set_name( name.c_str() ); + update(); } @@ -121,11 +157,15 @@ namespace mx { auto newnode = myNode.prepend_child( pugi::node_pcdata ); newnode.set_value( value.c_str() ); + update(); + return; } else if( xetype == XElementType::text ) { auto it = myNode.begin(); it->set_value( value.c_str() ); + update(); + return; } } @@ -144,11 +184,69 @@ namespace mx } + XElementPtr PugiElement::getNextSibling() const + { + MX_CHECK_NULL_NODE; + MX_CHECK_NODE_ELEMENT; + const auto nextSibling = myNode.next_sibling(); + + if( nextSibling.type() == pugi::node_null ) + { + return XElementPtr{}; + } + + if( nextSibling.type() == pugi::node_element ) + { + return XElementPtr{ new PugiElement{ nextSibling, myXDoc.lock() } }; + } + + if( nextSibling.type() == pugi::node_pi ) + { + return XElementPtr{ new PugiElement{ nextSibling, myXDoc.lock() } }; + } + + return XElementPtr{}; + } + + XElementIterator PugiElement::begin() const + { + auto iter = beginWithProcessingInstructions(); + iter.setSkipProcessingInstructions( true ); + + if( iter.getSkipProcessingInstructions() && + iter != end() && + iter->getIsProcessingInstruction() ) + { + ++iter; + } + + return iter; + } + + + XElementIterator PugiElement::beginWithProcessingInstructions() const { MX_CHECK_NULL_NODE; MX_CHECK_NODE_ELEMENT; - return XElementIterator( PugiElementIterImpl{ myNode.begin(), myNode, myXDoc.lock() } ); + const auto beginIter = myNode.begin(); + + if( beginIter == myNode.end() ) + { + return this->end(); + } + + const auto type = beginIter->type(); + + if( type == pugi::node_element || + type == pugi::node_pi ) + { + auto result = XElementIterator( PugiElementIterImpl{ myNode.begin(), myNode, myXDoc.lock() } ); + result.setSkipProcessingInstructions( false ); + return result; + } + + return this->end(); } @@ -156,7 +254,7 @@ namespace mx { MX_CHECK_NULL_NODE; MX_CHECK_NODE_ELEMENT; - return XElementIterator( PugiElementIterImpl{ myNode.end(), myNode, myXDoc.lock() } ); + return myEndIter; } @@ -181,7 +279,9 @@ namespace mx { MX_CHECK_NULL_NODE; MX_CHECK_NODE_ELEMENT; - return XElementPtr{ new PugiElement{ myNode.append_child( name.c_str() ), myXDoc.lock() } }; + const auto result = XElementPtr{ new PugiElement{ myNode.append_child( name.c_str() ), myXDoc.lock() } }; + update(); + return result; } @@ -189,22 +289,28 @@ namespace mx { MX_CHECK_NULL_NODE; MX_CHECK_NODE_ELEMENT; - return XElementPtr{ new PugiElement{ myNode.prepend_child( name.c_str() ), myXDoc.lock() } }; + const auto result = XElementPtr{ new PugiElement{ myNode.prepend_child( name.c_str() ), myXDoc.lock() } }; + update(); + return result; } - + XElementPtr PugiElement::insertSiblingAfter( const std::string& newElementName ) { MX_CHECK_NULL_NODE; MX_CHECK_NODE_ELEMENT; auto newNode = myNode.parent().insert_child_after( newElementName.c_str(), myNode ); - return XElementPtr{ new PugiElement{ newNode, myXDoc.lock() } }; + const auto result = XElementPtr{ new PugiElement{ newNode, myXDoc.lock() } }; + update(); + return result; } bool PugiElement::removeChild( const std::string& elementName ) { - return myNode.remove_child( elementName.c_str() ); + const auto result = myNode.remove_child( elementName.c_str() ); + update(); + return result; } @@ -212,7 +318,9 @@ namespace mx { MX_CHECK_NULL_NODE; MX_CHECK_NODE_ELEMENT; - return XAttributePtr{ new PugiAttribute{ myNode.append_attribute( name.c_str() ), myNode, myXDoc.lock() } }; + const auto result = XAttributePtr{ new PugiAttribute{ myNode.append_attribute( name.c_str() ), myNode, myXDoc.lock() } }; + update(); + return result; } @@ -220,7 +328,9 @@ namespace mx { MX_CHECK_NULL_NODE; MX_CHECK_NODE_ELEMENT; - return XAttributePtr{ new PugiAttribute{ myNode.prepend_attribute( name.c_str() ), myNode, myXDoc.lock() } }; + const auto result = XAttributePtr{ new PugiAttribute{ myNode.prepend_attribute( name.c_str() ), myNode, myXDoc.lock() } }; + update(); + return result; } @@ -233,9 +343,17 @@ namespace mx if( iter->getName() == it->name() ) { myNode.remove_attribute( *it ); + update(); return; } } } + + + void PugiElement::update() + { + myNodeType = myNode.type(); + myEndIter = XElementIterator( PugiElementIterImpl{ myNode.end(), myNode, myXDoc.lock() } ); + } } } diff --git a/Sourcecode/mx/xml/PugiElement.h b/Sourcecode/mx/xml/PugiElement.h index a8269339f..c1a32a856 100755 --- a/Sourcecode/mx/xml/PugiElement.h +++ b/Sourcecode/mx/xml/PugiElement.h @@ -6,6 +6,7 @@ #include "mx/xml/XElement.h" #include "mx/pugixml/pugixml.hpp" +#include "mx/xml/XElementIterator.h" #include @@ -45,6 +46,8 @@ namespace mx virtual XElementType getType() const override; virtual bool getIsNull() const override; + virtual bool getIsProcessingInstruction() const override; + virtual std::string getName() const override; virtual std::string getValue() const override; @@ -53,8 +56,10 @@ namespace mx virtual XDocCPtr getDoc() const override; virtual XElementPtr getParent() const override; + virtual XElementPtr getNextSibling() const override; virtual XElementIterator begin() const override; + virtual XElementIterator beginWithProcessingInstructions() const override; virtual XElementIterator end() const override; virtual XAttributeIterator attributesBegin() const override; @@ -73,6 +78,11 @@ namespace mx private: pugi::xml_node myNode; XDocCWPtr myXDoc; + pugi::xml_node_type myNodeType; + XElementIterator myEndIter; + + private: + void update(); }; } } diff --git a/Sourcecode/mx/xml/PugiElementIterImpl.cpp b/Sourcecode/mx/xml/PugiElementIterImpl.cpp index 2295d9192..c0fe7f1b1 100755 --- a/Sourcecode/mx/xml/PugiElementIterImpl.cpp +++ b/Sourcecode/mx/xml/PugiElementIterImpl.cpp @@ -13,6 +13,8 @@ namespace mx : myIter() , myIterParent() , myXDoc() + , mySkipProcessingInstructions{ true } + , myReturnableElement{ nullptr } { } @@ -25,11 +27,34 @@ namespace mx : myIter( iter ) , myIterParent( iterParent ) , myXDoc( parentDoc ) + , mySkipProcessingInstructions{ true } + , myReturnableElement{ nullptr } + { + + } + + PugiElementIterImpl::PugiElementIterImpl( const PugiElementIterImpl& inOther ) + : myIter( inOther.myIter ) + , myIterParent( inOther.myIterParent ) + , myXDoc( inOther.myXDoc ) + , mySkipProcessingInstructions{ inOther.mySkipProcessingInstructions } + , myReturnableElement{ inOther.myReturnableElement == nullptr ? nullptr : std::make_unique( *inOther.myReturnableElement ) } { } + PugiElementIterImpl& PugiElementIterImpl::operator=( const PugiElementIterImpl& inOther ) + { + myIter = inOther.myIter; + myIterParent = inOther.myIterParent; + myXDoc = inOther.myXDoc; + mySkipProcessingInstructions = inOther.mySkipProcessingInstructions; + myReturnableElement = inOther.myReturnableElement == nullptr ? nullptr : std::make_unique( *inOther.myReturnableElement ); + return *this; + } + + XElementIterImplUP PugiElementIterImpl::clone() const { return XElementIterImplUP{ new PugiElementIterImpl{ *this } }; @@ -44,7 +69,12 @@ namespace mx { return true; } - else if( myIterParent.type() != pugi::node_element ) + + const auto type = myIterParent.type(); + const auto isElement = type == pugi::node_element; + const auto isProcessingInstruction = type == pugi::node_pi; + + if( ( !isElement ) && ( !isProcessingInstruction ) ) { return true; } @@ -64,6 +94,51 @@ namespace mx } + bool PugiElementIterImpl::getIsBeginIter() const + { + if ( myIter == myIterParent.begin() ) + { + return true; + } + + return false; + } + + + bool PugiElementIterImpl::getIsProcessingInstruction() const + { + if( this->getIsEndIter() ) + { + return false; + } + else if( this->getIsPayloadNull() ) + { + return false; + } + + const auto type = myIter->type(); + + if( type == pugi::node_pi ) + { + return true; + } + + return false; + } + + + bool PugiElementIterImpl::getSkipProcessingInstructions() const + { + return mySkipProcessingInstructions; + } + + + void PugiElementIterImpl::setSkipProcessingInstructions( bool inValue ) + { + mySkipProcessingInstructions = inValue; + } + + bool PugiElementIterImpl::equals( const XElementIterator& other ) const { @@ -90,11 +165,11 @@ namespace mx if ( getIsEndIter() ) { - MX_THROW( "XElementIterator attempted to dereference and 'end' iterator" ); + MX_THROW( "XElementIterator attempted to dereference an 'end' iterator" ); } - myReturnableElement = PugiElement{ *myIter, myXDoc.lock() }; - return myReturnableElement; + myReturnableElement = std::make_unique( *myIter, myXDoc.lock() ); + return *myReturnableElement; } @@ -107,17 +182,30 @@ namespace mx if ( getIsEndIter() ) { - MX_THROW( "XElementIterator attempted to dereference and 'end' iterator" ); + MX_THROW( "XElementIterator attempted to dereference an 'end' iterator" ); } - myReturnableElement = PugiElement{ *myIter, myXDoc.lock() }; - return &myReturnableElement; + myReturnableElement = std::make_unique( *myIter, myXDoc.lock() ); + return myReturnableElement.get(); } const PugiElementIterImpl& PugiElementIterImpl::increment() { ++myIter; + + if (mySkipProcessingInstructions) + { + bool isEnd = getIsEndIter(); + bool isPi = getIsProcessingInstruction(); + + while( !isEnd && isPi ) + { + ++myIter; + isEnd = getIsEndIter(); + isPi = getIsProcessingInstruction(); + } + } return *this; } @@ -125,6 +213,19 @@ namespace mx const PugiElementIterImpl& PugiElementIterImpl::decrement() { --myIter; + + if (mySkipProcessingInstructions) + { + bool isBegin = getIsBeginIter(); + bool isPi = getIsProcessingInstruction(); + + while( !isBegin && isPi ) + { + --myIter; + isBegin = getIsBeginIter(); + isPi = getIsProcessingInstruction(); + } + } return *this; } diff --git a/Sourcecode/mx/xml/PugiElementIterImpl.h b/Sourcecode/mx/xml/PugiElementIterImpl.h index 907f9f4ec..f0e6f1e18 100755 --- a/Sourcecode/mx/xml/PugiElementIterImpl.h +++ b/Sourcecode/mx/xml/PugiElementIterImpl.h @@ -18,6 +18,7 @@ namespace mx class PugiElementIterImpl : public XElementIterImpl { public: + ~PugiElementIterImpl() = default; PugiElementIterImpl(); @@ -26,15 +27,18 @@ namespace mx const pugi::xml_node& iterParent, const XDocCPtr& parentDoc ); - PugiElementIterImpl( const PugiElementIterImpl& ) = default; + PugiElementIterImpl( const PugiElementIterImpl& ); PugiElementIterImpl( PugiElementIterImpl&& ) = default; - ~PugiElementIterImpl() = default; - PugiElementIterImpl& operator=( const PugiElementIterImpl& ) = default; + PugiElementIterImpl& operator=( const PugiElementIterImpl& ); PugiElementIterImpl& operator=( PugiElementIterImpl&& ) = default; virtual bool getIsPayloadNull() const override; virtual bool getIsEndIter() const override; + virtual bool getIsProcessingInstruction() const override; + virtual bool getSkipProcessingInstructions() const override; + virtual void setSkipProcessingInstructions( bool inValue ) override; + virtual XElementIterImplUP clone() const override; virtual bool equals( const XElementIterator& other ) const override; @@ -52,7 +56,11 @@ namespace mx pugi::xml_node_iterator myIter; pugi::xml_node myIterParent; XDocCWPtr myXDoc; - mutable PugiElement myReturnableElement; + bool mySkipProcessingInstructions; + mutable std::unique_ptr myReturnableElement; + + private: + bool getIsBeginIter() const; }; } } diff --git a/Sourcecode/mx/xml/XElement.h b/Sourcecode/mx/xml/XElement.h index febbe3ae1..ce16e40fa 100755 --- a/Sourcecode/mx/xml/XElement.h +++ b/Sourcecode/mx/xml/XElement.h @@ -45,6 +45,8 @@ namespace mx virtual XElementType getType() const = 0; virtual bool getIsNull() const = 0; + virtual bool getIsProcessingInstruction() const = 0; + virtual std::string getName() const = 0; virtual std::string getValue() const = 0; @@ -59,6 +61,10 @@ namespace mx // returns an XElement with type == null if this // element is the root of the entire XML tree virtual XElementPtr getParent() const = 0; + + // return the next element after this one, can + // return nullptr if there are no more siblings + virtual XElementPtr getNextSibling() const = 0; // STL compliant iterators to the elements // which are children of this element. If @@ -66,6 +72,10 @@ namespace mx // then begin() == end() virtual XElementIterator begin() const = 0; virtual XElementIterator end() const = 0; + + // if you want iterations to include processing + // instructions then use this function. + virtual XElementIterator beginWithProcessingInstructions() const = 0; // STL compliant iterators to the attributes // of this element. If this element has no diff --git a/Sourcecode/mx/xml/XElementIterImpl.h b/Sourcecode/mx/xml/XElementIterImpl.h index 2b8d72c6d..93b0b70e1 100755 --- a/Sourcecode/mx/xml/XElementIterImpl.h +++ b/Sourcecode/mx/xml/XElementIterImpl.h @@ -24,6 +24,9 @@ namespace mx virtual bool getIsPayloadNull() const = 0; virtual bool getIsEndIter() const = 0; + virtual bool getIsProcessingInstruction() const = 0; + virtual bool getSkipProcessingInstructions() const = 0; + virtual void setSkipProcessingInstructions( bool inValue ) = 0; virtual XElementIterImplUP clone() const = 0; virtual bool equals( const XElementIterator& other ) const = 0; diff --git a/Sourcecode/mx/xml/XElementIterator.cpp b/Sourcecode/mx/xml/XElementIterator.cpp index 5f36911b0..935790bd5 100755 --- a/Sourcecode/mx/xml/XElementIterator.cpp +++ b/Sourcecode/mx/xml/XElementIterator.cpp @@ -140,6 +140,18 @@ namespace mx return false; } + + + bool XElementIterator::getSkipProcessingInstructions() const + { + return myImpl->getSkipProcessingInstructions(); + } + + + void XElementIterator::setSkipProcessingInstructions( bool inValue ) + { + myImpl->setSkipProcessingInstructions( inValue ); + } const XElementIterImplUP& XElementIterator::reveal() const diff --git a/Sourcecode/mx/xml/XElementIterator.h b/Sourcecode/mx/xml/XElementIterator.h index 484d97331..91341c115 100755 --- a/Sourcecode/mx/xml/XElementIterator.h +++ b/Sourcecode/mx/xml/XElementIterator.h @@ -48,6 +48,8 @@ namespace mx XElementIterator operator--(int); bool getIsPayloadNull() const; + bool getSkipProcessingInstructions() const; + void setSkipProcessingInstructions( bool inValue ); // Reveal the private data member, violates // encapsulation but could not find a better way diff --git a/Sourcecode/mxtest/control/CompileControl.h b/Sourcecode/mxtest/control/CompileControl.h index 57943b393..ad4d48432 100755 --- a/Sourcecode/mxtest/control/CompileControl.h +++ b/Sourcecode/mxtest/control/CompileControl.h @@ -15,4 +15,4 @@ // use this to restrict the size of the files that // the test run will open (compile-time constant). // 0 indicates no limit -constexpr const int MX_COMPILE_MAX_FILE_SIZE_BYTES = 5433; // 1024 * 1024; // (1024 * 1024); +constexpr const int MX_COMPILE_MAX_FILE_SIZE_BYTES = 1024 * 1024 * 100; //5433; // 1024 * 1024; // (1024 * 1024); diff --git a/Sourcecode/mxtest/import/ExpectedFiles.cpp b/Sourcecode/mxtest/import/ExpectedFiles.cpp index 24e054f5d..f761fa9a5 100755 --- a/Sourcecode/mxtest/import/ExpectedFiles.cpp +++ b/Sourcecode/mxtest/import/ExpectedFiles.cpp @@ -143,7 +143,10 @@ namespace mxtest openInputFile( inputFile, fullPath ); auto xdoc = mx::xml::XFactory::makeXDoc(); xdoc->loadStream( inputFile ); - inputFile.close(); +// std::stringstream ss; +// xdoc->saveStream( ss ); +// std::cout << ss.str() << std::endl; +// inputFile.close(); return xdoc; } @@ -280,7 +283,7 @@ namespace mxtest void generateExpectedFiles() { std::cout << "creating expected files" << std::flush; - const int maxConcurrency = 50; + const int maxConcurrency = 48; std::list> q; auto testFiles = MxFileRepository::getTestFiles( MX_COMPILE_MAX_FILE_SIZE_BYTES ); for( auto it = testFiles.cbegin(); it != testFiles.cend(); ++it ) @@ -289,7 +292,7 @@ namespace mxtest // std::cout << "creating expected file - " << it->subdirectory << " - " << it->fileName << std::endl; auto fut = std::async( std::launch::async, generateExpectedFile, it->subdirectory.c_str(), it->fileName.c_str() ); - while( q.size() >= maxConcurrency ) + while( q.size() >= maxConcurrency && q.begin() != q.end() ) { for( auto qIter = q.begin(); qIter != q.end(); ++qIter ) { @@ -300,7 +303,7 @@ namespace mxtest break; } } - std::this_thread::sleep_for( std::chrono::milliseconds(10) ); + std::this_thread::sleep_for( std::chrono::milliseconds( maxConcurrency > 0 ? 10 : 0 ) ); } q.push_front( std::move( fut ) ); } diff --git a/Sourcecode/mxtest/xml/XElementTest.cpp b/Sourcecode/mxtest/xml/XElementTest.cpp index 6e0ebee28..0b1a6fd5c 100755 --- a/Sourcecode/mxtest/xml/XElementTest.cpp +++ b/Sourcecode/mxtest/xml/XElementTest.cpp @@ -79,6 +79,7 @@ TEST( getTypeText, XElement ) CHECK( !iter->getIsNull() ); CHECK_EQUAL( "abc", iter->getName() ); auto weird = iter->begin(); + CHECK( weird == iter->end() ); CHECK_EQUAL( "abcdefg", iter->getValue() ); CHECK( XElementType::text == iter->getType() ); } diff --git a/Xcode/Mx.xcodeproj/project.pbxproj b/Xcode/Mx.xcodeproj/project.pbxproj index e420ea71b..f9b92c557 100755 --- a/Xcode/Mx.xcodeproj/project.pbxproj +++ b/Xcode/Mx.xcodeproj/project.pbxproj @@ -3334,6 +3334,11 @@ 29A8FFFE1EF0499300AD2478 /* TraditionalKey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1DD1EF0476200AD2478 /* TraditionalKey.cpp */; }; 29A8FFFF1EF0499300AD2478 /* Transpose.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1DF1EF0476200AD2478 /* Transpose.cpp */; }; 29B962851E79FF410072071D /* MxiOS.h in Headers */ = {isa = PBXBuildFile; fileRef = 29B962831E79FF410072071D /* MxiOS.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 29EAD73B1F0EA96B00BDE782 /* ProcessingInstruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EAD7391F0EA96B00BDE782 /* ProcessingInstruction.cpp */; }; + 29EAD73C1F0EA96B00BDE782 /* ProcessingInstruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EAD7391F0EA96B00BDE782 /* ProcessingInstruction.cpp */; }; + 29EAD73D1F0EA96B00BDE782 /* ProcessingInstruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EAD7391F0EA96B00BDE782 /* ProcessingInstruction.cpp */; }; + 29EAD73E1F0EA96B00BDE782 /* ProcessingInstruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EAD7391F0EA96B00BDE782 /* ProcessingInstruction.cpp */; }; + 29EAD73F1F0EA96B00BDE782 /* ProcessingInstruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EAD7391F0EA96B00BDE782 /* ProcessingInstruction.cpp */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -4731,6 +4736,8 @@ 29B962831E79FF410072071D /* MxiOS.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MxiOS.h; sourceTree = ""; }; 29B962841E79FF410072071D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 29E8C22C1DD2920C00E8CEBA /* libmx-iOS.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libmx-iOS.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; + 29EAD7391F0EA96B00BDE782 /* ProcessingInstruction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ProcessingInstruction.cpp; sourceTree = ""; }; + 29EAD73A1F0EA96B00BDE782 /* ProcessingInstruction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProcessingInstruction.h; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -4914,6 +4921,8 @@ 29A8E24B1EF0476200AD2478 /* PositiveIntegerOrEmpty.h */, 29A8E24C1EF0476200AD2478 /* PreciseDecimal.cpp */, 29A8E24D1EF0476200AD2478 /* PreciseDecimal.h */, + 29EAD7391F0EA96B00BDE782 /* ProcessingInstruction.cpp */, + 29EAD73A1F0EA96B00BDE782 /* ProcessingInstruction.h */, 29A8E24E1EF0476200AD2478 /* ScoreConversions.cpp */, 29A8E24F1EF0476200AD2478 /* ScoreConversions.h */, 29A8E2501EF0476200AD2478 /* Strings.cpp */, @@ -7089,6 +7098,7 @@ 29A8E55E1EF0476300AD2478 /* BasePitch.cpp in Sources */, 29A8EA901EF0476500AD2478 /* Fingering.cpp in Sources */, 29A8F0261EF0476700AD2478 /* Miscellaneous.cpp in Sources */, + 29EAD73C1F0EA96B00BDE782 /* ProcessingInstruction.cpp in Sources */, 29A8F13E1EF0476700AD2478 /* NoteChoice.cpp in Sources */, 29A8F61B1EF0476A00AD2478 /* SlashType.cpp in Sources */, 29A8FCAB1EF0476E00AD2478 /* PropertiesWriter.cpp in Sources */, @@ -7759,6 +7769,7 @@ 29A8E55D1EF0476300AD2478 /* BasePitch.cpp in Sources */, 29A8EA8F1EF0476500AD2478 /* Fingering.cpp in Sources */, 29A8F0251EF0476700AD2478 /* Miscellaneous.cpp in Sources */, + 29EAD73B1F0EA96B00BDE782 /* ProcessingInstruction.cpp in Sources */, 29A8F13D1EF0476700AD2478 /* NoteChoice.cpp in Sources */, 29A8F61A1EF0476A00AD2478 /* SlashType.cpp in Sources */, 29A8FCAA1EF0476E00AD2478 /* PropertiesWriter.cpp in Sources */, @@ -8429,6 +8440,7 @@ 29A800271EF0499300AD2478 /* Words.cpp in Sources */, 29A800281EF0499300AD2478 /* WordsAttributes.cpp in Sources */, 29A800291EF0499300AD2478 /* Work.cpp in Sources */, + 29EAD73F1F0EA96B00BDE782 /* ProcessingInstruction.cpp in Sources */, 29A8002A1EF0499300AD2478 /* WorkNumber.cpp in Sources */, 29A8002B1EF0499300AD2478 /* WorkTitle.cpp in Sources */, 29A8002C1EF0499300AD2478 /* Elements.cpp in Sources */, @@ -9099,6 +9111,7 @@ 29A8E5601EF0476300AD2478 /* BasePitch.cpp in Sources */, 29A8EA921EF0476500AD2478 /* Fingering.cpp in Sources */, 29A8F0281EF0476700AD2478 /* Miscellaneous.cpp in Sources */, + 29EAD73E1F0EA96B00BDE782 /* ProcessingInstruction.cpp in Sources */, 29A8F1401EF0476700AD2478 /* NoteChoice.cpp in Sources */, 29A8F61D1EF0476A00AD2478 /* SlashType.cpp in Sources */, 29A8FCAD1EF0476E00AD2478 /* PropertiesWriter.cpp in Sources */, @@ -9769,6 +9782,7 @@ 29A8E55F1EF0476300AD2478 /* BasePitch.cpp in Sources */, 29A8EA911EF0476500AD2478 /* Fingering.cpp in Sources */, 29A8F0271EF0476700AD2478 /* Miscellaneous.cpp in Sources */, + 29EAD73D1F0EA96B00BDE782 /* ProcessingInstruction.cpp in Sources */, 29A8F13F1EF0476700AD2478 /* NoteChoice.cpp in Sources */, 29A8F61C1EF0476A00AD2478 /* SlashType.cpp in Sources */, 29A8FCAC1EF0476E00AD2478 /* PropertiesWriter.cpp in Sources */, From 19f0abf4e9a36cbc1847880c82fb7a17e3788ced Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Thu, 6 Jul 2017 15:58:51 -0700 Subject: [PATCH 065/108] mx-version-0.2.0.23 --- Sourcecode/mx/impl/MxVersionDefines.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sourcecode/mx/impl/MxVersionDefines.h b/Sourcecode/mx/impl/MxVersionDefines.h index 27a834c29..8b1e31b42 100644 --- a/Sourcecode/mx/impl/MxVersionDefines.h +++ b/Sourcecode/mx/impl/MxVersionDefines.h @@ -1,4 +1,4 @@ #define MX_VERSION_MAJOR 0 #define MX_VERSION_MINOR 2 #define MX_VERSION_PATCH 0 -#define MX_VERSION_BUILD 22 +#define MX_VERSION_BUILD 23 From 0ac9e94762aa8630e45a759d584619c4638c06ff Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Thu, 6 Jul 2017 16:29:12 -0700 Subject: [PATCH 066/108] more chord symbol work --- Sourcecode/mx/api/ChordData.h | 3 ++ Sourcecode/mx/api/MiscData.cpp | 3 ++ Sourcecode/mx/api/MiscData.h | 28 ++++++++++++++ Sourcecode/mx/impl/DirectionReader.cpp | 12 +++++- Sourcecode/mx/impl/DirectionReader.h | 2 +- Sourcecode/mx/impl/DirectionWriter.cpp | 6 +++ .../mxtest/api/ChordDataSaveAndLoadTest.cpp | 38 +++++++++++++++++++ Sourcecode/mxtest/control/CompileControl.h | 2 +- Xcode/Mx.xcodeproj/project.pbxproj | 24 ++++++++++++ 9 files changed, 114 insertions(+), 4 deletions(-) create mode 100644 Sourcecode/mx/api/MiscData.cpp create mode 100644 Sourcecode/mx/api/MiscData.h diff --git a/Sourcecode/mx/api/ChordData.h b/Sourcecode/mx/api/ChordData.h index e3be233b7..308aced77 100644 --- a/Sourcecode/mx/api/ChordData.h +++ b/Sourcecode/mx/api/ChordData.h @@ -6,6 +6,7 @@ #include "mx/api/ApiCommon.h" #include "mx/api/PitchData.h" +#include "mx/api/MiscData.h" namespace mx { @@ -112,6 +113,7 @@ namespace mx Step bass; int bassAlter; std::vector extensions; + std::vector miscData; }; MXAPI_EQUALS_BEGIN( ChordData ) @@ -123,6 +125,7 @@ namespace mx MXAPI_EQUALS_MEMBER( bass ) MXAPI_EQUALS_MEMBER( bassAlter ) MXAPI_EQUALS_MEMBER( extensions ) + MXAPI_EQUALS_MEMBER( miscData ) MXAPI_EQUALS_END; MXAPI_NOT_EQUALS_AND_VECTORS( ChordData ); diff --git a/Sourcecode/mx/api/MiscData.cpp b/Sourcecode/mx/api/MiscData.cpp new file mode 100644 index 000000000..af3480881 --- /dev/null +++ b/Sourcecode/mx/api/MiscData.cpp @@ -0,0 +1,3 @@ +// MusicXML Class Library +// Copyright (c) by Matthew James Briggs +// Distributed under the MIT License diff --git a/Sourcecode/mx/api/MiscData.h b/Sourcecode/mx/api/MiscData.h new file mode 100644 index 000000000..77a8faaaa --- /dev/null +++ b/Sourcecode/mx/api/MiscData.h @@ -0,0 +1,28 @@ +// MusicXML Class Library +// Copyright (c) by Matthew James Briggs +// Distributed under the MIT License + +#pragma once + +#include "mx/api/ApiCommon.h" + +#include + +namespace mx +{ + namespace api + { + class MiscData + { + public: + std::string name; + std::string data; + }; + + MXAPI_EQUALS_BEGIN( MiscData ) + MXAPI_EQUALS_MEMBER( name ) + MXAPI_EQUALS_MEMBER( data ) + MXAPI_EQUALS_END; + MXAPI_NOT_EQUALS_AND_VECTORS( MiscData ); + } +} diff --git a/Sourcecode/mx/impl/DirectionReader.cpp b/Sourcecode/mx/impl/DirectionReader.cpp index f90a446ce..afba11928 100644 --- a/Sourcecode/mx/impl/DirectionReader.cpp +++ b/Sourcecode/mx/impl/DirectionReader.cpp @@ -173,7 +173,7 @@ namespace mx { if( hPtr->getChoice() == core::HarmonyChordGroup::Choice::root ) { - parseHarmony( *hPtr ); + parseHarmony( *myHarmony, *hPtr ); } } } @@ -639,7 +639,7 @@ namespace mx } - void DirectionReader::parseHarmony( const core::HarmonyChordGroup& inGrp ) + void DirectionReader::parseHarmony( const core::Harmony& inHarmony, const core::HarmonyChordGroup& inGrp ) { mx::api::ChordData chord; chord.root = myConverter.convert( inGrp.getRoot()->getRootStep()->getValue() ); @@ -754,6 +754,14 @@ namespace mx } } + for ( const auto& pi : inHarmony.getProcessingInstructions() ) + { + mx::api::MiscData misc; + misc.name = pi.getName(); + misc.data = pi.getData(); + chord.miscData.push_back( misc ); + } + myOutDirectionData.chords.push_back( chord ); } } diff --git a/Sourcecode/mx/impl/DirectionReader.h b/Sourcecode/mx/impl/DirectionReader.h index b9f76e4b8..3b384d85d 100644 --- a/Sourcecode/mx/impl/DirectionReader.h +++ b/Sourcecode/mx/impl/DirectionReader.h @@ -74,7 +74,7 @@ namespace mx void parseAccordionRegistration( const core::DirectionType& directionType ); void parsePercussion( const core::DirectionType& directionType ); void parseOtherDirection( const core::DirectionType& directionType ); - void parseHarmony( const core::HarmonyChordGroup& inGrp ); + void parseHarmony( const core::Harmony& inHarmony, const core::HarmonyChordGroup& inGrp ); template api::PositionData parsePositionData( const ATTRIBUTES_TYPE& attributes ) diff --git a/Sourcecode/mx/impl/DirectionWriter.cpp b/Sourcecode/mx/impl/DirectionWriter.cpp index 05cd43678..5ca0be951 100644 --- a/Sourcecode/mx/impl/DirectionWriter.cpp +++ b/Sourcecode/mx/impl/DirectionWriter.cpp @@ -489,6 +489,12 @@ namespace mx grp->addDegree( degree ); } + auto miscIter = chordIter->miscData.cbegin(); + const auto miscEnd = chordIter->miscData.cend(); + for( ; miscIter != miscEnd; ++miscIter ) { + harmony->addProcessingInstruction(core::ProcessingInstruction{miscIter->name, miscIter->data}); + } + if( output.empty() ) { output.push_back( mdc ); diff --git a/Sourcecode/mxtest/api/ChordDataSaveAndLoadTest.cpp b/Sourcecode/mxtest/api/ChordDataSaveAndLoadTest.cpp index 8e5aff674..d21c12e80 100644 --- a/Sourcecode/mxtest/api/ChordDataSaveAndLoadTest.cpp +++ b/Sourcecode/mxtest/api/ChordDataSaveAndLoadTest.cpp @@ -332,4 +332,42 @@ TEST( Load4, ChordDataSaveTest ) CHECK_EQUAL( 0, chord->bassAlter ); } + +TEST( SaveProcessingInstructions, ChordDataSaveTest ) +{ + ScoreData scoreData{}; + scoreData.parts.emplace_back(); + auto part = &scoreData.parts.back(); + part->measures.emplace_back(); + auto measure = &part->measures.back(); + measure->staves.emplace_back(); + auto staff = &measure->staves.back(); + staff->directions.emplace_back(); + auto direction = &staff->directions.back(); + direction->chords.emplace_back(); + auto chord = &direction->chords.back(); + chord->root = Step::b; + chord->miscData.emplace_back( MiscData{"test", "123"} ); + + const auto xml = toXml( scoreData ); + std::cout << xml << std::endl; + auto outScore = fromXml( xml ); + + part = nullptr; + measure = nullptr; + staff = nullptr; + chord = nullptr; + + part = &outScore.parts.back(); + measure = &part->measures.back(); + staff = &measure->staves.back(); + direction = &staff->directions.back(); + chord = &direction->chords.back(); + + CHECK_EQUAL( 1, chord->miscData.size() ); + CHECK_EQUAL( "test", chord->miscData.front().name ); + CHECK_EQUAL( "123", chord->miscData.front().data ); + CHECK( chord->root == Step::b ); +} + #endif diff --git a/Sourcecode/mxtest/control/CompileControl.h b/Sourcecode/mxtest/control/CompileControl.h index ad4d48432..57943b393 100755 --- a/Sourcecode/mxtest/control/CompileControl.h +++ b/Sourcecode/mxtest/control/CompileControl.h @@ -15,4 +15,4 @@ // use this to restrict the size of the files that // the test run will open (compile-time constant). // 0 indicates no limit -constexpr const int MX_COMPILE_MAX_FILE_SIZE_BYTES = 1024 * 1024 * 100; //5433; // 1024 * 1024; // (1024 * 1024); +constexpr const int MX_COMPILE_MAX_FILE_SIZE_BYTES = 5433; // 1024 * 1024; // (1024 * 1024); diff --git a/Xcode/Mx.xcodeproj/project.pbxproj b/Xcode/Mx.xcodeproj/project.pbxproj index f9b92c557..d0495fc43 100755 --- a/Xcode/Mx.xcodeproj/project.pbxproj +++ b/Xcode/Mx.xcodeproj/project.pbxproj @@ -3339,6 +3339,16 @@ 29EAD73D1F0EA96B00BDE782 /* ProcessingInstruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EAD7391F0EA96B00BDE782 /* ProcessingInstruction.cpp */; }; 29EAD73E1F0EA96B00BDE782 /* ProcessingInstruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EAD7391F0EA96B00BDE782 /* ProcessingInstruction.cpp */; }; 29EAD73F1F0EA96B00BDE782 /* ProcessingInstruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EAD7391F0EA96B00BDE782 /* ProcessingInstruction.cpp */; }; + 29EAD7481F0EF8CE00BDE782 /* MiscData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EAD7461F0EF8CE00BDE782 /* MiscData.cpp */; }; + 29EAD7491F0EF8CE00BDE782 /* MiscData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EAD7461F0EF8CE00BDE782 /* MiscData.cpp */; }; + 29EAD74A1F0EF8CE00BDE782 /* MiscData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EAD7461F0EF8CE00BDE782 /* MiscData.cpp */; }; + 29EAD74B1F0EF8CE00BDE782 /* MiscData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EAD7461F0EF8CE00BDE782 /* MiscData.cpp */; }; + 29EAD74C1F0EF8CE00BDE782 /* MiscData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EAD7461F0EF8CE00BDE782 /* MiscData.cpp */; }; + 29EAD74D1F0EF8CE00BDE782 /* MiscData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29EAD7471F0EF8CE00BDE782 /* MiscData.h */; }; + 29EAD74E1F0EF8CE00BDE782 /* MiscData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29EAD7471F0EF8CE00BDE782 /* MiscData.h */; }; + 29EAD74F1F0EF8CE00BDE782 /* MiscData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29EAD7471F0EF8CE00BDE782 /* MiscData.h */; }; + 29EAD7501F0EF8CE00BDE782 /* MiscData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29EAD7471F0EF8CE00BDE782 /* MiscData.h */; }; + 29EAD7511F0EF8CE00BDE782 /* MiscData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29EAD7471F0EF8CE00BDE782 /* MiscData.h */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -4738,6 +4748,8 @@ 29E8C22C1DD2920C00E8CEBA /* libmx-iOS.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libmx-iOS.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; 29EAD7391F0EA96B00BDE782 /* ProcessingInstruction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ProcessingInstruction.cpp; sourceTree = ""; }; 29EAD73A1F0EA96B00BDE782 /* ProcessingInstruction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProcessingInstruction.h; sourceTree = ""; }; + 29EAD7461F0EF8CE00BDE782 /* MiscData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MiscData.cpp; sourceTree = ""; }; + 29EAD7471F0EF8CE00BDE782 /* MiscData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MiscData.h; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -4850,6 +4862,8 @@ 29A8DD6C1EF0475D00AD2478 /* MeasureData.h */, 29A8DD6D1EF0475D00AD2478 /* MeasureLocation.cpp */, 29A8DD6E1EF0475D00AD2478 /* MeasureLocation.h */, + 29EAD7461F0EF8CE00BDE782 /* MiscData.cpp */, + 29EAD7471F0EF8CE00BDE782 /* MiscData.h */, 29A8DD6F1EF0475D00AD2478 /* NoteAttachmentData.h */, 29A8DD701EF0475D00AD2478 /* NoteData.cpp */, 29A8DD711EF0475D00AD2478 /* NoteData.h */, @@ -6286,6 +6300,7 @@ buildActionMask = 2147483647; files = ( 29A8006A1EF0876500AD2478 /* SoundID.h in Headers */, + 29EAD74E1F0EF8CE00BDE782 /* MiscData.h in Headers */, 297594551F044C7600DE2F30 /* ChordData.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; @@ -6295,6 +6310,7 @@ buildActionMask = 2147483647; files = ( 29A800691EF0876500AD2478 /* SoundID.h in Headers */, + 29EAD74D1F0EF8CE00BDE782 /* MiscData.h in Headers */, 297594541F044C7600DE2F30 /* ChordData.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; @@ -6305,6 +6321,7 @@ files = ( 297594581F044C7600DE2F30 /* ChordData.h in Headers */, 29A8FDC61EF0497500AD2478 /* MxmacOS.h in Headers */, + 29EAD7511F0EF8CE00BDE782 /* MiscData.h in Headers */, 29A8006D1EF0876500AD2478 /* SoundID.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; @@ -6315,6 +6332,7 @@ files = ( 297594571F044C7600DE2F30 /* ChordData.h in Headers */, 29B962851E79FF410072071D /* MxiOS.h in Headers */, + 29EAD7501F0EF8CE00BDE782 /* MiscData.h in Headers */, 29A8006C1EF0876500AD2478 /* SoundID.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; @@ -6324,6 +6342,7 @@ buildActionMask = 2147483647; files = ( 29A8006B1EF0876500AD2478 /* SoundID.h in Headers */, + 29EAD74F1F0EF8CE00BDE782 /* MiscData.h in Headers */, 297594561F044C7600DE2F30 /* ChordData.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; @@ -6822,6 +6841,7 @@ 29A8F3DC1EF0476900AD2478 /* PerMinuteOrBeatUnitChoice.cpp in Sources */, 29A8E69E1EF0476300AD2478 /* CancelAttributes.cpp in Sources */, 29A8F9271EF0476C00AD2478 /* ToeAttributes.cpp in Sources */, + 29EAD7491F0EF8CE00BDE782 /* MiscData.cpp in Sources */, 29A8ED881EF0476600AD2478 /* InvertedMordent.cpp in Sources */, 29A8E86A1EF0476400AD2478 /* DisplayOctave.cpp in Sources */, 29A8E91E1EF0476400AD2478 /* EditorialVoiceDirectionGroup.cpp in Sources */, @@ -7493,6 +7513,7 @@ 29A8F3DB1EF0476900AD2478 /* PerMinuteOrBeatUnitChoice.cpp in Sources */, 29A8E69D1EF0476300AD2478 /* CancelAttributes.cpp in Sources */, 29A8F9261EF0476C00AD2478 /* ToeAttributes.cpp in Sources */, + 29EAD7481F0EF8CE00BDE782 /* MiscData.cpp in Sources */, 29A8ED871EF0476600AD2478 /* InvertedMordent.cpp in Sources */, 29A8E8691EF0476400AD2478 /* DisplayOctave.cpp in Sources */, 29A8E91D1EF0476400AD2478 /* EditorialVoiceDirectionGroup.cpp in Sources */, @@ -8164,6 +8185,7 @@ 29A8FF121EF0499200AD2478 /* Millimeters.cpp in Sources */, 29A8FF131EF0499200AD2478 /* Miscellaneous.cpp in Sources */, 29A8FF141EF0499200AD2478 /* MiscellaneousField.cpp in Sources */, + 29EAD74C1F0EF8CE00BDE782 /* MiscData.cpp in Sources */, 29A8FF151EF0499200AD2478 /* MiscellaneousFieldAttributes.cpp in Sources */, 29A8FF161EF0499200AD2478 /* Mode.cpp in Sources */, 29A8FF171EF0499200AD2478 /* Mordent.cpp in Sources */, @@ -8835,6 +8857,7 @@ 29A8F3DE1EF0476900AD2478 /* PerMinuteOrBeatUnitChoice.cpp in Sources */, 29A8E6A01EF0476300AD2478 /* CancelAttributes.cpp in Sources */, 29A8F9291EF0476C00AD2478 /* ToeAttributes.cpp in Sources */, + 29EAD74B1F0EF8CE00BDE782 /* MiscData.cpp in Sources */, 29A8ED8A1EF0476600AD2478 /* InvertedMordent.cpp in Sources */, 29A8E86C1EF0476400AD2478 /* DisplayOctave.cpp in Sources */, 29A8E9201EF0476400AD2478 /* EditorialVoiceDirectionGroup.cpp in Sources */, @@ -9506,6 +9529,7 @@ 29A8F3DD1EF0476900AD2478 /* PerMinuteOrBeatUnitChoice.cpp in Sources */, 29A8E69F1EF0476300AD2478 /* CancelAttributes.cpp in Sources */, 29A8F9281EF0476C00AD2478 /* ToeAttributes.cpp in Sources */, + 29EAD74A1F0EF8CE00BDE782 /* MiscData.cpp in Sources */, 29A8ED891EF0476600AD2478 /* InvertedMordent.cpp in Sources */, 29A8E86B1EF0476400AD2478 /* DisplayOctave.cpp in Sources */, 29A8E91F1EF0476400AD2478 /* EditorialVoiceDirectionGroup.cpp in Sources */, From a1cf29150529d82e6041aab557108057a4bf3096 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Thu, 6 Jul 2017 16:32:22 -0700 Subject: [PATCH 067/108] mx-version-0.2.0.24 --- Sourcecode/mx/impl/MxVersionDefines.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sourcecode/mx/impl/MxVersionDefines.h b/Sourcecode/mx/impl/MxVersionDefines.h index 8b1e31b42..64081651f 100644 --- a/Sourcecode/mx/impl/MxVersionDefines.h +++ b/Sourcecode/mx/impl/MxVersionDefines.h @@ -1,4 +1,4 @@ #define MX_VERSION_MAJOR 0 #define MX_VERSION_MINOR 2 #define MX_VERSION_PATCH 0 -#define MX_VERSION_BUILD 23 +#define MX_VERSION_BUILD 24 From 214e37e4e93517441357786962f878c746caa90e Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Sun, 9 Jul 2017 22:42:01 -0700 Subject: [PATCH 068/108] mxapi not much --- Sourcecode/mx/api/ChordData.h | 37 +++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/Sourcecode/mx/api/ChordData.h b/Sourcecode/mx/api/ChordData.h index 308aced77..d4a21593e 100644 --- a/Sourcecode/mx/api/ChordData.h +++ b/Sourcecode/mx/api/ChordData.h @@ -89,6 +89,43 @@ namespace mx ExtensionAlter extensionAlter; ExtensionNumber extensionNumber; Bool printObject; + + inline int getAlterValue() const + { + switch( extensionAlter ) + { + case ExtensionAlter::none: return 0; + case ExtensionAlter::flat: return -1; + case ExtensionAlter::sharp: return 1; + case ExtensionAlter::doubleFlat: return -2; + case ExtensionAlter::doubleSharp: return 2; + } + return 0; + } + + inline void setAlterValue( int inAlterValue ) + { + if( inAlterValue <= -2 ) + { + extensionAlter = ExtensionAlter::doubleFlat; + } + else if ( inAlterValue == -1 ) + { + extensionAlter = ExtensionAlter::flat; + } + else if ( inAlterValue == 0 ) + { + extensionAlter = ExtensionAlter::none; + } + else if ( inAlterValue == 1 ) + { + extensionAlter = ExtensionAlter::sharp; + } + else if ( inAlterValue >= 2 ) + { + extensionAlter = ExtensionAlter::doubleSharp; + } + } }; MXAPI_EQUALS_BEGIN( Extension ) From 87deb2266d625f4b4de35960c9868bfe7f1b2e48 Mon Sep 17 00:00:00 2001 From: CaringLabs Date: Mon, 17 Jul 2017 15:45:47 -0700 Subject: [PATCH 069/108] mxapi Barlines (#12) --- Sourcecode/mx/api/BarlineData.h | 6 +- Sourcecode/mx/impl/Converter.cpp | 8 +- .../xcshareddata/xcschemes/Mx.xcscheme | 80 ------------------- .../xcshareddata/xcschemes/dylib-iOS.xcscheme | 80 ------------------- .../xcschemes/dylib-macOS.xcscheme | 80 ------------------- 5 files changed, 9 insertions(+), 245 deletions(-) delete mode 100644 Xcode/Mx.xcodeproj/xcshareddata/xcschemes/Mx.xcscheme delete mode 100644 Xcode/Mx.xcodeproj/xcshareddata/xcschemes/dylib-iOS.xcscheme delete mode 100644 Xcode/Mx.xcodeproj/xcshareddata/xcschemes/dylib-macOS.xcscheme diff --git a/Sourcecode/mx/api/BarlineData.h b/Sourcecode/mx/api/BarlineData.h index 749cfc5df..f8a2967fd 100644 --- a/Sourcecode/mx/api/BarlineData.h +++ b/Sourcecode/mx/api/BarlineData.h @@ -20,7 +20,11 @@ namespace mx normal, lightLight, lightHeavy, - heavyLight + heavyLight, + dotted, + dashed, + heavy, + heavyHeavy }; class BarlineData diff --git a/Sourcecode/mx/impl/Converter.cpp b/Sourcecode/mx/impl/Converter.cpp index ccb76015f..5fc41deb1 100644 --- a/Sourcecode/mx/impl/Converter.cpp +++ b/Sourcecode/mx/impl/Converter.cpp @@ -331,13 +331,13 @@ namespace mx const std::map Converter::barlineMap = { std::pair{ core::BarStyleEnum::regular, api::BarlineType::normal }, - std::pair{ core::BarStyleEnum::dotted, api::BarlineType::unsupported }, - std::pair{ core::BarStyleEnum::dashed, api::BarlineType::unsupported }, - std::pair{ core::BarStyleEnum::heavy, api::BarlineType::unsupported }, + std::pair{ core::BarStyleEnum::dotted, api::BarlineType::dotted }, + std::pair{ core::BarStyleEnum::dashed, api::BarlineType::dashed }, + std::pair{ core::BarStyleEnum::heavy, api::BarlineType::heavy }, std::pair{ core::BarStyleEnum::lightLight, api::BarlineType::lightLight }, std::pair{ core::BarStyleEnum::lightHeavy, api::BarlineType::lightHeavy }, std::pair{ core::BarStyleEnum::heavyLight, api::BarlineType::heavyLight }, - std::pair{ core::BarStyleEnum::heavyHeavy, api::BarlineType::unsupported }, + std::pair{ core::BarStyleEnum::heavyHeavy, api::BarlineType::heavyHeavy }, std::pair{ core::BarStyleEnum::tick, api::BarlineType::unsupported }, std::pair{ core::BarStyleEnum::short_, api::BarlineType::unsupported }, std::pair{ core::BarStyleEnum::none, api::BarlineType::none }, diff --git a/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/Mx.xcscheme b/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/Mx.xcscheme deleted file mode 100644 index cbb672493..000000000 --- a/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/Mx.xcscheme +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/dylib-iOS.xcscheme b/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/dylib-iOS.xcscheme deleted file mode 100644 index f2791fe43..000000000 --- a/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/dylib-iOS.xcscheme +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/dylib-macOS.xcscheme b/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/dylib-macOS.xcscheme deleted file mode 100644 index 34bda479e..000000000 --- a/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/dylib-macOS.xcscheme +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From e889d322784563432eeea8a3bc90be566dc5b112 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Mon, 17 Jul 2017 16:09:29 -0700 Subject: [PATCH 070/108] mxapi fix broken test --- Resources/mjbsuite/chords_simple.xml | 5 -- .../mjbsuite/processing_instructions.xml | 64 +++++++++++++++++++ Sourcecode/cpul/cpulTest.cpp | 8 ++- .../mxtest/api/ChordDataSaveAndLoadTest.cpp | 2 +- 4 files changed, 71 insertions(+), 8 deletions(-) create mode 100644 Resources/mjbsuite/processing_instructions.xml diff --git a/Resources/mjbsuite/chords_simple.xml b/Resources/mjbsuite/chords_simple.xml index da152990a..c87f29671 100644 --- a/Resources/mjbsuite/chords_simple.xml +++ b/Resources/mjbsuite/chords_simple.xml @@ -22,10 +22,7 @@ - - D - minor @@ -45,13 +42,11 @@ 1 - 101 - B diff --git a/Resources/mjbsuite/processing_instructions.xml b/Resources/mjbsuite/processing_instructions.xml new file mode 100644 index 000000000..da152990a --- /dev/null +++ b/Resources/mjbsuite/processing_instructions.xml @@ -0,0 +1,64 @@ + + + + + + P1 + + + + + + 101 + + + + C + + major-seventh + 1 + + + + + + + + D + + + minor + + C + 1 + + 1 + + + + + + E + -1 + + dominant + 1 + + + + + + 101 + + + + + B + + diminished-seventh + 8 + 1 + + + + diff --git a/Sourcecode/cpul/cpulTest.cpp b/Sourcecode/cpul/cpulTest.cpp index 01b5a6e9b..ee3ba3f34 100755 --- a/Sourcecode/cpul/cpulTest.cpp +++ b/Sourcecode/cpul/cpulTest.cpp @@ -34,7 +34,11 @@ const std::string& Test::getName() const void Test::run (TestResult& result) { - runTest (result); - result.testWasRun(); +// if ( getName() == "ApiRoundTripTest" && +// getFileName().find( "ApiChordSimpleTest.cpp" ) != std::string::npos ) +// { + runTest (result); + result.testWasRun(); +// } } diff --git a/Sourcecode/mxtest/api/ChordDataSaveAndLoadTest.cpp b/Sourcecode/mxtest/api/ChordDataSaveAndLoadTest.cpp index d21c12e80..3d127531c 100644 --- a/Sourcecode/mxtest/api/ChordDataSaveAndLoadTest.cpp +++ b/Sourcecode/mxtest/api/ChordDataSaveAndLoadTest.cpp @@ -350,7 +350,7 @@ TEST( SaveProcessingInstructions, ChordDataSaveTest ) chord->miscData.emplace_back( MiscData{"test", "123"} ); const auto xml = toXml( scoreData ); - std::cout << xml << std::endl; +// std::cout << xml << std::endl; auto outScore = fromXml( xml ); part = nullptr; From 8f9d1850241e99efc969d94ce577beedeb35938a Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Mon, 17 Jul 2017 16:13:00 -0700 Subject: [PATCH 071/108] mx-version-0.2.0.25 --- Sourcecode/mx/impl/MxVersionDefines.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sourcecode/mx/impl/MxVersionDefines.h b/Sourcecode/mx/impl/MxVersionDefines.h index 64081651f..e736cf43e 100644 --- a/Sourcecode/mx/impl/MxVersionDefines.h +++ b/Sourcecode/mx/impl/MxVersionDefines.h @@ -1,4 +1,4 @@ #define MX_VERSION_MAJOR 0 #define MX_VERSION_MINOR 2 #define MX_VERSION_PATCH 0 -#define MX_VERSION_BUILD 24 +#define MX_VERSION_BUILD 25 From d91a3b8b87dfb964714250a3cfc9d7fba9494731 Mon Sep 17 00:00:00 2001 From: CaringLabs Date: Thu, 20 Jul 2017 10:09:21 -0700 Subject: [PATCH 072/108] Feature/mxapi (#14) mxapi barlines and endings --- Sourcecode/mx/api/BarlineData.h | 16 ++++++++- .../mx/core/elements/MeasureAttributes.h | 2 +- Sourcecode/mx/impl/Converter.cpp | 16 ++++++++- Sourcecode/mx/impl/Converter.h | 5 ++- Sourcecode/mx/impl/MeasureReader.cpp | 33 +++++++++++++++++++ Sourcecode/mx/impl/MeasureWriter.cpp | 14 ++++++++ 6 files changed, 82 insertions(+), 4 deletions(-) diff --git a/Sourcecode/mx/api/BarlineData.h b/Sourcecode/mx/api/BarlineData.h index f8a2967fd..2d4833afb 100644 --- a/Sourcecode/mx/api/BarlineData.h +++ b/Sourcecode/mx/api/BarlineData.h @@ -26,26 +26,40 @@ namespace mx heavy, heavyHeavy }; + + enum class EndingType + { + none, + start, + stop, + discontinue + }; + class BarlineData { public: int tickTimePosition; BarlineType barlineType; + EndingType endingType; + int endingNumber; HorizontalAlignment location; BarlineData() : tickTimePosition{ 0 } , barlineType{ BarlineType::normal } + , endingType{ EndingType::none } + , endingNumber { 0 } , location{ HorizontalAlignment::right } { - } }; MXAPI_EQUALS_BEGIN( BarlineData ) MXAPI_EQUALS_MEMBER( tickTimePosition ) MXAPI_EQUALS_MEMBER( barlineType ) + MXAPI_EQUALS_MEMBER( endingType ) + MXAPI_EQUALS_MEMBER( endingNumber ) MXAPI_EQUALS_MEMBER( location ) MXAPI_EQUALS_END; MXAPI_NOT_EQUALS_AND_VECTORS( BarlineData ); diff --git a/Sourcecode/mx/core/elements/MeasureAttributes.h b/Sourcecode/mx/core/elements/MeasureAttributes.h index 9ec808f79..7cbe66794 100755 --- a/Sourcecode/mx/core/elements/MeasureAttributes.h +++ b/Sourcecode/mx/core/elements/MeasureAttributes.h @@ -31,7 +31,7 @@ namespace mx YesNo implicit; YesNo nonControlling; TenthsValue width; - const bool hasNumber; + const bool hasNumber; bool hasImplicit; bool hasNonControlling; bool hasWidth; diff --git a/Sourcecode/mx/impl/Converter.cpp b/Sourcecode/mx/impl/Converter.cpp index 5fc41deb1..47b5caf87 100644 --- a/Sourcecode/mx/impl/Converter.cpp +++ b/Sourcecode/mx/impl/Converter.cpp @@ -342,7 +342,7 @@ namespace mx std::pair{ core::BarStyleEnum::short_, api::BarlineType::unsupported }, std::pair{ core::BarStyleEnum::none, api::BarlineType::none }, }; - + const std::map Converter::lineStopMap = { @@ -372,6 +372,14 @@ namespace mx }; + const std::map Converter::endingMap = + { + std::pair{ core::StartStopDiscontinue::start, api::EndingType::start }, + std::pair{ core::StartStopDiscontinue::stop, api::EndingType::stop }, + std::pair{ core::StartStopDiscontinue::discontinue, api::EndingType::discontinue } + }; + + const std::map Converter::fermataMap = { std::pair{ core::FermataShape::normal, api::MarkType::fermataNormal }, @@ -1655,6 +1663,12 @@ namespace mx { return findCoreItem( barlineMap, core::BarStyleEnum::regular, value ); } + + + core::StartStopDiscontinue Converter::convert( api::EndingType value ) const + { + return findCoreItem( endingMap, core::StartStopDiscontinue::start, value ); + } api::BarlineType Converter::convert( core::BarStyleEnum value ) const diff --git a/Sourcecode/mx/impl/Converter.h b/Sourcecode/mx/impl/Converter.h index 42aacd047..299b6fb0d 100644 --- a/Sourcecode/mx/impl/Converter.h +++ b/Sourcecode/mx/impl/Converter.h @@ -91,7 +91,9 @@ namespace mx core::BarStyleEnum convert( api::BarlineType value ) const; api::BarlineType convert( core::BarStyleEnum value ) const; - + + core::StartStopDiscontinue convert( api::EndingType value ) const; + core::RightLeftMiddle convertBarlinePlacement( api::HorizontalAlignment value ) const; api::HorizontalAlignment convertBarlinePlacement( core::RightLeftMiddle value ) const; @@ -133,6 +135,7 @@ namespace mx const static std::map wedgeMap; const static std::map barlineMap; const static std::map barlinePlacementMap; + const static std::map endingMap; const static std::map lineStopMap; const static std::map bracketMap; const static std::map fermataMap; diff --git a/Sourcecode/mx/impl/MeasureReader.cpp b/Sourcecode/mx/impl/MeasureReader.cpp index ba46b528a..003c46748 100644 --- a/Sourcecode/mx/impl/MeasureReader.cpp +++ b/Sourcecode/mx/impl/MeasureReader.cpp @@ -25,6 +25,7 @@ #include "mx/core/elements/Divisions.h" #include "mx/core/elements/Duration.h" #include "mx/core/elements/EditorialVoiceGroup.h" +#include "mx/core/elements/Ending.h" #include "mx/core/elements/Fifths.h" #include "mx/core/elements/Fifths.h" #include "mx/core/elements/FiguredBass.h" @@ -526,6 +527,8 @@ namespace mx const auto& attr = *inMxBarline.getAttributes(); auto loc = api::HorizontalAlignment::unspecified; auto style = api::BarlineType::unspecified; + auto endingType = api::EndingType::none; + auto endingNumber = 0; if( attr.hasLocation ) { @@ -547,8 +550,38 @@ namespace mx barline.tickTimePosition = myCurrentCursor.tickTimePosition; } + if( inMxBarline.getHasEnding() ) + { + const auto& ending = inMxBarline.getEnding(); + const auto& endingAttributes = ending->getAttributes(); + + switch (endingAttributes->type) + { + case core::StartStopDiscontinue::start: + endingType = api::EndingType::start; + break; + + case core::StartStopDiscontinue::stop: + endingType = api::EndingType::stop; + break; + + case core::StartStopDiscontinue::discontinue: + endingType = api::EndingType::discontinue; + break; + }; + + const auto& number = endingAttributes->number; + const auto& numValues = number.getValues(); + if (!numValues.empty()) { + const auto iter = numValues.begin(); + endingNumber = *iter; + } + } + barline.barlineType = style; barline.location = loc; + barline.endingType = endingType; + barline.endingNumber = endingNumber; myOutMeasureData.barlines.emplace_back( std::move( barline ) ); } diff --git a/Sourcecode/mx/impl/MeasureWriter.cpp b/Sourcecode/mx/impl/MeasureWriter.cpp index c5f51f40b..cfa2f19d8 100644 --- a/Sourcecode/mx/impl/MeasureWriter.cpp +++ b/Sourcecode/mx/impl/MeasureWriter.cpp @@ -601,6 +601,7 @@ namespace mx } } + void MeasureWriter::writeDirection( const api::DirectionData& inDirectionData ) { if( myPropertiesWriter ) @@ -632,16 +633,29 @@ namespace mx barlineElement->setHasBarStyle( true ); barlineElement->getBarStyle()->setValue( myConverter.convert( myBarlinesIter->barlineType ) ); } + if( myBarlinesIter->endingType != api::EndingType::none ) + { + barlineElement->setHasEnding( true ); + auto ending = barlineElement->getEnding(); + ending->getAttributes()->type = myConverter.convert( myBarlinesIter->endingType ); + + if( myBarlinesIter->endingNumber > 0 ) + { + ending->getAttributes()->number = std::to_string( myBarlinesIter->endingNumber ); + } + } if( myBarlinesIter->location != api::HorizontalAlignment::unspecified ) { barlineElement->getAttributes()->hasLocation = true; barlineElement->getAttributes()->location = myConverter.convertBarlinePlacement( myBarlinesIter->location ); } + myOutMeasure->getMusicDataGroup()->addMusicDataChoice( mdc ); myHistory.log( "writeBarline" ); } } + void MeasureWriter::History::advanceTickTimePosition( int amount, std::string reason ) { HistoryRecord record; From c8f48e8a09fdfb51b470527a5be212186ad995f2 Mon Sep 17 00:00:00 2001 From: CaringLabs Date: Thu, 20 Jul 2017 10:14:07 -0700 Subject: [PATCH 073/108] Feature/repeats (#15) mxapi repeats --- Sourcecode/mx/api/BarlineData.h | 3 +++ Sourcecode/mx/impl/MeasureReader.cpp | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/Sourcecode/mx/api/BarlineData.h b/Sourcecode/mx/api/BarlineData.h index 2d4833afb..e31d0c800 100644 --- a/Sourcecode/mx/api/BarlineData.h +++ b/Sourcecode/mx/api/BarlineData.h @@ -43,6 +43,7 @@ namespace mx BarlineType barlineType; EndingType endingType; int endingNumber; + bool repeat; HorizontalAlignment location; BarlineData() @@ -50,6 +51,7 @@ namespace mx , barlineType{ BarlineType::normal } , endingType{ EndingType::none } , endingNumber { 0 } + , repeat { false } , location{ HorizontalAlignment::right } { } @@ -60,6 +62,7 @@ namespace mx MXAPI_EQUALS_MEMBER( barlineType ) MXAPI_EQUALS_MEMBER( endingType ) MXAPI_EQUALS_MEMBER( endingNumber ) + MXAPI_EQUALS_MEMBER( repeat ) MXAPI_EQUALS_MEMBER( location ) MXAPI_EQUALS_END; MXAPI_NOT_EQUALS_AND_VECTORS( BarlineData ); diff --git a/Sourcecode/mx/impl/MeasureReader.cpp b/Sourcecode/mx/impl/MeasureReader.cpp index 003c46748..88863c19b 100644 --- a/Sourcecode/mx/impl/MeasureReader.cpp +++ b/Sourcecode/mx/impl/MeasureReader.cpp @@ -529,6 +529,7 @@ namespace mx auto style = api::BarlineType::unspecified; auto endingType = api::EndingType::none; auto endingNumber = 0; + auto repeat = false; if( attr.hasLocation ) { @@ -578,10 +579,16 @@ namespace mx } } + if( inMxBarline.getHasRepeat() ) + { + repeat = true; + } + barline.barlineType = style; barline.location = loc; barline.endingType = endingType; barline.endingNumber = endingNumber; + barline.repeat = repeat; myOutMeasureData.barlines.emplace_back( std::move( barline ) ); } From 8e015b9a402c35a7e38619bdd64cdeb26a785777 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Thu, 20 Jul 2017 10:26:43 -0700 Subject: [PATCH 074/108] mx-version-0.2.0.26 --- Sourcecode/mx/impl/MxVersionDefines.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sourcecode/mx/impl/MxVersionDefines.h b/Sourcecode/mx/impl/MxVersionDefines.h index e736cf43e..9c20574c1 100644 --- a/Sourcecode/mx/impl/MxVersionDefines.h +++ b/Sourcecode/mx/impl/MxVersionDefines.h @@ -1,4 +1,4 @@ #define MX_VERSION_MAJOR 0 #define MX_VERSION_MINOR 2 #define MX_VERSION_PATCH 0 -#define MX_VERSION_BUILD 25 +#define MX_VERSION_BUILD 26 From f7747b9d64e884671fc1df41be8c6cae3f842bf9 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Mon, 24 Jul 2017 17:15:43 -0700 Subject: [PATCH 075/108] mxapi add chord positioning --- Sourcecode/mx/api/ChordData.cpp | 2 + Sourcecode/mx/api/ChordData.h | 3 ++ Sourcecode/mx/impl/DirectionReader.cpp | 3 ++ Sourcecode/mx/impl/DirectionWriter.cpp | 10 ++++- .../mxtest/api/ChordDataSaveAndLoadTest.cpp | 45 +++++++++++++++++++ 5 files changed, 62 insertions(+), 1 deletion(-) diff --git a/Sourcecode/mx/api/ChordData.cpp b/Sourcecode/mx/api/ChordData.cpp index 6c235af4c..ad8531f96 100644 --- a/Sourcecode/mx/api/ChordData.cpp +++ b/Sourcecode/mx/api/ChordData.cpp @@ -32,6 +32,8 @@ namespace mx , bass{ Step::unspecified } , bassAlter{ 0 } , extensions{} + , miscData{} + , positionData{} { } diff --git a/Sourcecode/mx/api/ChordData.h b/Sourcecode/mx/api/ChordData.h index d4a21593e..c38208098 100644 --- a/Sourcecode/mx/api/ChordData.h +++ b/Sourcecode/mx/api/ChordData.h @@ -6,6 +6,7 @@ #include "mx/api/ApiCommon.h" #include "mx/api/PitchData.h" +#include "mx/api/PositionData.h" #include "mx/api/MiscData.h" namespace mx @@ -151,6 +152,7 @@ namespace mx int bassAlter; std::vector extensions; std::vector miscData; + PositionData positionData; }; MXAPI_EQUALS_BEGIN( ChordData ) @@ -163,6 +165,7 @@ namespace mx MXAPI_EQUALS_MEMBER( bassAlter ) MXAPI_EQUALS_MEMBER( extensions ) MXAPI_EQUALS_MEMBER( miscData ) + MXAPI_EQUALS_MEMBER( positionData ) MXAPI_EQUALS_END; MXAPI_NOT_EQUALS_AND_VECTORS( ChordData ); diff --git a/Sourcecode/mx/impl/DirectionReader.cpp b/Sourcecode/mx/impl/DirectionReader.cpp index afba11928..475496a1d 100644 --- a/Sourcecode/mx/impl/DirectionReader.cpp +++ b/Sourcecode/mx/impl/DirectionReader.cpp @@ -762,6 +762,9 @@ namespace mx chord.miscData.push_back( misc ); } + const auto& attr = *inHarmony.getAttributes(); + chord.positionData = getPositionData( attr ); + myOutDirectionData.chords.push_back( chord ); } } diff --git a/Sourcecode/mx/impl/DirectionWriter.cpp b/Sourcecode/mx/impl/DirectionWriter.cpp index 5ca0be951..99d8c8e2c 100644 --- a/Sourcecode/mx/impl/DirectionWriter.cpp +++ b/Sourcecode/mx/impl/DirectionWriter.cpp @@ -394,10 +394,17 @@ namespace mx auto chordIter = chords.cbegin(); const auto chordEnd = chords.cend(); + bool isFirstChord = true; for( ; chordIter != chordEnd; ++chordIter ) { - core::HarmonyChordGroupPtr grp = nullptr; + if ( isFirstChord ) + { + isFirstChord = false; + auto& attributes = *harmony->getAttributes(); + setAttributesFromPositionData( chordIter->positionData, attributes ); + } + core::HarmonyChordGroupPtr grp = nullptr; if( chordIter == chords.cbegin() ) { grp = harmony->getHarmonyChordGroupSet().front(); @@ -409,6 +416,7 @@ namespace mx } grp->setChoice( core::HarmonyChordGroup::Choice::root ); + auto step = chordIter->root == api::Step::unspecified ? api::Step::c : chordIter->root; grp->getRoot()->getRootStep()->setValue( myConverter.convert( step ) ); if( chordIter->rootAlter != 0 ) diff --git a/Sourcecode/mxtest/api/ChordDataSaveAndLoadTest.cpp b/Sourcecode/mxtest/api/ChordDataSaveAndLoadTest.cpp index 3d127531c..e38458765 100644 --- a/Sourcecode/mxtest/api/ChordDataSaveAndLoadTest.cpp +++ b/Sourcecode/mxtest/api/ChordDataSaveAndLoadTest.cpp @@ -370,4 +370,49 @@ TEST( SaveProcessingInstructions, ChordDataSaveTest ) CHECK( chord->root == Step::b ); } + + + + +TEST( SavePositionData, ChordDataSaveTest ) +{ + ScoreData scoreData{}; + scoreData.parts.emplace_back(); + auto part = &scoreData.parts.back(); + part->measures.emplace_back(); + auto measure = &part->measures.back(); + measure->staves.emplace_back(); + auto staff = &measure->staves.back(); + staff->directions.emplace_back(); + auto direction = &staff->directions.back(); + direction->chords.emplace_back(); + auto chord = &direction->chords.back(); + chord->root = Step::b; + chord->positionData.isDefaultXSpecified = true; + chord->positionData.defaultX = 123.0; + chord->positionData.isDefaultYSpecified = true; + chord->positionData.defaultY = 456.0; + + const auto xml = toXml( scoreData ); +// std::cout << xml << std::endl; + auto outScore = fromXml( xml ); + + part = nullptr; + measure = nullptr; + staff = nullptr; + chord = nullptr; + + part = &outScore.parts.back(); + measure = &part->measures.back(); + staff = &measure->staves.back(); + direction = &staff->directions.back(); + chord = &direction->chords.back(); + + CHECK( chord->positionData.isDefaultXSpecified ); + CHECK_DOUBLES_EQUAL( 123.0, chord->positionData.defaultX, 0.001 ); + + CHECK( chord->positionData.isDefaultYSpecified ); + CHECK_DOUBLES_EQUAL( 456.0, chord->positionData.defaultY, 0.001 ); +} + #endif From 3dbb2640b3e89fc41b5a132305ad84e4a0e487ea Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Mon, 24 Jul 2017 17:18:51 -0700 Subject: [PATCH 076/108] mx-version-0.2.0.27 --- Sourcecode/mx/impl/MxVersionDefines.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sourcecode/mx/impl/MxVersionDefines.h b/Sourcecode/mx/impl/MxVersionDefines.h index 9c20574c1..7f0511737 100644 --- a/Sourcecode/mx/impl/MxVersionDefines.h +++ b/Sourcecode/mx/impl/MxVersionDefines.h @@ -1,4 +1,4 @@ #define MX_VERSION_MAJOR 0 #define MX_VERSION_MINOR 2 #define MX_VERSION_PATCH 0 -#define MX_VERSION_BUILD 26 +#define MX_VERSION_BUILD 27 From 0838559021d1ccf4bcac36d6fbf20de5ffd60ab6 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Thu, 27 Jul 2017 14:12:28 -0700 Subject: [PATCH 077/108] mxapi read and write note position data --- Sourcecode/mx/impl/NoteFunctions.cpp | 3 ++ Sourcecode/mx/impl/NoteWriter.cpp | 5 ++- .../mxtest/api/ChordDataSaveAndLoadTest.cpp | 3 -- Sourcecode/mxtest/api/NoteDataTest.cpp | 41 +++++++++++++++++++ 4 files changed, 48 insertions(+), 4 deletions(-) diff --git a/Sourcecode/mx/impl/NoteFunctions.cpp b/Sourcecode/mx/impl/NoteFunctions.cpp index da23944c9..f10f34a12 100755 --- a/Sourcecode/mx/impl/NoteFunctions.cpp +++ b/Sourcecode/mx/impl/NoteFunctions.cpp @@ -3,6 +3,7 @@ // Distributed under the MIT License #include "mx/impl/NoteFunctions.h" +#include "mx/impl/PositionFunctions.h" #include "mx/api/MarkData.h" #include "mx/api/SpannerData.h" #include "mx/core/elements/Accent.h" @@ -173,6 +174,8 @@ namespace mx myOutNoteData.isTieStop = reader.getIsTieStop(); parseMiscData(); + const auto& incomingNoteAttributes = *(myNote.getAttributes()); + myOutNoteData.positionData = impl::getPositionData( incomingNoteAttributes ); return myOutNoteData; } diff --git a/Sourcecode/mx/impl/NoteWriter.cpp b/Sourcecode/mx/impl/NoteWriter.cpp index c34a7c43e..7286bed18 100644 --- a/Sourcecode/mx/impl/NoteWriter.cpp +++ b/Sourcecode/mx/impl/NoteWriter.cpp @@ -33,6 +33,7 @@ #include "mx/core/elements/NoteChoice.h" #include "mx/core/elements/Octave.h" #include "mx/core/elements/Pitch.h" +#include "mx/impl/PositionFunctions.h" #include "mx/core/elements/Rest.h" #include "mx/core/elements/Staff.h" #include "mx/core/elements/Stem.h" @@ -79,7 +80,9 @@ namespace mx setStemDirection(); setMiscData(); NotationsWriter notationsWriter{ myNoteData, myCursor, myScoreWriter }; - + auto& noteAttr = *myOutNote->getAttributes(); + impl::setAttributesFromPositionData(myNoteData.positionData, noteAttr); + auto notations = notationsWriter.getNotations(); if( notations->getNotationsChoiceSet().size() > 0 ) { diff --git a/Sourcecode/mxtest/api/ChordDataSaveAndLoadTest.cpp b/Sourcecode/mxtest/api/ChordDataSaveAndLoadTest.cpp index e38458765..1edff6fd3 100644 --- a/Sourcecode/mxtest/api/ChordDataSaveAndLoadTest.cpp +++ b/Sourcecode/mxtest/api/ChordDataSaveAndLoadTest.cpp @@ -371,9 +371,6 @@ TEST( SaveProcessingInstructions, ChordDataSaveTest ) } - - - TEST( SavePositionData, ChordDataSaveTest ) { ScoreData scoreData{}; diff --git a/Sourcecode/mxtest/api/NoteDataTest.cpp b/Sourcecode/mxtest/api/NoteDataTest.cpp index e6eadf20e..464e10a65 100644 --- a/Sourcecode/mxtest/api/NoteDataTest.cpp +++ b/Sourcecode/mxtest/api/NoteDataTest.cpp @@ -876,4 +876,45 @@ TEST( directionOrderRoundTrip, NoteData ) } T_END; +TEST( notePositionRoundTrip, NoteData ) +{ + ScoreData score; + score.parts.emplace_back(); + score.ticksPerQuarter = 120; + auto& part = score.parts.back(); + part.uniqueId = "BISH"; + part.measures.emplace_back(); + auto& measure = part.measures.back(); + measure.staves.emplace_back(); + auto& staff = measure.staves.back(); + auto& voice = staff.voices[0]; + + NoteData note; + note.userRequestedVoiceNumber = 1; + note.durationData.durationName = DurationName::quarter; + note.durationData.durationTimeTicks = 120; + note.tickTimePosition = 0; + note.positionData.isDefaultXSpecified = true; + note.positionData.defaultX = 1.0; + note.positionData.isDefaultYSpecified = true; + note.positionData.defaultY = -2.0; + voice.notes.push_back( note ); + + + // round trip it through xml + auto& mgr = DocumentManager::getInstance(); + auto docId = mgr.createFromScore( score ); + auto docPtr = mgr.getDocument( docId ); + std::stringstream ss; + mgr.writeToStream(docId, ss); + mgr.destroyDocument(docId); + const std::string xml = ss.str(); + std::istringstream iss{ xml }; + docId = mgr.createFromStream( iss ); + auto oscore = mgr.getData(docId); + CHECK( score == oscore ) + +} +T_END; + #endif From 38cc0b679558bfb4405286004c8149403c96e995 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Thu, 27 Jul 2017 14:14:50 -0700 Subject: [PATCH 078/108] mx-version-0.2.0.28 --- Sourcecode/mx/impl/MxVersionDefines.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sourcecode/mx/impl/MxVersionDefines.h b/Sourcecode/mx/impl/MxVersionDefines.h index 7f0511737..a1d5e19ce 100644 --- a/Sourcecode/mx/impl/MxVersionDefines.h +++ b/Sourcecode/mx/impl/MxVersionDefines.h @@ -1,4 +1,4 @@ #define MX_VERSION_MAJOR 0 #define MX_VERSION_MINOR 2 #define MX_VERSION_PATCH 0 -#define MX_VERSION_BUILD 27 +#define MX_VERSION_BUILD 28 From 438fe32c0fdb2ac58e1d333f70eb1581a71058a8 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Fri, 28 Jul 2017 14:51:41 -0700 Subject: [PATCH 079/108] mxapi barline work --- Sourcecode/mx/api/BarlineData.h | 2 +- Sourcecode/mx/impl/MeasureWriter.cpp | 28 +++++ Sourcecode/mxtest/api/ApiLy43eScoreData.h | 1 + Sourcecode/mxtest/api/MeasureDataTest.cpp | 133 ++++++++++++++++++++++ Xcode/MxTest.xcodeproj/project.pbxproj | 4 + 5 files changed, 167 insertions(+), 1 deletion(-) create mode 100644 Sourcecode/mxtest/api/MeasureDataTest.cpp diff --git a/Sourcecode/mx/api/BarlineData.h b/Sourcecode/mx/api/BarlineData.h index e31d0c800..128a2466d 100644 --- a/Sourcecode/mx/api/BarlineData.h +++ b/Sourcecode/mx/api/BarlineData.h @@ -52,7 +52,7 @@ namespace mx , endingType{ EndingType::none } , endingNumber { 0 } , repeat { false } - , location{ HorizontalAlignment::right } + , location{ HorizontalAlignment::unspecified } { } }; diff --git a/Sourcecode/mx/impl/MeasureWriter.cpp b/Sourcecode/mx/impl/MeasureWriter.cpp index cfa2f19d8..a4d7267c5 100644 --- a/Sourcecode/mx/impl/MeasureWriter.cpp +++ b/Sourcecode/mx/impl/MeasureWriter.cpp @@ -628,11 +628,13 @@ namespace mx auto mdc = core::makeMusicDataChoice(); mdc->setChoice( core::MusicDataChoice::Choice::barline ); auto barlineElement = mdc->getBarline(); + if( myBarlinesIter->barlineType != api::BarlineType::unspecified && myBarlinesIter->barlineType != api::BarlineType::unsupported ) { barlineElement->setHasBarStyle( true ); barlineElement->getBarStyle()->setValue( myConverter.convert( myBarlinesIter->barlineType ) ); } + if( myBarlinesIter->endingType != api::EndingType::none ) { barlineElement->setHasEnding( true ); @@ -644,11 +646,37 @@ namespace mx ending->getAttributes()->number = std::to_string( myBarlinesIter->endingNumber ); } } + if( myBarlinesIter->location != api::HorizontalAlignment::unspecified ) { barlineElement->getAttributes()->hasLocation = true; barlineElement->getAttributes()->location = myConverter.convertBarlinePlacement( myBarlinesIter->location ); } + else if ( myBarlinesIter->location == api::HorizontalAlignment::left || myBarlinesIter->tickTimePosition == 0 ) + { + barlineElement->getAttributes()->hasLocation = true; + barlineElement->getAttributes()->location = myConverter.convertBarlinePlacement( mx::api::HorizontalAlignment::left ); + } + else + { + barlineElement->getAttributes()->hasLocation = true; + barlineElement->getAttributes()->location = myConverter.convertBarlinePlacement( mx::api::HorizontalAlignment::right ); + } + + if ( myBarlinesIter->repeat ) + { + const auto repeatElement = barlineElement->getRepeat(); + barlineElement->setHasRepeat(true); + + if ( myBarlinesIter->location == api::HorizontalAlignment::left || myBarlinesIter->tickTimePosition == 0 ) + { + repeatElement->getAttributes()->direction = mx::core::BackwardForward::forward; + } + else + { + repeatElement->getAttributes()->direction = mx::core::BackwardForward::backward; + } + } myOutMeasure->getMusicDataGroup()->addMusicDataChoice( mdc ); myHistory.log( "writeBarline" ); diff --git a/Sourcecode/mxtest/api/ApiLy43eScoreData.h b/Sourcecode/mxtest/api/ApiLy43eScoreData.h index 4750758f6..e835421b6 100644 --- a/Sourcecode/mxtest/api/ApiLy43eScoreData.h +++ b/Sourcecode/mxtest/api/ApiLy43eScoreData.h @@ -442,6 +442,7 @@ namespace mxtest auto barlineP = &measureP->barlines.back(); barlineP->tickTimePosition = std::numeric_limits::max(); barlineP->barlineType = BarlineType::lightHeavy; + barlineP->location = mx::api::HorizontalAlignment::right; return score; } diff --git a/Sourcecode/mxtest/api/MeasureDataTest.cpp b/Sourcecode/mxtest/api/MeasureDataTest.cpp new file mode 100644 index 000000000..375f21a2d --- /dev/null +++ b/Sourcecode/mxtest/api/MeasureDataTest.cpp @@ -0,0 +1,133 @@ +// MusicXML Class Library +// Copyright (c) by Matthew James Briggs +// Distributed under the MIT License + +#include "mxtest/control/CompileControl.h" +#ifdef MX_COMPILE_API_TESTS + +#include "cpul/cpulTestHarness.h" +#include "mxtest/api/RoundTrip.h" +#include "mx/api/DocumentManager.h" +#include "mx/core/Document.h" +#include "mx/core/elements/ScorePartwise.h" +#include "mx/core/elements/PartwisePart.h" +#include "mx/core/elements/PartwiseMeasure.h" +#include "mx/core/elements/MusicDataGroup.h" +#include "mx/core/elements/Note.h" +#include "mx/core/elements/NoteChoice.h" +#include "mx/core/elements/NormalNoteGroup.h" +#include "mx/core/elements/FullNoteGroup.h" +#include "mx/core/elements/FullNoteTypeChoice.h" +#include "mx/core/elements/Pitch.h" +#include "mx/core/elements/Notations.h" +#include "mx/core/elements/NotationsChoice.h" +#include "mx/core/elements/Tied.h" +#include "mx/core/Document.h" +#include "mx/core/elements/ScorePartwise.h" +#include "mx/core/elements/PartwisePart.h" +#include "mx/core/elements/PartwiseMeasure.h" +#include "mx/core/elements/MusicDataGroup.h" +#include "mx/core/elements/MusicDataChoice.h" +#include "mx/core/elements/Direction.h" +#include "mx/core/elements/DirectionType.h" +#include "mx/core/elements/Offset.h" +#include "mx/core/elements/Pedal.h" + +using namespace std; +using namespace mx::api; +using namespace mxtest; + +TEST( forwardRepeat, MeasureData ) +{ + const auto expectedBarlineType = mx::api::BarlineType::heavyLight; + const bool isRepeatExpected = true; + + ScoreData score; + score.parts.emplace_back(); + auto& part = score.parts.back(); + part.measures.emplace_back(); + auto& measure = part.measures.back(); + measure.staves.emplace_back(); + auto& staff = measure.staves.back(); + auto& voice = staff.voices[0]; + voice.notes.emplace_back(); + measure.barlines.emplace_back(); + auto& barlineData = measure.barlines.back(); + barlineData.barlineType = mx::api::BarlineType::heavyLight; + barlineData.repeat = true; + + // round trip it through xml + auto& mgr = DocumentManager::getInstance(); + auto docId = mgr.createFromScore( score ); + std::stringstream ss; + mgr.writeToStream(docId, ss); + mgr.destroyDocument(docId); + const std::string xml = ss.str(); +// std::cout << xml << std::endl; + std::istringstream iss{ xml }; + docId = mgr.createFromStream( iss ); + auto oscore = mgr.getData(docId); + + // get the data after the round trip + const auto& opart = oscore.parts.back(); + const auto& omeasure = opart.measures.back(); + const auto& obarlines = omeasure.barlines; + + CHECK_EQUAL( 1, obarlines.size() ); + + const auto& barline = obarlines.front(); + + CHECK( expectedBarlineType == barline.barlineType ); + CHECK( isRepeatExpected == barline.repeat ); + +} +T_END; + +TEST( backwardRepeat, MeasureData ) +{ + const auto expectedBarlineType = mx::api::BarlineType::lightHeavy; + const bool isRepeatExpected = true; + + ScoreData score; + score.parts.emplace_back(); + auto& part = score.parts.back(); + part.measures.emplace_back(); + auto& measure = part.measures.back(); + measure.staves.emplace_back(); + auto& staff = measure.staves.back(); + auto& voice = staff.voices[0]; + voice.notes.emplace_back(); + measure.barlines.emplace_back(); + auto& barlineData = measure.barlines.back(); + barlineData.barlineType = expectedBarlineType; + barlineData.tickTimePosition = 480; + barlineData.repeat = true; + + // round trip it through xml + auto& mgr = DocumentManager::getInstance(); + auto docId = mgr.createFromScore( score ); + std::stringstream ss; + mgr.writeToStream(docId, ss); + mgr.destroyDocument(docId); + const std::string xml = ss.str(); +// std::cout << xml << std::endl; + std::istringstream iss{ xml }; + docId = mgr.createFromStream( iss ); + auto oscore = mgr.getData(docId); + + // get the data after the round trip + const auto& opart = oscore.parts.back(); + const auto& omeasure = opart.measures.back(); + const auto& obarlines = omeasure.barlines; + + CHECK_EQUAL( 1, obarlines.size() ); + + const auto& barline = obarlines.front(); + + CHECK( expectedBarlineType == barline.barlineType ); + CHECK( isRepeatExpected == barline.repeat ); + +} +T_END; + +#endif diff --git a/Xcode/MxTest.xcodeproj/project.pbxproj b/Xcode/MxTest.xcodeproj/project.pbxproj index e2d9dcbce..4e19407f2 100755 --- a/Xcode/MxTest.xcodeproj/project.pbxproj +++ b/Xcode/MxTest.xcodeproj/project.pbxproj @@ -474,6 +474,7 @@ 29C227ED1D2F5DE000677B3C /* SortAttributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C227EB1D2F5DE000677B3C /* SortAttributes.cpp */; }; 29C227F01D2F74B500677B3C /* ChangeValues.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29C227EE1D2F74B500677B3C /* ChangeValues.cpp */; }; 29DE547A1DB98E7100F5F8A7 /* StupidFileFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29DE54781DB98E7100F5F8A7 /* StupidFileFunctions.cpp */; }; + 29E385CA1F2BE056001AC8E2 /* MeasureDataTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E385C81F2BE056001AC8E2 /* MeasureDataTest.cpp */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -1098,6 +1099,7 @@ 29DE54771DB98E7100F5F8A7 /* Path.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Path.h; path = ../Sourcecode/mxtest/file/Path.h; sourceTree = ""; }; 29DE54781DB98E7100F5F8A7 /* StupidFileFunctions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StupidFileFunctions.cpp; path = ../Sourcecode/mxtest/file/StupidFileFunctions.cpp; sourceTree = ""; }; 29DE54791DB98E7100F5F8A7 /* StupidFileFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StupidFileFunctions.h; path = ../Sourcecode/mxtest/file/StupidFileFunctions.h; sourceTree = ""; }; + 29E385C81F2BE056001AC8E2 /* MeasureDataTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MeasureDataTest.cpp; path = ../Sourcecode/mxtest/api/MeasureDataTest.cpp; sourceTree = ""; }; 29E41D671DC978400085405E /* ApiK014aFermatasScoreData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ApiK014aFermatasScoreData.h; path = ../Sourcecode/mxtest/api/ApiK014aFermatasScoreData.h; sourceTree = ""; }; 29E41D681DC978400085405E /* ApiK014aFermatasTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ApiK014aFermatasTest.cpp; path = ../Sourcecode/mxtest/api/ApiK014aFermatasTest.cpp; sourceTree = ""; }; 29EF440F1D6E8F5500DBDAB9 /* DocumentManagerTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DocumentManagerTest.cpp; path = ../Sourcecode/mxtest/api/DocumentManagerTest.cpp; sourceTree = ""; }; @@ -1838,6 +1840,7 @@ 2975945A1F04848600DE2F30 /* ApiChordSimpleScoreData.h */, 2975945B1F04848600DE2F30 /* ApiChordSimpleTest.cpp */, 2975945E1F04A0CD00DE2F30 /* ChordDataSaveAndLoadTest.cpp */, + 29E385C81F2BE056001AC8E2 /* MeasureDataTest.cpp */, ); name = api; sourceTree = ""; @@ -2392,6 +2395,7 @@ 29C01E791D1312FA0094BE61 /* PartNameTest.cpp in Sources */, 29C01DD61D1312FA0094BE61 /* EncodingTest.cpp in Sources */, 29C01DD71D1312FA0094BE61 /* EndingTest.cpp in Sources */, + 29E385CA1F2BE056001AC8E2 /* MeasureDataTest.cpp in Sources */, 29C01ED91D1312FA0094BE61 /* ThumbPositionTest.cpp in Sources */, 29C01DA21D1312FA0094BE61 /* CreditTypeTest.cpp in Sources */, 29C01EDC1D1312FA0094BE61 /* TimeModificationTest.cpp in Sources */, From f8a3cecce4097f3e759edf810aba7c0858035047 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Fri, 28 Jul 2017 14:54:24 -0700 Subject: [PATCH 080/108] mx-version-0.2.0.29 --- Sourcecode/mx/impl/MxVersionDefines.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sourcecode/mx/impl/MxVersionDefines.h b/Sourcecode/mx/impl/MxVersionDefines.h index a1d5e19ce..fae74434d 100644 --- a/Sourcecode/mx/impl/MxVersionDefines.h +++ b/Sourcecode/mx/impl/MxVersionDefines.h @@ -1,4 +1,4 @@ #define MX_VERSION_MAJOR 0 #define MX_VERSION_MINOR 2 #define MX_VERSION_PATCH 0 -#define MX_VERSION_BUILD 28 +#define MX_VERSION_BUILD 29 From 4255f3c796d05ae92c8e345024a1a497b9649f36 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Sat, 29 Jul 2017 17:59:38 -0700 Subject: [PATCH 081/108] mxapi fix measure rest writing --- Sourcecode/mx/impl/NoteWriter.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Sourcecode/mx/impl/NoteWriter.cpp b/Sourcecode/mx/impl/NoteWriter.cpp index 7286bed18..19fc2fb2d 100644 --- a/Sourcecode/mx/impl/NoteWriter.cpp +++ b/Sourcecode/mx/impl/NoteWriter.cpp @@ -210,6 +210,12 @@ namespace mx pitch->getDisplayStep()->setValue( myConverter.convert( myNoteData.pitchData.step ) ); pitch->getDisplayOctave()->setValue( core::OctaveValue{ myNoteData.pitchData.octave } ); } + + if( myNoteData.isMeasureRest ) + { + myOutFullNoteTypeChoice->getRest()->getAttributes()->hasMeasure = true; + myOutFullNoteTypeChoice->getRest()->getAttributes()->measure = core::YesNo::yes; + } } else if( myNoteData.isUnpitched ) { From cbc92e49561b3227397047743ca049600733f9fa Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Sat, 29 Jul 2017 18:03:20 -0700 Subject: [PATCH 082/108] mx-version-0.2.0.30 --- Sourcecode/mx/impl/MxVersionDefines.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sourcecode/mx/impl/MxVersionDefines.h b/Sourcecode/mx/impl/MxVersionDefines.h index fae74434d..cb2516918 100644 --- a/Sourcecode/mx/impl/MxVersionDefines.h +++ b/Sourcecode/mx/impl/MxVersionDefines.h @@ -1,4 +1,4 @@ #define MX_VERSION_MAJOR 0 #define MX_VERSION_MINOR 2 #define MX_VERSION_PATCH 0 -#define MX_VERSION_BUILD 29 +#define MX_VERSION_BUILD 30 From 450412f07fea75cdb97a7f3cf2b91e04e8d36dff Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Sat, 29 Jul 2017 18:09:15 -0700 Subject: [PATCH 083/108] mxapi fix another measure rest issue --- Sourcecode/mx/impl/NoteWriter.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Sourcecode/mx/impl/NoteWriter.cpp b/Sourcecode/mx/impl/NoteWriter.cpp index 19fc2fb2d..6b74d0186 100644 --- a/Sourcecode/mx/impl/NoteWriter.cpp +++ b/Sourcecode/mx/impl/NoteWriter.cpp @@ -215,6 +215,7 @@ namespace mx { myOutFullNoteTypeChoice->getRest()->getAttributes()->hasMeasure = true; myOutFullNoteTypeChoice->getRest()->getAttributes()->measure = core::YesNo::yes; + myOutNote->setHasType( false ); } } else if( myNoteData.isUnpitched ) @@ -262,9 +263,12 @@ namespace mx void NoteWriter::setDurationNameAndDots() const { - myOutNote->setHasType( true ); - myOutNote->getType()->setValue( myConverter.convert( myNoteData.durationData.durationName ) ); - + if( !myNoteData.isRest || !myNoteData.isMeasureRest ) + { + myOutNote->setHasType( true ); + myOutNote->getType()->setValue( myConverter.convert( myNoteData.durationData.durationName ) ); + } + for( int d = 0; d < static_cast( myNoteData.durationData.durationDots ); ++d ) { myOutNote->addDot( core::makeDot() ); From 53010d7e351ce64fd70c9eb6fb2235835aa1bb07 Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Sat, 29 Jul 2017 18:10:00 -0700 Subject: [PATCH 084/108] mx-version-0.2.0.31 --- Sourcecode/mx/impl/MxVersionDefines.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sourcecode/mx/impl/MxVersionDefines.h b/Sourcecode/mx/impl/MxVersionDefines.h index cb2516918..7f0ed1a38 100644 --- a/Sourcecode/mx/impl/MxVersionDefines.h +++ b/Sourcecode/mx/impl/MxVersionDefines.h @@ -1,4 +1,4 @@ #define MX_VERSION_MAJOR 0 #define MX_VERSION_MINOR 2 #define MX_VERSION_PATCH 0 -#define MX_VERSION_BUILD 30 +#define MX_VERSION_BUILD 31 From 2539aede4311bd4e8ad9385f76ef4fe2a4083a5f Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Sat, 29 Jul 2017 23:45:51 -0700 Subject: [PATCH 085/108] mx-version-0.2.0.32 --- Sourcecode/mx/impl/MxVersionDefines.h | 2 +- Sourcecode/mx/impl/TupletReader.cpp | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/Sourcecode/mx/impl/MxVersionDefines.h b/Sourcecode/mx/impl/MxVersionDefines.h index 7f0ed1a38..698a9bc7c 100644 --- a/Sourcecode/mx/impl/MxVersionDefines.h +++ b/Sourcecode/mx/impl/MxVersionDefines.h @@ -1,4 +1,4 @@ #define MX_VERSION_MAJOR 0 #define MX_VERSION_MINOR 2 #define MX_VERSION_PATCH 0 -#define MX_VERSION_BUILD 31 +#define MX_VERSION_BUILD 32 diff --git a/Sourcecode/mx/impl/TupletReader.cpp b/Sourcecode/mx/impl/TupletReader.cpp index 4bc5aa2f0..2f63fd886 100644 --- a/Sourcecode/mx/impl/TupletReader.cpp +++ b/Sourcecode/mx/impl/TupletReader.cpp @@ -16,6 +16,7 @@ #include "mx/core/elements/TupletNormal.h" #include "mx/core/elements/TupletNumber.h" #include "mx/core/elements/TupletType.h" +#include "mx/core/elements/Type.h" #include "mx/impl/PositionFunctions.h" namespace mx @@ -148,7 +149,11 @@ namespace mx outTupletStart.normalDurationName = durName; outTupletStart.normalDots = static_cast( grp.getNormalDotSet().size() ); } - + else if ( myNote.getHasType() ) + { + const auto durName = converter.convert( myNote.getType()->getValue() ); + outTupletStart.normalDurationName = durName; + } } @@ -169,6 +174,11 @@ namespace mx outTupletStart.actualDurationName = durName; outTupletStart.actualDots = static_cast( grp.getNormalDotSet().size() ); } + else if ( myNote.getHasType() ) + { + const auto durName = converter.convert( myNote.getType()->getValue() ); + outTupletStart.actualDurationName = durName; + } } } From 483a7753eba09878f341037ee54521a19b0f634f Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Mon, 31 Jul 2017 09:53:20 -0700 Subject: [PATCH 086/108] mxapi add failing freezing pieces test viola measure 7 --- Sourcecode/mxtest/api/FreezingRoundTrip.cpp | 123 ++++++++++++++++++++ Xcode/MxTest.xcodeproj/project.pbxproj | 12 +- 2 files changed, 131 insertions(+), 4 deletions(-) create mode 100644 Sourcecode/mxtest/api/FreezingRoundTrip.cpp diff --git a/Sourcecode/mxtest/api/FreezingRoundTrip.cpp b/Sourcecode/mxtest/api/FreezingRoundTrip.cpp new file mode 100644 index 000000000..b822cca75 --- /dev/null +++ b/Sourcecode/mxtest/api/FreezingRoundTrip.cpp @@ -0,0 +1,123 @@ +// MusicXML Class Library +// Copyright (c) by Matthew James Briggs +// Distributed under the MIT License + +#include "mxtest/control/CompileControl.h" +#ifdef MX_COMPILE_API_TESTS + +#include "cpul/cpulTestHarness.h" +#include "mxtest/file/MxFileRepository.h" +#include "mx/api/DocumentManager.h" +#include "mx/core/Document.h" +#include "mx/core/elements/MusicDataChoice.h" +#include "mxtest/api/RoundTrip.h" + +// TODO - replace with specific includes +#include "mx/core/Elements.h" + +using namespace std; +using namespace mx::api; +using namespace mx::core; +using namespace mxtest; + +namespace +{ + constexpr const char* const fileName = "freezing.xml"; +} + + +TEST( roundTripOutput, Freezing ) +{ + const auto scoreData = mxtest::MxFileRepository::loadFile( fileName ); + const auto filePath = mxtest::MxFileRepository::getFullPath( fileName ); + auto& docMgr = DocumentManager::getInstance(); + const auto docId = docMgr.createFromFile( filePath ); + docMgr.writeToFile( docId, "./freezing_before.xml" ); + docMgr.destroyDocument( docId ); + const auto apiDocId = docMgr.createFromScore( scoreData ); + docMgr.writeToFile( apiDocId, "./freezing_after.xml" ); + docMgr.destroyDocument( apiDocId ); +} +T_END + +TEST( roundTripViolaDynamicWrongTime, Freezing ) +{ + auto& mgr = DocumentManager::getInstance(); + const auto filePath = mxtest::MxFileRepository::getFullPath( fileName ); + const auto originalId = mgr.createFromFile( filePath ); + const auto originalScoreData = mgr.getData( originalId ); + const auto originalScore = mgr.getDocument( originalId )->getScorePartwise(); + const auto savedId = mgr.createFromScore( mgr.getData( originalId ) ); + const auto savedScoreData = mgr.getData( savedId ); + const auto savedScore = mgr.getDocument( savedId )->getScorePartwise(); + mgr.destroyDocument( originalId ); + mgr.destroyDocument( savedId ); + + const int partIndex = 0; + const int measureIndex = 7; + + const auto& originalPart = originalScore->getPartwisePartSet().at( partIndex ); + const auto& originalMeasure = originalPart->getPartwiseMeasureSet().at( measureIndex ); + const auto& originalMdcSet = originalMeasure->getMusicDataGroup()->getMusicDataChoiceSet(); + auto originalMdcIter = originalMdcSet.cbegin(); + const auto originalMdcEnd = originalMdcSet.cend(); + + while( ( originalMdcIter != originalMdcEnd ) && ( (*originalMdcIter)->getChoice() != MusicDataChoice::Choice::note ) ) + { + ++originalMdcIter; + } + + CHECK( originalMdcIter != originalMdcEnd ); + CHECK( MusicDataChoice::Choice::note == (*originalMdcIter)->getChoice() ); + auto originalCurrentNote = (*originalMdcIter)->getNote(); + CHECK_DOUBLES_EQUAL( 30.0, originalCurrentNote->getNoteChoice()->getNormalNoteGroup()->getDuration()->getValue().getValue(), 0.0001 ); + CHECK( !originalCurrentNote->getNoteChoice()->getNormalNoteGroup()->getFullNoteGroup()->getHasChord() ); + + ++originalMdcIter; + CHECK( originalMdcIter != originalMdcEnd ); + CHECK( MusicDataChoice::Choice::note == (*originalMdcIter)->getChoice() ); + originalCurrentNote = (*originalMdcIter)->getNote(); + CHECK_DOUBLES_EQUAL( 30.0, originalCurrentNote->getNoteChoice()->getNormalNoteGroup()->getDuration()->getValue().getValue(), 0.0001 ); + CHECK( originalCurrentNote->getNoteChoice()->getNormalNoteGroup()->getFullNoteGroup()->getHasChord() ); + + ++originalMdcIter; + CHECK( originalMdcIter != originalMdcEnd ); + CHECK( MusicDataChoice::Choice::direction == (*originalMdcIter)->getChoice() ); + auto originalDirection = (*originalMdcIter)->getDirection(); + CHECK( DirectionType::Choice::dynamics == originalDirection->getDirectionTypeSet().front()->getChoice() ); + auto originalDynamics = originalDirection->getDirectionTypeSet().front()->getDynamicsSet().front(); + auto originalDynamicsValue = originalDynamics->getValue(); + CHECK( DynamicsEnum::pp == originalDynamicsValue.getValue() ); + + const auto& savedPart = savedScore->getPartwisePartSet().at( partIndex ); + const auto& savedMeasure = savedPart->getPartwiseMeasureSet().at( measureIndex ); + const auto& savedMdcSet = savedMeasure->getMusicDataGroup()->getMusicDataChoiceSet(); + auto savedMdcIter = savedMdcSet.cbegin(); + const auto savedMdcEnd = savedMdcSet.cend(); + + CHECK( savedMdcIter != savedMdcEnd ); + CHECK( MusicDataChoice::Choice::note == (*savedMdcIter)->getChoice() ); + auto savedCurrentNote = (*savedMdcIter)->getNote(); + CHECK_DOUBLES_EQUAL( 30.0, savedCurrentNote->getNoteChoice()->getNormalNoteGroup()->getDuration()->getValue().getValue(), 0.0001 ); + CHECK( !savedCurrentNote->getNoteChoice()->getNormalNoteGroup()->getFullNoteGroup()->getHasChord() ); + + ++savedMdcIter; + CHECK( savedMdcIter != savedMdcEnd ); + CHECK( MusicDataChoice::Choice::note == (*savedMdcIter)->getChoice() ); + savedCurrentNote = (*savedMdcIter)->getNote(); + CHECK_DOUBLES_EQUAL( 30.0, savedCurrentNote->getNoteChoice()->getNormalNoteGroup()->getDuration()->getValue().getValue(), 0.0001 ); + CHECK( savedCurrentNote->getNoteChoice()->getNormalNoteGroup()->getFullNoteGroup()->getHasChord() ); + + ++savedMdcIter; + CHECK( savedMdcIter != savedMdcEnd ); + CHECK( MusicDataChoice::Choice::direction == (*savedMdcIter)->getChoice() ); + auto savedDirection = (*savedMdcIter)->getDirection(); + CHECK( DirectionType::Choice::dynamics == savedDirection->getDirectionTypeSet().front()->getChoice() ); + auto savedDynamics = savedDirection->getDirectionTypeSet().front()->getDynamicsSet().front(); + auto savedDynamicsValue = savedDynamics->getValue(); + CHECK( DynamicsEnum::pp == savedDynamicsValue.getValue() ); + +} +T_END + +#endif diff --git a/Xcode/MxTest.xcodeproj/project.pbxproj b/Xcode/MxTest.xcodeproj/project.pbxproj index 4e19407f2..84195e3cd 100755 --- a/Xcode/MxTest.xcodeproj/project.pbxproj +++ b/Xcode/MxTest.xcodeproj/project.pbxproj @@ -48,6 +48,7 @@ 2983E3E61EB43878007FCC34 /* DirectionDataTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2983E3E51EB43878007FCC34 /* DirectionDataTest.cpp */; }; 298F0F4D1D1E4981005C3D9D /* ImportTestImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 298F0F4B1D1E4981005C3D9D /* ImportTestImpl.cpp */; }; 29A800611EF04A5F00AD2478 /* PreciseDecimalTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A800601EF04A5F00AD2478 /* PreciseDecimalTest.cpp */; }; + 29ADC9801F2F02C3005C5AEA /* FreezingRoundTrip.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29ADC97F1F2F02C3005C5AEA /* FreezingRoundTrip.cpp */; }; 29B48EDB1DBE7F550030A974 /* MeasureWriterTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29B48ED71DBE7F550030A974 /* MeasureWriterTest.cpp */; }; 29B48EDC1DBE7F550030A974 /* NoteWriterTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29B48ED81DBE7F550030A974 /* NoteWriterTest.cpp */; }; 29B48EDD1DBE7F550030A974 /* PartWriterTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29B48ED91DBE7F550030A974 /* PartWriterTest.cpp */; }; @@ -545,6 +546,7 @@ 29A3387F1E652432001D61DD /* BombeTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BombeTest.cpp; path = ../Sourcecode/mxtest/api/BombeTest.cpp; sourceTree = ""; }; 29A800601EF04A5F00AD2478 /* PreciseDecimalTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PreciseDecimalTest.cpp; path = ../Sourcecode/mxtest/core/PreciseDecimalTest.cpp; sourceTree = ""; }; 29AD58B71E3D1000004FD94E /* MetronomeApiTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MetronomeApiTest.cpp; path = ../Sourcecode/mxtest/api/MetronomeApiTest.cpp; sourceTree = ""; }; + 29ADC97F1F2F02C3005C5AEA /* FreezingRoundTrip.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FreezingRoundTrip.cpp; path = ../Sourcecode/mxtest/api/FreezingRoundTrip.cpp; sourceTree = ""; }; 29B48ED71DBE7F550030A974 /* MeasureWriterTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MeasureWriterTest.cpp; path = ../Sourcecode/mxtest/impl/MeasureWriterTest.cpp; sourceTree = ""; }; 29B48ED81DBE7F550030A974 /* NoteWriterTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NoteWriterTest.cpp; path = ../Sourcecode/mxtest/impl/NoteWriterTest.cpp; sourceTree = ""; }; 29B48ED91DBE7F550030A974 /* PartWriterTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PartWriterTest.cpp; path = ../Sourcecode/mxtest/impl/PartWriterTest.cpp; sourceTree = ""; }; @@ -1807,6 +1809,8 @@ 29EF440E1D6E8F4700DBDAB9 /* api */ = { isa = PBXGroup; children = ( + 2975945A1F04848600DE2F30 /* ApiChordSimpleScoreData.h */, + 2975945B1F04848600DE2F30 /* ApiChordSimpleTest.cpp */, 29BF98891DC6D20500BBC7B3 /* ApiK007aScoreData.h */, 29BF988A1DC6D20500BBC7B3 /* ApiK007aTest.cpp */, 2961F1151DC7CDD700D62B16 /* ApiK007cScoreData.h */, @@ -1828,19 +1832,18 @@ 2903C9481DBC7ED600218C9E /* ApiTester.h */, 29A3387F1E652432001D61DD /* BombeTest.cpp */, 29C9AFD81DC3BE6000DD9BFB /* ChordApiTest.cpp */, + 2975945E1F04A0CD00DE2F30 /* ChordDataSaveAndLoadTest.cpp */, 29510AFC1E3113AA00EB76F0 /* ChordTimeTest.cpp */, 2983E3E51EB43878007FCC34 /* DirectionDataTest.cpp */, 29EF440F1D6E8F5500DBDAB9 /* DocumentManagerTest.cpp */, + 29ADC97F1F2F02C3005C5AEA /* FreezingRoundTrip.cpp */, + 29E385C81F2BE056001AC8E2 /* MeasureDataTest.cpp */, 29AD58B71E3D1000004FD94E /* MetronomeApiTest.cpp */, 292D3FF31E57EBE4008AA032 /* NoteDataTest.cpp */, 29CD722E1DB8421100FB7153 /* RoundTrip.h */, 2903C9461DBC7D7600218C9E /* ScoreDataCreator.h */, 2983E3E71EB439F7007FCC34 /* TestHelpers.h */, 29979D611DC811F300707AA4 /* TimeSignatureApiTest.cpp */, - 2975945A1F04848600DE2F30 /* ApiChordSimpleScoreData.h */, - 2975945B1F04848600DE2F30 /* ApiChordSimpleTest.cpp */, - 2975945E1F04A0CD00DE2F30 /* ChordDataSaveAndLoadTest.cpp */, - 29E385C81F2BE056001AC8E2 /* MeasureDataTest.cpp */, ); name = api; sourceTree = ""; @@ -2399,6 +2402,7 @@ 29C01ED91D1312FA0094BE61 /* ThumbPositionTest.cpp in Sources */, 29C01DA21D1312FA0094BE61 /* CreditTypeTest.cpp in Sources */, 29C01EDC1D1312FA0094BE61 /* TimeModificationTest.cpp in Sources */, + 29ADC9801F2F02C3005C5AEA /* FreezingRoundTrip.cpp in Sources */, 29C01E571D1312FA0094BE61 /* NotationsTest.cpp in Sources */, 29C01E281D1312FA0094BE61 /* LineWidthTest.cpp in Sources */, 29C01DE51D1312FA0094BE61 /* FingeringTest.cpp in Sources */, From a05a76e88f4f75ce74f96adb1797081f6d04019a Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Thu, 17 Aug 2017 08:08:39 -0700 Subject: [PATCH 087/108] mxapi freezing tests --- Sourcecode/mxtest/api/FreezingRoundTrip.cpp | 47 +++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/Sourcecode/mxtest/api/FreezingRoundTrip.cpp b/Sourcecode/mxtest/api/FreezingRoundTrip.cpp index b822cca75..82bf83ad3 100644 --- a/Sourcecode/mxtest/api/FreezingRoundTrip.cpp +++ b/Sourcecode/mxtest/api/FreezingRoundTrip.cpp @@ -120,4 +120,51 @@ TEST( roundTripViolaDynamicWrongTime, Freezing ) } T_END +TEST( missingMusicXMLVersion, Freezing ) +{ + auto& mgr = DocumentManager::getInstance(); + const auto filePath = mxtest::MxFileRepository::getFullPath( fileName ); + const auto originalId = mgr.createFromFile( filePath ); + const auto originalScoreData = mgr.getData( originalId ); + const auto originalScore = mgr.getDocument( originalId )->getScorePartwise(); + const auto savedId = mgr.createFromScore( mgr.getData( originalId ) ); + const auto savedScoreData = mgr.getData( savedId ); + const auto savedScore = mgr.getDocument( savedId )->getScorePartwise(); + mgr.destroyDocument( originalId ); + mgr.destroyDocument( savedId ); + + CHECK( originalScore->getAttributes()->hasVersion == savedScore->getAttributes()->hasVersion ); +} + +TEST( appearanceMissing, Freezing ) +{ + auto& mgr = DocumentManager::getInstance(); + const auto filePath = mxtest::MxFileRepository::getFullPath( fileName ); + const auto originalId = mgr.createFromFile( filePath ); + const auto originalScoreData = mgr.getData( originalId ); + const auto originalScore = mgr.getDocument( originalId )->getScorePartwise(); + const auto savedId = mgr.createFromScore( mgr.getData( originalId ) ); + const auto savedScoreData = mgr.getData( savedId ); + const auto savedScore = mgr.getDocument( savedId )->getScorePartwise(); + mgr.destroyDocument( originalId ); + mgr.destroyDocument( savedId ); + + const auto originalAppearance = originalScore->getScoreHeaderGroup()->getDefaults()->getAppearance(); + const auto savedAppearance = savedScore->getScoreHeaderGroup()->getDefaults()->getAppearance(); + + const auto lineWidthSetSize = savedAppearance->getLineWidthSet().size(); + CHECK( lineWidthSetSize > 0 ); + CHECK_EQUAL( originalAppearance->getLineWidthSet().size(), savedAppearance->getLineWidthSet().size() ); + + for( int i = 0; i < lineWidthSetSize; ++i ) + { + const auto savedElement = savedAppearance->getLineWidthSet().at( i )->getValue().getValue(); + const auto originalElement = originalAppearance->getLineWidthSet().at( i )->getValue().getValue(); + const auto savedLineWidth = savedElement; + const auto originalLineWidth = originalElement; + + } + +} + #endif From 390625c2e6337d61b6eb0866aa38a833a387b11a Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Thu, 17 Aug 2017 08:24:37 -0700 Subject: [PATCH 088/108] mxapi more freezing tests --- Sourcecode/mxtest/api/FreezingRoundTrip.cpp | 15 +++++++++------ Sourcecode/mxtest/file/Path.h | 4 ++-- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/Sourcecode/mxtest/api/FreezingRoundTrip.cpp b/Sourcecode/mxtest/api/FreezingRoundTrip.cpp index 82bf83ad3..e1e2da2f6 100644 --- a/Sourcecode/mxtest/api/FreezingRoundTrip.cpp +++ b/Sourcecode/mxtest/api/FreezingRoundTrip.cpp @@ -136,7 +136,7 @@ TEST( missingMusicXMLVersion, Freezing ) CHECK( originalScore->getAttributes()->hasVersion == savedScore->getAttributes()->hasVersion ); } -TEST( appearanceMissing, Freezing ) +TEST( appearanceLineWidthsMissing, Freezing ) { auto& mgr = DocumentManager::getInstance(); const auto filePath = mxtest::MxFileRepository::getFullPath( fileName ); @@ -158,11 +158,14 @@ TEST( appearanceMissing, Freezing ) for( int i = 0; i < lineWidthSetSize; ++i ) { - const auto savedElement = savedAppearance->getLineWidthSet().at( i )->getValue().getValue(); - const auto originalElement = originalAppearance->getLineWidthSet().at( i )->getValue().getValue(); - const auto savedLineWidth = savedElement; - const auto originalLineWidth = originalElement; - + const auto savedElement = savedAppearance->getLineWidthSet().at( i ); + const auto originalElement = originalAppearance->getLineWidthSet().at( i ); + const auto savedLineWidth = savedElement->getValue().getValue(); + const auto originalLineWidth = originalElement->getValue().getValue(); + CHECK_DOUBLES_EQUAL( originalLineWidth, savedLineWidth, 0.00001 ); + + CHECK( originalElement->getAttributes()->hasType == savedElement->getAttributes()->hasType ); + CHECK_EQUAL( originalElement->getAttributes()->type.getValue(), savedElement->getAttributes()->type.getValue() ); } } diff --git a/Sourcecode/mxtest/file/Path.h b/Sourcecode/mxtest/file/Path.h index 11197656b..ab0219b73 100755 --- a/Sourcecode/mxtest/file/Path.h +++ b/Sourcecode/mxtest/file/Path.h @@ -4,7 +4,7 @@ #pragma once -// TODO this needs to be autogenerated by cmake +// TODO this needs to be autogenerated by cmake or somehow dynamic namespace mxtest { @@ -13,7 +13,7 @@ namespace mxtest constexpr const char* const RESOURCES_DIRECTORY_PATH = "E:\\User\\Documents\\MxRepo\\Resources\\"; constexpr const char FILE_PATH_SEPARATOR = '\\'; #else - constexpr const char* const RESOURCES_DIRECTORY_PATH = "/Volumes/Macintosh HD/Users/mjb/Dropbox/Programming/MxRepo/Resources/"; + constexpr const char* const RESOURCES_DIRECTORY_PATH = "/Users/mjb/MxRepo/Resources/"; constexpr const char FILE_PATH_SEPARATOR = '/'; #endif From 0bebaf80c00b906a61098f640f424634c4aa7c9b Mon Sep 17 00:00:00 2001 From: Matthew James Briggs Date: Thu, 17 Aug 2017 09:05:54 -0700 Subject: [PATCH 089/108] mxapi freezing tests --- Sourcecode/mxtest/api/FreezingRoundTrip.cpp | 93 ++++++++++++++++++++- 1 file changed, 91 insertions(+), 2 deletions(-) diff --git a/Sourcecode/mxtest/api/FreezingRoundTrip.cpp b/Sourcecode/mxtest/api/FreezingRoundTrip.cpp index e1e2da2f6..030fdee12 100644 --- a/Sourcecode/mxtest/api/FreezingRoundTrip.cpp +++ b/Sourcecode/mxtest/api/FreezingRoundTrip.cpp @@ -136,7 +136,29 @@ TEST( missingMusicXMLVersion, Freezing ) CHECK( originalScore->getAttributes()->hasVersion == savedScore->getAttributes()->hasVersion ); } -TEST( appearanceLineWidthsMissing, Freezing ) +TEST( HasDefaultsHasAppearance, Freezing ) +{ + auto& mgr = DocumentManager::getInstance(); + const auto filePath = mxtest::MxFileRepository::getFullPath( fileName ); + const auto originalId = mgr.createFromFile( filePath ); + const auto originalScoreData = mgr.getData( originalId ); + const auto originalScore = mgr.getDocument( originalId )->getScorePartwise(); + const auto savedId = mgr.createFromScore( mgr.getData( originalId ) ); + const auto savedScoreData = mgr.getData( savedId ); + const auto savedScore = mgr.getDocument( savedId )->getScorePartwise(); + mgr.destroyDocument( originalId ); + mgr.destroyDocument( savedId ); + + const auto originalHasDefaults = originalScore->getScoreHeaderGroup()->getHasDefaults(); + const auto savedHasDefaults = savedScore->getScoreHeaderGroup()->getHasDefaults(); + CHECK( originalHasDefaults == savedHasDefaults ); + + const auto originalHasAppearance = originalScore->getScoreHeaderGroup()->getDefaults()->getHasAppearance(); + const auto savedHasAppearance = savedScore->getScoreHeaderGroup()->getDefaults()->getHasAppearance(); + CHECK( originalHasAppearance == savedHasAppearance ); +} + +TEST( appearanceLineWidths, Freezing ) { auto& mgr = DocumentManager::getInstance(); const auto filePath = mxtest::MxFileRepository::getFullPath( fileName ); @@ -165,9 +187,76 @@ TEST( appearanceLineWidthsMissing, Freezing ) CHECK_DOUBLES_EQUAL( originalLineWidth, savedLineWidth, 0.00001 ); CHECK( originalElement->getAttributes()->hasType == savedElement->getAttributes()->hasType ); - CHECK_EQUAL( originalElement->getAttributes()->type.getValue(), savedElement->getAttributes()->type.getValue() ); + CHECK_EQUAL( originalElement->getAttributes()->type.getValueString(), savedElement->getAttributes()->type.getValueString() ); + } +} + +TEST( appearanceNoteSize, Freezing ) +{ + auto& mgr = DocumentManager::getInstance(); + const auto filePath = mxtest::MxFileRepository::getFullPath( fileName ); + const auto originalId = mgr.createFromFile( filePath ); + const auto originalScoreData = mgr.getData( originalId ); + const auto originalScore = mgr.getDocument( originalId )->getScorePartwise(); + const auto savedId = mgr.createFromScore( mgr.getData( originalId ) ); + const auto savedScoreData = mgr.getData( savedId ); + const auto savedScore = mgr.getDocument( savedId )->getScorePartwise(); + mgr.destroyDocument( originalId ); + mgr.destroyDocument( savedId ); + + const auto originalAppearance = originalScore->getScoreHeaderGroup()->getDefaults()->getAppearance(); + const auto savedAppearance = savedScore->getScoreHeaderGroup()->getDefaults()->getAppearance(); + + const auto noteSizeSetSize = savedAppearance->getNoteSizeSet().size(); + CHECK( noteSizeSetSize > 0 ); + CHECK_EQUAL( originalAppearance->getNoteSizeSet().size(), savedAppearance->getNoteSizeSet().size() ); + + for( int i = 0; i < noteSizeSetSize; ++i ) + { + const auto savedElement = savedAppearance->getNoteSizeSet().at( i ); + const auto originalElement = originalAppearance->getNoteSizeSet().at( i ); + const auto savedNoteSize = savedElement->getValue().getValue(); + const auto originalNoteSize = originalElement->getValue().getValue(); + CHECK_DOUBLES_EQUAL( originalNoteSize, savedNoteSize, 0.00001 ); + + CHECK( originalElement->getAttributes()->hasType == savedElement->getAttributes()->hasType ); + CHECK( originalElement->getAttributes()->type == savedElement->getAttributes()->type ); } +} + + + +TEST( appearancDistance, Freezing ) +{ + auto& mgr = DocumentManager::getInstance(); + const auto filePath = mxtest::MxFileRepository::getFullPath( fileName ); + const auto originalId = mgr.createFromFile( filePath ); + const auto originalScoreData = mgr.getData( originalId ); + const auto originalScore = mgr.getDocument( originalId )->getScorePartwise(); + const auto savedId = mgr.createFromScore( mgr.getData( originalId ) ); + const auto savedScoreData = mgr.getData( savedId ); + const auto savedScore = mgr.getDocument( savedId )->getScorePartwise(); + mgr.destroyDocument( originalId ); + mgr.destroyDocument( savedId ); + const auto originalAppearance = originalScore->getScoreHeaderGroup()->getDefaults()->getAppearance(); + const auto savedAppearance = savedScore->getScoreHeaderGroup()->getDefaults()->getAppearance(); + + const auto distanceSetSize = savedAppearance->getDistanceSet().size(); + CHECK( distanceSetSize > 0 ); + CHECK_EQUAL( originalAppearance->getDistanceSet().size(), savedAppearance->getDistanceSet().size() ); + + for( int i = 0; i < distanceSetSize; ++i ) + { + const auto savedElement = savedAppearance->getDistanceSet().at( i ); + const auto originalElement = originalAppearance->getDistanceSet().at( i ); + const auto savedDistance = savedElement->getValue().getValue(); + const auto originalDistance = originalElement->getValue().getValue(); + CHECK_DOUBLES_EQUAL( originalDistance, savedDistance, 0.00001 ); + + CHECK( originalElement->getAttributes()->hasType == savedElement->getAttributes()->hasType ); + CHECK( originalElement->getAttributes()->type.getValueString() == savedElement->getAttributes()->type.getValueString() ); + } } #endif From 1f5d434896d6ead5ac0b7fec36936352198edc06 Mon Sep 17 00:00:00 2001 From: Gene Ragan Date: Thu, 31 May 2018 19:16:33 -0700 Subject: [PATCH 090/108] Feature/mxapi (#17) * Smufl flailing * Fat framework * Add missing architectures * Clean up projects * Remove scheme and add stub post-archive script * Track down a memory smasher * Add an additional check --- Sourcecode/mx/api/Smufl.cpp | 2662 ++++++++++++++++- Sourcecode/mx/api/Smufl.h | 28 +- Sourcecode/mx/impl/MeasureWriter.cpp | 17 +- Sourcecode/mx/impl/SmuflGlyphMap.h | 6 +- Xcode/Mx.xcodeproj/project.pbxproj | 475 ++- .../xcshareddata/xcschemes/Mx.xcscheme | 4 +- .../{mx-macOS.xcscheme => MxiOS.xcscheme} | 44 +- .../{mx-iOS.xcscheme => MxmacOS.xcscheme} | 22 +- .../xcshareddata/xcschemes/dylib-iOS.xcscheme | 4 +- .../xcschemes/dylib-macOS.xcscheme | 4 +- Xcode/MxTest.xcodeproj/project.pbxproj | 18 +- .../xcshareddata/xcschemes/MxTest.xcscheme | 2 +- Xcode/Mx_iOS/Info.plist | 24 - Xcode/Mx_iOS/Info.plist~HEAD | 24 - Xcode/Mx_iOS/Info.plist~develop | 24 - Xcode/Mx_iOS/Mx_iOS.h | 19 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 + 17 files changed, 3122 insertions(+), 263 deletions(-) rename Xcode/Mx.xcodeproj/xcshareddata/xcschemes/{mx-macOS.xcscheme => MxiOS.xcscheme} (72%) rename Xcode/Mx.xcodeproj/xcshareddata/xcschemes/{mx-iOS.xcscheme => MxmacOS.xcscheme} (82%) delete mode 100644 Xcode/Mx_iOS/Info.plist delete mode 100644 Xcode/Mx_iOS/Info.plist~HEAD delete mode 100644 Xcode/Mx_iOS/Info.plist~develop delete mode 100644 Xcode/Mx_iOS/Mx_iOS.h create mode 100644 Xcode/mx.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/Sourcecode/mx/api/Smufl.cpp b/Sourcecode/mx/api/Smufl.cpp index c5bcf5880..4aeed4604 100644 --- a/Sourcecode/mx/api/Smufl.cpp +++ b/Sourcecode/mx/api/Smufl.cpp @@ -5,13 +5,2622 @@ #include "mx/api/Smufl.h" #include "mx/impl/SmuflGlyphMap.h" -#include #include +#include +#include + +using SmuflPair = std::pair; +using SmuflMap = std::unordered_map; +using SmuflIter = SmuflMap::const_iterator; namespace mx { namespace api { + static const SmuflMap sMap = + { + std::pair( "4stringTabClef", 0xE06E ), // glyphnumber: 0, 4-string tab clef + + std::pair( "4stringTabClef", 0xE06E ), // glyphnumber: 0, 4-string tab clef + std::pair( "6stringTabClef", 0xE06D ), // glyphnumber: 1, 6-string tab clef + std::pair( "accSagittal11LargeDiesisDown", 0xE30D ), // glyphnumber: 2, 11 large diesis down, 3° down [46 EDO] + std::pair( "accSagittal11LargeDiesisUp", 0xE30C ), // glyphnumber: 3, 11 large diesis up, (11L), (sharp less 11M), 3° up [46 EDO] + std::pair( "accSagittal11MediumDiesisDown", 0xE30B ), // glyphnumber: 4, 11 medium diesis down, 1°[17 31] 2°46 down, 1/4-tone down + std::pair( "accSagittal11MediumDiesisUp", 0xE30A ), // glyphnumber: 5, 11 medium diesis up, (11M), 1°[17 31] 2°46 up, 1/4-tone up + std::pair( "accSagittal11v19LargeDiesisDown", 0xE3AB ), // glyphnumber: 6, 11:19 large diesis down + std::pair( "accSagittal11v19LargeDiesisUp", 0xE3AA ), // glyphnumber: 7, 11:19 large diesis up, (11:19L, apotome less 11:19M) + std::pair( "accSagittal11v19MediumDiesisDown", 0xE3A3 ), // glyphnumber: 8, 11:19 medium diesis down + std::pair( "accSagittal11v19MediumDiesisUp", 0xE3A2 ), // glyphnumber: 9, 11:19 medium diesis up, (11:19M, 11M plus 19s) + std::pair( "accSagittal11v49CommaDown", 0xE397 ), // glyphnumber: 10, 11:49 comma down + std::pair( "accSagittal11v49CommaUp", 0xE396 ), // glyphnumber: 11, 11:49 comma up, (11:49C, 11M less 49C) + std::pair( "accSagittal143CommaDown", 0xE395 ), // glyphnumber: 12, 143 comma down + std::pair( "accSagittal143CommaUp", 0xE394 ), // glyphnumber: 13, 143 comma up, (143C, 13L less 11M) + std::pair( "accSagittal17CommaDown", 0xE343 ), // glyphnumber: 14, 17 comma down + std::pair( "accSagittal17CommaUp", 0xE342 ), // glyphnumber: 15, 17 comma up, (17C) + std::pair( "accSagittal17KleismaDown", 0xE393 ), // glyphnumber: 16, 17 kleisma down + std::pair( "accSagittal17KleismaUp", 0xE392 ), // glyphnumber: 17, 17 kleisma up, (17k) + std::pair( "accSagittal19CommaDown", 0xE399 ), // glyphnumber: 18, 19 comma down + std::pair( "accSagittal19CommaUp", 0xE398 ), // glyphnumber: 19, 19 comma up, (19C) + std::pair( "accSagittal19SchismaDown", 0xE391 ), // glyphnumber: 20, 19 schisma down + std::pair( "accSagittal19SchismaUp", 0xE390 ), // glyphnumber: 21, 19 schisma up, (19s) + std::pair( "accSagittal23CommaDown", 0xE371 ), // glyphnumber: 22, 23 comma down, 2° down [96 EDO], 1/8-tone down + std::pair( "accSagittal23CommaUp", 0xE370 ), // glyphnumber: 23, 23 comma up, (23C), 2° up [96 EDO], 1/8-tone up + std::pair( "accSagittal23SmallDiesisDown", 0xE39F ), // glyphnumber: 24, 23 small diesis down + std::pair( "accSagittal23SmallDiesisUp", 0xE39E ), // glyphnumber: 25, 23 small diesis up, (23S) + std::pair( "accSagittal25SmallDiesisDown", 0xE307 ), // glyphnumber: 26, 25 small diesis down, 2° down [53 EDO] + std::pair( "accSagittal25SmallDiesisUp", 0xE306 ), // glyphnumber: 27, 25 small diesis up, (25S, ~5:13S, ~37S, 5C plus 5C), 2° up [53 EDO] + std::pair( "accSagittal35LargeDiesisDown", 0xE30F ), // glyphnumber: 28, 35 large diesis down, 2° down [50 EDO], 5/18-tone down + std::pair( "accSagittal35LargeDiesisUp", 0xE30E ), // glyphnumber: 29, 35 large diesis up, (35L, ~13L, ~125L, sharp less 35M), 2°50 up + std::pair( "accSagittal35MediumDiesisDown", 0xE309 ), // glyphnumber: 30, 35 medium diesis down, 1°[50] 2°[27] down, 2/9-tone down + std::pair( "accSagittal35MediumDiesisUp", 0xE308 ), // glyphnumber: 31, 35 medium diesis up, (35M, ~13M, ~125M, 5C plus 7C), 2/9-tone up + std::pair( "accSagittal49LargeDiesisDown", 0xE3A9 ), // glyphnumber: 32, 49 large diesis down + std::pair( "accSagittal49LargeDiesisUp", 0xE3A8 ), // glyphnumber: 33, 49 large diesis up, (49L, ~31L, apotome less 49M) + std::pair( "accSagittal49MediumDiesisDown", 0xE3A5 ), // glyphnumber: 34, 49 medium diesis down + std::pair( "accSagittal49MediumDiesisUp", 0xE3A4 ), // glyphnumber: 35, 49 medium diesis up, (49M, ~31M, 7C plus 7C) + std::pair( "accSagittal49SmallDiesisDown", 0xE39D ), // glyphnumber: 36, 49 small diesis down + std::pair( "accSagittal49SmallDiesisUp", 0xE39C ), // glyphnumber: 37, 49 small diesis up, (49S, ~31S) + std::pair( "accSagittal55CommaDown", 0xE345 ), // glyphnumber: 38, 55 comma down, 3° down [96 EDO], 3/16-tone down + std::pair( "accSagittal55CommaUp", 0xE344 ), // glyphnumber: 39, 55 comma up, (55C, 11M less 5C), 3°up [96 EDO], 3/16-tone up + std::pair( "accSagittal5CommaDown", 0xE303 ), // glyphnumber: 40, 5 comma down, 1° down [22 27 29 34 41 46 53 96 EDOs], 1/12-tone down + std::pair( "accSagittal5CommaUp", 0xE302 ), // glyphnumber: 41, 5 comma up, (5C), 1° up [22 27 29 34 41 46 53 96 EDOs], 1/12-tone up + std::pair( "accSagittal5v11SmallDiesisDown", 0xE349 ), // glyphnumber: 42, 5:11 small diesis down + std::pair( "accSagittal5v11SmallDiesisUp", 0xE348 ), // glyphnumber: 43, 5:11 small diesis up, (5:11S, ~7:13S, ~11:17S, 5:7k plus 7:11C) + std::pair( "accSagittal5v13LargeDiesisDown", 0xE3AD ), // glyphnumber: 44, 5:13 large diesis down + std::pair( "accSagittal5v13LargeDiesisUp", 0xE3AC ), // glyphnumber: 45, 5:13 large diesis up, (5:13L, ~37L, apotome less 5:13M) + std::pair( "accSagittal5v13MediumDiesisDown", 0xE3A1 ), // glyphnumber: 46, 5:13 medium diesis down + std::pair( "accSagittal5v13MediumDiesisUp", 0xE3A0 ), // glyphnumber: 47, 5:13 medium diesis up, (5:13M, ~37M, 5C plus 13C) + std::pair( "accSagittal5v19CommaDown", 0xE373 ), // glyphnumber: 48, 5:19 comma down, 1/20-tone down + std::pair( "accSagittal5v19CommaUp", 0xE372 ), // glyphnumber: 49, 5:19 comma up, (5:19C, 5C plus 19s), 1/20-tone up + std::pair( "accSagittal5v23SmallDiesisDown", 0xE375 ), // glyphnumber: 50, 5:23 small diesis down, 2° down [60 EDO], 1/5-tone down + std::pair( "accSagittal5v23SmallDiesisUp", 0xE374 ), // glyphnumber: 51, 5:23 small diesis up, (5:23S, 5C plus 23C), 2° up [60 EDO], 1/5-tone up + std::pair( "accSagittal5v49MediumDiesisDown", 0xE3A7 ), // glyphnumber: 52, 5:49 medium diesis down + std::pair( "accSagittal5v49MediumDiesisUp", 0xE3A6 ), // glyphnumber: 53, 5:49 medium diesis up, (5:49M, half apotome) + std::pair( "accSagittal5v7KleismaDown", 0xE301 ), // glyphnumber: 54, 5:7 kleisma down + std::pair( "accSagittal5v7KleismaUp", 0xE300 ), // glyphnumber: 55, 5:7 kleisma up, (5:7k, ~11:13k, 7C less 5C) + std::pair( "accSagittal7CommaDown", 0xE305 ), // glyphnumber: 56, 7 comma down, 1° down [43 EDO], 2° down [72 EDO], 1/6-tone down + std::pair( "accSagittal7CommaUp", 0xE304 ), // glyphnumber: 57, 7 comma up, (7C), 1° up [43 EDO], 2° up [72 EDO], 1/6-tone up + std::pair( "accSagittal7v11CommaDown", 0xE347 ), // glyphnumber: 58, 7:11 comma down, 1° down [60 EDO], 1/10-tone down + std::pair( "accSagittal7v11CommaUp", 0xE346 ), // glyphnumber: 59, 7:11 comma up, (7:11C, ~13:17S, ~29S, 11L less 7C), 1° up [60 EDO] + std::pair( "accSagittal7v11KleismaDown", 0xE341 ), // glyphnumber: 60, 7:11 kleisma down + std::pair( "accSagittal7v11KleismaUp", 0xE340 ), // glyphnumber: 61, 7:11 kleisma up, (7:11k, ~29k) + std::pair( "accSagittal7v19CommaDown", 0xE39B ), // glyphnumber: 62, 7:19 comma down + std::pair( "accSagittal7v19CommaUp", 0xE39A ), // glyphnumber: 63, 7:19 comma up, (7:19C, 7C less 19s) + std::pair( "accSagittalAcute", 0xE3F2 ), // glyphnumber: 64, Acute, 5 schisma up (5s), 2 cents up + std::pair( "accSagittalDoubleFlat", 0xE335 ), // glyphnumber: 65, Double flat, (2 apotomes down)[almost all EDOs], whole-tone down + std::pair( "accSagittalDoubleFlat11v49CUp", 0xE3E9 ), // glyphnumber: 66, Double flat 11:49C-up + std::pair( "accSagittalDoubleFlat143CUp", 0xE3EB ), // glyphnumber: 67, Double flat 143C-up + std::pair( "accSagittalDoubleFlat17CUp", 0xE365 ), // glyphnumber: 68, Double flat 17C-up + std::pair( "accSagittalDoubleFlat17kUp", 0xE3ED ), // glyphnumber: 69, Double flat 17k-up + std::pair( "accSagittalDoubleFlat19CUp", 0xE3E7 ), // glyphnumber: 70, Double flat 19C-up + std::pair( "accSagittalDoubleFlat19sUp", 0xE3EF ), // glyphnumber: 71, Double flat 19s-up + std::pair( "accSagittalDoubleFlat23CUp", 0xE387 ), // glyphnumber: 72, Double flat 23C-up, 14° down [96 EDO], 7/8-tone down + std::pair( "accSagittalDoubleFlat23SUp", 0xE3E1 ), // glyphnumber: 73, Double flat 23S-up + std::pair( "accSagittalDoubleFlat25SUp", 0xE32D ), // glyphnumber: 74, Double flat 25S-up, 8°down [53 EDO] + std::pair( "accSagittalDoubleFlat49SUp", 0xE3E3 ), // glyphnumber: 75, Double flat 49S-up + std::pair( "accSagittalDoubleFlat55CUp", 0xE363 ), // glyphnumber: 76, Double flat 55C-up, 13° down [96 EDO], 13/16-tone down + std::pair( "accSagittalDoubleFlat5CUp", 0xE331 ), // glyphnumber: 77, Double flat 5C-up, 5°[22 29] 7°[34 41] 9°53 down, 11/12 tone down + std::pair( "accSagittalDoubleFlat5v11SUp", 0xE35F ), // glyphnumber: 78, Double flat 5:11S-up + std::pair( "accSagittalDoubleFlat5v19CUp", 0xE385 ), // glyphnumber: 79, Double flat 5:19C-up, 19/20-tone down + std::pair( "accSagittalDoubleFlat5v23SUp", 0xE383 ), // glyphnumber: 80, Double flat 5:23S-up, 8° down [60 EDO], 4/5-tone down + std::pair( "accSagittalDoubleFlat5v7kUp", 0xE333 ), // glyphnumber: 81, Double flat 5:7k-up + std::pair( "accSagittalDoubleFlat7CUp", 0xE32F ), // glyphnumber: 82, Double flat 7C-up, 5° down [43 EDO], 10° down [72 EDO], 5/6-tone down + std::pair( "accSagittalDoubleFlat7v11CUp", 0xE361 ), // glyphnumber: 83, Double flat 7:11C-up, 9° down [60 EDO], 9/10-tone down + std::pair( "accSagittalDoubleFlat7v11kUp", 0xE367 ), // glyphnumber: 84, Double flat 7:11k-up + std::pair( "accSagittalDoubleFlat7v19CUp", 0xE3E5 ), // glyphnumber: 85, Double flat 7:19C-up + std::pair( "accSagittalDoubleSharp", 0xE334 ), // glyphnumber: 86, Double sharp, (2 apotomes up)[almost all EDOs], whole-tone up + std::pair( "accSagittalDoubleSharp11v49CDown", 0xE3E8 ), // glyphnumber: 87, Double sharp 11:49C-down + std::pair( "accSagittalDoubleSharp143CDown", 0xE3EA ), // glyphnumber: 88, Double sharp 143C-down + std::pair( "accSagittalDoubleSharp17CDown", 0xE364 ), // glyphnumber: 89, Double sharp 17C-down + std::pair( "accSagittalDoubleSharp17kDown", 0xE3EC ), // glyphnumber: 90, Double sharp 17k-down + std::pair( "accSagittalDoubleSharp19CDown", 0xE3E6 ), // glyphnumber: 91, Double sharp 19C-down + std::pair( "accSagittalDoubleSharp19sDown", 0xE3EE ), // glyphnumber: 92, Double sharp 19s-down + std::pair( "accSagittalDoubleSharp23CDown", 0xE386 ), // glyphnumber: 93, Double sharp 23C-down, 14°up [96 EDO], 7/8-tone up + std::pair( "accSagittalDoubleSharp23SDown", 0xE3E0 ), // glyphnumber: 94, Double sharp 23S-down + std::pair( "accSagittalDoubleSharp25SDown", 0xE32C ), // glyphnumber: 95, Double sharp 25S-down, 8°up [53 EDO] + std::pair( "accSagittalDoubleSharp49SDown", 0xE3E2 ), // glyphnumber: 96, Double sharp 49S-down + std::pair( "accSagittalDoubleSharp55CDown", 0xE362 ), // glyphnumber: 97, Double sharp 55C-down, 13° up [96 EDO], 13/16-tone up + std::pair( "accSagittalDoubleSharp5CDown", 0xE330 ), // glyphnumber: 98, Double sharp 5C-down, 5°[22 29] 7°[34 41] 9°53 up, 11/12 tone up + std::pair( "accSagittalDoubleSharp5v11SDown", 0xE35E ), // glyphnumber: 99, Double sharp 5:11S-down + std::pair( "accSagittalDoubleSharp5v19CDown", 0xE384 ), // glyphnumber: 100, Double sharp 5:19C-down, 19/20-tone up + std::pair( "accSagittalDoubleSharp5v23SDown", 0xE382 ), // glyphnumber: 101, Double sharp 5:23S-down, 8° up [60 EDO], 4/5-tone up + std::pair( "accSagittalDoubleSharp5v7kDown", 0xE332 ), // glyphnumber: 102, Double sharp 5:7k-down + std::pair( "accSagittalDoubleSharp7CDown", 0xE32E ), // glyphnumber: 103, Double sharp 7C-down, 5°[43] 10°[72] up, 5/6-tone up + std::pair( "accSagittalDoubleSharp7v11CDown", 0xE360 ), // glyphnumber: 104, Double sharp 7:11C-down, 9° up [60 EDO], 9/10-tone up + std::pair( "accSagittalDoubleSharp7v11kDown", 0xE366 ), // glyphnumber: 105, Double sharp 7:11k-down + std::pair( "accSagittalDoubleSharp7v19CDown", 0xE3E4 ), // glyphnumber: 106, Double sharp 7:19C-down + std::pair( "accSagittalFlat", 0xE319 ), // glyphnumber: 107, Flat, (apotome down)[almost all EDOs], 1/2-tone down + std::pair( "accSagittalFlat11LDown", 0xE329 ), // glyphnumber: 108, Flat 11L-down, 8° up [46 EDO] + std::pair( "accSagittalFlat11MDown", 0xE327 ), // glyphnumber: 109, Flat 11M-down, 3° down [17 31 EDOs], 7° down [46 EDO], 3/4-tone down + std::pair( "accSagittalFlat11v19LDown", 0xE3DB ), // glyphnumber: 110, Flat 11:19L-down + std::pair( "accSagittalFlat11v19MDown", 0xE3D3 ), // glyphnumber: 111, Flat 11:19M-down + std::pair( "accSagittalFlat11v49CDown", 0xE3C7 ), // glyphnumber: 112, Flat 11:49C-down + std::pair( "accSagittalFlat11v49CUp", 0xE3B9 ), // glyphnumber: 113, Flat 11:49C-up + std::pair( "accSagittalFlat143CDown", 0xE3C5 ), // glyphnumber: 114, Flat 143C-down + std::pair( "accSagittalFlat143CUp", 0xE3BB ), // glyphnumber: 115, Flat 143C-up + std::pair( "accSagittalFlat17CDown", 0xE357 ), // glyphnumber: 116, Flat 17C-down + std::pair( "accSagittalFlat17CUp", 0xE351 ), // glyphnumber: 117, Flat 17C-up + std::pair( "accSagittalFlat17kDown", 0xE3C3 ), // glyphnumber: 118, Flat 17k-down + std::pair( "accSagittalFlat17kUp", 0xE3BD ), // glyphnumber: 119, Flat 17k-up + std::pair( "accSagittalFlat19CDown", 0xE3C9 ), // glyphnumber: 120, Flat 19C-down + std::pair( "accSagittalFlat19CUp", 0xE3B7 ), // glyphnumber: 121, Flat 19C-up + std::pair( "accSagittalFlat19sDown", 0xE3C1 ), // glyphnumber: 122, Flat 19s-down + std::pair( "accSagittalFlat19sUp", 0xE3BF ), // glyphnumber: 123, Flat 19s-up + std::pair( "accSagittalFlat23CDown", 0xE37D ), // glyphnumber: 124, Flat 23C-down, 10° down [96 EDO], 5/8-tone down + std::pair( "accSagittalFlat23CUp", 0xE37B ), // glyphnumber: 125, Flat 23C-up, 6° down [96 EDO], 3/8-tone down + std::pair( "accSagittalFlat23SDown", 0xE3CF ), // glyphnumber: 126, Flat 23S-down + std::pair( "accSagittalFlat23SUp", 0xE3B1 ), // glyphnumber: 127, Flat 23S-up + std::pair( "accSagittalFlat25SDown", 0xE323 ), // glyphnumber: 128, Flat 25S-down, 7° down [53 EDO] + std::pair( "accSagittalFlat25SUp", 0xE311 ), // glyphnumber: 129, Flat 25S-up, 3° down [53 EDO] + std::pair( "accSagittalFlat35LDown", 0xE32B ), // glyphnumber: 130, Flat 35L-down, 5° down [50 EDO] + std::pair( "accSagittalFlat35MDown", 0xE325 ), // glyphnumber: 131, Flat 35M-down, 4° down [50 EDO], 6° down [27 EDO], 13/18-tone down + std::pair( "accSagittalFlat49LDown", 0xE3D9 ), // glyphnumber: 132, Flat 49L-down + std::pair( "accSagittalFlat49MDown", 0xE3D5 ), // glyphnumber: 133, Flat 49M-down + std::pair( "accSagittalFlat49SDown", 0xE3CD ), // glyphnumber: 134, Flat 49S-down + std::pair( "accSagittalFlat49SUp", 0xE3B3 ), // glyphnumber: 135, Flat 49S-up + std::pair( "accSagittalFlat55CDown", 0xE359 ), // glyphnumber: 136, Flat 55C-down, 11° down [96 EDO], 11/16-tone down + std::pair( "accSagittalFlat55CUp", 0xE34F ), // glyphnumber: 137, Flat 55C-up, 5° down [96 EDO], 5/16-tone down + std::pair( "accSagittalFlat5CDown", 0xE31F ), // glyphnumber: 138, Flat 5C-down, 4°[22 29] 5°[27 34 41] 6°[39 46 53] down, 7/12-tone down + std::pair( "accSagittalFlat5CUp", 0xE315 ), // glyphnumber: 139, Flat 5C-up, 2°[22,29] 3°[34 41] 4°[46 53 60] down, 5/12-tone down + std::pair( "accSagittalFlat5v11SDown", 0xE35D ), // glyphnumber: 140, Flat 5:11S-down + std::pair( "accSagittalFlat5v11SUp", 0xE34B ), // glyphnumber: 141, Flat 5:11S-up + std::pair( "accSagittalFlat5v13LDown", 0xE3DD ), // glyphnumber: 142, Flat 5:13L-down + std::pair( "accSagittalFlat5v13MDown", 0xE3D1 ), // glyphnumber: 143, Flat 5:13M-down + std::pair( "accSagittalFlat5v19CDown", 0xE37F ), // glyphnumber: 144, Flat 5:19C-down, 11/20-tone down + std::pair( "accSagittalFlat5v19CUp", 0xE379 ), // glyphnumber: 145, Flat 5:19C-up, 9/20-tone down + std::pair( "accSagittalFlat5v23SDown", 0xE381 ), // glyphnumber: 146, Flat 5:23S-down, 7° down [60 EDO], 7/10-tone down + std::pair( "accSagittalFlat5v23SUp", 0xE377 ), // glyphnumber: 147, Flat 5:23S-up, 3° down [60 EDO], 3/10-tone down + std::pair( "accSagittalFlat5v49MDown", 0xE3D7 ), // glyphnumber: 148, Flat 5:49M-down + std::pair( "accSagittalFlat5v7kDown", 0xE31D ), // glyphnumber: 149, Flat 5:7k-down + std::pair( "accSagittalFlat5v7kUp", 0xE317 ), // glyphnumber: 150, Flat 5:7k-up + std::pair( "accSagittalFlat7CDown", 0xE321 ), // glyphnumber: 151, Flat 7C-down, 4° down [43 EDO], 8° down [72 EDO], 2/3-tone down + std::pair( "accSagittalFlat7CUp", 0xE313 ), // glyphnumber: 152, Flat 7C-up, 2° down [43 EDO], 4° down [72 EDO], 1/3-tone down + std::pair( "accSagittalFlat7v11CDown", 0xE35B ), // glyphnumber: 153, Flat 7:11C-down, 6° down [60 EDO], 3/5- tone down + std::pair( "accSagittalFlat7v11CUp", 0xE34D ), // glyphnumber: 154, Flat 7:11C-up, 4° down [60 EDO], 2/5-tone down + std::pair( "accSagittalFlat7v11kDown", 0xE355 ), // glyphnumber: 155, Flat 7:11k-down + std::pair( "accSagittalFlat7v11kUp", 0xE353 ), // glyphnumber: 156, Flat 7:11k-up + std::pair( "accSagittalFlat7v19CDown", 0xE3CB ), // glyphnumber: 157, Flat 7:19C-down + std::pair( "accSagittalFlat7v19CUp", 0xE3B5 ), // glyphnumber: 158, Flat 7:19C-up + std::pair( "accSagittalGrave", 0xE3F3 ), // glyphnumber: 159, Grave, 5 schisma down, 2 cents down + std::pair( "accSagittalShaftDown", 0xE3F1 ), // glyphnumber: 160, Shaft down, (natural for use with only diacritics down) + std::pair( "accSagittalShaftUp", 0xE3F0 ), // glyphnumber: 161, Shaft up, (natural for use with only diacritics up) + std::pair( "accSagittalSharp", 0xE318 ), // glyphnumber: 162, Sharp, (apotome up)[almost all EDOs], 1/2-tone up + std::pair( "accSagittalSharp11LUp", 0xE328 ), // glyphnumber: 163, Sharp 11L-up, 8° up [46 EDO] + std::pair( "accSagittalSharp11MUp", 0xE326 ), // glyphnumber: 164, Sharp 11M-up, 3° up [17 31 EDOs], 7° up [46 EDO], 3/4-tone up + std::pair( "accSagittalSharp11v19LUp", 0xE3DA ), // glyphnumber: 165, Sharp 11:19L-up + std::pair( "accSagittalSharp11v19MUp", 0xE3D2 ), // glyphnumber: 166, Sharp 11:19M-up + std::pair( "accSagittalSharp11v49CDown", 0xE3B8 ), // glyphnumber: 167, Sharp 11:49C-down + std::pair( "accSagittalSharp11v49CUp", 0xE3C6 ), // glyphnumber: 168, Sharp 11:49C-up + std::pair( "accSagittalSharp143CDown", 0xE3BA ), // glyphnumber: 169, Sharp 143C-down + std::pair( "accSagittalSharp143CUp", 0xE3C4 ), // glyphnumber: 170, Sharp 143C-up + std::pair( "accSagittalSharp17CDown", 0xE350 ), // glyphnumber: 171, Sharp 17C-down + std::pair( "accSagittalSharp17CUp", 0xE356 ), // glyphnumber: 172, Sharp 17C-up + std::pair( "accSagittalSharp17kDown", 0xE3BC ), // glyphnumber: 173, Sharp 17k-down + std::pair( "accSagittalSharp17kUp", 0xE3C2 ), // glyphnumber: 174, Sharp 17k-up + std::pair( "accSagittalSharp19CDown", 0xE3B6 ), // glyphnumber: 175, Sharp 19C-down + std::pair( "accSagittalSharp19CUp", 0xE3C8 ), // glyphnumber: 176, Sharp 19C-up + std::pair( "accSagittalSharp19sDown", 0xE3BE ), // glyphnumber: 177, Sharp 19s-down + std::pair( "accSagittalSharp19sUp", 0xE3C0 ), // glyphnumber: 178, Sharp 19s-up + std::pair( "accSagittalSharp23CDown", 0xE37A ), // glyphnumber: 179, Sharp 23C-down, 6° up [96 EDO], 3/8-tone up + std::pair( "accSagittalSharp23CUp", 0xE37C ), // glyphnumber: 180, Sharp 23C-up, 10° up [96 EDO], 5/8-tone up + std::pair( "accSagittalSharp23SDown", 0xE3B0 ), // glyphnumber: 181, Sharp 23S-down + std::pair( "accSagittalSharp23SUp", 0xE3CE ), // glyphnumber: 182, Sharp 23S-up + std::pair( "accSagittalSharp25SDown", 0xE310 ), // glyphnumber: 183, Sharp 25S-down, 3° up [53 EDO] + std::pair( "accSagittalSharp25SUp", 0xE322 ), // glyphnumber: 184, Sharp 25S-up, 7° up [53 EDO] + std::pair( "accSagittalSharp35LUp", 0xE32A ), // glyphnumber: 185, Sharp 35L-up, 5° up [50 EDO] + std::pair( "accSagittalSharp35MUp", 0xE324 ), // glyphnumber: 186, Sharp 35M-up, 4° up [50 EDO], 6° up [27 EDO], 13/18-tone up + std::pair( "accSagittalSharp49LUp", 0xE3D8 ), // glyphnumber: 187, Sharp 49L-up + std::pair( "accSagittalSharp49MUp", 0xE3D4 ), // glyphnumber: 188, Sharp 49M-up + std::pair( "accSagittalSharp49SDown", 0xE3B2 ), // glyphnumber: 189, Sharp 49S-down + std::pair( "accSagittalSharp49SUp", 0xE3CC ), // glyphnumber: 190, Sharp 49S-up + std::pair( "accSagittalSharp55CDown", 0xE34E ), // glyphnumber: 191, Sharp 55C-down, 5° up [96 EDO], 5/16-tone up + std::pair( "accSagittalSharp55CUp", 0xE358 ), // glyphnumber: 192, Sharp 55C-up, 11° up [96 EDO], 11/16-tone up + std::pair( "accSagittalSharp5CDown", 0xE314 ), // glyphnumber: 193, Sharp 5C-down, 2°[22 29] 3°[34 41] 4°[46 53 60] up, 5/12-tone up + std::pair( "accSagittalSharp5CUp", 0xE31E ), // glyphnumber: 194, Sharp 5C-up, 4°[22 29] 5°[27 34 41] 6°[39 46 53] up, 7/12-tone up + std::pair( "accSagittalSharp5v11SDown", 0xE34A ), // glyphnumber: 195, Sharp 5:11S-down + std::pair( "accSagittalSharp5v11SUp", 0xE35C ), // glyphnumber: 196, Sharp 5:11S-up + std::pair( "accSagittalSharp5v13LUp", 0xE3DC ), // glyphnumber: 197, Sharp 5:13L-up + std::pair( "accSagittalSharp5v13MUp", 0xE3D0 ), // glyphnumber: 198, Sharp 5:13M-up + std::pair( "accSagittalSharp5v19CDown", 0xE378 ), // glyphnumber: 199, Sharp 5:19C-down, 9/20-tone up + std::pair( "accSagittalSharp5v19CUp", 0xE37E ), // glyphnumber: 200, Sharp 5:19C-up, 11/20-tone up + std::pair( "accSagittalSharp5v23SDown", 0xE376 ), // glyphnumber: 201, Sharp 5:23S-down, 3° up [60 EDO], 3/10-tone up + std::pair( "accSagittalSharp5v23SUp", 0xE380 ), // glyphnumber: 202, Sharp 5:23S-up, 7° up [60 EDO], 7/10-tone up + std::pair( "accSagittalSharp5v49MUp", 0xE3D6 ), // glyphnumber: 203, Sharp 5:49M-up, (one and a half apotomes) + std::pair( "accSagittalSharp5v7kDown", 0xE316 ), // glyphnumber: 204, Sharp 5:7k-down + std::pair( "accSagittalSharp5v7kUp", 0xE31C ), // glyphnumber: 205, Sharp 5:7k-up + std::pair( "accSagittalSharp7CDown", 0xE312 ), // glyphnumber: 206, Sharp 7C-down, 2° up [43 EDO], 4° up [72 EDO], 1/3-tone up + std::pair( "accSagittalSharp7CUp", 0xE320 ), // glyphnumber: 207, Sharp 7C-up, 4° up [43 EDO], 8° up [72 EDO], 2/3-tone up + std::pair( "accSagittalSharp7v11CDown", 0xE34C ), // glyphnumber: 208, Sharp 7:11C-down, 4° up [60 EDO], 2/5-tone up + std::pair( "accSagittalSharp7v11CUp", 0xE35A ), // glyphnumber: 209, Sharp 7:11C-up, 6° up [60 EDO], 3/5- tone up + std::pair( "accSagittalSharp7v11kDown", 0xE352 ), // glyphnumber: 210, Sharp 7:11k-down + std::pair( "accSagittalSharp7v11kUp", 0xE354 ), // glyphnumber: 211, Sharp 7:11k-up + std::pair( "accSagittalSharp7v19CDown", 0xE3B4 ), // glyphnumber: 212, Sharp 7:19C-down + std::pair( "accSagittalSharp7v19CUp", 0xE3CA ), // glyphnumber: 213, Sharp 7:19C-up + std::pair( "accSagittalUnused1", 0xE31A ), // glyphnumber: 214, Unused + std::pair( "accSagittalUnused2", 0xE31B ), // glyphnumber: 215, Unused + std::pair( "accSagittalUnused3", 0xE3DE ), // glyphnumber: 216, Unused + std::pair( "accSagittalUnused4", 0xE3DF ), // glyphnumber: 217, Unused + std::pair( "accdnCombDot", 0xE8CA ), // glyphnumber: 218, Combining accordion coupler dot + std::pair( "accdnCombLH2RanksEmpty", 0xE8C8 ), // glyphnumber: 219, Combining left hand, 2 ranks, empty + std::pair( "accdnCombLH3RanksEmptySquare", 0xE8C9 ), // glyphnumber: 220, Combining left hand, 3 ranks, empty (square) + std::pair( "accdnCombRH3RanksEmpty", 0xE8C6 ), // glyphnumber: 221, Combining right hand, 3 ranks, empty + std::pair( "accdnCombRH4RanksEmpty", 0xE8C7 ), // glyphnumber: 222, Combining right hand, 4 ranks, empty + std::pair( "accdnDiatonicClef", 0xE079 ), // glyphnumber: 223, Diatonic accordion clef + std::pair( "accdnLH2Ranks16Round", 0xE8BC ), // glyphnumber: 224, Left hand, 2 ranks, 16' stop (round) + std::pair( "accdnLH2Ranks8Plus16Round", 0xE8BD ), // glyphnumber: 225, Left hand, 2 ranks, 8' stop + 16' stop (round) + std::pair( "accdnLH2Ranks8Round", 0xE8BB ), // glyphnumber: 226, Left hand, 2 ranks, 8' stop (round) + std::pair( "accdnLH2RanksFullMasterRound", 0xE8C0 ), // glyphnumber: 227, Left hand, 2 ranks, full master (round) + std::pair( "accdnLH2RanksMasterPlus16Round", 0xE8BF ), // glyphnumber: 228, Left hand, 2 ranks, master + 16' stop (round) + std::pair( "accdnLH2RanksMasterRound", 0xE8BE ), // glyphnumber: 229, Left hand, 2 ranks, master (round) + std::pair( "accdnLH3Ranks2Plus8Square", 0xE8C4 ), // glyphnumber: 230, Left hand, 3 ranks, 2' stop + 8' stop (square) + std::pair( "accdnLH3Ranks2Square", 0xE8C2 ), // glyphnumber: 231, Left hand, 3 ranks, 2' stop (square) + std::pair( "accdnLH3Ranks8Square", 0xE8C1 ), // glyphnumber: 232, Left hand, 3 ranks, 8' stop (square) + std::pair( "accdnLH3RanksDouble8Square", 0xE8C3 ), // glyphnumber: 233, Left hand, 3 ranks, double 8' stop (square) + std::pair( "accdnLH3RanksTuttiSquare", 0xE8C5 ), // glyphnumber: 234, Left hand, 3 ranks, 2' stop + double 8' stop (tutti) (square) + std::pair( "accdnPull", 0xE8CC ), // glyphnumber: 235, Pull + std::pair( "accdnPush", 0xE8CB ), // glyphnumber: 236, Push + std::pair( "accdnRH3RanksAccordion", 0xE8AC ), // glyphnumber: 237, Right hand, 3 ranks, 8' stop + upper tremolo 8' stop + 16' stop (accordion) + std::pair( "accdnRH3RanksAuthenticMusette", 0xE8A8 ), // glyphnumber: 238, Right hand, 3 ranks, lower tremolo 8' stop + 8' stop + upper tremolo 8' stop (authentic musette) + std::pair( "accdnRH3RanksBandoneon", 0xE8AB ), // glyphnumber: 239, Right hand, 3 ranks, 8' stop + 16' stop (bandoneón) + std::pair( "accdnRH3RanksBassoon", 0xE8A4 ), // glyphnumber: 240, Right hand, 3 ranks, 16' stop (bassoon) + std::pair( "accdnRH3RanksClarinet", 0xE8A1 ), // glyphnumber: 241, Right hand, 3 ranks, 8' stop (clarinet) + std::pair( "accdnRH3RanksDoubleTremoloLower8ve", 0xE8B1 ), // glyphnumber: 242, Right hand, 3 ranks, lower tremolo 8' stop + 8' stop + upper tremolo 8' stop + 16' stop + std::pair( "accdnRH3RanksDoubleTremoloUpper8ve", 0xE8B2 ), // glyphnumber: 243, Right hand, 3 ranks, 4' stop + lower tremolo 8' stop + 8' stop + upper tremolo 8' stop + std::pair( "accdnRH3RanksFullFactory", 0xE8B3 ), // glyphnumber: 244, Right hand, 3 ranks, 4' stop + lower tremolo 8' stop + 8' stop + upper tremolo 8' stop + 16' stop + std::pair( "accdnRH3RanksHarmonium", 0xE8AA ), // glyphnumber: 245, Right hand, 3 ranks, 4' stop + 8' stop + 16' stop (harmonium) + std::pair( "accdnRH3RanksImitationMusette", 0xE8A7 ), // glyphnumber: 246, Right hand, 3 ranks, 4' stop + 8' stop + upper tremolo 8' stop (imitation musette) + std::pair( "accdnRH3RanksLowerTremolo8", 0xE8A3 ), // glyphnumber: 247, Right hand, 3 ranks, lower tremolo 8' stop + std::pair( "accdnRH3RanksMaster", 0xE8AD ), // glyphnumber: 248, Right hand, 3 ranks, 4' stop + lower tremolo 8' stop + upper tremolo 8' stop + 16' stop (master) + std::pair( "accdnRH3RanksOboe", 0xE8A5 ), // glyphnumber: 249, Right hand, 3 ranks, 4' stop + 8' stop (oboe) + std::pair( "accdnRH3RanksOrgan", 0xE8A9 ), // glyphnumber: 250, Right hand, 3 ranks, 4' stop + 16' stop (organ) + std::pair( "accdnRH3RanksPiccolo", 0xE8A0 ), // glyphnumber: 251, Right hand, 3 ranks, 4' stop (piccolo) + std::pair( "accdnRH3RanksTremoloLower8ve", 0xE8AF ), // glyphnumber: 252, Right hand, 3 ranks, lower tremolo 8' stop + upper tremolo 8' stop + 16' stop + std::pair( "accdnRH3RanksTremoloUpper8ve", 0xE8B0 ), // glyphnumber: 253, Right hand, 3 ranks, 4' stop + lower tremolo 8' stop + upper tremolo 8' stop + std::pair( "accdnRH3RanksTwoChoirs", 0xE8AE ), // glyphnumber: 254, Right hand, 3 ranks, lower tremolo 8' stop + upper tremolo 8' stop + std::pair( "accdnRH3RanksUpperTremolo8", 0xE8A2 ), // glyphnumber: 255, Right hand, 3 ranks, upper tremolo 8' stop + std::pair( "accdnRH3RanksViolin", 0xE8A6 ), // glyphnumber: 256, Right hand, 3 ranks, 8' stop + upper tremolo 8' stop (violin) + std::pair( "accdnRH4RanksAlto", 0xE8B5 ), // glyphnumber: 257, Right hand, 4 ranks, alto + std::pair( "accdnRH4RanksBassAlto", 0xE8BA ), // glyphnumber: 258, Right hand, 4 ranks, bass/alto + std::pair( "accdnRH4RanksMaster", 0xE8B7 ), // glyphnumber: 259, Right hand, 4 ranks, master + std::pair( "accdnRH4RanksSoftBass", 0xE8B8 ), // glyphnumber: 260, Right hand, 4 ranks, soft bass + std::pair( "accdnRH4RanksSoftTenor", 0xE8B9 ), // glyphnumber: 261, Right hand, 4 ranks, soft tenor + std::pair( "accdnRH4RanksSoprano", 0xE8B4 ), // glyphnumber: 262, Right hand, 4 ranks, soprano + std::pair( "accdnRH4RanksTenor", 0xE8B6 ), // glyphnumber: 263, Right hand, 4 ranks, tenor + std::pair( "accdnRicochet2", 0xE8CD ), // glyphnumber: 264, Ricochet (2 tones) + std::pair( "accdnRicochet3", 0xE8CE ), // glyphnumber: 265, Ricochet (3 tones) + std::pair( "accdnRicochet4", 0xE8CF ), // glyphnumber: 266, Ricochet (4 tones) + std::pair( "accdnRicochet5", 0xE8D0 ), // glyphnumber: 267, Ricochet (5 tones) + std::pair( "accdnRicochet6", 0xE8D1 ), // glyphnumber: 268, Ricochet (6 tones) + std::pair( "accdnRicochetStem2", 0xE8D2 ), // glyphnumber: 269, Combining ricochet for stem (2 tones) + std::pair( "accdnRicochetStem3", 0xE8D3 ), // glyphnumber: 270, Combining ricochet for stem (3 tones) + std::pair( "accdnRicochetStem4", 0xE8D4 ), // glyphnumber: 271, Combining ricochet for stem (4 tones) + std::pair( "accdnRicochetStem5", 0xE8D5 ), // glyphnumber: 272, Combining ricochet for stem (5 tones) + std::pair( "accdnRicochetStem6", 0xE8D6 ), // glyphnumber: 273, Combining ricochet for stem (6 tones) + std::pair( "accidental1CommaFlat", 0xE454 ), // glyphnumber: 274, 1-comma flat + std::pair( "accidental1CommaSharp", 0xE450 ), // glyphnumber: 275, 1-comma sharp + std::pair( "accidental2CommaFlat", 0xE455 ), // glyphnumber: 276, 2-comma flat + std::pair( "accidental2CommaSharp", 0xE451 ), // glyphnumber: 277, 2-comma sharp + std::pair( "accidental3CommaFlat", 0xE456 ), // glyphnumber: 278, 3-comma flat + std::pair( "accidental3CommaSharp", 0xE452 ), // glyphnumber: 279, 3-comma sharp + std::pair( "accidental4CommaFlat", 0xE457 ), // glyphnumber: 280, 4-comma flat + std::pair( "accidental5CommaSharp", 0xE453 ), // glyphnumber: 281, 5-comma sharp + std::pair( "accidentalArrowDown", 0xE27B ), // glyphnumber: 282, Arrow down (lower by one quarter-tone) + std::pair( "accidentalArrowUp", 0xE27A ), // glyphnumber: 283, Arrow up (raise by one quarter-tone) + std::pair( "accidentalBakiyeFlat", 0xE442 ), // glyphnumber: 284, Bakiye (flat) + std::pair( "accidentalBakiyeSharp", 0xE445 ), // glyphnumber: 285, Bakiye (sharp) + std::pair( "accidentalBracketLeft", 0xE26C ), // glyphnumber: 286, Accidental bracket, left + std::pair( "accidentalBracketRight", 0xE26D ), // glyphnumber: 287, Accidental bracket, right + std::pair( "accidentalBuyukMucennebFlat", 0xE440 ), // glyphnumber: 288, Büyük mücenneb (flat) + std::pair( "accidentalBuyukMucennebSharp", 0xE447 ), // glyphnumber: 289, Büyük mücenneb (sharp) + std::pair( "accidentalCombiningCloseCurlyBrace", 0xE2EF ), // glyphnumber: 290, Combining close curly brace + std::pair( "accidentalCombiningLower17Schisma", 0xE2E6 ), // glyphnumber: 291, Combining lower by one 17-limit schisma + std::pair( "accidentalCombiningLower19Schisma", 0xE2E8 ), // glyphnumber: 292, Combining lower by one 19-limit schisma + std::pair( "accidentalCombiningLower23Limit29LimitComma", 0xE2EA ), // glyphnumber: 293, Combining lower by one 23-limit comma or 29-limit comma + std::pair( "accidentalCombiningLower31Schisma", 0xE2EC ), // glyphnumber: 294, Combining lower by one 31-limit schisma + std::pair( "accidentalCombiningLower53LimitComma", 0xE2F7 ), // glyphnumber: 295, Combining lower by one 53-limit comma + std::pair( "accidentalCombiningOpenCurlyBrace", 0xE2EE ), // glyphnumber: 296, Combining open curly brace + std::pair( "accidentalCombiningRaise17Schisma", 0xE2E7 ), // glyphnumber: 297, Combining raise by one 17-limit schisma + std::pair( "accidentalCombiningRaise19Schisma", 0xE2E9 ), // glyphnumber: 298, Combining raise by one 19-limit schisma + std::pair( "accidentalCombiningRaise23Limit29LimitComma", 0xE2EB ), // glyphnumber: 299, Combining raise by one 23-limit comma or 29-limit comma + std::pair( "accidentalCombiningRaise31Schisma", 0xE2ED ), // glyphnumber: 300, Combining raise by one 31-limit schisma + std::pair( "accidentalCombiningRaise53LimitComma", 0xE2F8 ), // glyphnumber: 301, Combining raise by one 53-limit comma + std::pair( "accidentalCommaSlashDown", 0xE47A ), // glyphnumber: 302, Syntonic/Didymus comma (80:81) down (Bosanquet) + std::pair( "accidentalCommaSlashUp", 0xE479 ), // glyphnumber: 303, Syntonic/Didymus comma (80:81) up (Bosanquet) + std::pair( "accidentalDoubleFlat", 0xE264 ), // glyphnumber: 304, Double flat + std::pair( "accidentalDoubleFlatArabic", 0xED30 ), // glyphnumber: 305, Arabic double flat + std::pair( "accidentalDoubleFlatEqualTempered", 0xE2F0 ), // glyphnumber: 306, Double flat equal tempered semitone + std::pair( "accidentalDoubleFlatOneArrowDown", 0xE2C0 ), // glyphnumber: 307, Double flat lowered by one syntonic comma + std::pair( "accidentalDoubleFlatOneArrowUp", 0xE2C5 ), // glyphnumber: 308, Double flat raised by one syntonic comma + std::pair( "accidentalDoubleFlatReversed", 0xE483 ), // glyphnumber: 309, Reversed double flat + std::pair( "accidentalDoubleFlatThreeArrowsDown", 0xE2D4 ), // glyphnumber: 310, Double flat lowered by three syntonic commas + std::pair( "accidentalDoubleFlatThreeArrowsUp", 0xE2D9 ), // glyphnumber: 311, Double flat raised by three syntonic commas + std::pair( "accidentalDoubleFlatTurned", 0xE485 ), // glyphnumber: 312, Turned double flat + std::pair( "accidentalDoubleFlatTwoArrowsDown", 0xE2CA ), // glyphnumber: 313, Double flat lowered by two syntonic commas + std::pair( "accidentalDoubleFlatTwoArrowsUp", 0xE2CF ), // glyphnumber: 314, Double flat raised by two syntonic commas + std::pair( "accidentalDoubleSharp", 0xE263 ), // glyphnumber: 315, Double sharp + std::pair( "accidentalDoubleSharpArabic", 0xED38 ), // glyphnumber: 316, Arabic double sharp + std::pair( "accidentalDoubleSharpEqualTempered", 0xE2F4 ), // glyphnumber: 317, Double sharp equal tempered semitone + std::pair( "accidentalDoubleSharpOneArrowDown", 0xE2C4 ), // glyphnumber: 318, Double sharp lowered by one syntonic comma + std::pair( "accidentalDoubleSharpOneArrowUp", 0xE2C9 ), // glyphnumber: 319, Double sharp raised by one syntonic comma + std::pair( "accidentalDoubleSharpThreeArrowsDown", 0xE2D8 ), // glyphnumber: 320, Double sharp lowered by three syntonic commas + std::pair( "accidentalDoubleSharpThreeArrowsUp", 0xE2DD ), // glyphnumber: 321, Double sharp raised by three syntonic commas + std::pair( "accidentalDoubleSharpTwoArrowsDown", 0xE2CE ), // glyphnumber: 322, Double sharp lowered by two syntonic commas + std::pair( "accidentalDoubleSharpTwoArrowsUp", 0xE2D3 ), // glyphnumber: 323, Double sharp raised by two syntonic commas + std::pair( "accidentalEnharmonicAlmostEqualTo", 0xE2FA ), // glyphnumber: 324, Enharmonically reinterpret accidental almost equal to + std::pair( "accidentalEnharmonicEquals", 0xE2FB ), // glyphnumber: 325, Enharmonically reinterpret accidental equals + std::pair( "accidentalEnharmonicTilde", 0xE2F9 ), // glyphnumber: 326, Enharmonically reinterpret accidental tilde + std::pair( "accidentalFilledReversedFlatAndFlat", 0xE296 ), // glyphnumber: 327, Filled reversed flat and flat + std::pair( "accidentalFilledReversedFlatAndFlatArrowDown", 0xE298 ), // glyphnumber: 328, Filled reversed flat and flat with arrow down + std::pair( "accidentalFilledReversedFlatAndFlatArrowUp", 0xE297 ), // glyphnumber: 329, Filled reversed flat and flat with arrow up + std::pair( "accidentalFilledReversedFlatArrowDown", 0xE293 ), // glyphnumber: 330, Filled reversed flat with arrow down + std::pair( "accidentalFilledReversedFlatArrowUp", 0xE292 ), // glyphnumber: 331, Filled reversed flat with arrow up + std::pair( "accidentalFiveQuarterTonesFlatArrowDown", 0xE279 ), // glyphnumber: 332, Five-quarter-tones flat + std::pair( "accidentalFiveQuarterTonesSharpArrowUp", 0xE276 ), // glyphnumber: 333, Five-quarter-tones sharp + std::pair( "accidentalFlat", 0xE260 ), // glyphnumber: 334, Flat + std::pair( "accidentalFlatArabic", 0xED32 ), // glyphnumber: 335, Arabic half-tone flat + std::pair( "accidentalFlatEqualTempered", 0xE2F1 ), // glyphnumber: 336, Flat equal tempered semitone + std::pair( "accidentalFlatLoweredStockhausen", 0xED53 ), // glyphnumber: 337, Lowered flat (Stockhausen) + std::pair( "accidentalFlatOneArrowDown", 0xE2C1 ), // glyphnumber: 338, Flat lowered by one syntonic comma + std::pair( "accidentalFlatOneArrowUp", 0xE2C6 ), // glyphnumber: 339, Flat raised by one syntonic comma + std::pair( "accidentalFlatRaisedStockhausen", 0xED52 ), // glyphnumber: 340, Raised flat (Stockhausen) + std::pair( "accidentalFlatRepeatedLineStockhausen", 0xED5C ), // glyphnumber: 341, Repeated flat, note on line (Stockhausen) + std::pair( "accidentalFlatRepeatedSpaceStockhausen", 0xED5B ), // glyphnumber: 342, Repeated flat, note in space (Stockhausen) + std::pair( "accidentalFlatThreeArrowsDown", 0xE2D5 ), // glyphnumber: 343, Flat lowered by three syntonic commas + std::pair( "accidentalFlatThreeArrowsUp", 0xE2DA ), // glyphnumber: 344, Flat raised by three syntonic commas + std::pair( "accidentalFlatTurned", 0xE484 ), // glyphnumber: 345, Turned flat + std::pair( "accidentalFlatTwoArrowsDown", 0xE2CB ), // glyphnumber: 346, Flat lowered by two syntonic commas + std::pair( "accidentalFlatTwoArrowsUp", 0xE2D0 ), // glyphnumber: 347, Flat raised by two syntonic commas + std::pair( "accidentalHalfSharpArrowDown", 0xE29A ), // glyphnumber: 348, Half sharp with arrow down + std::pair( "accidentalHalfSharpArrowUp", 0xE299 ), // glyphnumber: 349, Half sharp with arrow up + std::pair( "accidentalJohnston13", 0xE2B6 ), // glyphnumber: 350, Thirteen (raise by 65:64) + std::pair( "accidentalJohnston31", 0xE2B7 ), // glyphnumber: 351, Inverted 13 (lower by 65:64) + std::pair( "accidentalJohnstonDown", 0xE2B5 ), // glyphnumber: 352, Down arrow (lower by 33:32) + std::pair( "accidentalJohnstonEl", 0xE2B2 ), // glyphnumber: 353, Inverted seven (raise by 36:35) + std::pair( "accidentalJohnstonMinus", 0xE2B1 ), // glyphnumber: 354, Minus (lower by 81:80) + std::pair( "accidentalJohnstonPlus", 0xE2B0 ), // glyphnumber: 355, Plus (raise by 81:80) + std::pair( "accidentalJohnstonSeven", 0xE2B3 ), // glyphnumber: 356, Seven (lower by 36:35) + std::pair( "accidentalJohnstonUp", 0xE2B4 ), // glyphnumber: 357, Up arrow (raise by 33:32) + std::pair( "accidentalKomaFlat", 0xE443 ), // glyphnumber: 358, Koma (flat) + std::pair( "accidentalKomaSharp", 0xE444 ), // glyphnumber: 359, Koma (sharp) + std::pair( "accidentalKoron", 0xE460 ), // glyphnumber: 360, Koron (quarter tone flat) + std::pair( "accidentalKucukMucennebFlat", 0xE441 ), // glyphnumber: 361, Küçük mücenneb (flat) + std::pair( "accidentalKucukMucennebSharp", 0xE446 ), // glyphnumber: 362, Küçük mücenneb (sharp) + std::pair( "accidentalLargeDoubleSharp", 0xE47D ), // glyphnumber: 363, Large double sharp + std::pair( "accidentalLowerOneSeptimalComma", 0xE2DE ), // glyphnumber: 364, Lower by one septimal comma + std::pair( "accidentalLowerOneTridecimalQuartertone", 0xE2E4 ), // glyphnumber: 365, Lower by one tridecimal quartertone + std::pair( "accidentalLowerOneUndecimalQuartertone", 0xE2E2 ), // glyphnumber: 366, Lower by one undecimal quartertone + std::pair( "accidentalLowerTwoSeptimalCommas", 0xE2E0 ), // glyphnumber: 367, Lower by two septimal commas + std::pair( "accidentalLoweredStockhausen", 0xED51 ), // glyphnumber: 368, Lowered (Stockhausen) + std::pair( "accidentalNarrowReversedFlat", 0xE284 ), // glyphnumber: 369, Narrow reversed flat(quarter-tone flat) + std::pair( "accidentalNarrowReversedFlatAndFlat", 0xE285 ), // glyphnumber: 370, Narrow reversed flat and flat(three-quarter-tones flat) + std::pair( "accidentalNatural", 0xE261 ), // glyphnumber: 371, Natural + std::pair( "accidentalNaturalArabic", 0xED34 ), // glyphnumber: 372, Arabic natural + std::pair( "accidentalNaturalEqualTempered", 0xE2F2 ), // glyphnumber: 373, Natural equal tempered semitone + std::pair( "accidentalNaturalFlat", 0xE267 ), // glyphnumber: 374, Natural flat + std::pair( "accidentalNaturalLoweredStockhausen", 0xED55 ), // glyphnumber: 375, Lowered natural (Stockhausen) + std::pair( "accidentalNaturalOneArrowDown", 0xE2C2 ), // glyphnumber: 376, Natural lowered by one syntonic comma + std::pair( "accidentalNaturalOneArrowUp", 0xE2C7 ), // glyphnumber: 377, Natural raised by one syntonic comma + std::pair( "accidentalNaturalRaisedStockhausen", 0xED54 ), // glyphnumber: 378, Raised natural (Stockhausen) + std::pair( "accidentalNaturalReversed", 0xE482 ), // glyphnumber: 379, Reversed natural + std::pair( "accidentalNaturalSharp", 0xE268 ), // glyphnumber: 380, Natural sharp + std::pair( "accidentalNaturalThreeArrowsDown", 0xE2D6 ), // glyphnumber: 381, Natural lowered by three syntonic commas + std::pair( "accidentalNaturalThreeArrowsUp", 0xE2DB ), // glyphnumber: 382, Natural raised by three syntonic commas + std::pair( "accidentalNaturalTwoArrowsDown", 0xE2CC ), // glyphnumber: 383, Natural lowered by two syntonic commas + std::pair( "accidentalNaturalTwoArrowsUp", 0xE2D1 ), // glyphnumber: 384, Natural raised by two syntonic commas + std::pair( "accidentalOneAndAHalfSharpsArrowDown", 0xE29C ), // glyphnumber: 385, One and a half sharps with arrow down + std::pair( "accidentalOneAndAHalfSharpsArrowUp", 0xE29B ), // glyphnumber: 386, One and a half sharps with arrow up + std::pair( "accidentalOneQuarterToneFlatFerneyhough", 0xE48F ), // glyphnumber: 387, One-quarter-tone flat (Ferneyhough) + std::pair( "accidentalOneQuarterToneFlatStockhausen", 0xED59 ), // glyphnumber: 388, One-quarter-tone flat (Stockhausen) + std::pair( "accidentalOneQuarterToneSharpFerneyhough", 0xE48E ), // glyphnumber: 389, One-quarter-tone sharp (Ferneyhough) + std::pair( "accidentalOneQuarterToneSharpStockhausen", 0xED58 ), // glyphnumber: 390, One-quarter-tone sharp (Stockhausen) + std::pair( "accidentalOneThirdToneFlatFerneyhough", 0xE48B ), // glyphnumber: 391, One-third-tone flat (Ferneyhough) + std::pair( "accidentalOneThirdToneSharpFerneyhough", 0xE48A ), // glyphnumber: 392, One-third-tone sharp (Ferneyhough) + std::pair( "accidentalParensLeft", 0xE26A ), // glyphnumber: 393, Accidental parenthesis, left + std::pair( "accidentalParensRight", 0xE26B ), // glyphnumber: 394, Accidental parenthesis, right + std::pair( "accidentalQuarterFlatEqualTempered", 0xE2F5 ), // glyphnumber: 395, Lower by one equal tempered quarter-tone + std::pair( "accidentalQuarterSharpEqualTempered", 0xE2F6 ), // glyphnumber: 396, Raise by one equal tempered quarter tone + std::pair( "accidentalQuarterToneFlat4", 0xE47F ), // glyphnumber: 397, Quarter-tone flat + std::pair( "accidentalQuarterToneFlatArabic", 0xED33 ), // glyphnumber: 398, Arabic quarter-tone flat + std::pair( "accidentalQuarterToneFlatArrowUp", 0xE270 ), // glyphnumber: 399, Quarter-tone flat + std::pair( "accidentalQuarterToneFlatFilledReversed", 0xE480 ), // glyphnumber: 400, Filled reversed flat (quarter-tone flat) + std::pair( "accidentalQuarterToneFlatNaturalArrowDown", 0xE273 ), // glyphnumber: 401, Quarter-tone flat + std::pair( "accidentalQuarterToneFlatPenderecki", 0xE478 ), // glyphnumber: 402, Quarter tone flat (Penderecki) + std::pair( "accidentalQuarterToneFlatStein", 0xE280 ), // glyphnumber: 403, Reversed flat (quarter-tone flat) (Stein) + std::pair( "accidentalQuarterToneFlatVanBlankenburg", 0xE488 ), // glyphnumber: 404, Quarter-tone flat (van Blankenburg) + std::pair( "accidentalQuarterToneSharp4", 0xE47E ), // glyphnumber: 405, Quarter-tone sharp + std::pair( "accidentalQuarterToneSharpArabic", 0xED35 ), // glyphnumber: 406, Arabic quarter-tone sharp + std::pair( "accidentalQuarterToneSharpArrowDown", 0xE275 ), // glyphnumber: 407, Quarter-tone sharp + std::pair( "accidentalQuarterToneSharpBusotti", 0xE472 ), // glyphnumber: 408, Quarter tone sharp (Bussotti) + std::pair( "accidentalQuarterToneSharpNaturalArrowUp", 0xE272 ), // glyphnumber: 409, Quarter-tone sharp + std::pair( "accidentalQuarterToneSharpStein", 0xE282 ), // glyphnumber: 410, Half sharp (quarter-tone sharp) (Stein) + std::pair( "accidentalQuarterToneSharpWiggle", 0xE475 ), // glyphnumber: 411, Quarter tone sharp with wiggly tail + std::pair( "accidentalRaiseOneSeptimalComma", 0xE2DF ), // glyphnumber: 412, Raise by one septimal comma + std::pair( "accidentalRaiseOneTridecimalQuartertone", 0xE2E5 ), // glyphnumber: 413, Raise by one tridecimal quartertone + std::pair( "accidentalRaiseOneUndecimalQuartertone", 0xE2E3 ), // glyphnumber: 414, Raise by one undecimal quartertone + std::pair( "accidentalRaiseTwoSeptimalCommas", 0xE2E1 ), // glyphnumber: 415, Raise by two septimal commas + std::pair( "accidentalRaisedStockhausen", 0xED50 ), // glyphnumber: 416, Raised (Stockhausen) + std::pair( "accidentalReversedFlatAndFlatArrowDown", 0xE295 ), // glyphnumber: 417, Reversed flat and flat with arrow down + std::pair( "accidentalReversedFlatAndFlatArrowUp", 0xE294 ), // glyphnumber: 418, Reversed flat and flat with arrow up + std::pair( "accidentalReversedFlatArrowDown", 0xE291 ), // glyphnumber: 419, Reversed flat with arrow down + std::pair( "accidentalReversedFlatArrowUp", 0xE290 ), // glyphnumber: 420, Reversed flat with arrow up + std::pair( "accidentalSharp", 0xE262 ), // glyphnumber: 421, Sharp + std::pair( "accidentalSharpArabic", 0xED36 ), // glyphnumber: 422, Arabic half-tone sharp + std::pair( "accidentalSharpEqualTempered", 0xE2F3 ), // glyphnumber: 423, Sharp equal tempered semitone + std::pair( "accidentalSharpLoweredStockhausen", 0xED57 ), // glyphnumber: 424, Lowered sharp (Stockhausen) + std::pair( "accidentalSharpOneArrowDown", 0xE2C3 ), // glyphnumber: 425, Sharp lowered by one syntonic comma + std::pair( "accidentalSharpOneArrowUp", 0xE2C8 ), // glyphnumber: 426, Sharp raised by one syntonic comma + std::pair( "accidentalSharpOneHorizontalStroke", 0xE473 ), // glyphnumber: 427, One or three quarter tones sharp + std::pair( "accidentalSharpRaisedStockhausen", 0xED56 ), // glyphnumber: 428, Raised sharp (Stockhausen) + std::pair( "accidentalSharpRepeatedLineStockhausen", 0xED5E ), // glyphnumber: 429, Repeated sharp, note on line (Stockhausen) + std::pair( "accidentalSharpRepeatedSpaceStockhausen", 0xED5D ), // glyphnumber: 430, Repeated sharp, note in space (Stockhausen) + std::pair( "accidentalSharpReversed", 0xE481 ), // glyphnumber: 431, Reversed sharp + std::pair( "accidentalSharpSharp", 0xE269 ), // glyphnumber: 432, Sharp sharp + std::pair( "accidentalSharpThreeArrowsDown", 0xE2D7 ), // glyphnumber: 433, Sharp lowered by three syntonic commas + std::pair( "accidentalSharpThreeArrowsUp", 0xE2DC ), // glyphnumber: 434, Sharp raised by three syntonic commas + std::pair( "accidentalSharpTwoArrowsDown", 0xE2CD ), // glyphnumber: 435, Sharp lowered by two syntonic commas + std::pair( "accidentalSharpTwoArrowsUp", 0xE2D2 ), // glyphnumber: 436, Sharp raised by two syntonic commas + std::pair( "accidentalSims12Down", 0xE2A0 ), // glyphnumber: 437, 1/12 tone low + std::pair( "accidentalSims12Up", 0xE2A3 ), // glyphnumber: 438, 1/12 tone high + std::pair( "accidentalSims4Down", 0xE2A2 ), // glyphnumber: 439, 1/4 tone low + std::pair( "accidentalSims4Up", 0xE2A5 ), // glyphnumber: 440, 1/4 tone high + std::pair( "accidentalSims6Down", 0xE2A1 ), // glyphnumber: 441, 1/6 tone low + std::pair( "accidentalSims6Up", 0xE2A4 ), // glyphnumber: 442, 1/6 tone high + std::pair( "accidentalSori", 0xE461 ), // glyphnumber: 443, Sori (quarter tone sharp) + std::pair( "accidentalTavenerFlat", 0xE477 ), // glyphnumber: 444, Byzantine-style Bakiye flat (Tavener) + std::pair( "accidentalTavenerSharp", 0xE476 ), // glyphnumber: 445, Byzantine-style Büyük mücenneb sharp (Tavener) + std::pair( "accidentalThreeQuarterTonesFlatArabic", 0xED31 ), // glyphnumber: 446, Arabic three-quarter-tones flat + std::pair( "accidentalThreeQuarterTonesFlatArrowDown", 0xE271 ), // glyphnumber: 447, Three-quarter-tones flat + std::pair( "accidentalThreeQuarterTonesFlatArrowUp", 0xE278 ), // glyphnumber: 448, Three-quarter-tones flat + std::pair( "accidentalThreeQuarterTonesFlatCouper", 0xE489 ), // glyphnumber: 449, Three-quarter-tones flat (Couper) + std::pair( "accidentalThreeQuarterTonesFlatGrisey", 0xE486 ), // glyphnumber: 450, Three-quarter-tones flat (Grisey) + std::pair( "accidentalThreeQuarterTonesFlatTartini", 0xE487 ), // glyphnumber: 451, Three-quarter-tones flat (Tartini) + std::pair( "accidentalThreeQuarterTonesFlatZimmermann", 0xE281 ), // glyphnumber: 452, Reversed flat and flat (three-quarter-tones flat)(Zimmermann) + std::pair( "accidentalThreeQuarterTonesSharpArabic", 0xED37 ), // glyphnumber: 453, Arabic three-quarter-tones sharp + std::pair( "accidentalThreeQuarterTonesSharpArrowDown", 0xE277 ), // glyphnumber: 454, Three-quarter-tones sharp + std::pair( "accidentalThreeQuarterTonesSharpArrowUp", 0xE274 ), // glyphnumber: 455, Three-quarter-tones sharp + std::pair( "accidentalThreeQuarterTonesSharpBusotti", 0xE474 ), // glyphnumber: 456, Three quarter tones sharp (Bussotti) + std::pair( "accidentalThreeQuarterTonesSharpStein", 0xE283 ), // glyphnumber: 457, One and a half sharps (three-quarter-tones sharp) (Stein) + std::pair( "accidentalThreeQuarterTonesSharpStockhausen", 0xED5A ), // glyphnumber: 458, Three-quarter-tones sharp (Stockhausen) + std::pair( "accidentalTripleFlat", 0xE266 ), // glyphnumber: 459, Triple flat + std::pair( "accidentalTripleSharp", 0xE265 ), // glyphnumber: 460, Triple sharp + std::pair( "accidentalTwoThirdTonesFlatFerneyhough", 0xE48D ), // glyphnumber: 461, Two-third-tones flat (Ferneyhough) + std::pair( "accidentalTwoThirdTonesSharpFerneyhough", 0xE48C ), // glyphnumber: 462, Two-third-tones sharp (Ferneyhough) + std::pair( "accidentalWilsonMinus", 0xE47C ), // glyphnumber: 463, Wilson minus (5 comma down) + std::pair( "accidentalWilsonPlus", 0xE47B ), // glyphnumber: 464, Wilson plus (5 comma up) + std::pair( "accidentalWyschnegradsky10TwelfthsFlat", 0xE434 ), // glyphnumber: 465, 5/6 tone flat + std::pair( "accidentalWyschnegradsky10TwelfthsSharp", 0xE429 ), // glyphnumber: 466, 5/6 tone sharp + std::pair( "accidentalWyschnegradsky11TwelfthsFlat", 0xE435 ), // glyphnumber: 467, 11/12 tone flat + std::pair( "accidentalWyschnegradsky11TwelfthsSharp", 0xE42A ), // glyphnumber: 468, 11/12 tone sharp + std::pair( "accidentalWyschnegradsky1TwelfthsFlat", 0xE42B ), // glyphnumber: 469, 1/12 tone flat + std::pair( "accidentalWyschnegradsky1TwelfthsSharp", 0xE420 ), // glyphnumber: 470, 1/12 tone sharp + std::pair( "accidentalWyschnegradsky2TwelfthsFlat", 0xE42C ), // glyphnumber: 471, 1/6 tone flat + std::pair( "accidentalWyschnegradsky2TwelfthsSharp", 0xE421 ), // glyphnumber: 472, 1/6 tone sharp + std::pair( "accidentalWyschnegradsky3TwelfthsFlat", 0xE42D ), // glyphnumber: 473, 1/4 tone flat + std::pair( "accidentalWyschnegradsky3TwelfthsSharp", 0xE422 ), // glyphnumber: 474, 1/4 tone sharp + std::pair( "accidentalWyschnegradsky4TwelfthsFlat", 0xE42E ), // glyphnumber: 475, 1/3 tone flat + std::pair( "accidentalWyschnegradsky4TwelfthsSharp", 0xE423 ), // glyphnumber: 476, 1/3 tone sharp + std::pair( "accidentalWyschnegradsky5TwelfthsFlat", 0xE42F ), // glyphnumber: 477, 5/12 tone flat + std::pair( "accidentalWyschnegradsky5TwelfthsSharp", 0xE424 ), // glyphnumber: 478, 5/12 tone sharp + std::pair( "accidentalWyschnegradsky6TwelfthsFlat", 0xE430 ), // glyphnumber: 479, 1/2 tone flat + std::pair( "accidentalWyschnegradsky6TwelfthsSharp", 0xE425 ), // glyphnumber: 480, 1/2 tone sharp + std::pair( "accidentalWyschnegradsky7TwelfthsFlat", 0xE431 ), // glyphnumber: 481, 7/12 tone flat + std::pair( "accidentalWyschnegradsky7TwelfthsSharp", 0xE426 ), // glyphnumber: 482, 7/12 tone sharp + std::pair( "accidentalWyschnegradsky8TwelfthsFlat", 0xE432 ), // glyphnumber: 483, 2/3 tone flat + std::pair( "accidentalWyschnegradsky8TwelfthsSharp", 0xE427 ), // glyphnumber: 484, 2/3 tone sharp + std::pair( "accidentalWyschnegradsky9TwelfthsFlat", 0xE433 ), // glyphnumber: 485, 3/4 tone flat + std::pair( "accidentalWyschnegradsky9TwelfthsSharp", 0xE428 ), // glyphnumber: 486, 3/4 tone sharp + std::pair( "accidentalXenakisOneThirdToneSharp", 0xE470 ), // glyphnumber: 487, One-third-tone sharp (Xenakis) + std::pair( "accidentalXenakisTwoThirdTonesSharp", 0xE471 ), // glyphnumber: 488, Two-third-tones sharp (Xenakis) + std::pair( "analyticsChoralmelodie", 0xE86A ), // glyphnumber: 489, Choralmelodie (Berg) + std::pair( "analyticsEndStimme", 0xE863 ), // glyphnumber: 490, End of stimme + std::pair( "analyticsHauptrhythmus", 0xE86B ), // glyphnumber: 491, Hauptrhythmus (Berg) + std::pair( "analyticsHauptstimme", 0xE860 ), // glyphnumber: 492, Hauptstimme + std::pair( "analyticsInversion1", 0xE869 ), // glyphnumber: 493, Inversion 1 + std::pair( "analyticsNebenstimme", 0xE861 ), // glyphnumber: 494, Nebenstimme + std::pair( "analyticsStartStimme", 0xE862 ), // glyphnumber: 495, Start of stimme + std::pair( "analyticsTheme", 0xE864 ), // glyphnumber: 496, Theme + std::pair( "analyticsTheme1", 0xE868 ), // glyphnumber: 497, Theme 1 + std::pair( "analyticsThemeInversion", 0xE867 ), // glyphnumber: 498, Inversion of theme + std::pair( "analyticsThemeRetrograde", 0xE865 ), // glyphnumber: 499, Retrograde of theme + std::pair( "analyticsThemeRetrogradeInversion", 0xE866 ), // glyphnumber: 500, Retrograde inversion of theme + std::pair( "arpeggiatoDown", 0xE635 ), // glyphnumber: 501, Arpeggiato down + std::pair( "arpeggiatoUp", 0xE634 ), // glyphnumber: 502, Arpeggiato up + std::pair( "arrowBlackDown", 0xEB64 ), // glyphnumber: 503, Black arrow down (S) + std::pair( "arrowBlackDownLeft", 0xEB65 ), // glyphnumber: 504, Black arrow down-left (SW) + std::pair( "arrowBlackDownRight", 0xEB63 ), // glyphnumber: 505, Black arrow down-right (SE) + std::pair( "arrowBlackLeft", 0xEB66 ), // glyphnumber: 506, Black arrow left (W) + std::pair( "arrowBlackRight", 0xEB62 ), // glyphnumber: 507, Black arrow right (E) + std::pair( "arrowBlackUp", 0xEB60 ), // glyphnumber: 508, Black arrow up (N) + std::pair( "arrowBlackUpLeft", 0xEB67 ), // glyphnumber: 509, Black arrow up-left (NW) + std::pair( "arrowBlackUpRight", 0xEB61 ), // glyphnumber: 510, Black arrow up-right (NE) + std::pair( "arrowOpenDown", 0xEB74 ), // glyphnumber: 511, Open arrow down (S) + std::pair( "arrowOpenDownLeft", 0xEB75 ), // glyphnumber: 512, Open arrow down-left (SW) + std::pair( "arrowOpenDownRight", 0xEB73 ), // glyphnumber: 513, Open arrow down-right (SE) + std::pair( "arrowOpenLeft", 0xEB76 ), // glyphnumber: 514, Open arrow left (W) + std::pair( "arrowOpenRight", 0xEB72 ), // glyphnumber: 515, Open arrow right (E) + std::pair( "arrowOpenUp", 0xEB70 ), // glyphnumber: 516, Open arrow up (N) + std::pair( "arrowOpenUpLeft", 0xEB77 ), // glyphnumber: 517, Open arrow up-left (NW) + std::pair( "arrowOpenUpRight", 0xEB71 ), // glyphnumber: 518, Open arrow up-right (NE) + std::pair( "arrowWhiteDown", 0xEB6C ), // glyphnumber: 519, White arrow down (S) + std::pair( "arrowWhiteDownLeft", 0xEB6D ), // glyphnumber: 520, White arrow down-left (SW) + std::pair( "arrowWhiteDownRight", 0xEB6B ), // glyphnumber: 521, White arrow down-right (SE) + std::pair( "arrowWhiteLeft", 0xEB6E ), // glyphnumber: 522, White arrow left (W) + std::pair( "arrowWhiteRight", 0xEB6A ), // glyphnumber: 523, White arrow right (E) + std::pair( "arrowWhiteUp", 0xEB68 ), // glyphnumber: 524, White arrow up (N) + std::pair( "arrowWhiteUpLeft", 0xEB6F ), // glyphnumber: 525, White arrow up-left (NW) + std::pair( "arrowWhiteUpRight", 0xEB69 ), // glyphnumber: 526, White arrow up-right (NE) + std::pair( "arrowheadBlackDown", 0xEB7C ), // glyphnumber: 527, Black arrowhead down (S) + std::pair( "arrowheadBlackDownLeft", 0xEB7D ), // glyphnumber: 528, Black arrowhead down-left (SW) + std::pair( "arrowheadBlackDownRight", 0xEB7B ), // glyphnumber: 529, Black arrowhead down-right (SE) + std::pair( "arrowheadBlackLeft", 0xEB7E ), // glyphnumber: 530, Black arrowhead left (W) + std::pair( "arrowheadBlackRight", 0xEB7A ), // glyphnumber: 531, Black arrowhead right (E) + std::pair( "arrowheadBlackUp", 0xEB78 ), // glyphnumber: 532, Black arrowhead up (N) + std::pair( "arrowheadBlackUpLeft", 0xEB7F ), // glyphnumber: 533, Black arrowhead up-left (NW) + std::pair( "arrowheadBlackUpRight", 0xEB79 ), // glyphnumber: 534, Black arrowhead up-right (NE) + std::pair( "arrowheadOpenDown", 0xEB8C ), // glyphnumber: 535, Open arrowhead down (S) + std::pair( "arrowheadOpenDownLeft", 0xEB8D ), // glyphnumber: 536, Open arrowhead down-left (SW) + std::pair( "arrowheadOpenDownRight", 0xEB8B ), // glyphnumber: 537, Open arrowhead down-right (SE) + std::pair( "arrowheadOpenLeft", 0xEB8E ), // glyphnumber: 538, Open arrowhead left (W) + std::pair( "arrowheadOpenRight", 0xEB8A ), // glyphnumber: 539, Open arrowhead right (E) + std::pair( "arrowheadOpenUp", 0xEB88 ), // glyphnumber: 540, Open arrowhead up (N) + std::pair( "arrowheadOpenUpLeft", 0xEB8F ), // glyphnumber: 541, Open arrowhead up-left (NW) + std::pair( "arrowheadOpenUpRight", 0xEB89 ), // glyphnumber: 542, Open arrowhead up-right (NE) + std::pair( "arrowheadWhiteDown", 0xEB84 ), // glyphnumber: 543, White arrowhead down (S) + std::pair( "arrowheadWhiteDownLeft", 0xEB85 ), // glyphnumber: 544, White arrowhead down-left (SW) + std::pair( "arrowheadWhiteDownRight", 0xEB83 ), // glyphnumber: 545, White arrowhead down-right (SE) + std::pair( "arrowheadWhiteLeft", 0xEB86 ), // glyphnumber: 546, White arrowhead left (W) + std::pair( "arrowheadWhiteRight", 0xEB82 ), // glyphnumber: 547, White arrowhead right (E) + std::pair( "arrowheadWhiteUp", 0xEB80 ), // glyphnumber: 548, White arrowhead up (N) + std::pair( "arrowheadWhiteUpLeft", 0xEB87 ), // glyphnumber: 549, White arrowhead up-left (NW) + std::pair( "arrowheadWhiteUpRight", 0xEB81 ), // glyphnumber: 550, White arrowhead up-right (NE) + std::pair( "articAccentAbove", 0xE4A0 ), // glyphnumber: 551, Accent above + std::pair( "articAccentBelow", 0xE4A1 ), // glyphnumber: 552, Accent below + std::pair( "articAccentStaccatoAbove", 0xE4B0 ), // glyphnumber: 553, Accent-staccato above + std::pair( "articAccentStaccatoBelow", 0xE4B1 ), // glyphnumber: 554, Accent-staccato below + std::pair( "articLaissezVibrerAbove", 0xE4BA ), // glyphnumber: 555, Laissez vibrer (l.v.) above + std::pair( "articLaissezVibrerBelow", 0xE4BB ), // glyphnumber: 556, Laissez vibrer (l.v.) below + std::pair( "articMarcatoAbove", 0xE4AC ), // glyphnumber: 557, Marcato above + std::pair( "articMarcatoBelow", 0xE4AD ), // glyphnumber: 558, Marcato below + std::pair( "articMarcatoStaccatoAbove", 0xE4AE ), // glyphnumber: 559, Marcato-staccato above + std::pair( "articMarcatoStaccatoBelow", 0xE4AF ), // glyphnumber: 560, Marcato-staccato below + std::pair( "articMarcatoTenutoAbove", 0xE4BC ), // glyphnumber: 561, Marcato-tenuto above + std::pair( "articMarcatoTenutoBelow", 0xE4BD ), // glyphnumber: 562, Marcato-tenuto below + std::pair( "articSoftAccentAbove", 0xED40 ), // glyphnumber: 563, Soft accent above + std::pair( "articSoftAccentBelow", 0xED41 ), // glyphnumber: 564, Soft accent below + std::pair( "articSoftAccentStaccatoAbove", 0xED42 ), // glyphnumber: 565, Soft accent-staccato above + std::pair( "articSoftAccentStaccatoBelow", 0xED43 ), // glyphnumber: 566, Soft accent-staccato below + std::pair( "articSoftAccentTenutoAbove", 0xED44 ), // glyphnumber: 567, Soft accent-tenuto above + std::pair( "articSoftAccentTenutoBelow", 0xED45 ), // glyphnumber: 568, Soft accent-tenuto below + std::pair( "articSoftAccentTenutoStaccatoAbove", 0xED46 ), // glyphnumber: 569, Soft accent-tenuto-staccato above + std::pair( "articSoftAccentTenutoStaccatoBelow", 0xED47 ), // glyphnumber: 570, Soft accent-tenuto-staccato below + std::pair( "articStaccatissimoAbove", 0xE4A6 ), // glyphnumber: 571, Staccatissimo above + std::pair( "articStaccatissimoBelow", 0xE4A7 ), // glyphnumber: 572, Staccatissimo below + std::pair( "articStaccatissimoStrokeAbove", 0xE4AA ), // glyphnumber: 573, Staccatissimo stroke above + std::pair( "articStaccatissimoStrokeBelow", 0xE4AB ), // glyphnumber: 574, Staccatissimo stroke below + std::pair( "articStaccatissimoWedgeAbove", 0xE4A8 ), // glyphnumber: 575, Staccatissimo wedge above + std::pair( "articStaccatissimoWedgeBelow", 0xE4A9 ), // glyphnumber: 576, Staccatissimo wedge below + std::pair( "articStaccatoAbove", 0xE4A2 ), // glyphnumber: 577, Staccato above + std::pair( "articStaccatoBelow", 0xE4A3 ), // glyphnumber: 578, Staccato below + std::pair( "articStressAbove", 0xE4B6 ), // glyphnumber: 579, Stress above + std::pair( "articStressBelow", 0xE4B7 ), // glyphnumber: 580, Stress below + std::pair( "articTenutoAbove", 0xE4A4 ), // glyphnumber: 581, Tenuto above + std::pair( "articTenutoAccentAbove", 0xE4B4 ), // glyphnumber: 582, Tenuto-accent above + std::pair( "articTenutoAccentBelow", 0xE4B5 ), // glyphnumber: 583, Tenuto-accent below + std::pair( "articTenutoBelow", 0xE4A5 ), // glyphnumber: 584, Tenuto below + std::pair( "articTenutoStaccatoAbove", 0xE4B2 ), // glyphnumber: 585, Louré (tenuto-staccato) above + std::pair( "articTenutoStaccatoBelow", 0xE4B3 ), // glyphnumber: 586, Louré (tenuto-staccato) below + std::pair( "articUnstressAbove", 0xE4B8 ), // glyphnumber: 587, Unstress above + std::pair( "articUnstressBelow", 0xE4B9 ), // glyphnumber: 588, Unstress below + std::pair( "augmentationDot", 0xE1E7 ), // glyphnumber: 589, Augmentation dot + std::pair( "barlineDashed", 0xE036 ), // glyphnumber: 590, Dashed barline + std::pair( "barlineDotted", 0xE037 ), // glyphnumber: 591, Dotted barline + std::pair( "barlineDouble", 0xE031 ), // glyphnumber: 592, Double barline + std::pair( "barlineFinal", 0xE032 ), // glyphnumber: 593, Final barline + std::pair( "barlineHeavy", 0xE034 ), // glyphnumber: 594, Heavy barline + std::pair( "barlineHeavyHeavy", 0xE035 ), // glyphnumber: 595, Heavy double barline + std::pair( "barlineReverseFinal", 0xE033 ), // glyphnumber: 596, Reverse final barline + std::pair( "barlineShort", 0xE038 ), // glyphnumber: 597, Short barline + std::pair( "barlineSingle", 0xE030 ), // glyphnumber: 598, Single barline + std::pair( "barlineTick", 0xE039 ), // glyphnumber: 599, Tick barline + std::pair( "beamAccelRit1", 0xEAF4 ), // glyphnumber: 600, Accel./rit. beam 1 (widest) + std::pair( "beamAccelRit10", 0xEAFD ), // glyphnumber: 601, Accel./rit. beam 10 + std::pair( "beamAccelRit11", 0xEAFE ), // glyphnumber: 602, Accel./rit. beam 11 + std::pair( "beamAccelRit12", 0xEAFF ), // glyphnumber: 603, Accel./rit. beam 12 + std::pair( "beamAccelRit13", 0xEB00 ), // glyphnumber: 604, Accel./rit. beam 13 + std::pair( "beamAccelRit14", 0xEB01 ), // glyphnumber: 605, Accel./rit. beam 14 + std::pair( "beamAccelRit15", 0xEB02 ), // glyphnumber: 606, Accel./rit. beam 15 (narrowest) + std::pair( "beamAccelRit2", 0xEAF5 ), // glyphnumber: 607, Accel./rit. beam 2 + std::pair( "beamAccelRit3", 0xEAF6 ), // glyphnumber: 608, Accel./rit. beam 3 + std::pair( "beamAccelRit4", 0xEAF7 ), // glyphnumber: 609, Accel./rit. beam 4 + std::pair( "beamAccelRit5", 0xEAF8 ), // glyphnumber: 610, Accel./rit. beam 5 + std::pair( "beamAccelRit6", 0xEAF9 ), // glyphnumber: 611, Accel./rit. beam 6 + std::pair( "beamAccelRit7", 0xEAFA ), // glyphnumber: 612, Accel./rit. beam 7 + std::pair( "beamAccelRit8", 0xEAFB ), // glyphnumber: 613, Accel./rit. beam 8 + std::pair( "beamAccelRit9", 0xEAFC ), // glyphnumber: 614, Accel./rit. beam 9 + std::pair( "beamAccelRitFinal", 0xEB03 ), // glyphnumber: 615, Accel./rit. beam terminating line + std::pair( "brace", 0xE000 ), // glyphnumber: 616, Brace + std::pair( "bracket", 0xE002 ), // glyphnumber: 617, Bracket + std::pair( "bracketBottom", 0xE004 ), // glyphnumber: 618, Bracket bottom + std::pair( "bracketTop", 0xE003 ), // glyphnumber: 619, Bracket top + std::pair( "brassBend", 0xE5E3 ), // glyphnumber: 620, Bend + std::pair( "brassDoitLong", 0xE5D6 ), // glyphnumber: 621, Doit, long + std::pair( "brassDoitMedium", 0xE5D5 ), // glyphnumber: 622, Doit, medium + std::pair( "brassDoitShort", 0xE5D4 ), // glyphnumber: 623, Doit, short + std::pair( "brassFallLipLong", 0xE5D9 ), // glyphnumber: 624, Lip fall, long + std::pair( "brassFallLipMedium", 0xE5D8 ), // glyphnumber: 625, Lip fall, medium + std::pair( "brassFallLipShort", 0xE5D7 ), // glyphnumber: 626, Lip fall, short + std::pair( "brassFallRoughLong", 0xE5DF ), // glyphnumber: 627, Rough fall, long + std::pair( "brassFallRoughMedium", 0xE5DE ), // glyphnumber: 628, Rough fall, medium + std::pair( "brassFallRoughShort", 0xE5DD ), // glyphnumber: 629, Rough fall, short + std::pair( "brassFallSmoothLong", 0xE5DC ), // glyphnumber: 630, Smooth fall, long + std::pair( "brassFallSmoothMedium", 0xE5DB ), // glyphnumber: 631, Smooth fall, medium + std::pair( "brassFallSmoothShort", 0xE5DA ), // glyphnumber: 632, Smooth fall, short + std::pair( "brassFlip", 0xE5E1 ), // glyphnumber: 633, Flip + std::pair( "brassHarmonMuteClosed", 0xE5E8 ), // glyphnumber: 634, Harmon mute, stem in + std::pair( "brassHarmonMuteStemHalfLeft", 0xE5E9 ), // glyphnumber: 635, Harmon mute, stem extended, left + std::pair( "brassHarmonMuteStemHalfRight", 0xE5EA ), // glyphnumber: 636, Harmon mute, stem extended, right + std::pair( "brassHarmonMuteStemOpen", 0xE5EB ), // glyphnumber: 637, Harmon mute, stem out + std::pair( "brassJazzTurn", 0xE5E4 ), // glyphnumber: 638, Jazz turn + std::pair( "brassLiftLong", 0xE5D3 ), // glyphnumber: 639, Lift, long + std::pair( "brassLiftMedium", 0xE5D2 ), // glyphnumber: 640, Lift, medium + std::pair( "brassLiftShort", 0xE5D1 ), // glyphnumber: 641, Lift, short + std::pair( "brassLiftSmoothLong", 0xE5EE ), // glyphnumber: 642, Smooth lift, long + std::pair( "brassLiftSmoothMedium", 0xE5ED ), // glyphnumber: 643, Smooth lift, medium + std::pair( "brassLiftSmoothShort", 0xE5EC ), // glyphnumber: 644, Smooth lift, short + std::pair( "brassMuteClosed", 0xE5E5 ), // glyphnumber: 645, Muted (closed) + std::pair( "brassMuteHalfClosed", 0xE5E6 ), // glyphnumber: 646, Half-muted (half-closed) + std::pair( "brassMuteOpen", 0xE5E7 ), // glyphnumber: 647, Open + std::pair( "brassPlop", 0xE5E0 ), // glyphnumber: 648, Plop + std::pair( "brassScoop", 0xE5D0 ), // glyphnumber: 649, Scoop + std::pair( "brassSmear", 0xE5E2 ), // glyphnumber: 650, Smear + std::pair( "brassValveTrill", 0xE5EF ), // glyphnumber: 651, Valve trill + std::pair( "breathMarkComma", 0xE4CE ), // glyphnumber: 652, Breath mark (comma) + std::pair( "breathMarkSalzedo", 0xE4D5 ), // glyphnumber: 653, Breath mark (Salzedo) + std::pair( "breathMarkTick", 0xE4CF ), // glyphnumber: 654, Breath mark (tick-like) + std::pair( "breathMarkUpbow", 0xE4D0 ), // glyphnumber: 655, Breath mark (upbow-like) + std::pair( "bridgeClef", 0xE078 ), // glyphnumber: 656, Bridge clef + std::pair( "buzzRoll", 0xE22A ), // glyphnumber: 657, Buzz roll + std::pair( "cClef", 0xE05C ), // glyphnumber: 658, C clef + std::pair( "cClef8vb", 0xE05D ), // glyphnumber: 659, C clef ottava bassa + std::pair( "cClefArrowDown", 0xE05F ), // glyphnumber: 660, C clef, arrow down + std::pair( "cClefArrowUp", 0xE05E ), // glyphnumber: 661, C clef, arrow up + std::pair( "cClefChange", 0xE07B ), // glyphnumber: 662, C clef change + std::pair( "cClefCombining", 0xE061 ), // glyphnumber: 663, Combining C clef + std::pair( "cClefReversed", 0xE075 ), // glyphnumber: 664, Reversed C clef + std::pair( "cClefSquare", 0xE060 ), // glyphnumber: 665, C clef (19th century) + std::pair( "caesura", 0xE4D1 ), // glyphnumber: 666, Caesura + std::pair( "caesuraCurved", 0xE4D4 ), // glyphnumber: 667, Curved caesura + std::pair( "caesuraShort", 0xE4D3 ), // glyphnumber: 668, Short caesura + std::pair( "caesuraThick", 0xE4D2 ), // glyphnumber: 669, Thick caesura + std::pair( "chantAccentusAbove", 0xE9D6 ), // glyphnumber: 670, Accentus above + std::pair( "chantAccentusBelow", 0xE9D7 ), // glyphnumber: 671, Accentus below + std::pair( "chantAuctumAsc", 0xE994 ), // glyphnumber: 672, Punctum auctum, ascending + std::pair( "chantAuctumDesc", 0xE995 ), // glyphnumber: 673, Punctum auctum, descending + std::pair( "chantAugmentum", 0xE9D9 ), // glyphnumber: 674, Augmentum (mora) + std::pair( "chantCaesura", 0xE8F8 ), // glyphnumber: 675, Caesura + std::pair( "chantCclef", 0xE906 ), // glyphnumber: 676, Plainchant C clef + std::pair( "chantCirculusAbove", 0xE9D2 ), // glyphnumber: 677, Circulus above + std::pair( "chantCirculusBelow", 0xE9D3 ), // glyphnumber: 678, Circulus below + std::pair( "chantConnectingLineAsc2nd", 0xE9BD ), // glyphnumber: 679, Connecting line, ascending 2nd + std::pair( "chantConnectingLineAsc3rd", 0xE9BE ), // glyphnumber: 680, Connecting line, ascending 3rd + std::pair( "chantConnectingLineAsc4th", 0xE9BF ), // glyphnumber: 681, Connecting line, ascending 4th + std::pair( "chantConnectingLineAsc5th", 0xE9C0 ), // glyphnumber: 682, Connecting line, ascending 5th + std::pair( "chantConnectingLineAsc6th", 0xE9C1 ), // glyphnumber: 683, Connecting line, ascending 6th + std::pair( "chantCustosStemDownPosHigh", 0xEA08 ), // glyphnumber: 684, Plainchant custos, stem down, high position + std::pair( "chantCustosStemDownPosHighest", 0xEA09 ), // glyphnumber: 685, Plainchant custos, stem down, highest position + std::pair( "chantCustosStemDownPosMiddle", 0xEA07 ), // glyphnumber: 686, Plainchant custos, stem down, middle position + std::pair( "chantCustosStemUpPosLow", 0xEA05 ), // glyphnumber: 687, Plainchant custos, stem up, low position + std::pair( "chantCustosStemUpPosLowest", 0xEA04 ), // glyphnumber: 688, Plainchant custos, stem up, lowest position + std::pair( "chantCustosStemUpPosMiddle", 0xEA06 ), // glyphnumber: 689, Plainchant custos, stem up, middle position + std::pair( "chantDeminutumLower", 0xE9B3 ), // glyphnumber: 690, Punctum deminutum, lower + std::pair( "chantDeminutumUpper", 0xE9B2 ), // glyphnumber: 691, Punctum deminutum, upper + std::pair( "chantDivisioFinalis", 0xE8F6 ), // glyphnumber: 692, Divisio finalis + std::pair( "chantDivisioMaior", 0xE8F4 ), // glyphnumber: 693, Divisio maior + std::pair( "chantDivisioMaxima", 0xE8F5 ), // glyphnumber: 694, Divisio maxima + std::pair( "chantDivisioMinima", 0xE8F3 ), // glyphnumber: 695, Divisio minima + std::pair( "chantEntryLineAsc2nd", 0xE9B4 ), // glyphnumber: 696, Entry line, ascending 2nd + std::pair( "chantEntryLineAsc3rd", 0xE9B5 ), // glyphnumber: 697, Entry line, ascending 3rd + std::pair( "chantEntryLineAsc4th", 0xE9B6 ), // glyphnumber: 698, Entry line, ascending 4th + std::pair( "chantEntryLineAsc5th", 0xE9B7 ), // glyphnumber: 699, Entry line, ascending 5th + std::pair( "chantEntryLineAsc6th", 0xE9B8 ), // glyphnumber: 700, Entry line, ascending 6th + std::pair( "chantEpisema", 0xE9D8 ), // glyphnumber: 701, Episema + std::pair( "chantFclef", 0xE902 ), // glyphnumber: 702, Plainchant F clef + std::pair( "chantIctusAbove", 0xE9D0 ), // glyphnumber: 703, Ictus above + std::pair( "chantIctusBelow", 0xE9D1 ), // glyphnumber: 704, Ictus below + std::pair( "chantLigaturaDesc2nd", 0xE9B9 ), // glyphnumber: 705, Ligated stroke, descending 2nd + std::pair( "chantLigaturaDesc3rd", 0xE9BA ), // glyphnumber: 706, Ligated stroke, descending 3rd + std::pair( "chantLigaturaDesc4th", 0xE9BB ), // glyphnumber: 707, Ligated stroke, descending 4th + std::pair( "chantLigaturaDesc5th", 0xE9BC ), // glyphnumber: 708, Ligated stroke, descending 5th + std::pair( "chantOriscusAscending", 0xE99C ), // glyphnumber: 709, Oriscus ascending + std::pair( "chantOriscusDescending", 0xE99D ), // glyphnumber: 710, Oriscus descending + std::pair( "chantOriscusLiquescens", 0xE99E ), // glyphnumber: 711, Oriscus liquescens + std::pair( "chantPodatusLower", 0xE9B0 ), // glyphnumber: 712, Podatus, lower + std::pair( "chantPodatusUpper", 0xE9B1 ), // glyphnumber: 713, Podatus, upper + std::pair( "chantPunctum", 0xE990 ), // glyphnumber: 714, Punctum + std::pair( "chantPunctumCavum", 0xE998 ), // glyphnumber: 715, Punctum cavum + std::pair( "chantPunctumDeminutum", 0xE9A1 ), // glyphnumber: 716, Punctum deminutum + std::pair( "chantPunctumInclinatum", 0xE991 ), // glyphnumber: 717, Punctum inclinatum + std::pair( "chantPunctumInclinatumAuctum", 0xE992 ), // glyphnumber: 718, Punctum inclinatum auctum + std::pair( "chantPunctumInclinatumDeminutum", 0xE993 ), // glyphnumber: 719, Punctum inclinatum deminutum + std::pair( "chantPunctumLinea", 0xE999 ), // glyphnumber: 720, Punctum linea + std::pair( "chantPunctumLineaCavum", 0xE99A ), // glyphnumber: 721, Punctum linea cavum + std::pair( "chantPunctumVirga", 0xE996 ), // glyphnumber: 722, Punctum virga + std::pair( "chantPunctumVirgaReversed", 0xE997 ), // glyphnumber: 723, Punctum virga, reversed + std::pair( "chantQuilisma", 0xE99B ), // glyphnumber: 724, Quilisma + std::pair( "chantSemicirculusAbove", 0xE9D4 ), // glyphnumber: 725, Semicirculus above + std::pair( "chantSemicirculusBelow", 0xE9D5 ), // glyphnumber: 726, Semicirculus below + std::pair( "chantStaff", 0xE8F0 ), // glyphnumber: 727, Plainchant staff + std::pair( "chantStaffNarrow", 0xE8F2 ), // glyphnumber: 728, Plainchant staff (narrow) + std::pair( "chantStaffWide", 0xE8F1 ), // glyphnumber: 729, Plainchant staff (wide) + std::pair( "chantStrophicus", 0xE99F ), // glyphnumber: 730, Strophicus + std::pair( "chantStrophicusAuctus", 0xE9A0 ), // glyphnumber: 731, Strophicus auctus + std::pair( "chantStrophicusLiquescens2nd", 0xE9C2 ), // glyphnumber: 732, Strophicus liquescens, 2nd + std::pair( "chantStrophicusLiquescens3rd", 0xE9C3 ), // glyphnumber: 733, Strophicus liquescens, 3rd + std::pair( "chantStrophicusLiquescens4th", 0xE9C4 ), // glyphnumber: 734, Strophicus liquescens, 4th + std::pair( "chantStrophicusLiquescens5th", 0xE9C5 ), // glyphnumber: 735, Strophicus liquescens, 5th + std::pair( "chantVirgula", 0xE8F7 ), // glyphnumber: 736, Virgula + std::pair( "clef15", 0xE07E ), // glyphnumber: 737, 15 for clefs + std::pair( "clef8", 0xE07D ), // glyphnumber: 738, 8 for clefs + std::pair( "clefChangeCombining", 0xE07F ), // glyphnumber: 739, Combining clef change + std::pair( "coda", 0xE048 ), // glyphnumber: 740, Coda + std::pair( "codaSquare", 0xE049 ), // glyphnumber: 741, Square coda + std::pair( "conductorBeat2Compound", 0xE897 ), // glyphnumber: 742, Beat 2, compound time + std::pair( "conductorBeat2Simple", 0xE894 ), // glyphnumber: 743, Beat 2, simple time + std::pair( "conductorBeat3Compound", 0xE898 ), // glyphnumber: 744, Beat 3, compound time + std::pair( "conductorBeat3Simple", 0xE895 ), // glyphnumber: 745, Beat 3, simple time + std::pair( "conductorBeat4Compound", 0xE899 ), // glyphnumber: 746, Beat 4, compound time + std::pair( "conductorBeat4Simple", 0xE896 ), // glyphnumber: 747, Beat 4, simple time + std::pair( "conductorLeftBeat", 0xE891 ), // glyphnumber: 748, Left-hand beat or cue + std::pair( "conductorRightBeat", 0xE892 ), // glyphnumber: 749, Right-hand beat or cue + std::pair( "conductorStrongBeat", 0xE890 ), // glyphnumber: 750, Strong beat or cue + std::pair( "conductorUnconducted", 0xE89A ), // glyphnumber: 751, Unconducted/free passages + std::pair( "conductorWeakBeat", 0xE893 ), // glyphnumber: 752, Weak beat or cue + std::pair( "controlBeginBeam", 0xE8E0 ), // glyphnumber: 753, Begin beam + std::pair( "controlBeginPhrase", 0xE8E6 ), // glyphnumber: 754, Begin phrase + std::pair( "controlBeginSlur", 0xE8E4 ), // glyphnumber: 755, Begin slur + std::pair( "controlBeginTie", 0xE8E2 ), // glyphnumber: 756, Begin tie + std::pair( "controlEndBeam", 0xE8E1 ), // glyphnumber: 757, End beam + std::pair( "controlEndPhrase", 0xE8E7 ), // glyphnumber: 758, End phrase + std::pair( "controlEndSlur", 0xE8E5 ), // glyphnumber: 759, End slur + std::pair( "controlEndTie", 0xE8E3 ), // glyphnumber: 760, End tie + std::pair( "csymAugmented", 0xE872 ), // glyphnumber: 761, Augmented + std::pair( "csymBracketLeftTall", 0xE877 ), // glyphnumber: 762, Double-height left bracket + std::pair( "csymBracketRightTall", 0xE878 ), // glyphnumber: 763, Double-height right bracket + std::pair( "csymDiminished", 0xE870 ), // glyphnumber: 764, Diminished + std::pair( "csymHalfDiminished", 0xE871 ), // glyphnumber: 765, Half-diminished + std::pair( "csymMajorSeventh", 0xE873 ), // glyphnumber: 766, Major seventh + std::pair( "csymMinor", 0xE874 ), // glyphnumber: 767, Minor + std::pair( "csymParensLeftTall", 0xE875 ), // glyphnumber: 768, Double-height left parenthesis + std::pair( "csymParensRightTall", 0xE876 ), // glyphnumber: 769, Double-height right parenthesis + std::pair( "curlewSign", 0xE4D6 ), // glyphnumber: 770, Curlew (Britten) + std::pair( "daCapo", 0xE046 ), // glyphnumber: 771, Da capo + std::pair( "dalSegno", 0xE045 ), // glyphnumber: 772, Dal segno + std::pair( "daseianExcellentes1", 0xEA3C ), // glyphnumber: 773, Daseian excellentes 1 + std::pair( "daseianExcellentes2", 0xEA3D ), // glyphnumber: 774, Daseian excellentes 2 + std::pair( "daseianExcellentes3", 0xEA3E ), // glyphnumber: 775, Daseian excellentes 3 + std::pair( "daseianExcellentes4", 0xEA3F ), // glyphnumber: 776, Daseian excellentes 4 + std::pair( "daseianFinales1", 0xEA34 ), // glyphnumber: 777, Daseian finales 1 + std::pair( "daseianFinales2", 0xEA35 ), // glyphnumber: 778, Daseian finales 2 + std::pair( "daseianFinales3", 0xEA36 ), // glyphnumber: 779, Daseian finales 3 + std::pair( "daseianFinales4", 0xEA37 ), // glyphnumber: 780, Daseian finales 4 + std::pair( "daseianGraves1", 0xEA30 ), // glyphnumber: 781, Daseian graves 1 + std::pair( "daseianGraves2", 0xEA31 ), // glyphnumber: 782, Daseian graves 2 + std::pair( "daseianGraves3", 0xEA32 ), // glyphnumber: 783, Daseian graves 3 + std::pair( "daseianGraves4", 0xEA33 ), // glyphnumber: 784, Daseian graves 4 + std::pair( "daseianResidua1", 0xEA40 ), // glyphnumber: 785, Daseian residua 1 + std::pair( "daseianResidua2", 0xEA41 ), // glyphnumber: 786, Daseian residua 2 + std::pair( "daseianSuperiores1", 0xEA38 ), // glyphnumber: 787, Daseian superiores 1 + std::pair( "daseianSuperiores2", 0xEA39 ), // glyphnumber: 788, Daseian superiores 2 + std::pair( "daseianSuperiores3", 0xEA3A ), // glyphnumber: 789, Daseian superiores 3 + std::pair( "daseianSuperiores4", 0xEA3B ), // glyphnumber: 790, Daseian superiores 4 + std::pair( "doubleTongueAbove", 0xE5F0 ), // glyphnumber: 791, Double-tongue above + std::pair( "doubleTongueBelow", 0xE5F1 ), // glyphnumber: 792, Double-tongue below + std::pair( "dynamicCombinedSeparatorColon", 0xE546 ), // glyphnumber: 793, Colon separator for combined dynamics + std::pair( "dynamicCombinedSeparatorHyphen", 0xE547 ), // glyphnumber: 794, Hyphen separator for combined dynamics + std::pair( "dynamicCombinedSeparatorSpace", 0xE548 ), // glyphnumber: 795, Space separator for combined dynamics + std::pair( "dynamicCrescendoHairpin", 0xE53E ), // glyphnumber: 796, Crescendo + std::pair( "dynamicDiminuendoHairpin", 0xE53F ), // glyphnumber: 797, Diminuendo + std::pair( "dynamicFF", 0xE52F ), // glyphnumber: 798, ff + std::pair( "dynamicFFF", 0xE530 ), // glyphnumber: 799, fff + std::pair( "dynamicFFFF", 0xE531 ), // glyphnumber: 800, ffff + std::pair( "dynamicFFFFF", 0xE532 ), // glyphnumber: 801, fffff + std::pair( "dynamicFFFFFF", 0xE533 ), // glyphnumber: 802, ffffff + std::pair( "dynamicForte", 0xE522 ), // glyphnumber: 803, Forte + std::pair( "dynamicFortePiano", 0xE534 ), // glyphnumber: 804, Forte-piano + std::pair( "dynamicForzando", 0xE535 ), // glyphnumber: 805, Forzando + std::pair( "dynamicHairpinBracketLeft", 0xE544 ), // glyphnumber: 806, Left bracket (for hairpins) + std::pair( "dynamicHairpinBracketRight", 0xE545 ), // glyphnumber: 807, Right bracket (for hairpins) + std::pair( "dynamicHairpinParenthesisLeft", 0xE542 ), // glyphnumber: 808, Left parenthesis (for hairpins) + std::pair( "dynamicHairpinParenthesisRight", 0xE543 ), // glyphnumber: 809, Right parenthesis (for hairpins) + std::pair( "dynamicMF", 0xE52D ), // glyphnumber: 810, mf + std::pair( "dynamicMP", 0xE52C ), // glyphnumber: 811, mp + std::pair( "dynamicMessaDiVoce", 0xE540 ), // glyphnumber: 812, Messa di voce + std::pair( "dynamicMezzo", 0xE521 ), // glyphnumber: 813, Mezzo + std::pair( "dynamicNiente", 0xE526 ), // glyphnumber: 814, Niente + std::pair( "dynamicNienteForHairpin", 0xE541 ), // glyphnumber: 815, Niente (for hairpins) + std::pair( "dynamicPF", 0xE52E ), // glyphnumber: 816, pf + std::pair( "dynamicPP", 0xE52B ), // glyphnumber: 817, pp + std::pair( "dynamicPPP", 0xE52A ), // glyphnumber: 818, ppp + std::pair( "dynamicPPPP", 0xE529 ), // glyphnumber: 819, pppp + std::pair( "dynamicPPPPP", 0xE528 ), // glyphnumber: 820, ppppp + std::pair( "dynamicPPPPPP", 0xE527 ), // glyphnumber: 821, pppppp + std::pair( "dynamicPiano", 0xE520 ), // glyphnumber: 822, Piano + std::pair( "dynamicRinforzando", 0xE523 ), // glyphnumber: 823, Rinforzando + std::pair( "dynamicRinforzando1", 0xE53C ), // glyphnumber: 824, Rinforzando 1 + std::pair( "dynamicRinforzando2", 0xE53D ), // glyphnumber: 825, Rinforzando 2 + std::pair( "dynamicSforzando", 0xE524 ), // glyphnumber: 826, Sforzando + std::pair( "dynamicSforzando1", 0xE536 ), // glyphnumber: 827, Sforzando 1 + std::pair( "dynamicSforzandoPianissimo", 0xE538 ), // glyphnumber: 828, Sforzando-pianissimo + std::pair( "dynamicSforzandoPiano", 0xE537 ), // glyphnumber: 829, Sforzando-piano + std::pair( "dynamicSforzato", 0xE539 ), // glyphnumber: 830, Sforzato + std::pair( "dynamicSforzatoFF", 0xE53B ), // glyphnumber: 831, Sforzatissimo + std::pair( "dynamicSforzatoPiano", 0xE53A ), // glyphnumber: 832, Sforzato-piano + std::pair( "dynamicZ", 0xE525 ), // glyphnumber: 833, Z + std::pair( "elecAudioChannelsEight", 0xEB46 ), // glyphnumber: 834, Eight channels (7.1 surround) + std::pair( "elecAudioChannelsFive", 0xEB43 ), // glyphnumber: 835, Five channels + std::pair( "elecAudioChannelsFour", 0xEB42 ), // glyphnumber: 836, Four channels + std::pair( "elecAudioChannelsOne", 0xEB3E ), // glyphnumber: 837, One channel (mono) + std::pair( "elecAudioChannelsSeven", 0xEB45 ), // glyphnumber: 838, Seven channels + std::pair( "elecAudioChannelsSix", 0xEB44 ), // glyphnumber: 839, Six channels (5.1 surround) + std::pair( "elecAudioChannelsThreeFrontal", 0xEB40 ), // glyphnumber: 840, Three channels (frontal) + std::pair( "elecAudioChannelsThreeSurround", 0xEB41 ), // glyphnumber: 841, Three channels (surround) + std::pair( "elecAudioChannelsTwo", 0xEB3F ), // glyphnumber: 842, Two channels (stereo) + std::pair( "elecAudioIn", 0xEB49 ), // glyphnumber: 843, Audio in + std::pair( "elecAudioMono", 0xEB3C ), // glyphnumber: 844, Mono audio setup + std::pair( "elecAudioOut", 0xEB4A ), // glyphnumber: 845, Audio out + std::pair( "elecAudioStereo", 0xEB3D ), // glyphnumber: 846, Stereo audio setup + std::pair( "elecCamera", 0xEB1B ), // glyphnumber: 847, Camera + std::pair( "elecDataIn", 0xEB4D ), // glyphnumber: 848, Data in + std::pair( "elecDataOut", 0xEB4E ), // glyphnumber: 849, Data out + std::pair( "elecDisc", 0xEB13 ), // glyphnumber: 850, Disc + std::pair( "elecDownload", 0xEB4F ), // glyphnumber: 851, Download + std::pair( "elecEject", 0xEB2B ), // glyphnumber: 852, Eject + std::pair( "elecFastForward", 0xEB1F ), // glyphnumber: 853, Fast-forward + std::pair( "elecHeadphones", 0xEB11 ), // glyphnumber: 854, Headphones + std::pair( "elecHeadset", 0xEB12 ), // glyphnumber: 855, Headset + std::pair( "elecLineIn", 0xEB47 ), // glyphnumber: 856, Line in + std::pair( "elecLineOut", 0xEB48 ), // glyphnumber: 857, Line out + std::pair( "elecLoop", 0xEB23 ), // glyphnumber: 858, Loop + std::pair( "elecLoudspeaker", 0xEB1A ), // glyphnumber: 859, Loudspeaker + std::pair( "elecMIDIController0", 0xEB36 ), // glyphnumber: 860, MIDI controller 0% + std::pair( "elecMIDIController100", 0xEB3B ), // glyphnumber: 861, MIDI controller 100% + std::pair( "elecMIDIController20", 0xEB37 ), // glyphnumber: 862, MIDI controller 20% + std::pair( "elecMIDIController40", 0xEB38 ), // glyphnumber: 863, MIDI controller 40% + std::pair( "elecMIDIController60", 0xEB39 ), // glyphnumber: 864, MIDI controller 60% + std::pair( "elecMIDIController80", 0xEB3A ), // glyphnumber: 865, MIDI controller 80% + std::pair( "elecMIDIIn", 0xEB34 ), // glyphnumber: 866, MIDI in + std::pair( "elecMIDIOut", 0xEB35 ), // glyphnumber: 867, MIDI out + std::pair( "elecMicrophone", 0xEB10 ), // glyphnumber: 868, Microphone + std::pair( "elecMicrophoneMute", 0xEB28 ), // glyphnumber: 869, Mute microphone + std::pair( "elecMicrophoneUnmute", 0xEB29 ), // glyphnumber: 870, Unmute microphone + std::pair( "elecMixingConsole", 0xEB15 ), // glyphnumber: 871, Mixing console + std::pair( "elecMonitor", 0xEB18 ), // glyphnumber: 872, Monitor + std::pair( "elecMute", 0xEB26 ), // glyphnumber: 873, Mute + std::pair( "elecPause", 0xEB1E ), // glyphnumber: 874, Pause + std::pair( "elecPlay", 0xEB1C ), // glyphnumber: 875, Play + std::pair( "elecPowerOnOff", 0xEB2A ), // glyphnumber: 876, Power on/off + std::pair( "elecProjector", 0xEB19 ), // glyphnumber: 877, Projector + std::pair( "elecReplay", 0xEB24 ), // glyphnumber: 878, Replay + std::pair( "elecRewind", 0xEB20 ), // glyphnumber: 879, Rewind + std::pair( "elecShuffle", 0xEB25 ), // glyphnumber: 880, Shuffle + std::pair( "elecSkipBackwards", 0xEB22 ), // glyphnumber: 881, Skip backwards + std::pair( "elecSkipForwards", 0xEB21 ), // glyphnumber: 882, Skip forwards + std::pair( "elecStop", 0xEB1D ), // glyphnumber: 883, Stop + std::pair( "elecTape", 0xEB14 ), // glyphnumber: 884, Tape + std::pair( "elecUSB", 0xEB16 ), // glyphnumber: 885, USB connection + std::pair( "elecUnmute", 0xEB27 ), // glyphnumber: 886, Unmute + std::pair( "elecUpload", 0xEB50 ), // glyphnumber: 887, Upload + std::pair( "elecVideoCamera", 0xEB17 ), // glyphnumber: 888, Video camera + std::pair( "elecVideoIn", 0xEB4B ), // glyphnumber: 889, Video in + std::pair( "elecVideoOut", 0xEB4C ), // glyphnumber: 890, Video out + std::pair( "elecVolumeFader", 0xEB2C ), // glyphnumber: 891, Combining volume fader + std::pair( "elecVolumeFaderThumb", 0xEB2D ), // glyphnumber: 892, Combining volume fader thumb + std::pair( "elecVolumeLevel0", 0xEB2E ), // glyphnumber: 893, Volume level 0% + std::pair( "elecVolumeLevel100", 0xEB33 ), // glyphnumber: 894, Volume level 100% + std::pair( "elecVolumeLevel20", 0xEB2F ), // glyphnumber: 895, Volume level 20% + std::pair( "elecVolumeLevel40", 0xEB30 ), // glyphnumber: 896, Volume level 40% + std::pair( "elecVolumeLevel60", 0xEB31 ), // glyphnumber: 897, Volume level 60% + std::pair( "elecVolumeLevel80", 0xEB32 ), // glyphnumber: 898, Volume level 80% + std::pair( "fClef", 0xE062 ), // glyphnumber: 899, F clef + std::pair( "fClef15ma", 0xE066 ), // glyphnumber: 900, F clef quindicesima alta + std::pair( "fClef15mb", 0xE063 ), // glyphnumber: 901, F clef quindicesima bassa + std::pair( "fClef8va", 0xE065 ), // glyphnumber: 902, F clef ottava alta + std::pair( "fClef8vb", 0xE064 ), // glyphnumber: 903, F clef ottava bassa + std::pair( "fClefArrowDown", 0xE068 ), // glyphnumber: 904, F clef, arrow down + std::pair( "fClefArrowUp", 0xE067 ), // glyphnumber: 905, F clef, arrow up + std::pair( "fClefChange", 0xE07C ), // glyphnumber: 906, F clef change + std::pair( "fClefReversed", 0xE076 ), // glyphnumber: 907, Reversed F clef + std::pair( "fClefTurned", 0xE077 ), // glyphnumber: 908, Turned F clef + std::pair( "fermataAbove", 0xE4C0 ), // glyphnumber: 909, Fermata above + std::pair( "fermataBelow", 0xE4C1 ), // glyphnumber: 910, Fermata below + std::pair( "fermataLongAbove", 0xE4C6 ), // glyphnumber: 911, Long fermata above + std::pair( "fermataLongBelow", 0xE4C7 ), // glyphnumber: 912, Long fermata below + std::pair( "fermataLongHenzeAbove", 0xE4CA ), // glyphnumber: 913, Long fermata (Henze) above + std::pair( "fermataLongHenzeBelow", 0xE4CB ), // glyphnumber: 914, Long fermata (Henze) below + std::pair( "fermataShortAbove", 0xE4C4 ), // glyphnumber: 915, Short fermata above + std::pair( "fermataShortBelow", 0xE4C5 ), // glyphnumber: 916, Short fermata below + std::pair( "fermataShortHenzeAbove", 0xE4CC ), // glyphnumber: 917, Short fermata (Henze) above + std::pair( "fermataShortHenzeBelow", 0xE4CD ), // glyphnumber: 918, Short fermata (Henze) below + std::pair( "fermataVeryLongAbove", 0xE4C8 ), // glyphnumber: 919, Very long fermata above + std::pair( "fermataVeryLongBelow", 0xE4C9 ), // glyphnumber: 920, Very long fermata below + std::pair( "fermataVeryShortAbove", 0xE4C2 ), // glyphnumber: 921, Very short fermata above + std::pair( "fermataVeryShortBelow", 0xE4C3 ), // glyphnumber: 922, Very short fermata below + std::pair( "figbass0", 0xEA50 ), // glyphnumber: 923, Figured bass 0 + std::pair( "figbass1", 0xEA51 ), // glyphnumber: 924, Figured bass 1 + std::pair( "figbass2", 0xEA52 ), // glyphnumber: 925, Figured bass 2 + std::pair( "figbass2Raised", 0xEA53 ), // glyphnumber: 926, Figured bass 2 raised by half-step + std::pair( "figbass3", 0xEA54 ), // glyphnumber: 927, Figured bass 3 + std::pair( "figbass4", 0xEA55 ), // glyphnumber: 928, Figured bass 4 + std::pair( "figbass4Raised", 0xEA56 ), // glyphnumber: 929, Figured bass 4 raised by half-step + std::pair( "figbass5", 0xEA57 ), // glyphnumber: 930, Figured bass 5 + std::pair( "figbass5Raised1", 0xEA58 ), // glyphnumber: 931, Figured bass 5 raised by half-step + std::pair( "figbass5Raised2", 0xEA59 ), // glyphnumber: 932, Figured bass 5 raised by half-step 2 + std::pair( "figbass5Raised3", 0xEA5A ), // glyphnumber: 933, Figured bass diminished 5 + std::pair( "figbass6", 0xEA5B ), // glyphnumber: 934, Figured bass 6 + std::pair( "figbass6Raised", 0xEA5C ), // glyphnumber: 935, Figured bass 6 raised by half-step + std::pair( "figbass6Raised2", 0xEA6F ), // glyphnumber: 936, Figured bass 6 raised by half-step 2 + std::pair( "figbass7", 0xEA5D ), // glyphnumber: 937, Figured bass 7 + std::pair( "figbass7Diminished", 0xECC0 ), // glyphnumber: 938, Figured bass 7 diminished + std::pair( "figbass7Raised1", 0xEA5E ), // glyphnumber: 939, Figured bass 7 raised by half-step + std::pair( "figbass7Raised2", 0xEA5F ), // glyphnumber: 940, Figured bass 7 raised by a half-step 2 + std::pair( "figbass8", 0xEA60 ), // glyphnumber: 941, Figured bass 8 + std::pair( "figbass9", 0xEA61 ), // glyphnumber: 942, Figured bass 9 + std::pair( "figbass9Raised", 0xEA62 ), // glyphnumber: 943, Figured bass 9 raised by half-step + std::pair( "figbassBracketLeft", 0xEA68 ), // glyphnumber: 944, Figured bass [ + std::pair( "figbassBracketRight", 0xEA69 ), // glyphnumber: 945, Figured bass ] + std::pair( "figbassCombiningLowering", 0xEA6E ), // glyphnumber: 946, Combining lower + std::pair( "figbassCombiningRaising", 0xEA6D ), // glyphnumber: 947, Combining raise + std::pair( "figbassDoubleFlat", 0xEA63 ), // glyphnumber: 948, Figured bass double flat + std::pair( "figbassDoubleSharp", 0xEA67 ), // glyphnumber: 949, Figured bass double sharp + std::pair( "figbassFlat", 0xEA64 ), // glyphnumber: 950, Figured bass flat + std::pair( "figbassNatural", 0xEA65 ), // glyphnumber: 951, Figured bass natural + std::pair( "figbassParensLeft", 0xEA6A ), // glyphnumber: 952, Figured bass ( + std::pair( "figbassParensRight", 0xEA6B ), // glyphnumber: 953, Figured bass ) + std::pair( "figbassPlus", 0xEA6C ), // glyphnumber: 954, Figured bass + + std::pair( "figbassSharp", 0xEA66 ), // glyphnumber: 955, Figured bass sharp + std::pair( "fingering0", 0xED10 ), // glyphnumber: 956, Fingering 0 (open string) + std::pair( "fingering1", 0xED11 ), // glyphnumber: 957, Fingering 1 (thumb) + std::pair( "fingering2", 0xED12 ), // glyphnumber: 958, Fingering 2 (index finger) + std::pair( "fingering3", 0xED13 ), // glyphnumber: 959, Fingering 3 (middle finger) + std::pair( "fingering4", 0xED14 ), // glyphnumber: 960, Fingering 4 (ring finger) + std::pair( "fingering5", 0xED15 ), // glyphnumber: 961, Fingering 5 (little finger) + std::pair( "fingeringALower", 0xED1B ), // glyphnumber: 962, Fingering a (anular; right-hand ring finger for guitar) + std::pair( "fingeringCLower", 0xED1C ), // glyphnumber: 963, Fingering c (right-hand little finger for guitar) + std::pair( "fingeringELower", 0xED1E ), // glyphnumber: 964, Fingering e (right-hand little finger for guitar) + std::pair( "fingeringILower", 0xED19 ), // glyphnumber: 965, Fingering i (indicio; right-hand index finger for guitar) + std::pair( "fingeringMLower", 0xED1A ), // glyphnumber: 966, Fingering m (medio; right-hand middle finger for guitar) + std::pair( "fingeringMultipleNotes", 0xED23 ), // glyphnumber: 967, Multiple notes played by thumb or single finger + std::pair( "fingeringOLower", 0xED1F ), // glyphnumber: 968, Fingering o (right-hand little finger for guitar) + std::pair( "fingeringPLower", 0xED17 ), // glyphnumber: 969, Fingering p (pulgar; right-hand thumb for guitar) + std::pair( "fingeringSubstitutionAbove", 0xED20 ), // glyphnumber: 970, Finger substitution above + std::pair( "fingeringSubstitutionBelow", 0xED21 ), // glyphnumber: 971, Finger substitution below + std::pair( "fingeringSubstitutionDash", 0xED22 ), // glyphnumber: 972, Finger substitution dash + std::pair( "fingeringTLower", 0xED18 ), // glyphnumber: 973, Fingering t (right-hand thumb for guitar) + std::pair( "fingeringTUpper", 0xED16 ), // glyphnumber: 974, Fingering T (left-hand thumb for guitar) + std::pair( "fingeringXLower", 0xED1D ), // glyphnumber: 975, Fingering x (right-hand little finger for guitar) + std::pair( "flag1024thDown", 0xE24F ), // glyphnumber: 976, Combining flag 8 (1024th) below + std::pair( "flag1024thUp", 0xE24E ), // glyphnumber: 977, Combining flag 8 (1024th) above + std::pair( "flag128thDown", 0xE249 ), // glyphnumber: 978, Combining flag 5 (128th) below + std::pair( "flag128thUp", 0xE248 ), // glyphnumber: 979, Combining flag 5 (128th) above + std::pair( "flag16thDown", 0xE243 ), // glyphnumber: 980, Combining flag 2 (16th) below + std::pair( "flag16thUp", 0xE242 ), // glyphnumber: 981, Combining flag 2 (16th) above + std::pair( "flag256thDown", 0xE24B ), // glyphnumber: 982, Combining flag 6 (256th) below + std::pair( "flag256thUp", 0xE24A ), // glyphnumber: 983, Combining flag 6 (256th) above + std::pair( "flag32ndDown", 0xE245 ), // glyphnumber: 984, Combining flag 3 (32nd) below + std::pair( "flag32ndUp", 0xE244 ), // glyphnumber: 985, Combining flag 3 (32nd) above + std::pair( "flag512thDown", 0xE24D ), // glyphnumber: 986, Combining flag 7 (512th) below + std::pair( "flag512thUp", 0xE24C ), // glyphnumber: 987, Combining flag 7 (512th) above + std::pair( "flag64thDown", 0xE247 ), // glyphnumber: 988, Combining flag 4 (64th) below + std::pair( "flag64thUp", 0xE246 ), // glyphnumber: 989, Combining flag 4 (64th) above + std::pair( "flag8thDown", 0xE241 ), // glyphnumber: 990, Combining flag 1 (8th) below + std::pair( "flag8thUp", 0xE240 ), // glyphnumber: 991, Combining flag 1 (8th) above + std::pair( "flagInternalDown", 0xE251 ), // glyphnumber: 992, Internal combining flag below + std::pair( "flagInternalUp", 0xE250 ), // glyphnumber: 993, Internal combining flag above + std::pair( "fretboard3String", 0xE850 ), // glyphnumber: 994, 3-string fretboard + std::pair( "fretboard3StringNut", 0xE851 ), // glyphnumber: 995, 3-string fretboard at nut + std::pair( "fretboard4String", 0xE852 ), // glyphnumber: 996, 4-string fretboard + std::pair( "fretboard4StringNut", 0xE853 ), // glyphnumber: 997, 4-string fretboard at nut + std::pair( "fretboard5String", 0xE854 ), // glyphnumber: 998, 5-string fretboard + std::pair( "fretboard5StringNut", 0xE855 ), // glyphnumber: 999, 5-string fretboard at nut + std::pair( "fretboard6String", 0xE856 ), // glyphnumber: 1000, 6-string fretboard + std::pair( "fretboard6StringNut", 0xE857 ), // glyphnumber: 1001, 6-string fretboard at nut + std::pair( "fretboardFilledCircle", 0xE858 ), // glyphnumber: 1002, Fingered fret (filled circle) + std::pair( "fretboardO", 0xE85A ), // glyphnumber: 1003, Open string (O) + std::pair( "fretboardX", 0xE859 ), // glyphnumber: 1004, String not played (X) + std::pair( "functionAngleLeft", 0xEA93 ), // glyphnumber: 1005, Function theory angle bracket left + std::pair( "functionAngleRight", 0xEA94 ), // glyphnumber: 1006, Function theory angle bracket right + std::pair( "functionBracketLeft", 0xEA8F ), // glyphnumber: 1007, Function theory bracket left + std::pair( "functionBracketRight", 0xEA90 ), // glyphnumber: 1008, Function theory bracket right + std::pair( "functionDD", 0xEA81 ), // glyphnumber: 1009, Function theory dominant of dominant + std::pair( "functionDLower", 0xEA80 ), // glyphnumber: 1010, Function theory minor dominant + std::pair( "functionDUpper", 0xEA7F ), // glyphnumber: 1011, Function theory major dominant + std::pair( "functionEight", 0xEA78 ), // glyphnumber: 1012, Function theory 8 + std::pair( "functionFUpper", 0xEA99 ), // glyphnumber: 1013, Function theory F + std::pair( "functionFive", 0xEA75 ), // glyphnumber: 1014, Function theory 5 + std::pair( "functionFour", 0xEA74 ), // glyphnumber: 1015, Function theory 4 + std::pair( "functionGLower", 0xEA84 ), // glyphnumber: 1016, Function theory g + std::pair( "functionGUpper", 0xEA83 ), // glyphnumber: 1017, Function theory G + std::pair( "functionGreaterThan", 0xEA7C ), // glyphnumber: 1018, Function theory greater than + std::pair( "functionILower", 0xEA9B ), // glyphnumber: 1019, Function theory i + std::pair( "functionIUpper", 0xEA9A ), // glyphnumber: 1020, Function theory I + std::pair( "functionKLower", 0xEA9D ), // glyphnumber: 1021, Function theory k + std::pair( "functionKUpper", 0xEA9C ), // glyphnumber: 1022, Function theory K + std::pair( "functionLLower", 0xEA9F ), // glyphnumber: 1023, Function theory l + std::pair( "functionLUpper", 0xEA9E ), // glyphnumber: 1024, Function theory L + std::pair( "functionLessThan", 0xEA7A ), // glyphnumber: 1025, Function theory less than + std::pair( "functionMLower", 0xED01 ), // glyphnumber: 1026, Function theory m + std::pair( "functionMUpper", 0xED00 ), // glyphnumber: 1027, Function theory M + std::pair( "functionMinus", 0xEA7B ), // glyphnumber: 1028, Function theory minus + std::pair( "functionNLower", 0xEA86 ), // glyphnumber: 1029, Function theory n + std::pair( "functionNUpper", 0xEA85 ), // glyphnumber: 1030, Function theory N + std::pair( "functionNUpperSuperscript", 0xED02 ), // glyphnumber: 1031, Function theory superscript N + std::pair( "functionNine", 0xEA79 ), // glyphnumber: 1032, Function theory 9 + std::pair( "functionOne", 0xEA71 ), // glyphnumber: 1033, Function theory 1 + std::pair( "functionPLower", 0xEA88 ), // glyphnumber: 1034, Function theory p + std::pair( "functionPUpper", 0xEA87 ), // glyphnumber: 1035, Function theory P + std::pair( "functionParensLeft", 0xEA91 ), // glyphnumber: 1036, Function theory parenthesis left + std::pair( "functionParensRight", 0xEA92 ), // glyphnumber: 1037, Function theory parenthesis right + std::pair( "functionPlus", 0xEA98 ), // glyphnumber: 1038, Function theory prefix plus + std::pair( "functionRLower", 0xED03 ), // glyphnumber: 1039, Function theory r + std::pair( "functionRepetition1", 0xEA95 ), // glyphnumber: 1040, Function theory repetition 1 + std::pair( "functionRepetition2", 0xEA96 ), // glyphnumber: 1041, Function theory repetition 2 + std::pair( "functionRing", 0xEA97 ), // glyphnumber: 1042, Function theory prefix ring + std::pair( "functionSLower", 0xEA8A ), // glyphnumber: 1043, Function theory minor subdominant + std::pair( "functionSSLower", 0xEA7E ), // glyphnumber: 1044, Function theory minor subdominant of subdominant + std::pair( "functionSSUpper", 0xEA7D ), // glyphnumber: 1045, Function theory major subdominant of subdominant + std::pair( "functionSUpper", 0xEA89 ), // glyphnumber: 1046, Function theory major subdominant + std::pair( "functionSeven", 0xEA77 ), // glyphnumber: 1047, Function theory 7 + std::pair( "functionSix", 0xEA76 ), // glyphnumber: 1048, Function theory 6 + std::pair( "functionSlashedDD", 0xEA82 ), // glyphnumber: 1049, Function theory double dominant seventh + std::pair( "functionTLower", 0xEA8C ), // glyphnumber: 1050, Function theory minor tonic + std::pair( "functionTUpper", 0xEA8B ), // glyphnumber: 1051, Function theory tonic + std::pair( "functionThree", 0xEA73 ), // glyphnumber: 1052, Function theory 3 + std::pair( "functionTwo", 0xEA72 ), // glyphnumber: 1053, Function theory 2 + std::pair( "functionVLower", 0xEA8E ), // glyphnumber: 1054, Function theory v + std::pair( "functionVUpper", 0xEA8D ), // glyphnumber: 1055, Function theory V + std::pair( "functionZero", 0xEA70 ), // glyphnumber: 1056, Function theory 0 + std::pair( "gClef", 0xE050 ), // glyphnumber: 1057, G clef + std::pair( "gClef15ma", 0xE054 ), // glyphnumber: 1058, G clef quindicesima alta + std::pair( "gClef15mb", 0xE051 ), // glyphnumber: 1059, G clef quindicesima bassa + std::pair( "gClef8va", 0xE053 ), // glyphnumber: 1060, G clef ottava alta + std::pair( "gClef8vb", 0xE052 ), // glyphnumber: 1061, G clef ottava bassa + std::pair( "gClef8vbCClef", 0xE056 ), // glyphnumber: 1062, G clef ottava bassa with C clef + std::pair( "gClef8vbOld", 0xE055 ), // glyphnumber: 1063, G clef ottava bassa (old style) + std::pair( "gClef8vbParens", 0xE057 ), // glyphnumber: 1064, G clef, optionally ottava bassa + std::pair( "gClefArrowDown", 0xE05B ), // glyphnumber: 1065, G clef, arrow down + std::pair( "gClefArrowUp", 0xE05A ), // glyphnumber: 1066, G clef, arrow up + std::pair( "gClefChange", 0xE07A ), // glyphnumber: 1067, G clef change + std::pair( "gClefLigatedNumberAbove", 0xE059 ), // glyphnumber: 1068, Combining G clef, number above + std::pair( "gClefLigatedNumberBelow", 0xE058 ), // glyphnumber: 1069, Combining G clef, number below + std::pair( "gClefReversed", 0xE073 ), // glyphnumber: 1070, Reversed G clef + std::pair( "gClefTurned", 0xE074 ), // glyphnumber: 1071, Turned G clef + std::pair( "glissandoDown", 0xE586 ), // glyphnumber: 1072, Glissando down + std::pair( "glissandoUp", 0xE585 ), // glyphnumber: 1073, Glissando up + std::pair( "graceNoteAcciaccaturaStemDown", 0xE561 ), // glyphnumber: 1074, Slashed grace note stem down + std::pair( "graceNoteAcciaccaturaStemUp", 0xE560 ), // glyphnumber: 1075, Slashed grace note stem up + std::pair( "graceNoteAppoggiaturaStemDown", 0xE563 ), // glyphnumber: 1076, Grace note stem down + std::pair( "graceNoteAppoggiaturaStemUp", 0xE562 ), // glyphnumber: 1077, Grace note stem up + std::pair( "graceNoteSlashStemDown", 0xE565 ), // glyphnumber: 1078, Slash for stem down grace note + std::pair( "graceNoteSlashStemUp", 0xE564 ), // glyphnumber: 1079, Slash for stem up grace note + std::pair( "guitarBarreFull", 0xE848 ), // glyphnumber: 1080, Full barré + std::pair( "guitarBarreHalf", 0xE849 ), // glyphnumber: 1081, Half barré + std::pair( "guitarClosePedal", 0xE83F ), // glyphnumber: 1082, Closed wah/volume pedal + std::pair( "guitarFadeIn", 0xE843 ), // glyphnumber: 1083, Fade in + std::pair( "guitarFadeOut", 0xE844 ), // glyphnumber: 1084, Fade out + std::pair( "guitarGolpe", 0xE842 ), // glyphnumber: 1085, Golpe (tapping the pick guard) + std::pair( "guitarHalfOpenPedal", 0xE83E ), // glyphnumber: 1086, Half-open wah/volume pedal + std::pair( "guitarLeftHandTapping", 0xE840 ), // glyphnumber: 1087, Left-hand tapping + std::pair( "guitarOpenPedal", 0xE83D ), // glyphnumber: 1088, Open wah/volume pedal + std::pair( "guitarRightHandTapping", 0xE841 ), // glyphnumber: 1089, Right-hand tapping + std::pair( "guitarShake", 0xE832 ), // glyphnumber: 1090, Guitar shake + std::pair( "guitarString0", 0xE833 ), // glyphnumber: 1091, String number 0 + std::pair( "guitarString1", 0xE834 ), // glyphnumber: 1092, String number 1 + std::pair( "guitarString2", 0xE835 ), // glyphnumber: 1093, String number 2 + std::pair( "guitarString3", 0xE836 ), // glyphnumber: 1094, String number 3 + std::pair( "guitarString4", 0xE837 ), // glyphnumber: 1095, String number 4 + std::pair( "guitarString5", 0xE838 ), // glyphnumber: 1096, String number 5 + std::pair( "guitarString6", 0xE839 ), // glyphnumber: 1097, String number 6 + std::pair( "guitarString7", 0xE83A ), // glyphnumber: 1098, String number 7 + std::pair( "guitarString8", 0xE83B ), // glyphnumber: 1099, String number 8 + std::pair( "guitarString9", 0xE83C ), // glyphnumber: 1100, String number 9 + std::pair( "guitarStrumDown", 0xE847 ), // glyphnumber: 1101, Strum direction down + std::pair( "guitarStrumUp", 0xE846 ), // glyphnumber: 1102, Strum direction up + std::pair( "guitarVibratoBarDip", 0xE831 ), // glyphnumber: 1103, Guitar vibrato bar dip + std::pair( "guitarVibratoBarScoop", 0xE830 ), // glyphnumber: 1104, Guitar vibrato bar scoop + std::pair( "guitarVibratoStroke", 0xEAB2 ), // glyphnumber: 1105, Vibrato wiggle segment + std::pair( "guitarVolumeSwell", 0xE845 ), // glyphnumber: 1106, Volume swell + std::pair( "guitarWideVibratoStroke", 0xEAB3 ), // glyphnumber: 1107, Wide vibrato wiggle segment + std::pair( "handbellsBelltree", 0xE81F ), // glyphnumber: 1108, Belltree + std::pair( "handbellsDamp3", 0xE81E ), // glyphnumber: 1109, Damp 3 + std::pair( "handbellsEcho1", 0xE81B ), // glyphnumber: 1110, Echo + std::pair( "handbellsEcho2", 0xE81C ), // glyphnumber: 1111, Echo 2 + std::pair( "handbellsGyro", 0xE81D ), // glyphnumber: 1112, Gyro + std::pair( "handbellsHandMartellato", 0xE812 ), // glyphnumber: 1113, Hand martellato + std::pair( "handbellsMalletBellOnTable", 0xE815 ), // glyphnumber: 1114, Mallet, bell on table + std::pair( "handbellsMalletBellSuspended", 0xE814 ), // glyphnumber: 1115, Mallet, bell suspended + std::pair( "handbellsMalletLft", 0xE816 ), // glyphnumber: 1116, Mallet lift + std::pair( "handbellsMartellato", 0xE810 ), // glyphnumber: 1117, Martellato + std::pair( "handbellsMartellatoLift", 0xE811 ), // glyphnumber: 1118, Martellato lift + std::pair( "handbellsMutedMartellato", 0xE813 ), // glyphnumber: 1119, Muted martellato + std::pair( "handbellsPluckLift", 0xE817 ), // glyphnumber: 1120, Pluck lift + std::pair( "handbellsSwing", 0xE81A ), // glyphnumber: 1121, Swing + std::pair( "handbellsSwingDown", 0xE819 ), // glyphnumber: 1122, Swing down + std::pair( "handbellsSwingUp", 0xE818 ), // glyphnumber: 1123, Swing up + std::pair( "handbellsTablePairBells", 0xE821 ), // glyphnumber: 1124, Table pair of handbells + std::pair( "handbellsTableSingleBell", 0xE820 ), // glyphnumber: 1125, Table single handbell + std::pair( "harpMetalRod", 0xE68F ), // glyphnumber: 1126, Metal rod pictogram + std::pair( "harpPedalCentered", 0xE681 ), // glyphnumber: 1127, Harp pedal centered (natural) + std::pair( "harpPedalDivider", 0xE683 ), // glyphnumber: 1128, Harp pedal divider + std::pair( "harpPedalLowered", 0xE682 ), // glyphnumber: 1129, Harp pedal lowered (sharp) + std::pair( "harpPedalRaised", 0xE680 ), // glyphnumber: 1130, Harp pedal raised (flat) + std::pair( "harpSalzedoAeolianAscending", 0xE695 ), // glyphnumber: 1131, Ascending aeolian chords (Salzedo) + std::pair( "harpSalzedoAeolianDescending", 0xE696 ), // glyphnumber: 1132, Descending aeolian chords (Salzedo) + std::pair( "harpSalzedoDampAbove", 0xE69A ), // glyphnumber: 1133, Damp above (Salzedo) + std::pair( "harpSalzedoDampBelow", 0xE699 ), // glyphnumber: 1134, Damp below (Salzedo) + std::pair( "harpSalzedoDampBothHands", 0xE698 ), // glyphnumber: 1135, Damp with both hands (Salzedo) + std::pair( "harpSalzedoDampLowStrings", 0xE697 ), // glyphnumber: 1136, Damp only low strings (Salzedo) + std::pair( "harpSalzedoFluidicSoundsLeft", 0xE68D ), // glyphnumber: 1137, Fluidic sounds, left hand (Salzedo) + std::pair( "harpSalzedoFluidicSoundsRight", 0xE68E ), // glyphnumber: 1138, Fluidic sounds, right hand (Salzedo) + std::pair( "harpSalzedoIsolatedSounds", 0xE69C ), // glyphnumber: 1139, Isolated sounds (Salzedo) + std::pair( "harpSalzedoMetallicSounds", 0xE688 ), // glyphnumber: 1140, Metallic sounds (Salzedo) + std::pair( "harpSalzedoMetallicSoundsOneString", 0xE69B ), // glyphnumber: 1141, Metallic sounds, one string (Salzedo) + std::pair( "harpSalzedoMuffleTotally", 0xE68C ), // glyphnumber: 1142, Muffle totally (Salzedo) + std::pair( "harpSalzedoOboicFlux", 0xE685 ), // glyphnumber: 1143, Oboic flux (Salzedo) + std::pair( "harpSalzedoPlayUpperEnd", 0xE68A ), // glyphnumber: 1144, Play at upper end of strings (Salzedo) + std::pair( "harpSalzedoSlideWithSuppleness", 0xE684 ), // glyphnumber: 1145, Slide with suppleness (Salzedo) + std::pair( "harpSalzedoSnareDrum", 0xE69D ), // glyphnumber: 1146, Snare drum effect (Salzedo) + std::pair( "harpSalzedoTamTamSounds", 0xE689 ), // glyphnumber: 1147, Tam-tam sounds (Salzedo) + std::pair( "harpSalzedoThunderEffect", 0xE686 ), // glyphnumber: 1148, Thunder effect (Salzedo) + std::pair( "harpSalzedoTimpanicSounds", 0xE68B ), // glyphnumber: 1149, Timpanic sounds (Salzedo) + std::pair( "harpSalzedoWhistlingSounds", 0xE687 ), // glyphnumber: 1150, Whistling sounds (Salzedo) + std::pair( "harpStringNoiseStem", 0xE694 ), // glyphnumber: 1151, Combining string noise for stem + std::pair( "harpTuningKey", 0xE690 ), // glyphnumber: 1152, Tuning key pictogram + std::pair( "harpTuningKeyGlissando", 0xE693 ), // glyphnumber: 1153, Retune strings for glissando + std::pair( "harpTuningKeyHandle", 0xE691 ), // glyphnumber: 1154, Use handle of tuning key pictogram + std::pair( "harpTuningKeyShank", 0xE692 ), // glyphnumber: 1155, Use shank of tuning key pictogram + std::pair( "keyboardBebung2DotsAbove", 0xE668 ), // glyphnumber: 1156, Clavichord bebung, 2 finger movements (above) + std::pair( "keyboardBebung2DotsBelow", 0xE669 ), // glyphnumber: 1157, Clavichord bebung, 2 finger movements (below) + std::pair( "keyboardBebung3DotsAbove", 0xE66A ), // glyphnumber: 1158, Clavichord bebung, 3 finger movements (above) + std::pair( "keyboardBebung3DotsBelow", 0xE66B ), // glyphnumber: 1159, Clavichord bebung, 3 finger movements (below) + std::pair( "keyboardBebung4DotsAbove", 0xE66C ), // glyphnumber: 1160, Clavichord bebung, 4 finger movements (above) + std::pair( "keyboardBebung4DotsBelow", 0xE66D ), // glyphnumber: 1161, Clavichord bebung, 4 finger movements (below) + std::pair( "keyboardLeftPedalPictogram", 0xE65E ), // glyphnumber: 1162, Left pedal pictogram + std::pair( "keyboardMiddlePedalPictogram", 0xE65F ), // glyphnumber: 1163, Middle pedal pictogram + std::pair( "keyboardPedalD", 0xE653 ), // glyphnumber: 1164, Pedal d + std::pair( "keyboardPedalDot", 0xE654 ), // glyphnumber: 1165, Pedal dot + std::pair( "keyboardPedalE", 0xE652 ), // glyphnumber: 1166, Pedal e + std::pair( "keyboardPedalHalf", 0xE656 ), // glyphnumber: 1167, Half-pedal mark + std::pair( "keyboardPedalHalf2", 0xE65B ), // glyphnumber: 1168, Half pedal mark 1 + std::pair( "keyboardPedalHalf3", 0xE65C ), // glyphnumber: 1169, Half pedal mark 2 + std::pair( "keyboardPedalHeel1", 0xE661 ), // glyphnumber: 1170, Pedal heel 1 + std::pair( "keyboardPedalHeel2", 0xE662 ), // glyphnumber: 1171, Pedal heel 2 + std::pair( "keyboardPedalHeel3", 0xE663 ), // glyphnumber: 1172, Pedal heel 3 (Davis) + std::pair( "keyboardPedalHeelToToe", 0xE674 ), // glyphnumber: 1173, Pedal heel to toe + std::pair( "keyboardPedalHeelToe", 0xE666 ), // glyphnumber: 1174, Pedal heel or toe + std::pair( "keyboardPedalHookEnd", 0xE673 ), // glyphnumber: 1175, Pedal hook end + std::pair( "keyboardPedalHookStart", 0xE672 ), // glyphnumber: 1176, Pedal hook start + std::pair( "keyboardPedalHyphen", 0xE658 ), // glyphnumber: 1177, Pedal hyphen + std::pair( "keyboardPedalP", 0xE651 ), // glyphnumber: 1178, Pedal P + std::pair( "keyboardPedalPed", 0xE650 ), // glyphnumber: 1179, Pedal mark + std::pair( "keyboardPedalS", 0xE65A ), // glyphnumber: 1180, Pedal S + std::pair( "keyboardPedalSost", 0xE659 ), // glyphnumber: 1181, Sostenuto pedal mark + std::pair( "keyboardPedalToe1", 0xE664 ), // glyphnumber: 1182, Pedal toe 1 + std::pair( "keyboardPedalToe2", 0xE665 ), // glyphnumber: 1183, Pedal toe 2 + std::pair( "keyboardPedalToeToHeel", 0xE675 ), // glyphnumber: 1184, Pedal toe to heel + std::pair( "keyboardPedalUp", 0xE655 ), // glyphnumber: 1185, Pedal up mark + std::pair( "keyboardPedalUpNotch", 0xE657 ), // glyphnumber: 1186, Pedal up notch + std::pair( "keyboardPedalUpSpecial", 0xE65D ), // glyphnumber: 1187, Pedal up special + std::pair( "keyboardPlayWithLH", 0xE670 ), // glyphnumber: 1188, Play with left hand + std::pair( "keyboardPlayWithLHEnd", 0xE671 ), // glyphnumber: 1189, Play with left hand (end) + std::pair( "keyboardPlayWithRH", 0xE66E ), // glyphnumber: 1190, Play with right hand + std::pair( "keyboardPlayWithRHEnd", 0xE66F ), // glyphnumber: 1191, Play with right hand (end) + std::pair( "keyboardPluckInside", 0xE667 ), // glyphnumber: 1192, Pluck strings inside piano (Maderna) + std::pair( "keyboardRightPedalPictogram", 0xE660 ), // glyphnumber: 1193, Right pedal pictogram + std::pair( "kievanAccidentalFlat", 0xEC3E ), // glyphnumber: 1194, Kievan flat + std::pair( "kievanAccidentalSharp", 0xEC3D ), // glyphnumber: 1195, Kievan sharp + std::pair( "kievanAugmentationDot", 0xEC3C ), // glyphnumber: 1196, Kievan augmentation dot + std::pair( "kievanCClef", 0xEC30 ), // glyphnumber: 1197, Kievan C clef (tse-fa-ut) + std::pair( "kievanEndingSymbol", 0xEC31 ), // glyphnumber: 1198, Kievan ending symbol + std::pair( "kievanNote8thStemDown", 0xEC3A ), // glyphnumber: 1199, Kievan eighth note, stem down + std::pair( "kievanNote8thStemUp", 0xEC39 ), // glyphnumber: 1200, Kievan eighth note, stem up + std::pair( "kievanNoteBeam", 0xEC3B ), // glyphnumber: 1201, Kievan beam + std::pair( "kievanNoteHalfStaffLine", 0xEC35 ), // glyphnumber: 1202, Kievan half note (on staff line) + std::pair( "kievanNoteHalfStaffSpace", 0xEC36 ), // glyphnumber: 1203, Kievan half note (in staff space) + std::pair( "kievanNoteQuarterStemDown", 0xEC38 ), // glyphnumber: 1204, Kievan quarter note, stem down + std::pair( "kievanNoteQuarterStemUp", 0xEC37 ), // glyphnumber: 1205, Kievan quarter note, stem up + std::pair( "kievanNoteReciting", 0xEC32 ), // glyphnumber: 1206, Kievan reciting note + std::pair( "kievanNoteWhole", 0xEC33 ), // glyphnumber: 1207, Kievan whole note + std::pair( "kievanNoteWholeFinal", 0xEC34 ), // glyphnumber: 1208, Kievan final whole note + std::pair( "kodalyHandDo", 0xEC40 ), // glyphnumber: 1209, Do hand sign + std::pair( "kodalyHandFa", 0xEC43 ), // glyphnumber: 1210, Fa hand sign + std::pair( "kodalyHandLa", 0xEC45 ), // glyphnumber: 1211, La hand sign + std::pair( "kodalyHandMi", 0xEC42 ), // glyphnumber: 1212, Mi hand sign + std::pair( "kodalyHandRe", 0xEC41 ), // glyphnumber: 1213, Re hand sign + std::pair( "kodalyHandSo", 0xEC44 ), // glyphnumber: 1214, So hand sign + std::pair( "kodalyHandTi", 0xEC46 ), // glyphnumber: 1215, Ti hand sign + std::pair( "leftRepeatSmall", 0xE04C ), // glyphnumber: 1216, Left repeat sign within bar + std::pair( "legerLine", 0xE022 ), // glyphnumber: 1217, Leger line + std::pair( "legerLineNarrow", 0xE024 ), // glyphnumber: 1218, Leger line (narrow) + std::pair( "legerLineWide", 0xE023 ), // glyphnumber: 1219, Leger line (wide) + std::pair( "luteBarlineEndRepeat", 0xEBA4 ), // glyphnumber: 1220, Lute tablature end repeat barline + std::pair( "luteBarlineFinal", 0xEBA5 ), // glyphnumber: 1221, Lute tablature final barline + std::pair( "luteBarlineStartRepeat", 0xEBA3 ), // glyphnumber: 1222, Lute tablature start repeat barline + std::pair( "luteDuration16th", 0xEBAB ), // glyphnumber: 1223, 16th note (semiquaver) duration sign + std::pair( "luteDuration32nd", 0xEBAC ), // glyphnumber: 1224, 32nd note (demisemiquaver) duration sign + std::pair( "luteDuration8th", 0xEBAA ), // glyphnumber: 1225, Eighth note (quaver) duration sign + std::pair( "luteDurationDoubleWhole", 0xEBA6 ), // glyphnumber: 1226, Double whole note (breve) duration sign + std::pair( "luteDurationHalf", 0xEBA8 ), // glyphnumber: 1227, Half note (minim) duration sign + std::pair( "luteDurationQuarter", 0xEBA9 ), // glyphnumber: 1228, Quarter note (crotchet) duration sign + std::pair( "luteDurationWhole", 0xEBA7 ), // glyphnumber: 1229, Whole note (semibreve) duration sign + std::pair( "luteFingeringRHFirst", 0xEBAE ), // glyphnumber: 1230, Right-hand fingering, first finger + std::pair( "luteFingeringRHSecond", 0xEBAF ), // glyphnumber: 1231, Right-hand fingering, second finger + std::pair( "luteFingeringRHThird", 0xEBB0 ), // glyphnumber: 1232, Right-hand fingering, third finger + std::pair( "luteFingeringRHThumb", 0xEBAD ), // glyphnumber: 1233, Right-hand fingering, thumb + std::pair( "luteFrench10thCourse", 0xEBD0 ), // glyphnumber: 1234, 10th course (diapason) + std::pair( "luteFrench7thCourse", 0xEBCD ), // glyphnumber: 1235, Seventh course (diapason) + std::pair( "luteFrench8thCourse", 0xEBCE ), // glyphnumber: 1236, Eighth course (diapason) + std::pair( "luteFrench9thCourse", 0xEBCF ), // glyphnumber: 1237, Ninth course (diapason) + std::pair( "luteFrenchAppoggiaturaAbove", 0xEBD5 ), // glyphnumber: 1238, Appoggiatura from above + std::pair( "luteFrenchAppoggiaturaBelow", 0xEBD4 ), // glyphnumber: 1239, Appoggiatura from below + std::pair( "luteFrenchFretA", 0xEBC0 ), // glyphnumber: 1240, Open string (a) + std::pair( "luteFrenchFretB", 0xEBC1 ), // glyphnumber: 1241, First fret (b) + std::pair( "luteFrenchFretC", 0xEBC2 ), // glyphnumber: 1242, Second fret (c) + std::pair( "luteFrenchFretD", 0xEBC3 ), // glyphnumber: 1243, Third fret (d) + std::pair( "luteFrenchFretE", 0xEBC4 ), // glyphnumber: 1244, Fourth fret (e) + std::pair( "luteFrenchFretF", 0xEBC5 ), // glyphnumber: 1245, Fifth fret (f) + std::pair( "luteFrenchFretG", 0xEBC6 ), // glyphnumber: 1246, Sixth fret (g) + std::pair( "luteFrenchFretH", 0xEBC7 ), // glyphnumber: 1247, Seventh fret (h) + std::pair( "luteFrenchFretI", 0xEBC8 ), // glyphnumber: 1248, Eighth fret (i) + std::pair( "luteFrenchFretK", 0xEBC9 ), // glyphnumber: 1249, Ninth fret (k) + std::pair( "luteFrenchFretL", 0xEBCA ), // glyphnumber: 1250, 10th fret (l) + std::pair( "luteFrenchFretM", 0xEBCB ), // glyphnumber: 1251, 11th fret (m) + std::pair( "luteFrenchFretN", 0xEBCC ), // glyphnumber: 1252, 12th fret (n) + std::pair( "luteFrenchMordentInverted", 0xEBD3 ), // glyphnumber: 1253, Inverted mordent + std::pair( "luteFrenchMordentLower", 0xEBD2 ), // glyphnumber: 1254, Mordent with lower auxiliary + std::pair( "luteFrenchMordentUpper", 0xEBD1 ), // glyphnumber: 1255, Mordent with upper auxiliary + std::pair( "luteGermanALower", 0xEC00 ), // glyphnumber: 1256, 5th course, 1st fret (a) + std::pair( "luteGermanAUpper", 0xEC17 ), // glyphnumber: 1257, 6th course, 1st fret (A) + std::pair( "luteGermanBLower", 0xEC01 ), // glyphnumber: 1258, 4th course, 1st fret (b) + std::pair( "luteGermanBUpper", 0xEC18 ), // glyphnumber: 1259, 6th course, 2nd fret (B) + std::pair( "luteGermanCLower", 0xEC02 ), // glyphnumber: 1260, 3rd course, 1st fret (c) + std::pair( "luteGermanCUpper", 0xEC19 ), // glyphnumber: 1261, 6th course, 3rd fret (C) + std::pair( "luteGermanDLower", 0xEC03 ), // glyphnumber: 1262, 2nd course, 1st fret (d) + std::pair( "luteGermanDUpper", 0xEC1A ), // glyphnumber: 1263, 6th course, 4th fret (D) + std::pair( "luteGermanELower", 0xEC04 ), // glyphnumber: 1264, 1st course, 1st fret (e) + std::pair( "luteGermanEUpper", 0xEC1B ), // glyphnumber: 1265, 6th course, 5th fret (E) + std::pair( "luteGermanFLower", 0xEC05 ), // glyphnumber: 1266, 5th course, 2nd fret (f) + std::pair( "luteGermanFUpper", 0xEC1C ), // glyphnumber: 1267, 6th course, 6th fret (F) + std::pair( "luteGermanGLower", 0xEC06 ), // glyphnumber: 1268, 4th course, 2nd fret (g) + std::pair( "luteGermanGUpper", 0xEC1D ), // glyphnumber: 1269, 6th course, 7th fret (G) + std::pair( "luteGermanHLower", 0xEC07 ), // glyphnumber: 1270, 3rd course, 2nd fret (h) + std::pair( "luteGermanHUpper", 0xEC1E ), // glyphnumber: 1271, 6th course, 8th fret (H) + std::pair( "luteGermanILower", 0xEC08 ), // glyphnumber: 1272, 2nd course, 2nd fret (i) + std::pair( "luteGermanIUpper", 0xEC1F ), // glyphnumber: 1273, 6th course, 9th fret (I) + std::pair( "luteGermanKLower", 0xEC09 ), // glyphnumber: 1274, 1st course, 2nd fret (k) + std::pair( "luteGermanKUpper", 0xEC20 ), // glyphnumber: 1275, 6th course, 10th fret (K) + std::pair( "luteGermanLLower", 0xEC0A ), // glyphnumber: 1276, 5th course, 3rd fret (l) + std::pair( "luteGermanLUpper", 0xEC21 ), // glyphnumber: 1277, 6th course, 11th fret (L) + std::pair( "luteGermanMLower", 0xEC0B ), // glyphnumber: 1278, 4th course, 3rd fret (m) + std::pair( "luteGermanMUpper", 0xEC22 ), // glyphnumber: 1279, 6th course, 12th fret (M) + std::pair( "luteGermanNLower", 0xEC0C ), // glyphnumber: 1280, 3rd course, 3rd fret (n) + std::pair( "luteGermanNUpper", 0xEC23 ), // glyphnumber: 1281, 6th course, 13th fret (N) + std::pair( "luteGermanOLower", 0xEC0D ), // glyphnumber: 1282, 2nd course, 3rd fret (o) + std::pair( "luteGermanPLower", 0xEC0E ), // glyphnumber: 1283, 1st course, 3rd fret (p) + std::pair( "luteGermanQLower", 0xEC0F ), // glyphnumber: 1284, 5th course, 4th fret (q) + std::pair( "luteGermanRLower", 0xEC10 ), // glyphnumber: 1285, 4th course, 4th fret (r) + std::pair( "luteGermanSLower", 0xEC11 ), // glyphnumber: 1286, 3rd course, 4th fret (s) + std::pair( "luteGermanTLower", 0xEC12 ), // glyphnumber: 1287, 2nd course, 4th fret (t) + std::pair( "luteGermanVLower", 0xEC13 ), // glyphnumber: 1288, 1st course, 4th fret (v) + std::pair( "luteGermanXLower", 0xEC14 ), // glyphnumber: 1289, 5th course, 5th fret (x) + std::pair( "luteGermanYLower", 0xEC15 ), // glyphnumber: 1290, 4th course, 5th fret (y) + std::pair( "luteGermanZLower", 0xEC16 ), // glyphnumber: 1291, 3rd course, 5th fret (z) + std::pair( "luteItalianClefCSolFaUt", 0xEBF1 ), // glyphnumber: 1292, C sol fa ut clef + std::pair( "luteItalianClefFFaUt", 0xEBF0 ), // glyphnumber: 1293, F fa ut clef + std::pair( "luteItalianFret0", 0xEBE0 ), // glyphnumber: 1294, Open string (0) + std::pair( "luteItalianFret1", 0xEBE1 ), // glyphnumber: 1295, First fret (1) + std::pair( "luteItalianFret2", 0xEBE2 ), // glyphnumber: 1296, Second fret (2) + std::pair( "luteItalianFret3", 0xEBE3 ), // glyphnumber: 1297, Third fret (3) + std::pair( "luteItalianFret4", 0xEBE4 ), // glyphnumber: 1298, Fourth fret (4) + std::pair( "luteItalianFret5", 0xEBE5 ), // glyphnumber: 1299, Fifth fret (5) + std::pair( "luteItalianFret6", 0xEBE6 ), // glyphnumber: 1300, Sixth fret (6) + std::pair( "luteItalianFret7", 0xEBE7 ), // glyphnumber: 1301, Seventh fret (7) + std::pair( "luteItalianFret8", 0xEBE8 ), // glyphnumber: 1302, Eighth fret (8) + std::pair( "luteItalianFret9", 0xEBE9 ), // glyphnumber: 1303, Ninth fret (9) + std::pair( "luteItalianHoldFinger", 0xEBF4 ), // glyphnumber: 1304, Hold finger in place + std::pair( "luteItalianHoldNote", 0xEBF3 ), // glyphnumber: 1305, Hold note + std::pair( "luteItalianReleaseFinger", 0xEBF5 ), // glyphnumber: 1306, Release finger + std::pair( "luteItalianTempoFast", 0xEBEA ), // glyphnumber: 1307, Fast tempo indication (de Mudarra) + std::pair( "luteItalianTempoNeitherFastNorSlow", 0xEBEC ), // glyphnumber: 1308, Neither fast nor slow tempo indication (de Mudarra) + std::pair( "luteItalianTempoSlow", 0xEBED ), // glyphnumber: 1309, Slow tempo indication (de Mudarra) + std::pair( "luteItalianTempoSomewhatFast", 0xEBEB ), // glyphnumber: 1310, Somewhat fast tempo indication (de Narvaez) + std::pair( "luteItalianTempoVerySlow", 0xEBEE ), // glyphnumber: 1311, Very slow indication (de Narvaez) + std::pair( "luteItalianTimeTriple", 0xEBEF ), // glyphnumber: 1312, Triple time indication + std::pair( "luteItalianTremolo", 0xEBF2 ), // glyphnumber: 1313, Single-finger tremolo or mordent + std::pair( "luteItalianVibrato", 0xEBF6 ), // glyphnumber: 1314, Vibrato (verre cassé) + std::pair( "luteStaff6Lines", 0xEBA0 ), // glyphnumber: 1315, Lute tablature staff, 6 courses + std::pair( "luteStaff6LinesNarrow", 0xEBA2 ), // glyphnumber: 1316, Lute tablature staff, 6 courses (narrow) + std::pair( "luteStaff6LinesWide", 0xEBA1 ), // glyphnumber: 1317, Lute tablature staff, 6 courses (wide) + std::pair( "lyricsElision", 0xE551 ), // glyphnumber: 1318, Elision + std::pair( "lyricsElisionNarrow", 0xE550 ), // glyphnumber: 1319, Narrow elision + std::pair( "lyricsElisionWide", 0xE552 ), // glyphnumber: 1320, Wide elision + std::pair( "lyricsHyphenBaseline", 0xE553 ), // glyphnumber: 1321, Baseline hyphen + std::pair( "lyricsHyphenBaselineNonBreaking", 0xE554 ), // glyphnumber: 1322, Non-breaking baseline hyphen + std::pair( "medRenFlatHardB", 0xE9E1 ), // glyphnumber: 1323, Flat, hard b (mi) + std::pair( "medRenFlatSoftB", 0xE9E0 ), // glyphnumber: 1324, Flat, soft b (fa) + std::pair( "medRenFlatWithDot", 0xE9E4 ), // glyphnumber: 1325, Flat with dot + std::pair( "medRenGClefCMN", 0xEA24 ), // glyphnumber: 1326, G clef (Corpus Monodicum) + std::pair( "medRenLiquescenceCMN", 0xEA22 ), // glyphnumber: 1327, Liquescence + std::pair( "medRenLiquescentAscCMN", 0xEA26 ), // glyphnumber: 1328, Liquescent ascending (Corpus Monodicum) + std::pair( "medRenLiquescentDescCMN", 0xEA27 ), // glyphnumber: 1329, Liquescent descending (Corpus Monodicum) + std::pair( "medRenNatural", 0xE9E2 ), // glyphnumber: 1330, Natural + std::pair( "medRenNaturalWithCross", 0xE9E5 ), // glyphnumber: 1331, Natural with interrupted cross + std::pair( "medRenOriscusCMN", 0xEA2A ), // glyphnumber: 1332, Oriscus (Corpus Monodicum) + std::pair( "medRenPlicaCMN", 0xEA23 ), // glyphnumber: 1333, Plica + std::pair( "medRenPunctumCMN", 0xEA25 ), // glyphnumber: 1334, Punctum (Corpus Monodicum) + std::pair( "medRenQuilismaCMN", 0xEA28 ), // glyphnumber: 1335, Quilisma (Corpus Monodicum) + std::pair( "medRenSharpCroix", 0xE9E3 ), // glyphnumber: 1336, Croix + std::pair( "medRenStrophicusCMN", 0xEA29 ), // glyphnumber: 1337, Strophicus (Corpus Monodicum) + std::pair( "mensuralAlterationSign", 0xEA10 ), // glyphnumber: 1338, Alteration sign + std::pair( "mensuralBlackBrevis", 0xE952 ), // glyphnumber: 1339, Black mensural brevis + std::pair( "mensuralBlackBrevisVoid", 0xE956 ), // glyphnumber: 1340, Black mensural void brevis + std::pair( "mensuralBlackDragma", 0xE95A ), // glyphnumber: 1341, Black mensural dragma + std::pair( "mensuralBlackLonga", 0xE951 ), // glyphnumber: 1342, Black mensural longa + std::pair( "mensuralBlackMaxima", 0xE950 ), // glyphnumber: 1343, Black mensural maxima + std::pair( "mensuralBlackMinima", 0xE954 ), // glyphnumber: 1344, Black mensural minima + std::pair( "mensuralBlackMinimaVoid", 0xE958 ), // glyphnumber: 1345, Black mensural void minima + std::pair( "mensuralBlackSemibrevis", 0xE953 ), // glyphnumber: 1346, Black mensural semibrevis + std::pair( "mensuralBlackSemibrevisCaudata", 0xE959 ), // glyphnumber: 1347, Black mensural semibrevis caudata + std::pair( "mensuralBlackSemibrevisOblique", 0xE95B ), // glyphnumber: 1348, Black mensural oblique semibrevis + std::pair( "mensuralBlackSemibrevisVoid", 0xE957 ), // glyphnumber: 1349, Black mensural void semibrevis + std::pair( "mensuralBlackSemiminima", 0xE955 ), // glyphnumber: 1350, Black mensural semiminima + std::pair( "mensuralCclef", 0xE905 ), // glyphnumber: 1351, Mensural C clef + std::pair( "mensuralCclefPetrucciPosHigh", 0xE90A ), // glyphnumber: 1352, Petrucci C clef, high position + std::pair( "mensuralCclefPetrucciPosHighest", 0xE90B ), // glyphnumber: 1353, Petrucci C clef, highest position + std::pair( "mensuralCclefPetrucciPosLow", 0xE908 ), // glyphnumber: 1354, Petrucci C clef, low position + std::pair( "mensuralCclefPetrucciPosLowest", 0xE907 ), // glyphnumber: 1355, Petrucci C clef, lowest position + std::pair( "mensuralCclefPetrucciPosMiddle", 0xE909 ), // glyphnumber: 1356, Petrucci C clef, middle position + std::pair( "mensuralColorationEndRound", 0xEA0F ), // glyphnumber: 1357, Coloration end, round + std::pair( "mensuralColorationEndSquare", 0xEA0D ), // glyphnumber: 1358, Coloration end, square + std::pair( "mensuralColorationStartRound", 0xEA0E ), // glyphnumber: 1359, Coloration start, round + std::pair( "mensuralColorationStartSquare", 0xEA0C ), // glyphnumber: 1360, Coloration start, square + std::pair( "mensuralCombStemDiagonal", 0xE940 ), // glyphnumber: 1361, Combining stem diagonal + std::pair( "mensuralCombStemDown", 0xE93F ), // glyphnumber: 1362, Combining stem down + std::pair( "mensuralCombStemDownFlagExtended", 0xE948 ), // glyphnumber: 1363, Combining stem with extended flag down + std::pair( "mensuralCombStemDownFlagFlared", 0xE946 ), // glyphnumber: 1364, Combining stem with flared flag down + std::pair( "mensuralCombStemDownFlagFusa", 0xE94C ), // glyphnumber: 1365, Combining stem with fusa flag down + std::pair( "mensuralCombStemDownFlagLeft", 0xE944 ), // glyphnumber: 1366, Combining stem with flag left down + std::pair( "mensuralCombStemDownFlagRight", 0xE942 ), // glyphnumber: 1367, Combining stem with flag right down + std::pair( "mensuralCombStemDownFlagSemiminima", 0xE94A ), // glyphnumber: 1368, Combining stem with semiminima flag down + std::pair( "mensuralCombStemUp", 0xE93E ), // glyphnumber: 1369, Combining stem up + std::pair( "mensuralCombStemUpFlagExtended", 0xE947 ), // glyphnumber: 1370, Combining stem with extended flag up + std::pair( "mensuralCombStemUpFlagFlared", 0xE945 ), // glyphnumber: 1371, Combining stem with flared flag up + std::pair( "mensuralCombStemUpFlagFusa", 0xE94B ), // glyphnumber: 1372, Combining stem with fusa flag up + std::pair( "mensuralCombStemUpFlagLeft", 0xE943 ), // glyphnumber: 1373, Combining stem with flag left up + std::pair( "mensuralCombStemUpFlagRight", 0xE941 ), // glyphnumber: 1374, Combining stem with flag right up + std::pair( "mensuralCombStemUpFlagSemiminima", 0xE949 ), // glyphnumber: 1375, Combining stem with semiminima flag up + std::pair( "mensuralCustosCheckmark", 0xEA0A ), // glyphnumber: 1376, Checkmark custos + std::pair( "mensuralCustosDown", 0xEA03 ), // glyphnumber: 1377, Mensural custos down + std::pair( "mensuralCustosTurn", 0xEA0B ), // glyphnumber: 1378, Turn-like custos + std::pair( "mensuralCustosUp", 0xEA02 ), // glyphnumber: 1379, Mensural custos up + std::pair( "mensuralFclef", 0xE903 ), // glyphnumber: 1380, Mensural F clef + std::pair( "mensuralFclefPetrucci", 0xE904 ), // glyphnumber: 1381, Petrucci F clef + std::pair( "mensuralGclef", 0xE900 ), // glyphnumber: 1382, Mensural G clef + std::pair( "mensuralGclefPetrucci", 0xE901 ), // glyphnumber: 1383, Petrucci G clef + std::pair( "mensuralModusImperfectumVert", 0xE92D ), // glyphnumber: 1384, Modus imperfectum, vertical + std::pair( "mensuralModusPerfectumVert", 0xE92C ), // glyphnumber: 1385, Modus perfectum, vertical + std::pair( "mensuralNoteheadLongaBlack", 0xE934 ), // glyphnumber: 1386, Longa/brevis notehead, black + std::pair( "mensuralNoteheadLongaBlackVoid", 0xE936 ), // glyphnumber: 1387, Longa/brevis notehead, black and void + std::pair( "mensuralNoteheadLongaVoid", 0xE935 ), // glyphnumber: 1388, Longa/brevis notehead, void + std::pair( "mensuralNoteheadLongaWhite", 0xE937 ), // glyphnumber: 1389, Longa/brevis notehead, white + std::pair( "mensuralNoteheadMaximaBlack", 0xE930 ), // glyphnumber: 1390, Maxima notehead, black + std::pair( "mensuralNoteheadMaximaBlackVoid", 0xE932 ), // glyphnumber: 1391, Maxima notehead, black and void + std::pair( "mensuralNoteheadMaximaVoid", 0xE931 ), // glyphnumber: 1392, Maxima notehead, void + std::pair( "mensuralNoteheadMaximaWhite", 0xE933 ), // glyphnumber: 1393, Maxima notehead, white + std::pair( "mensuralNoteheadMinimaWhite", 0xE93C ), // glyphnumber: 1394, Minima notehead, white + std::pair( "mensuralNoteheadSemibrevisBlack", 0xE938 ), // glyphnumber: 1395, Semibrevis notehead, black + std::pair( "mensuralNoteheadSemibrevisBlackVoid", 0xE93A ), // glyphnumber: 1396, Semibrevis notehead, black and void + std::pair( "mensuralNoteheadSemibrevisBlackVoidTurned", 0xE93B ), // glyphnumber: 1397, Semibrevis notehead, black and void (turned) + std::pair( "mensuralNoteheadSemibrevisVoid", 0xE939 ), // glyphnumber: 1398, Semibrevis notehead, void + std::pair( "mensuralNoteheadSemiminimaWhite", 0xE93D ), // glyphnumber: 1399, Semiminima/fusa notehead, white + std::pair( "mensuralObliqueAsc2ndBlack", 0xE970 ), // glyphnumber: 1400, Oblique form, ascending 2nd, black + std::pair( "mensuralObliqueAsc2ndBlackVoid", 0xE972 ), // glyphnumber: 1401, Oblique form, ascending 2nd, black and void + std::pair( "mensuralObliqueAsc2ndVoid", 0xE971 ), // glyphnumber: 1402, Oblique form, ascending 2nd, void + std::pair( "mensuralObliqueAsc2ndWhite", 0xE973 ), // glyphnumber: 1403, Oblique form, ascending 2nd, white + std::pair( "mensuralObliqueAsc3rdBlack", 0xE974 ), // glyphnumber: 1404, Oblique form, ascending 3rd, black + std::pair( "mensuralObliqueAsc3rdBlackVoid", 0xE976 ), // glyphnumber: 1405, Oblique form, ascending 3rd, black and void + std::pair( "mensuralObliqueAsc3rdVoid", 0xE975 ), // glyphnumber: 1406, Oblique form, ascending 3rd, void + std::pair( "mensuralObliqueAsc3rdWhite", 0xE977 ), // glyphnumber: 1407, Oblique form, ascending 3rd, white + std::pair( "mensuralObliqueAsc4thBlack", 0xE978 ), // glyphnumber: 1408, Oblique form, ascending 4th, black + std::pair( "mensuralObliqueAsc4thBlackVoid", 0xE97A ), // glyphnumber: 1409, Oblique form, ascending 4th, black and void + std::pair( "mensuralObliqueAsc4thVoid", 0xE979 ), // glyphnumber: 1410, Oblique form, ascending 4th, void + std::pair( "mensuralObliqueAsc4thWhite", 0xE97B ), // glyphnumber: 1411, Oblique form, ascending 4th, white + std::pair( "mensuralObliqueAsc5thBlack", 0xE97C ), // glyphnumber: 1412, Oblique form, ascending 5th, black + std::pair( "mensuralObliqueAsc5thBlackVoid", 0xE97E ), // glyphnumber: 1413, Oblique form, ascending 5th, black and void + std::pair( "mensuralObliqueAsc5thVoid", 0xE97D ), // glyphnumber: 1414, Oblique form, ascending 5th, void + std::pair( "mensuralObliqueAsc5thWhite", 0xE97F ), // glyphnumber: 1415, Oblique form, ascending 5th, white + std::pair( "mensuralObliqueDesc2ndBlack", 0xE980 ), // glyphnumber: 1416, Oblique form, descending 2nd, black + std::pair( "mensuralObliqueDesc2ndBlackVoid", 0xE982 ), // glyphnumber: 1417, Oblique form, descending 2nd, black and void + std::pair( "mensuralObliqueDesc2ndVoid", 0xE981 ), // glyphnumber: 1418, Oblique form, descending 2nd, void + std::pair( "mensuralObliqueDesc2ndWhite", 0xE983 ), // glyphnumber: 1419, Oblique form, descending 2nd, white + std::pair( "mensuralObliqueDesc3rdBlack", 0xE984 ), // glyphnumber: 1420, Oblique form, descending 3rd, black + std::pair( "mensuralObliqueDesc3rdBlackVoid", 0xE986 ), // glyphnumber: 1421, Oblique form, descending 3rd, black and void + std::pair( "mensuralObliqueDesc3rdVoid", 0xE985 ), // glyphnumber: 1422, Oblique form, descending 3rd, void + std::pair( "mensuralObliqueDesc3rdWhite", 0xE987 ), // glyphnumber: 1423, Oblique form, descending 3rd, white + std::pair( "mensuralObliqueDesc4thBlack", 0xE988 ), // glyphnumber: 1424, Oblique form, descending 4th, black + std::pair( "mensuralObliqueDesc4thBlackVoid", 0xE98A ), // glyphnumber: 1425, Oblique form, descending 4th, black and void + std::pair( "mensuralObliqueDesc4thVoid", 0xE989 ), // glyphnumber: 1426, Oblique form, descending 4th, void + std::pair( "mensuralObliqueDesc4thWhite", 0xE98B ), // glyphnumber: 1427, Oblique form, descending 4th, white + std::pair( "mensuralObliqueDesc5thBlack", 0xE98C ), // glyphnumber: 1428, Oblique form, descending 5th, black + std::pair( "mensuralObliqueDesc5thBlackVoid", 0xE98E ), // glyphnumber: 1429, Oblique form, descending 5th, black and void + std::pair( "mensuralObliqueDesc5thVoid", 0xE98D ), // glyphnumber: 1430, Oblique form, descending 5th, void + std::pair( "mensuralObliqueDesc5thWhite", 0xE98F ), // glyphnumber: 1431, Oblique form, descending 5th, white + std::pair( "mensuralProlation1", 0xE910 ), // glyphnumber: 1432, Tempus perfectum cum prolatione perfecta (9/8) + std::pair( "mensuralProlation10", 0xE919 ), // glyphnumber: 1433, Tempus imperfectum cum prolatione imperfecta diminution 4 + std::pair( "mensuralProlation11", 0xE91A ), // glyphnumber: 1434, Tempus imperfectum cum prolatione imperfecta diminution 5 + std::pair( "mensuralProlation2", 0xE911 ), // glyphnumber: 1435, Tempus perfectum cum prolatione imperfecta (3/4) + std::pair( "mensuralProlation3", 0xE912 ), // glyphnumber: 1436, Tempus perfectum cum prolatione imperfecta diminution 1 (3/8) + std::pair( "mensuralProlation4", 0xE913 ), // glyphnumber: 1437, Tempus perfectum cum prolatione perfecta diminution 2 (9/16) + std::pair( "mensuralProlation5", 0xE914 ), // glyphnumber: 1438, Tempus imperfectum cum prolatione perfecta (6/8) + std::pair( "mensuralProlation6", 0xE915 ), // glyphnumber: 1439, Tempus imperfectum cum prolatione imperfecta (2/4) + std::pair( "mensuralProlation7", 0xE916 ), // glyphnumber: 1440, Tempus imperfectum cum prolatione imperfecta diminution 1 (2/2) + std::pair( "mensuralProlation8", 0xE917 ), // glyphnumber: 1441, Tempus imperfectum cum prolatione imperfecta diminution 2 (6/16) + std::pair( "mensuralProlation9", 0xE918 ), // glyphnumber: 1442, Tempus imperfectum cum prolatione imperfecta diminution 3 (2/2) + std::pair( "mensuralProlationCombiningDot", 0xE920 ), // glyphnumber: 1443, Combining dot + std::pair( "mensuralProlationCombiningDotVoid", 0xE924 ), // glyphnumber: 1444, Combining void dot + std::pair( "mensuralProlationCombiningStroke", 0xE925 ), // glyphnumber: 1445, Combining vertical stroke + std::pair( "mensuralProlationCombiningThreeDots", 0xE922 ), // glyphnumber: 1446, Combining three dots horizontal + std::pair( "mensuralProlationCombiningThreeDotsTri", 0xE923 ), // glyphnumber: 1447, Combining three dots triangular + std::pair( "mensuralProlationCombiningTwoDots", 0xE921 ), // glyphnumber: 1448, Combining two dots + std::pair( "mensuralProportion1", 0xE926 ), // glyphnumber: 1449, Mensural proportion 1 + std::pair( "mensuralProportion2", 0xE927 ), // glyphnumber: 1450, Mensural proportion 2 + std::pair( "mensuralProportion3", 0xE928 ), // glyphnumber: 1451, Mensural proportion 3 + std::pair( "mensuralProportion4", 0xE929 ), // glyphnumber: 1452, Mensural proportion 4 + std::pair( "mensuralProportionMajor", 0xE92B ), // glyphnumber: 1453, Mensural proportion major + std::pair( "mensuralProportionMinor", 0xE92A ), // glyphnumber: 1454, Mensural proportion minor + std::pair( "mensuralProportionProportioDupla1", 0xE91C ), // glyphnumber: 1455, Proportio dupla 1 + std::pair( "mensuralProportionProportioDupla2", 0xE91D ), // glyphnumber: 1456, Proportio dupla 2 + std::pair( "mensuralProportionProportioQuadrupla", 0xE91F ), // glyphnumber: 1457, Proportio quadrupla + std::pair( "mensuralProportionProportioTripla", 0xE91E ), // glyphnumber: 1458, Proportio tripla + std::pair( "mensuralProportionTempusPerfectum", 0xE91B ), // glyphnumber: 1459, Tempus perfectum + std::pair( "mensuralRestBrevis", 0xE9F3 ), // glyphnumber: 1460, Brevis rest + std::pair( "mensuralRestFusa", 0xE9F7 ), // glyphnumber: 1461, Fusa rest + std::pair( "mensuralRestLongaImperfecta", 0xE9F2 ), // glyphnumber: 1462, Longa imperfecta rest + std::pair( "mensuralRestLongaPerfecta", 0xE9F1 ), // glyphnumber: 1463, Longa perfecta rest + std::pair( "mensuralRestMaxima", 0xE9F0 ), // glyphnumber: 1464, Maxima rest + std::pair( "mensuralRestMinima", 0xE9F5 ), // glyphnumber: 1465, Minima rest + std::pair( "mensuralRestSemibrevis", 0xE9F4 ), // glyphnumber: 1466, Semibrevis rest + std::pair( "mensuralRestSemifusa", 0xE9F8 ), // glyphnumber: 1467, Semifusa rest + std::pair( "mensuralRestSemiminima", 0xE9F6 ), // glyphnumber: 1468, Semiminima rest + std::pair( "mensuralSignumDown", 0xEA01 ), // glyphnumber: 1469, Signum congruentiae down + std::pair( "mensuralSignumUp", 0xEA00 ), // glyphnumber: 1470, Signum congruentiae up + std::pair( "mensuralTempusImperfectumHoriz", 0xE92F ), // glyphnumber: 1471, Tempus imperfectum, horizontal + std::pair( "mensuralTempusPerfectumHoriz", 0xE92E ), // glyphnumber: 1472, Tempus perfectum, horizontal + std::pair( "mensuralWhiteBrevis", 0xE95E ), // glyphnumber: 1473, White mensural brevis + std::pair( "mensuralWhiteFusa", 0xE961 ), // glyphnumber: 1474, White mensural fusa + std::pair( "mensuralWhiteLonga", 0xE95D ), // glyphnumber: 1475, White mensural longa + std::pair( "mensuralWhiteMaxima", 0xE95C ), // glyphnumber: 1476, White mensural maxima + std::pair( "mensuralWhiteMinima", 0xE95F ), // glyphnumber: 1477, White mensural minima + std::pair( "mensuralWhiteSemiminima", 0xE960 ), // glyphnumber: 1478, White mensural semiminima + std::pair( "metAugmentationDot", 0xECB7 ), // glyphnumber: 1479, Augmentation dot + std::pair( "metNote1024thDown", 0xECB6 ), // glyphnumber: 1480, 1024th note (semihemidemisemihemidemisemiquaver) stem down + std::pair( "metNote1024thUp", 0xECB5 ), // glyphnumber: 1481, 1024th note (semihemidemisemihemidemisemiquaver) stem up + std::pair( "metNote128thDown", 0xECB0 ), // glyphnumber: 1482, 128th note (semihemidemisemiquaver) stem down + std::pair( "metNote128thUp", 0xECAF ), // glyphnumber: 1483, 128th note (semihemidemisemiquaver) stem up + std::pair( "metNote16thDown", 0xECAA ), // glyphnumber: 1484, 16th note (semiquaver) stem down + std::pair( "metNote16thUp", 0xECA9 ), // glyphnumber: 1485, 16th note (semiquaver) stem up + std::pair( "metNote256thDown", 0xECB2 ), // glyphnumber: 1486, 256th note (demisemihemidemisemiquaver) stem down + std::pair( "metNote256thUp", 0xECB1 ), // glyphnumber: 1487, 256th note (demisemihemidemisemiquaver) stem up + std::pair( "metNote32ndDown", 0xECAC ), // glyphnumber: 1488, 32nd note (demisemiquaver) stem down + std::pair( "metNote32ndUp", 0xECAB ), // glyphnumber: 1489, 32nd note (demisemiquaver) stem up + std::pair( "metNote512thDown", 0xECB4 ), // glyphnumber: 1490, 512th note (hemidemisemihemidemisemiquaver) stem down + std::pair( "metNote512thUp", 0xECB3 ), // glyphnumber: 1491, 512th note (hemidemisemihemidemisemiquaver) stem up + std::pair( "metNote64thDown", 0xECAE ), // glyphnumber: 1492, 64th note (hemidemisemiquaver) stem down + std::pair( "metNote64thUp", 0xECAD ), // glyphnumber: 1493, 64th note (hemidemisemiquaver) stem up + std::pair( "metNote8thDown", 0xECA8 ), // glyphnumber: 1494, Eighth note (quaver) stem down + std::pair( "metNote8thUp", 0xECA7 ), // glyphnumber: 1495, Eighth note (quaver) stem up + std::pair( "metNoteDoubleWhole", 0xECA0 ), // glyphnumber: 1496, Double whole note (breve) + std::pair( "metNoteDoubleWholeSquare", 0xECA1 ), // glyphnumber: 1497, Double whole note (square) + std::pair( "metNoteHalfDown", 0xECA4 ), // glyphnumber: 1498, Half note (minim) stem down + std::pair( "metNoteHalfUp", 0xECA3 ), // glyphnumber: 1499, Half note (minim) stem up + std::pair( "metNoteQuarterDown", 0xECA6 ), // glyphnumber: 1500, Quarter note (crotchet) stem down + std::pair( "metNoteQuarterUp", 0xECA5 ), // glyphnumber: 1501, Quarter note (crotchet) stem up + std::pair( "metNoteWhole", 0xECA2 ), // glyphnumber: 1502, Whole note (semibreve) + std::pair( "metricModulationArrowLeft", 0xEC63 ), // glyphnumber: 1503, Left-pointing arrow for metric modulation + std::pair( "metricModulationArrowRight", 0xEC64 ), // glyphnumber: 1504, Right-pointing arrow for metric modulation + std::pair( "miscDoNotCopy", 0xEC61 ), // glyphnumber: 1505, Do not copy + std::pair( "miscDoNotPhotocopy", 0xEC60 ), // glyphnumber: 1506, Do not photocopy + std::pair( "miscEyeglasses", 0xEC62 ), // glyphnumber: 1507, Eyeglasses + std::pair( "note1024thDown", 0xE1E6 ), // glyphnumber: 1508, 1024th note (semihemidemisemihemidemisemiquaver) stem down + std::pair( "note1024thUp", 0xE1E5 ), // glyphnumber: 1509, 1024th note (semihemidemisemihemidemisemiquaver) stem up + std::pair( "note128thDown", 0xE1E0 ), // glyphnumber: 1510, 128th note (semihemidemisemiquaver) stem down + std::pair( "note128thUp", 0xE1DF ), // glyphnumber: 1511, 128th note (semihemidemisemiquaver) stem up + std::pair( "note16thDown", 0xE1DA ), // glyphnumber: 1512, 16th note (semiquaver) stem down + std::pair( "note16thUp", 0xE1D9 ), // glyphnumber: 1513, 16th note (semiquaver) stem up + std::pair( "note256thDown", 0xE1E2 ), // glyphnumber: 1514, 256th note (demisemihemidemisemiquaver) stem down + std::pair( "note256thUp", 0xE1E1 ), // glyphnumber: 1515, 256th note (demisemihemidemisemiquaver) stem up + std::pair( "note32ndDown", 0xE1DC ), // glyphnumber: 1516, 32nd note (demisemiquaver) stem down + std::pair( "note32ndUp", 0xE1DB ), // glyphnumber: 1517, 32nd note (demisemiquaver) stem up + std::pair( "note512thDown", 0xE1E4 ), // glyphnumber: 1518, 512th note (hemidemisemihemidemisemiquaver) stem down + std::pair( "note512thUp", 0xE1E3 ), // glyphnumber: 1519, 512th note (hemidemisemihemidemisemiquaver) stem up + std::pair( "note64thDown", 0xE1DE ), // glyphnumber: 1520, 64th note (hemidemisemiquaver) stem down + std::pair( "note64thUp", 0xE1DD ), // glyphnumber: 1521, 64th note (hemidemisemiquaver) stem up + std::pair( "note8thDown", 0xE1D8 ), // glyphnumber: 1522, Eighth note (quaver) stem down + std::pair( "note8thUp", 0xE1D7 ), // glyphnumber: 1523, Eighth note (quaver) stem up + std::pair( "noteABlack", 0xE197 ), // glyphnumber: 1524, A (black note) + std::pair( "noteAFlatBlack", 0xE196 ), // glyphnumber: 1525, A flat (black note) + std::pair( "noteAFlatHalf", 0xE17F ), // glyphnumber: 1526, A flat (half note) + std::pair( "noteAFlatWhole", 0xE168 ), // glyphnumber: 1527, A flat (whole note) + std::pair( "noteAHalf", 0xE180 ), // glyphnumber: 1528, A (half note) + std::pair( "noteASharpBlack", 0xE198 ), // glyphnumber: 1529, A sharp (black note) + std::pair( "noteASharpHalf", 0xE181 ), // glyphnumber: 1530, A sharp (half note) + std::pair( "noteASharpWhole", 0xE16A ), // glyphnumber: 1531, A sharp (whole note) + std::pair( "noteAWhole", 0xE169 ), // glyphnumber: 1532, A (whole note) + std::pair( "noteBBlack", 0xE19A ), // glyphnumber: 1533, B (black note) + std::pair( "noteBFlatBlack", 0xE199 ), // glyphnumber: 1534, B flat (black note) + std::pair( "noteBFlatHalf", 0xE182 ), // glyphnumber: 1535, B flat (half note) + std::pair( "noteBFlatWhole", 0xE16B ), // glyphnumber: 1536, B flat (whole note) + std::pair( "noteBHalf", 0xE183 ), // glyphnumber: 1537, B (half note) + std::pair( "noteBSharpBlack", 0xE19B ), // glyphnumber: 1538, B sharp (black note) + std::pair( "noteBSharpHalf", 0xE184 ), // glyphnumber: 1539, B sharp (half note) + std::pair( "noteBSharpWhole", 0xE16D ), // glyphnumber: 1540, B sharp (whole note) + std::pair( "noteBWhole", 0xE16C ), // glyphnumber: 1541, B (whole note) + std::pair( "noteCBlack", 0xE19D ), // glyphnumber: 1542, C (black note) + std::pair( "noteCFlatBlack", 0xE19C ), // glyphnumber: 1543, C flat (black note) + std::pair( "noteCFlatHalf", 0xE185 ), // glyphnumber: 1544, C flat (half note) + std::pair( "noteCFlatWhole", 0xE16E ), // glyphnumber: 1545, C flat (whole note) + std::pair( "noteCHalf", 0xE186 ), // glyphnumber: 1546, C (half note) + std::pair( "noteCSharpBlack", 0xE19E ), // glyphnumber: 1547, C sharp (black note) + std::pair( "noteCSharpHalf", 0xE187 ), // glyphnumber: 1548, C sharp (half note) + std::pair( "noteCSharpWhole", 0xE170 ), // glyphnumber: 1549, C sharp (whole note) + std::pair( "noteCWhole", 0xE16F ), // glyphnumber: 1550, C (whole note) + std::pair( "noteDBlack", 0xE1A0 ), // glyphnumber: 1551, D (black note) + std::pair( "noteDFlatBlack", 0xE19F ), // glyphnumber: 1552, D flat (black note) + std::pair( "noteDFlatHalf", 0xE188 ), // glyphnumber: 1553, D flat (half note) + std::pair( "noteDFlatWhole", 0xE171 ), // glyphnumber: 1554, D flat (whole note) + std::pair( "noteDHalf", 0xE189 ), // glyphnumber: 1555, D (half note) + std::pair( "noteDSharpBlack", 0xE1A1 ), // glyphnumber: 1556, D sharp (black note) + std::pair( "noteDSharpHalf", 0xE18A ), // glyphnumber: 1557, D sharp (half note) + std::pair( "noteDSharpWhole", 0xE173 ), // glyphnumber: 1558, D sharp (whole note) + std::pair( "noteDWhole", 0xE172 ), // glyphnumber: 1559, D (whole note) + std::pair( "noteDoBlack", 0xE160 ), // glyphnumber: 1560, Do (black note) + std::pair( "noteDoHalf", 0xE158 ), // glyphnumber: 1561, Do (half note) + std::pair( "noteDoWhole", 0xE150 ), // glyphnumber: 1562, Do (whole note) + std::pair( "noteDoubleWhole", 0xE1D0 ), // glyphnumber: 1563, Double whole note (breve) + std::pair( "noteDoubleWholeSquare", 0xE1D1 ), // glyphnumber: 1564, Double whole note (square) + std::pair( "noteEBlack", 0xE1A3 ), // glyphnumber: 1565, E (black note) + std::pair( "noteEFlatBlack", 0xE1A2 ), // glyphnumber: 1566, E flat (black note) + std::pair( "noteEFlatHalf", 0xE18B ), // glyphnumber: 1567, E flat (half note) + std::pair( "noteEFlatWhole", 0xE174 ), // glyphnumber: 1568, E flat (whole note) + std::pair( "noteEHalf", 0xE18C ), // glyphnumber: 1569, E (half note) + std::pair( "noteESharpBlack", 0xE1A4 ), // glyphnumber: 1570, E sharp (black note) + std::pair( "noteESharpHalf", 0xE18D ), // glyphnumber: 1571, E sharp (half note) + std::pair( "noteESharpWhole", 0xE176 ), // glyphnumber: 1572, E sharp (whole note) + std::pair( "noteEWhole", 0xE175 ), // glyphnumber: 1573, E (whole note) + std::pair( "noteEmptyBlack", 0xE1AF ), // glyphnumber: 1574, Empty black note + std::pair( "noteEmptyHalf", 0xE1AE ), // glyphnumber: 1575, Empty half note + std::pair( "noteEmptyWhole", 0xE1AD ), // glyphnumber: 1576, Empty whole note + std::pair( "noteFBlack", 0xE1A6 ), // glyphnumber: 1577, F (black note) + std::pair( "noteFFlatBlack", 0xE1A5 ), // glyphnumber: 1578, F flat (black note) + std::pair( "noteFFlatHalf", 0xE18E ), // glyphnumber: 1579, F flat (half note) + std::pair( "noteFFlatWhole", 0xE177 ), // glyphnumber: 1580, F flat (whole note) + std::pair( "noteFHalf", 0xE18F ), // glyphnumber: 1581, F (half note) + std::pair( "noteFSharpBlack", 0xE1A7 ), // glyphnumber: 1582, F sharp (black note) + std::pair( "noteFSharpHalf", 0xE190 ), // glyphnumber: 1583, F sharp (half note) + std::pair( "noteFSharpWhole", 0xE179 ), // glyphnumber: 1584, F sharp (whole note) + std::pair( "noteFWhole", 0xE178 ), // glyphnumber: 1585, F (whole note) + std::pair( "noteFaBlack", 0xE163 ), // glyphnumber: 1586, Fa (black note) + std::pair( "noteFaHalf", 0xE15B ), // glyphnumber: 1587, Fa (half note) + std::pair( "noteFaWhole", 0xE153 ), // glyphnumber: 1588, Fa (whole note) + std::pair( "noteGBlack", 0xE1A9 ), // glyphnumber: 1589, G (black note) + std::pair( "noteGFlatBlack", 0xE1A8 ), // glyphnumber: 1590, G flat (black note) + std::pair( "noteGFlatHalf", 0xE191 ), // glyphnumber: 1591, G flat (half note) + std::pair( "noteGFlatWhole", 0xE17A ), // glyphnumber: 1592, G flat (whole note) + std::pair( "noteGHalf", 0xE192 ), // glyphnumber: 1593, G (half note) + std::pair( "noteGSharpBlack", 0xE1AA ), // glyphnumber: 1594, G sharp (black note) + std::pair( "noteGSharpHalf", 0xE193 ), // glyphnumber: 1595, G sharp (half note) + std::pair( "noteGSharpWhole", 0xE17C ), // glyphnumber: 1596, G sharp (whole note) + std::pair( "noteGWhole", 0xE17B ), // glyphnumber: 1597, G (whole note) + std::pair( "noteHBlack", 0xE1AB ), // glyphnumber: 1598, H (black note) + std::pair( "noteHHalf", 0xE194 ), // glyphnumber: 1599, H (half note) + std::pair( "noteHSharpBlack", 0xE1AC ), // glyphnumber: 1600, H sharp (black note) + std::pair( "noteHSharpHalf", 0xE195 ), // glyphnumber: 1601, H sharp (half note) + std::pair( "noteHSharpWhole", 0xE17E ), // glyphnumber: 1602, H sharp (whole note) + std::pair( "noteHWhole", 0xE17D ), // glyphnumber: 1603, H (whole note) + std::pair( "noteHalfDown", 0xE1D4 ), // glyphnumber: 1604, Half note (minim) stem down + std::pair( "noteHalfUp", 0xE1D3 ), // glyphnumber: 1605, Half note (minim) stem up + std::pair( "noteLaBlack", 0xE165 ), // glyphnumber: 1606, La (black note) + std::pair( "noteLaHalf", 0xE15D ), // glyphnumber: 1607, La (half note) + std::pair( "noteLaWhole", 0xE155 ), // glyphnumber: 1608, La (whole note) + std::pair( "noteMiBlack", 0xE162 ), // glyphnumber: 1609, Mi (black note) + std::pair( "noteMiHalf", 0xE15A ), // glyphnumber: 1610, Mi (half note) + std::pair( "noteMiWhole", 0xE152 ), // glyphnumber: 1611, Mi (whole note) + std::pair( "noteQuarterDown", 0xE1D6 ), // glyphnumber: 1612, Quarter note (crotchet) stem down + std::pair( "noteQuarterUp", 0xE1D5 ), // glyphnumber: 1613, Quarter note (crotchet) stem up + std::pair( "noteReBlack", 0xE161 ), // glyphnumber: 1614, Re (black note) + std::pair( "noteReHalf", 0xE159 ), // glyphnumber: 1615, Re (half note) + std::pair( "noteReWhole", 0xE151 ), // glyphnumber: 1616, Re (whole note) + std::pair( "noteShapeArrowheadLeftBlack", 0xE1C9 ), // glyphnumber: 1617, Arrowhead left black (Funk 7-shape re) + std::pair( "noteShapeArrowheadLeftDoubleWhole", 0xECDC ), // glyphnumber: 1618, Arrowhead left double whole (Funk 7-shape re) + std::pair( "noteShapeArrowheadLeftWhite", 0xE1C8 ), // glyphnumber: 1619, Arrowhead left white (Funk 7-shape re) + std::pair( "noteShapeDiamondBlack", 0xE1B9 ), // glyphnumber: 1620, Diamond black (4-shape mi; 7-shape mi) + std::pair( "noteShapeDiamondDoubleWhole", 0xECD4 ), // glyphnumber: 1621, Diamond double whole (4-shape mi; 7-shape mi) + std::pair( "noteShapeDiamondWhite", 0xE1B8 ), // glyphnumber: 1622, Diamond white (4-shape mi; 7-shape mi) + std::pair( "noteShapeIsoscelesTriangleBlack", 0xE1C5 ), // glyphnumber: 1623, Isosceles triangle black (Walker 7-shape ti) + std::pair( "noteShapeIsoscelesTriangleDoubleWhole", 0xECDA ), // glyphnumber: 1624, Isosceles triangle double whole (Walker 7-shape ti) + std::pair( "noteShapeIsoscelesTriangleWhite", 0xE1C4 ), // glyphnumber: 1625, Isosceles triangle white (Walker 7-shape ti) + std::pair( "noteShapeKeystoneBlack", 0xE1C1 ), // glyphnumber: 1626, Inverted keystone black (Walker 7-shape do) + std::pair( "noteShapeKeystoneDoubleWhole", 0xECD8 ), // glyphnumber: 1627, Inverted keystone double whole (Walker 7-shape do) + std::pair( "noteShapeKeystoneWhite", 0xE1C0 ), // glyphnumber: 1628, Inverted keystone white (Walker 7-shape do) + std::pair( "noteShapeMoonBlack", 0xE1BD ), // glyphnumber: 1629, Moon black (Aikin 7-shape re) + std::pair( "noteShapeMoonDoubleWhole", 0xECD6 ), // glyphnumber: 1630, Moon double whole (Aikin 7-shape re) + std::pair( "noteShapeMoonLeftBlack", 0xE1C7 ), // glyphnumber: 1631, Moon left black (Funk 7-shape do) + std::pair( "noteShapeMoonLeftDoubleWhole", 0xECDB ), // glyphnumber: 1632, Moon left double whole (Funk 7-shape do) + std::pair( "noteShapeMoonLeftWhite", 0xE1C6 ), // glyphnumber: 1633, Moon left white (Funk 7-shape do) + std::pair( "noteShapeMoonWhite", 0xE1BC ), // glyphnumber: 1634, Moon white (Aikin 7-shape re) + std::pair( "noteShapeQuarterMoonBlack", 0xE1C3 ), // glyphnumber: 1635, Quarter moon black (Walker 7-shape re) + std::pair( "noteShapeQuarterMoonDoubleWhole", 0xECD9 ), // glyphnumber: 1636, Quarter moon double whole (Walker 7-shape re) + std::pair( "noteShapeQuarterMoonWhite", 0xE1C2 ), // glyphnumber: 1637, Quarter moon white (Walker 7-shape re) + std::pair( "noteShapeRoundBlack", 0xE1B1 ), // glyphnumber: 1638, Round black (4-shape sol; 7-shape so) + std::pair( "noteShapeRoundDoubleWhole", 0xECD0 ), // glyphnumber: 1639, Round double whole (4-shape sol; 7-shape so) + std::pair( "noteShapeRoundWhite", 0xE1B0 ), // glyphnumber: 1640, Round white (4-shape sol; 7-shape so) + std::pair( "noteShapeSquareBlack", 0xE1B3 ), // glyphnumber: 1641, Square black (4-shape la; Aikin 7-shape la) + std::pair( "noteShapeSquareDoubleWhole", 0xECD1 ), // glyphnumber: 1642, Square double whole (4-shape la; Aikin 7-shape la) + std::pair( "noteShapeSquareWhite", 0xE1B2 ), // glyphnumber: 1643, Square white (4-shape la; Aikin 7-shape la) + std::pair( "noteShapeTriangleLeftBlack", 0xE1B7 ), // glyphnumber: 1644, Triangle left black (stem up; 4-shape fa; 7-shape fa) + std::pair( "noteShapeTriangleLeftDoubleWhole", 0xECD3 ), // glyphnumber: 1645, Triangle left double whole (stem up; 4-shape fa; 7-shape fa) + std::pair( "noteShapeTriangleLeftWhite", 0xE1B6 ), // glyphnumber: 1646, Triangle left white (stem up; 4-shape fa; 7-shape fa) + std::pair( "noteShapeTriangleRightBlack", 0xE1B5 ), // glyphnumber: 1647, Triangle right black (stem down; 4-shape fa; 7-shape fa) + std::pair( "noteShapeTriangleRightDoubleWhole", 0xECD2 ), // glyphnumber: 1648, Triangle right double whole (stem down; 4-shape fa; 7-shape fa) + std::pair( "noteShapeTriangleRightWhite", 0xE1B4 ), // glyphnumber: 1649, Triangle right white (stem down; 4-shape fa; 7-shape fa) + std::pair( "noteShapeTriangleRoundBlack", 0xE1BF ), // glyphnumber: 1650, Triangle-round black (Aikin 7-shape ti) + std::pair( "noteShapeTriangleRoundDoubleWhole", 0xECD7 ), // glyphnumber: 1651, Triangle-round white (Aikin 7-shape ti) + std::pair( "noteShapeTriangleRoundLeftBlack", 0xE1CB ), // glyphnumber: 1652, Triangle-round left black (Funk 7-shape ti) + std::pair( "noteShapeTriangleRoundLeftDoubleWhole", 0xECDD ), // glyphnumber: 1653, Triangle-round left double whole (Funk 7-shape ti) + std::pair( "noteShapeTriangleRoundLeftWhite", 0xE1CA ), // glyphnumber: 1654, Triangle-round left white (Funk 7-shape ti) + std::pair( "noteShapeTriangleRoundWhite", 0xE1BE ), // glyphnumber: 1655, Triangle-round white (Aikin 7-shape ti) + std::pair( "noteShapeTriangleUpBlack", 0xE1BB ), // glyphnumber: 1656, Triangle up black (Aikin 7-shape do) + std::pair( "noteShapeTriangleUpDoubleWhole", 0xECD5 ), // glyphnumber: 1657, Triangle up double whole (Aikin 7-shape do) + std::pair( "noteShapeTriangleUpWhite", 0xE1BA ), // glyphnumber: 1658, Triangle up white (Aikin 7-shape do) + std::pair( "noteSiBlack", 0xE167 ), // glyphnumber: 1659, Si (black note) + std::pair( "noteSiHalf", 0xE15F ), // glyphnumber: 1660, Si (half note) + std::pair( "noteSiWhole", 0xE157 ), // glyphnumber: 1661, Si (whole note) + std::pair( "noteSoBlack", 0xE164 ), // glyphnumber: 1662, So (black note) + std::pair( "noteSoHalf", 0xE15C ), // glyphnumber: 1663, So (half note) + + std::pair( "noteSoWhole", 0xE154 ), // glyphnumber: 1664, So (whole note) + + std::pair( "noteSoWhole", 0xE154 ), // glyphnumber: 1664, So (whole note) + std::pair( "noteTiBlack", 0xE166 ), // glyphnumber: 1665, Ti (black note) + std::pair( "noteTiHalf", 0xE15E ), // glyphnumber: 1666, Ti (half note) + std::pair( "noteTiWhole", 0xE156 ), // glyphnumber: 1667, Ti (whole note) + std::pair( "noteWhole", 0xE1D2 ), // glyphnumber: 1668, Whole note (semibreve) + std::pair( "noteheadBlack", 0xE0A4 ), // glyphnumber: 1669, Black notehead + std::pair( "noteheadCircleSlash", 0xE0F7 ), // glyphnumber: 1670, Circle slash notehead + std::pair( "noteheadCircleX", 0xE0B3 ), // glyphnumber: 1671, Circle X notehead + std::pair( "noteheadCircleXDoubleWhole", 0xE0B0 ), // glyphnumber: 1672, Circle X double whole + std::pair( "noteheadCircleXHalf", 0xE0B2 ), // glyphnumber: 1673, Circle X half + std::pair( "noteheadCircleXWhole", 0xE0B1 ), // glyphnumber: 1674, Circle X whole + std::pair( "noteheadCircledBlack", 0xE0E4 ), // glyphnumber: 1675, Circled black notehead + std::pair( "noteheadCircledBlackLarge", 0xE0E8 ), // glyphnumber: 1676, Black notehead in large circle + std::pair( "noteheadCircledDoubleWhole", 0xE0E7 ), // glyphnumber: 1677, Circled double whole notehead + std::pair( "noteheadCircledDoubleWholeLarge", 0xE0EB ), // glyphnumber: 1678, Double whole notehead in large circle + std::pair( "noteheadCircledHalf", 0xE0E5 ), // glyphnumber: 1679, Circled half notehead + std::pair( "noteheadCircledHalfLarge", 0xE0E9 ), // glyphnumber: 1680, Half notehead in large circle + std::pair( "noteheadCircledWhole", 0xE0E6 ), // glyphnumber: 1681, Circled whole notehead + std::pair( "noteheadCircledWholeLarge", 0xE0EA ), // glyphnumber: 1682, Whole notehead in large circle + std::pair( "noteheadCircledXLarge", 0xE0EC ), // glyphnumber: 1683, Cross notehead in large circle + std::pair( "noteheadClusterDoubleWhole2nd", 0xE124 ), // glyphnumber: 1684, Double whole note cluster, 2nd + std::pair( "noteheadClusterDoubleWhole3rd", 0xE128 ), // glyphnumber: 1685, Double whole note cluster, 3rd + std::pair( "noteheadClusterDoubleWholeBottom", 0xE12E ), // glyphnumber: 1686, Combining double whole note cluster, bottom + std::pair( "noteheadClusterDoubleWholeMiddle", 0xE12D ), // glyphnumber: 1687, Combining double whole note cluster, middle + std::pair( "noteheadClusterDoubleWholeTop", 0xE12C ), // glyphnumber: 1688, Combining double whole note cluster, top + std::pair( "noteheadClusterHalf2nd", 0xE126 ), // glyphnumber: 1689, Half note cluster, 2nd + std::pair( "noteheadClusterHalf3rd", 0xE12A ), // glyphnumber: 1690, Half note cluster, 3rd + std::pair( "noteheadClusterHalfBottom", 0xE134 ), // glyphnumber: 1691, Combining half note cluster, bottom + std::pair( "noteheadClusterHalfMiddle", 0xE133 ), // glyphnumber: 1692, Combining half note cluster, middle + std::pair( "noteheadClusterHalfTop", 0xE132 ), // glyphnumber: 1693, Combining half note cluster, top + std::pair( "noteheadClusterQuarter2nd", 0xE127 ), // glyphnumber: 1694, Quarter note cluster, 2nd + std::pair( "noteheadClusterQuarter3rd", 0xE12B ), // glyphnumber: 1695, Quarter note cluster, 3rd + std::pair( "noteheadClusterQuarterBottom", 0xE137 ), // glyphnumber: 1696, Combining quarter note cluster, bottom + std::pair( "noteheadClusterQuarterMiddle", 0xE136 ), // glyphnumber: 1697, Combining quarter note cluster, middle + std::pair( "noteheadClusterQuarterTop", 0xE135 ), // glyphnumber: 1698, Combining quarter note cluster, top + std::pair( "noteheadClusterRoundBlack", 0xE123 ), // glyphnumber: 1699, Cluster notehead black (round) + std::pair( "noteheadClusterRoundWhite", 0xE122 ), // glyphnumber: 1700, Cluster notehead white (round) + std::pair( "noteheadClusterSquareBlack", 0xE121 ), // glyphnumber: 1701, Cluster notehead black (square) + std::pair( "noteheadClusterSquareWhite", 0xE120 ), // glyphnumber: 1702, Cluster notehead white (square) + std::pair( "noteheadClusterWhole2nd", 0xE125 ), // glyphnumber: 1703, Whole note cluster, 2nd + std::pair( "noteheadClusterWhole3rd", 0xE129 ), // glyphnumber: 1704, Whole note cluster, 3rd + std::pair( "noteheadClusterWholeBottom", 0xE131 ), // glyphnumber: 1705, Combining whole note cluster, bottom + std::pair( "noteheadClusterWholeMiddle", 0xE130 ), // glyphnumber: 1706, Combining whole note cluster, middle + std::pair( "noteheadClusterWholeTop", 0xE12F ), // glyphnumber: 1707, Combining whole note cluster, top + std::pair( "noteheadDiamondBlack", 0xE0DB ), // glyphnumber: 1708, Diamond black notehead + std::pair( "noteheadDiamondBlackOld", 0xE0E2 ), // glyphnumber: 1709, Diamond black notehead (old) + std::pair( "noteheadDiamondBlackWide", 0xE0DC ), // glyphnumber: 1710, Diamond black notehead (wide) + std::pair( "noteheadDiamondClusterBlack2nd", 0xE139 ), // glyphnumber: 1711, Black diamond cluster, 2nd + std::pair( "noteheadDiamondClusterBlack3rd", 0xE13B ), // glyphnumber: 1712, Black diamond cluster, 3rd + std::pair( "noteheadDiamondClusterBlackBottom", 0xE141 ), // glyphnumber: 1713, Combining black diamond cluster, bottom + std::pair( "noteheadDiamondClusterBlackMiddle", 0xE140 ), // glyphnumber: 1714, Combining black diamond cluster, middle + std::pair( "noteheadDiamondClusterBlackTop", 0xE13F ), // glyphnumber: 1715, Combining black diamond cluster, top + std::pair( "noteheadDiamondClusterWhite2nd", 0xE138 ), // glyphnumber: 1716, White diamond cluster, 2nd + std::pair( "noteheadDiamondClusterWhite3rd", 0xE13A ), // glyphnumber: 1717, White diamond cluster, 3rd + std::pair( "noteheadDiamondClusterWhiteBottom", 0xE13E ), // glyphnumber: 1718, Combining white diamond cluster, bottom + std::pair( "noteheadDiamondClusterWhiteMiddle", 0xE13D ), // glyphnumber: 1719, Combining white diamond cluster, middle + std::pair( "noteheadDiamondClusterWhiteTop", 0xE13C ), // glyphnumber: 1720, Combining white diamond cluster, top + std::pair( "noteheadDiamondDoubleWhole", 0xE0D7 ), // glyphnumber: 1721, Diamond double whole notehead + std::pair( "noteheadDiamondDoubleWholeOld", 0xE0DF ), // glyphnumber: 1722, Diamond double whole notehead (old) + std::pair( "noteheadDiamondHalf", 0xE0D9 ), // glyphnumber: 1723, Diamond half notehead + std::pair( "noteheadDiamondHalfFilled", 0xE0E3 ), // glyphnumber: 1724, Half-filled diamond notehead + std::pair( "noteheadDiamondHalfOld", 0xE0E1 ), // glyphnumber: 1725, Diamond half notehead (old) + std::pair( "noteheadDiamondHalfWide", 0xE0DA ), // glyphnumber: 1726, Diamond half notehead (wide) + std::pair( "noteheadDiamondOpen", 0xE0FC ), // glyphnumber: 1727, Open diamond notehead + std::pair( "noteheadDiamondWhite", 0xE0DD ), // glyphnumber: 1728, Diamond white notehead + std::pair( "noteheadDiamondWhiteWide", 0xE0DE ), // glyphnumber: 1729, Diamond white notehead (wide) + std::pair( "noteheadDiamondWhole", 0xE0D8 ), // glyphnumber: 1730, Diamond whole notehead + std::pair( "noteheadDiamondWholeOld", 0xE0E0 ), // glyphnumber: 1731, Diamond whole notehead (old) + std::pair( "noteheadDoubleWhole", 0xE0A0 ), // glyphnumber: 1732, Double whole (breve) notehead + std::pair( "noteheadDoubleWholeSquare", 0xE0A1 ), // glyphnumber: 1733, Double whole (breve) notehead (square) + std::pair( "noteheadDoubleWholeWithX", 0xE0B4 ), // glyphnumber: 1734, Double whole notehead with X + std::pair( "noteheadHalf", 0xE0A3 ), // glyphnumber: 1735, Half (minim) notehead + std::pair( "noteheadHalfFilled", 0xE0FB ), // glyphnumber: 1736, Filled half (minim) notehead + std::pair( "noteheadHalfWithX", 0xE0B6 ), // glyphnumber: 1737, Half notehead with X + std::pair( "noteheadHeavyX", 0xE0F8 ), // glyphnumber: 1738, Heavy X notehead + std::pair( "noteheadHeavyXHat", 0xE0F9 ), // glyphnumber: 1739, Heavy X with hat notehead + std::pair( "noteheadLargeArrowDownBlack", 0xE0F4 ), // glyphnumber: 1740, Large arrow down (lowest pitch) black notehead + std::pair( "noteheadLargeArrowDownDoubleWhole", 0xE0F1 ), // glyphnumber: 1741, Large arrow down (lowest pitch) double whole notehead + + std::pair( "noteheadLargeArrowDownHalf", 0xE0F3 ), // glyphnumber: 1742, Large arrow down (lowest pitch) half notehead + std::pair( "noteheadLargeArrowDownWhole", 0xE0F2 ), // glyphnumber: 1743, Large arrow down (lowest pitch) whole notehead + std::pair( "noteheadLargeArrowUpBlack", 0xE0F0 ), // glyphnumber: 1744, Large arrow up (highest pitch) black notehead + std::pair( "noteheadLargeArrowUpDoubleWhole", 0xE0ED ), // glyphnumber: 1745, Large arrow up (highest pitch) double whole notehead + std::pair( "noteheadLargeArrowUpHalf", 0xE0EF ), // glyphnumber: 1746, Large arrow up (highest pitch) half notehead + std::pair( "noteheadLargeArrowUpWhole", 0xE0EE ), // glyphnumber: 1747, Large arrow up (highest pitch) whole notehead + std::pair( "noteheadMoonBlack", 0xE0CB ), // glyphnumber: 1748, Moon notehead black + std::pair( "noteheadMoonWhite", 0xE0CA ), // glyphnumber: 1749, Moon notehead white + std::pair( "noteheadNull", 0xE0A5 ), // glyphnumber: 1750, Null notehead + std::pair( "noteheadParenthesis", 0xE0CE ), // glyphnumber: 1751, Parenthesis notehead + std::pair( "noteheadParenthesisLeft", 0xE0F5 ), // glyphnumber: 1752, Opening parenthesis + std::pair( "noteheadParenthesisRight", 0xE0F6 ), // glyphnumber: 1753, Closing parenthesis + std::pair( "noteheadPlusBlack", 0xE0AF ), // glyphnumber: 1754, Plus notehead black + std::pair( "noteheadPlusDoubleWhole", 0xE0AC ), // glyphnumber: 1755, Plus notehead double whole + std::pair( "noteheadPlusHalf", 0xE0AE ), // glyphnumber: 1756, Plus notehead half + std::pair( "noteheadPlusWhole", 0xE0AD ), // glyphnumber: 1757, Plus notehead whole + std::pair( "noteheadRectangularClusterBlackBottom", 0xE144 ), // glyphnumber: 1758, Combining black rectangular cluster, bottom + std::pair( "noteheadRectangularClusterBlackMiddle", 0xE143 ), // glyphnumber: 1759, Combining black rectangular cluster, middle + std::pair( "noteheadRectangularClusterBlackTop", 0xE142 ), // glyphnumber: 1760, Combining black rectangular cluster, top + std::pair( "noteheadRectangularClusterWhiteBottom", 0xE147 ), // glyphnumber: 1761, Combining white rectangular cluster, bottom + std::pair( "noteheadRectangularClusterWhiteMiddle", 0xE146 ), // glyphnumber: 1762, Combining white rectangular cluster, middle + std::pair( "noteheadRectangularClusterWhiteTop", 0xE145 ), // glyphnumber: 1763, Combining white rectangular cluster, top + std::pair( "noteheadRoundBlack", 0xE113 ), // glyphnumber: 1764, Round black notehead + std::pair( "noteheadRoundBlackDoubleSlashed", 0xE11C ), // glyphnumber: 1765, Round black notehead, double slashed + std::pair( "noteheadRoundBlackLarge", 0xE110 ), // glyphnumber: 1766, Large round black notehead + std::pair( "noteheadRoundBlackSlashed", 0xE118 ), // glyphnumber: 1767, Round black notehead, slashed + std::pair( "noteheadRoundBlackSlashedLarge", 0xE116 ), // glyphnumber: 1768, Large round black notehead, slashed + std::pair( "noteheadRoundWhite", 0xE114 ), // glyphnumber: 1769, Round white notehead + std::pair( "noteheadRoundWhiteDoubleSlashed", 0xE11D ), // glyphnumber: 1770, Round white notehead, double slashed + std::pair( "noteheadRoundWhiteLarge", 0xE111 ), // glyphnumber: 1771, Large round white notehead + std::pair( "noteheadRoundWhiteSlashed", 0xE119 ), // glyphnumber: 1772, Round white notehead, slashed + std::pair( "noteheadRoundWhiteSlashedLarge", 0xE117 ), // glyphnumber: 1773, Large round white notehead, slashed + std::pair( "noteheadRoundWhiteWithDot", 0xE115 ), // glyphnumber: 1774, Round white notehead with dot + std::pair( "noteheadRoundWhiteWithDotLarge", 0xE112 ), // glyphnumber: 1775, Large round white notehead with dot + std::pair( "noteheadSlashDiamondWhite", 0xE104 ), // glyphnumber: 1776, Large white diamond + std::pair( "noteheadSlashHorizontalEnds", 0xE101 ), // glyphnumber: 1777, Slash with horizontal ends + std::pair( "noteheadSlashHorizontalEndsMuted", 0xE108 ), // glyphnumber: 1778, Muted slash with horizontal ends + std::pair( "noteheadSlashVerticalEnds", 0xE100 ), // glyphnumber: 1779, Slash with vertical ends + std::pair( "noteheadSlashVerticalEndsMuted", 0xE107 ), // glyphnumber: 1780, Muted slash with vertical ends + std::pair( "noteheadSlashVerticalEndsSmall", 0xE105 ), // glyphnumber: 1781, Small slash with vertical ends + std::pair( "noteheadSlashWhiteDoubleWhole", 0xE10A ), // glyphnumber: 1782, White slash double whole + std::pair( "noteheadSlashWhiteHalf", 0xE103 ), // glyphnumber: 1783, White slash half + std::pair( "noteheadSlashWhiteMuted", 0xE109 ), // glyphnumber: 1784, Muted white slash + std::pair( "noteheadSlashWhiteWhole", 0xE102 ), // glyphnumber: 1785, White slash whole + std::pair( "noteheadSlashX", 0xE106 ), // glyphnumber: 1786, Large X notehead + std::pair( "noteheadSlashedBlack1", 0xE0CF ), // glyphnumber: 1787, Slashed black notehead (bottom left to top right) + std::pair( "noteheadSlashedBlack2", 0xE0D0 ), // glyphnumber: 1788, Slashed black notehead (top left to bottom right) + std::pair( "noteheadSlashedDoubleWhole1", 0xE0D5 ), // glyphnumber: 1789, Slashed double whole notehead (bottom left to top right) + std::pair( "noteheadSlashedDoubleWhole2", 0xE0D6 ), // glyphnumber: 1790, Slashed double whole notehead (top left to bottom right) + std::pair( "noteheadSlashedHalf1", 0xE0D1 ), // glyphnumber: 1791, Slashed half notehead (bottom left to top right) + std::pair( "noteheadSlashedHalf2", 0xE0D2 ), // glyphnumber: 1792, Slashed half notehead (top left to bottom right) + std::pair( "noteheadSlashedWhole1", 0xE0D3 ), // glyphnumber: 1793, Slashed whole notehead (bottom left to top right) + std::pair( "noteheadSlashedWhole2", 0xE0D4 ), // glyphnumber: 1794, Slashed whole notehead (top left to bottom right) + std::pair( "noteheadSquareBlack", 0xE0B9 ), // glyphnumber: 1795, Square notehead black + std::pair( "noteheadSquareBlackLarge", 0xE11A ), // glyphnumber: 1796, Large square black notehead + std::pair( "noteheadSquareBlackWhite", 0xE11B ), // glyphnumber: 1797, Large square white notehead + std::pair( "noteheadSquareWhite", 0xE0B8 ), // glyphnumber: 1798, Square notehead white + std::pair( "noteheadTriangleDownBlack", 0xE0C7 ), // glyphnumber: 1799, Triangle notehead down black + std::pair( "noteheadTriangleDownDoubleWhole", 0xE0C3 ), // glyphnumber: 1800, Triangle notehead down double whole + std::pair( "noteheadTriangleDownHalf", 0xE0C5 ), // glyphnumber: 1801, Triangle notehead down half + std::pair( "noteheadTriangleDownWhite", 0xE0C6 ), // glyphnumber: 1802, Triangle notehead down white + std::pair( "noteheadTriangleDownWhole", 0xE0C4 ), // glyphnumber: 1803, Triangle notehead down whole + std::pair( "noteheadTriangleLeftBlack", 0xE0C0 ), // glyphnumber: 1804, Triangle notehead left black + std::pair( "noteheadTriangleLeftWhite", 0xE0BF ), // glyphnumber: 1805, Triangle notehead left white + std::pair( "noteheadTriangleRightBlack", 0xE0C2 ), // glyphnumber: 1806, Triangle notehead right black + std::pair( "noteheadTriangleRightWhite", 0xE0C1 ), // glyphnumber: 1807, Triangle notehead right white + std::pair( "noteheadTriangleRoundDownBlack", 0xE0CD ), // glyphnumber: 1808, Triangle-round notehead down black + std::pair( "noteheadTriangleRoundDownWhite", 0xE0CC ), // glyphnumber: 1809, Triangle-round notehead down white + std::pair( "noteheadTriangleUpBlack", 0xE0BE ), // glyphnumber: 1810, Triangle notehead up black + std::pair( "noteheadTriangleUpDoubleWhole", 0xE0BA ), // glyphnumber: 1811, Triangle notehead up double whole + std::pair( "noteheadTriangleUpHalf", 0xE0BC ), // glyphnumber: 1812, Triangle notehead up half + std::pair( "noteheadTriangleUpRightBlack", 0xE0C9 ), // glyphnumber: 1813, Triangle notehead up right black + std::pair( "noteheadTriangleUpRightWhite", 0xE0C8 ), // glyphnumber: 1814, Triangle notehead up right white + std::pair( "noteheadTriangleUpWhite", 0xE0BD ), // glyphnumber: 1815, Triangle notehead up white + std::pair( "noteheadTriangleUpWhole", 0xE0BB ), // glyphnumber: 1816, Triangle notehead up whole + std::pair( "noteheadVoidWithX", 0xE0B7 ), // glyphnumber: 1817, Void notehead with X + std::pair( "noteheadWhole", 0xE0A2 ), // glyphnumber: 1818, Whole (semibreve) notehead + std::pair( "noteheadWholeFilled", 0xE0FA ), // glyphnumber: 1819, Filled whole (semibreve) notehead + std::pair( "noteheadWholeWithX", 0xE0B5 ), // glyphnumber: 1820, Whole notehead with X + std::pair( "noteheadXBlack", 0xE0A9 ), // glyphnumber: 1821, X notehead black + std::pair( "noteheadXDoubleWhole", 0xE0A6 ), // glyphnumber: 1822, X notehead double whole + std::pair( "noteheadXHalf", 0xE0A8 ), // glyphnumber: 1823, X notehead half + std::pair( "noteheadXOrnate", 0xE0AA ), // glyphnumber: 1824, Ornate X notehead + std::pair( "noteheadXOrnateEllipse", 0xE0AB ), // glyphnumber: 1825, Ornate X notehead in ellipse + std::pair( "noteheadXWhole", 0xE0A7 ), // glyphnumber: 1826, X notehead whole + std::pair( "octaveBaselineA", 0xEC91 ), // glyphnumber: 1827, a (baseline) + std::pair( "octaveBaselineB", 0xEC93 ), // glyphnumber: 1828, b (baseline) + std::pair( "octaveBaselineM", 0xEC95 ), // glyphnumber: 1829, m (baseline) + std::pair( "octaveBaselineV", 0xEC97 ), // glyphnumber: 1830, v (baseline) + std::pair( "octaveBassa", 0xE51F ), // glyphnumber: 1831, Bassa + std::pair( "octaveLoco", 0xEC90 ), // glyphnumber: 1832, Loco + std::pair( "octaveParensLeft", 0xE51A ), // glyphnumber: 1833, Left parenthesis for octave signs + std::pair( "octaveParensRight", 0xE51B ), // glyphnumber: 1834, Right parenthesis for octave signs + std::pair( "octaveSuperscriptA", 0xEC92 ), // glyphnumber: 1835, a (superscript) + std::pair( "octaveSuperscriptB", 0xEC94 ), // glyphnumber: 1836, b (superscript) + std::pair( "octaveSuperscriptM", 0xEC96 ), // glyphnumber: 1837, m (superscript) + std::pair( "octaveSuperscriptV", 0xEC98 ), // glyphnumber: 1838, v (superscript) + std::pair( "ornamentBottomLeftConcaveStroke", 0xE59A ), // glyphnumber: 1839, Ornament bottom left concave stroke + std::pair( "ornamentBottomLeftConcaveStrokeLarge", 0xE59B ), // glyphnumber: 1840, Ornament bottom left concave stroke, large + std::pair( "ornamentBottomLeftConvexStroke", 0xE59C ), // glyphnumber: 1841, Ornament bottom left convex stroke + std::pair( "ornamentBottomRightConcaveStroke", 0xE5A7 ), // glyphnumber: 1842, Ornament bottom right concave stroke + std::pair( "ornamentBottomRightConvexStroke", 0xE5A8 ), // glyphnumber: 1843, Ornament bottom right convex stroke + std::pair( "ornamentComma", 0xE581 ), // glyphnumber: 1844, Comma + std::pair( "ornamentDoubleObliqueLinesAfterNote", 0xE57E ), // glyphnumber: 1845, Double oblique straight lines NW-SE + std::pair( "ornamentDoubleObliqueLinesBeforeNote", 0xE57D ), // glyphnumber: 1846, Double oblique straight lines SW-NE + std::pair( "ornamentDownCurve", 0xE578 ), // glyphnumber: 1847, Curve below + std::pair( "ornamentHaydn", 0xE56F ), // glyphnumber: 1848, Haydn ornament + std::pair( "ornamentHighLeftConcaveStroke", 0xE592 ), // glyphnumber: 1849, Ornament high left concave stroke + std::pair( "ornamentHighLeftConvexStroke", 0xE593 ), // glyphnumber: 1850, Ornament high left convex stroke + std::pair( "ornamentHighRightConcaveStroke", 0xE5A2 ), // glyphnumber: 1851, Ornament high right concave stroke + std::pair( "ornamentHighRightConvexStroke", 0xE5A3 ), // glyphnumber: 1852, Ornament high right convex stroke + std::pair( "ornamentHookAfterNote", 0xE576 ), // glyphnumber: 1853, Hook after note + std::pair( "ornamentHookBeforeNote", 0xE575 ), // glyphnumber: 1854, Hook before note + std::pair( "ornamentLeftFacingHalfCircle", 0xE572 ), // glyphnumber: 1855, Left-facing half circle + std::pair( "ornamentLeftFacingHook", 0xE574 ), // glyphnumber: 1856, Left-facing hook + std::pair( "ornamentLeftPlus", 0xE597 ), // glyphnumber: 1857, Ornament left + + std::pair( "ornamentLeftShakeT", 0xE596 ), // glyphnumber: 1858, Ornament left shake t + std::pair( "ornamentLeftVerticalStroke", 0xE594 ), // glyphnumber: 1859, Ornament left vertical stroke + std::pair( "ornamentLeftVerticalStrokeWithCross", 0xE595 ), // glyphnumber: 1860, Ornament left vertical stroke with cross (+) + std::pair( "ornamentLowLeftConcaveStroke", 0xE598 ), // glyphnumber: 1861, Ornament low left concave stroke + std::pair( "ornamentLowLeftConvexStroke", 0xE599 ), // glyphnumber: 1862, Ornament low left convex stroke + std::pair( "ornamentLowRightConcaveStroke", 0xE5A5 ), // glyphnumber: 1863, Ornament low right concave stroke + std::pair( "ornamentLowRightConvexStroke", 0xE5A6 ), // glyphnumber: 1864, Ornament low right convex stroke + std::pair( "ornamentMiddleVerticalStroke", 0xE59F ), // glyphnumber: 1865, Ornament middle vertical stroke + std::pair( "ornamentMordent", 0xE56C ), // glyphnumber: 1866, Mordent + std::pair( "ornamentMordentInverted", 0xE56D ), // glyphnumber: 1867, Inverted mordent + std::pair( "ornamentObliqueLineAfterNote", 0xE57C ), // glyphnumber: 1868, Oblique straight line NW-SE + std::pair( "ornamentObliqueLineBeforeNote", 0xE57B ), // glyphnumber: 1869, Oblique straight line SW-NE + std::pair( "ornamentObliqueLineHorizAfterNote", 0xE580 ), // glyphnumber: 1870, Oblique straight line tilted NW-SE + std::pair( "ornamentObliqueLineHorizBeforeNote", 0xE57F ), // glyphnumber: 1871, Oblique straight line tilted SW-NE + std::pair( "ornamentOriscus", 0xEA21 ), // glyphnumber: 1872, Oriscus + std::pair( "ornamentPinceCouperin", 0xE588 ), // glyphnumber: 1873, Pincé (Couperin) + std::pair( "ornamentPortDeVoixV", 0xE570 ), // glyphnumber: 1874, Port de voix + std::pair( "ornamentPrecompAppoggTrill", 0xE5B2 ), // glyphnumber: 1875, Supported appoggiatura trill + std::pair( "ornamentPrecompAppoggTrillSuffix", 0xE5B3 ), // glyphnumber: 1876, Supported appoggiatura trill with two-note suffix + std::pair( "ornamentPrecompCadence", 0xE5BE ), // glyphnumber: 1877, Cadence + std::pair( "ornamentPrecompCadenceUpperPrefix", 0xE5C1 ), // glyphnumber: 1878, Cadence with upper prefix + std::pair( "ornamentPrecompCadenceUpperPrefixTurn", 0xE5C2 ), // glyphnumber: 1879, Cadence with upper prefix and turn + std::pair( "ornamentPrecompCadenceWithTurn", 0xE5BF ), // glyphnumber: 1880, Cadence with turn + std::pair( "ornamentPrecompDescendingSlide", 0xE5B1 ), // glyphnumber: 1881, Descending slide + std::pair( "ornamentPrecompDoubleCadenceLowerPrefix", 0xE5C0 ), // glyphnumber: 1882, Double cadence with lower prefix + std::pair( "ornamentPrecompDoubleCadenceUpperPrefix", 0xE5C3 ), // glyphnumber: 1883, Double cadence with upper prefix + std::pair( "ornamentPrecompDoubleCadenceUpperPrefixTurn", 0xE5C4 ), // glyphnumber: 1884, Double cadence with upper prefix and turn + std::pair( "ornamentPrecompInvertedMordentUpperPrefix", 0xE5C7 ), // glyphnumber: 1885, Inverted mordent with upper prefix + std::pair( "ornamentPrecompMordentRelease", 0xE5C5 ), // glyphnumber: 1886, Mordent with release + std::pair( "ornamentPrecompMordentUpperPrefix", 0xE5C6 ), // glyphnumber: 1887, Mordent with upper prefix + std::pair( "ornamentPrecompPortDeVoixMordent", 0xE5BC ), // glyphnumber: 1888, Pre-beat port de voix follwed by multiple mordent (Dandrieu) + std::pair( "ornamentPrecompSlide", 0xE5B0 ), // glyphnumber: 1889, Slide + std::pair( "ornamentPrecompSlideTrillBach", 0xE5B8 ), // glyphnumber: 1890, Slide-trill with two-note suffix (J.S. Bach) + std::pair( "ornamentPrecompSlideTrillDAnglebert", 0xE5B5 ), // glyphnumber: 1891, Slide-trill (D'Anglebert) + std::pair( "ornamentPrecompSlideTrillMarpurg", 0xE5B6 ), // glyphnumber: 1892, Slide-trill with one-note suffix (Marpurg) + std::pair( "ornamentPrecompSlideTrillMuffat", 0xE5B9 ), // glyphnumber: 1893, Slide-trill (Muffat) + std::pair( "ornamentPrecompSlideTrillSuffixMuffat", 0xE5BA ), // glyphnumber: 1894, Slide-trill with two-note suffix (Muffat) + std::pair( "ornamentPrecompTrillLowerSuffix", 0xE5C8 ), // glyphnumber: 1895, Trill with lower suffix + std::pair( "ornamentPrecompTrillSuffixDandrieu", 0xE5BB ), // glyphnumber: 1896, Trill with two-note suffix (Dandrieu) + std::pair( "ornamentPrecompTrillWithMordent", 0xE5BD ), // glyphnumber: 1897, Trill with mordent + std::pair( "ornamentPrecompTurnTrillBach", 0xE5B7 ), // glyphnumber: 1898, Turn-trill with two-note suffix (J.S. Bach) + std::pair( "ornamentPrecompTurnTrillDAnglebert", 0xE5B4 ), // glyphnumber: 1899, Turn-trill (D'Anglebert) + std::pair( "ornamentQuilisma", 0xEA20 ), // glyphnumber: 1900, Quilisma + std::pair( "ornamentRightFacingHalfCircle", 0xE571 ), // glyphnumber: 1901, Right-facing half circle + std::pair( "ornamentRightFacingHook", 0xE573 ), // glyphnumber: 1902, Right-facing hook + std::pair( "ornamentRightVerticalStroke", 0xE5A4 ), // glyphnumber: 1903, Ornament right vertical stroke + std::pair( "ornamentSchleifer", 0xE587 ), // glyphnumber: 1904, Schleifer (long mordent) + std::pair( "ornamentShake3", 0xE582 ), // glyphnumber: 1905, Shake + std::pair( "ornamentShakeMuffat1", 0xE584 ), // glyphnumber: 1906, Shake (Muffat) + std::pair( "ornamentShortObliqueLineAfterNote", 0xE57A ), // glyphnumber: 1907, Short oblique straight line NW-SE + std::pair( "ornamentShortObliqueLineBeforeNote", 0xE579 ), // glyphnumber: 1908, Short oblique straight line SW-NE + std::pair( "ornamentTopLeftConcaveStroke", 0xE590 ), // glyphnumber: 1909, Ornament top left concave stroke + std::pair( "ornamentTopLeftConvexStroke", 0xE591 ), // glyphnumber: 1910, Ornament top left convex stroke + std::pair( "ornamentTopRightConcaveStroke", 0xE5A0 ), // glyphnumber: 1911, Ornament top right concave stroke + std::pair( "ornamentTopRightConvexStroke", 0xE5A1 ), // glyphnumber: 1912, Ornament top right convex stroke + std::pair( "ornamentTremblement", 0xE56E ), // glyphnumber: 1913, Tremblement + std::pair( "ornamentTremblementCouperin", 0xE589 ), // glyphnumber: 1914, Tremblement appuyé (Couperin) + std::pair( "ornamentTrill", 0xE566 ), // glyphnumber: 1915, Trill + std::pair( "ornamentTurn", 0xE567 ), // glyphnumber: 1916, Turn + std::pair( "ornamentTurnInverted", 0xE568 ), // glyphnumber: 1917, Inverted turn + std::pair( "ornamentTurnSlash", 0xE569 ), // glyphnumber: 1918, Turn with slash + std::pair( "ornamentTurnUp", 0xE56A ), // glyphnumber: 1919, Turn up + std::pair( "ornamentTurnUpS", 0xE56B ), // glyphnumber: 1920, Inverted turn up + std::pair( "ornamentUpCurve", 0xE577 ), // glyphnumber: 1921, Curve above + std::pair( "ornamentVerticalLine", 0xE583 ), // glyphnumber: 1922, Vertical line + std::pair( "ornamentZigZagLineNoRightEnd", 0xE59D ), // glyphnumber: 1923, Ornament zig-zag line without right-hand end + std::pair( "ornamentZigZagLineWithRightEnd", 0xE59E ), // glyphnumber: 1924, Ornament zig-zag line with right-hand end + std::pair( "ottava", 0xE510 ), // glyphnumber: 1925, Ottava + std::pair( "ottavaAlta", 0xE511 ), // glyphnumber: 1926, Ottava alta + std::pair( "ottavaBassa", 0xE512 ), // glyphnumber: 1927, Ottava bassa + std::pair( "ottavaBassaBa", 0xE513 ), // glyphnumber: 1928, Ottava bassa (ba) + std::pair( "ottavaBassaVb", 0xE51C ), // glyphnumber: 1929, Ottava bassa (8vb) + std::pair( "pendereckiTremolo", 0xE22B ), // glyphnumber: 1930, Penderecki unmeasured tremolo + std::pair( "pictAgogo", 0xE717 ), // glyphnumber: 1931, Agogo + std::pair( "pictAlmglocken", 0xE712 ), // glyphnumber: 1932, Almglocken + std::pair( "pictAnvil", 0xE701 ), // glyphnumber: 1933, Anvil + std::pair( "pictBambooChimes", 0xE6C3 ), // glyphnumber: 1934, Bamboo tube chimes + std::pair( "pictBambooScraper", 0xE6FB ), // glyphnumber: 1935, Bamboo scraper + std::pair( "pictBassDrum", 0xE6D4 ), // glyphnumber: 1936, Bass drum + std::pair( "pictBassDrumOnSide", 0xE6D5 ), // glyphnumber: 1937, Bass drum on side + std::pair( "pictBeaterBow", 0xE7DE ), // glyphnumber: 1938, Bow + std::pair( "pictBeaterBox", 0xE7EB ), // glyphnumber: 1939, Box for percussion beater + std::pair( "pictBeaterBrassMalletsDown", 0xE7DA ), // glyphnumber: 1940, Brass mallets down + std::pair( "pictBeaterBrassMalletsUp", 0xE7D9 ), // glyphnumber: 1941, Brass mallets up + std::pair( "pictBeaterCombiningDashedCircle", 0xE7EA ), // glyphnumber: 1942, Combining dashed circle for round beaters (plated) + std::pair( "pictBeaterCombiningParentheses", 0xE7E9 ), // glyphnumber: 1943, Combining parentheses for round beaters (padded) + std::pair( "pictBeaterDoubleBassDrumDown", 0xE7A1 ), // glyphnumber: 1944, Double bass drum stick down + std::pair( "pictBeaterDoubleBassDrumUp", 0xE7A0 ), // glyphnumber: 1945, Double bass drum stick up + std::pair( "pictBeaterFinger", 0xE7E4 ), // glyphnumber: 1946, Finger + std::pair( "pictBeaterFingernails", 0xE7E6 ), // glyphnumber: 1947, Fingernails + std::pair( "pictBeaterFist", 0xE7E5 ), // glyphnumber: 1948, Fist + std::pair( "pictBeaterGuiroScraper", 0xE7DD ), // glyphnumber: 1949, Guiro scraper + std::pair( "pictBeaterHammer", 0xE7E1 ), // glyphnumber: 1950, Hammer + std::pair( "pictBeaterHammerMetalDown", 0xE7D0 ), // glyphnumber: 1951, Metal hammer, down + std::pair( "pictBeaterHammerMetalUp", 0xE7CF ), // glyphnumber: 1952, Metal hammer, up + std::pair( "pictBeaterHammerPlasticDown", 0xE7CE ), // glyphnumber: 1953, Plastic hammer, down + std::pair( "pictBeaterHammerPlasticUp", 0xE7CD ), // glyphnumber: 1954, Plastic hammer, up + std::pair( "pictBeaterHammerWoodDown", 0xE7CC ), // glyphnumber: 1955, Wooden hammer, down + std::pair( "pictBeaterHammerWoodUp", 0xE7CB ), // glyphnumber: 1956, Wooden hammer, up + std::pair( "pictBeaterHand", 0xE7E3 ), // glyphnumber: 1957, Hand + std::pair( "pictBeaterHardBassDrumDown", 0xE79D ), // glyphnumber: 1958, Hard bass drum stick down + std::pair( "pictBeaterHardBassDrumUp", 0xE79C ), // glyphnumber: 1959, Hard bass drum stick up + std::pair( "pictBeaterHardGlockenspielDown", 0xE785 ), // glyphnumber: 1960, Hard glockenspiel stick down + std::pair( "pictBeaterHardGlockenspielLeft", 0xE787 ), // glyphnumber: 1961, Hard glockenspiel stick left + std::pair( "pictBeaterHardGlockenspielRight", 0xE786 ), // glyphnumber: 1962, Hard glockenspiel stick right + std::pair( "pictBeaterHardGlockenspielUp", 0xE784 ), // glyphnumber: 1963, Hard glockenspiel stick up + std::pair( "pictBeaterHardTimpaniDown", 0xE791 ), // glyphnumber: 1964, Hard timpani stick down + std::pair( "pictBeaterHardTimpaniLeft", 0xE793 ), // glyphnumber: 1965, Hard timpani stick left + std::pair( "pictBeaterHardTimpaniRight", 0xE792 ), // glyphnumber: 1966, Hard timpani stick right + std::pair( "pictBeaterHardTimpaniUp", 0xE790 ), // glyphnumber: 1967, Hard timpani stick up + std::pair( "pictBeaterHardXylophoneDown", 0xE779 ), // glyphnumber: 1968, Hard xylophone stick down + std::pair( "pictBeaterHardXylophoneLeft", 0xE77B ), // glyphnumber: 1969, Hard xylophone stick left + std::pair( "pictBeaterHardXylophoneRight", 0xE77A ), // glyphnumber: 1970, Hard xylophone stick right + std::pair( "pictBeaterHardXylophoneUp", 0xE778 ), // glyphnumber: 1971, Hard xylophone stick up + std::pair( "pictBeaterHardYarnDown", 0xE7AB ), // glyphnumber: 1972, Hard yarn beater down + std::pair( "pictBeaterHardYarnLeft", 0xE7AD ), // glyphnumber: 1973, Hard yarn beater left + std::pair( "pictBeaterHardYarnRight", 0xE7AC ), // glyphnumber: 1974, Hard yarn beater right + std::pair( "pictBeaterHardYarnUp", 0xE7AA ), // glyphnumber: 1975, Hard yarn beater up + std::pair( "pictBeaterJazzSticksDown", 0xE7D4 ), // glyphnumber: 1976, Jazz sticks down + std::pair( "pictBeaterJazzSticksUp", 0xE7D3 ), // glyphnumber: 1977, Jazz sticks up + std::pair( "pictBeaterKnittingNeedle", 0xE7E2 ), // glyphnumber: 1978, Knitting needle + std::pair( "pictBeaterMallet", 0xE7DF ), // glyphnumber: 1979, Chime hammer + std::pair( "pictBeaterMediumBassDrumDown", 0xE79B ), // glyphnumber: 1980, Medium bass drum stick down + std::pair( "pictBeaterMediumBassDrumUp", 0xE79A ), // glyphnumber: 1981, Medium bass drum stick up + std::pair( "pictBeaterMediumTimpaniDown", 0xE78D ), // glyphnumber: 1982, Medium timpani stick down + std::pair( "pictBeaterMediumTimpaniLeft", 0xE78F ), // glyphnumber: 1983, Medium timpani stick left + std::pair( "pictBeaterMediumTimpaniRight", 0xE78E ), // glyphnumber: 1984, Medium timpani stick right + std::pair( "pictBeaterMediumTimpaniUp", 0xE78C ), // glyphnumber: 1985, Medium timpani stick up + std::pair( "pictBeaterMediumXylophoneDown", 0xE775 ), // glyphnumber: 1986, Medium xylophone stick down + std::pair( "pictBeaterMediumXylophoneLeft", 0xE777 ), // glyphnumber: 1987, Medium xylophone stick left + std::pair( "pictBeaterMediumXylophoneRight", 0xE776 ), // glyphnumber: 1988, Medium xylophone stick right + std::pair( "pictBeaterMediumXylophoneUp", 0xE774 ), // glyphnumber: 1989, Medium xylophone stick up + std::pair( "pictBeaterMediumYarnDown", 0xE7A7 ), // glyphnumber: 1990, Medium yarn beater down + std::pair( "pictBeaterMediumYarnLeft", 0xE7A9 ), // glyphnumber: 1991, Medium yarn beater left + std::pair( "pictBeaterMediumYarnRight", 0xE7A8 ), // glyphnumber: 1992, Medium yarn beater right + std::pair( "pictBeaterMediumYarnUp", 0xE7A6 ), // glyphnumber: 1993, Medium yarn beater up + std::pair( "pictBeaterMetalBassDrumDown", 0xE79F ), // glyphnumber: 1994, Metal bass drum stick down + std::pair( "pictBeaterMetalBassDrumUp", 0xE79E ), // glyphnumber: 1995, Metal bass drum stick up + std::pair( "pictBeaterMetalDown", 0xE7C8 ), // glyphnumber: 1996, Metal beater down + std::pair( "pictBeaterMetalHammer", 0xE7E0 ), // glyphnumber: 1997, Metal hammer + std::pair( "pictBeaterMetalLeft", 0xE7CA ), // glyphnumber: 1998, Metal beater, left + std::pair( "pictBeaterMetalRight", 0xE7C9 ), // glyphnumber: 1999, Metal beater, right + std::pair( "pictBeaterMetalUp", 0xE7C7 ), // glyphnumber: 2000, Metal beater, up + std::pair( "pictBeaterSnareSticksDown", 0xE7D2 ), // glyphnumber: 2001, Snare sticks down + std::pair( "pictBeaterSnareSticksUp", 0xE7D1 ), // glyphnumber: 2002, Snare sticks up + std::pair( "pictBeaterSoftBassDrumDown", 0xE799 ), // glyphnumber: 2003, Soft bass drum stick down + std::pair( "pictBeaterSoftBassDrumUp", 0xE798 ), // glyphnumber: 2004, Soft bass drum stick up + std::pair( "pictBeaterSoftGlockenspielDown", 0xE781 ), // glyphnumber: 2005, Soft glockenspiel stick down + std::pair( "pictBeaterSoftGlockenspielLeft", 0xE783 ), // glyphnumber: 2006, Soft glockenspiel stick left + std::pair( "pictBeaterSoftGlockenspielRight", 0xE782 ), // glyphnumber: 2007, Soft glockenspiel stick right + std::pair( "pictBeaterSoftGlockenspielUp", 0xE780 ), // glyphnumber: 2008, Soft glockenspiel stick up + std::pair( "pictBeaterSoftTimpaniDown", 0xE789 ), // glyphnumber: 2009, Soft timpani stick down + std::pair( "pictBeaterSoftTimpaniLeft", 0xE78B ), // glyphnumber: 2010, Soft timpani stick left + std::pair( "pictBeaterSoftTimpaniRight", 0xE78A ), // glyphnumber: 2011, Soft timpani stick right + std::pair( "pictBeaterSoftTimpaniUp", 0xE788 ), // glyphnumber: 2012, Soft timpani stick up + std::pair( "pictBeaterSoftXylophone", 0xE7DB ), // glyphnumber: 2013, Soft xylophone beaters + std::pair( "pictBeaterSoftXylophoneDown", 0xE771 ), // glyphnumber: 2014, Soft xylophone stick down + std::pair( "pictBeaterSoftXylophoneLeft", 0xE773 ), // glyphnumber: 2015, Soft xylophone stick left + std::pair( "pictBeaterSoftXylophoneRight", 0xE772 ), // glyphnumber: 2016, Soft xylophone stick right + std::pair( "pictBeaterSoftXylophoneUp", 0xE770 ), // glyphnumber: 2017, Soft xylophone stick up + std::pair( "pictBeaterSoftYarnDown", 0xE7A3 ), // glyphnumber: 2018, Soft yarn beater down + std::pair( "pictBeaterSoftYarnLeft", 0xE7A5 ), // glyphnumber: 2019, Soft yarn beater left + std::pair( "pictBeaterSoftYarnRight", 0xE7A4 ), // glyphnumber: 2020, Soft yarn beater right + std::pair( "pictBeaterSoftYarnUp", 0xE7A2 ), // glyphnumber: 2021, Soft yarn beater up + std::pair( "pictBeaterSpoonWoodenMallet", 0xE7DC ), // glyphnumber: 2022, Spoon-shaped wooden mallet + std::pair( "pictBeaterSuperballDown", 0xE7AF ), // glyphnumber: 2023, Superball beater down + std::pair( "pictBeaterSuperballLeft", 0xE7B1 ), // glyphnumber: 2024, Superball beater left + std::pair( "pictBeaterSuperballRight", 0xE7B0 ), // glyphnumber: 2025, Superball beater right + std::pair( "pictBeaterSuperballUp", 0xE7AE ), // glyphnumber: 2026, Superball beater up + std::pair( "pictBeaterTriangleDown", 0xE7D6 ), // glyphnumber: 2027, Triangle beater down + std::pair( "pictBeaterTriangleUp", 0xE7D5 ), // glyphnumber: 2028, Triangle beater up + std::pair( "pictBeaterWireBrushesDown", 0xE7D8 ), // glyphnumber: 2029, Wire brushes down + std::pair( "pictBeaterWireBrushesUp", 0xE7D7 ), // glyphnumber: 2030, Wire brushes up + std::pair( "pictBeaterWoodTimpaniDown", 0xE795 ), // glyphnumber: 2031, Wood timpani stick down + std::pair( "pictBeaterWoodTimpaniLeft", 0xE797 ), // glyphnumber: 2032, Wood timpani stick left + std::pair( "pictBeaterWoodTimpaniRight", 0xE796 ), // glyphnumber: 2033, Wood timpani stick right + std::pair( "pictBeaterWoodTimpaniUp", 0xE794 ), // glyphnumber: 2034, Wood timpani stick up + std::pair( "pictBeaterWoodXylophoneDown", 0xE77D ), // glyphnumber: 2035, Wood xylophone stick down + std::pair( "pictBeaterWoodXylophoneLeft", 0xE77F ), // glyphnumber: 2036, Wood xylophone stick left + std::pair( "pictBeaterWoodXylophoneRight", 0xE77E ), // glyphnumber: 2037, Wood xylophone stick right + std::pair( "pictBeaterWoodXylophoneUp", 0xE77C ), // glyphnumber: 2038, Wood xylophone stick up + std::pair( "pictBell", 0xE714 ), // glyphnumber: 2039, Bell + std::pair( "pictBellOfCymbal", 0xE72A ), // glyphnumber: 2040, Bell of cymbal + std::pair( "pictBellPlate", 0xE713 ), // glyphnumber: 2041, Bell plate + std::pair( "pictBellTree", 0xE71A ), // glyphnumber: 2042, Bell tree + std::pair( "pictBirdWhistle", 0xE751 ), // glyphnumber: 2043, Bird whistle + std::pair( "pictBoardClapper", 0xE6F7 ), // glyphnumber: 2044, Board clapper + std::pair( "pictBongos", 0xE6DD ), // glyphnumber: 2045, Bongos + std::pair( "pictBrakeDrum", 0xE6E1 ), // glyphnumber: 2046, Brake drum + std::pair( "pictCabasa", 0xE743 ), // glyphnumber: 2047, Cabasa + std::pair( "pictCannon", 0xE761 ), // glyphnumber: 2048, Cannon + std::pair( "pictCarHorn", 0xE755 ), // glyphnumber: 2049, Car horn + std::pair( "pictCastanets", 0xE6F8 ), // glyphnumber: 2050, Castanets + std::pair( "pictCastanetsWithHandle", 0xE6F9 ), // glyphnumber: 2051, Castanets with handle + std::pair( "pictCelesta", 0xE6B0 ), // glyphnumber: 2052, Celesta + std::pair( "pictCencerro", 0xE716 ), // glyphnumber: 2053, Cencerro + std::pair( "pictCenter1", 0xE7FE ), // glyphnumber: 2054, Center (Weinberg) + std::pair( "pictCenter2", 0xE7FF ), // glyphnumber: 2055, Center (Ghent) + std::pair( "pictCenter3", 0xE800 ), // glyphnumber: 2056, Center (Caltabiano) + std::pair( "pictChainRattle", 0xE748 ), // glyphnumber: 2057, Chain rattle + std::pair( "pictChimes", 0xE6C2 ), // glyphnumber: 2058, Chimes + std::pair( "pictChineseCymbal", 0xE726 ), // glyphnumber: 2059, Chinese cymbal + std::pair( "pictChokeCymbal", 0xE805 ), // glyphnumber: 2060, Choke (Weinberg) + std::pair( "pictClaves", 0xE6F2 ), // glyphnumber: 2061, Claves + std::pair( "pictCoins", 0xE7E7 ), // glyphnumber: 2062, Coins + std::pair( "pictConga", 0xE6DE ), // glyphnumber: 2063, Conga + std::pair( "pictCowBell", 0xE711 ), // glyphnumber: 2064, Cow bell + std::pair( "pictCrashCymbals", 0xE720 ), // glyphnumber: 2065, Crash cymbals + std::pair( "pictCrotales", 0xE6AE ), // glyphnumber: 2066, Crotales + std::pair( "pictCrushStem", 0xE80C ), // glyphnumber: 2067, Combining crush for stem + std::pair( "pictCuica", 0xE6E4 ), // glyphnumber: 2068, Cuica + std::pair( "pictCymbalTongs", 0xE728 ), // glyphnumber: 2069, Cymbal tongs + std::pair( "pictDamp1", 0xE7F9 ), // glyphnumber: 2070, Damp + std::pair( "pictDamp2", 0xE7FA ), // glyphnumber: 2071, Damp 2 + std::pair( "pictDamp3", 0xE7FB ), // glyphnumber: 2072, Damp 3 + std::pair( "pictDamp4", 0xE7FC ), // glyphnumber: 2073, Damp 4 + std::pair( "pictDeadNoteStem", 0xE80D ), // glyphnumber: 2074, Combining X for stem (dead note) + std::pair( "pictDrumStick", 0xE7E8 ), // glyphnumber: 2075, Drum stick + std::pair( "pictDuckCall", 0xE757 ), // glyphnumber: 2076, Duck call + std::pair( "pictEdgeOfCymbal", 0xE729 ), // glyphnumber: 2077, Edge of cymbal + std::pair( "pictEmptyTrap", 0xE6A9 ), // glyphnumber: 2078, Empty trapezoid + std::pair( "pictFingerCymbals", 0xE727 ), // glyphnumber: 2079, Finger cymbals + std::pair( "pictFlexatone", 0xE740 ), // glyphnumber: 2080, Flexatone + std::pair( "pictFootballRatchet", 0xE6F5 ), // glyphnumber: 2081, Football rattle + std::pair( "pictGlassHarmonica", 0xE765 ), // glyphnumber: 2082, Glass harmonica + std::pair( "pictGlassHarp", 0xE764 ), // glyphnumber: 2083, Glass harp + std::pair( "pictGlassPlateChimes", 0xE6C6 ), // glyphnumber: 2084, Glass plate chimes + std::pair( "pictGlassTubeChimes", 0xE6C5 ), // glyphnumber: 2085, Glass tube chimes + std::pair( "pictGlsp", 0xE6A0 ), // glyphnumber: 2086, Glockenspiel + std::pair( "pictGlspSmithBrindle", 0xE6AA ), // glyphnumber: 2087, Glockenspiel (Smith Brindle) + std::pair( "pictGobletDrum", 0xE6E2 ), // glyphnumber: 2088, Goblet drum (djembe, dumbek) + std::pair( "pictGong", 0xE732 ), // glyphnumber: 2089, Gong + std::pair( "pictGongWithButton", 0xE733 ), // glyphnumber: 2090, Gong with button (nipple) + std::pair( "pictGuiro", 0xE6F3 ), // glyphnumber: 2091, Guiro + std::pair( "pictGumHardDown", 0xE7C4 ), // glyphnumber: 2092, Hard gum beater, down + std::pair( "pictGumHardLeft", 0xE7C6 ), // glyphnumber: 2093, Hard gum beater, left + std::pair( "pictGumHardRight", 0xE7C5 ), // glyphnumber: 2094, Hard gum beater, right + std::pair( "pictGumHardUp", 0xE7C3 ), // glyphnumber: 2095, Hard gum beater, up + std::pair( "pictGumMediumDown", 0xE7C0 ), // glyphnumber: 2096, Medium gum beater, down + std::pair( "pictGumMediumLeft", 0xE7C2 ), // glyphnumber: 2097, Medium gum beater, left + std::pair( "pictGumMediumRight", 0xE7C1 ), // glyphnumber: 2098, Medium gum beater, right + std::pair( "pictGumMediumUp", 0xE7BF ), // glyphnumber: 2099, Medium gum beater, up + std::pair( "pictGumSoftDown", 0xE7BC ), // glyphnumber: 2100, Soft gum beater, down + std::pair( "pictGumSoftLeft", 0xE7BE ), // glyphnumber: 2101, Soft gum beater, left + std::pair( "pictGumSoftRight", 0xE7BD ), // glyphnumber: 2102, Soft gum beater, right + std::pair( "pictGumSoftUp", 0xE7BB ), // glyphnumber: 2103, Soft gum beater, up + std::pair( "pictHalfOpen1", 0xE7F6 ), // glyphnumber: 2104, Half-open + std::pair( "pictHalfOpen2", 0xE7F7 ), // glyphnumber: 2105, Half-open 2 (Weinberg) + std::pair( "pictHandbell", 0xE715 ), // glyphnumber: 2106, Handbell + std::pair( "pictHiHat", 0xE722 ), // glyphnumber: 2107, Hi-hat + std::pair( "pictHiHatOnStand", 0xE723 ), // glyphnumber: 2108, Hi-hat cymbals on stand + std::pair( "pictJawHarp", 0xE767 ), // glyphnumber: 2109, Jaw harp + std::pair( "pictJingleBells", 0xE719 ), // glyphnumber: 2110, Jingle bells + std::pair( "pictKlaxonHorn", 0xE756 ), // glyphnumber: 2111, Klaxon horn + std::pair( "pictLeftHandCircle", 0xE807 ), // glyphnumber: 2112, Right hand (Agostini) + std::pair( "pictLionsRoar", 0xE763 ), // glyphnumber: 2113, Lion's roar + std::pair( "pictLithophone", 0xE6B1 ), // glyphnumber: 2114, Lithophone + std::pair( "pictLogDrum", 0xE6DF ), // glyphnumber: 2115, Log drum + std::pair( "pictLotusFlute", 0xE75A ), // glyphnumber: 2116, Lotus flute + std::pair( "pictMar", 0xE6A6 ), // glyphnumber: 2117, Marimba + std::pair( "pictMarSmithBrindle", 0xE6AC ), // glyphnumber: 2118, Marimba (Smith Brindle) + std::pair( "pictMaraca", 0xE741 ), // glyphnumber: 2119, Maraca + std::pair( "pictMaracas", 0xE742 ), // glyphnumber: 2120, Maracas + std::pair( "pictMegaphone", 0xE759 ), // glyphnumber: 2121, Megaphone + std::pair( "pictMetalPlateChimes", 0xE6C8 ), // glyphnumber: 2122, Metal plate chimes + std::pair( "pictMetalTubeChimes", 0xE6C7 ), // glyphnumber: 2123, Metal tube chimes + std::pair( "pictMusicalSaw", 0xE766 ), // glyphnumber: 2124, Musical saw + std::pair( "pictNormalPosition", 0xE804 ), // glyphnumber: 2125, Normal position (Caltabiano) + std::pair( "pictOnRim", 0xE7F4 ), // glyphnumber: 2126, On rim + std::pair( "pictOpen", 0xE7F8 ), // glyphnumber: 2127, Open + std::pair( "pictOpenRimShot", 0xE7F5 ), // glyphnumber: 2128, Closed / rim shot + std::pair( "pictPistolShot", 0xE760 ), // glyphnumber: 2129, Pistol shot + std::pair( "pictPoliceWhistle", 0xE752 ), // glyphnumber: 2130, Police whistle + std::pair( "pictQuijada", 0xE6FA ), // glyphnumber: 2131, Quijada (jawbone) + std::pair( "pictRainstick", 0xE747 ), // glyphnumber: 2132, Rainstick + std::pair( "pictRatchet", 0xE6F4 ), // glyphnumber: 2133, Ratchet + std::pair( "pictRecoReco", 0xE6FC ), // glyphnumber: 2134, Reco-reco + std::pair( "pictRightHandSquare", 0xE806 ), // glyphnumber: 2135, Left hand (Agostini) + std::pair( "pictRim1", 0xE801 ), // glyphnumber: 2136, Rim or edge (Weinberg) + std::pair( "pictRim2", 0xE802 ), // glyphnumber: 2137, Rim (Ghent) + std::pair( "pictRim3", 0xE803 ), // glyphnumber: 2138, Rim (Caltabiano) + std::pair( "pictRimShotOnStem", 0xE7FD ), // glyphnumber: 2139, Rim shot for stem + std::pair( "pictSandpaperBlocks", 0xE762 ), // glyphnumber: 2140, Sandpaper blocks + std::pair( "pictScrapeAroundRim", 0xE7F3 ), // glyphnumber: 2141, Scrape around rim (counter-clockwise) + std::pair( "pictScrapeAroundRimClockwise", 0xE80E ), // glyphnumber: 2142, Scrape around rim (clockwise) + std::pair( "pictScrapeCenterToEdge", 0xE7F1 ), // glyphnumber: 2143, Scrape from center to edge + std::pair( "pictScrapeEdgeToCenter", 0xE7F2 ), // glyphnumber: 2144, Scrape from edge to center + std::pair( "pictShellBells", 0xE718 ), // glyphnumber: 2145, Shell bells + std::pair( "pictShellChimes", 0xE6C4 ), // glyphnumber: 2146, Shell chimes + std::pair( "pictSiren", 0xE753 ), // glyphnumber: 2147, Siren + std::pair( "pictSistrum", 0xE746 ), // glyphnumber: 2148, Sistrum + std::pair( "pictSizzleCymbal", 0xE724 ), // glyphnumber: 2149, Sizzle cymbal + std::pair( "pictSleighBell", 0xE710 ), // glyphnumber: 2150, Sleigh bell + std::pair( "pictSlideBrushOnGong", 0xE734 ), // glyphnumber: 2151, Slide brush on gong + std::pair( "pictSlideWhistle", 0xE750 ), // glyphnumber: 2152, Slide whistle + std::pair( "pictSlitDrum", 0xE6E0 ), // glyphnumber: 2153, Slit drum + std::pair( "pictSnareDrum", 0xE6D1 ), // glyphnumber: 2154, Snare drum + std::pair( "pictSnareDrumMilitary", 0xE6D3 ), // glyphnumber: 2155, Military snare drum + std::pair( "pictSnareDrumSnaresOff", 0xE6D2 ), // glyphnumber: 2156, Snare drum, snares off + std::pair( "pictSteelDrums", 0xE6AF ), // glyphnumber: 2157, Steel drums + std::pair( "pictStickShot", 0xE7F0 ), // glyphnumber: 2158, Stick shot + std::pair( "pictSuperball", 0xE7B2 ), // glyphnumber: 2159, Superball + std::pair( "pictSuspendedCymbal", 0xE721 ), // glyphnumber: 2160, Suspended cymbal + std::pair( "pictSwishStem", 0xE808 ), // glyphnumber: 2161, Combining swish for stem + std::pair( "pictTabla", 0xE6E3 ), // glyphnumber: 2162, Indian tabla + std::pair( "pictTamTam", 0xE730 ), // glyphnumber: 2163, Tam-tam + std::pair( "pictTamTamWithBeater", 0xE731 ), // glyphnumber: 2164, Tam-tam with beater (Smith Brindle) + std::pair( "pictTambourine", 0xE6DB ), // glyphnumber: 2165, Tambourine + std::pair( "pictTempleBlocks", 0xE6F1 ), // glyphnumber: 2166, Temple blocks + std::pair( "pictTenorDrum", 0xE6D6 ), // glyphnumber: 2167, Tenor drum + std::pair( "pictThundersheet", 0xE744 ), // glyphnumber: 2168, Thundersheet + std::pair( "pictTimbales", 0xE6DC ), // glyphnumber: 2169, Timbales + std::pair( "pictTimpani", 0xE6D0 ), // glyphnumber: 2170, Timpani + std::pair( "pictTomTom", 0xE6D7 ), // glyphnumber: 2171, Tom-tom + std::pair( "pictTomTomChinese", 0xE6D8 ), // glyphnumber: 2172, Chinese tom-tom + std::pair( "pictTomTomIndoAmerican", 0xE6DA ), // glyphnumber: 2173, Indo-American tom tom + std::pair( "pictTomTomJapanese", 0xE6D9 ), // glyphnumber: 2174, Japanese tom-tom + std::pair( "pictTriangle", 0xE700 ), // glyphnumber: 2175, Triangle + std::pair( "pictTubaphone", 0xE6B2 ), // glyphnumber: 2176, Tubaphone + std::pair( "pictTubularBells", 0xE6C0 ), // glyphnumber: 2177, Tubular bells + std::pair( "pictTurnLeftStem", 0xE80A ), // glyphnumber: 2178, Combining turn left for stem + std::pair( "pictTurnRightLeftStem", 0xE80B ), // glyphnumber: 2179, Combining turn left or right for stem + std::pair( "pictTurnRightStem", 0xE809 ), // glyphnumber: 2180, Combining turn right for stem + std::pair( "pictVib", 0xE6A7 ), // glyphnumber: 2181, Vibraphone + std::pair( "pictVibMotorOff", 0xE6A8 ), // glyphnumber: 2182, Metallophone (vibraphone motor off) + std::pair( "pictVibSmithBrindle", 0xE6AD ), // glyphnumber: 2183, Vibraphone (Smith Brindle) + std::pair( "pictVibraslap", 0xE745 ), // glyphnumber: 2184, Vibraslap + std::pair( "pictVietnameseHat", 0xE725 ), // glyphnumber: 2185, Vietnamese hat cymbal + std::pair( "pictWhip", 0xE6F6 ), // glyphnumber: 2186, Whip + std::pair( "pictWindChimesGlass", 0xE6C1 ), // glyphnumber: 2187, Wind chimes (glass) + std::pair( "pictWindMachine", 0xE754 ), // glyphnumber: 2188, Wind machine + std::pair( "pictWindWhistle", 0xE758 ), // glyphnumber: 2189, Wind whistle (or mouth siren) + std::pair( "pictWoodBlock", 0xE6F0 ), // glyphnumber: 2190, Wood block + std::pair( "pictWoundHardDown", 0xE7B4 ), // glyphnumber: 2191, Wound beater, hard core down + std::pair( "pictWoundHardLeft", 0xE7B6 ), // glyphnumber: 2192, Wound beater, hard core left + std::pair( "pictWoundHardRight", 0xE7B5 ), // glyphnumber: 2193, Wound beater, hard core right + std::pair( "pictWoundHardUp", 0xE7B3 ), // glyphnumber: 2194, Wound beater, hard core up + std::pair( "pictWoundSoftDown", 0xE7B8 ), // glyphnumber: 2195, Wound beater, soft core down + std::pair( "pictWoundSoftLeft", 0xE7BA ), // glyphnumber: 2196, Wound beater, soft core left + std::pair( "pictWoundSoftRight", 0xE7B9 ), // glyphnumber: 2197, Wound beater, soft core right + std::pair( "pictWoundSoftUp", 0xE7B7 ), // glyphnumber: 2198, Wound beater, soft core up + std::pair( "pictXyl", 0xE6A1 ), // glyphnumber: 2199, Xylophone + std::pair( "pictXylBass", 0xE6A3 ), // glyphnumber: 2200, Bass xylophone + std::pair( "pictXylSmithBrindle", 0xE6AB ), // glyphnumber: 2201, Xylophone (Smith Brindle) + std::pair( "pictXylTenor", 0xE6A2 ), // glyphnumber: 2202, Tenor xylophone + std::pair( "pictXylTenorTrough", 0xE6A5 ), // glyphnumber: 2203, Trough tenor xylophone + std::pair( "pictXylTrough", 0xE6A4 ), // glyphnumber: 2204, Trough xylophone + std::pair( "pluckedBuzzPizzicato", 0xE632 ), // glyphnumber: 2205, Buzz pizzicato + std::pair( "pluckedDamp", 0xE638 ), // glyphnumber: 2206, Damp + std::pair( "pluckedDampAll", 0xE639 ), // glyphnumber: 2207, Damp all + std::pair( "pluckedDampOnStem", 0xE63B ), // glyphnumber: 2208, Damp for stem + std::pair( "pluckedFingernailFlick", 0xE637 ), // glyphnumber: 2209, Fingernail flick + std::pair( "pluckedLeftHandPizzicato", 0xE633 ), // glyphnumber: 2210, Left-hand pizzicato + std::pair( "pluckedPlectrum", 0xE63A ), // glyphnumber: 2211, Plectrum + std::pair( "pluckedSnapPizzicatoAbove", 0xE631 ), // glyphnumber: 2212, Snap pizzicato above + std::pair( "pluckedSnapPizzicatoBelow", 0xE630 ), // glyphnumber: 2213, Snap pizzicato below + std::pair( "pluckedWithFingernails", 0xE636 ), // glyphnumber: 2214, With fingernails + std::pair( "quindicesima", 0xE514 ), // glyphnumber: 2215, Quindicesima + std::pair( "quindicesimaAlta", 0xE515 ), // glyphnumber: 2216, Quindicesima alta + std::pair( "quindicesimaBassa", 0xE516 ), // glyphnumber: 2217, Quindicesima bassa + std::pair( "quindicesimaBassaMb", 0xE51D ), // glyphnumber: 2218, Quindicesima bassa (mb) + std::pair( "repeat1Bar", 0xE500 ), // glyphnumber: 2219, Repeat last bar + std::pair( "repeat2Bars", 0xE501 ), // glyphnumber: 2220, Repeat last two bars + std::pair( "repeat4Bars", 0xE502 ), // glyphnumber: 2221, Repeat last four bars + std::pair( "repeatDot", 0xE044 ), // glyphnumber: 2222, Single repeat dot + std::pair( "repeatDots", 0xE043 ), // glyphnumber: 2223, Repeat dots + std::pair( "repeatLeft", 0xE040 ), // glyphnumber: 2224, Left (start) repeat sign + std::pair( "repeatRight", 0xE041 ), // glyphnumber: 2225, Right (end) repeat sign + std::pair( "repeatRightLeft", 0xE042 ), // glyphnumber: 2226, Right and left repeat sign + std::pair( "rest1024th", 0xE4ED ), // glyphnumber: 2227, 1024th rest + std::pair( "rest128th", 0xE4EA ), // glyphnumber: 2228, 128th (semihemidemisemiquaver) rest + std::pair( "rest16th", 0xE4E7 ), // glyphnumber: 2229, 16th (semiquaver) rest + std::pair( "rest256th", 0xE4EB ), // glyphnumber: 2230, 256th rest + std::pair( "rest32nd", 0xE4E8 ), // glyphnumber: 2231, 32nd (demisemiquaver) rest + std::pair( "rest512th", 0xE4EC ), // glyphnumber: 2232, 512th rest + std::pair( "rest64th", 0xE4E9 ), // glyphnumber: 2233, 64th (hemidemisemiquaver) rest + std::pair( "rest8th", 0xE4E6 ), // glyphnumber: 2234, Eighth (quaver) rest + std::pair( "restDoubleWhole", 0xE4E2 ), // glyphnumber: 2235, Double whole (breve) rest + std::pair( "restDoubleWholeLegerLine", 0xE4F3 ), // glyphnumber: 2236, Double whole rest on leger lines + std::pair( "restHBar", 0xE4EE ), // glyphnumber: 2237, Multiple measure rest + std::pair( "restHBarLeft", 0xE4EF ), // glyphnumber: 2238, H-bar, left half + std::pair( "restHBarMiddle", 0xE4F0 ), // glyphnumber: 2239, H-bar, middle + std::pair( "restHBarRight", 0xE4F1 ), // glyphnumber: 2240, H-bar, right half + std::pair( "restHalf", 0xE4E4 ), // glyphnumber: 2241, Half (minim) rest + std::pair( "restHalfLegerLine", 0xE4F5 ), // glyphnumber: 2242, Half rest on leger line + std::pair( "restLonga", 0xE4E1 ), // glyphnumber: 2243, Longa rest + std::pair( "restMaxima", 0xE4E0 ), // glyphnumber: 2244, Maxima rest + std::pair( "restQuarter", 0xE4E5 ), // glyphnumber: 2245, Quarter (crotchet) rest + std::pair( "restQuarterOld", 0xE4F2 ), // glyphnumber: 2246, Old-style quarter (crotchet) rest + std::pair( "restQuarterZ", 0xE4F6 ), // glyphnumber: 2247, Z-style quarter (crotchet) rest + std::pair( "restWhole", 0xE4E3 ), // glyphnumber: 2248, Whole (semibreve) rest + std::pair( "restWholeLegerLine", 0xE4F4 ), // glyphnumber: 2249, Whole rest on leger line + std::pair( "reversedBrace", 0xE001 ), // glyphnumber: 2250, Reversed brace + std::pair( "reversedBracketBottom", 0xE006 ), // glyphnumber: 2251, Reversed bracket bottom + std::pair( "reversedBracketTop", 0xE005 ), // glyphnumber: 2252, Reversed bracket top + std::pair( "rightRepeatSmall", 0xE04D ), // glyphnumber: 2253, Right repeat sign within bar + std::pair( "schaefferClef", 0xE06F ), // glyphnumber: 2254, Schäffer clef + std::pair( "schaefferFClefToGClef", 0xE072 ), // glyphnumber: 2255, Schäffer F clef to G clef change + std::pair( "schaefferGClefToFClef", 0xE071 ), // glyphnumber: 2256, Schäffer G clef to F clef change + std::pair( "schaefferPreviousClef", 0xE070 ), // glyphnumber: 2257, Schäffer previous clef + std::pair( "segno", 0xE047 ), // glyphnumber: 2258, Segno + std::pair( "segnoSerpent1", 0xE04A ), // glyphnumber: 2259, Segno (serpent) + std::pair( "segnoSerpent2", 0xE04B ), // glyphnumber: 2260, Segno (serpent with vertical lines) + std::pair( "semipitchedPercussionClef1", 0xE06B ), // glyphnumber: 2261, Semi-pitched percussion clef 1 + std::pair( "semipitchedPercussionClef2", 0xE06C ), // glyphnumber: 2262, Semi-pitched percussion clef 2 + std::pair( "smnFlat", 0xEC52 ), // glyphnumber: 2263, Flat + std::pair( "smnFlatWhite", 0xEC53 ), // glyphnumber: 2264, Flat (white) + std::pair( "smnHistoryDoubleFlat", 0xEC57 ), // glyphnumber: 2265, Double flat history sign + std::pair( "smnHistoryDoubleSharp", 0xEC55 ), // glyphnumber: 2266, Double sharp history sign + std::pair( "smnHistoryFlat", 0xEC56 ), // glyphnumber: 2267, Flat history sign + std::pair( "smnHistorySharp", 0xEC54 ), // glyphnumber: 2268, Sharp history sign + std::pair( "smnNatural", 0xEC58 ), // glyphnumber: 2269, Natural (N) + std::pair( "smnSharp", 0xEC50 ), // glyphnumber: 2270, Sharp stem up + std::pair( "smnSharpDown", 0xEC59 ), // glyphnumber: 2271, Sharp stem down + std::pair( "smnSharpWhite", 0xEC51 ), // glyphnumber: 2272, Sharp (white) stem up + std::pair( "smnSharpWhiteDown", 0xEC5A ), // glyphnumber: 2273, Sharp (white) stem down + std::pair( "splitBarDivider", 0xE00A ), // glyphnumber: 2274, Split bar divider (bar spans a system break) + std::pair( "staff1Line", 0xE010 ), // glyphnumber: 2275, 1-line staff + std::pair( "staff1LineNarrow", 0xE01C ), // glyphnumber: 2276, 1-line staff (narrow) + std::pair( "staff1LineWide", 0xE016 ), // glyphnumber: 2277, 1-line staff (wide) + std::pair( "staff2Lines", 0xE011 ), // glyphnumber: 2278, 2-line staff + std::pair( "staff2LinesNarrow", 0xE01D ), // glyphnumber: 2279, 2-line staff (narrow) + std::pair( "staff2LinesWide", 0xE017 ), // glyphnumber: 2280, 2-line staff (wide) + std::pair( "staff3Lines", 0xE012 ), // glyphnumber: 2281, 3-line staff + std::pair( "staff3LinesNarrow", 0xE01E ), // glyphnumber: 2282, 3-line staff (narrow) + std::pair( "staff3LinesWide", 0xE018 ), // glyphnumber: 2283, 3-line staff (wide) + std::pair( "staff4Lines", 0xE013 ), // glyphnumber: 2284, 4-line staff + std::pair( "staff4LinesNarrow", 0xE01F ), // glyphnumber: 2285, 4-line staff (narrow) + std::pair( "staff4LinesWide", 0xE019 ), // glyphnumber: 2286, 4-line staff (wide) + std::pair( "staff5Lines", 0xE014 ), // glyphnumber: 2287, 5-line staff + std::pair( "staff5LinesNarrow", 0xE020 ), // glyphnumber: 2288, 5-line staff (narrow) + std::pair( "staff5LinesWide", 0xE01A ), // glyphnumber: 2289, 5-line staff (wide) + std::pair( "staff6Lines", 0xE015 ), // glyphnumber: 2290, 6-line staff + std::pair( "staff6LinesNarrow", 0xE021 ), // glyphnumber: 2291, 6-line staff (narrow) + std::pair( "staff6LinesWide", 0xE01B ), // glyphnumber: 2292, 6-line staff (wide) + std::pair( "staffDivideArrowDown", 0xE00B ), // glyphnumber: 2293, Staff divide arrow down + std::pair( "staffDivideArrowUp", 0xE00C ), // glyphnumber: 2294, Staff divide arrow up + std::pair( "staffDivideArrowUpDown", 0xE00D ), // glyphnumber: 2295, Staff divide arrows + std::pair( "staffPosLower1", 0xEB98 ), // glyphnumber: 2296, Lower 1 staff position + std::pair( "staffPosLower2", 0xEB99 ), // glyphnumber: 2297, Lower 2 staff positions + std::pair( "staffPosLower3", 0xEB9A ), // glyphnumber: 2298, Lower 3 staff positions + std::pair( "staffPosLower4", 0xEB9B ), // glyphnumber: 2299, Lower 4 staff positions + std::pair( "staffPosLower5", 0xEB9C ), // glyphnumber: 2300, Lower 5 staff positions + std::pair( "staffPosLower6", 0xEB9D ), // glyphnumber: 2301, Lower 6 staff positions + std::pair( "staffPosLower7", 0xEB9E ), // glyphnumber: 2302, Lower 7 staff positions + std::pair( "staffPosLower8", 0xEB9F ), // glyphnumber: 2303, Lower 8 staff positions + std::pair( "staffPosRaise1", 0xEB90 ), // glyphnumber: 2304, Raise 1 staff position + std::pair( "staffPosRaise2", 0xEB91 ), // glyphnumber: 2305, Raise 2 staff positions + std::pair( "staffPosRaise3", 0xEB92 ), // glyphnumber: 2306, Raise 3 staff positions + std::pair( "staffPosRaise4", 0xEB93 ), // glyphnumber: 2307, Raise 4 staff positions + std::pair( "staffPosRaise5", 0xEB94 ), // glyphnumber: 2308, Raise 5 staff positions + std::pair( "staffPosRaise6", 0xEB95 ), // glyphnumber: 2309, Raise 6 staff positions + std::pair( "staffPosRaise7", 0xEB96 ), // glyphnumber: 2310, Raise 7 staff positions + std::pair( "staffPosRaise8", 0xEB97 ), // glyphnumber: 2311, Raise 8 staff positions + std::pair( "stem", 0xE210 ), // glyphnumber: 2312, Combining stem + std::pair( "stemBowOnBridge", 0xE215 ), // glyphnumber: 2313, Combining bow on bridge stem + std::pair( "stemBowOnTailpiece", 0xE216 ), // glyphnumber: 2314, Combining bow on tailpiece stem + std::pair( "stemBuzzRoll", 0xE217 ), // glyphnumber: 2315, Combining buzz roll stem + std::pair( "stemDamp", 0xE218 ), // glyphnumber: 2316, Combining damp stem + std::pair( "stemHarpStringNoise", 0xE21F ), // glyphnumber: 2317, Combining harp string noise stem + std::pair( "stemMultiphonicsBlack", 0xE21A ), // glyphnumber: 2318, Combining multiphonics (black) stem + std::pair( "stemMultiphonicsBlackWhite", 0xE21C ), // glyphnumber: 2319, Combining multiphonics (black and white) stem + std::pair( "stemMultiphonicsWhite", 0xE21B ), // glyphnumber: 2320, Combining multiphonics (white) stem + std::pair( "stemPendereckiTremolo", 0xE213 ), // glyphnumber: 2321, Combining Penderecki unmeasured tremolo stem + std::pair( "stemRimShot", 0xE21E ), // glyphnumber: 2322, Combining rim shot stem + std::pair( "stemSprechgesang", 0xE211 ), // glyphnumber: 2323, Combining sprechgesang stem + std::pair( "stemSulPonticello", 0xE214 ), // glyphnumber: 2324, Combining sul ponticello (bow behind bridge) stem + std::pair( "stemSussurando", 0xE21D ), // glyphnumber: 2325, Combining sussurando stem + std::pair( "stemSwished", 0xE212 ), // glyphnumber: 2326, Combining swished stem + std::pair( "stemVibratoPulse", 0xE219 ), // glyphnumber: 2327, Combining vibrato pulse accent (Saunders) stem + std::pair( "stockhausenTremolo", 0xE232 ), // glyphnumber: 2328, Stockhausen irregular tremolo ("Morsen", like Morse code) + std::pair( "stringsBowBehindBridge", 0xE618 ), // glyphnumber: 2329, Bow behind bridge (sul ponticello) + std::pair( "stringsBowBehindBridgeFourStrings", 0xE62A ), // glyphnumber: 2330, Bow behind bridge on four strings + std::pair( "stringsBowBehindBridgeOneString", 0xE627 ), // glyphnumber: 2331, Bow behind bridge on one string + std::pair( "stringsBowBehindBridgeThreeStrings", 0xE629 ), // glyphnumber: 2332, Bow behind bridge on three strings + std::pair( "stringsBowBehindBridgeTwoStrings", 0xE628 ), // glyphnumber: 2333, Bow behind bridge on two strings + std::pair( "stringsBowOnBridge", 0xE619 ), // glyphnumber: 2334, Bow on top of bridge + std::pair( "stringsBowOnTailpiece", 0xE61A ), // glyphnumber: 2335, Bow on tailpiece + std::pair( "stringsChangeBowDirection", 0xE626 ), // glyphnumber: 2336, Change bow direction, indeterminate + std::pair( "stringsDownBow", 0xE610 ), // glyphnumber: 2337, Down bow + std::pair( "stringsDownBowTurned", 0xE611 ), // glyphnumber: 2338, Turned down bow + std::pair( "stringsFouette", 0xE622 ), // glyphnumber: 2339, Fouetté + std::pair( "stringsHalfHarmonic", 0xE615 ), // glyphnumber: 2340, Half-harmonic + std::pair( "stringsHarmonic", 0xE614 ), // glyphnumber: 2341, Harmonic + std::pair( "stringsJeteAbove", 0xE620 ), // glyphnumber: 2342, Jeté (gettato) above + std::pair( "stringsJeteBelow", 0xE621 ), // glyphnumber: 2343, Jeté (gettato) below + std::pair( "stringsMuteOff", 0xE617 ), // glyphnumber: 2344, Mute off + std::pair( "stringsMuteOn", 0xE616 ), // glyphnumber: 2345, Mute on + std::pair( "stringsOverpressureDownBow", 0xE61B ), // glyphnumber: 2346, Overpressure, down bow + std::pair( "stringsOverpressureNoDirection", 0xE61F ), // glyphnumber: 2347, Overpressure, no bow direction + std::pair( "stringsOverpressurePossibileDownBow", 0xE61D ), // glyphnumber: 2348, Overpressure possibile, down bow + std::pair( "stringsOverpressurePossibileUpBow", 0xE61E ), // glyphnumber: 2349, Overpressure possibile, up bow + std::pair( "stringsOverpressureUpBow", 0xE61C ), // glyphnumber: 2350, Overpressure, up bow + std::pair( "stringsThumbPosition", 0xE624 ), // glyphnumber: 2351, Thumb position + std::pair( "stringsThumbPositionTurned", 0xE625 ), // glyphnumber: 2352, Turned thumb position + std::pair( "stringsUpBow", 0xE612 ), // glyphnumber: 2353, Up bow + std::pair( "stringsUpBowTurned", 0xE613 ), // glyphnumber: 2354, Turned up bow + std::pair( "stringsVibratoPulse", 0xE623 ), // glyphnumber: 2355, Vibrato pulse accent (Saunders) for stem + std::pair( "systemDivider", 0xE007 ), // glyphnumber: 2356, System divider + std::pair( "systemDividerExtraLong", 0xE009 ), // glyphnumber: 2357, Extra long system divider + std::pair( "systemDividerLong", 0xE008 ), // glyphnumber: 2358, Long system divider + std::pair( "textAugmentationDot", 0xE1FC ), // glyphnumber: 2359, Augmentation dot + std::pair( "textBlackNoteFrac16thLongStem", 0xE1F5 ), // glyphnumber: 2360, Black note, fractional 16th beam, long stem + std::pair( "textBlackNoteFrac16thShortStem", 0xE1F4 ), // glyphnumber: 2361, Black note, fractional 16th beam, short stem + std::pair( "textBlackNoteFrac32ndLongStem", 0xE1F6 ), // glyphnumber: 2362, Black note, fractional 32nd beam, long stem + std::pair( "textBlackNoteFrac8thLongStem", 0xE1F3 ), // glyphnumber: 2363, Black note, fractional 8th beam, long stem + std::pair( "textBlackNoteFrac8thShortStem", 0xE1F2 ), // glyphnumber: 2364, Black note, fractional 8th beam, short stem + std::pair( "textBlackNoteLongStem", 0xE1F1 ), // glyphnumber: 2365, Black note, long stem + std::pair( "textBlackNoteShortStem", 0xE1F0 ), // glyphnumber: 2366, Black note, short stem + std::pair( "textCont16thBeamLongStem", 0xE1FA ), // glyphnumber: 2367, Continuing 16th beam for long stem + std::pair( "textCont16thBeamShortStem", 0xE1F9 ), // glyphnumber: 2368, Continuing 16th beam for short stem + std::pair( "textCont32ndBeamLongStem", 0xE1FB ), // glyphnumber: 2369, Continuing 32nd beam for long stem + std::pair( "textCont8thBeamLongStem", 0xE1F8 ), // glyphnumber: 2370, Continuing 8th beam for long stem + std::pair( "textCont8thBeamShortStem", 0xE1F7 ), // glyphnumber: 2371, Continuing 8th beam for short stem + std::pair( "textTie", 0xE1FD ), // glyphnumber: 2372, Tie + std::pair( "textTuplet3LongStem", 0xE202 ), // glyphnumber: 2373, Tuplet number 3 for long stem + std::pair( "textTuplet3ShortStem", 0xE1FF ), // glyphnumber: 2374, Tuplet number 3 for short stem + std::pair( "textTupletBracketEndLongStem", 0xE203 ), // glyphnumber: 2375, Tuplet bracket end for long stem + std::pair( "textTupletBracketEndShortStem", 0xE200 ), // glyphnumber: 2376, Tuplet bracket end for short stem + std::pair( "textTupletBracketStartLongStem", 0xE201 ), // glyphnumber: 2377, Tuplet bracket start for long stem + std::pair( "textTupletBracketStartShortStem", 0xE1FE ), // glyphnumber: 2378, Tuplet bracket start for short stem + std::pair( "timeSig0", 0xE080 ), // glyphnumber: 2379, Time signature 0 + std::pair( "timeSig0Reversed", 0xECF0 ), // glyphnumber: 2380, Reversed time signature 0 + std::pair( "timeSig0Turned", 0xECE0 ), // glyphnumber: 2381, Turned time signature 0 + std::pair( "timeSig1", 0xE081 ), // glyphnumber: 2382, Time signature 1 + std::pair( "timeSig1Reversed", 0xECF1 ), // glyphnumber: 2383, Reversed time signature 1 + std::pair( "timeSig1Turned", 0xECE1 ), // glyphnumber: 2384, Turned time signature 1 + std::pair( "timeSig2", 0xE082 ), // glyphnumber: 2385, Time signature 2 + std::pair( "timeSig2Reversed", 0xECF2 ), // glyphnumber: 2386, Reversed time signature 2 + std::pair( "timeSig2Turned", 0xECE2 ), // glyphnumber: 2387, Turned time signature 2 + std::pair( "timeSig3", 0xE083 ), // glyphnumber: 2388, Time signature 3 + std::pair( "timeSig3Reversed", 0xECF3 ), // glyphnumber: 2389, Reversed time signature 3 + std::pair( "timeSig3Turned", 0xECE3 ), // glyphnumber: 2390, Turned time signature 3 + std::pair( "timeSig4", 0xE084 ), // glyphnumber: 2391, Time signature 4 + std::pair( "timeSig4Reversed", 0xECF4 ), // glyphnumber: 2392, Reversed time signature 4 + std::pair( "timeSig4Turned", 0xECE4 ), // glyphnumber: 2393, Turned time signature 4 + std::pair( "timeSig5", 0xE085 ), // glyphnumber: 2394, Time signature 5 + std::pair( "timeSig5Reversed", 0xECF5 ), // glyphnumber: 2395, Reversed time signature 5 + std::pair( "timeSig5Turned", 0xECE5 ), // glyphnumber: 2396, Turned time signature 5 + std::pair( "timeSig6", 0xE086 ), // glyphnumber: 2397, Time signature 6 + std::pair( "timeSig6Reversed", 0xECF6 ), // glyphnumber: 2398, Reversed time signature 6 + std::pair( "timeSig6Turned", 0xECE6 ), // glyphnumber: 2399, Turned time signature 6 + std::pair( "timeSig7", 0xE087 ), // glyphnumber: 2400, Time signature 7 + std::pair( "timeSig7Reversed", 0xECF7 ), // glyphnumber: 2401, Reversed time signature 7 + std::pair( "timeSig7Turned", 0xECE7 ), // glyphnumber: 2402, Turned time signature 7 + std::pair( "timeSig8", 0xE088 ), // glyphnumber: 2403, Time signature 8 + std::pair( "timeSig8Reversed", 0xECF8 ), // glyphnumber: 2404, Reversed time signature 8 + std::pair( "timeSig8Turned", 0xECE8 ), // glyphnumber: 2405, Turned time signature 8 + std::pair( "timeSig9", 0xE089 ), // glyphnumber: 2406, Time signature 9 + std::pair( "timeSig9Reversed", 0xECF9 ), // glyphnumber: 2407, Reversed time signature 9 + std::pair( "timeSig9Turned", 0xECE9 ), // glyphnumber: 2408, Turned time signature 9 + std::pair( "timeSigBracketLeft", 0xEC80 ), // glyphnumber: 2409, Left bracket for whole time signature + std::pair( "timeSigBracketLeftSmall", 0xEC82 ), // glyphnumber: 2410, Left bracket for numerator only + std::pair( "timeSigBracketRight", 0xEC81 ), // glyphnumber: 2411, Right bracket for whole time signature + std::pair( "timeSigBracketRightSmall", 0xEC83 ), // glyphnumber: 2412, Right bracket for numerator only + std::pair( "timeSigCombDenominator", 0xE09F ), // glyphnumber: 2413, Control character for denominator digit + std::pair( "timeSigCombNumerator", 0xE09E ), // glyphnumber: 2414, Control character for numerator digit + std::pair( "timeSigComma", 0xE096 ), // glyphnumber: 2415, Time signature comma + std::pair( "timeSigCommon", 0xE08A ), // glyphnumber: 2416, Common time + std::pair( "timeSigCommonReversed", 0xECFA ), // glyphnumber: 2417, Reversed common time + std::pair( "timeSigCommonTurned", 0xECEA ), // glyphnumber: 2418, Turned common time + std::pair( "timeSigCut2", 0xEC85 ), // glyphnumber: 2419, Cut time (Bach) + std::pair( "timeSigCut3", 0xEC86 ), // glyphnumber: 2420, Cut triple time (9/8) + std::pair( "timeSigCutCommon", 0xE08B ), // glyphnumber: 2421, Cut time + std::pair( "timeSigCutCommonReversed", 0xECFB ), // glyphnumber: 2422, Reversed cut time + std::pair( "timeSigCutCommonTurned", 0xECEB ), // glyphnumber: 2423, Turned cut time + std::pair( "timeSigEquals", 0xE08F ), // glyphnumber: 2424, Time signature equals + std::pair( "timeSigFractionHalf", 0xE098 ), // glyphnumber: 2425, Time signature fraction ½ + std::pair( "timeSigFractionOneThird", 0xE09A ), // glyphnumber: 2426, Time signature fraction ⅓ + std::pair( "timeSigFractionQuarter", 0xE097 ), // glyphnumber: 2427, Time signature fraction ¼ + std::pair( "timeSigFractionThreeQuarters", 0xE099 ), // glyphnumber: 2428, Time signature fraction ¾ + std::pair( "timeSigFractionTwoThirds", 0xE09B ), // glyphnumber: 2429, Time signature fraction ⅔ + std::pair( "timeSigFractionalSlash", 0xE08E ), // glyphnumber: 2430, Time signature fraction slash + std::pair( "timeSigMinus", 0xE090 ), // glyphnumber: 2431, Time signature minus + std::pair( "timeSigMultiply", 0xE091 ), // glyphnumber: 2432, Time signature multiply + std::pair( "timeSigOpenPenderecki", 0xE09D ), // glyphnumber: 2433, Open time signature (Penderecki) + std::pair( "timeSigParensLeft", 0xE094 ), // glyphnumber: 2434, Left parenthesis for whole time signature + std::pair( "timeSigParensLeftSmall", 0xE092 ), // glyphnumber: 2435, Left parenthesis for numerator only + std::pair( "timeSigParensRight", 0xE095 ), // glyphnumber: 2436, Right parenthesis for whole time signature + std::pair( "timeSigParensRightSmall", 0xE093 ), // glyphnumber: 2437, Right parenthesis for numerator only + std::pair( "timeSigPlus", 0xE08C ), // glyphnumber: 2438, Time signature + + std::pair( "timeSigPlusSmall", 0xE08D ), // glyphnumber: 2439, Time signature + (for numerators) + std::pair( "timeSigSlash", 0xEC84 ), // glyphnumber: 2440, Time signature slash separator + std::pair( "timeSigX", 0xE09C ), // glyphnumber: 2441, Open time signature + std::pair( "tremolo1", 0xE220 ), // glyphnumber: 2442, Combining tremolo 1 + std::pair( "tremolo2", 0xE221 ), // glyphnumber: 2443, Combining tremolo 2 + std::pair( "tremolo3", 0xE222 ), // glyphnumber: 2444, Combining tremolo 3 + std::pair( "tremolo4", 0xE223 ), // glyphnumber: 2445, Combining tremolo 4 + std::pair( "tremolo5", 0xE224 ), // glyphnumber: 2446, Combining tremolo 5 + std::pair( "tremoloDivisiDots2", 0xE22E ), // glyphnumber: 2447, Divide measured tremolo by 2 + std::pair( "tremoloDivisiDots3", 0xE22F ), // glyphnumber: 2448, Divide measured tremolo by 3 + std::pair( "tremoloDivisiDots4", 0xE230 ), // glyphnumber: 2449, Divide measured tremolo by 4 + std::pair( "tremoloDivisiDots6", 0xE231 ), // glyphnumber: 2450, Divide measured tremolo by 6 + std::pair( "tremoloFingered1", 0xE225 ), // glyphnumber: 2451, Fingered tremolo 1 + std::pair( "tremoloFingered2", 0xE226 ), // glyphnumber: 2452, Fingered tremolo 2 + std::pair( "tremoloFingered3", 0xE227 ), // glyphnumber: 2453, Fingered tremolo 3 + std::pair( "tremoloFingered4", 0xE228 ), // glyphnumber: 2454, Fingered tremolo 4 + std::pair( "tremoloFingered5", 0xE229 ), // glyphnumber: 2455, Fingered tremolo 5 + std::pair( "tripleTongueAbove", 0xE5F2 ), // glyphnumber: 2456, Triple-tongue above + std::pair( "tripleTongueBelow", 0xE5F3 ), // glyphnumber: 2457, Triple-tongue below + std::pair( "tuplet0", 0xE880 ), // glyphnumber: 2458, Tuplet 0 + std::pair( "tuplet1", 0xE881 ), // glyphnumber: 2459, Tuplet 1 + std::pair( "tuplet2", 0xE882 ), // glyphnumber: 2460, Tuplet 2 + std::pair( "tuplet3", 0xE883 ), // glyphnumber: 2461, Tuplet 3 + std::pair( "tuplet4", 0xE884 ), // glyphnumber: 2462, Tuplet 4 + std::pair( "tuplet5", 0xE885 ), // glyphnumber: 2463, Tuplet 5 + std::pair( "tuplet6", 0xE886 ), // glyphnumber: 2464, Tuplet 6 + std::pair( "tuplet7", 0xE887 ), // glyphnumber: 2465, Tuplet 7 + std::pair( "tuplet8", 0xE888 ), // glyphnumber: 2466, Tuplet 8 + std::pair( "tuplet9", 0xE889 ), // glyphnumber: 2467, Tuplet 9 + std::pair( "tupletColon", 0xE88A ), // glyphnumber: 2468, Tuplet colon + std::pair( "unmeasuredTremolo", 0xE22C ), // glyphnumber: 2469, Wieniawski unmeasured tremolo + std::pair( "unmeasuredTremoloSimple", 0xE22D ), // glyphnumber: 2470, Wieniawski unmeasured tremolo (simpler) + std::pair( "unpitchedPercussionClef1", 0xE069 ), // glyphnumber: 2471, Unpitched percussion clef 1 + std::pair( "unpitchedPercussionClef2", 0xE06A ), // glyphnumber: 2472, Unpitched percussion clef 2 + std::pair( "ventiduesima", 0xE517 ), // glyphnumber: 2473, Ventiduesima + std::pair( "ventiduesimaAlta", 0xE518 ), // glyphnumber: 2474, Ventiduesima alta + std::pair( "ventiduesimaBassa", 0xE519 ), // glyphnumber: 2475, Ventiduesima bassa + std::pair( "ventiduesimaBassaMb", 0xE51E ), // glyphnumber: 2476, Ventiduesima bassa (mb) + std::pair( "vocalFingerClickStockhausen", 0xE649 ), // glyphnumber: 2477, Finger click (Stockhausen) + std::pair( "vocalMouthClosed", 0xE640 ), // glyphnumber: 2478, Mouth closed + std::pair( "vocalMouthOpen", 0xE642 ), // glyphnumber: 2479, Mouth open + std::pair( "vocalMouthPursed", 0xE644 ), // glyphnumber: 2480, Mouth pursed + std::pair( "vocalMouthSlightlyOpen", 0xE641 ), // glyphnumber: 2481, Mouth slightly open + std::pair( "vocalMouthWideOpen", 0xE643 ), // glyphnumber: 2482, Mouth wide open + std::pair( "vocalNasalVoice", 0xE647 ), // glyphnumber: 2483, Nasal voice + std::pair( "vocalSprechgesang", 0xE645 ), // glyphnumber: 2484, Sprechgesang + std::pair( "vocalTongueClickStockhausen", 0xE648 ), // glyphnumber: 2485, Tongue click (Stockhausen) + std::pair( "vocalTongueFingerClickStockhausen", 0xE64A ), // glyphnumber: 2486, Tongue and finger click (Stockhausen) + std::pair( "vocalsSussurando", 0xE646 ), // glyphnumber: 2487, Combining sussurando for stem + std::pair( "wiggleArpeggiatoDown", 0xEAAA ), // glyphnumber: 2488, Arpeggiato wiggle segment, downwards + std::pair( "wiggleArpeggiatoDownArrow", 0xEAAE ), // glyphnumber: 2489, Arpeggiato arrowhead down + std::pair( "wiggleArpeggiatoDownSwash", 0xEAAC ), // glyphnumber: 2490, Arpeggiato downward swash + std::pair( "wiggleArpeggiatoUp", 0xEAA9 ), // glyphnumber: 2491, Arpeggiato wiggle segment, upwards + std::pair( "wiggleArpeggiatoUpArrow", 0xEAAD ), // glyphnumber: 2492, Arpeggiato arrowhead up + std::pair( "wiggleArpeggiatoUpSwash", 0xEAAB ), // glyphnumber: 2493, Arpeggiato upward swash + std::pair( "wiggleCircular", 0xEAC9 ), // glyphnumber: 2494, Circular motion segment + std::pair( "wiggleCircularConstant", 0xEAC0 ), // glyphnumber: 2495, Constant circular motion segment + std::pair( "wiggleCircularConstantFlipped", 0xEAC1 ), // glyphnumber: 2496, Constant circular motion segment (flipped) + std::pair( "wiggleCircularConstantFlippedLarge", 0xEAC3 ), // glyphnumber: 2497, Constant circular motion segment (flipped, large) + std::pair( "wiggleCircularConstantLarge", 0xEAC2 ), // glyphnumber: 2498, Constant circular motion segment (large) + std::pair( "wiggleCircularEnd", 0xEACB ), // glyphnumber: 2499, Circular motion end + std::pair( "wiggleCircularLarge", 0xEAC8 ), // glyphnumber: 2500, Circular motion segment, large + std::pair( "wiggleCircularLarger", 0xEAC7 ), // glyphnumber: 2501, Circular motion segment, larger + std::pair( "wiggleCircularLargerStill", 0xEAC6 ), // glyphnumber: 2502, Circular motion segment, larger still + std::pair( "wiggleCircularLargest", 0xEAC5 ), // glyphnumber: 2503, Circular motion segment, largest + std::pair( "wiggleCircularSmall", 0xEACA ), // glyphnumber: 2504, Circular motion segment, small + std::pair( "wiggleCircularStart", 0xEAC4 ), // glyphnumber: 2505, Circular motion start + std::pair( "wiggleGlissando", 0xEAAF ), // glyphnumber: 2506, Glissando wiggle segment + std::pair( "wiggleGlissandoGroup1", 0xEABD ), // glyphnumber: 2507, Group glissando 1 + std::pair( "wiggleGlissandoGroup2", 0xEABE ), // glyphnumber: 2508, Group glissando 2 + std::pair( "wiggleGlissandoGroup3", 0xEABF ), // glyphnumber: 2509, Group glissando 3 + std::pair( "wiggleRandom1", 0xEAF0 ), // glyphnumber: 2510, Quasi-random squiggle 1 + std::pair( "wiggleRandom2", 0xEAF1 ), // glyphnumber: 2511, Quasi-random squiggle 2 + std::pair( "wiggleRandom3", 0xEAF2 ), // glyphnumber: 2512, Quasi-random squiggle 3 + std::pair( "wiggleRandom4", 0xEAF3 ), // glyphnumber: 2513, Quasi-random squiggle 4 + std::pair( "wiggleSawtooth", 0xEABB ), // glyphnumber: 2514, Sawtooth line segment + std::pair( "wiggleSawtoothNarrow", 0xEABA ), // glyphnumber: 2515, Narrow sawtooth line segment + std::pair( "wiggleSawtoothWide", 0xEABC ), // glyphnumber: 2516, Wide sawtooth line segment + std::pair( "wiggleSquareWave", 0xEAB8 ), // glyphnumber: 2517, Square wave line segment + std::pair( "wiggleSquareWaveNarrow", 0xEAB7 ), // glyphnumber: 2518, Narrow square wave line segment + std::pair( "wiggleSquareWaveWide", 0xEAB9 ), // glyphnumber: 2519, Wide square wave line segment + std::pair( "wiggleTrill", 0xEAA4 ), // glyphnumber: 2520, Trill wiggle segment + std::pair( "wiggleTrillFast", 0xEAA3 ), // glyphnumber: 2521, Trill wiggle segment, fast + std::pair( "wiggleTrillFaster", 0xEAA2 ), // glyphnumber: 2522, Trill wiggle segment, faster + std::pair( "wiggleTrillFasterStill", 0xEAA1 ), // glyphnumber: 2523, Trill wiggle segment, faster still + std::pair( "wiggleTrillFastest", 0xEAA0 ), // glyphnumber: 2524, Trill wiggle segment, fastest + std::pair( "wiggleTrillSlow", 0xEAA5 ), // glyphnumber: 2525, Trill wiggle segment, slow + std::pair( "wiggleTrillSlower", 0xEAA6 ), // glyphnumber: 2526, Trill wiggle segment, slower + std::pair( "wiggleTrillSlowerStill", 0xEAA7 ), // glyphnumber: 2527, Trill wiggle segment, slower still + std::pair( "wiggleTrillSlowest", 0xEAA8 ), // glyphnumber: 2528, Trill wiggle segment, slowest + std::pair( "wiggleVIbratoLargestSlower", 0xEAEE ), // glyphnumber: 2529, Vibrato largest, slower + std::pair( "wiggleVIbratoMediumSlower", 0xEAE0 ), // glyphnumber: 2530, Vibrato medium, slower + std::pair( "wiggleVibrato", 0xEAB0 ), // glyphnumber: 2531, Vibrato / shake wiggle segment + std::pair( "wiggleVibratoLargeFast", 0xEAE5 ), // glyphnumber: 2532, Vibrato large, fast + std::pair( "wiggleVibratoLargeFaster", 0xEAE4 ), // glyphnumber: 2533, Vibrato large, faster + std::pair( "wiggleVibratoLargeFasterStill", 0xEAE3 ), // glyphnumber: 2534, Vibrato large, faster still + std::pair( "wiggleVibratoLargeFastest", 0xEAE2 ), // glyphnumber: 2535, Vibrato large, fastest + std::pair( "wiggleVibratoLargeSlow", 0xEAE6 ), // glyphnumber: 2536, Vibrato large, slow + std::pair( "wiggleVibratoLargeSlower", 0xEAE7 ), // glyphnumber: 2537, Vibrato large, slower + std::pair( "wiggleVibratoLargeSlowest", 0xEAE8 ), // glyphnumber: 2538, Vibrato large, slowest + std::pair( "wiggleVibratoLargestFast", 0xEAEC ), // glyphnumber: 2539, Vibrato largest, fast + std::pair( "wiggleVibratoLargestFaster", 0xEAEB ), // glyphnumber: 2540, Vibrato largest, faster + std::pair( "wiggleVibratoLargestFasterStill", 0xEAEA ), // glyphnumber: 2541, Vibrato largest, faster still + std::pair( "wiggleVibratoLargestFastest", 0xEAE9 ), // glyphnumber: 2542, Vibrato largest, fastest + std::pair( "wiggleVibratoLargestSlow", 0xEAED ), // glyphnumber: 2543, Vibrato largest, slow + std::pair( "wiggleVibratoLargestSlowest", 0xEAEF ), // glyphnumber: 2544, Vibrato largest, slowest + std::pair( "wiggleVibratoMediumFast", 0xEADE ), // glyphnumber: 2545, Vibrato medium, fast + std::pair( "wiggleVibratoMediumFaster", 0xEADD ), // glyphnumber: 2546, Vibrato medium, faster + std::pair( "wiggleVibratoMediumFasterStill", 0xEADC ), // glyphnumber: 2547, Vibrato medium, faster still + std::pair( "wiggleVibratoMediumFastest", 0xEADB ), // glyphnumber: 2548, Vibrato medium, fastest + std::pair( "wiggleVibratoMediumSlow", 0xEADF ), // glyphnumber: 2549, Vibrato medium, slow + std::pair( "wiggleVibratoMediumSlowest", 0xEAE1 ), // glyphnumber: 2550, Vibrato medium, slowest + std::pair( "wiggleVibratoSmallFast", 0xEAD7 ), // glyphnumber: 2551, Vibrato small, fast + std::pair( "wiggleVibratoSmallFaster", 0xEAD6 ), // glyphnumber: 2552, Vibrato small, faster + std::pair( "wiggleVibratoSmallFasterStill", 0xEAD5 ), // glyphnumber: 2553, Vibrato small, faster still + std::pair( "wiggleVibratoSmallFastest", 0xEAD4 ), // glyphnumber: 2554, Vibrato small, fastest + std::pair( "wiggleVibratoSmallSlow", 0xEAD8 ), // glyphnumber: 2555, Vibrato small, slow + std::pair( "wiggleVibratoSmallSlower", 0xEAD9 ), // glyphnumber: 2556, Vibrato small, slower + std::pair( "wiggleVibratoSmallSlowest", 0xEADA ), // glyphnumber: 2557, Vibrato small, slowest + std::pair( "wiggleVibratoSmallestFast", 0xEAD0 ), // glyphnumber: 2558, Vibrato smallest, fast + std::pair( "wiggleVibratoSmallestFaster", 0xEACF ), // glyphnumber: 2559, Vibrato smallest, faster + std::pair( "wiggleVibratoSmallestFasterStill", 0xEACE ), // glyphnumber: 2560, Vibrato smallest, faster still + std::pair( "wiggleVibratoSmallestFastest", 0xEACD ), // glyphnumber: 2561, Vibrato smallest, fastest + std::pair( "wiggleVibratoSmallestSlow", 0xEAD1 ), // glyphnumber: 2562, Vibrato smallest, slow + std::pair( "wiggleVibratoSmallestSlower", 0xEAD2 ), // glyphnumber: 2563, Vibrato smallest, slower + std::pair( "wiggleVibratoSmallestSlowest", 0xEAD3 ), // glyphnumber: 2564, Vibrato smallest, slowest + std::pair( "wiggleVibratoStart", 0xEACC ), // glyphnumber: 2565, Vibrato start + std::pair( "wiggleVibratoWide", 0xEAB1 ), // glyphnumber: 2566, Wide vibrato / shake wiggle segment + std::pair( "wiggleWavy", 0xEAB5 ), // glyphnumber: 2567, Wavy line segment + std::pair( "wiggleWavyNarrow", 0xEAB4 ), // glyphnumber: 2568, Narrow wavy line segment + std::pair( "wiggleWavyWide", 0xEAB6 ), // glyphnumber: 2569, Wide wavy line segment + std::pair( "windClosedHole", 0xE5F4 ), // glyphnumber: 2570, Closed hole + std::pair( "windFlatEmbouchure", 0xE5FB ), // glyphnumber: 2571, Flatter embouchure + std::pair( "windHalfClosedHole1", 0xE5F6 ), // glyphnumber: 2572, Half-closed hole + std::pair( "windHalfClosedHole2", 0xE5F7 ), // glyphnumber: 2573, Half-closed hole 2 + std::pair( "windHalfClosedHole3", 0xE5F8 ), // glyphnumber: 2574, Half-open hole + std::pair( "windLessRelaxedEmbouchure", 0xE5FE ), // glyphnumber: 2575, Somewhat relaxed embouchure + std::pair( "windLessTightEmbouchure", 0xE600 ), // glyphnumber: 2576, Somewhat tight embouchure + std::pair( "windMouthpiecePop", 0xE60A ), // glyphnumber: 2577, Mouthpiece or hand pop + std::pair( "windMultiphonicsBlackStem", 0xE607 ), // glyphnumber: 2578, Combining multiphonics (black) for stem + std::pair( "windMultiphonicsBlackWhiteStem", 0xE609 ), // glyphnumber: 2579, Combining multiphonics (black and white) for stem + std::pair( "windMultiphonicsWhiteStem", 0xE608 ), // glyphnumber: 2580, Combining multiphonics (white) for stem + std::pair( "windOpenHole", 0xE5F9 ), // glyphnumber: 2581, Open hole + std::pair( "windReedPositionIn", 0xE606 ), // glyphnumber: 2582, Much more reed (push inwards) + std::pair( "windReedPositionNormal", 0xE604 ), // glyphnumber: 2583, Normal reed position + std::pair( "windReedPositionOut", 0xE605 ), // glyphnumber: 2584, Very little reed (pull outwards) + std::pair( "windRelaxedEmbouchure", 0xE5FD ), // glyphnumber: 2585, Relaxed embouchure + std::pair( "windRimOnly", 0xE60B ), // glyphnumber: 2586, Rim only + std::pair( "windSharpEmbouchure", 0xE5FC ), // glyphnumber: 2587, Sharper embouchure + std::pair( "windStrongAirPressure", 0xE603 ), // glyphnumber: 2588, Very tight embouchure / strong air pressure + std::pair( "windThreeQuartersClosedHole", 0xE5F5 ), // glyphnumber: 2589, Three-quarters closed hole + std::pair( "windTightEmbouchure", 0xE5FF ), // glyphnumber: 2590, Tight embouchure + std::pair( "windTrillKey", 0xE5FA ), // glyphnumber: 2591, Trill key + std::pair( "windVeryTightEmbouchure", 0xE601 ), // glyphnumber: 2592, Very tight embouchure + std::pair( "windWeakAirPressure", 0xE602 ), // glyphnumber: 2593, Very relaxed embouchure / weak air-pressure + }; + SmuflGlyphname::SmuflGlyphname( std::string inNameAbove, std::string inNameBelow, std::string inNameUnspecified ) @@ -41,21 +2650,23 @@ namespace mx return unspecified; } - - std::map Smufl::ourMap = impl::createSmuflMap(); + Smufl& Smufl::getInstance() + { + static Smufl instance; + return instance; + + } Smufl::Smufl() { - } - char16_t Smufl::findCodepoint(const std::string& inName) { - - const SmuflIter iter = getMap().find( inName ); - if( iter == Smufl::end() ) + const SmuflIter iter = sMap.find( inName ); + if( iter == sMap.cend() ) { + std::cout << "WARN: findCodepoint missing: " << inName << std::endl; return 0; } return iter->second; @@ -71,44 +2682,15 @@ namespace mx return item.second == codepoint; }; - const SmuflIter iter = std::find_if( Smufl::begin(), Smufl::end(), lambda ); + const SmuflIter iter = std::find_if( sMap.cbegin(), sMap.cend(), lambda ); - if( iter == Smufl::end() ) + if( iter == sMap.cend() ) { + std::cout << "WARN: findName missing: " << codepoint << std::endl; return empty; } return iter->first; } - - - bool Smufl::isNameValid(const std::string& inName) - { - return Smufl::findCodepoint( inName ) != 0; - } - - - bool Smufl::isCodepointValid( char16_t codepoint ) - { - return Smufl::findName( codepoint ).size() > 0; - } - - - const SmuflMap& Smufl::getMap() - { - return ourMap; - } - - - SmuflIter Smufl::begin() - { - return getMap().cbegin(); - } - - - SmuflIter Smufl::end() - { - return getMap().cend(); - } } } diff --git a/Sourcecode/mx/api/Smufl.h b/Sourcecode/mx/api/Smufl.h index 2db1f6633..b72d27bae 100644 --- a/Sourcecode/mx/api/Smufl.h +++ b/Sourcecode/mx/api/Smufl.h @@ -7,17 +7,12 @@ #include "mx/api/ApiCommon.h" #include -#include +#include namespace mx { namespace api - { - using SmuflPair = std::pair; - using SmuflMap = std::map; - using SmuflIter = SmuflMap::const_iterator; - - + { struct SmuflGlyphname { SmuflGlyphname( std::string inNameAbove, @@ -38,6 +33,8 @@ namespace mx public: + static Smufl& getInstance(); + // returns the SMuFL codepoint value for the given name // returns 0 (i.e. '\0';) if not found static char16_t findCodepoint(const std::string& inName); @@ -45,24 +42,9 @@ namespace mx // finds the SMuFL glyphname for the given codepoint // returns empty string if codepoint is not found static const std::string& findName( char16_t codepoint ); - - // returns 'true' if the given name is found in the table - static bool isNameValid(const std::string& inName); - - // returns 'true' if the given codepoint is found - // in the table. ignores alternateCodepoint values - static bool isCodepointValid( char16_t codepoint ); - - // returns an immutable ref to the map - static const SmuflMap& getMap(); - - // returns cbegin() / cend() - static SmuflIter begin(); - static SmuflIter end(); - + private: Smufl(); - static std::map ourMap; }; } } diff --git a/Sourcecode/mx/impl/MeasureWriter.cpp b/Sourcecode/mx/impl/MeasureWriter.cpp index c70706d06..cdeff91d8 100644 --- a/Sourcecode/mx/impl/MeasureWriter.cpp +++ b/Sourcecode/mx/impl/MeasureWriter.cpp @@ -431,7 +431,9 @@ namespace mx } // foreach voice std::vector fakeEmptyNoteVector; - writeDirections( directionIter, directionEnd, std::cend(fakeEmptyNoteVector), std::cbegin(fakeEmptyNoteVector), std::cend(fakeEmptyNoteVector) ); + const auto iterBegin = std::cbegin(fakeEmptyNoteVector); + const auto iterEnd = std::cend(fakeEmptyNoteVector); + writeDirections( directionIter, directionEnd, iterEnd, iterBegin, iterEnd ); bool areClefsRemaining = clefIter != clefEnd; bool areMeasureKeysRemaining = myMeasureKeysIter != myMeasureKeysEnd; @@ -571,7 +573,11 @@ namespace mx } - void MeasureWriter::writeDirections( dIter& directionIter, const dIter& directionEnd, const NoteIter& inNoteIter, const NoteIter& inNotesBegin, const NoteIter& inNotesEnd ) + void MeasureWriter::writeDirections(dIter& directionIter, + const dIter& directionEnd, + const NoteIter& inNoteIter, + const NoteIter& inNotesBegin, + const NoteIter& inNotesEnd ) { if( directionIter == directionEnd ) { @@ -579,11 +585,12 @@ namespace mx } const bool isNotesEnd = inNoteIter == inNotesEnd; - const bool isLastNote = !isNotesEnd && ( inNoteIter + 1 == inNotesEnd ); + const bool isLastNote = isNotesEnd || ( inNoteIter + 1 == inNotesEnd ); const bool isFirstNote = !isLastNote && !isNotesEnd && ( inNoteIter == inNotesBegin ); - const auto previousNote = isFirstNote ? inNotesEnd : ( inNoteIter - 1 ); + const bool isOnlyNote = inNoteIter == inNotesBegin && isLastNote; + const auto previousNote = ( isFirstNote || isOnlyNote ) ? inNotesEnd : ( inNoteIter - 1 ); const auto nextNote = ( isLastNote || isNotesEnd ) ? inNotesEnd : ( inNoteIter + 1 ); - const bool isTickTimeSameAsPreviousNote = ( isFirstNote || isNotesEnd ) ? false : ( inNoteIter->tickTimePosition == previousNote->tickTimePosition ); + const bool isTickTimeSameAsPreviousNote = ( isFirstNote || isOnlyNote || isNotesEnd ) ? false : ( inNoteIter->tickTimePosition == previousNote->tickTimePosition ); const bool isIndependentNote = !isTickTimeSameAsPreviousNote; if( isFirstNote ) diff --git a/Sourcecode/mx/impl/SmuflGlyphMap.h b/Sourcecode/mx/impl/SmuflGlyphMap.h index 57df5089c..d164d0691 100644 --- a/Sourcecode/mx/impl/SmuflGlyphMap.h +++ b/Sourcecode/mx/impl/SmuflGlyphMap.h @@ -5,15 +5,14 @@ #pragma once #include -#include +#include namespace mx { namespace impl { - inline std::map createSmuflMap() + inline void createSmuflMap(std::map& outMap) { - std::map outMap; outMap.emplace(std::make_pair( "4stringTabClef", 0xE06E )); // glyphnumber: 0, 4-string tab clef outMap.emplace(std::make_pair( "6stringTabClef", 0xE06D )); // glyphnumber: 1, 6-string tab clef outMap.emplace(std::make_pair( "accSagittal11LargeDiesisDown", 0xE30D )); // glyphnumber: 2, 11 large diesis down, 3° down [46 EDO] @@ -2608,7 +2607,6 @@ namespace mx outMap.emplace(std::make_pair( "windTrillKey", 0xE5FA )); // glyphnumber: 2591, Trill key outMap.emplace(std::make_pair( "windVeryTightEmbouchure", 0xE601 )); // glyphnumber: 2592, Very tight embouchure outMap.emplace(std::make_pair( "windWeakAirPressure", 0xE602 )); // glyphnumber: 2593, Very relaxed embouchure / weak air-pressure - return outMap; } } } diff --git a/Xcode/Mx.xcodeproj/project.pbxproj b/Xcode/Mx.xcodeproj/project.pbxproj index a11833e6c..c7595d9c7 100755 --- a/Xcode/Mx.xcodeproj/project.pbxproj +++ b/Xcode/Mx.xcodeproj/project.pbxproj @@ -10,8 +10,6 @@ 2948959B1FC4011400A06219 /* AppearanceData.h in Headers */ = {isa = PBXBuildFile; fileRef = 294895991FC4011400A06219 /* AppearanceData.h */; }; 2948959C1FC4011400A06219 /* AppearanceData.h in Headers */ = {isa = PBXBuildFile; fileRef = 294895991FC4011400A06219 /* AppearanceData.h */; }; 2948959D1FC4011400A06219 /* AppearanceData.h in Headers */ = {isa = PBXBuildFile; fileRef = 294895991FC4011400A06219 /* AppearanceData.h */; }; - 2948959E1FC4011400A06219 /* AppearanceData.h in Headers */ = {isa = PBXBuildFile; fileRef = 294895991FC4011400A06219 /* AppearanceData.h */; }; - 2948959F1FC4011400A06219 /* AppearanceData.h in Headers */ = {isa = PBXBuildFile; fileRef = 294895991FC4011400A06219 /* AppearanceData.h */; }; 294895A01FC4011400A06219 /* AppearanceData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2948959A1FC4011400A06219 /* AppearanceData.cpp */; }; 294895A11FC4011400A06219 /* AppearanceData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2948959A1FC4011400A06219 /* AppearanceData.cpp */; }; 294895A21FC4011400A06219 /* AppearanceData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2948959A1FC4011400A06219 /* AppearanceData.cpp */; }; @@ -25,13 +23,9 @@ 297594541F044C7600DE2F30 /* ChordData.h in Headers */ = {isa = PBXBuildFile; fileRef = 2975944E1F044C7600DE2F30 /* ChordData.h */; }; 297594551F044C7600DE2F30 /* ChordData.h in Headers */ = {isa = PBXBuildFile; fileRef = 2975944E1F044C7600DE2F30 /* ChordData.h */; }; 297594561F044C7600DE2F30 /* ChordData.h in Headers */ = {isa = PBXBuildFile; fileRef = 2975944E1F044C7600DE2F30 /* ChordData.h */; }; - 297594571F044C7600DE2F30 /* ChordData.h in Headers */ = {isa = PBXBuildFile; fileRef = 2975944E1F044C7600DE2F30 /* ChordData.h */; }; - 297594581F044C7600DE2F30 /* ChordData.h in Headers */ = {isa = PBXBuildFile; fileRef = 2975944E1F044C7600DE2F30 /* ChordData.h */; }; 29A02E791FE0F71A00B74FDE /* Version.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A02E771FE0F71A00B74FDE /* Version.h */; }; 29A02E7A1FE0F71A00B74FDE /* Version.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A02E771FE0F71A00B74FDE /* Version.h */; }; 29A02E7B1FE0F71A00B74FDE /* Version.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A02E771FE0F71A00B74FDE /* Version.h */; }; - 29A02E7C1FE0F71A00B74FDE /* Version.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A02E771FE0F71A00B74FDE /* Version.h */; }; - 29A02E7D1FE0F71A00B74FDE /* Version.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A02E771FE0F71A00B74FDE /* Version.h */; }; 29A02E7E1FE0F71A00B74FDE /* Version.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A02E781FE0F71A00B74FDE /* Version.cpp */; }; 29A02E7F1FE0F71A00B74FDE /* Version.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A02E781FE0F71A00B74FDE /* Version.cpp */; }; 29A02E801FE0F71A00B74FDE /* Version.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A02E781FE0F71A00B74FDE /* Version.cpp */; }; @@ -146,8 +140,6 @@ 29A800691EF0876500AD2478 /* SoundID.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A800631EF0876500AD2478 /* SoundID.h */; }; 29A8006A1EF0876500AD2478 /* SoundID.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A800631EF0876500AD2478 /* SoundID.h */; }; 29A8006B1EF0876500AD2478 /* SoundID.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A800631EF0876500AD2478 /* SoundID.h */; }; - 29A8006C1EF0876500AD2478 /* SoundID.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A800631EF0876500AD2478 /* SoundID.h */; }; - 29A8006D1EF0876500AD2478 /* SoundID.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A800631EF0876500AD2478 /* SoundID.h */; }; 29A8E2D31EF0476300AD2478 /* ClefData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD5C1EF0475D00AD2478 /* ClefData.cpp */; }; 29A8E2D41EF0476300AD2478 /* ClefData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD5C1EF0475D00AD2478 /* ClefData.cpp */; }; 29A8E2D51EF0476300AD2478 /* ClefData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD5C1EF0475D00AD2478 /* ClefData.cpp */; }; @@ -2792,7 +2784,6 @@ 29A8FDAA1EF0476F00AD2478 /* XFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2C01EF0476300AD2478 /* XFactory.cpp */; }; 29A8FDAB1EF0476F00AD2478 /* XFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2C01EF0476300AD2478 /* XFactory.cpp */; }; 29A8FDAC1EF0476F00AD2478 /* XFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E2C01EF0476300AD2478 /* XFactory.cpp */; }; - 29A8FDC61EF0497500AD2478 /* MxmacOS.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8FDC41EF0497500AD2478 /* MxmacOS.h */; settings = {ATTRIBUTES = (Public, ); }; }; 29A8FDCA1EF0499200AD2478 /* ClefData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD5C1EF0475D00AD2478 /* ClefData.cpp */; }; 29A8FDCB1EF0499200AD2478 /* DocumentManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD611EF0475D00AD2478 /* DocumentManager.cpp */; }; 29A8FDCC1EF0499200AD2478 /* DurationData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8DD631EF0475D00AD2478 /* DurationData.cpp */; }; @@ -3358,7 +3349,7 @@ 29A8FFFD1EF0499300AD2478 /* TouchingPitch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1DB1EF0476100AD2478 /* TouchingPitch.cpp */; }; 29A8FFFE1EF0499300AD2478 /* TraditionalKey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1DD1EF0476200AD2478 /* TraditionalKey.cpp */; }; 29A8FFFF1EF0499300AD2478 /* Transpose.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8E1DF1EF0476200AD2478 /* Transpose.cpp */; }; - 29B962851E79FF410072071D /* MxiOS.h in Headers */ = {isa = PBXBuildFile; fileRef = 29B962831E79FF410072071D /* MxiOS.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 29B962851E79FF410072071D /* MxiOS.h in Headers */ = {isa = PBXBuildFile; fileRef = 29B962831E79FF410072071D /* MxiOS.h */; }; 29E7633B205E2DEE00B754D5 /* LyricType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E76339205E2DEE00B754D5 /* LyricType.cpp */; }; 29E7633C205E2DEE00B754D5 /* LyricType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E76339205E2DEE00B754D5 /* LyricType.cpp */; }; 29E7633D205E2DEE00B754D5 /* LyricType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29E76339205E2DEE00B754D5 /* LyricType.cpp */; }; @@ -3367,8 +3358,6 @@ 29E76340205E2DEE00B754D5 /* LyricType.h in Headers */ = {isa = PBXBuildFile; fileRef = 29E7633A205E2DEE00B754D5 /* LyricType.h */; }; 29E76341205E2DEE00B754D5 /* LyricType.h in Headers */ = {isa = PBXBuildFile; fileRef = 29E7633A205E2DEE00B754D5 /* LyricType.h */; }; 29E76342205E2DEE00B754D5 /* LyricType.h in Headers */ = {isa = PBXBuildFile; fileRef = 29E7633A205E2DEE00B754D5 /* LyricType.h */; }; - 29E76343205E2DEE00B754D5 /* LyricType.h in Headers */ = {isa = PBXBuildFile; fileRef = 29E7633A205E2DEE00B754D5 /* LyricType.h */; }; - 29E76344205E2DEE00B754D5 /* LyricType.h in Headers */ = {isa = PBXBuildFile; fileRef = 29E7633A205E2DEE00B754D5 /* LyricType.h */; }; 29EAD73B1F0EA96B00BDE782 /* ProcessingInstruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EAD7391F0EA96B00BDE782 /* ProcessingInstruction.cpp */; }; 29EAD73C1F0EA96B00BDE782 /* ProcessingInstruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EAD7391F0EA96B00BDE782 /* ProcessingInstruction.cpp */; }; 29EAD73D1F0EA96B00BDE782 /* ProcessingInstruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29EAD7391F0EA96B00BDE782 /* ProcessingInstruction.cpp */; }; @@ -3382,10 +3371,281 @@ 29EAD74D1F0EF8CE00BDE782 /* MiscData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29EAD7471F0EF8CE00BDE782 /* MiscData.h */; }; 29EAD74E1F0EF8CE00BDE782 /* MiscData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29EAD7471F0EF8CE00BDE782 /* MiscData.h */; }; 29EAD74F1F0EF8CE00BDE782 /* MiscData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29EAD7471F0EF8CE00BDE782 /* MiscData.h */; }; - 29EAD7501F0EF8CE00BDE782 /* MiscData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29EAD7471F0EF8CE00BDE782 /* MiscData.h */; }; - 29EAD7511F0EF8CE00BDE782 /* MiscData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29EAD7471F0EF8CE00BDE782 /* MiscData.h */; }; + E24C0143209D07E200CCCF7C /* ApiCommon.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD591EF0475D00AD2478 /* ApiCommon.h */; }; + E24C0144209D07E200CCCF7C /* ApiEquality.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD5A1EF0475D00AD2478 /* ApiEquality.h */; }; + E24C0145209D07E200CCCF7C /* BarlineData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD5B1EF0475D00AD2478 /* BarlineData.h */; }; + E24C0146209D07E200CCCF7C /* ChordData.h in Headers */ = {isa = PBXBuildFile; fileRef = 2975944E1F044C7600DE2F30 /* ChordData.h */; }; + E24C0147209D07E200CCCF7C /* ClefData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD5D1EF0475D00AD2478 /* ClefData.h */; }; + E24C0148209D07E200CCCF7C /* ColorData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD5E1EF0475D00AD2478 /* ColorData.h */; }; + E24C0149209D07E200CCCF7C /* CurveData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD5F1EF0475D00AD2478 /* CurveData.h */; }; + E24C014A209D07E200CCCF7C /* DirectionData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD601EF0475D00AD2478 /* DirectionData.h */; }; + E24C014B209D07E200CCCF7C /* DocumentManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD621EF0475D00AD2478 /* DocumentManager.h */; }; + E24C014C209D07E200CCCF7C /* DurationData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD641EF0475D00AD2478 /* DurationData.h */; }; + E24C014D209D07E200CCCF7C /* EncodingData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD651EF0475D00AD2478 /* EncodingData.h */; }; + E24C014E209D07E200CCCF7C /* FontData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD661EF0475D00AD2478 /* FontData.h */; }; + E24C014F209D07E200CCCF7C /* KeyData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD671EF0475D00AD2478 /* KeyData.h */; }; + E24C0150209D07E200CCCF7C /* LayoutData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD681EF0475D00AD2478 /* LayoutData.h */; }; + E24C0151209D07E200CCCF7C /* LineData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD691EF0475D00AD2478 /* LineData.h */; }; + E24C0152209D07E200CCCF7C /* MarkData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD6B1EF0475D00AD2478 /* MarkData.h */; }; + E24C0153209D07E200CCCF7C /* MeasureData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD6C1EF0475D00AD2478 /* MeasureData.h */; }; + E24C0154209D07E200CCCF7C /* MeasureLocation.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD6E1EF0475D00AD2478 /* MeasureLocation.h */; }; + E24C0155209D07E200CCCF7C /* MiscData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29EAD7471F0EF8CE00BDE782 /* MiscData.h */; }; + E24C0156209D07E200CCCF7C /* NoteAttachmentData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD6F1EF0475D00AD2478 /* NoteAttachmentData.h */; }; + E24C0157209D07E200CCCF7C /* NoteData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD711EF0475D00AD2478 /* NoteData.h */; }; + E24C0158209D07E200CCCF7C /* OttavaData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD721EF0475D00AD2478 /* OttavaData.h */; }; + E24C0159209D07E200CCCF7C /* PageTextData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD731EF0475D00AD2478 /* PageTextData.h */; }; + E24C015A209D07E200CCCF7C /* PartData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD741EF0475D00AD2478 /* PartData.h */; }; + E24C015B209D07E200CCCF7C /* PartGroupData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD751EF0475D00AD2478 /* PartGroupData.h */; }; + E24C015C209D07E200CCCF7C /* PitchData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD771EF0475D00AD2478 /* PitchData.h */; }; + E24C015D209D07E200CCCF7C /* PositionData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD781EF0475D00AD2478 /* PositionData.h */; }; + E24C015E209D07E200CCCF7C /* PrintData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD791EF0475D00AD2478 /* PrintData.h */; }; + E24C015F209D07E200CCCF7C /* ScoreData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD7B1EF0475D00AD2478 /* ScoreData.h */; }; + E24C0160209D07E200CCCF7C /* Smufl.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD7D1EF0475D00AD2478 /* Smufl.h */; }; + E24C0161209D07E200CCCF7C /* SoundID.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A800631EF0876500AD2478 /* SoundID.h */; }; + E24C0162209D07E200CCCF7C /* SpannerData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD7E1EF0475D00AD2478 /* SpannerData.h */; }; + E24C0163209D07E200CCCF7C /* StaffData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD7F1EF0475D00AD2478 /* StaffData.h */; }; + E24C0164209D07E200CCCF7C /* SystemData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD801EF0475D00AD2478 /* SystemData.h */; }; + E24C0165209D07E200CCCF7C /* TempoData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD811EF0475D00AD2478 /* TempoData.h */; }; + E24C0166209D07E200CCCF7C /* TimeSignatureData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD821EF0475D00AD2478 /* TimeSignatureData.h */; }; + E24C0167209D07E200CCCF7C /* TupletData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD831EF0475D00AD2478 /* TupletData.h */; }; + E24C0168209D07E200CCCF7C /* Version.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A02E771FE0F71A00B74FDE /* Version.h */; }; + E24C0169209D07E200CCCF7C /* VoiceData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD841EF0475D00AD2478 /* VoiceData.h */; }; + E24C016A209D07E200CCCF7C /* WedgeData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD851EF0475D00AD2478 /* WedgeData.h */; }; + E24C016B209D07E200CCCF7C /* WordsData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD871EF0475D00AD2478 /* WordsData.h */; }; + E24C016C209D07E200CCCF7C /* AppearanceData.h in Headers */ = {isa = PBXBuildFile; fileRef = 294895991FC4011400A06219 /* AppearanceData.h */; }; + E24C016D209D07E200CCCF7C /* ApiCommon.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD591EF0475D00AD2478 /* ApiCommon.h */; }; + E24C016E209D07E200CCCF7C /* ApiEquality.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD5A1EF0475D00AD2478 /* ApiEquality.h */; }; + E24C016F209D07E200CCCF7C /* BarlineData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD5B1EF0475D00AD2478 /* BarlineData.h */; }; + E24C0170209D07E200CCCF7C /* ChordData.h in Headers */ = {isa = PBXBuildFile; fileRef = 2975944E1F044C7600DE2F30 /* ChordData.h */; }; + E24C0171209D07E200CCCF7C /* ClefData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD5D1EF0475D00AD2478 /* ClefData.h */; }; + E24C0172209D07E200CCCF7C /* ColorData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD5E1EF0475D00AD2478 /* ColorData.h */; }; + E24C0173209D07E200CCCF7C /* CurveData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD5F1EF0475D00AD2478 /* CurveData.h */; }; + E24C0174209D07E200CCCF7C /* DirectionData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD601EF0475D00AD2478 /* DirectionData.h */; }; + E24C0175209D07E200CCCF7C /* DocumentManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD621EF0475D00AD2478 /* DocumentManager.h */; }; + E24C0176209D07E200CCCF7C /* DurationData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD641EF0475D00AD2478 /* DurationData.h */; }; + E24C0177209D07E200CCCF7C /* EncodingData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD651EF0475D00AD2478 /* EncodingData.h */; }; + E24C0178209D07E200CCCF7C /* FontData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD661EF0475D00AD2478 /* FontData.h */; }; + E24C0179209D07E200CCCF7C /* KeyData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD671EF0475D00AD2478 /* KeyData.h */; }; + E24C017A209D07E200CCCF7C /* LayoutData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD681EF0475D00AD2478 /* LayoutData.h */; }; + E24C017B209D07E300CCCF7C /* LineData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD691EF0475D00AD2478 /* LineData.h */; }; + E24C017C209D07E300CCCF7C /* MarkData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD6B1EF0475D00AD2478 /* MarkData.h */; }; + E24C017D209D07E300CCCF7C /* MeasureData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD6C1EF0475D00AD2478 /* MeasureData.h */; }; + E24C017E209D07E300CCCF7C /* MeasureLocation.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD6E1EF0475D00AD2478 /* MeasureLocation.h */; }; + E24C017F209D07E300CCCF7C /* MiscData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29EAD7471F0EF8CE00BDE782 /* MiscData.h */; }; + E24C0180209D07E300CCCF7C /* NoteAttachmentData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD6F1EF0475D00AD2478 /* NoteAttachmentData.h */; }; + E24C0181209D07E300CCCF7C /* NoteData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD711EF0475D00AD2478 /* NoteData.h */; }; + E24C0182209D07E300CCCF7C /* OttavaData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD721EF0475D00AD2478 /* OttavaData.h */; }; + E24C0183209D07E300CCCF7C /* PageTextData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD731EF0475D00AD2478 /* PageTextData.h */; }; + E24C0184209D07E300CCCF7C /* PartData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD741EF0475D00AD2478 /* PartData.h */; }; + E24C0185209D07E300CCCF7C /* PartGroupData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD751EF0475D00AD2478 /* PartGroupData.h */; }; + E24C0186209D07E300CCCF7C /* PitchData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD771EF0475D00AD2478 /* PitchData.h */; }; + E24C0187209D07E300CCCF7C /* PositionData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD781EF0475D00AD2478 /* PositionData.h */; }; + E24C0188209D07E300CCCF7C /* PrintData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD791EF0475D00AD2478 /* PrintData.h */; }; + E24C0189209D07E300CCCF7C /* ScoreData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD7B1EF0475D00AD2478 /* ScoreData.h */; }; + E24C018A209D07E300CCCF7C /* Smufl.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD7D1EF0475D00AD2478 /* Smufl.h */; }; + E24C018B209D07E300CCCF7C /* SoundID.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A800631EF0876500AD2478 /* SoundID.h */; }; + E24C018C209D07E300CCCF7C /* SpannerData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD7E1EF0475D00AD2478 /* SpannerData.h */; }; + E24C018D209D07E300CCCF7C /* StaffData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD7F1EF0475D00AD2478 /* StaffData.h */; }; + E24C018E209D07E300CCCF7C /* SystemData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD801EF0475D00AD2478 /* SystemData.h */; }; + E24C018F209D07E300CCCF7C /* TempoData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD811EF0475D00AD2478 /* TempoData.h */; }; + E24C0190209D07E300CCCF7C /* TimeSignatureData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD821EF0475D00AD2478 /* TimeSignatureData.h */; }; + E24C0191209D07E300CCCF7C /* TupletData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD831EF0475D00AD2478 /* TupletData.h */; }; + E24C0192209D07E300CCCF7C /* Version.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A02E771FE0F71A00B74FDE /* Version.h */; }; + E24C0193209D07E300CCCF7C /* VoiceData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD841EF0475D00AD2478 /* VoiceData.h */; }; + E24C0194209D07E300CCCF7C /* WedgeData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD851EF0475D00AD2478 /* WedgeData.h */; }; + E24C0195209D07E300CCCF7C /* WordsData.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A8DD871EF0475D00AD2478 /* WordsData.h */; }; + E24C0196209D07E300CCCF7C /* AppearanceData.h in Headers */ = {isa = PBXBuildFile; fileRef = 294895991FC4011400A06219 /* AppearanceData.h */; }; + E24C019A209D0C1400CCCF7C /* ApiCommon.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD591EF0475D00AD2478 /* ApiCommon.h */; }; + E24C019B209D0C1400CCCF7C /* ApiEquality.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD5A1EF0475D00AD2478 /* ApiEquality.h */; }; + E24C019C209D0C1400CCCF7C /* BarlineData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD5B1EF0475D00AD2478 /* BarlineData.h */; }; + E24C019D209D0C1400CCCF7C /* ChordData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 2975944E1F044C7600DE2F30 /* ChordData.h */; }; + E24C019E209D0C1400CCCF7C /* ClefData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD5D1EF0475D00AD2478 /* ClefData.h */; }; + E24C019F209D0C1400CCCF7C /* ColorData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD5E1EF0475D00AD2478 /* ColorData.h */; }; + E24C01A0209D0C1400CCCF7C /* CurveData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD5F1EF0475D00AD2478 /* CurveData.h */; }; + E24C01A1209D0C1400CCCF7C /* DirectionData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD601EF0475D00AD2478 /* DirectionData.h */; }; + E24C01A2209D0C1400CCCF7C /* DocumentManager.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD621EF0475D00AD2478 /* DocumentManager.h */; }; + E24C01A3209D0C1400CCCF7C /* DurationData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD641EF0475D00AD2478 /* DurationData.h */; }; + E24C01A4209D0C1400CCCF7C /* EncodingData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD651EF0475D00AD2478 /* EncodingData.h */; }; + E24C01A5209D0C1400CCCF7C /* FontData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD661EF0475D00AD2478 /* FontData.h */; }; + E24C01A6209D0C1400CCCF7C /* KeyData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD671EF0475D00AD2478 /* KeyData.h */; }; + E24C01A7209D0C1400CCCF7C /* LayoutData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD681EF0475D00AD2478 /* LayoutData.h */; }; + E24C01A8209D0C1400CCCF7C /* LineData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD691EF0475D00AD2478 /* LineData.h */; }; + E24C01A9209D0C1400CCCF7C /* MarkData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD6B1EF0475D00AD2478 /* MarkData.h */; }; + E24C01AA209D0C1400CCCF7C /* MeasureData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD6C1EF0475D00AD2478 /* MeasureData.h */; }; + E24C01AB209D0C1400CCCF7C /* MeasureLocation.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD6E1EF0475D00AD2478 /* MeasureLocation.h */; }; + E24C01AC209D0C1400CCCF7C /* MiscData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29EAD7471F0EF8CE00BDE782 /* MiscData.h */; }; + E24C01AD209D0C1400CCCF7C /* NoteAttachmentData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD6F1EF0475D00AD2478 /* NoteAttachmentData.h */; }; + E24C01AE209D0C1400CCCF7C /* NoteData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD711EF0475D00AD2478 /* NoteData.h */; }; + E24C01AF209D0C1400CCCF7C /* OttavaData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD721EF0475D00AD2478 /* OttavaData.h */; }; + E24C01B0209D0C1400CCCF7C /* PageTextData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD731EF0475D00AD2478 /* PageTextData.h */; }; + E24C01B1209D0C1400CCCF7C /* PartData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD741EF0475D00AD2478 /* PartData.h */; }; + E24C01B2209D0C1400CCCF7C /* PartGroupData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD751EF0475D00AD2478 /* PartGroupData.h */; }; + E24C01B3209D0C1400CCCF7C /* PitchData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD771EF0475D00AD2478 /* PitchData.h */; }; + E24C01B4209D0C1400CCCF7C /* PositionData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD781EF0475D00AD2478 /* PositionData.h */; }; + E24C01B5209D0C1400CCCF7C /* PrintData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD791EF0475D00AD2478 /* PrintData.h */; }; + E24C01B6209D0C1400CCCF7C /* ScoreData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD7B1EF0475D00AD2478 /* ScoreData.h */; }; + E24C01B7209D0C1400CCCF7C /* Smufl.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD7D1EF0475D00AD2478 /* Smufl.h */; }; + E24C01B8209D0C1400CCCF7C /* SoundID.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A800631EF0876500AD2478 /* SoundID.h */; }; + E24C01B9209D0C1400CCCF7C /* SpannerData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD7E1EF0475D00AD2478 /* SpannerData.h */; }; + E24C01BA209D0C1400CCCF7C /* StaffData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD7F1EF0475D00AD2478 /* StaffData.h */; }; + E24C01BB209D0C1400CCCF7C /* SystemData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD801EF0475D00AD2478 /* SystemData.h */; }; + E24C01BC209D0C1400CCCF7C /* TempoData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD811EF0475D00AD2478 /* TempoData.h */; }; + E24C01BD209D0C1400CCCF7C /* TimeSignatureData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD821EF0475D00AD2478 /* TimeSignatureData.h */; }; + E24C01BE209D0C1400CCCF7C /* TupletData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD831EF0475D00AD2478 /* TupletData.h */; }; + E24C01BF209D0C1400CCCF7C /* Version.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A02E771FE0F71A00B74FDE /* Version.h */; }; + E24C01C0209D0C1400CCCF7C /* VoiceData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD841EF0475D00AD2478 /* VoiceData.h */; }; + E24C01C1209D0C1400CCCF7C /* WedgeData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD851EF0475D00AD2478 /* WedgeData.h */; }; + E24C01C2209D0C1400CCCF7C /* WordsData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD871EF0475D00AD2478 /* WordsData.h */; }; + E24C01C3209D0C1400CCCF7C /* AppearanceData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 294895991FC4011400A06219 /* AppearanceData.h */; }; + E24C01C5209D0C4D00CCCF7C /* ApiCommon.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD591EF0475D00AD2478 /* ApiCommon.h */; }; + E24C01C6209D0C4D00CCCF7C /* ApiEquality.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD5A1EF0475D00AD2478 /* ApiEquality.h */; }; + E24C01C7209D0C4D00CCCF7C /* BarlineData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD5B1EF0475D00AD2478 /* BarlineData.h */; }; + E24C01C8209D0C4D00CCCF7C /* ChordData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 2975944E1F044C7600DE2F30 /* ChordData.h */; }; + E24C01C9209D0C4D00CCCF7C /* ClefData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD5D1EF0475D00AD2478 /* ClefData.h */; }; + E24C01CA209D0C4D00CCCF7C /* ColorData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD5E1EF0475D00AD2478 /* ColorData.h */; }; + E24C01CB209D0C4D00CCCF7C /* CurveData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD5F1EF0475D00AD2478 /* CurveData.h */; }; + E24C01CC209D0C4D00CCCF7C /* DirectionData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD601EF0475D00AD2478 /* DirectionData.h */; }; + E24C01CD209D0C4D00CCCF7C /* DocumentManager.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD621EF0475D00AD2478 /* DocumentManager.h */; }; + E24C01CE209D0C4D00CCCF7C /* DurationData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD641EF0475D00AD2478 /* DurationData.h */; }; + E24C01CF209D0C4D00CCCF7C /* EncodingData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD651EF0475D00AD2478 /* EncodingData.h */; }; + E24C01D0209D0C4D00CCCF7C /* FontData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD661EF0475D00AD2478 /* FontData.h */; }; + E24C01D1209D0C4D00CCCF7C /* KeyData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD671EF0475D00AD2478 /* KeyData.h */; }; + E24C01D2209D0C4D00CCCF7C /* LayoutData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD681EF0475D00AD2478 /* LayoutData.h */; }; + E24C01D3209D0C4D00CCCF7C /* LineData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD691EF0475D00AD2478 /* LineData.h */; }; + E24C01D4209D0C4D00CCCF7C /* MarkData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD6B1EF0475D00AD2478 /* MarkData.h */; }; + E24C01D5209D0C4D00CCCF7C /* MeasureData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD6C1EF0475D00AD2478 /* MeasureData.h */; }; + E24C01D6209D0C4D00CCCF7C /* MeasureLocation.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD6E1EF0475D00AD2478 /* MeasureLocation.h */; }; + E24C01D7209D0C4D00CCCF7C /* MiscData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29EAD7471F0EF8CE00BDE782 /* MiscData.h */; }; + E24C01D8209D0C4D00CCCF7C /* NoteAttachmentData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD6F1EF0475D00AD2478 /* NoteAttachmentData.h */; }; + E24C01D9209D0C4D00CCCF7C /* NoteData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD711EF0475D00AD2478 /* NoteData.h */; }; + E24C01DA209D0C4D00CCCF7C /* OttavaData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD721EF0475D00AD2478 /* OttavaData.h */; }; + E24C01DB209D0C4D00CCCF7C /* PageTextData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD731EF0475D00AD2478 /* PageTextData.h */; }; + E24C01DC209D0C4D00CCCF7C /* PartData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD741EF0475D00AD2478 /* PartData.h */; }; + E24C01DD209D0C4D00CCCF7C /* PartGroupData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD751EF0475D00AD2478 /* PartGroupData.h */; }; + E24C01DE209D0C4D00CCCF7C /* PitchData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD771EF0475D00AD2478 /* PitchData.h */; }; + E24C01DF209D0C4D00CCCF7C /* PositionData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD781EF0475D00AD2478 /* PositionData.h */; }; + E24C01E0209D0C4D00CCCF7C /* PrintData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD791EF0475D00AD2478 /* PrintData.h */; }; + E24C01E1209D0C4D00CCCF7C /* ScoreData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD7B1EF0475D00AD2478 /* ScoreData.h */; }; + E24C01E2209D0C4D00CCCF7C /* Smufl.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD7D1EF0475D00AD2478 /* Smufl.h */; }; + E24C01E3209D0C4D00CCCF7C /* SoundID.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A800631EF0876500AD2478 /* SoundID.h */; }; + E24C01E4209D0C4D00CCCF7C /* SpannerData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD7E1EF0475D00AD2478 /* SpannerData.h */; }; + E24C01E5209D0C4D00CCCF7C /* StaffData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD7F1EF0475D00AD2478 /* StaffData.h */; }; + E24C01E6209D0C4D00CCCF7C /* SystemData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD801EF0475D00AD2478 /* SystemData.h */; }; + E24C01E7209D0C4D00CCCF7C /* TempoData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD811EF0475D00AD2478 /* TempoData.h */; }; + E24C01E8209D0C4D00CCCF7C /* TimeSignatureData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD821EF0475D00AD2478 /* TimeSignatureData.h */; }; + E24C01E9209D0C4D00CCCF7C /* TupletData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD831EF0475D00AD2478 /* TupletData.h */; }; + E24C01EA209D0C4D00CCCF7C /* Version.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A02E771FE0F71A00B74FDE /* Version.h */; }; + E24C01EB209D0C4D00CCCF7C /* VoiceData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD841EF0475D00AD2478 /* VoiceData.h */; }; + E24C01EC209D0C4D00CCCF7C /* WedgeData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD851EF0475D00AD2478 /* WedgeData.h */; }; + E24C01ED209D0C4D00CCCF7C /* WordsData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 29A8DD871EF0475D00AD2478 /* WordsData.h */; }; + E24C01EE209D0C4D00CCCF7C /* AppearanceData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 294895991FC4011400A06219 /* AppearanceData.h */; }; /* End PBXBuildFile section */ +/* Begin PBXCopyFilesBuildPhase section */ + E24C0198209D0BA700CCCF7C /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = mx/api; + dstSubfolderSpec = 7; + files = ( + E24C019A209D0C1400CCCF7C /* ApiCommon.h in CopyFiles */, + E24C019B209D0C1400CCCF7C /* ApiEquality.h in CopyFiles */, + E24C019C209D0C1400CCCF7C /* BarlineData.h in CopyFiles */, + E24C019D209D0C1400CCCF7C /* ChordData.h in CopyFiles */, + E24C019E209D0C1400CCCF7C /* ClefData.h in CopyFiles */, + E24C019F209D0C1400CCCF7C /* ColorData.h in CopyFiles */, + E24C01A0209D0C1400CCCF7C /* CurveData.h in CopyFiles */, + E24C01A1209D0C1400CCCF7C /* DirectionData.h in CopyFiles */, + E24C01A2209D0C1400CCCF7C /* DocumentManager.h in CopyFiles */, + E24C01A3209D0C1400CCCF7C /* DurationData.h in CopyFiles */, + E24C01A4209D0C1400CCCF7C /* EncodingData.h in CopyFiles */, + E24C01A5209D0C1400CCCF7C /* FontData.h in CopyFiles */, + E24C01A6209D0C1400CCCF7C /* KeyData.h in CopyFiles */, + E24C01A7209D0C1400CCCF7C /* LayoutData.h in CopyFiles */, + E24C01A8209D0C1400CCCF7C /* LineData.h in CopyFiles */, + E24C01A9209D0C1400CCCF7C /* MarkData.h in CopyFiles */, + E24C01AA209D0C1400CCCF7C /* MeasureData.h in CopyFiles */, + E24C01AB209D0C1400CCCF7C /* MeasureLocation.h in CopyFiles */, + E24C01AC209D0C1400CCCF7C /* MiscData.h in CopyFiles */, + E24C01AD209D0C1400CCCF7C /* NoteAttachmentData.h in CopyFiles */, + E24C01AE209D0C1400CCCF7C /* NoteData.h in CopyFiles */, + E24C01AF209D0C1400CCCF7C /* OttavaData.h in CopyFiles */, + E24C01B0209D0C1400CCCF7C /* PageTextData.h in CopyFiles */, + E24C01B1209D0C1400CCCF7C /* PartData.h in CopyFiles */, + E24C01B2209D0C1400CCCF7C /* PartGroupData.h in CopyFiles */, + E24C01B3209D0C1400CCCF7C /* PitchData.h in CopyFiles */, + E24C01B4209D0C1400CCCF7C /* PositionData.h in CopyFiles */, + E24C01B5209D0C1400CCCF7C /* PrintData.h in CopyFiles */, + E24C01B6209D0C1400CCCF7C /* ScoreData.h in CopyFiles */, + E24C01B7209D0C1400CCCF7C /* Smufl.h in CopyFiles */, + E24C01B8209D0C1400CCCF7C /* SoundID.h in CopyFiles */, + E24C01B9209D0C1400CCCF7C /* SpannerData.h in CopyFiles */, + E24C01BA209D0C1400CCCF7C /* StaffData.h in CopyFiles */, + E24C01BB209D0C1400CCCF7C /* SystemData.h in CopyFiles */, + E24C01BC209D0C1400CCCF7C /* TempoData.h in CopyFiles */, + E24C01BD209D0C1400CCCF7C /* TimeSignatureData.h in CopyFiles */, + E24C01BE209D0C1400CCCF7C /* TupletData.h in CopyFiles */, + E24C01BF209D0C1400CCCF7C /* Version.h in CopyFiles */, + E24C01C0209D0C1400CCCF7C /* VoiceData.h in CopyFiles */, + E24C01C1209D0C1400CCCF7C /* WedgeData.h in CopyFiles */, + E24C01C2209D0C1400CCCF7C /* WordsData.h in CopyFiles */, + E24C01C3209D0C1400CCCF7C /* AppearanceData.h in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + E24C01C4209D0C3E00CCCF7C /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = mx/api; + dstSubfolderSpec = 7; + files = ( + E24C01C5209D0C4D00CCCF7C /* ApiCommon.h in CopyFiles */, + E24C01C6209D0C4D00CCCF7C /* ApiEquality.h in CopyFiles */, + E24C01C7209D0C4D00CCCF7C /* BarlineData.h in CopyFiles */, + E24C01C8209D0C4D00CCCF7C /* ChordData.h in CopyFiles */, + E24C01C9209D0C4D00CCCF7C /* ClefData.h in CopyFiles */, + E24C01CA209D0C4D00CCCF7C /* ColorData.h in CopyFiles */, + E24C01CB209D0C4D00CCCF7C /* CurveData.h in CopyFiles */, + E24C01CC209D0C4D00CCCF7C /* DirectionData.h in CopyFiles */, + E24C01CD209D0C4D00CCCF7C /* DocumentManager.h in CopyFiles */, + E24C01CE209D0C4D00CCCF7C /* DurationData.h in CopyFiles */, + E24C01CF209D0C4D00CCCF7C /* EncodingData.h in CopyFiles */, + E24C01D0209D0C4D00CCCF7C /* FontData.h in CopyFiles */, + E24C01D1209D0C4D00CCCF7C /* KeyData.h in CopyFiles */, + E24C01D2209D0C4D00CCCF7C /* LayoutData.h in CopyFiles */, + E24C01D3209D0C4D00CCCF7C /* LineData.h in CopyFiles */, + E24C01D4209D0C4D00CCCF7C /* MarkData.h in CopyFiles */, + E24C01D5209D0C4D00CCCF7C /* MeasureData.h in CopyFiles */, + E24C01D6209D0C4D00CCCF7C /* MeasureLocation.h in CopyFiles */, + E24C01D7209D0C4D00CCCF7C /* MiscData.h in CopyFiles */, + E24C01D8209D0C4D00CCCF7C /* NoteAttachmentData.h in CopyFiles */, + E24C01D9209D0C4D00CCCF7C /* NoteData.h in CopyFiles */, + E24C01DA209D0C4D00CCCF7C /* OttavaData.h in CopyFiles */, + E24C01DB209D0C4D00CCCF7C /* PageTextData.h in CopyFiles */, + E24C01DC209D0C4D00CCCF7C /* PartData.h in CopyFiles */, + E24C01DD209D0C4D00CCCF7C /* PartGroupData.h in CopyFiles */, + E24C01DE209D0C4D00CCCF7C /* PitchData.h in CopyFiles */, + E24C01DF209D0C4D00CCCF7C /* PositionData.h in CopyFiles */, + E24C01E0209D0C4D00CCCF7C /* PrintData.h in CopyFiles */, + E24C01E1209D0C4D00CCCF7C /* ScoreData.h in CopyFiles */, + E24C01E2209D0C4D00CCCF7C /* Smufl.h in CopyFiles */, + E24C01E3209D0C4D00CCCF7C /* SoundID.h in CopyFiles */, + E24C01E4209D0C4D00CCCF7C /* SpannerData.h in CopyFiles */, + E24C01E5209D0C4D00CCCF7C /* StaffData.h in CopyFiles */, + E24C01E6209D0C4D00CCCF7C /* SystemData.h in CopyFiles */, + E24C01E7209D0C4D00CCCF7C /* TempoData.h in CopyFiles */, + E24C01E8209D0C4D00CCCF7C /* TimeSignatureData.h in CopyFiles */, + E24C01E9209D0C4D00CCCF7C /* TupletData.h in CopyFiles */, + E24C01EA209D0C4D00CCCF7C /* Version.h in CopyFiles */, + E24C01EB209D0C4D00CCCF7C /* VoiceData.h in CopyFiles */, + E24C01EC209D0C4D00CCCF7C /* WedgeData.h in CopyFiles */, + E24C01ED209D0C4D00CCCF7C /* WordsData.h in CopyFiles */, + E24C01EE209D0C4D00CCCF7C /* AppearanceData.h in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + /* Begin PBXFileReference section */ 293FFED21DD25C74001477E8 /* libmx-macOS.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libmx-macOS.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; 294895991FC4011400A06219 /* AppearanceData.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppearanceData.h; sourceTree = ""; }; @@ -6374,13 +6634,48 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 2948959F1FC4011400A06219 /* AppearanceData.h in Headers */, - 297594581F044C7600DE2F30 /* ChordData.h in Headers */, - 29A8FDC61EF0497500AD2478 /* MxmacOS.h in Headers */, - 29A02E7D1FE0F71A00B74FDE /* Version.h in Headers */, - 29EAD7511F0EF8CE00BDE782 /* MiscData.h in Headers */, - 29E76344205E2DEE00B754D5 /* LyricType.h in Headers */, - 29A8006D1EF0876500AD2478 /* SoundID.h in Headers */, + E24C0176209D07E200CCCF7C /* DurationData.h in Headers */, + E24C0174209D07E200CCCF7C /* DirectionData.h in Headers */, + E24C017E209D07E300CCCF7C /* MeasureLocation.h in Headers */, + E24C0195209D07E300CCCF7C /* WordsData.h in Headers */, + E24C018B209D07E300CCCF7C /* SoundID.h in Headers */, + E24C017A209D07E200CCCF7C /* LayoutData.h in Headers */, + E24C0192209D07E300CCCF7C /* Version.h in Headers */, + E24C016D209D07E200CCCF7C /* ApiCommon.h in Headers */, + E24C017B209D07E300CCCF7C /* LineData.h in Headers */, + E24C0187209D07E300CCCF7C /* PositionData.h in Headers */, + E24C017C209D07E300CCCF7C /* MarkData.h in Headers */, + E24C018D209D07E300CCCF7C /* StaffData.h in Headers */, + E24C0180209D07E300CCCF7C /* NoteAttachmentData.h in Headers */, + E24C0191209D07E300CCCF7C /* TupletData.h in Headers */, + E24C0179209D07E200CCCF7C /* KeyData.h in Headers */, + E24C0173209D07E200CCCF7C /* CurveData.h in Headers */, + E24C016F209D07E200CCCF7C /* BarlineData.h in Headers */, + E24C017D209D07E300CCCF7C /* MeasureData.h in Headers */, + E24C0189209D07E300CCCF7C /* ScoreData.h in Headers */, + E24C0172209D07E200CCCF7C /* ColorData.h in Headers */, + E24C0193209D07E300CCCF7C /* VoiceData.h in Headers */, + E24C016E209D07E200CCCF7C /* ApiEquality.h in Headers */, + E24C0196209D07E300CCCF7C /* AppearanceData.h in Headers */, + E24C0171209D07E200CCCF7C /* ClefData.h in Headers */, + E24C018E209D07E300CCCF7C /* SystemData.h in Headers */, + E24C0170209D07E200CCCF7C /* ChordData.h in Headers */, + E24C0178209D07E200CCCF7C /* FontData.h in Headers */, + E24C018C209D07E300CCCF7C /* SpannerData.h in Headers */, + E24C0184209D07E300CCCF7C /* PartData.h in Headers */, + E24C0185209D07E300CCCF7C /* PartGroupData.h in Headers */, + E24C0186209D07E300CCCF7C /* PitchData.h in Headers */, + E24C017F209D07E300CCCF7C /* MiscData.h in Headers */, + E24C0181209D07E300CCCF7C /* NoteData.h in Headers */, + E24C0194209D07E300CCCF7C /* WedgeData.h in Headers */, + E24C0190209D07E300CCCF7C /* TimeSignatureData.h in Headers */, + E24C018F209D07E300CCCF7C /* TempoData.h in Headers */, + E24C018A209D07E300CCCF7C /* Smufl.h in Headers */, + E24C0182209D07E300CCCF7C /* OttavaData.h in Headers */, + E24C0188209D07E300CCCF7C /* PrintData.h in Headers */, + E24C0183209D07E300CCCF7C /* PageTextData.h in Headers */, + E24C0175209D07E200CCCF7C /* DocumentManager.h in Headers */, + E24C0177209D07E200CCCF7C /* EncodingData.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -6388,13 +6683,49 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 2948959E1FC4011400A06219 /* AppearanceData.h in Headers */, - 297594571F044C7600DE2F30 /* ChordData.h in Headers */, + E24C0165209D07E200CCCF7C /* TempoData.h in Headers */, + E24C015E209D07E200CCCF7C /* PrintData.h in Headers */, + E24C015C209D07E200CCCF7C /* PitchData.h in Headers */, + E24C0149209D07E200CCCF7C /* CurveData.h in Headers */, + E24C0167209D07E200CCCF7C /* TupletData.h in Headers */, + E24C0168209D07E200CCCF7C /* Version.h in Headers */, + E24C014D209D07E200CCCF7C /* EncodingData.h in Headers */, + E24C0151209D07E200CCCF7C /* LineData.h in Headers */, + E24C016A209D07E200CCCF7C /* WedgeData.h in Headers */, + E24C0150209D07E200CCCF7C /* LayoutData.h in Headers */, + E24C0147209D07E200CCCF7C /* ClefData.h in Headers */, + E24C0146209D07E200CCCF7C /* ChordData.h in Headers */, + E24C0156209D07E200CCCF7C /* NoteAttachmentData.h in Headers */, + E24C0152209D07E200CCCF7C /* MarkData.h in Headers */, + E24C0158209D07E200CCCF7C /* OttavaData.h in Headers */, + E24C0157209D07E200CCCF7C /* NoteData.h in Headers */, + E24C014B209D07E200CCCF7C /* DocumentManager.h in Headers */, + E24C015F209D07E200CCCF7C /* ScoreData.h in Headers */, + E24C0169209D07E200CCCF7C /* VoiceData.h in Headers */, + E24C014C209D07E200CCCF7C /* DurationData.h in Headers */, + E24C0143209D07E200CCCF7C /* ApiCommon.h in Headers */, + E24C0154209D07E200CCCF7C /* MeasureLocation.h in Headers */, + E24C015D209D07E200CCCF7C /* PositionData.h in Headers */, + E24C0166209D07E200CCCF7C /* TimeSignatureData.h in Headers */, + E24C0148209D07E200CCCF7C /* ColorData.h in Headers */, + E24C015B209D07E200CCCF7C /* PartGroupData.h in Headers */, + E24C0164209D07E200CCCF7C /* SystemData.h in Headers */, + E24C0153209D07E200CCCF7C /* MeasureData.h in Headers */, + E24C0163209D07E200CCCF7C /* StaffData.h in Headers */, + E24C016C209D07E200CCCF7C /* AppearanceData.h in Headers */, + E24C0161209D07E200CCCF7C /* SoundID.h in Headers */, + E24C0159209D07E200CCCF7C /* PageTextData.h in Headers */, + E24C014F209D07E200CCCF7C /* KeyData.h in Headers */, 29B962851E79FF410072071D /* MxiOS.h in Headers */, - 29A02E7C1FE0F71A00B74FDE /* Version.h in Headers */, - 29EAD7501F0EF8CE00BDE782 /* MiscData.h in Headers */, - 29E76343205E2DEE00B754D5 /* LyricType.h in Headers */, - 29A8006C1EF0876500AD2478 /* SoundID.h in Headers */, + E24C0145209D07E200CCCF7C /* BarlineData.h in Headers */, + E24C0160209D07E200CCCF7C /* Smufl.h in Headers */, + E24C0144209D07E200CCCF7C /* ApiEquality.h in Headers */, + E24C016B209D07E200CCCF7C /* WordsData.h in Headers */, + E24C0162209D07E200CCCF7C /* SpannerData.h in Headers */, + E24C014A209D07E200CCCF7C /* DirectionData.h in Headers */, + E24C0155209D07E200CCCF7C /* MiscData.h in Headers */, + E24C015A209D07E200CCCF7C /* PartData.h in Headers */, + E24C014E209D07E200CCCF7C /* FontData.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -6455,7 +6786,7 @@ 29A8FDBD1EF0497400AD2478 /* Sources */, 29A8FDBE1EF0497400AD2478 /* Frameworks */, 29A8FDBF1EF0497400AD2478 /* Headers */, - 29A8FDC01EF0497400AD2478 /* Resources */, + E24C01C4209D0C3E00CCCF7C /* CopyFiles */, ); buildRules = ( ); @@ -6473,7 +6804,7 @@ 29B9627C1E79FF410072071D /* Sources */, 29B9627D1E79FF410072071D /* Frameworks */, 29B9627E1E79FF410072071D /* Headers */, - 29B9627F1E79FF410072071D /* Resources */, + E24C0198209D0BA700CCCF7C /* CopyFiles */, ); buildRules = ( ); @@ -6507,16 +6838,17 @@ 299F7FDE1CA8D2200084CAE5 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0920; + LastUpgradeCheck = 0930; ORGANIZATIONNAME = "Matthew James Briggs"; TargetAttributes = { 293FFED11DD25C74001477E8 = { CreatedOnToolsVersion = 8.1; + DevelopmentTeam = RRS55ZY6E5; ProvisioningStyle = Automatic; }; 29A8FDC11EF0497400AD2478 = { CreatedOnToolsVersion = 8.3.2; - DevelopmentTeam = BEL6W3V5K4; + DevelopmentTeam = RRS55ZY6E5; ProvisioningStyle = Automatic; }; 29B962801E79FF410072071D = { @@ -6525,7 +6857,8 @@ ProvisioningStyle = Automatic; }; 29E8BF941DD2920C00E8CEBA = { - DevelopmentTeam = BEL6W3V5K4; + DevelopmentTeam = RRS55ZY6E5; + ProvisioningStyle = Automatic; }; }; }; @@ -6550,23 +6883,6 @@ }; /* End PBXProject section */ -/* Begin PBXResourcesBuildPhase section */ - 29A8FDC01EF0497400AD2478 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 29B9627F1E79FF410072071D /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - /* Begin PBXSourcesBuildPhase section */ 293FFECE1DD25C74001477E8 /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -9961,6 +10277,7 @@ CLANG_WARN_UNREACHABLE_CODE = YES; CODE_SIGN_IDENTITY = ""; DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = RRS55ZY6E5; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -9985,6 +10302,7 @@ CLANG_WARN_UNREACHABLE_CODE = YES; CODE_SIGN_IDENTITY = ""; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = RRS55ZY6E5; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -10013,6 +10331,7 @@ CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_CXX0X_EXTENSIONS = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; @@ -10020,6 +10339,7 @@ CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NULLABLE_TO_NONNULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; @@ -10028,6 +10348,7 @@ CLANG_WARN_UNREACHABLE_CODE = YES_AGGRESSIVE; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CLANG_WARN__EXIT_TIME_DESTRUCTORS = NO; + COMPILER_INDEX_STORE_ENABLE = NO; COPY_PHASE_STRIP = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; @@ -10066,7 +10387,11 @@ MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = ""; - OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)"; + OTHER_CPLUSPLUSFLAGS = ( + "$(OTHER_CFLAGS)", + "-I/usr/local/opt/llvm/include", + ); + OTHER_LDFLAGS = ""; SDKROOT = ""; USER_HEADER_SEARCH_PATHS = ../Sourcecode/; }; @@ -10086,6 +10411,7 @@ CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_CXX0X_EXTENSIONS = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; @@ -10093,6 +10419,7 @@ CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NULLABLE_TO_NONNULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; @@ -10101,6 +10428,7 @@ CLANG_WARN_UNREACHABLE_CODE = YES_AGGRESSIVE; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CLANG_WARN__EXIT_TIME_DESTRUCTORS = NO; + COMPILER_INDEX_STORE_ENABLE = NO; COPY_PHASE_STRIP = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; @@ -10132,7 +10460,11 @@ GCC_WARN_UNUSED_VARIABLE = YES; MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_CFLAGS = ""; - OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)"; + OTHER_CPLUSPLUSFLAGS = ( + "$(OTHER_CFLAGS)", + "-I/usr/local/opt/llvm/include", + ); + OTHER_LDFLAGS = ""; SDKROOT = ""; USER_HEADER_SEARCH_PATHS = ../Sourcecode/; }; @@ -10187,7 +10519,7 @@ CURRENT_PROJECT_VERSION = 1; DEBUG_INFORMATION_FORMAT = dwarf; DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = BEL6W3V5K4; + DEVELOPMENT_TEAM = RRS55ZY6E5; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -10219,7 +10551,7 @@ COPY_PHASE_STRIP = NO; CURRENT_PROJECT_VERSION = 1; DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = BEL6W3V5K4; + DEVELOPMENT_TEAM = RRS55ZY6E5; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -10241,6 +10573,13 @@ 29B962871E79FF410072071D /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + ARCHS = ( + arm64, + arm7, + arm7s, + i386, + x86_64, + ); CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; @@ -10263,7 +10602,9 @@ PRODUCT_BUNDLE_IDENTIFIER = mjb.MxiOS; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; - SKIP_INSTALL = YES; + "SDKROOT[arch=i386]" = "$(CORRESPONDING_SIMULATOR_SDK_NAME)"; + "SDKROOT[arch=x86_64]" = "$(CORRESPONDING_SIMULATOR_SDK_NAME)"; + SKIP_INSTALL = NO; TARGETED_DEVICE_FAMILY = "1,2"; VALID_ARCHS = "arm64 armv7 armv7s x86_64 i386"; VERSIONING_SYSTEM = "apple-generic"; @@ -10274,6 +10615,13 @@ 29B962881E79FF410072071D /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + ARCHS = ( + arm64, + arm7, + arm7s, + i386, + x86_64, + ); CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; @@ -10287,6 +10635,7 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_OPTIMIZATION_LEVEL = 3; INFOPLIST_FILE = MxiOS/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 10.2; @@ -10296,7 +10645,9 @@ PRODUCT_BUNDLE_IDENTIFIER = mjb.MxiOS; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; - SKIP_INSTALL = YES; + "SDKROOT[arch=i386]" = "$(CORRESPONDING_SIMULATOR_SDK_NAME)"; + "SDKROOT[arch=x86_64]" = "$(CORRESPONDING_SIMULATOR_SDK_NAME)"; + SKIP_INSTALL = NO; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VALID_ARCHS = "arm64 armv7 armv7s x86_64 i386"; @@ -10310,12 +10661,14 @@ buildSettings = { CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "c++14"; + CLANG_CXX_LIBRARY = "compiler-default"; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_SUSPICIOUS_MOVES = YES; CLANG_WARN_UNREACHABLE_CODE = YES; - CODE_SIGN_IDENTITY = ""; + CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_STYLE = Automatic; DEBUG_INFORMATION_FORMAT = dwarf; - DEVELOPMENT_TEAM = BEL6W3V5K4; + DEVELOPMENT_TEAM = RRS55ZY6E5; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -10327,6 +10680,7 @@ MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = NO; PRODUCT_NAME = "mx-iOS"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = iphoneos; VALID_ARCHS = "arm64 armv7 i386"; }; @@ -10337,12 +10691,14 @@ buildSettings = { CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "c++14"; + CLANG_CXX_LIBRARY = "compiler-default"; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_SUSPICIOUS_MOVES = YES; CLANG_WARN_UNREACHABLE_CODE = YES; - CODE_SIGN_IDENTITY = ""; + CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; - DEVELOPMENT_TEAM = BEL6W3V5K4; + DEVELOPMENT_TEAM = RRS55ZY6E5; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -10354,6 +10710,7 @@ MTL_ENABLE_DEBUG_INFO = NO; ONLY_ACTIVE_ARCH = YES; PRODUCT_NAME = "mx-iOS"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = iphoneos; VALID_ARCHS = "arm64 armv7 i386"; }; diff --git a/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/Mx.xcscheme b/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/Mx.xcscheme index 3532785d6..9f00f866b 100644 --- a/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/Mx.xcscheme +++ b/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/Mx.xcscheme @@ -1,6 +1,6 @@ @@ -37,7 +36,6 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - language = "" launchStyle = "0" useCustomWorkingDirectory = "NO" ignoresPersistentStateOnLaunch = "NO" diff --git a/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/mx-macOS.xcscheme b/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/MxiOS.xcscheme similarity index 72% rename from Xcode/Mx.xcodeproj/xcshareddata/xcschemes/mx-macOS.xcscheme rename to Xcode/Mx.xcodeproj/xcshareddata/xcschemes/MxiOS.xcscheme index d302273c5..6c052e21d 100644 --- a/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/mx-macOS.xcscheme +++ b/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/MxiOS.xcscheme @@ -1,6 +1,6 @@ @@ -26,19 +26,9 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - language = "" shouldUseLaunchSchemeArgsEnv = "YES"> - - - - @@ -46,7 +36,7 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - language = "" + disableMainThreadChecker = "YES" launchStyle = "0" useCustomWorkingDirectory = "NO" ignoresPersistentStateOnLaunch = "NO" @@ -56,9 +46,9 @@ @@ -71,6 +61,15 @@ savedToolIdentifier = "" useCustomWorkingDirectory = "NO" debugDocumentVersioning = "YES"> + + + + @@ -78,5 +77,14 @@ + + + + + + diff --git a/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/mx-iOS.xcscheme b/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/MxmacOS.xcscheme similarity index 82% rename from Xcode/Mx.xcodeproj/xcshareddata/xcschemes/mx-iOS.xcscheme rename to Xcode/Mx.xcodeproj/xcshareddata/xcschemes/MxmacOS.xcscheme index 5756ac13f..78c1105cb 100644 --- a/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/mx-iOS.xcscheme +++ b/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/MxmacOS.xcscheme @@ -1,6 +1,6 @@ @@ -26,7 +26,6 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - language = "" shouldUseLaunchSchemeArgsEnv = "YES"> @@ -37,7 +36,6 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - language = "" launchStyle = "0" useCustomWorkingDirectory = "NO" ignoresPersistentStateOnLaunch = "NO" @@ -47,9 +45,9 @@ @@ -65,9 +63,9 @@ diff --git a/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/dylib-iOS.xcscheme b/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/dylib-iOS.xcscheme index 653523738..c25b1ce86 100644 --- a/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/dylib-iOS.xcscheme +++ b/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/dylib-iOS.xcscheme @@ -1,6 +1,6 @@ @@ -37,7 +36,6 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - language = "" launchStyle = "0" useCustomWorkingDirectory = "NO" ignoresPersistentStateOnLaunch = "NO" diff --git a/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/dylib-macOS.xcscheme b/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/dylib-macOS.xcscheme index 3b00620cd..a73bcf4ca 100644 --- a/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/dylib-macOS.xcscheme +++ b/Xcode/Mx.xcodeproj/xcshareddata/xcschemes/dylib-macOS.xcscheme @@ -1,6 +1,6 @@ @@ -37,7 +36,6 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - language = "" launchStyle = "0" useCustomWorkingDirectory = "NO" ignoresPersistentStateOnLaunch = "NO" diff --git a/Xcode/MxTest.xcodeproj/project.pbxproj b/Xcode/MxTest.xcodeproj/project.pbxproj index 5a5523934..53bdde454 100755 --- a/Xcode/MxTest.xcodeproj/project.pbxproj +++ b/Xcode/MxTest.xcodeproj/project.pbxproj @@ -1903,7 +1903,7 @@ 299F7FEE1CA8D2620084CAE5 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0800; + LastUpgradeCheck = 0930; ORGANIZATIONNAME = "Matthew James Briggs"; TargetAttributes = { 29B962731E79FEE40072071D = { @@ -2434,14 +2434,22 @@ CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; @@ -2479,14 +2487,22 @@ CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; diff --git a/Xcode/MxTest.xcodeproj/xcshareddata/xcschemes/MxTest.xcscheme b/Xcode/MxTest.xcodeproj/xcshareddata/xcschemes/MxTest.xcscheme index 920e2fad4..ee615599c 100644 --- a/Xcode/MxTest.xcodeproj/xcshareddata/xcschemes/MxTest.xcscheme +++ b/Xcode/MxTest.xcodeproj/xcshareddata/xcschemes/MxTest.xcscheme @@ -1,6 +1,6 @@ - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - NSPrincipalClass - - - diff --git a/Xcode/Mx_iOS/Info.plist~HEAD b/Xcode/Mx_iOS/Info.plist~HEAD deleted file mode 100644 index fbe1e6b31..000000000 --- a/Xcode/Mx_iOS/Info.plist~HEAD +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - NSPrincipalClass - - - diff --git a/Xcode/Mx_iOS/Info.plist~develop b/Xcode/Mx_iOS/Info.plist~develop deleted file mode 100644 index fbe1e6b31..000000000 --- a/Xcode/Mx_iOS/Info.plist~develop +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - NSPrincipalClass - - - diff --git a/Xcode/Mx_iOS/Mx_iOS.h b/Xcode/Mx_iOS/Mx_iOS.h deleted file mode 100644 index eb8a517d9..000000000 --- a/Xcode/Mx_iOS/Mx_iOS.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// Mx_iOS.h -// Mx_iOS -// -// Created by mjb on 3/15/17. -// Copyright © 2017 Matthew James Briggs. All rights reserved. -// - -#import - -//! Project version number for Mx_iOS. -FOUNDATION_EXPORT double Mx_iOSVersionNumber; - -//! Project version string for Mx_iOS. -FOUNDATION_EXPORT const unsigned char Mx_iOSVersionString[]; - -// In this header, you should import all the public headers of your framework using statements like #import - - diff --git a/Xcode/mx.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Xcode/mx.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 000000000..18d981003 --- /dev/null +++ b/Xcode/mx.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + From 18fae522ddcd94adeceeb09b9d2241588f361f01 Mon Sep 17 00:00:00 2001 From: Gene Date: Sun, 16 Sep 2018 19:09:07 -0700 Subject: [PATCH 091/108] use sparsepp to avoid smufl crash (#18) * Use frozen map * User sparse map for unordered list * Return ref not copy of string --- Sourcecode/mx/api/Smufl.cpp | 5198 ++++++++--------- Sourcecode/mx/api/Smufl.h | 1 - Sourcecode/mx/impl/SmuflGlyphMap.h | 2612 --------- Sourcecode/mx/sparsepp/spp.h | 4336 ++++++++++++++ Sourcecode/mx/sparsepp/spp_config.h | 781 +++ Sourcecode/mx/sparsepp/spp_dlalloc.h | 4039 +++++++++++++ Sourcecode/mx/sparsepp/spp_memory.h | 190 + Sourcecode/mx/sparsepp/spp_smartptr.h | 76 + Sourcecode/mx/sparsepp/spp_stdint.h | 16 + Sourcecode/mx/sparsepp/spp_timer.h | 58 + Sourcecode/mx/sparsepp/spp_traits.h | 125 + Sourcecode/mx/sparsepp/spp_utils.h | 471 ++ Xcode/Mx.xcodeproj/project.pbxproj | 128 +- .../xcshareddata/xcschemes/Mx.xcscheme | 2 +- .../xcshareddata/xcschemes/MxiOS.xcscheme | 2 +- .../xcshareddata/xcschemes/MxmacOS.xcscheme | 2 +- .../xcshareddata/xcschemes/dylib-iOS.xcscheme | 2 +- .../xcschemes/dylib-macOS.xcscheme | 2 +- .../xcshareddata/xcschemes/MxTest.xcscheme | 2 +- 19 files changed, 12819 insertions(+), 5224 deletions(-) delete mode 100644 Sourcecode/mx/impl/SmuflGlyphMap.h create mode 100755 Sourcecode/mx/sparsepp/spp.h create mode 100755 Sourcecode/mx/sparsepp/spp_config.h create mode 100755 Sourcecode/mx/sparsepp/spp_dlalloc.h create mode 100755 Sourcecode/mx/sparsepp/spp_memory.h create mode 100755 Sourcecode/mx/sparsepp/spp_smartptr.h create mode 100755 Sourcecode/mx/sparsepp/spp_stdint.h create mode 100755 Sourcecode/mx/sparsepp/spp_timer.h create mode 100755 Sourcecode/mx/sparsepp/spp_traits.h create mode 100755 Sourcecode/mx/sparsepp/spp_utils.h diff --git a/Sourcecode/mx/api/Smufl.cpp b/Sourcecode/mx/api/Smufl.cpp index 4aeed4604..a605e764a 100644 --- a/Sourcecode/mx/api/Smufl.cpp +++ b/Sourcecode/mx/api/Smufl.cpp @@ -3,14 +3,14 @@ // Distributed under the MIT License #include "mx/api/Smufl.h" -#include "mx/impl/SmuflGlyphMap.h" +#include "mx/sparsepp/spp.h" #include #include -#include + using SmuflPair = std::pair; -using SmuflMap = std::unordered_map; +using SmuflMap = spp::sparse_hash_map; using SmuflIter = SmuflMap::const_iterator; namespace mx @@ -19,2606 +19,2604 @@ namespace mx { static const SmuflMap sMap = { - std::pair( "4stringTabClef", 0xE06E ), // glyphnumber: 0, 4-string tab clef - - std::pair( "4stringTabClef", 0xE06E ), // glyphnumber: 0, 4-string tab clef - std::pair( "6stringTabClef", 0xE06D ), // glyphnumber: 1, 6-string tab clef - std::pair( "accSagittal11LargeDiesisDown", 0xE30D ), // glyphnumber: 2, 11 large diesis down, 3° down [46 EDO] - std::pair( "accSagittal11LargeDiesisUp", 0xE30C ), // glyphnumber: 3, 11 large diesis up, (11L), (sharp less 11M), 3° up [46 EDO] - std::pair( "accSagittal11MediumDiesisDown", 0xE30B ), // glyphnumber: 4, 11 medium diesis down, 1°[17 31] 2°46 down, 1/4-tone down - std::pair( "accSagittal11MediumDiesisUp", 0xE30A ), // glyphnumber: 5, 11 medium diesis up, (11M), 1°[17 31] 2°46 up, 1/4-tone up - std::pair( "accSagittal11v19LargeDiesisDown", 0xE3AB ), // glyphnumber: 6, 11:19 large diesis down - std::pair( "accSagittal11v19LargeDiesisUp", 0xE3AA ), // glyphnumber: 7, 11:19 large diesis up, (11:19L, apotome less 11:19M) - std::pair( "accSagittal11v19MediumDiesisDown", 0xE3A3 ), // glyphnumber: 8, 11:19 medium diesis down - std::pair( "accSagittal11v19MediumDiesisUp", 0xE3A2 ), // glyphnumber: 9, 11:19 medium diesis up, (11:19M, 11M plus 19s) - std::pair( "accSagittal11v49CommaDown", 0xE397 ), // glyphnumber: 10, 11:49 comma down - std::pair( "accSagittal11v49CommaUp", 0xE396 ), // glyphnumber: 11, 11:49 comma up, (11:49C, 11M less 49C) - std::pair( "accSagittal143CommaDown", 0xE395 ), // glyphnumber: 12, 143 comma down - std::pair( "accSagittal143CommaUp", 0xE394 ), // glyphnumber: 13, 143 comma up, (143C, 13L less 11M) - std::pair( "accSagittal17CommaDown", 0xE343 ), // glyphnumber: 14, 17 comma down - std::pair( "accSagittal17CommaUp", 0xE342 ), // glyphnumber: 15, 17 comma up, (17C) - std::pair( "accSagittal17KleismaDown", 0xE393 ), // glyphnumber: 16, 17 kleisma down - std::pair( "accSagittal17KleismaUp", 0xE392 ), // glyphnumber: 17, 17 kleisma up, (17k) - std::pair( "accSagittal19CommaDown", 0xE399 ), // glyphnumber: 18, 19 comma down - std::pair( "accSagittal19CommaUp", 0xE398 ), // glyphnumber: 19, 19 comma up, (19C) - std::pair( "accSagittal19SchismaDown", 0xE391 ), // glyphnumber: 20, 19 schisma down - std::pair( "accSagittal19SchismaUp", 0xE390 ), // glyphnumber: 21, 19 schisma up, (19s) - std::pair( "accSagittal23CommaDown", 0xE371 ), // glyphnumber: 22, 23 comma down, 2° down [96 EDO], 1/8-tone down - std::pair( "accSagittal23CommaUp", 0xE370 ), // glyphnumber: 23, 23 comma up, (23C), 2° up [96 EDO], 1/8-tone up - std::pair( "accSagittal23SmallDiesisDown", 0xE39F ), // glyphnumber: 24, 23 small diesis down - std::pair( "accSagittal23SmallDiesisUp", 0xE39E ), // glyphnumber: 25, 23 small diesis up, (23S) - std::pair( "accSagittal25SmallDiesisDown", 0xE307 ), // glyphnumber: 26, 25 small diesis down, 2° down [53 EDO] - std::pair( "accSagittal25SmallDiesisUp", 0xE306 ), // glyphnumber: 27, 25 small diesis up, (25S, ~5:13S, ~37S, 5C plus 5C), 2° up [53 EDO] - std::pair( "accSagittal35LargeDiesisDown", 0xE30F ), // glyphnumber: 28, 35 large diesis down, 2° down [50 EDO], 5/18-tone down - std::pair( "accSagittal35LargeDiesisUp", 0xE30E ), // glyphnumber: 29, 35 large diesis up, (35L, ~13L, ~125L, sharp less 35M), 2°50 up - std::pair( "accSagittal35MediumDiesisDown", 0xE309 ), // glyphnumber: 30, 35 medium diesis down, 1°[50] 2°[27] down, 2/9-tone down - std::pair( "accSagittal35MediumDiesisUp", 0xE308 ), // glyphnumber: 31, 35 medium diesis up, (35M, ~13M, ~125M, 5C plus 7C), 2/9-tone up - std::pair( "accSagittal49LargeDiesisDown", 0xE3A9 ), // glyphnumber: 32, 49 large diesis down - std::pair( "accSagittal49LargeDiesisUp", 0xE3A8 ), // glyphnumber: 33, 49 large diesis up, (49L, ~31L, apotome less 49M) - std::pair( "accSagittal49MediumDiesisDown", 0xE3A5 ), // glyphnumber: 34, 49 medium diesis down - std::pair( "accSagittal49MediumDiesisUp", 0xE3A4 ), // glyphnumber: 35, 49 medium diesis up, (49M, ~31M, 7C plus 7C) - std::pair( "accSagittal49SmallDiesisDown", 0xE39D ), // glyphnumber: 36, 49 small diesis down - std::pair( "accSagittal49SmallDiesisUp", 0xE39C ), // glyphnumber: 37, 49 small diesis up, (49S, ~31S) - std::pair( "accSagittal55CommaDown", 0xE345 ), // glyphnumber: 38, 55 comma down, 3° down [96 EDO], 3/16-tone down - std::pair( "accSagittal55CommaUp", 0xE344 ), // glyphnumber: 39, 55 comma up, (55C, 11M less 5C), 3°up [96 EDO], 3/16-tone up - std::pair( "accSagittal5CommaDown", 0xE303 ), // glyphnumber: 40, 5 comma down, 1° down [22 27 29 34 41 46 53 96 EDOs], 1/12-tone down - std::pair( "accSagittal5CommaUp", 0xE302 ), // glyphnumber: 41, 5 comma up, (5C), 1° up [22 27 29 34 41 46 53 96 EDOs], 1/12-tone up - std::pair( "accSagittal5v11SmallDiesisDown", 0xE349 ), // glyphnumber: 42, 5:11 small diesis down - std::pair( "accSagittal5v11SmallDiesisUp", 0xE348 ), // glyphnumber: 43, 5:11 small diesis up, (5:11S, ~7:13S, ~11:17S, 5:7k plus 7:11C) - std::pair( "accSagittal5v13LargeDiesisDown", 0xE3AD ), // glyphnumber: 44, 5:13 large diesis down - std::pair( "accSagittal5v13LargeDiesisUp", 0xE3AC ), // glyphnumber: 45, 5:13 large diesis up, (5:13L, ~37L, apotome less 5:13M) - std::pair( "accSagittal5v13MediumDiesisDown", 0xE3A1 ), // glyphnumber: 46, 5:13 medium diesis down - std::pair( "accSagittal5v13MediumDiesisUp", 0xE3A0 ), // glyphnumber: 47, 5:13 medium diesis up, (5:13M, ~37M, 5C plus 13C) - std::pair( "accSagittal5v19CommaDown", 0xE373 ), // glyphnumber: 48, 5:19 comma down, 1/20-tone down - std::pair( "accSagittal5v19CommaUp", 0xE372 ), // glyphnumber: 49, 5:19 comma up, (5:19C, 5C plus 19s), 1/20-tone up - std::pair( "accSagittal5v23SmallDiesisDown", 0xE375 ), // glyphnumber: 50, 5:23 small diesis down, 2° down [60 EDO], 1/5-tone down - std::pair( "accSagittal5v23SmallDiesisUp", 0xE374 ), // glyphnumber: 51, 5:23 small diesis up, (5:23S, 5C plus 23C), 2° up [60 EDO], 1/5-tone up - std::pair( "accSagittal5v49MediumDiesisDown", 0xE3A7 ), // glyphnumber: 52, 5:49 medium diesis down - std::pair( "accSagittal5v49MediumDiesisUp", 0xE3A6 ), // glyphnumber: 53, 5:49 medium diesis up, (5:49M, half apotome) - std::pair( "accSagittal5v7KleismaDown", 0xE301 ), // glyphnumber: 54, 5:7 kleisma down - std::pair( "accSagittal5v7KleismaUp", 0xE300 ), // glyphnumber: 55, 5:7 kleisma up, (5:7k, ~11:13k, 7C less 5C) - std::pair( "accSagittal7CommaDown", 0xE305 ), // glyphnumber: 56, 7 comma down, 1° down [43 EDO], 2° down [72 EDO], 1/6-tone down - std::pair( "accSagittal7CommaUp", 0xE304 ), // glyphnumber: 57, 7 comma up, (7C), 1° up [43 EDO], 2° up [72 EDO], 1/6-tone up - std::pair( "accSagittal7v11CommaDown", 0xE347 ), // glyphnumber: 58, 7:11 comma down, 1° down [60 EDO], 1/10-tone down - std::pair( "accSagittal7v11CommaUp", 0xE346 ), // glyphnumber: 59, 7:11 comma up, (7:11C, ~13:17S, ~29S, 11L less 7C), 1° up [60 EDO] - std::pair( "accSagittal7v11KleismaDown", 0xE341 ), // glyphnumber: 60, 7:11 kleisma down - std::pair( "accSagittal7v11KleismaUp", 0xE340 ), // glyphnumber: 61, 7:11 kleisma up, (7:11k, ~29k) - std::pair( "accSagittal7v19CommaDown", 0xE39B ), // glyphnumber: 62, 7:19 comma down - std::pair( "accSagittal7v19CommaUp", 0xE39A ), // glyphnumber: 63, 7:19 comma up, (7:19C, 7C less 19s) - std::pair( "accSagittalAcute", 0xE3F2 ), // glyphnumber: 64, Acute, 5 schisma up (5s), 2 cents up - std::pair( "accSagittalDoubleFlat", 0xE335 ), // glyphnumber: 65, Double flat, (2 apotomes down)[almost all EDOs], whole-tone down - std::pair( "accSagittalDoubleFlat11v49CUp", 0xE3E9 ), // glyphnumber: 66, Double flat 11:49C-up - std::pair( "accSagittalDoubleFlat143CUp", 0xE3EB ), // glyphnumber: 67, Double flat 143C-up - std::pair( "accSagittalDoubleFlat17CUp", 0xE365 ), // glyphnumber: 68, Double flat 17C-up - std::pair( "accSagittalDoubleFlat17kUp", 0xE3ED ), // glyphnumber: 69, Double flat 17k-up - std::pair( "accSagittalDoubleFlat19CUp", 0xE3E7 ), // glyphnumber: 70, Double flat 19C-up - std::pair( "accSagittalDoubleFlat19sUp", 0xE3EF ), // glyphnumber: 71, Double flat 19s-up - std::pair( "accSagittalDoubleFlat23CUp", 0xE387 ), // glyphnumber: 72, Double flat 23C-up, 14° down [96 EDO], 7/8-tone down - std::pair( "accSagittalDoubleFlat23SUp", 0xE3E1 ), // glyphnumber: 73, Double flat 23S-up - std::pair( "accSagittalDoubleFlat25SUp", 0xE32D ), // glyphnumber: 74, Double flat 25S-up, 8°down [53 EDO] - std::pair( "accSagittalDoubleFlat49SUp", 0xE3E3 ), // glyphnumber: 75, Double flat 49S-up - std::pair( "accSagittalDoubleFlat55CUp", 0xE363 ), // glyphnumber: 76, Double flat 55C-up, 13° down [96 EDO], 13/16-tone down - std::pair( "accSagittalDoubleFlat5CUp", 0xE331 ), // glyphnumber: 77, Double flat 5C-up, 5°[22 29] 7°[34 41] 9°53 down, 11/12 tone down - std::pair( "accSagittalDoubleFlat5v11SUp", 0xE35F ), // glyphnumber: 78, Double flat 5:11S-up - std::pair( "accSagittalDoubleFlat5v19CUp", 0xE385 ), // glyphnumber: 79, Double flat 5:19C-up, 19/20-tone down - std::pair( "accSagittalDoubleFlat5v23SUp", 0xE383 ), // glyphnumber: 80, Double flat 5:23S-up, 8° down [60 EDO], 4/5-tone down - std::pair( "accSagittalDoubleFlat5v7kUp", 0xE333 ), // glyphnumber: 81, Double flat 5:7k-up - std::pair( "accSagittalDoubleFlat7CUp", 0xE32F ), // glyphnumber: 82, Double flat 7C-up, 5° down [43 EDO], 10° down [72 EDO], 5/6-tone down - std::pair( "accSagittalDoubleFlat7v11CUp", 0xE361 ), // glyphnumber: 83, Double flat 7:11C-up, 9° down [60 EDO], 9/10-tone down - std::pair( "accSagittalDoubleFlat7v11kUp", 0xE367 ), // glyphnumber: 84, Double flat 7:11k-up - std::pair( "accSagittalDoubleFlat7v19CUp", 0xE3E5 ), // glyphnumber: 85, Double flat 7:19C-up - std::pair( "accSagittalDoubleSharp", 0xE334 ), // glyphnumber: 86, Double sharp, (2 apotomes up)[almost all EDOs], whole-tone up - std::pair( "accSagittalDoubleSharp11v49CDown", 0xE3E8 ), // glyphnumber: 87, Double sharp 11:49C-down - std::pair( "accSagittalDoubleSharp143CDown", 0xE3EA ), // glyphnumber: 88, Double sharp 143C-down - std::pair( "accSagittalDoubleSharp17CDown", 0xE364 ), // glyphnumber: 89, Double sharp 17C-down - std::pair( "accSagittalDoubleSharp17kDown", 0xE3EC ), // glyphnumber: 90, Double sharp 17k-down - std::pair( "accSagittalDoubleSharp19CDown", 0xE3E6 ), // glyphnumber: 91, Double sharp 19C-down - std::pair( "accSagittalDoubleSharp19sDown", 0xE3EE ), // glyphnumber: 92, Double sharp 19s-down - std::pair( "accSagittalDoubleSharp23CDown", 0xE386 ), // glyphnumber: 93, Double sharp 23C-down, 14°up [96 EDO], 7/8-tone up - std::pair( "accSagittalDoubleSharp23SDown", 0xE3E0 ), // glyphnumber: 94, Double sharp 23S-down - std::pair( "accSagittalDoubleSharp25SDown", 0xE32C ), // glyphnumber: 95, Double sharp 25S-down, 8°up [53 EDO] - std::pair( "accSagittalDoubleSharp49SDown", 0xE3E2 ), // glyphnumber: 96, Double sharp 49S-down - std::pair( "accSagittalDoubleSharp55CDown", 0xE362 ), // glyphnumber: 97, Double sharp 55C-down, 13° up [96 EDO], 13/16-tone up - std::pair( "accSagittalDoubleSharp5CDown", 0xE330 ), // glyphnumber: 98, Double sharp 5C-down, 5°[22 29] 7°[34 41] 9°53 up, 11/12 tone up - std::pair( "accSagittalDoubleSharp5v11SDown", 0xE35E ), // glyphnumber: 99, Double sharp 5:11S-down - std::pair( "accSagittalDoubleSharp5v19CDown", 0xE384 ), // glyphnumber: 100, Double sharp 5:19C-down, 19/20-tone up - std::pair( "accSagittalDoubleSharp5v23SDown", 0xE382 ), // glyphnumber: 101, Double sharp 5:23S-down, 8° up [60 EDO], 4/5-tone up - std::pair( "accSagittalDoubleSharp5v7kDown", 0xE332 ), // glyphnumber: 102, Double sharp 5:7k-down - std::pair( "accSagittalDoubleSharp7CDown", 0xE32E ), // glyphnumber: 103, Double sharp 7C-down, 5°[43] 10°[72] up, 5/6-tone up - std::pair( "accSagittalDoubleSharp7v11CDown", 0xE360 ), // glyphnumber: 104, Double sharp 7:11C-down, 9° up [60 EDO], 9/10-tone up - std::pair( "accSagittalDoubleSharp7v11kDown", 0xE366 ), // glyphnumber: 105, Double sharp 7:11k-down - std::pair( "accSagittalDoubleSharp7v19CDown", 0xE3E4 ), // glyphnumber: 106, Double sharp 7:19C-down - std::pair( "accSagittalFlat", 0xE319 ), // glyphnumber: 107, Flat, (apotome down)[almost all EDOs], 1/2-tone down - std::pair( "accSagittalFlat11LDown", 0xE329 ), // glyphnumber: 108, Flat 11L-down, 8° up [46 EDO] - std::pair( "accSagittalFlat11MDown", 0xE327 ), // glyphnumber: 109, Flat 11M-down, 3° down [17 31 EDOs], 7° down [46 EDO], 3/4-tone down - std::pair( "accSagittalFlat11v19LDown", 0xE3DB ), // glyphnumber: 110, Flat 11:19L-down - std::pair( "accSagittalFlat11v19MDown", 0xE3D3 ), // glyphnumber: 111, Flat 11:19M-down - std::pair( "accSagittalFlat11v49CDown", 0xE3C7 ), // glyphnumber: 112, Flat 11:49C-down - std::pair( "accSagittalFlat11v49CUp", 0xE3B9 ), // glyphnumber: 113, Flat 11:49C-up - std::pair( "accSagittalFlat143CDown", 0xE3C5 ), // glyphnumber: 114, Flat 143C-down - std::pair( "accSagittalFlat143CUp", 0xE3BB ), // glyphnumber: 115, Flat 143C-up - std::pair( "accSagittalFlat17CDown", 0xE357 ), // glyphnumber: 116, Flat 17C-down - std::pair( "accSagittalFlat17CUp", 0xE351 ), // glyphnumber: 117, Flat 17C-up - std::pair( "accSagittalFlat17kDown", 0xE3C3 ), // glyphnumber: 118, Flat 17k-down - std::pair( "accSagittalFlat17kUp", 0xE3BD ), // glyphnumber: 119, Flat 17k-up - std::pair( "accSagittalFlat19CDown", 0xE3C9 ), // glyphnumber: 120, Flat 19C-down - std::pair( "accSagittalFlat19CUp", 0xE3B7 ), // glyphnumber: 121, Flat 19C-up - std::pair( "accSagittalFlat19sDown", 0xE3C1 ), // glyphnumber: 122, Flat 19s-down - std::pair( "accSagittalFlat19sUp", 0xE3BF ), // glyphnumber: 123, Flat 19s-up - std::pair( "accSagittalFlat23CDown", 0xE37D ), // glyphnumber: 124, Flat 23C-down, 10° down [96 EDO], 5/8-tone down - std::pair( "accSagittalFlat23CUp", 0xE37B ), // glyphnumber: 125, Flat 23C-up, 6° down [96 EDO], 3/8-tone down - std::pair( "accSagittalFlat23SDown", 0xE3CF ), // glyphnumber: 126, Flat 23S-down - std::pair( "accSagittalFlat23SUp", 0xE3B1 ), // glyphnumber: 127, Flat 23S-up - std::pair( "accSagittalFlat25SDown", 0xE323 ), // glyphnumber: 128, Flat 25S-down, 7° down [53 EDO] - std::pair( "accSagittalFlat25SUp", 0xE311 ), // glyphnumber: 129, Flat 25S-up, 3° down [53 EDO] - std::pair( "accSagittalFlat35LDown", 0xE32B ), // glyphnumber: 130, Flat 35L-down, 5° down [50 EDO] - std::pair( "accSagittalFlat35MDown", 0xE325 ), // glyphnumber: 131, Flat 35M-down, 4° down [50 EDO], 6° down [27 EDO], 13/18-tone down - std::pair( "accSagittalFlat49LDown", 0xE3D9 ), // glyphnumber: 132, Flat 49L-down - std::pair( "accSagittalFlat49MDown", 0xE3D5 ), // glyphnumber: 133, Flat 49M-down - std::pair( "accSagittalFlat49SDown", 0xE3CD ), // glyphnumber: 134, Flat 49S-down - std::pair( "accSagittalFlat49SUp", 0xE3B3 ), // glyphnumber: 135, Flat 49S-up - std::pair( "accSagittalFlat55CDown", 0xE359 ), // glyphnumber: 136, Flat 55C-down, 11° down [96 EDO], 11/16-tone down - std::pair( "accSagittalFlat55CUp", 0xE34F ), // glyphnumber: 137, Flat 55C-up, 5° down [96 EDO], 5/16-tone down - std::pair( "accSagittalFlat5CDown", 0xE31F ), // glyphnumber: 138, Flat 5C-down, 4°[22 29] 5°[27 34 41] 6°[39 46 53] down, 7/12-tone down - std::pair( "accSagittalFlat5CUp", 0xE315 ), // glyphnumber: 139, Flat 5C-up, 2°[22,29] 3°[34 41] 4°[46 53 60] down, 5/12-tone down - std::pair( "accSagittalFlat5v11SDown", 0xE35D ), // glyphnumber: 140, Flat 5:11S-down - std::pair( "accSagittalFlat5v11SUp", 0xE34B ), // glyphnumber: 141, Flat 5:11S-up - std::pair( "accSagittalFlat5v13LDown", 0xE3DD ), // glyphnumber: 142, Flat 5:13L-down - std::pair( "accSagittalFlat5v13MDown", 0xE3D1 ), // glyphnumber: 143, Flat 5:13M-down - std::pair( "accSagittalFlat5v19CDown", 0xE37F ), // glyphnumber: 144, Flat 5:19C-down, 11/20-tone down - std::pair( "accSagittalFlat5v19CUp", 0xE379 ), // glyphnumber: 145, Flat 5:19C-up, 9/20-tone down - std::pair( "accSagittalFlat5v23SDown", 0xE381 ), // glyphnumber: 146, Flat 5:23S-down, 7° down [60 EDO], 7/10-tone down - std::pair( "accSagittalFlat5v23SUp", 0xE377 ), // glyphnumber: 147, Flat 5:23S-up, 3° down [60 EDO], 3/10-tone down - std::pair( "accSagittalFlat5v49MDown", 0xE3D7 ), // glyphnumber: 148, Flat 5:49M-down - std::pair( "accSagittalFlat5v7kDown", 0xE31D ), // glyphnumber: 149, Flat 5:7k-down - std::pair( "accSagittalFlat5v7kUp", 0xE317 ), // glyphnumber: 150, Flat 5:7k-up - std::pair( "accSagittalFlat7CDown", 0xE321 ), // glyphnumber: 151, Flat 7C-down, 4° down [43 EDO], 8° down [72 EDO], 2/3-tone down - std::pair( "accSagittalFlat7CUp", 0xE313 ), // glyphnumber: 152, Flat 7C-up, 2° down [43 EDO], 4° down [72 EDO], 1/3-tone down - std::pair( "accSagittalFlat7v11CDown", 0xE35B ), // glyphnumber: 153, Flat 7:11C-down, 6° down [60 EDO], 3/5- tone down - std::pair( "accSagittalFlat7v11CUp", 0xE34D ), // glyphnumber: 154, Flat 7:11C-up, 4° down [60 EDO], 2/5-tone down - std::pair( "accSagittalFlat7v11kDown", 0xE355 ), // glyphnumber: 155, Flat 7:11k-down - std::pair( "accSagittalFlat7v11kUp", 0xE353 ), // glyphnumber: 156, Flat 7:11k-up - std::pair( "accSagittalFlat7v19CDown", 0xE3CB ), // glyphnumber: 157, Flat 7:19C-down - std::pair( "accSagittalFlat7v19CUp", 0xE3B5 ), // glyphnumber: 158, Flat 7:19C-up - std::pair( "accSagittalGrave", 0xE3F3 ), // glyphnumber: 159, Grave, 5 schisma down, 2 cents down - std::pair( "accSagittalShaftDown", 0xE3F1 ), // glyphnumber: 160, Shaft down, (natural for use with only diacritics down) - std::pair( "accSagittalShaftUp", 0xE3F0 ), // glyphnumber: 161, Shaft up, (natural for use with only diacritics up) - std::pair( "accSagittalSharp", 0xE318 ), // glyphnumber: 162, Sharp, (apotome up)[almost all EDOs], 1/2-tone up - std::pair( "accSagittalSharp11LUp", 0xE328 ), // glyphnumber: 163, Sharp 11L-up, 8° up [46 EDO] - std::pair( "accSagittalSharp11MUp", 0xE326 ), // glyphnumber: 164, Sharp 11M-up, 3° up [17 31 EDOs], 7° up [46 EDO], 3/4-tone up - std::pair( "accSagittalSharp11v19LUp", 0xE3DA ), // glyphnumber: 165, Sharp 11:19L-up - std::pair( "accSagittalSharp11v19MUp", 0xE3D2 ), // glyphnumber: 166, Sharp 11:19M-up - std::pair( "accSagittalSharp11v49CDown", 0xE3B8 ), // glyphnumber: 167, Sharp 11:49C-down - std::pair( "accSagittalSharp11v49CUp", 0xE3C6 ), // glyphnumber: 168, Sharp 11:49C-up - std::pair( "accSagittalSharp143CDown", 0xE3BA ), // glyphnumber: 169, Sharp 143C-down - std::pair( "accSagittalSharp143CUp", 0xE3C4 ), // glyphnumber: 170, Sharp 143C-up - std::pair( "accSagittalSharp17CDown", 0xE350 ), // glyphnumber: 171, Sharp 17C-down - std::pair( "accSagittalSharp17CUp", 0xE356 ), // glyphnumber: 172, Sharp 17C-up - std::pair( "accSagittalSharp17kDown", 0xE3BC ), // glyphnumber: 173, Sharp 17k-down - std::pair( "accSagittalSharp17kUp", 0xE3C2 ), // glyphnumber: 174, Sharp 17k-up - std::pair( "accSagittalSharp19CDown", 0xE3B6 ), // glyphnumber: 175, Sharp 19C-down - std::pair( "accSagittalSharp19CUp", 0xE3C8 ), // glyphnumber: 176, Sharp 19C-up - std::pair( "accSagittalSharp19sDown", 0xE3BE ), // glyphnumber: 177, Sharp 19s-down - std::pair( "accSagittalSharp19sUp", 0xE3C0 ), // glyphnumber: 178, Sharp 19s-up - std::pair( "accSagittalSharp23CDown", 0xE37A ), // glyphnumber: 179, Sharp 23C-down, 6° up [96 EDO], 3/8-tone up - std::pair( "accSagittalSharp23CUp", 0xE37C ), // glyphnumber: 180, Sharp 23C-up, 10° up [96 EDO], 5/8-tone up - std::pair( "accSagittalSharp23SDown", 0xE3B0 ), // glyphnumber: 181, Sharp 23S-down - std::pair( "accSagittalSharp23SUp", 0xE3CE ), // glyphnumber: 182, Sharp 23S-up - std::pair( "accSagittalSharp25SDown", 0xE310 ), // glyphnumber: 183, Sharp 25S-down, 3° up [53 EDO] - std::pair( "accSagittalSharp25SUp", 0xE322 ), // glyphnumber: 184, Sharp 25S-up, 7° up [53 EDO] - std::pair( "accSagittalSharp35LUp", 0xE32A ), // glyphnumber: 185, Sharp 35L-up, 5° up [50 EDO] - std::pair( "accSagittalSharp35MUp", 0xE324 ), // glyphnumber: 186, Sharp 35M-up, 4° up [50 EDO], 6° up [27 EDO], 13/18-tone up - std::pair( "accSagittalSharp49LUp", 0xE3D8 ), // glyphnumber: 187, Sharp 49L-up - std::pair( "accSagittalSharp49MUp", 0xE3D4 ), // glyphnumber: 188, Sharp 49M-up - std::pair( "accSagittalSharp49SDown", 0xE3B2 ), // glyphnumber: 189, Sharp 49S-down - std::pair( "accSagittalSharp49SUp", 0xE3CC ), // glyphnumber: 190, Sharp 49S-up - std::pair( "accSagittalSharp55CDown", 0xE34E ), // glyphnumber: 191, Sharp 55C-down, 5° up [96 EDO], 5/16-tone up - std::pair( "accSagittalSharp55CUp", 0xE358 ), // glyphnumber: 192, Sharp 55C-up, 11° up [96 EDO], 11/16-tone up - std::pair( "accSagittalSharp5CDown", 0xE314 ), // glyphnumber: 193, Sharp 5C-down, 2°[22 29] 3°[34 41] 4°[46 53 60] up, 5/12-tone up - std::pair( "accSagittalSharp5CUp", 0xE31E ), // glyphnumber: 194, Sharp 5C-up, 4°[22 29] 5°[27 34 41] 6°[39 46 53] up, 7/12-tone up - std::pair( "accSagittalSharp5v11SDown", 0xE34A ), // glyphnumber: 195, Sharp 5:11S-down - std::pair( "accSagittalSharp5v11SUp", 0xE35C ), // glyphnumber: 196, Sharp 5:11S-up - std::pair( "accSagittalSharp5v13LUp", 0xE3DC ), // glyphnumber: 197, Sharp 5:13L-up - std::pair( "accSagittalSharp5v13MUp", 0xE3D0 ), // glyphnumber: 198, Sharp 5:13M-up - std::pair( "accSagittalSharp5v19CDown", 0xE378 ), // glyphnumber: 199, Sharp 5:19C-down, 9/20-tone up - std::pair( "accSagittalSharp5v19CUp", 0xE37E ), // glyphnumber: 200, Sharp 5:19C-up, 11/20-tone up - std::pair( "accSagittalSharp5v23SDown", 0xE376 ), // glyphnumber: 201, Sharp 5:23S-down, 3° up [60 EDO], 3/10-tone up - std::pair( "accSagittalSharp5v23SUp", 0xE380 ), // glyphnumber: 202, Sharp 5:23S-up, 7° up [60 EDO], 7/10-tone up - std::pair( "accSagittalSharp5v49MUp", 0xE3D6 ), // glyphnumber: 203, Sharp 5:49M-up, (one and a half apotomes) - std::pair( "accSagittalSharp5v7kDown", 0xE316 ), // glyphnumber: 204, Sharp 5:7k-down - std::pair( "accSagittalSharp5v7kUp", 0xE31C ), // glyphnumber: 205, Sharp 5:7k-up - std::pair( "accSagittalSharp7CDown", 0xE312 ), // glyphnumber: 206, Sharp 7C-down, 2° up [43 EDO], 4° up [72 EDO], 1/3-tone up - std::pair( "accSagittalSharp7CUp", 0xE320 ), // glyphnumber: 207, Sharp 7C-up, 4° up [43 EDO], 8° up [72 EDO], 2/3-tone up - std::pair( "accSagittalSharp7v11CDown", 0xE34C ), // glyphnumber: 208, Sharp 7:11C-down, 4° up [60 EDO], 2/5-tone up - std::pair( "accSagittalSharp7v11CUp", 0xE35A ), // glyphnumber: 209, Sharp 7:11C-up, 6° up [60 EDO], 3/5- tone up - std::pair( "accSagittalSharp7v11kDown", 0xE352 ), // glyphnumber: 210, Sharp 7:11k-down - std::pair( "accSagittalSharp7v11kUp", 0xE354 ), // glyphnumber: 211, Sharp 7:11k-up - std::pair( "accSagittalSharp7v19CDown", 0xE3B4 ), // glyphnumber: 212, Sharp 7:19C-down - std::pair( "accSagittalSharp7v19CUp", 0xE3CA ), // glyphnumber: 213, Sharp 7:19C-up - std::pair( "accSagittalUnused1", 0xE31A ), // glyphnumber: 214, Unused - std::pair( "accSagittalUnused2", 0xE31B ), // glyphnumber: 215, Unused - std::pair( "accSagittalUnused3", 0xE3DE ), // glyphnumber: 216, Unused - std::pair( "accSagittalUnused4", 0xE3DF ), // glyphnumber: 217, Unused - std::pair( "accdnCombDot", 0xE8CA ), // glyphnumber: 218, Combining accordion coupler dot - std::pair( "accdnCombLH2RanksEmpty", 0xE8C8 ), // glyphnumber: 219, Combining left hand, 2 ranks, empty - std::pair( "accdnCombLH3RanksEmptySquare", 0xE8C9 ), // glyphnumber: 220, Combining left hand, 3 ranks, empty (square) - std::pair( "accdnCombRH3RanksEmpty", 0xE8C6 ), // glyphnumber: 221, Combining right hand, 3 ranks, empty - std::pair( "accdnCombRH4RanksEmpty", 0xE8C7 ), // glyphnumber: 222, Combining right hand, 4 ranks, empty - std::pair( "accdnDiatonicClef", 0xE079 ), // glyphnumber: 223, Diatonic accordion clef - std::pair( "accdnLH2Ranks16Round", 0xE8BC ), // glyphnumber: 224, Left hand, 2 ranks, 16' stop (round) - std::pair( "accdnLH2Ranks8Plus16Round", 0xE8BD ), // glyphnumber: 225, Left hand, 2 ranks, 8' stop + 16' stop (round) - std::pair( "accdnLH2Ranks8Round", 0xE8BB ), // glyphnumber: 226, Left hand, 2 ranks, 8' stop (round) - std::pair( "accdnLH2RanksFullMasterRound", 0xE8C0 ), // glyphnumber: 227, Left hand, 2 ranks, full master (round) - std::pair( "accdnLH2RanksMasterPlus16Round", 0xE8BF ), // glyphnumber: 228, Left hand, 2 ranks, master + 16' stop (round) - std::pair( "accdnLH2RanksMasterRound", 0xE8BE ), // glyphnumber: 229, Left hand, 2 ranks, master (round) - std::pair( "accdnLH3Ranks2Plus8Square", 0xE8C4 ), // glyphnumber: 230, Left hand, 3 ranks, 2' stop + 8' stop (square) - std::pair( "accdnLH3Ranks2Square", 0xE8C2 ), // glyphnumber: 231, Left hand, 3 ranks, 2' stop (square) - std::pair( "accdnLH3Ranks8Square", 0xE8C1 ), // glyphnumber: 232, Left hand, 3 ranks, 8' stop (square) - std::pair( "accdnLH3RanksDouble8Square", 0xE8C3 ), // glyphnumber: 233, Left hand, 3 ranks, double 8' stop (square) - std::pair( "accdnLH3RanksTuttiSquare", 0xE8C5 ), // glyphnumber: 234, Left hand, 3 ranks, 2' stop + double 8' stop (tutti) (square) - std::pair( "accdnPull", 0xE8CC ), // glyphnumber: 235, Pull - std::pair( "accdnPush", 0xE8CB ), // glyphnumber: 236, Push - std::pair( "accdnRH3RanksAccordion", 0xE8AC ), // glyphnumber: 237, Right hand, 3 ranks, 8' stop + upper tremolo 8' stop + 16' stop (accordion) - std::pair( "accdnRH3RanksAuthenticMusette", 0xE8A8 ), // glyphnumber: 238, Right hand, 3 ranks, lower tremolo 8' stop + 8' stop + upper tremolo 8' stop (authentic musette) - std::pair( "accdnRH3RanksBandoneon", 0xE8AB ), // glyphnumber: 239, Right hand, 3 ranks, 8' stop + 16' stop (bandoneón) - std::pair( "accdnRH3RanksBassoon", 0xE8A4 ), // glyphnumber: 240, Right hand, 3 ranks, 16' stop (bassoon) - std::pair( "accdnRH3RanksClarinet", 0xE8A1 ), // glyphnumber: 241, Right hand, 3 ranks, 8' stop (clarinet) - std::pair( "accdnRH3RanksDoubleTremoloLower8ve", 0xE8B1 ), // glyphnumber: 242, Right hand, 3 ranks, lower tremolo 8' stop + 8' stop + upper tremolo 8' stop + 16' stop - std::pair( "accdnRH3RanksDoubleTremoloUpper8ve", 0xE8B2 ), // glyphnumber: 243, Right hand, 3 ranks, 4' stop + lower tremolo 8' stop + 8' stop + upper tremolo 8' stop - std::pair( "accdnRH3RanksFullFactory", 0xE8B3 ), // glyphnumber: 244, Right hand, 3 ranks, 4' stop + lower tremolo 8' stop + 8' stop + upper tremolo 8' stop + 16' stop - std::pair( "accdnRH3RanksHarmonium", 0xE8AA ), // glyphnumber: 245, Right hand, 3 ranks, 4' stop + 8' stop + 16' stop (harmonium) - std::pair( "accdnRH3RanksImitationMusette", 0xE8A7 ), // glyphnumber: 246, Right hand, 3 ranks, 4' stop + 8' stop + upper tremolo 8' stop (imitation musette) - std::pair( "accdnRH3RanksLowerTremolo8", 0xE8A3 ), // glyphnumber: 247, Right hand, 3 ranks, lower tremolo 8' stop - std::pair( "accdnRH3RanksMaster", 0xE8AD ), // glyphnumber: 248, Right hand, 3 ranks, 4' stop + lower tremolo 8' stop + upper tremolo 8' stop + 16' stop (master) - std::pair( "accdnRH3RanksOboe", 0xE8A5 ), // glyphnumber: 249, Right hand, 3 ranks, 4' stop + 8' stop (oboe) - std::pair( "accdnRH3RanksOrgan", 0xE8A9 ), // glyphnumber: 250, Right hand, 3 ranks, 4' stop + 16' stop (organ) - std::pair( "accdnRH3RanksPiccolo", 0xE8A0 ), // glyphnumber: 251, Right hand, 3 ranks, 4' stop (piccolo) - std::pair( "accdnRH3RanksTremoloLower8ve", 0xE8AF ), // glyphnumber: 252, Right hand, 3 ranks, lower tremolo 8' stop + upper tremolo 8' stop + 16' stop - std::pair( "accdnRH3RanksTremoloUpper8ve", 0xE8B0 ), // glyphnumber: 253, Right hand, 3 ranks, 4' stop + lower tremolo 8' stop + upper tremolo 8' stop - std::pair( "accdnRH3RanksTwoChoirs", 0xE8AE ), // glyphnumber: 254, Right hand, 3 ranks, lower tremolo 8' stop + upper tremolo 8' stop - std::pair( "accdnRH3RanksUpperTremolo8", 0xE8A2 ), // glyphnumber: 255, Right hand, 3 ranks, upper tremolo 8' stop - std::pair( "accdnRH3RanksViolin", 0xE8A6 ), // glyphnumber: 256, Right hand, 3 ranks, 8' stop + upper tremolo 8' stop (violin) - std::pair( "accdnRH4RanksAlto", 0xE8B5 ), // glyphnumber: 257, Right hand, 4 ranks, alto - std::pair( "accdnRH4RanksBassAlto", 0xE8BA ), // glyphnumber: 258, Right hand, 4 ranks, bass/alto - std::pair( "accdnRH4RanksMaster", 0xE8B7 ), // glyphnumber: 259, Right hand, 4 ranks, master - std::pair( "accdnRH4RanksSoftBass", 0xE8B8 ), // glyphnumber: 260, Right hand, 4 ranks, soft bass - std::pair( "accdnRH4RanksSoftTenor", 0xE8B9 ), // glyphnumber: 261, Right hand, 4 ranks, soft tenor - std::pair( "accdnRH4RanksSoprano", 0xE8B4 ), // glyphnumber: 262, Right hand, 4 ranks, soprano - std::pair( "accdnRH4RanksTenor", 0xE8B6 ), // glyphnumber: 263, Right hand, 4 ranks, tenor - std::pair( "accdnRicochet2", 0xE8CD ), // glyphnumber: 264, Ricochet (2 tones) - std::pair( "accdnRicochet3", 0xE8CE ), // glyphnumber: 265, Ricochet (3 tones) - std::pair( "accdnRicochet4", 0xE8CF ), // glyphnumber: 266, Ricochet (4 tones) - std::pair( "accdnRicochet5", 0xE8D0 ), // glyphnumber: 267, Ricochet (5 tones) - std::pair( "accdnRicochet6", 0xE8D1 ), // glyphnumber: 268, Ricochet (6 tones) - std::pair( "accdnRicochetStem2", 0xE8D2 ), // glyphnumber: 269, Combining ricochet for stem (2 tones) - std::pair( "accdnRicochetStem3", 0xE8D3 ), // glyphnumber: 270, Combining ricochet for stem (3 tones) - std::pair( "accdnRicochetStem4", 0xE8D4 ), // glyphnumber: 271, Combining ricochet for stem (4 tones) - std::pair( "accdnRicochetStem5", 0xE8D5 ), // glyphnumber: 272, Combining ricochet for stem (5 tones) - std::pair( "accdnRicochetStem6", 0xE8D6 ), // glyphnumber: 273, Combining ricochet for stem (6 tones) - std::pair( "accidental1CommaFlat", 0xE454 ), // glyphnumber: 274, 1-comma flat - std::pair( "accidental1CommaSharp", 0xE450 ), // glyphnumber: 275, 1-comma sharp - std::pair( "accidental2CommaFlat", 0xE455 ), // glyphnumber: 276, 2-comma flat - std::pair( "accidental2CommaSharp", 0xE451 ), // glyphnumber: 277, 2-comma sharp - std::pair( "accidental3CommaFlat", 0xE456 ), // glyphnumber: 278, 3-comma flat - std::pair( "accidental3CommaSharp", 0xE452 ), // glyphnumber: 279, 3-comma sharp - std::pair( "accidental4CommaFlat", 0xE457 ), // glyphnumber: 280, 4-comma flat - std::pair( "accidental5CommaSharp", 0xE453 ), // glyphnumber: 281, 5-comma sharp - std::pair( "accidentalArrowDown", 0xE27B ), // glyphnumber: 282, Arrow down (lower by one quarter-tone) - std::pair( "accidentalArrowUp", 0xE27A ), // glyphnumber: 283, Arrow up (raise by one quarter-tone) - std::pair( "accidentalBakiyeFlat", 0xE442 ), // glyphnumber: 284, Bakiye (flat) - std::pair( "accidentalBakiyeSharp", 0xE445 ), // glyphnumber: 285, Bakiye (sharp) - std::pair( "accidentalBracketLeft", 0xE26C ), // glyphnumber: 286, Accidental bracket, left - std::pair( "accidentalBracketRight", 0xE26D ), // glyphnumber: 287, Accidental bracket, right - std::pair( "accidentalBuyukMucennebFlat", 0xE440 ), // glyphnumber: 288, Büyük mücenneb (flat) - std::pair( "accidentalBuyukMucennebSharp", 0xE447 ), // glyphnumber: 289, Büyük mücenneb (sharp) - std::pair( "accidentalCombiningCloseCurlyBrace", 0xE2EF ), // glyphnumber: 290, Combining close curly brace - std::pair( "accidentalCombiningLower17Schisma", 0xE2E6 ), // glyphnumber: 291, Combining lower by one 17-limit schisma - std::pair( "accidentalCombiningLower19Schisma", 0xE2E8 ), // glyphnumber: 292, Combining lower by one 19-limit schisma - std::pair( "accidentalCombiningLower23Limit29LimitComma", 0xE2EA ), // glyphnumber: 293, Combining lower by one 23-limit comma or 29-limit comma - std::pair( "accidentalCombiningLower31Schisma", 0xE2EC ), // glyphnumber: 294, Combining lower by one 31-limit schisma - std::pair( "accidentalCombiningLower53LimitComma", 0xE2F7 ), // glyphnumber: 295, Combining lower by one 53-limit comma - std::pair( "accidentalCombiningOpenCurlyBrace", 0xE2EE ), // glyphnumber: 296, Combining open curly brace - std::pair( "accidentalCombiningRaise17Schisma", 0xE2E7 ), // glyphnumber: 297, Combining raise by one 17-limit schisma - std::pair( "accidentalCombiningRaise19Schisma", 0xE2E9 ), // glyphnumber: 298, Combining raise by one 19-limit schisma - std::pair( "accidentalCombiningRaise23Limit29LimitComma", 0xE2EB ), // glyphnumber: 299, Combining raise by one 23-limit comma or 29-limit comma - std::pair( "accidentalCombiningRaise31Schisma", 0xE2ED ), // glyphnumber: 300, Combining raise by one 31-limit schisma - std::pair( "accidentalCombiningRaise53LimitComma", 0xE2F8 ), // glyphnumber: 301, Combining raise by one 53-limit comma - std::pair( "accidentalCommaSlashDown", 0xE47A ), // glyphnumber: 302, Syntonic/Didymus comma (80:81) down (Bosanquet) - std::pair( "accidentalCommaSlashUp", 0xE479 ), // glyphnumber: 303, Syntonic/Didymus comma (80:81) up (Bosanquet) - std::pair( "accidentalDoubleFlat", 0xE264 ), // glyphnumber: 304, Double flat - std::pair( "accidentalDoubleFlatArabic", 0xED30 ), // glyphnumber: 305, Arabic double flat - std::pair( "accidentalDoubleFlatEqualTempered", 0xE2F0 ), // glyphnumber: 306, Double flat equal tempered semitone - std::pair( "accidentalDoubleFlatOneArrowDown", 0xE2C0 ), // glyphnumber: 307, Double flat lowered by one syntonic comma - std::pair( "accidentalDoubleFlatOneArrowUp", 0xE2C5 ), // glyphnumber: 308, Double flat raised by one syntonic comma - std::pair( "accidentalDoubleFlatReversed", 0xE483 ), // glyphnumber: 309, Reversed double flat - std::pair( "accidentalDoubleFlatThreeArrowsDown", 0xE2D4 ), // glyphnumber: 310, Double flat lowered by three syntonic commas - std::pair( "accidentalDoubleFlatThreeArrowsUp", 0xE2D9 ), // glyphnumber: 311, Double flat raised by three syntonic commas - std::pair( "accidentalDoubleFlatTurned", 0xE485 ), // glyphnumber: 312, Turned double flat - std::pair( "accidentalDoubleFlatTwoArrowsDown", 0xE2CA ), // glyphnumber: 313, Double flat lowered by two syntonic commas - std::pair( "accidentalDoubleFlatTwoArrowsUp", 0xE2CF ), // glyphnumber: 314, Double flat raised by two syntonic commas - std::pair( "accidentalDoubleSharp", 0xE263 ), // glyphnumber: 315, Double sharp - std::pair( "accidentalDoubleSharpArabic", 0xED38 ), // glyphnumber: 316, Arabic double sharp - std::pair( "accidentalDoubleSharpEqualTempered", 0xE2F4 ), // glyphnumber: 317, Double sharp equal tempered semitone - std::pair( "accidentalDoubleSharpOneArrowDown", 0xE2C4 ), // glyphnumber: 318, Double sharp lowered by one syntonic comma - std::pair( "accidentalDoubleSharpOneArrowUp", 0xE2C9 ), // glyphnumber: 319, Double sharp raised by one syntonic comma - std::pair( "accidentalDoubleSharpThreeArrowsDown", 0xE2D8 ), // glyphnumber: 320, Double sharp lowered by three syntonic commas - std::pair( "accidentalDoubleSharpThreeArrowsUp", 0xE2DD ), // glyphnumber: 321, Double sharp raised by three syntonic commas - std::pair( "accidentalDoubleSharpTwoArrowsDown", 0xE2CE ), // glyphnumber: 322, Double sharp lowered by two syntonic commas - std::pair( "accidentalDoubleSharpTwoArrowsUp", 0xE2D3 ), // glyphnumber: 323, Double sharp raised by two syntonic commas - std::pair( "accidentalEnharmonicAlmostEqualTo", 0xE2FA ), // glyphnumber: 324, Enharmonically reinterpret accidental almost equal to - std::pair( "accidentalEnharmonicEquals", 0xE2FB ), // glyphnumber: 325, Enharmonically reinterpret accidental equals - std::pair( "accidentalEnharmonicTilde", 0xE2F9 ), // glyphnumber: 326, Enharmonically reinterpret accidental tilde - std::pair( "accidentalFilledReversedFlatAndFlat", 0xE296 ), // glyphnumber: 327, Filled reversed flat and flat - std::pair( "accidentalFilledReversedFlatAndFlatArrowDown", 0xE298 ), // glyphnumber: 328, Filled reversed flat and flat with arrow down - std::pair( "accidentalFilledReversedFlatAndFlatArrowUp", 0xE297 ), // glyphnumber: 329, Filled reversed flat and flat with arrow up - std::pair( "accidentalFilledReversedFlatArrowDown", 0xE293 ), // glyphnumber: 330, Filled reversed flat with arrow down - std::pair( "accidentalFilledReversedFlatArrowUp", 0xE292 ), // glyphnumber: 331, Filled reversed flat with arrow up - std::pair( "accidentalFiveQuarterTonesFlatArrowDown", 0xE279 ), // glyphnumber: 332, Five-quarter-tones flat - std::pair( "accidentalFiveQuarterTonesSharpArrowUp", 0xE276 ), // glyphnumber: 333, Five-quarter-tones sharp - std::pair( "accidentalFlat", 0xE260 ), // glyphnumber: 334, Flat - std::pair( "accidentalFlatArabic", 0xED32 ), // glyphnumber: 335, Arabic half-tone flat - std::pair( "accidentalFlatEqualTempered", 0xE2F1 ), // glyphnumber: 336, Flat equal tempered semitone - std::pair( "accidentalFlatLoweredStockhausen", 0xED53 ), // glyphnumber: 337, Lowered flat (Stockhausen) - std::pair( "accidentalFlatOneArrowDown", 0xE2C1 ), // glyphnumber: 338, Flat lowered by one syntonic comma - std::pair( "accidentalFlatOneArrowUp", 0xE2C6 ), // glyphnumber: 339, Flat raised by one syntonic comma - std::pair( "accidentalFlatRaisedStockhausen", 0xED52 ), // glyphnumber: 340, Raised flat (Stockhausen) - std::pair( "accidentalFlatRepeatedLineStockhausen", 0xED5C ), // glyphnumber: 341, Repeated flat, note on line (Stockhausen) - std::pair( "accidentalFlatRepeatedSpaceStockhausen", 0xED5B ), // glyphnumber: 342, Repeated flat, note in space (Stockhausen) - std::pair( "accidentalFlatThreeArrowsDown", 0xE2D5 ), // glyphnumber: 343, Flat lowered by three syntonic commas - std::pair( "accidentalFlatThreeArrowsUp", 0xE2DA ), // glyphnumber: 344, Flat raised by three syntonic commas - std::pair( "accidentalFlatTurned", 0xE484 ), // glyphnumber: 345, Turned flat - std::pair( "accidentalFlatTwoArrowsDown", 0xE2CB ), // glyphnumber: 346, Flat lowered by two syntonic commas - std::pair( "accidentalFlatTwoArrowsUp", 0xE2D0 ), // glyphnumber: 347, Flat raised by two syntonic commas - std::pair( "accidentalHalfSharpArrowDown", 0xE29A ), // glyphnumber: 348, Half sharp with arrow down - std::pair( "accidentalHalfSharpArrowUp", 0xE299 ), // glyphnumber: 349, Half sharp with arrow up - std::pair( "accidentalJohnston13", 0xE2B6 ), // glyphnumber: 350, Thirteen (raise by 65:64) - std::pair( "accidentalJohnston31", 0xE2B7 ), // glyphnumber: 351, Inverted 13 (lower by 65:64) - std::pair( "accidentalJohnstonDown", 0xE2B5 ), // glyphnumber: 352, Down arrow (lower by 33:32) - std::pair( "accidentalJohnstonEl", 0xE2B2 ), // glyphnumber: 353, Inverted seven (raise by 36:35) - std::pair( "accidentalJohnstonMinus", 0xE2B1 ), // glyphnumber: 354, Minus (lower by 81:80) - std::pair( "accidentalJohnstonPlus", 0xE2B0 ), // glyphnumber: 355, Plus (raise by 81:80) - std::pair( "accidentalJohnstonSeven", 0xE2B3 ), // glyphnumber: 356, Seven (lower by 36:35) - std::pair( "accidentalJohnstonUp", 0xE2B4 ), // glyphnumber: 357, Up arrow (raise by 33:32) - std::pair( "accidentalKomaFlat", 0xE443 ), // glyphnumber: 358, Koma (flat) - std::pair( "accidentalKomaSharp", 0xE444 ), // glyphnumber: 359, Koma (sharp) - std::pair( "accidentalKoron", 0xE460 ), // glyphnumber: 360, Koron (quarter tone flat) - std::pair( "accidentalKucukMucennebFlat", 0xE441 ), // glyphnumber: 361, Küçük mücenneb (flat) - std::pair( "accidentalKucukMucennebSharp", 0xE446 ), // glyphnumber: 362, Küçük mücenneb (sharp) - std::pair( "accidentalLargeDoubleSharp", 0xE47D ), // glyphnumber: 363, Large double sharp - std::pair( "accidentalLowerOneSeptimalComma", 0xE2DE ), // glyphnumber: 364, Lower by one septimal comma - std::pair( "accidentalLowerOneTridecimalQuartertone", 0xE2E4 ), // glyphnumber: 365, Lower by one tridecimal quartertone - std::pair( "accidentalLowerOneUndecimalQuartertone", 0xE2E2 ), // glyphnumber: 366, Lower by one undecimal quartertone - std::pair( "accidentalLowerTwoSeptimalCommas", 0xE2E0 ), // glyphnumber: 367, Lower by two septimal commas - std::pair( "accidentalLoweredStockhausen", 0xED51 ), // glyphnumber: 368, Lowered (Stockhausen) - std::pair( "accidentalNarrowReversedFlat", 0xE284 ), // glyphnumber: 369, Narrow reversed flat(quarter-tone flat) - std::pair( "accidentalNarrowReversedFlatAndFlat", 0xE285 ), // glyphnumber: 370, Narrow reversed flat and flat(three-quarter-tones flat) - std::pair( "accidentalNatural", 0xE261 ), // glyphnumber: 371, Natural - std::pair( "accidentalNaturalArabic", 0xED34 ), // glyphnumber: 372, Arabic natural - std::pair( "accidentalNaturalEqualTempered", 0xE2F2 ), // glyphnumber: 373, Natural equal tempered semitone - std::pair( "accidentalNaturalFlat", 0xE267 ), // glyphnumber: 374, Natural flat - std::pair( "accidentalNaturalLoweredStockhausen", 0xED55 ), // glyphnumber: 375, Lowered natural (Stockhausen) - std::pair( "accidentalNaturalOneArrowDown", 0xE2C2 ), // glyphnumber: 376, Natural lowered by one syntonic comma - std::pair( "accidentalNaturalOneArrowUp", 0xE2C7 ), // glyphnumber: 377, Natural raised by one syntonic comma - std::pair( "accidentalNaturalRaisedStockhausen", 0xED54 ), // glyphnumber: 378, Raised natural (Stockhausen) - std::pair( "accidentalNaturalReversed", 0xE482 ), // glyphnumber: 379, Reversed natural - std::pair( "accidentalNaturalSharp", 0xE268 ), // glyphnumber: 380, Natural sharp - std::pair( "accidentalNaturalThreeArrowsDown", 0xE2D6 ), // glyphnumber: 381, Natural lowered by three syntonic commas - std::pair( "accidentalNaturalThreeArrowsUp", 0xE2DB ), // glyphnumber: 382, Natural raised by three syntonic commas - std::pair( "accidentalNaturalTwoArrowsDown", 0xE2CC ), // glyphnumber: 383, Natural lowered by two syntonic commas - std::pair( "accidentalNaturalTwoArrowsUp", 0xE2D1 ), // glyphnumber: 384, Natural raised by two syntonic commas - std::pair( "accidentalOneAndAHalfSharpsArrowDown", 0xE29C ), // glyphnumber: 385, One and a half sharps with arrow down - std::pair( "accidentalOneAndAHalfSharpsArrowUp", 0xE29B ), // glyphnumber: 386, One and a half sharps with arrow up - std::pair( "accidentalOneQuarterToneFlatFerneyhough", 0xE48F ), // glyphnumber: 387, One-quarter-tone flat (Ferneyhough) - std::pair( "accidentalOneQuarterToneFlatStockhausen", 0xED59 ), // glyphnumber: 388, One-quarter-tone flat (Stockhausen) - std::pair( "accidentalOneQuarterToneSharpFerneyhough", 0xE48E ), // glyphnumber: 389, One-quarter-tone sharp (Ferneyhough) - std::pair( "accidentalOneQuarterToneSharpStockhausen", 0xED58 ), // glyphnumber: 390, One-quarter-tone sharp (Stockhausen) - std::pair( "accidentalOneThirdToneFlatFerneyhough", 0xE48B ), // glyphnumber: 391, One-third-tone flat (Ferneyhough) - std::pair( "accidentalOneThirdToneSharpFerneyhough", 0xE48A ), // glyphnumber: 392, One-third-tone sharp (Ferneyhough) - std::pair( "accidentalParensLeft", 0xE26A ), // glyphnumber: 393, Accidental parenthesis, left - std::pair( "accidentalParensRight", 0xE26B ), // glyphnumber: 394, Accidental parenthesis, right - std::pair( "accidentalQuarterFlatEqualTempered", 0xE2F5 ), // glyphnumber: 395, Lower by one equal tempered quarter-tone - std::pair( "accidentalQuarterSharpEqualTempered", 0xE2F6 ), // glyphnumber: 396, Raise by one equal tempered quarter tone - std::pair( "accidentalQuarterToneFlat4", 0xE47F ), // glyphnumber: 397, Quarter-tone flat - std::pair( "accidentalQuarterToneFlatArabic", 0xED33 ), // glyphnumber: 398, Arabic quarter-tone flat - std::pair( "accidentalQuarterToneFlatArrowUp", 0xE270 ), // glyphnumber: 399, Quarter-tone flat - std::pair( "accidentalQuarterToneFlatFilledReversed", 0xE480 ), // glyphnumber: 400, Filled reversed flat (quarter-tone flat) - std::pair( "accidentalQuarterToneFlatNaturalArrowDown", 0xE273 ), // glyphnumber: 401, Quarter-tone flat - std::pair( "accidentalQuarterToneFlatPenderecki", 0xE478 ), // glyphnumber: 402, Quarter tone flat (Penderecki) - std::pair( "accidentalQuarterToneFlatStein", 0xE280 ), // glyphnumber: 403, Reversed flat (quarter-tone flat) (Stein) - std::pair( "accidentalQuarterToneFlatVanBlankenburg", 0xE488 ), // glyphnumber: 404, Quarter-tone flat (van Blankenburg) - std::pair( "accidentalQuarterToneSharp4", 0xE47E ), // glyphnumber: 405, Quarter-tone sharp - std::pair( "accidentalQuarterToneSharpArabic", 0xED35 ), // glyphnumber: 406, Arabic quarter-tone sharp - std::pair( "accidentalQuarterToneSharpArrowDown", 0xE275 ), // glyphnumber: 407, Quarter-tone sharp - std::pair( "accidentalQuarterToneSharpBusotti", 0xE472 ), // glyphnumber: 408, Quarter tone sharp (Bussotti) - std::pair( "accidentalQuarterToneSharpNaturalArrowUp", 0xE272 ), // glyphnumber: 409, Quarter-tone sharp - std::pair( "accidentalQuarterToneSharpStein", 0xE282 ), // glyphnumber: 410, Half sharp (quarter-tone sharp) (Stein) - std::pair( "accidentalQuarterToneSharpWiggle", 0xE475 ), // glyphnumber: 411, Quarter tone sharp with wiggly tail - std::pair( "accidentalRaiseOneSeptimalComma", 0xE2DF ), // glyphnumber: 412, Raise by one septimal comma - std::pair( "accidentalRaiseOneTridecimalQuartertone", 0xE2E5 ), // glyphnumber: 413, Raise by one tridecimal quartertone - std::pair( "accidentalRaiseOneUndecimalQuartertone", 0xE2E3 ), // glyphnumber: 414, Raise by one undecimal quartertone - std::pair( "accidentalRaiseTwoSeptimalCommas", 0xE2E1 ), // glyphnumber: 415, Raise by two septimal commas - std::pair( "accidentalRaisedStockhausen", 0xED50 ), // glyphnumber: 416, Raised (Stockhausen) - std::pair( "accidentalReversedFlatAndFlatArrowDown", 0xE295 ), // glyphnumber: 417, Reversed flat and flat with arrow down - std::pair( "accidentalReversedFlatAndFlatArrowUp", 0xE294 ), // glyphnumber: 418, Reversed flat and flat with arrow up - std::pair( "accidentalReversedFlatArrowDown", 0xE291 ), // glyphnumber: 419, Reversed flat with arrow down - std::pair( "accidentalReversedFlatArrowUp", 0xE290 ), // glyphnumber: 420, Reversed flat with arrow up - std::pair( "accidentalSharp", 0xE262 ), // glyphnumber: 421, Sharp - std::pair( "accidentalSharpArabic", 0xED36 ), // glyphnumber: 422, Arabic half-tone sharp - std::pair( "accidentalSharpEqualTempered", 0xE2F3 ), // glyphnumber: 423, Sharp equal tempered semitone - std::pair( "accidentalSharpLoweredStockhausen", 0xED57 ), // glyphnumber: 424, Lowered sharp (Stockhausen) - std::pair( "accidentalSharpOneArrowDown", 0xE2C3 ), // glyphnumber: 425, Sharp lowered by one syntonic comma - std::pair( "accidentalSharpOneArrowUp", 0xE2C8 ), // glyphnumber: 426, Sharp raised by one syntonic comma - std::pair( "accidentalSharpOneHorizontalStroke", 0xE473 ), // glyphnumber: 427, One or three quarter tones sharp - std::pair( "accidentalSharpRaisedStockhausen", 0xED56 ), // glyphnumber: 428, Raised sharp (Stockhausen) - std::pair( "accidentalSharpRepeatedLineStockhausen", 0xED5E ), // glyphnumber: 429, Repeated sharp, note on line (Stockhausen) - std::pair( "accidentalSharpRepeatedSpaceStockhausen", 0xED5D ), // glyphnumber: 430, Repeated sharp, note in space (Stockhausen) - std::pair( "accidentalSharpReversed", 0xE481 ), // glyphnumber: 431, Reversed sharp - std::pair( "accidentalSharpSharp", 0xE269 ), // glyphnumber: 432, Sharp sharp - std::pair( "accidentalSharpThreeArrowsDown", 0xE2D7 ), // glyphnumber: 433, Sharp lowered by three syntonic commas - std::pair( "accidentalSharpThreeArrowsUp", 0xE2DC ), // glyphnumber: 434, Sharp raised by three syntonic commas - std::pair( "accidentalSharpTwoArrowsDown", 0xE2CD ), // glyphnumber: 435, Sharp lowered by two syntonic commas - std::pair( "accidentalSharpTwoArrowsUp", 0xE2D2 ), // glyphnumber: 436, Sharp raised by two syntonic commas - std::pair( "accidentalSims12Down", 0xE2A0 ), // glyphnumber: 437, 1/12 tone low - std::pair( "accidentalSims12Up", 0xE2A3 ), // glyphnumber: 438, 1/12 tone high - std::pair( "accidentalSims4Down", 0xE2A2 ), // glyphnumber: 439, 1/4 tone low - std::pair( "accidentalSims4Up", 0xE2A5 ), // glyphnumber: 440, 1/4 tone high - std::pair( "accidentalSims6Down", 0xE2A1 ), // glyphnumber: 441, 1/6 tone low - std::pair( "accidentalSims6Up", 0xE2A4 ), // glyphnumber: 442, 1/6 tone high - std::pair( "accidentalSori", 0xE461 ), // glyphnumber: 443, Sori (quarter tone sharp) - std::pair( "accidentalTavenerFlat", 0xE477 ), // glyphnumber: 444, Byzantine-style Bakiye flat (Tavener) - std::pair( "accidentalTavenerSharp", 0xE476 ), // glyphnumber: 445, Byzantine-style Büyük mücenneb sharp (Tavener) - std::pair( "accidentalThreeQuarterTonesFlatArabic", 0xED31 ), // glyphnumber: 446, Arabic three-quarter-tones flat - std::pair( "accidentalThreeQuarterTonesFlatArrowDown", 0xE271 ), // glyphnumber: 447, Three-quarter-tones flat - std::pair( "accidentalThreeQuarterTonesFlatArrowUp", 0xE278 ), // glyphnumber: 448, Three-quarter-tones flat - std::pair( "accidentalThreeQuarterTonesFlatCouper", 0xE489 ), // glyphnumber: 449, Three-quarter-tones flat (Couper) - std::pair( "accidentalThreeQuarterTonesFlatGrisey", 0xE486 ), // glyphnumber: 450, Three-quarter-tones flat (Grisey) - std::pair( "accidentalThreeQuarterTonesFlatTartini", 0xE487 ), // glyphnumber: 451, Three-quarter-tones flat (Tartini) - std::pair( "accidentalThreeQuarterTonesFlatZimmermann", 0xE281 ), // glyphnumber: 452, Reversed flat and flat (three-quarter-tones flat)(Zimmermann) - std::pair( "accidentalThreeQuarterTonesSharpArabic", 0xED37 ), // glyphnumber: 453, Arabic three-quarter-tones sharp - std::pair( "accidentalThreeQuarterTonesSharpArrowDown", 0xE277 ), // glyphnumber: 454, Three-quarter-tones sharp - std::pair( "accidentalThreeQuarterTonesSharpArrowUp", 0xE274 ), // glyphnumber: 455, Three-quarter-tones sharp - std::pair( "accidentalThreeQuarterTonesSharpBusotti", 0xE474 ), // glyphnumber: 456, Three quarter tones sharp (Bussotti) - std::pair( "accidentalThreeQuarterTonesSharpStein", 0xE283 ), // glyphnumber: 457, One and a half sharps (three-quarter-tones sharp) (Stein) - std::pair( "accidentalThreeQuarterTonesSharpStockhausen", 0xED5A ), // glyphnumber: 458, Three-quarter-tones sharp (Stockhausen) - std::pair( "accidentalTripleFlat", 0xE266 ), // glyphnumber: 459, Triple flat - std::pair( "accidentalTripleSharp", 0xE265 ), // glyphnumber: 460, Triple sharp - std::pair( "accidentalTwoThirdTonesFlatFerneyhough", 0xE48D ), // glyphnumber: 461, Two-third-tones flat (Ferneyhough) - std::pair( "accidentalTwoThirdTonesSharpFerneyhough", 0xE48C ), // glyphnumber: 462, Two-third-tones sharp (Ferneyhough) - std::pair( "accidentalWilsonMinus", 0xE47C ), // glyphnumber: 463, Wilson minus (5 comma down) - std::pair( "accidentalWilsonPlus", 0xE47B ), // glyphnumber: 464, Wilson plus (5 comma up) - std::pair( "accidentalWyschnegradsky10TwelfthsFlat", 0xE434 ), // glyphnumber: 465, 5/6 tone flat - std::pair( "accidentalWyschnegradsky10TwelfthsSharp", 0xE429 ), // glyphnumber: 466, 5/6 tone sharp - std::pair( "accidentalWyschnegradsky11TwelfthsFlat", 0xE435 ), // glyphnumber: 467, 11/12 tone flat - std::pair( "accidentalWyschnegradsky11TwelfthsSharp", 0xE42A ), // glyphnumber: 468, 11/12 tone sharp - std::pair( "accidentalWyschnegradsky1TwelfthsFlat", 0xE42B ), // glyphnumber: 469, 1/12 tone flat - std::pair( "accidentalWyschnegradsky1TwelfthsSharp", 0xE420 ), // glyphnumber: 470, 1/12 tone sharp - std::pair( "accidentalWyschnegradsky2TwelfthsFlat", 0xE42C ), // glyphnumber: 471, 1/6 tone flat - std::pair( "accidentalWyschnegradsky2TwelfthsSharp", 0xE421 ), // glyphnumber: 472, 1/6 tone sharp - std::pair( "accidentalWyschnegradsky3TwelfthsFlat", 0xE42D ), // glyphnumber: 473, 1/4 tone flat - std::pair( "accidentalWyschnegradsky3TwelfthsSharp", 0xE422 ), // glyphnumber: 474, 1/4 tone sharp - std::pair( "accidentalWyschnegradsky4TwelfthsFlat", 0xE42E ), // glyphnumber: 475, 1/3 tone flat - std::pair( "accidentalWyschnegradsky4TwelfthsSharp", 0xE423 ), // glyphnumber: 476, 1/3 tone sharp - std::pair( "accidentalWyschnegradsky5TwelfthsFlat", 0xE42F ), // glyphnumber: 477, 5/12 tone flat - std::pair( "accidentalWyschnegradsky5TwelfthsSharp", 0xE424 ), // glyphnumber: 478, 5/12 tone sharp - std::pair( "accidentalWyschnegradsky6TwelfthsFlat", 0xE430 ), // glyphnumber: 479, 1/2 tone flat - std::pair( "accidentalWyschnegradsky6TwelfthsSharp", 0xE425 ), // glyphnumber: 480, 1/2 tone sharp - std::pair( "accidentalWyschnegradsky7TwelfthsFlat", 0xE431 ), // glyphnumber: 481, 7/12 tone flat - std::pair( "accidentalWyschnegradsky7TwelfthsSharp", 0xE426 ), // glyphnumber: 482, 7/12 tone sharp - std::pair( "accidentalWyschnegradsky8TwelfthsFlat", 0xE432 ), // glyphnumber: 483, 2/3 tone flat - std::pair( "accidentalWyschnegradsky8TwelfthsSharp", 0xE427 ), // glyphnumber: 484, 2/3 tone sharp - std::pair( "accidentalWyschnegradsky9TwelfthsFlat", 0xE433 ), // glyphnumber: 485, 3/4 tone flat - std::pair( "accidentalWyschnegradsky9TwelfthsSharp", 0xE428 ), // glyphnumber: 486, 3/4 tone sharp - std::pair( "accidentalXenakisOneThirdToneSharp", 0xE470 ), // glyphnumber: 487, One-third-tone sharp (Xenakis) - std::pair( "accidentalXenakisTwoThirdTonesSharp", 0xE471 ), // glyphnumber: 488, Two-third-tones sharp (Xenakis) - std::pair( "analyticsChoralmelodie", 0xE86A ), // glyphnumber: 489, Choralmelodie (Berg) - std::pair( "analyticsEndStimme", 0xE863 ), // glyphnumber: 490, End of stimme - std::pair( "analyticsHauptrhythmus", 0xE86B ), // glyphnumber: 491, Hauptrhythmus (Berg) - std::pair( "analyticsHauptstimme", 0xE860 ), // glyphnumber: 492, Hauptstimme - std::pair( "analyticsInversion1", 0xE869 ), // glyphnumber: 493, Inversion 1 - std::pair( "analyticsNebenstimme", 0xE861 ), // glyphnumber: 494, Nebenstimme - std::pair( "analyticsStartStimme", 0xE862 ), // glyphnumber: 495, Start of stimme - std::pair( "analyticsTheme", 0xE864 ), // glyphnumber: 496, Theme - std::pair( "analyticsTheme1", 0xE868 ), // glyphnumber: 497, Theme 1 - std::pair( "analyticsThemeInversion", 0xE867 ), // glyphnumber: 498, Inversion of theme - std::pair( "analyticsThemeRetrograde", 0xE865 ), // glyphnumber: 499, Retrograde of theme - std::pair( "analyticsThemeRetrogradeInversion", 0xE866 ), // glyphnumber: 500, Retrograde inversion of theme - std::pair( "arpeggiatoDown", 0xE635 ), // glyphnumber: 501, Arpeggiato down - std::pair( "arpeggiatoUp", 0xE634 ), // glyphnumber: 502, Arpeggiato up - std::pair( "arrowBlackDown", 0xEB64 ), // glyphnumber: 503, Black arrow down (S) - std::pair( "arrowBlackDownLeft", 0xEB65 ), // glyphnumber: 504, Black arrow down-left (SW) - std::pair( "arrowBlackDownRight", 0xEB63 ), // glyphnumber: 505, Black arrow down-right (SE) - std::pair( "arrowBlackLeft", 0xEB66 ), // glyphnumber: 506, Black arrow left (W) - std::pair( "arrowBlackRight", 0xEB62 ), // glyphnumber: 507, Black arrow right (E) - std::pair( "arrowBlackUp", 0xEB60 ), // glyphnumber: 508, Black arrow up (N) - std::pair( "arrowBlackUpLeft", 0xEB67 ), // glyphnumber: 509, Black arrow up-left (NW) - std::pair( "arrowBlackUpRight", 0xEB61 ), // glyphnumber: 510, Black arrow up-right (NE) - std::pair( "arrowOpenDown", 0xEB74 ), // glyphnumber: 511, Open arrow down (S) - std::pair( "arrowOpenDownLeft", 0xEB75 ), // glyphnumber: 512, Open arrow down-left (SW) - std::pair( "arrowOpenDownRight", 0xEB73 ), // glyphnumber: 513, Open arrow down-right (SE) - std::pair( "arrowOpenLeft", 0xEB76 ), // glyphnumber: 514, Open arrow left (W) - std::pair( "arrowOpenRight", 0xEB72 ), // glyphnumber: 515, Open arrow right (E) - std::pair( "arrowOpenUp", 0xEB70 ), // glyphnumber: 516, Open arrow up (N) - std::pair( "arrowOpenUpLeft", 0xEB77 ), // glyphnumber: 517, Open arrow up-left (NW) - std::pair( "arrowOpenUpRight", 0xEB71 ), // glyphnumber: 518, Open arrow up-right (NE) - std::pair( "arrowWhiteDown", 0xEB6C ), // glyphnumber: 519, White arrow down (S) - std::pair( "arrowWhiteDownLeft", 0xEB6D ), // glyphnumber: 520, White arrow down-left (SW) - std::pair( "arrowWhiteDownRight", 0xEB6B ), // glyphnumber: 521, White arrow down-right (SE) - std::pair( "arrowWhiteLeft", 0xEB6E ), // glyphnumber: 522, White arrow left (W) - std::pair( "arrowWhiteRight", 0xEB6A ), // glyphnumber: 523, White arrow right (E) - std::pair( "arrowWhiteUp", 0xEB68 ), // glyphnumber: 524, White arrow up (N) - std::pair( "arrowWhiteUpLeft", 0xEB6F ), // glyphnumber: 525, White arrow up-left (NW) - std::pair( "arrowWhiteUpRight", 0xEB69 ), // glyphnumber: 526, White arrow up-right (NE) - std::pair( "arrowheadBlackDown", 0xEB7C ), // glyphnumber: 527, Black arrowhead down (S) - std::pair( "arrowheadBlackDownLeft", 0xEB7D ), // glyphnumber: 528, Black arrowhead down-left (SW) - std::pair( "arrowheadBlackDownRight", 0xEB7B ), // glyphnumber: 529, Black arrowhead down-right (SE) - std::pair( "arrowheadBlackLeft", 0xEB7E ), // glyphnumber: 530, Black arrowhead left (W) - std::pair( "arrowheadBlackRight", 0xEB7A ), // glyphnumber: 531, Black arrowhead right (E) - std::pair( "arrowheadBlackUp", 0xEB78 ), // glyphnumber: 532, Black arrowhead up (N) - std::pair( "arrowheadBlackUpLeft", 0xEB7F ), // glyphnumber: 533, Black arrowhead up-left (NW) - std::pair( "arrowheadBlackUpRight", 0xEB79 ), // glyphnumber: 534, Black arrowhead up-right (NE) - std::pair( "arrowheadOpenDown", 0xEB8C ), // glyphnumber: 535, Open arrowhead down (S) - std::pair( "arrowheadOpenDownLeft", 0xEB8D ), // glyphnumber: 536, Open arrowhead down-left (SW) - std::pair( "arrowheadOpenDownRight", 0xEB8B ), // glyphnumber: 537, Open arrowhead down-right (SE) - std::pair( "arrowheadOpenLeft", 0xEB8E ), // glyphnumber: 538, Open arrowhead left (W) - std::pair( "arrowheadOpenRight", 0xEB8A ), // glyphnumber: 539, Open arrowhead right (E) - std::pair( "arrowheadOpenUp", 0xEB88 ), // glyphnumber: 540, Open arrowhead up (N) - std::pair( "arrowheadOpenUpLeft", 0xEB8F ), // glyphnumber: 541, Open arrowhead up-left (NW) - std::pair( "arrowheadOpenUpRight", 0xEB89 ), // glyphnumber: 542, Open arrowhead up-right (NE) - std::pair( "arrowheadWhiteDown", 0xEB84 ), // glyphnumber: 543, White arrowhead down (S) - std::pair( "arrowheadWhiteDownLeft", 0xEB85 ), // glyphnumber: 544, White arrowhead down-left (SW) - std::pair( "arrowheadWhiteDownRight", 0xEB83 ), // glyphnumber: 545, White arrowhead down-right (SE) - std::pair( "arrowheadWhiteLeft", 0xEB86 ), // glyphnumber: 546, White arrowhead left (W) - std::pair( "arrowheadWhiteRight", 0xEB82 ), // glyphnumber: 547, White arrowhead right (E) - std::pair( "arrowheadWhiteUp", 0xEB80 ), // glyphnumber: 548, White arrowhead up (N) - std::pair( "arrowheadWhiteUpLeft", 0xEB87 ), // glyphnumber: 549, White arrowhead up-left (NW) - std::pair( "arrowheadWhiteUpRight", 0xEB81 ), // glyphnumber: 550, White arrowhead up-right (NE) - std::pair( "articAccentAbove", 0xE4A0 ), // glyphnumber: 551, Accent above - std::pair( "articAccentBelow", 0xE4A1 ), // glyphnumber: 552, Accent below - std::pair( "articAccentStaccatoAbove", 0xE4B0 ), // glyphnumber: 553, Accent-staccato above - std::pair( "articAccentStaccatoBelow", 0xE4B1 ), // glyphnumber: 554, Accent-staccato below - std::pair( "articLaissezVibrerAbove", 0xE4BA ), // glyphnumber: 555, Laissez vibrer (l.v.) above - std::pair( "articLaissezVibrerBelow", 0xE4BB ), // glyphnumber: 556, Laissez vibrer (l.v.) below - std::pair( "articMarcatoAbove", 0xE4AC ), // glyphnumber: 557, Marcato above - std::pair( "articMarcatoBelow", 0xE4AD ), // glyphnumber: 558, Marcato below - std::pair( "articMarcatoStaccatoAbove", 0xE4AE ), // glyphnumber: 559, Marcato-staccato above - std::pair( "articMarcatoStaccatoBelow", 0xE4AF ), // glyphnumber: 560, Marcato-staccato below - std::pair( "articMarcatoTenutoAbove", 0xE4BC ), // glyphnumber: 561, Marcato-tenuto above - std::pair( "articMarcatoTenutoBelow", 0xE4BD ), // glyphnumber: 562, Marcato-tenuto below - std::pair( "articSoftAccentAbove", 0xED40 ), // glyphnumber: 563, Soft accent above - std::pair( "articSoftAccentBelow", 0xED41 ), // glyphnumber: 564, Soft accent below - std::pair( "articSoftAccentStaccatoAbove", 0xED42 ), // glyphnumber: 565, Soft accent-staccato above - std::pair( "articSoftAccentStaccatoBelow", 0xED43 ), // glyphnumber: 566, Soft accent-staccato below - std::pair( "articSoftAccentTenutoAbove", 0xED44 ), // glyphnumber: 567, Soft accent-tenuto above - std::pair( "articSoftAccentTenutoBelow", 0xED45 ), // glyphnumber: 568, Soft accent-tenuto below - std::pair( "articSoftAccentTenutoStaccatoAbove", 0xED46 ), // glyphnumber: 569, Soft accent-tenuto-staccato above - std::pair( "articSoftAccentTenutoStaccatoBelow", 0xED47 ), // glyphnumber: 570, Soft accent-tenuto-staccato below - std::pair( "articStaccatissimoAbove", 0xE4A6 ), // glyphnumber: 571, Staccatissimo above - std::pair( "articStaccatissimoBelow", 0xE4A7 ), // glyphnumber: 572, Staccatissimo below - std::pair( "articStaccatissimoStrokeAbove", 0xE4AA ), // glyphnumber: 573, Staccatissimo stroke above - std::pair( "articStaccatissimoStrokeBelow", 0xE4AB ), // glyphnumber: 574, Staccatissimo stroke below - std::pair( "articStaccatissimoWedgeAbove", 0xE4A8 ), // glyphnumber: 575, Staccatissimo wedge above - std::pair( "articStaccatissimoWedgeBelow", 0xE4A9 ), // glyphnumber: 576, Staccatissimo wedge below - std::pair( "articStaccatoAbove", 0xE4A2 ), // glyphnumber: 577, Staccato above - std::pair( "articStaccatoBelow", 0xE4A3 ), // glyphnumber: 578, Staccato below - std::pair( "articStressAbove", 0xE4B6 ), // glyphnumber: 579, Stress above - std::pair( "articStressBelow", 0xE4B7 ), // glyphnumber: 580, Stress below - std::pair( "articTenutoAbove", 0xE4A4 ), // glyphnumber: 581, Tenuto above - std::pair( "articTenutoAccentAbove", 0xE4B4 ), // glyphnumber: 582, Tenuto-accent above - std::pair( "articTenutoAccentBelow", 0xE4B5 ), // glyphnumber: 583, Tenuto-accent below - std::pair( "articTenutoBelow", 0xE4A5 ), // glyphnumber: 584, Tenuto below - std::pair( "articTenutoStaccatoAbove", 0xE4B2 ), // glyphnumber: 585, Louré (tenuto-staccato) above - std::pair( "articTenutoStaccatoBelow", 0xE4B3 ), // glyphnumber: 586, Louré (tenuto-staccato) below - std::pair( "articUnstressAbove", 0xE4B8 ), // glyphnumber: 587, Unstress above - std::pair( "articUnstressBelow", 0xE4B9 ), // glyphnumber: 588, Unstress below - std::pair( "augmentationDot", 0xE1E7 ), // glyphnumber: 589, Augmentation dot - std::pair( "barlineDashed", 0xE036 ), // glyphnumber: 590, Dashed barline - std::pair( "barlineDotted", 0xE037 ), // glyphnumber: 591, Dotted barline - std::pair( "barlineDouble", 0xE031 ), // glyphnumber: 592, Double barline - std::pair( "barlineFinal", 0xE032 ), // glyphnumber: 593, Final barline - std::pair( "barlineHeavy", 0xE034 ), // glyphnumber: 594, Heavy barline - std::pair( "barlineHeavyHeavy", 0xE035 ), // glyphnumber: 595, Heavy double barline - std::pair( "barlineReverseFinal", 0xE033 ), // glyphnumber: 596, Reverse final barline - std::pair( "barlineShort", 0xE038 ), // glyphnumber: 597, Short barline - std::pair( "barlineSingle", 0xE030 ), // glyphnumber: 598, Single barline - std::pair( "barlineTick", 0xE039 ), // glyphnumber: 599, Tick barline - std::pair( "beamAccelRit1", 0xEAF4 ), // glyphnumber: 600, Accel./rit. beam 1 (widest) - std::pair( "beamAccelRit10", 0xEAFD ), // glyphnumber: 601, Accel./rit. beam 10 - std::pair( "beamAccelRit11", 0xEAFE ), // glyphnumber: 602, Accel./rit. beam 11 - std::pair( "beamAccelRit12", 0xEAFF ), // glyphnumber: 603, Accel./rit. beam 12 - std::pair( "beamAccelRit13", 0xEB00 ), // glyphnumber: 604, Accel./rit. beam 13 - std::pair( "beamAccelRit14", 0xEB01 ), // glyphnumber: 605, Accel./rit. beam 14 - std::pair( "beamAccelRit15", 0xEB02 ), // glyphnumber: 606, Accel./rit. beam 15 (narrowest) - std::pair( "beamAccelRit2", 0xEAF5 ), // glyphnumber: 607, Accel./rit. beam 2 - std::pair( "beamAccelRit3", 0xEAF6 ), // glyphnumber: 608, Accel./rit. beam 3 - std::pair( "beamAccelRit4", 0xEAF7 ), // glyphnumber: 609, Accel./rit. beam 4 - std::pair( "beamAccelRit5", 0xEAF8 ), // glyphnumber: 610, Accel./rit. beam 5 - std::pair( "beamAccelRit6", 0xEAF9 ), // glyphnumber: 611, Accel./rit. beam 6 - std::pair( "beamAccelRit7", 0xEAFA ), // glyphnumber: 612, Accel./rit. beam 7 - std::pair( "beamAccelRit8", 0xEAFB ), // glyphnumber: 613, Accel./rit. beam 8 - std::pair( "beamAccelRit9", 0xEAFC ), // glyphnumber: 614, Accel./rit. beam 9 - std::pair( "beamAccelRitFinal", 0xEB03 ), // glyphnumber: 615, Accel./rit. beam terminating line - std::pair( "brace", 0xE000 ), // glyphnumber: 616, Brace - std::pair( "bracket", 0xE002 ), // glyphnumber: 617, Bracket - std::pair( "bracketBottom", 0xE004 ), // glyphnumber: 618, Bracket bottom - std::pair( "bracketTop", 0xE003 ), // glyphnumber: 619, Bracket top - std::pair( "brassBend", 0xE5E3 ), // glyphnumber: 620, Bend - std::pair( "brassDoitLong", 0xE5D6 ), // glyphnumber: 621, Doit, long - std::pair( "brassDoitMedium", 0xE5D5 ), // glyphnumber: 622, Doit, medium - std::pair( "brassDoitShort", 0xE5D4 ), // glyphnumber: 623, Doit, short - std::pair( "brassFallLipLong", 0xE5D9 ), // glyphnumber: 624, Lip fall, long - std::pair( "brassFallLipMedium", 0xE5D8 ), // glyphnumber: 625, Lip fall, medium - std::pair( "brassFallLipShort", 0xE5D7 ), // glyphnumber: 626, Lip fall, short - std::pair( "brassFallRoughLong", 0xE5DF ), // glyphnumber: 627, Rough fall, long - std::pair( "brassFallRoughMedium", 0xE5DE ), // glyphnumber: 628, Rough fall, medium - std::pair( "brassFallRoughShort", 0xE5DD ), // glyphnumber: 629, Rough fall, short - std::pair( "brassFallSmoothLong", 0xE5DC ), // glyphnumber: 630, Smooth fall, long - std::pair( "brassFallSmoothMedium", 0xE5DB ), // glyphnumber: 631, Smooth fall, medium - std::pair( "brassFallSmoothShort", 0xE5DA ), // glyphnumber: 632, Smooth fall, short - std::pair( "brassFlip", 0xE5E1 ), // glyphnumber: 633, Flip - std::pair( "brassHarmonMuteClosed", 0xE5E8 ), // glyphnumber: 634, Harmon mute, stem in - std::pair( "brassHarmonMuteStemHalfLeft", 0xE5E9 ), // glyphnumber: 635, Harmon mute, stem extended, left - std::pair( "brassHarmonMuteStemHalfRight", 0xE5EA ), // glyphnumber: 636, Harmon mute, stem extended, right - std::pair( "brassHarmonMuteStemOpen", 0xE5EB ), // glyphnumber: 637, Harmon mute, stem out - std::pair( "brassJazzTurn", 0xE5E4 ), // glyphnumber: 638, Jazz turn - std::pair( "brassLiftLong", 0xE5D3 ), // glyphnumber: 639, Lift, long - std::pair( "brassLiftMedium", 0xE5D2 ), // glyphnumber: 640, Lift, medium - std::pair( "brassLiftShort", 0xE5D1 ), // glyphnumber: 641, Lift, short - std::pair( "brassLiftSmoothLong", 0xE5EE ), // glyphnumber: 642, Smooth lift, long - std::pair( "brassLiftSmoothMedium", 0xE5ED ), // glyphnumber: 643, Smooth lift, medium - std::pair( "brassLiftSmoothShort", 0xE5EC ), // glyphnumber: 644, Smooth lift, short - std::pair( "brassMuteClosed", 0xE5E5 ), // glyphnumber: 645, Muted (closed) - std::pair( "brassMuteHalfClosed", 0xE5E6 ), // glyphnumber: 646, Half-muted (half-closed) - std::pair( "brassMuteOpen", 0xE5E7 ), // glyphnumber: 647, Open - std::pair( "brassPlop", 0xE5E0 ), // glyphnumber: 648, Plop - std::pair( "brassScoop", 0xE5D0 ), // glyphnumber: 649, Scoop - std::pair( "brassSmear", 0xE5E2 ), // glyphnumber: 650, Smear - std::pair( "brassValveTrill", 0xE5EF ), // glyphnumber: 651, Valve trill - std::pair( "breathMarkComma", 0xE4CE ), // glyphnumber: 652, Breath mark (comma) - std::pair( "breathMarkSalzedo", 0xE4D5 ), // glyphnumber: 653, Breath mark (Salzedo) - std::pair( "breathMarkTick", 0xE4CF ), // glyphnumber: 654, Breath mark (tick-like) - std::pair( "breathMarkUpbow", 0xE4D0 ), // glyphnumber: 655, Breath mark (upbow-like) - std::pair( "bridgeClef", 0xE078 ), // glyphnumber: 656, Bridge clef - std::pair( "buzzRoll", 0xE22A ), // glyphnumber: 657, Buzz roll - std::pair( "cClef", 0xE05C ), // glyphnumber: 658, C clef - std::pair( "cClef8vb", 0xE05D ), // glyphnumber: 659, C clef ottava bassa - std::pair( "cClefArrowDown", 0xE05F ), // glyphnumber: 660, C clef, arrow down - std::pair( "cClefArrowUp", 0xE05E ), // glyphnumber: 661, C clef, arrow up - std::pair( "cClefChange", 0xE07B ), // glyphnumber: 662, C clef change - std::pair( "cClefCombining", 0xE061 ), // glyphnumber: 663, Combining C clef - std::pair( "cClefReversed", 0xE075 ), // glyphnumber: 664, Reversed C clef - std::pair( "cClefSquare", 0xE060 ), // glyphnumber: 665, C clef (19th century) - std::pair( "caesura", 0xE4D1 ), // glyphnumber: 666, Caesura - std::pair( "caesuraCurved", 0xE4D4 ), // glyphnumber: 667, Curved caesura - std::pair( "caesuraShort", 0xE4D3 ), // glyphnumber: 668, Short caesura - std::pair( "caesuraThick", 0xE4D2 ), // glyphnumber: 669, Thick caesura - std::pair( "chantAccentusAbove", 0xE9D6 ), // glyphnumber: 670, Accentus above - std::pair( "chantAccentusBelow", 0xE9D7 ), // glyphnumber: 671, Accentus below - std::pair( "chantAuctumAsc", 0xE994 ), // glyphnumber: 672, Punctum auctum, ascending - std::pair( "chantAuctumDesc", 0xE995 ), // glyphnumber: 673, Punctum auctum, descending - std::pair( "chantAugmentum", 0xE9D9 ), // glyphnumber: 674, Augmentum (mora) - std::pair( "chantCaesura", 0xE8F8 ), // glyphnumber: 675, Caesura - std::pair( "chantCclef", 0xE906 ), // glyphnumber: 676, Plainchant C clef - std::pair( "chantCirculusAbove", 0xE9D2 ), // glyphnumber: 677, Circulus above - std::pair( "chantCirculusBelow", 0xE9D3 ), // glyphnumber: 678, Circulus below - std::pair( "chantConnectingLineAsc2nd", 0xE9BD ), // glyphnumber: 679, Connecting line, ascending 2nd - std::pair( "chantConnectingLineAsc3rd", 0xE9BE ), // glyphnumber: 680, Connecting line, ascending 3rd - std::pair( "chantConnectingLineAsc4th", 0xE9BF ), // glyphnumber: 681, Connecting line, ascending 4th - std::pair( "chantConnectingLineAsc5th", 0xE9C0 ), // glyphnumber: 682, Connecting line, ascending 5th - std::pair( "chantConnectingLineAsc6th", 0xE9C1 ), // glyphnumber: 683, Connecting line, ascending 6th - std::pair( "chantCustosStemDownPosHigh", 0xEA08 ), // glyphnumber: 684, Plainchant custos, stem down, high position - std::pair( "chantCustosStemDownPosHighest", 0xEA09 ), // glyphnumber: 685, Plainchant custos, stem down, highest position - std::pair( "chantCustosStemDownPosMiddle", 0xEA07 ), // glyphnumber: 686, Plainchant custos, stem down, middle position - std::pair( "chantCustosStemUpPosLow", 0xEA05 ), // glyphnumber: 687, Plainchant custos, stem up, low position - std::pair( "chantCustosStemUpPosLowest", 0xEA04 ), // glyphnumber: 688, Plainchant custos, stem up, lowest position - std::pair( "chantCustosStemUpPosMiddle", 0xEA06 ), // glyphnumber: 689, Plainchant custos, stem up, middle position - std::pair( "chantDeminutumLower", 0xE9B3 ), // glyphnumber: 690, Punctum deminutum, lower - std::pair( "chantDeminutumUpper", 0xE9B2 ), // glyphnumber: 691, Punctum deminutum, upper - std::pair( "chantDivisioFinalis", 0xE8F6 ), // glyphnumber: 692, Divisio finalis - std::pair( "chantDivisioMaior", 0xE8F4 ), // glyphnumber: 693, Divisio maior - std::pair( "chantDivisioMaxima", 0xE8F5 ), // glyphnumber: 694, Divisio maxima - std::pair( "chantDivisioMinima", 0xE8F3 ), // glyphnumber: 695, Divisio minima - std::pair( "chantEntryLineAsc2nd", 0xE9B4 ), // glyphnumber: 696, Entry line, ascending 2nd - std::pair( "chantEntryLineAsc3rd", 0xE9B5 ), // glyphnumber: 697, Entry line, ascending 3rd - std::pair( "chantEntryLineAsc4th", 0xE9B6 ), // glyphnumber: 698, Entry line, ascending 4th - std::pair( "chantEntryLineAsc5th", 0xE9B7 ), // glyphnumber: 699, Entry line, ascending 5th - std::pair( "chantEntryLineAsc6th", 0xE9B8 ), // glyphnumber: 700, Entry line, ascending 6th - std::pair( "chantEpisema", 0xE9D8 ), // glyphnumber: 701, Episema - std::pair( "chantFclef", 0xE902 ), // glyphnumber: 702, Plainchant F clef - std::pair( "chantIctusAbove", 0xE9D0 ), // glyphnumber: 703, Ictus above - std::pair( "chantIctusBelow", 0xE9D1 ), // glyphnumber: 704, Ictus below - std::pair( "chantLigaturaDesc2nd", 0xE9B9 ), // glyphnumber: 705, Ligated stroke, descending 2nd - std::pair( "chantLigaturaDesc3rd", 0xE9BA ), // glyphnumber: 706, Ligated stroke, descending 3rd - std::pair( "chantLigaturaDesc4th", 0xE9BB ), // glyphnumber: 707, Ligated stroke, descending 4th - std::pair( "chantLigaturaDesc5th", 0xE9BC ), // glyphnumber: 708, Ligated stroke, descending 5th - std::pair( "chantOriscusAscending", 0xE99C ), // glyphnumber: 709, Oriscus ascending - std::pair( "chantOriscusDescending", 0xE99D ), // glyphnumber: 710, Oriscus descending - std::pair( "chantOriscusLiquescens", 0xE99E ), // glyphnumber: 711, Oriscus liquescens - std::pair( "chantPodatusLower", 0xE9B0 ), // glyphnumber: 712, Podatus, lower - std::pair( "chantPodatusUpper", 0xE9B1 ), // glyphnumber: 713, Podatus, upper - std::pair( "chantPunctum", 0xE990 ), // glyphnumber: 714, Punctum - std::pair( "chantPunctumCavum", 0xE998 ), // glyphnumber: 715, Punctum cavum - std::pair( "chantPunctumDeminutum", 0xE9A1 ), // glyphnumber: 716, Punctum deminutum - std::pair( "chantPunctumInclinatum", 0xE991 ), // glyphnumber: 717, Punctum inclinatum - std::pair( "chantPunctumInclinatumAuctum", 0xE992 ), // glyphnumber: 718, Punctum inclinatum auctum - std::pair( "chantPunctumInclinatumDeminutum", 0xE993 ), // glyphnumber: 719, Punctum inclinatum deminutum - std::pair( "chantPunctumLinea", 0xE999 ), // glyphnumber: 720, Punctum linea - std::pair( "chantPunctumLineaCavum", 0xE99A ), // glyphnumber: 721, Punctum linea cavum - std::pair( "chantPunctumVirga", 0xE996 ), // glyphnumber: 722, Punctum virga - std::pair( "chantPunctumVirgaReversed", 0xE997 ), // glyphnumber: 723, Punctum virga, reversed - std::pair( "chantQuilisma", 0xE99B ), // glyphnumber: 724, Quilisma - std::pair( "chantSemicirculusAbove", 0xE9D4 ), // glyphnumber: 725, Semicirculus above - std::pair( "chantSemicirculusBelow", 0xE9D5 ), // glyphnumber: 726, Semicirculus below - std::pair( "chantStaff", 0xE8F0 ), // glyphnumber: 727, Plainchant staff - std::pair( "chantStaffNarrow", 0xE8F2 ), // glyphnumber: 728, Plainchant staff (narrow) - std::pair( "chantStaffWide", 0xE8F1 ), // glyphnumber: 729, Plainchant staff (wide) - std::pair( "chantStrophicus", 0xE99F ), // glyphnumber: 730, Strophicus - std::pair( "chantStrophicusAuctus", 0xE9A0 ), // glyphnumber: 731, Strophicus auctus - std::pair( "chantStrophicusLiquescens2nd", 0xE9C2 ), // glyphnumber: 732, Strophicus liquescens, 2nd - std::pair( "chantStrophicusLiquescens3rd", 0xE9C3 ), // glyphnumber: 733, Strophicus liquescens, 3rd - std::pair( "chantStrophicusLiquescens4th", 0xE9C4 ), // glyphnumber: 734, Strophicus liquescens, 4th - std::pair( "chantStrophicusLiquescens5th", 0xE9C5 ), // glyphnumber: 735, Strophicus liquescens, 5th - std::pair( "chantVirgula", 0xE8F7 ), // glyphnumber: 736, Virgula - std::pair( "clef15", 0xE07E ), // glyphnumber: 737, 15 for clefs - std::pair( "clef8", 0xE07D ), // glyphnumber: 738, 8 for clefs - std::pair( "clefChangeCombining", 0xE07F ), // glyphnumber: 739, Combining clef change - std::pair( "coda", 0xE048 ), // glyphnumber: 740, Coda - std::pair( "codaSquare", 0xE049 ), // glyphnumber: 741, Square coda - std::pair( "conductorBeat2Compound", 0xE897 ), // glyphnumber: 742, Beat 2, compound time - std::pair( "conductorBeat2Simple", 0xE894 ), // glyphnumber: 743, Beat 2, simple time - std::pair( "conductorBeat3Compound", 0xE898 ), // glyphnumber: 744, Beat 3, compound time - std::pair( "conductorBeat3Simple", 0xE895 ), // glyphnumber: 745, Beat 3, simple time - std::pair( "conductorBeat4Compound", 0xE899 ), // glyphnumber: 746, Beat 4, compound time - std::pair( "conductorBeat4Simple", 0xE896 ), // glyphnumber: 747, Beat 4, simple time - std::pair( "conductorLeftBeat", 0xE891 ), // glyphnumber: 748, Left-hand beat or cue - std::pair( "conductorRightBeat", 0xE892 ), // glyphnumber: 749, Right-hand beat or cue - std::pair( "conductorStrongBeat", 0xE890 ), // glyphnumber: 750, Strong beat or cue - std::pair( "conductorUnconducted", 0xE89A ), // glyphnumber: 751, Unconducted/free passages - std::pair( "conductorWeakBeat", 0xE893 ), // glyphnumber: 752, Weak beat or cue - std::pair( "controlBeginBeam", 0xE8E0 ), // glyphnumber: 753, Begin beam - std::pair( "controlBeginPhrase", 0xE8E6 ), // glyphnumber: 754, Begin phrase - std::pair( "controlBeginSlur", 0xE8E4 ), // glyphnumber: 755, Begin slur - std::pair( "controlBeginTie", 0xE8E2 ), // glyphnumber: 756, Begin tie - std::pair( "controlEndBeam", 0xE8E1 ), // glyphnumber: 757, End beam - std::pair( "controlEndPhrase", 0xE8E7 ), // glyphnumber: 758, End phrase - std::pair( "controlEndSlur", 0xE8E5 ), // glyphnumber: 759, End slur - std::pair( "controlEndTie", 0xE8E3 ), // glyphnumber: 760, End tie - std::pair( "csymAugmented", 0xE872 ), // glyphnumber: 761, Augmented - std::pair( "csymBracketLeftTall", 0xE877 ), // glyphnumber: 762, Double-height left bracket - std::pair( "csymBracketRightTall", 0xE878 ), // glyphnumber: 763, Double-height right bracket - std::pair( "csymDiminished", 0xE870 ), // glyphnumber: 764, Diminished - std::pair( "csymHalfDiminished", 0xE871 ), // glyphnumber: 765, Half-diminished - std::pair( "csymMajorSeventh", 0xE873 ), // glyphnumber: 766, Major seventh - std::pair( "csymMinor", 0xE874 ), // glyphnumber: 767, Minor - std::pair( "csymParensLeftTall", 0xE875 ), // glyphnumber: 768, Double-height left parenthesis - std::pair( "csymParensRightTall", 0xE876 ), // glyphnumber: 769, Double-height right parenthesis - std::pair( "curlewSign", 0xE4D6 ), // glyphnumber: 770, Curlew (Britten) - std::pair( "daCapo", 0xE046 ), // glyphnumber: 771, Da capo - std::pair( "dalSegno", 0xE045 ), // glyphnumber: 772, Dal segno - std::pair( "daseianExcellentes1", 0xEA3C ), // glyphnumber: 773, Daseian excellentes 1 - std::pair( "daseianExcellentes2", 0xEA3D ), // glyphnumber: 774, Daseian excellentes 2 - std::pair( "daseianExcellentes3", 0xEA3E ), // glyphnumber: 775, Daseian excellentes 3 - std::pair( "daseianExcellentes4", 0xEA3F ), // glyphnumber: 776, Daseian excellentes 4 - std::pair( "daseianFinales1", 0xEA34 ), // glyphnumber: 777, Daseian finales 1 - std::pair( "daseianFinales2", 0xEA35 ), // glyphnumber: 778, Daseian finales 2 - std::pair( "daseianFinales3", 0xEA36 ), // glyphnumber: 779, Daseian finales 3 - std::pair( "daseianFinales4", 0xEA37 ), // glyphnumber: 780, Daseian finales 4 - std::pair( "daseianGraves1", 0xEA30 ), // glyphnumber: 781, Daseian graves 1 - std::pair( "daseianGraves2", 0xEA31 ), // glyphnumber: 782, Daseian graves 2 - std::pair( "daseianGraves3", 0xEA32 ), // glyphnumber: 783, Daseian graves 3 - std::pair( "daseianGraves4", 0xEA33 ), // glyphnumber: 784, Daseian graves 4 - std::pair( "daseianResidua1", 0xEA40 ), // glyphnumber: 785, Daseian residua 1 - std::pair( "daseianResidua2", 0xEA41 ), // glyphnumber: 786, Daseian residua 2 - std::pair( "daseianSuperiores1", 0xEA38 ), // glyphnumber: 787, Daseian superiores 1 - std::pair( "daseianSuperiores2", 0xEA39 ), // glyphnumber: 788, Daseian superiores 2 - std::pair( "daseianSuperiores3", 0xEA3A ), // glyphnumber: 789, Daseian superiores 3 - std::pair( "daseianSuperiores4", 0xEA3B ), // glyphnumber: 790, Daseian superiores 4 - std::pair( "doubleTongueAbove", 0xE5F0 ), // glyphnumber: 791, Double-tongue above - std::pair( "doubleTongueBelow", 0xE5F1 ), // glyphnumber: 792, Double-tongue below - std::pair( "dynamicCombinedSeparatorColon", 0xE546 ), // glyphnumber: 793, Colon separator for combined dynamics - std::pair( "dynamicCombinedSeparatorHyphen", 0xE547 ), // glyphnumber: 794, Hyphen separator for combined dynamics - std::pair( "dynamicCombinedSeparatorSpace", 0xE548 ), // glyphnumber: 795, Space separator for combined dynamics - std::pair( "dynamicCrescendoHairpin", 0xE53E ), // glyphnumber: 796, Crescendo - std::pair( "dynamicDiminuendoHairpin", 0xE53F ), // glyphnumber: 797, Diminuendo - std::pair( "dynamicFF", 0xE52F ), // glyphnumber: 798, ff - std::pair( "dynamicFFF", 0xE530 ), // glyphnumber: 799, fff - std::pair( "dynamicFFFF", 0xE531 ), // glyphnumber: 800, ffff - std::pair( "dynamicFFFFF", 0xE532 ), // glyphnumber: 801, fffff - std::pair( "dynamicFFFFFF", 0xE533 ), // glyphnumber: 802, ffffff - std::pair( "dynamicForte", 0xE522 ), // glyphnumber: 803, Forte - std::pair( "dynamicFortePiano", 0xE534 ), // glyphnumber: 804, Forte-piano - std::pair( "dynamicForzando", 0xE535 ), // glyphnumber: 805, Forzando - std::pair( "dynamicHairpinBracketLeft", 0xE544 ), // glyphnumber: 806, Left bracket (for hairpins) - std::pair( "dynamicHairpinBracketRight", 0xE545 ), // glyphnumber: 807, Right bracket (for hairpins) - std::pair( "dynamicHairpinParenthesisLeft", 0xE542 ), // glyphnumber: 808, Left parenthesis (for hairpins) - std::pair( "dynamicHairpinParenthesisRight", 0xE543 ), // glyphnumber: 809, Right parenthesis (for hairpins) - std::pair( "dynamicMF", 0xE52D ), // glyphnumber: 810, mf - std::pair( "dynamicMP", 0xE52C ), // glyphnumber: 811, mp - std::pair( "dynamicMessaDiVoce", 0xE540 ), // glyphnumber: 812, Messa di voce - std::pair( "dynamicMezzo", 0xE521 ), // glyphnumber: 813, Mezzo - std::pair( "dynamicNiente", 0xE526 ), // glyphnumber: 814, Niente - std::pair( "dynamicNienteForHairpin", 0xE541 ), // glyphnumber: 815, Niente (for hairpins) - std::pair( "dynamicPF", 0xE52E ), // glyphnumber: 816, pf - std::pair( "dynamicPP", 0xE52B ), // glyphnumber: 817, pp - std::pair( "dynamicPPP", 0xE52A ), // glyphnumber: 818, ppp - std::pair( "dynamicPPPP", 0xE529 ), // glyphnumber: 819, pppp - std::pair( "dynamicPPPPP", 0xE528 ), // glyphnumber: 820, ppppp - std::pair( "dynamicPPPPPP", 0xE527 ), // glyphnumber: 821, pppppp - std::pair( "dynamicPiano", 0xE520 ), // glyphnumber: 822, Piano - std::pair( "dynamicRinforzando", 0xE523 ), // glyphnumber: 823, Rinforzando - std::pair( "dynamicRinforzando1", 0xE53C ), // glyphnumber: 824, Rinforzando 1 - std::pair( "dynamicRinforzando2", 0xE53D ), // glyphnumber: 825, Rinforzando 2 - std::pair( "dynamicSforzando", 0xE524 ), // glyphnumber: 826, Sforzando - std::pair( "dynamicSforzando1", 0xE536 ), // glyphnumber: 827, Sforzando 1 - std::pair( "dynamicSforzandoPianissimo", 0xE538 ), // glyphnumber: 828, Sforzando-pianissimo - std::pair( "dynamicSforzandoPiano", 0xE537 ), // glyphnumber: 829, Sforzando-piano - std::pair( "dynamicSforzato", 0xE539 ), // glyphnumber: 830, Sforzato - std::pair( "dynamicSforzatoFF", 0xE53B ), // glyphnumber: 831, Sforzatissimo - std::pair( "dynamicSforzatoPiano", 0xE53A ), // glyphnumber: 832, Sforzato-piano - std::pair( "dynamicZ", 0xE525 ), // glyphnumber: 833, Z - std::pair( "elecAudioChannelsEight", 0xEB46 ), // glyphnumber: 834, Eight channels (7.1 surround) - std::pair( "elecAudioChannelsFive", 0xEB43 ), // glyphnumber: 835, Five channels - std::pair( "elecAudioChannelsFour", 0xEB42 ), // glyphnumber: 836, Four channels - std::pair( "elecAudioChannelsOne", 0xEB3E ), // glyphnumber: 837, One channel (mono) - std::pair( "elecAudioChannelsSeven", 0xEB45 ), // glyphnumber: 838, Seven channels - std::pair( "elecAudioChannelsSix", 0xEB44 ), // glyphnumber: 839, Six channels (5.1 surround) - std::pair( "elecAudioChannelsThreeFrontal", 0xEB40 ), // glyphnumber: 840, Three channels (frontal) - std::pair( "elecAudioChannelsThreeSurround", 0xEB41 ), // glyphnumber: 841, Three channels (surround) - std::pair( "elecAudioChannelsTwo", 0xEB3F ), // glyphnumber: 842, Two channels (stereo) - std::pair( "elecAudioIn", 0xEB49 ), // glyphnumber: 843, Audio in - std::pair( "elecAudioMono", 0xEB3C ), // glyphnumber: 844, Mono audio setup - std::pair( "elecAudioOut", 0xEB4A ), // glyphnumber: 845, Audio out - std::pair( "elecAudioStereo", 0xEB3D ), // glyphnumber: 846, Stereo audio setup - std::pair( "elecCamera", 0xEB1B ), // glyphnumber: 847, Camera - std::pair( "elecDataIn", 0xEB4D ), // glyphnumber: 848, Data in - std::pair( "elecDataOut", 0xEB4E ), // glyphnumber: 849, Data out - std::pair( "elecDisc", 0xEB13 ), // glyphnumber: 850, Disc - std::pair( "elecDownload", 0xEB4F ), // glyphnumber: 851, Download - std::pair( "elecEject", 0xEB2B ), // glyphnumber: 852, Eject - std::pair( "elecFastForward", 0xEB1F ), // glyphnumber: 853, Fast-forward - std::pair( "elecHeadphones", 0xEB11 ), // glyphnumber: 854, Headphones - std::pair( "elecHeadset", 0xEB12 ), // glyphnumber: 855, Headset - std::pair( "elecLineIn", 0xEB47 ), // glyphnumber: 856, Line in - std::pair( "elecLineOut", 0xEB48 ), // glyphnumber: 857, Line out - std::pair( "elecLoop", 0xEB23 ), // glyphnumber: 858, Loop - std::pair( "elecLoudspeaker", 0xEB1A ), // glyphnumber: 859, Loudspeaker - std::pair( "elecMIDIController0", 0xEB36 ), // glyphnumber: 860, MIDI controller 0% - std::pair( "elecMIDIController100", 0xEB3B ), // glyphnumber: 861, MIDI controller 100% - std::pair( "elecMIDIController20", 0xEB37 ), // glyphnumber: 862, MIDI controller 20% - std::pair( "elecMIDIController40", 0xEB38 ), // glyphnumber: 863, MIDI controller 40% - std::pair( "elecMIDIController60", 0xEB39 ), // glyphnumber: 864, MIDI controller 60% - std::pair( "elecMIDIController80", 0xEB3A ), // glyphnumber: 865, MIDI controller 80% - std::pair( "elecMIDIIn", 0xEB34 ), // glyphnumber: 866, MIDI in - std::pair( "elecMIDIOut", 0xEB35 ), // glyphnumber: 867, MIDI out - std::pair( "elecMicrophone", 0xEB10 ), // glyphnumber: 868, Microphone - std::pair( "elecMicrophoneMute", 0xEB28 ), // glyphnumber: 869, Mute microphone - std::pair( "elecMicrophoneUnmute", 0xEB29 ), // glyphnumber: 870, Unmute microphone - std::pair( "elecMixingConsole", 0xEB15 ), // glyphnumber: 871, Mixing console - std::pair( "elecMonitor", 0xEB18 ), // glyphnumber: 872, Monitor - std::pair( "elecMute", 0xEB26 ), // glyphnumber: 873, Mute - std::pair( "elecPause", 0xEB1E ), // glyphnumber: 874, Pause - std::pair( "elecPlay", 0xEB1C ), // glyphnumber: 875, Play - std::pair( "elecPowerOnOff", 0xEB2A ), // glyphnumber: 876, Power on/off - std::pair( "elecProjector", 0xEB19 ), // glyphnumber: 877, Projector - std::pair( "elecReplay", 0xEB24 ), // glyphnumber: 878, Replay - std::pair( "elecRewind", 0xEB20 ), // glyphnumber: 879, Rewind - std::pair( "elecShuffle", 0xEB25 ), // glyphnumber: 880, Shuffle - std::pair( "elecSkipBackwards", 0xEB22 ), // glyphnumber: 881, Skip backwards - std::pair( "elecSkipForwards", 0xEB21 ), // glyphnumber: 882, Skip forwards - std::pair( "elecStop", 0xEB1D ), // glyphnumber: 883, Stop - std::pair( "elecTape", 0xEB14 ), // glyphnumber: 884, Tape - std::pair( "elecUSB", 0xEB16 ), // glyphnumber: 885, USB connection - std::pair( "elecUnmute", 0xEB27 ), // glyphnumber: 886, Unmute - std::pair( "elecUpload", 0xEB50 ), // glyphnumber: 887, Upload - std::pair( "elecVideoCamera", 0xEB17 ), // glyphnumber: 888, Video camera - std::pair( "elecVideoIn", 0xEB4B ), // glyphnumber: 889, Video in - std::pair( "elecVideoOut", 0xEB4C ), // glyphnumber: 890, Video out - std::pair( "elecVolumeFader", 0xEB2C ), // glyphnumber: 891, Combining volume fader - std::pair( "elecVolumeFaderThumb", 0xEB2D ), // glyphnumber: 892, Combining volume fader thumb - std::pair( "elecVolumeLevel0", 0xEB2E ), // glyphnumber: 893, Volume level 0% - std::pair( "elecVolumeLevel100", 0xEB33 ), // glyphnumber: 894, Volume level 100% - std::pair( "elecVolumeLevel20", 0xEB2F ), // glyphnumber: 895, Volume level 20% - std::pair( "elecVolumeLevel40", 0xEB30 ), // glyphnumber: 896, Volume level 40% - std::pair( "elecVolumeLevel60", 0xEB31 ), // glyphnumber: 897, Volume level 60% - std::pair( "elecVolumeLevel80", 0xEB32 ), // glyphnumber: 898, Volume level 80% - std::pair( "fClef", 0xE062 ), // glyphnumber: 899, F clef - std::pair( "fClef15ma", 0xE066 ), // glyphnumber: 900, F clef quindicesima alta - std::pair( "fClef15mb", 0xE063 ), // glyphnumber: 901, F clef quindicesima bassa - std::pair( "fClef8va", 0xE065 ), // glyphnumber: 902, F clef ottava alta - std::pair( "fClef8vb", 0xE064 ), // glyphnumber: 903, F clef ottava bassa - std::pair( "fClefArrowDown", 0xE068 ), // glyphnumber: 904, F clef, arrow down - std::pair( "fClefArrowUp", 0xE067 ), // glyphnumber: 905, F clef, arrow up - std::pair( "fClefChange", 0xE07C ), // glyphnumber: 906, F clef change - std::pair( "fClefReversed", 0xE076 ), // glyphnumber: 907, Reversed F clef - std::pair( "fClefTurned", 0xE077 ), // glyphnumber: 908, Turned F clef - std::pair( "fermataAbove", 0xE4C0 ), // glyphnumber: 909, Fermata above - std::pair( "fermataBelow", 0xE4C1 ), // glyphnumber: 910, Fermata below - std::pair( "fermataLongAbove", 0xE4C6 ), // glyphnumber: 911, Long fermata above - std::pair( "fermataLongBelow", 0xE4C7 ), // glyphnumber: 912, Long fermata below - std::pair( "fermataLongHenzeAbove", 0xE4CA ), // glyphnumber: 913, Long fermata (Henze) above - std::pair( "fermataLongHenzeBelow", 0xE4CB ), // glyphnumber: 914, Long fermata (Henze) below - std::pair( "fermataShortAbove", 0xE4C4 ), // glyphnumber: 915, Short fermata above - std::pair( "fermataShortBelow", 0xE4C5 ), // glyphnumber: 916, Short fermata below - std::pair( "fermataShortHenzeAbove", 0xE4CC ), // glyphnumber: 917, Short fermata (Henze) above - std::pair( "fermataShortHenzeBelow", 0xE4CD ), // glyphnumber: 918, Short fermata (Henze) below - std::pair( "fermataVeryLongAbove", 0xE4C8 ), // glyphnumber: 919, Very long fermata above - std::pair( "fermataVeryLongBelow", 0xE4C9 ), // glyphnumber: 920, Very long fermata below - std::pair( "fermataVeryShortAbove", 0xE4C2 ), // glyphnumber: 921, Very short fermata above - std::pair( "fermataVeryShortBelow", 0xE4C3 ), // glyphnumber: 922, Very short fermata below - std::pair( "figbass0", 0xEA50 ), // glyphnumber: 923, Figured bass 0 - std::pair( "figbass1", 0xEA51 ), // glyphnumber: 924, Figured bass 1 - std::pair( "figbass2", 0xEA52 ), // glyphnumber: 925, Figured bass 2 - std::pair( "figbass2Raised", 0xEA53 ), // glyphnumber: 926, Figured bass 2 raised by half-step - std::pair( "figbass3", 0xEA54 ), // glyphnumber: 927, Figured bass 3 - std::pair( "figbass4", 0xEA55 ), // glyphnumber: 928, Figured bass 4 - std::pair( "figbass4Raised", 0xEA56 ), // glyphnumber: 929, Figured bass 4 raised by half-step - std::pair( "figbass5", 0xEA57 ), // glyphnumber: 930, Figured bass 5 - std::pair( "figbass5Raised1", 0xEA58 ), // glyphnumber: 931, Figured bass 5 raised by half-step - std::pair( "figbass5Raised2", 0xEA59 ), // glyphnumber: 932, Figured bass 5 raised by half-step 2 - std::pair( "figbass5Raised3", 0xEA5A ), // glyphnumber: 933, Figured bass diminished 5 - std::pair( "figbass6", 0xEA5B ), // glyphnumber: 934, Figured bass 6 - std::pair( "figbass6Raised", 0xEA5C ), // glyphnumber: 935, Figured bass 6 raised by half-step - std::pair( "figbass6Raised2", 0xEA6F ), // glyphnumber: 936, Figured bass 6 raised by half-step 2 - std::pair( "figbass7", 0xEA5D ), // glyphnumber: 937, Figured bass 7 - std::pair( "figbass7Diminished", 0xECC0 ), // glyphnumber: 938, Figured bass 7 diminished - std::pair( "figbass7Raised1", 0xEA5E ), // glyphnumber: 939, Figured bass 7 raised by half-step - std::pair( "figbass7Raised2", 0xEA5F ), // glyphnumber: 940, Figured bass 7 raised by a half-step 2 - std::pair( "figbass8", 0xEA60 ), // glyphnumber: 941, Figured bass 8 - std::pair( "figbass9", 0xEA61 ), // glyphnumber: 942, Figured bass 9 - std::pair( "figbass9Raised", 0xEA62 ), // glyphnumber: 943, Figured bass 9 raised by half-step - std::pair( "figbassBracketLeft", 0xEA68 ), // glyphnumber: 944, Figured bass [ - std::pair( "figbassBracketRight", 0xEA69 ), // glyphnumber: 945, Figured bass ] - std::pair( "figbassCombiningLowering", 0xEA6E ), // glyphnumber: 946, Combining lower - std::pair( "figbassCombiningRaising", 0xEA6D ), // glyphnumber: 947, Combining raise - std::pair( "figbassDoubleFlat", 0xEA63 ), // glyphnumber: 948, Figured bass double flat - std::pair( "figbassDoubleSharp", 0xEA67 ), // glyphnumber: 949, Figured bass double sharp - std::pair( "figbassFlat", 0xEA64 ), // glyphnumber: 950, Figured bass flat - std::pair( "figbassNatural", 0xEA65 ), // glyphnumber: 951, Figured bass natural - std::pair( "figbassParensLeft", 0xEA6A ), // glyphnumber: 952, Figured bass ( - std::pair( "figbassParensRight", 0xEA6B ), // glyphnumber: 953, Figured bass ) - std::pair( "figbassPlus", 0xEA6C ), // glyphnumber: 954, Figured bass + - std::pair( "figbassSharp", 0xEA66 ), // glyphnumber: 955, Figured bass sharp - std::pair( "fingering0", 0xED10 ), // glyphnumber: 956, Fingering 0 (open string) - std::pair( "fingering1", 0xED11 ), // glyphnumber: 957, Fingering 1 (thumb) - std::pair( "fingering2", 0xED12 ), // glyphnumber: 958, Fingering 2 (index finger) - std::pair( "fingering3", 0xED13 ), // glyphnumber: 959, Fingering 3 (middle finger) - std::pair( "fingering4", 0xED14 ), // glyphnumber: 960, Fingering 4 (ring finger) - std::pair( "fingering5", 0xED15 ), // glyphnumber: 961, Fingering 5 (little finger) - std::pair( "fingeringALower", 0xED1B ), // glyphnumber: 962, Fingering a (anular; right-hand ring finger for guitar) - std::pair( "fingeringCLower", 0xED1C ), // glyphnumber: 963, Fingering c (right-hand little finger for guitar) - std::pair( "fingeringELower", 0xED1E ), // glyphnumber: 964, Fingering e (right-hand little finger for guitar) - std::pair( "fingeringILower", 0xED19 ), // glyphnumber: 965, Fingering i (indicio; right-hand index finger for guitar) - std::pair( "fingeringMLower", 0xED1A ), // glyphnumber: 966, Fingering m (medio; right-hand middle finger for guitar) - std::pair( "fingeringMultipleNotes", 0xED23 ), // glyphnumber: 967, Multiple notes played by thumb or single finger - std::pair( "fingeringOLower", 0xED1F ), // glyphnumber: 968, Fingering o (right-hand little finger for guitar) - std::pair( "fingeringPLower", 0xED17 ), // glyphnumber: 969, Fingering p (pulgar; right-hand thumb for guitar) - std::pair( "fingeringSubstitutionAbove", 0xED20 ), // glyphnumber: 970, Finger substitution above - std::pair( "fingeringSubstitutionBelow", 0xED21 ), // glyphnumber: 971, Finger substitution below - std::pair( "fingeringSubstitutionDash", 0xED22 ), // glyphnumber: 972, Finger substitution dash - std::pair( "fingeringTLower", 0xED18 ), // glyphnumber: 973, Fingering t (right-hand thumb for guitar) - std::pair( "fingeringTUpper", 0xED16 ), // glyphnumber: 974, Fingering T (left-hand thumb for guitar) - std::pair( "fingeringXLower", 0xED1D ), // glyphnumber: 975, Fingering x (right-hand little finger for guitar) - std::pair( "flag1024thDown", 0xE24F ), // glyphnumber: 976, Combining flag 8 (1024th) below - std::pair( "flag1024thUp", 0xE24E ), // glyphnumber: 977, Combining flag 8 (1024th) above - std::pair( "flag128thDown", 0xE249 ), // glyphnumber: 978, Combining flag 5 (128th) below - std::pair( "flag128thUp", 0xE248 ), // glyphnumber: 979, Combining flag 5 (128th) above - std::pair( "flag16thDown", 0xE243 ), // glyphnumber: 980, Combining flag 2 (16th) below - std::pair( "flag16thUp", 0xE242 ), // glyphnumber: 981, Combining flag 2 (16th) above - std::pair( "flag256thDown", 0xE24B ), // glyphnumber: 982, Combining flag 6 (256th) below - std::pair( "flag256thUp", 0xE24A ), // glyphnumber: 983, Combining flag 6 (256th) above - std::pair( "flag32ndDown", 0xE245 ), // glyphnumber: 984, Combining flag 3 (32nd) below - std::pair( "flag32ndUp", 0xE244 ), // glyphnumber: 985, Combining flag 3 (32nd) above - std::pair( "flag512thDown", 0xE24D ), // glyphnumber: 986, Combining flag 7 (512th) below - std::pair( "flag512thUp", 0xE24C ), // glyphnumber: 987, Combining flag 7 (512th) above - std::pair( "flag64thDown", 0xE247 ), // glyphnumber: 988, Combining flag 4 (64th) below - std::pair( "flag64thUp", 0xE246 ), // glyphnumber: 989, Combining flag 4 (64th) above - std::pair( "flag8thDown", 0xE241 ), // glyphnumber: 990, Combining flag 1 (8th) below - std::pair( "flag8thUp", 0xE240 ), // glyphnumber: 991, Combining flag 1 (8th) above - std::pair( "flagInternalDown", 0xE251 ), // glyphnumber: 992, Internal combining flag below - std::pair( "flagInternalUp", 0xE250 ), // glyphnumber: 993, Internal combining flag above - std::pair( "fretboard3String", 0xE850 ), // glyphnumber: 994, 3-string fretboard - std::pair( "fretboard3StringNut", 0xE851 ), // glyphnumber: 995, 3-string fretboard at nut - std::pair( "fretboard4String", 0xE852 ), // glyphnumber: 996, 4-string fretboard - std::pair( "fretboard4StringNut", 0xE853 ), // glyphnumber: 997, 4-string fretboard at nut - std::pair( "fretboard5String", 0xE854 ), // glyphnumber: 998, 5-string fretboard - std::pair( "fretboard5StringNut", 0xE855 ), // glyphnumber: 999, 5-string fretboard at nut - std::pair( "fretboard6String", 0xE856 ), // glyphnumber: 1000, 6-string fretboard - std::pair( "fretboard6StringNut", 0xE857 ), // glyphnumber: 1001, 6-string fretboard at nut - std::pair( "fretboardFilledCircle", 0xE858 ), // glyphnumber: 1002, Fingered fret (filled circle) - std::pair( "fretboardO", 0xE85A ), // glyphnumber: 1003, Open string (O) - std::pair( "fretboardX", 0xE859 ), // glyphnumber: 1004, String not played (X) - std::pair( "functionAngleLeft", 0xEA93 ), // glyphnumber: 1005, Function theory angle bracket left - std::pair( "functionAngleRight", 0xEA94 ), // glyphnumber: 1006, Function theory angle bracket right - std::pair( "functionBracketLeft", 0xEA8F ), // glyphnumber: 1007, Function theory bracket left - std::pair( "functionBracketRight", 0xEA90 ), // glyphnumber: 1008, Function theory bracket right - std::pair( "functionDD", 0xEA81 ), // glyphnumber: 1009, Function theory dominant of dominant - std::pair( "functionDLower", 0xEA80 ), // glyphnumber: 1010, Function theory minor dominant - std::pair( "functionDUpper", 0xEA7F ), // glyphnumber: 1011, Function theory major dominant - std::pair( "functionEight", 0xEA78 ), // glyphnumber: 1012, Function theory 8 - std::pair( "functionFUpper", 0xEA99 ), // glyphnumber: 1013, Function theory F - std::pair( "functionFive", 0xEA75 ), // glyphnumber: 1014, Function theory 5 - std::pair( "functionFour", 0xEA74 ), // glyphnumber: 1015, Function theory 4 - std::pair( "functionGLower", 0xEA84 ), // glyphnumber: 1016, Function theory g - std::pair( "functionGUpper", 0xEA83 ), // glyphnumber: 1017, Function theory G - std::pair( "functionGreaterThan", 0xEA7C ), // glyphnumber: 1018, Function theory greater than - std::pair( "functionILower", 0xEA9B ), // glyphnumber: 1019, Function theory i - std::pair( "functionIUpper", 0xEA9A ), // glyphnumber: 1020, Function theory I - std::pair( "functionKLower", 0xEA9D ), // glyphnumber: 1021, Function theory k - std::pair( "functionKUpper", 0xEA9C ), // glyphnumber: 1022, Function theory K - std::pair( "functionLLower", 0xEA9F ), // glyphnumber: 1023, Function theory l - std::pair( "functionLUpper", 0xEA9E ), // glyphnumber: 1024, Function theory L - std::pair( "functionLessThan", 0xEA7A ), // glyphnumber: 1025, Function theory less than - std::pair( "functionMLower", 0xED01 ), // glyphnumber: 1026, Function theory m - std::pair( "functionMUpper", 0xED00 ), // glyphnumber: 1027, Function theory M - std::pair( "functionMinus", 0xEA7B ), // glyphnumber: 1028, Function theory minus - std::pair( "functionNLower", 0xEA86 ), // glyphnumber: 1029, Function theory n - std::pair( "functionNUpper", 0xEA85 ), // glyphnumber: 1030, Function theory N - std::pair( "functionNUpperSuperscript", 0xED02 ), // glyphnumber: 1031, Function theory superscript N - std::pair( "functionNine", 0xEA79 ), // glyphnumber: 1032, Function theory 9 - std::pair( "functionOne", 0xEA71 ), // glyphnumber: 1033, Function theory 1 - std::pair( "functionPLower", 0xEA88 ), // glyphnumber: 1034, Function theory p - std::pair( "functionPUpper", 0xEA87 ), // glyphnumber: 1035, Function theory P - std::pair( "functionParensLeft", 0xEA91 ), // glyphnumber: 1036, Function theory parenthesis left - std::pair( "functionParensRight", 0xEA92 ), // glyphnumber: 1037, Function theory parenthesis right - std::pair( "functionPlus", 0xEA98 ), // glyphnumber: 1038, Function theory prefix plus - std::pair( "functionRLower", 0xED03 ), // glyphnumber: 1039, Function theory r - std::pair( "functionRepetition1", 0xEA95 ), // glyphnumber: 1040, Function theory repetition 1 - std::pair( "functionRepetition2", 0xEA96 ), // glyphnumber: 1041, Function theory repetition 2 - std::pair( "functionRing", 0xEA97 ), // glyphnumber: 1042, Function theory prefix ring - std::pair( "functionSLower", 0xEA8A ), // glyphnumber: 1043, Function theory minor subdominant - std::pair( "functionSSLower", 0xEA7E ), // glyphnumber: 1044, Function theory minor subdominant of subdominant - std::pair( "functionSSUpper", 0xEA7D ), // glyphnumber: 1045, Function theory major subdominant of subdominant - std::pair( "functionSUpper", 0xEA89 ), // glyphnumber: 1046, Function theory major subdominant - std::pair( "functionSeven", 0xEA77 ), // glyphnumber: 1047, Function theory 7 - std::pair( "functionSix", 0xEA76 ), // glyphnumber: 1048, Function theory 6 - std::pair( "functionSlashedDD", 0xEA82 ), // glyphnumber: 1049, Function theory double dominant seventh - std::pair( "functionTLower", 0xEA8C ), // glyphnumber: 1050, Function theory minor tonic - std::pair( "functionTUpper", 0xEA8B ), // glyphnumber: 1051, Function theory tonic - std::pair( "functionThree", 0xEA73 ), // glyphnumber: 1052, Function theory 3 - std::pair( "functionTwo", 0xEA72 ), // glyphnumber: 1053, Function theory 2 - std::pair( "functionVLower", 0xEA8E ), // glyphnumber: 1054, Function theory v - std::pair( "functionVUpper", 0xEA8D ), // glyphnumber: 1055, Function theory V - std::pair( "functionZero", 0xEA70 ), // glyphnumber: 1056, Function theory 0 - std::pair( "gClef", 0xE050 ), // glyphnumber: 1057, G clef - std::pair( "gClef15ma", 0xE054 ), // glyphnumber: 1058, G clef quindicesima alta - std::pair( "gClef15mb", 0xE051 ), // glyphnumber: 1059, G clef quindicesima bassa - std::pair( "gClef8va", 0xE053 ), // glyphnumber: 1060, G clef ottava alta - std::pair( "gClef8vb", 0xE052 ), // glyphnumber: 1061, G clef ottava bassa - std::pair( "gClef8vbCClef", 0xE056 ), // glyphnumber: 1062, G clef ottava bassa with C clef - std::pair( "gClef8vbOld", 0xE055 ), // glyphnumber: 1063, G clef ottava bassa (old style) - std::pair( "gClef8vbParens", 0xE057 ), // glyphnumber: 1064, G clef, optionally ottava bassa - std::pair( "gClefArrowDown", 0xE05B ), // glyphnumber: 1065, G clef, arrow down - std::pair( "gClefArrowUp", 0xE05A ), // glyphnumber: 1066, G clef, arrow up - std::pair( "gClefChange", 0xE07A ), // glyphnumber: 1067, G clef change - std::pair( "gClefLigatedNumberAbove", 0xE059 ), // glyphnumber: 1068, Combining G clef, number above - std::pair( "gClefLigatedNumberBelow", 0xE058 ), // glyphnumber: 1069, Combining G clef, number below - std::pair( "gClefReversed", 0xE073 ), // glyphnumber: 1070, Reversed G clef - std::pair( "gClefTurned", 0xE074 ), // glyphnumber: 1071, Turned G clef - std::pair( "glissandoDown", 0xE586 ), // glyphnumber: 1072, Glissando down - std::pair( "glissandoUp", 0xE585 ), // glyphnumber: 1073, Glissando up - std::pair( "graceNoteAcciaccaturaStemDown", 0xE561 ), // glyphnumber: 1074, Slashed grace note stem down - std::pair( "graceNoteAcciaccaturaStemUp", 0xE560 ), // glyphnumber: 1075, Slashed grace note stem up - std::pair( "graceNoteAppoggiaturaStemDown", 0xE563 ), // glyphnumber: 1076, Grace note stem down - std::pair( "graceNoteAppoggiaturaStemUp", 0xE562 ), // glyphnumber: 1077, Grace note stem up - std::pair( "graceNoteSlashStemDown", 0xE565 ), // glyphnumber: 1078, Slash for stem down grace note - std::pair( "graceNoteSlashStemUp", 0xE564 ), // glyphnumber: 1079, Slash for stem up grace note - std::pair( "guitarBarreFull", 0xE848 ), // glyphnumber: 1080, Full barré - std::pair( "guitarBarreHalf", 0xE849 ), // glyphnumber: 1081, Half barré - std::pair( "guitarClosePedal", 0xE83F ), // glyphnumber: 1082, Closed wah/volume pedal - std::pair( "guitarFadeIn", 0xE843 ), // glyphnumber: 1083, Fade in - std::pair( "guitarFadeOut", 0xE844 ), // glyphnumber: 1084, Fade out - std::pair( "guitarGolpe", 0xE842 ), // glyphnumber: 1085, Golpe (tapping the pick guard) - std::pair( "guitarHalfOpenPedal", 0xE83E ), // glyphnumber: 1086, Half-open wah/volume pedal - std::pair( "guitarLeftHandTapping", 0xE840 ), // glyphnumber: 1087, Left-hand tapping - std::pair( "guitarOpenPedal", 0xE83D ), // glyphnumber: 1088, Open wah/volume pedal - std::pair( "guitarRightHandTapping", 0xE841 ), // glyphnumber: 1089, Right-hand tapping - std::pair( "guitarShake", 0xE832 ), // glyphnumber: 1090, Guitar shake - std::pair( "guitarString0", 0xE833 ), // glyphnumber: 1091, String number 0 - std::pair( "guitarString1", 0xE834 ), // glyphnumber: 1092, String number 1 - std::pair( "guitarString2", 0xE835 ), // glyphnumber: 1093, String number 2 - std::pair( "guitarString3", 0xE836 ), // glyphnumber: 1094, String number 3 - std::pair( "guitarString4", 0xE837 ), // glyphnumber: 1095, String number 4 - std::pair( "guitarString5", 0xE838 ), // glyphnumber: 1096, String number 5 - std::pair( "guitarString6", 0xE839 ), // glyphnumber: 1097, String number 6 - std::pair( "guitarString7", 0xE83A ), // glyphnumber: 1098, String number 7 - std::pair( "guitarString8", 0xE83B ), // glyphnumber: 1099, String number 8 - std::pair( "guitarString9", 0xE83C ), // glyphnumber: 1100, String number 9 - std::pair( "guitarStrumDown", 0xE847 ), // glyphnumber: 1101, Strum direction down - std::pair( "guitarStrumUp", 0xE846 ), // glyphnumber: 1102, Strum direction up - std::pair( "guitarVibratoBarDip", 0xE831 ), // glyphnumber: 1103, Guitar vibrato bar dip - std::pair( "guitarVibratoBarScoop", 0xE830 ), // glyphnumber: 1104, Guitar vibrato bar scoop - std::pair( "guitarVibratoStroke", 0xEAB2 ), // glyphnumber: 1105, Vibrato wiggle segment - std::pair( "guitarVolumeSwell", 0xE845 ), // glyphnumber: 1106, Volume swell - std::pair( "guitarWideVibratoStroke", 0xEAB3 ), // glyphnumber: 1107, Wide vibrato wiggle segment - std::pair( "handbellsBelltree", 0xE81F ), // glyphnumber: 1108, Belltree - std::pair( "handbellsDamp3", 0xE81E ), // glyphnumber: 1109, Damp 3 - std::pair( "handbellsEcho1", 0xE81B ), // glyphnumber: 1110, Echo - std::pair( "handbellsEcho2", 0xE81C ), // glyphnumber: 1111, Echo 2 - std::pair( "handbellsGyro", 0xE81D ), // glyphnumber: 1112, Gyro - std::pair( "handbellsHandMartellato", 0xE812 ), // glyphnumber: 1113, Hand martellato - std::pair( "handbellsMalletBellOnTable", 0xE815 ), // glyphnumber: 1114, Mallet, bell on table - std::pair( "handbellsMalletBellSuspended", 0xE814 ), // glyphnumber: 1115, Mallet, bell suspended - std::pair( "handbellsMalletLft", 0xE816 ), // glyphnumber: 1116, Mallet lift - std::pair( "handbellsMartellato", 0xE810 ), // glyphnumber: 1117, Martellato - std::pair( "handbellsMartellatoLift", 0xE811 ), // glyphnumber: 1118, Martellato lift - std::pair( "handbellsMutedMartellato", 0xE813 ), // glyphnumber: 1119, Muted martellato - std::pair( "handbellsPluckLift", 0xE817 ), // glyphnumber: 1120, Pluck lift - std::pair( "handbellsSwing", 0xE81A ), // glyphnumber: 1121, Swing - std::pair( "handbellsSwingDown", 0xE819 ), // glyphnumber: 1122, Swing down - std::pair( "handbellsSwingUp", 0xE818 ), // glyphnumber: 1123, Swing up - std::pair( "handbellsTablePairBells", 0xE821 ), // glyphnumber: 1124, Table pair of handbells - std::pair( "handbellsTableSingleBell", 0xE820 ), // glyphnumber: 1125, Table single handbell - std::pair( "harpMetalRod", 0xE68F ), // glyphnumber: 1126, Metal rod pictogram - std::pair( "harpPedalCentered", 0xE681 ), // glyphnumber: 1127, Harp pedal centered (natural) - std::pair( "harpPedalDivider", 0xE683 ), // glyphnumber: 1128, Harp pedal divider - std::pair( "harpPedalLowered", 0xE682 ), // glyphnumber: 1129, Harp pedal lowered (sharp) - std::pair( "harpPedalRaised", 0xE680 ), // glyphnumber: 1130, Harp pedal raised (flat) - std::pair( "harpSalzedoAeolianAscending", 0xE695 ), // glyphnumber: 1131, Ascending aeolian chords (Salzedo) - std::pair( "harpSalzedoAeolianDescending", 0xE696 ), // glyphnumber: 1132, Descending aeolian chords (Salzedo) - std::pair( "harpSalzedoDampAbove", 0xE69A ), // glyphnumber: 1133, Damp above (Salzedo) - std::pair( "harpSalzedoDampBelow", 0xE699 ), // glyphnumber: 1134, Damp below (Salzedo) - std::pair( "harpSalzedoDampBothHands", 0xE698 ), // glyphnumber: 1135, Damp with both hands (Salzedo) - std::pair( "harpSalzedoDampLowStrings", 0xE697 ), // glyphnumber: 1136, Damp only low strings (Salzedo) - std::pair( "harpSalzedoFluidicSoundsLeft", 0xE68D ), // glyphnumber: 1137, Fluidic sounds, left hand (Salzedo) - std::pair( "harpSalzedoFluidicSoundsRight", 0xE68E ), // glyphnumber: 1138, Fluidic sounds, right hand (Salzedo) - std::pair( "harpSalzedoIsolatedSounds", 0xE69C ), // glyphnumber: 1139, Isolated sounds (Salzedo) - std::pair( "harpSalzedoMetallicSounds", 0xE688 ), // glyphnumber: 1140, Metallic sounds (Salzedo) - std::pair( "harpSalzedoMetallicSoundsOneString", 0xE69B ), // glyphnumber: 1141, Metallic sounds, one string (Salzedo) - std::pair( "harpSalzedoMuffleTotally", 0xE68C ), // glyphnumber: 1142, Muffle totally (Salzedo) - std::pair( "harpSalzedoOboicFlux", 0xE685 ), // glyphnumber: 1143, Oboic flux (Salzedo) - std::pair( "harpSalzedoPlayUpperEnd", 0xE68A ), // glyphnumber: 1144, Play at upper end of strings (Salzedo) - std::pair( "harpSalzedoSlideWithSuppleness", 0xE684 ), // glyphnumber: 1145, Slide with suppleness (Salzedo) - std::pair( "harpSalzedoSnareDrum", 0xE69D ), // glyphnumber: 1146, Snare drum effect (Salzedo) - std::pair( "harpSalzedoTamTamSounds", 0xE689 ), // glyphnumber: 1147, Tam-tam sounds (Salzedo) - std::pair( "harpSalzedoThunderEffect", 0xE686 ), // glyphnumber: 1148, Thunder effect (Salzedo) - std::pair( "harpSalzedoTimpanicSounds", 0xE68B ), // glyphnumber: 1149, Timpanic sounds (Salzedo) - std::pair( "harpSalzedoWhistlingSounds", 0xE687 ), // glyphnumber: 1150, Whistling sounds (Salzedo) - std::pair( "harpStringNoiseStem", 0xE694 ), // glyphnumber: 1151, Combining string noise for stem - std::pair( "harpTuningKey", 0xE690 ), // glyphnumber: 1152, Tuning key pictogram - std::pair( "harpTuningKeyGlissando", 0xE693 ), // glyphnumber: 1153, Retune strings for glissando - std::pair( "harpTuningKeyHandle", 0xE691 ), // glyphnumber: 1154, Use handle of tuning key pictogram - std::pair( "harpTuningKeyShank", 0xE692 ), // glyphnumber: 1155, Use shank of tuning key pictogram - std::pair( "keyboardBebung2DotsAbove", 0xE668 ), // glyphnumber: 1156, Clavichord bebung, 2 finger movements (above) - std::pair( "keyboardBebung2DotsBelow", 0xE669 ), // glyphnumber: 1157, Clavichord bebung, 2 finger movements (below) - std::pair( "keyboardBebung3DotsAbove", 0xE66A ), // glyphnumber: 1158, Clavichord bebung, 3 finger movements (above) - std::pair( "keyboardBebung3DotsBelow", 0xE66B ), // glyphnumber: 1159, Clavichord bebung, 3 finger movements (below) - std::pair( "keyboardBebung4DotsAbove", 0xE66C ), // glyphnumber: 1160, Clavichord bebung, 4 finger movements (above) - std::pair( "keyboardBebung4DotsBelow", 0xE66D ), // glyphnumber: 1161, Clavichord bebung, 4 finger movements (below) - std::pair( "keyboardLeftPedalPictogram", 0xE65E ), // glyphnumber: 1162, Left pedal pictogram - std::pair( "keyboardMiddlePedalPictogram", 0xE65F ), // glyphnumber: 1163, Middle pedal pictogram - std::pair( "keyboardPedalD", 0xE653 ), // glyphnumber: 1164, Pedal d - std::pair( "keyboardPedalDot", 0xE654 ), // glyphnumber: 1165, Pedal dot - std::pair( "keyboardPedalE", 0xE652 ), // glyphnumber: 1166, Pedal e - std::pair( "keyboardPedalHalf", 0xE656 ), // glyphnumber: 1167, Half-pedal mark - std::pair( "keyboardPedalHalf2", 0xE65B ), // glyphnumber: 1168, Half pedal mark 1 - std::pair( "keyboardPedalHalf3", 0xE65C ), // glyphnumber: 1169, Half pedal mark 2 - std::pair( "keyboardPedalHeel1", 0xE661 ), // glyphnumber: 1170, Pedal heel 1 - std::pair( "keyboardPedalHeel2", 0xE662 ), // glyphnumber: 1171, Pedal heel 2 - std::pair( "keyboardPedalHeel3", 0xE663 ), // glyphnumber: 1172, Pedal heel 3 (Davis) - std::pair( "keyboardPedalHeelToToe", 0xE674 ), // glyphnumber: 1173, Pedal heel to toe - std::pair( "keyboardPedalHeelToe", 0xE666 ), // glyphnumber: 1174, Pedal heel or toe - std::pair( "keyboardPedalHookEnd", 0xE673 ), // glyphnumber: 1175, Pedal hook end - std::pair( "keyboardPedalHookStart", 0xE672 ), // glyphnumber: 1176, Pedal hook start - std::pair( "keyboardPedalHyphen", 0xE658 ), // glyphnumber: 1177, Pedal hyphen - std::pair( "keyboardPedalP", 0xE651 ), // glyphnumber: 1178, Pedal P - std::pair( "keyboardPedalPed", 0xE650 ), // glyphnumber: 1179, Pedal mark - std::pair( "keyboardPedalS", 0xE65A ), // glyphnumber: 1180, Pedal S - std::pair( "keyboardPedalSost", 0xE659 ), // glyphnumber: 1181, Sostenuto pedal mark - std::pair( "keyboardPedalToe1", 0xE664 ), // glyphnumber: 1182, Pedal toe 1 - std::pair( "keyboardPedalToe2", 0xE665 ), // glyphnumber: 1183, Pedal toe 2 - std::pair( "keyboardPedalToeToHeel", 0xE675 ), // glyphnumber: 1184, Pedal toe to heel - std::pair( "keyboardPedalUp", 0xE655 ), // glyphnumber: 1185, Pedal up mark - std::pair( "keyboardPedalUpNotch", 0xE657 ), // glyphnumber: 1186, Pedal up notch - std::pair( "keyboardPedalUpSpecial", 0xE65D ), // glyphnumber: 1187, Pedal up special - std::pair( "keyboardPlayWithLH", 0xE670 ), // glyphnumber: 1188, Play with left hand - std::pair( "keyboardPlayWithLHEnd", 0xE671 ), // glyphnumber: 1189, Play with left hand (end) - std::pair( "keyboardPlayWithRH", 0xE66E ), // glyphnumber: 1190, Play with right hand - std::pair( "keyboardPlayWithRHEnd", 0xE66F ), // glyphnumber: 1191, Play with right hand (end) - std::pair( "keyboardPluckInside", 0xE667 ), // glyphnumber: 1192, Pluck strings inside piano (Maderna) - std::pair( "keyboardRightPedalPictogram", 0xE660 ), // glyphnumber: 1193, Right pedal pictogram - std::pair( "kievanAccidentalFlat", 0xEC3E ), // glyphnumber: 1194, Kievan flat - std::pair( "kievanAccidentalSharp", 0xEC3D ), // glyphnumber: 1195, Kievan sharp - std::pair( "kievanAugmentationDot", 0xEC3C ), // glyphnumber: 1196, Kievan augmentation dot - std::pair( "kievanCClef", 0xEC30 ), // glyphnumber: 1197, Kievan C clef (tse-fa-ut) - std::pair( "kievanEndingSymbol", 0xEC31 ), // glyphnumber: 1198, Kievan ending symbol - std::pair( "kievanNote8thStemDown", 0xEC3A ), // glyphnumber: 1199, Kievan eighth note, stem down - std::pair( "kievanNote8thStemUp", 0xEC39 ), // glyphnumber: 1200, Kievan eighth note, stem up - std::pair( "kievanNoteBeam", 0xEC3B ), // glyphnumber: 1201, Kievan beam - std::pair( "kievanNoteHalfStaffLine", 0xEC35 ), // glyphnumber: 1202, Kievan half note (on staff line) - std::pair( "kievanNoteHalfStaffSpace", 0xEC36 ), // glyphnumber: 1203, Kievan half note (in staff space) - std::pair( "kievanNoteQuarterStemDown", 0xEC38 ), // glyphnumber: 1204, Kievan quarter note, stem down - std::pair( "kievanNoteQuarterStemUp", 0xEC37 ), // glyphnumber: 1205, Kievan quarter note, stem up - std::pair( "kievanNoteReciting", 0xEC32 ), // glyphnumber: 1206, Kievan reciting note - std::pair( "kievanNoteWhole", 0xEC33 ), // glyphnumber: 1207, Kievan whole note - std::pair( "kievanNoteWholeFinal", 0xEC34 ), // glyphnumber: 1208, Kievan final whole note - std::pair( "kodalyHandDo", 0xEC40 ), // glyphnumber: 1209, Do hand sign - std::pair( "kodalyHandFa", 0xEC43 ), // glyphnumber: 1210, Fa hand sign - std::pair( "kodalyHandLa", 0xEC45 ), // glyphnumber: 1211, La hand sign - std::pair( "kodalyHandMi", 0xEC42 ), // glyphnumber: 1212, Mi hand sign - std::pair( "kodalyHandRe", 0xEC41 ), // glyphnumber: 1213, Re hand sign - std::pair( "kodalyHandSo", 0xEC44 ), // glyphnumber: 1214, So hand sign - std::pair( "kodalyHandTi", 0xEC46 ), // glyphnumber: 1215, Ti hand sign - std::pair( "leftRepeatSmall", 0xE04C ), // glyphnumber: 1216, Left repeat sign within bar - std::pair( "legerLine", 0xE022 ), // glyphnumber: 1217, Leger line - std::pair( "legerLineNarrow", 0xE024 ), // glyphnumber: 1218, Leger line (narrow) - std::pair( "legerLineWide", 0xE023 ), // glyphnumber: 1219, Leger line (wide) - std::pair( "luteBarlineEndRepeat", 0xEBA4 ), // glyphnumber: 1220, Lute tablature end repeat barline - std::pair( "luteBarlineFinal", 0xEBA5 ), // glyphnumber: 1221, Lute tablature final barline - std::pair( "luteBarlineStartRepeat", 0xEBA3 ), // glyphnumber: 1222, Lute tablature start repeat barline - std::pair( "luteDuration16th", 0xEBAB ), // glyphnumber: 1223, 16th note (semiquaver) duration sign - std::pair( "luteDuration32nd", 0xEBAC ), // glyphnumber: 1224, 32nd note (demisemiquaver) duration sign - std::pair( "luteDuration8th", 0xEBAA ), // glyphnumber: 1225, Eighth note (quaver) duration sign - std::pair( "luteDurationDoubleWhole", 0xEBA6 ), // glyphnumber: 1226, Double whole note (breve) duration sign - std::pair( "luteDurationHalf", 0xEBA8 ), // glyphnumber: 1227, Half note (minim) duration sign - std::pair( "luteDurationQuarter", 0xEBA9 ), // glyphnumber: 1228, Quarter note (crotchet) duration sign - std::pair( "luteDurationWhole", 0xEBA7 ), // glyphnumber: 1229, Whole note (semibreve) duration sign - std::pair( "luteFingeringRHFirst", 0xEBAE ), // glyphnumber: 1230, Right-hand fingering, first finger - std::pair( "luteFingeringRHSecond", 0xEBAF ), // glyphnumber: 1231, Right-hand fingering, second finger - std::pair( "luteFingeringRHThird", 0xEBB0 ), // glyphnumber: 1232, Right-hand fingering, third finger - std::pair( "luteFingeringRHThumb", 0xEBAD ), // glyphnumber: 1233, Right-hand fingering, thumb - std::pair( "luteFrench10thCourse", 0xEBD0 ), // glyphnumber: 1234, 10th course (diapason) - std::pair( "luteFrench7thCourse", 0xEBCD ), // glyphnumber: 1235, Seventh course (diapason) - std::pair( "luteFrench8thCourse", 0xEBCE ), // glyphnumber: 1236, Eighth course (diapason) - std::pair( "luteFrench9thCourse", 0xEBCF ), // glyphnumber: 1237, Ninth course (diapason) - std::pair( "luteFrenchAppoggiaturaAbove", 0xEBD5 ), // glyphnumber: 1238, Appoggiatura from above - std::pair( "luteFrenchAppoggiaturaBelow", 0xEBD4 ), // glyphnumber: 1239, Appoggiatura from below - std::pair( "luteFrenchFretA", 0xEBC0 ), // glyphnumber: 1240, Open string (a) - std::pair( "luteFrenchFretB", 0xEBC1 ), // glyphnumber: 1241, First fret (b) - std::pair( "luteFrenchFretC", 0xEBC2 ), // glyphnumber: 1242, Second fret (c) - std::pair( "luteFrenchFretD", 0xEBC3 ), // glyphnumber: 1243, Third fret (d) - std::pair( "luteFrenchFretE", 0xEBC4 ), // glyphnumber: 1244, Fourth fret (e) - std::pair( "luteFrenchFretF", 0xEBC5 ), // glyphnumber: 1245, Fifth fret (f) - std::pair( "luteFrenchFretG", 0xEBC6 ), // glyphnumber: 1246, Sixth fret (g) - std::pair( "luteFrenchFretH", 0xEBC7 ), // glyphnumber: 1247, Seventh fret (h) - std::pair( "luteFrenchFretI", 0xEBC8 ), // glyphnumber: 1248, Eighth fret (i) - std::pair( "luteFrenchFretK", 0xEBC9 ), // glyphnumber: 1249, Ninth fret (k) - std::pair( "luteFrenchFretL", 0xEBCA ), // glyphnumber: 1250, 10th fret (l) - std::pair( "luteFrenchFretM", 0xEBCB ), // glyphnumber: 1251, 11th fret (m) - std::pair( "luteFrenchFretN", 0xEBCC ), // glyphnumber: 1252, 12th fret (n) - std::pair( "luteFrenchMordentInverted", 0xEBD3 ), // glyphnumber: 1253, Inverted mordent - std::pair( "luteFrenchMordentLower", 0xEBD2 ), // glyphnumber: 1254, Mordent with lower auxiliary - std::pair( "luteFrenchMordentUpper", 0xEBD1 ), // glyphnumber: 1255, Mordent with upper auxiliary - std::pair( "luteGermanALower", 0xEC00 ), // glyphnumber: 1256, 5th course, 1st fret (a) - std::pair( "luteGermanAUpper", 0xEC17 ), // glyphnumber: 1257, 6th course, 1st fret (A) - std::pair( "luteGermanBLower", 0xEC01 ), // glyphnumber: 1258, 4th course, 1st fret (b) - std::pair( "luteGermanBUpper", 0xEC18 ), // glyphnumber: 1259, 6th course, 2nd fret (B) - std::pair( "luteGermanCLower", 0xEC02 ), // glyphnumber: 1260, 3rd course, 1st fret (c) - std::pair( "luteGermanCUpper", 0xEC19 ), // glyphnumber: 1261, 6th course, 3rd fret (C) - std::pair( "luteGermanDLower", 0xEC03 ), // glyphnumber: 1262, 2nd course, 1st fret (d) - std::pair( "luteGermanDUpper", 0xEC1A ), // glyphnumber: 1263, 6th course, 4th fret (D) - std::pair( "luteGermanELower", 0xEC04 ), // glyphnumber: 1264, 1st course, 1st fret (e) - std::pair( "luteGermanEUpper", 0xEC1B ), // glyphnumber: 1265, 6th course, 5th fret (E) - std::pair( "luteGermanFLower", 0xEC05 ), // glyphnumber: 1266, 5th course, 2nd fret (f) - std::pair( "luteGermanFUpper", 0xEC1C ), // glyphnumber: 1267, 6th course, 6th fret (F) - std::pair( "luteGermanGLower", 0xEC06 ), // glyphnumber: 1268, 4th course, 2nd fret (g) - std::pair( "luteGermanGUpper", 0xEC1D ), // glyphnumber: 1269, 6th course, 7th fret (G) - std::pair( "luteGermanHLower", 0xEC07 ), // glyphnumber: 1270, 3rd course, 2nd fret (h) - std::pair( "luteGermanHUpper", 0xEC1E ), // glyphnumber: 1271, 6th course, 8th fret (H) - std::pair( "luteGermanILower", 0xEC08 ), // glyphnumber: 1272, 2nd course, 2nd fret (i) - std::pair( "luteGermanIUpper", 0xEC1F ), // glyphnumber: 1273, 6th course, 9th fret (I) - std::pair( "luteGermanKLower", 0xEC09 ), // glyphnumber: 1274, 1st course, 2nd fret (k) - std::pair( "luteGermanKUpper", 0xEC20 ), // glyphnumber: 1275, 6th course, 10th fret (K) - std::pair( "luteGermanLLower", 0xEC0A ), // glyphnumber: 1276, 5th course, 3rd fret (l) - std::pair( "luteGermanLUpper", 0xEC21 ), // glyphnumber: 1277, 6th course, 11th fret (L) - std::pair( "luteGermanMLower", 0xEC0B ), // glyphnumber: 1278, 4th course, 3rd fret (m) - std::pair( "luteGermanMUpper", 0xEC22 ), // glyphnumber: 1279, 6th course, 12th fret (M) - std::pair( "luteGermanNLower", 0xEC0C ), // glyphnumber: 1280, 3rd course, 3rd fret (n) - std::pair( "luteGermanNUpper", 0xEC23 ), // glyphnumber: 1281, 6th course, 13th fret (N) - std::pair( "luteGermanOLower", 0xEC0D ), // glyphnumber: 1282, 2nd course, 3rd fret (o) - std::pair( "luteGermanPLower", 0xEC0E ), // glyphnumber: 1283, 1st course, 3rd fret (p) - std::pair( "luteGermanQLower", 0xEC0F ), // glyphnumber: 1284, 5th course, 4th fret (q) - std::pair( "luteGermanRLower", 0xEC10 ), // glyphnumber: 1285, 4th course, 4th fret (r) - std::pair( "luteGermanSLower", 0xEC11 ), // glyphnumber: 1286, 3rd course, 4th fret (s) - std::pair( "luteGermanTLower", 0xEC12 ), // glyphnumber: 1287, 2nd course, 4th fret (t) - std::pair( "luteGermanVLower", 0xEC13 ), // glyphnumber: 1288, 1st course, 4th fret (v) - std::pair( "luteGermanXLower", 0xEC14 ), // glyphnumber: 1289, 5th course, 5th fret (x) - std::pair( "luteGermanYLower", 0xEC15 ), // glyphnumber: 1290, 4th course, 5th fret (y) - std::pair( "luteGermanZLower", 0xEC16 ), // glyphnumber: 1291, 3rd course, 5th fret (z) - std::pair( "luteItalianClefCSolFaUt", 0xEBF1 ), // glyphnumber: 1292, C sol fa ut clef - std::pair( "luteItalianClefFFaUt", 0xEBF0 ), // glyphnumber: 1293, F fa ut clef - std::pair( "luteItalianFret0", 0xEBE0 ), // glyphnumber: 1294, Open string (0) - std::pair( "luteItalianFret1", 0xEBE1 ), // glyphnumber: 1295, First fret (1) - std::pair( "luteItalianFret2", 0xEBE2 ), // glyphnumber: 1296, Second fret (2) - std::pair( "luteItalianFret3", 0xEBE3 ), // glyphnumber: 1297, Third fret (3) - std::pair( "luteItalianFret4", 0xEBE4 ), // glyphnumber: 1298, Fourth fret (4) - std::pair( "luteItalianFret5", 0xEBE5 ), // glyphnumber: 1299, Fifth fret (5) - std::pair( "luteItalianFret6", 0xEBE6 ), // glyphnumber: 1300, Sixth fret (6) - std::pair( "luteItalianFret7", 0xEBE7 ), // glyphnumber: 1301, Seventh fret (7) - std::pair( "luteItalianFret8", 0xEBE8 ), // glyphnumber: 1302, Eighth fret (8) - std::pair( "luteItalianFret9", 0xEBE9 ), // glyphnumber: 1303, Ninth fret (9) - std::pair( "luteItalianHoldFinger", 0xEBF4 ), // glyphnumber: 1304, Hold finger in place - std::pair( "luteItalianHoldNote", 0xEBF3 ), // glyphnumber: 1305, Hold note - std::pair( "luteItalianReleaseFinger", 0xEBF5 ), // glyphnumber: 1306, Release finger - std::pair( "luteItalianTempoFast", 0xEBEA ), // glyphnumber: 1307, Fast tempo indication (de Mudarra) - std::pair( "luteItalianTempoNeitherFastNorSlow", 0xEBEC ), // glyphnumber: 1308, Neither fast nor slow tempo indication (de Mudarra) - std::pair( "luteItalianTempoSlow", 0xEBED ), // glyphnumber: 1309, Slow tempo indication (de Mudarra) - std::pair( "luteItalianTempoSomewhatFast", 0xEBEB ), // glyphnumber: 1310, Somewhat fast tempo indication (de Narvaez) - std::pair( "luteItalianTempoVerySlow", 0xEBEE ), // glyphnumber: 1311, Very slow indication (de Narvaez) - std::pair( "luteItalianTimeTriple", 0xEBEF ), // glyphnumber: 1312, Triple time indication - std::pair( "luteItalianTremolo", 0xEBF2 ), // glyphnumber: 1313, Single-finger tremolo or mordent - std::pair( "luteItalianVibrato", 0xEBF6 ), // glyphnumber: 1314, Vibrato (verre cassé) - std::pair( "luteStaff6Lines", 0xEBA0 ), // glyphnumber: 1315, Lute tablature staff, 6 courses - std::pair( "luteStaff6LinesNarrow", 0xEBA2 ), // glyphnumber: 1316, Lute tablature staff, 6 courses (narrow) - std::pair( "luteStaff6LinesWide", 0xEBA1 ), // glyphnumber: 1317, Lute tablature staff, 6 courses (wide) - std::pair( "lyricsElision", 0xE551 ), // glyphnumber: 1318, Elision - std::pair( "lyricsElisionNarrow", 0xE550 ), // glyphnumber: 1319, Narrow elision - std::pair( "lyricsElisionWide", 0xE552 ), // glyphnumber: 1320, Wide elision - std::pair( "lyricsHyphenBaseline", 0xE553 ), // glyphnumber: 1321, Baseline hyphen - std::pair( "lyricsHyphenBaselineNonBreaking", 0xE554 ), // glyphnumber: 1322, Non-breaking baseline hyphen - std::pair( "medRenFlatHardB", 0xE9E1 ), // glyphnumber: 1323, Flat, hard b (mi) - std::pair( "medRenFlatSoftB", 0xE9E0 ), // glyphnumber: 1324, Flat, soft b (fa) - std::pair( "medRenFlatWithDot", 0xE9E4 ), // glyphnumber: 1325, Flat with dot - std::pair( "medRenGClefCMN", 0xEA24 ), // glyphnumber: 1326, G clef (Corpus Monodicum) - std::pair( "medRenLiquescenceCMN", 0xEA22 ), // glyphnumber: 1327, Liquescence - std::pair( "medRenLiquescentAscCMN", 0xEA26 ), // glyphnumber: 1328, Liquescent ascending (Corpus Monodicum) - std::pair( "medRenLiquescentDescCMN", 0xEA27 ), // glyphnumber: 1329, Liquescent descending (Corpus Monodicum) - std::pair( "medRenNatural", 0xE9E2 ), // glyphnumber: 1330, Natural - std::pair( "medRenNaturalWithCross", 0xE9E5 ), // glyphnumber: 1331, Natural with interrupted cross - std::pair( "medRenOriscusCMN", 0xEA2A ), // glyphnumber: 1332, Oriscus (Corpus Monodicum) - std::pair( "medRenPlicaCMN", 0xEA23 ), // glyphnumber: 1333, Plica - std::pair( "medRenPunctumCMN", 0xEA25 ), // glyphnumber: 1334, Punctum (Corpus Monodicum) - std::pair( "medRenQuilismaCMN", 0xEA28 ), // glyphnumber: 1335, Quilisma (Corpus Monodicum) - std::pair( "medRenSharpCroix", 0xE9E3 ), // glyphnumber: 1336, Croix - std::pair( "medRenStrophicusCMN", 0xEA29 ), // glyphnumber: 1337, Strophicus (Corpus Monodicum) - std::pair( "mensuralAlterationSign", 0xEA10 ), // glyphnumber: 1338, Alteration sign - std::pair( "mensuralBlackBrevis", 0xE952 ), // glyphnumber: 1339, Black mensural brevis - std::pair( "mensuralBlackBrevisVoid", 0xE956 ), // glyphnumber: 1340, Black mensural void brevis - std::pair( "mensuralBlackDragma", 0xE95A ), // glyphnumber: 1341, Black mensural dragma - std::pair( "mensuralBlackLonga", 0xE951 ), // glyphnumber: 1342, Black mensural longa - std::pair( "mensuralBlackMaxima", 0xE950 ), // glyphnumber: 1343, Black mensural maxima - std::pair( "mensuralBlackMinima", 0xE954 ), // glyphnumber: 1344, Black mensural minima - std::pair( "mensuralBlackMinimaVoid", 0xE958 ), // glyphnumber: 1345, Black mensural void minima - std::pair( "mensuralBlackSemibrevis", 0xE953 ), // glyphnumber: 1346, Black mensural semibrevis - std::pair( "mensuralBlackSemibrevisCaudata", 0xE959 ), // glyphnumber: 1347, Black mensural semibrevis caudata - std::pair( "mensuralBlackSemibrevisOblique", 0xE95B ), // glyphnumber: 1348, Black mensural oblique semibrevis - std::pair( "mensuralBlackSemibrevisVoid", 0xE957 ), // glyphnumber: 1349, Black mensural void semibrevis - std::pair( "mensuralBlackSemiminima", 0xE955 ), // glyphnumber: 1350, Black mensural semiminima - std::pair( "mensuralCclef", 0xE905 ), // glyphnumber: 1351, Mensural C clef - std::pair( "mensuralCclefPetrucciPosHigh", 0xE90A ), // glyphnumber: 1352, Petrucci C clef, high position - std::pair( "mensuralCclefPetrucciPosHighest", 0xE90B ), // glyphnumber: 1353, Petrucci C clef, highest position - std::pair( "mensuralCclefPetrucciPosLow", 0xE908 ), // glyphnumber: 1354, Petrucci C clef, low position - std::pair( "mensuralCclefPetrucciPosLowest", 0xE907 ), // glyphnumber: 1355, Petrucci C clef, lowest position - std::pair( "mensuralCclefPetrucciPosMiddle", 0xE909 ), // glyphnumber: 1356, Petrucci C clef, middle position - std::pair( "mensuralColorationEndRound", 0xEA0F ), // glyphnumber: 1357, Coloration end, round - std::pair( "mensuralColorationEndSquare", 0xEA0D ), // glyphnumber: 1358, Coloration end, square - std::pair( "mensuralColorationStartRound", 0xEA0E ), // glyphnumber: 1359, Coloration start, round - std::pair( "mensuralColorationStartSquare", 0xEA0C ), // glyphnumber: 1360, Coloration start, square - std::pair( "mensuralCombStemDiagonal", 0xE940 ), // glyphnumber: 1361, Combining stem diagonal - std::pair( "mensuralCombStemDown", 0xE93F ), // glyphnumber: 1362, Combining stem down - std::pair( "mensuralCombStemDownFlagExtended", 0xE948 ), // glyphnumber: 1363, Combining stem with extended flag down - std::pair( "mensuralCombStemDownFlagFlared", 0xE946 ), // glyphnumber: 1364, Combining stem with flared flag down - std::pair( "mensuralCombStemDownFlagFusa", 0xE94C ), // glyphnumber: 1365, Combining stem with fusa flag down - std::pair( "mensuralCombStemDownFlagLeft", 0xE944 ), // glyphnumber: 1366, Combining stem with flag left down - std::pair( "mensuralCombStemDownFlagRight", 0xE942 ), // glyphnumber: 1367, Combining stem with flag right down - std::pair( "mensuralCombStemDownFlagSemiminima", 0xE94A ), // glyphnumber: 1368, Combining stem with semiminima flag down - std::pair( "mensuralCombStemUp", 0xE93E ), // glyphnumber: 1369, Combining stem up - std::pair( "mensuralCombStemUpFlagExtended", 0xE947 ), // glyphnumber: 1370, Combining stem with extended flag up - std::pair( "mensuralCombStemUpFlagFlared", 0xE945 ), // glyphnumber: 1371, Combining stem with flared flag up - std::pair( "mensuralCombStemUpFlagFusa", 0xE94B ), // glyphnumber: 1372, Combining stem with fusa flag up - std::pair( "mensuralCombStemUpFlagLeft", 0xE943 ), // glyphnumber: 1373, Combining stem with flag left up - std::pair( "mensuralCombStemUpFlagRight", 0xE941 ), // glyphnumber: 1374, Combining stem with flag right up - std::pair( "mensuralCombStemUpFlagSemiminima", 0xE949 ), // glyphnumber: 1375, Combining stem with semiminima flag up - std::pair( "mensuralCustosCheckmark", 0xEA0A ), // glyphnumber: 1376, Checkmark custos - std::pair( "mensuralCustosDown", 0xEA03 ), // glyphnumber: 1377, Mensural custos down - std::pair( "mensuralCustosTurn", 0xEA0B ), // glyphnumber: 1378, Turn-like custos - std::pair( "mensuralCustosUp", 0xEA02 ), // glyphnumber: 1379, Mensural custos up - std::pair( "mensuralFclef", 0xE903 ), // glyphnumber: 1380, Mensural F clef - std::pair( "mensuralFclefPetrucci", 0xE904 ), // glyphnumber: 1381, Petrucci F clef - std::pair( "mensuralGclef", 0xE900 ), // glyphnumber: 1382, Mensural G clef - std::pair( "mensuralGclefPetrucci", 0xE901 ), // glyphnumber: 1383, Petrucci G clef - std::pair( "mensuralModusImperfectumVert", 0xE92D ), // glyphnumber: 1384, Modus imperfectum, vertical - std::pair( "mensuralModusPerfectumVert", 0xE92C ), // glyphnumber: 1385, Modus perfectum, vertical - std::pair( "mensuralNoteheadLongaBlack", 0xE934 ), // glyphnumber: 1386, Longa/brevis notehead, black - std::pair( "mensuralNoteheadLongaBlackVoid", 0xE936 ), // glyphnumber: 1387, Longa/brevis notehead, black and void - std::pair( "mensuralNoteheadLongaVoid", 0xE935 ), // glyphnumber: 1388, Longa/brevis notehead, void - std::pair( "mensuralNoteheadLongaWhite", 0xE937 ), // glyphnumber: 1389, Longa/brevis notehead, white - std::pair( "mensuralNoteheadMaximaBlack", 0xE930 ), // glyphnumber: 1390, Maxima notehead, black - std::pair( "mensuralNoteheadMaximaBlackVoid", 0xE932 ), // glyphnumber: 1391, Maxima notehead, black and void - std::pair( "mensuralNoteheadMaximaVoid", 0xE931 ), // glyphnumber: 1392, Maxima notehead, void - std::pair( "mensuralNoteheadMaximaWhite", 0xE933 ), // glyphnumber: 1393, Maxima notehead, white - std::pair( "mensuralNoteheadMinimaWhite", 0xE93C ), // glyphnumber: 1394, Minima notehead, white - std::pair( "mensuralNoteheadSemibrevisBlack", 0xE938 ), // glyphnumber: 1395, Semibrevis notehead, black - std::pair( "mensuralNoteheadSemibrevisBlackVoid", 0xE93A ), // glyphnumber: 1396, Semibrevis notehead, black and void - std::pair( "mensuralNoteheadSemibrevisBlackVoidTurned", 0xE93B ), // glyphnumber: 1397, Semibrevis notehead, black and void (turned) - std::pair( "mensuralNoteheadSemibrevisVoid", 0xE939 ), // glyphnumber: 1398, Semibrevis notehead, void - std::pair( "mensuralNoteheadSemiminimaWhite", 0xE93D ), // glyphnumber: 1399, Semiminima/fusa notehead, white - std::pair( "mensuralObliqueAsc2ndBlack", 0xE970 ), // glyphnumber: 1400, Oblique form, ascending 2nd, black - std::pair( "mensuralObliqueAsc2ndBlackVoid", 0xE972 ), // glyphnumber: 1401, Oblique form, ascending 2nd, black and void - std::pair( "mensuralObliqueAsc2ndVoid", 0xE971 ), // glyphnumber: 1402, Oblique form, ascending 2nd, void - std::pair( "mensuralObliqueAsc2ndWhite", 0xE973 ), // glyphnumber: 1403, Oblique form, ascending 2nd, white - std::pair( "mensuralObliqueAsc3rdBlack", 0xE974 ), // glyphnumber: 1404, Oblique form, ascending 3rd, black - std::pair( "mensuralObliqueAsc3rdBlackVoid", 0xE976 ), // glyphnumber: 1405, Oblique form, ascending 3rd, black and void - std::pair( "mensuralObliqueAsc3rdVoid", 0xE975 ), // glyphnumber: 1406, Oblique form, ascending 3rd, void - std::pair( "mensuralObliqueAsc3rdWhite", 0xE977 ), // glyphnumber: 1407, Oblique form, ascending 3rd, white - std::pair( "mensuralObliqueAsc4thBlack", 0xE978 ), // glyphnumber: 1408, Oblique form, ascending 4th, black - std::pair( "mensuralObliqueAsc4thBlackVoid", 0xE97A ), // glyphnumber: 1409, Oblique form, ascending 4th, black and void - std::pair( "mensuralObliqueAsc4thVoid", 0xE979 ), // glyphnumber: 1410, Oblique form, ascending 4th, void - std::pair( "mensuralObliqueAsc4thWhite", 0xE97B ), // glyphnumber: 1411, Oblique form, ascending 4th, white - std::pair( "mensuralObliqueAsc5thBlack", 0xE97C ), // glyphnumber: 1412, Oblique form, ascending 5th, black - std::pair( "mensuralObliqueAsc5thBlackVoid", 0xE97E ), // glyphnumber: 1413, Oblique form, ascending 5th, black and void - std::pair( "mensuralObliqueAsc5thVoid", 0xE97D ), // glyphnumber: 1414, Oblique form, ascending 5th, void - std::pair( "mensuralObliqueAsc5thWhite", 0xE97F ), // glyphnumber: 1415, Oblique form, ascending 5th, white - std::pair( "mensuralObliqueDesc2ndBlack", 0xE980 ), // glyphnumber: 1416, Oblique form, descending 2nd, black - std::pair( "mensuralObliqueDesc2ndBlackVoid", 0xE982 ), // glyphnumber: 1417, Oblique form, descending 2nd, black and void - std::pair( "mensuralObliqueDesc2ndVoid", 0xE981 ), // glyphnumber: 1418, Oblique form, descending 2nd, void - std::pair( "mensuralObliqueDesc2ndWhite", 0xE983 ), // glyphnumber: 1419, Oblique form, descending 2nd, white - std::pair( "mensuralObliqueDesc3rdBlack", 0xE984 ), // glyphnumber: 1420, Oblique form, descending 3rd, black - std::pair( "mensuralObliqueDesc3rdBlackVoid", 0xE986 ), // glyphnumber: 1421, Oblique form, descending 3rd, black and void - std::pair( "mensuralObliqueDesc3rdVoid", 0xE985 ), // glyphnumber: 1422, Oblique form, descending 3rd, void - std::pair( "mensuralObliqueDesc3rdWhite", 0xE987 ), // glyphnumber: 1423, Oblique form, descending 3rd, white - std::pair( "mensuralObliqueDesc4thBlack", 0xE988 ), // glyphnumber: 1424, Oblique form, descending 4th, black - std::pair( "mensuralObliqueDesc4thBlackVoid", 0xE98A ), // glyphnumber: 1425, Oblique form, descending 4th, black and void - std::pair( "mensuralObliqueDesc4thVoid", 0xE989 ), // glyphnumber: 1426, Oblique form, descending 4th, void - std::pair( "mensuralObliqueDesc4thWhite", 0xE98B ), // glyphnumber: 1427, Oblique form, descending 4th, white - std::pair( "mensuralObliqueDesc5thBlack", 0xE98C ), // glyphnumber: 1428, Oblique form, descending 5th, black - std::pair( "mensuralObliqueDesc5thBlackVoid", 0xE98E ), // glyphnumber: 1429, Oblique form, descending 5th, black and void - std::pair( "mensuralObliqueDesc5thVoid", 0xE98D ), // glyphnumber: 1430, Oblique form, descending 5th, void - std::pair( "mensuralObliqueDesc5thWhite", 0xE98F ), // glyphnumber: 1431, Oblique form, descending 5th, white - std::pair( "mensuralProlation1", 0xE910 ), // glyphnumber: 1432, Tempus perfectum cum prolatione perfecta (9/8) - std::pair( "mensuralProlation10", 0xE919 ), // glyphnumber: 1433, Tempus imperfectum cum prolatione imperfecta diminution 4 - std::pair( "mensuralProlation11", 0xE91A ), // glyphnumber: 1434, Tempus imperfectum cum prolatione imperfecta diminution 5 - std::pair( "mensuralProlation2", 0xE911 ), // glyphnumber: 1435, Tempus perfectum cum prolatione imperfecta (3/4) - std::pair( "mensuralProlation3", 0xE912 ), // glyphnumber: 1436, Tempus perfectum cum prolatione imperfecta diminution 1 (3/8) - std::pair( "mensuralProlation4", 0xE913 ), // glyphnumber: 1437, Tempus perfectum cum prolatione perfecta diminution 2 (9/16) - std::pair( "mensuralProlation5", 0xE914 ), // glyphnumber: 1438, Tempus imperfectum cum prolatione perfecta (6/8) - std::pair( "mensuralProlation6", 0xE915 ), // glyphnumber: 1439, Tempus imperfectum cum prolatione imperfecta (2/4) - std::pair( "mensuralProlation7", 0xE916 ), // glyphnumber: 1440, Tempus imperfectum cum prolatione imperfecta diminution 1 (2/2) - std::pair( "mensuralProlation8", 0xE917 ), // glyphnumber: 1441, Tempus imperfectum cum prolatione imperfecta diminution 2 (6/16) - std::pair( "mensuralProlation9", 0xE918 ), // glyphnumber: 1442, Tempus imperfectum cum prolatione imperfecta diminution 3 (2/2) - std::pair( "mensuralProlationCombiningDot", 0xE920 ), // glyphnumber: 1443, Combining dot - std::pair( "mensuralProlationCombiningDotVoid", 0xE924 ), // glyphnumber: 1444, Combining void dot - std::pair( "mensuralProlationCombiningStroke", 0xE925 ), // glyphnumber: 1445, Combining vertical stroke - std::pair( "mensuralProlationCombiningThreeDots", 0xE922 ), // glyphnumber: 1446, Combining three dots horizontal - std::pair( "mensuralProlationCombiningThreeDotsTri", 0xE923 ), // glyphnumber: 1447, Combining three dots triangular - std::pair( "mensuralProlationCombiningTwoDots", 0xE921 ), // glyphnumber: 1448, Combining two dots - std::pair( "mensuralProportion1", 0xE926 ), // glyphnumber: 1449, Mensural proportion 1 - std::pair( "mensuralProportion2", 0xE927 ), // glyphnumber: 1450, Mensural proportion 2 - std::pair( "mensuralProportion3", 0xE928 ), // glyphnumber: 1451, Mensural proportion 3 - std::pair( "mensuralProportion4", 0xE929 ), // glyphnumber: 1452, Mensural proportion 4 - std::pair( "mensuralProportionMajor", 0xE92B ), // glyphnumber: 1453, Mensural proportion major - std::pair( "mensuralProportionMinor", 0xE92A ), // glyphnumber: 1454, Mensural proportion minor - std::pair( "mensuralProportionProportioDupla1", 0xE91C ), // glyphnumber: 1455, Proportio dupla 1 - std::pair( "mensuralProportionProportioDupla2", 0xE91D ), // glyphnumber: 1456, Proportio dupla 2 - std::pair( "mensuralProportionProportioQuadrupla", 0xE91F ), // glyphnumber: 1457, Proportio quadrupla - std::pair( "mensuralProportionProportioTripla", 0xE91E ), // glyphnumber: 1458, Proportio tripla - std::pair( "mensuralProportionTempusPerfectum", 0xE91B ), // glyphnumber: 1459, Tempus perfectum - std::pair( "mensuralRestBrevis", 0xE9F3 ), // glyphnumber: 1460, Brevis rest - std::pair( "mensuralRestFusa", 0xE9F7 ), // glyphnumber: 1461, Fusa rest - std::pair( "mensuralRestLongaImperfecta", 0xE9F2 ), // glyphnumber: 1462, Longa imperfecta rest - std::pair( "mensuralRestLongaPerfecta", 0xE9F1 ), // glyphnumber: 1463, Longa perfecta rest - std::pair( "mensuralRestMaxima", 0xE9F0 ), // glyphnumber: 1464, Maxima rest - std::pair( "mensuralRestMinima", 0xE9F5 ), // glyphnumber: 1465, Minima rest - std::pair( "mensuralRestSemibrevis", 0xE9F4 ), // glyphnumber: 1466, Semibrevis rest - std::pair( "mensuralRestSemifusa", 0xE9F8 ), // glyphnumber: 1467, Semifusa rest - std::pair( "mensuralRestSemiminima", 0xE9F6 ), // glyphnumber: 1468, Semiminima rest - std::pair( "mensuralSignumDown", 0xEA01 ), // glyphnumber: 1469, Signum congruentiae down - std::pair( "mensuralSignumUp", 0xEA00 ), // glyphnumber: 1470, Signum congruentiae up - std::pair( "mensuralTempusImperfectumHoriz", 0xE92F ), // glyphnumber: 1471, Tempus imperfectum, horizontal - std::pair( "mensuralTempusPerfectumHoriz", 0xE92E ), // glyphnumber: 1472, Tempus perfectum, horizontal - std::pair( "mensuralWhiteBrevis", 0xE95E ), // glyphnumber: 1473, White mensural brevis - std::pair( "mensuralWhiteFusa", 0xE961 ), // glyphnumber: 1474, White mensural fusa - std::pair( "mensuralWhiteLonga", 0xE95D ), // glyphnumber: 1475, White mensural longa - std::pair( "mensuralWhiteMaxima", 0xE95C ), // glyphnumber: 1476, White mensural maxima - std::pair( "mensuralWhiteMinima", 0xE95F ), // glyphnumber: 1477, White mensural minima - std::pair( "mensuralWhiteSemiminima", 0xE960 ), // glyphnumber: 1478, White mensural semiminima - std::pair( "metAugmentationDot", 0xECB7 ), // glyphnumber: 1479, Augmentation dot - std::pair( "metNote1024thDown", 0xECB6 ), // glyphnumber: 1480, 1024th note (semihemidemisemihemidemisemiquaver) stem down - std::pair( "metNote1024thUp", 0xECB5 ), // glyphnumber: 1481, 1024th note (semihemidemisemihemidemisemiquaver) stem up - std::pair( "metNote128thDown", 0xECB0 ), // glyphnumber: 1482, 128th note (semihemidemisemiquaver) stem down - std::pair( "metNote128thUp", 0xECAF ), // glyphnumber: 1483, 128th note (semihemidemisemiquaver) stem up - std::pair( "metNote16thDown", 0xECAA ), // glyphnumber: 1484, 16th note (semiquaver) stem down - std::pair( "metNote16thUp", 0xECA9 ), // glyphnumber: 1485, 16th note (semiquaver) stem up - std::pair( "metNote256thDown", 0xECB2 ), // glyphnumber: 1486, 256th note (demisemihemidemisemiquaver) stem down - std::pair( "metNote256thUp", 0xECB1 ), // glyphnumber: 1487, 256th note (demisemihemidemisemiquaver) stem up - std::pair( "metNote32ndDown", 0xECAC ), // glyphnumber: 1488, 32nd note (demisemiquaver) stem down - std::pair( "metNote32ndUp", 0xECAB ), // glyphnumber: 1489, 32nd note (demisemiquaver) stem up - std::pair( "metNote512thDown", 0xECB4 ), // glyphnumber: 1490, 512th note (hemidemisemihemidemisemiquaver) stem down - std::pair( "metNote512thUp", 0xECB3 ), // glyphnumber: 1491, 512th note (hemidemisemihemidemisemiquaver) stem up - std::pair( "metNote64thDown", 0xECAE ), // glyphnumber: 1492, 64th note (hemidemisemiquaver) stem down - std::pair( "metNote64thUp", 0xECAD ), // glyphnumber: 1493, 64th note (hemidemisemiquaver) stem up - std::pair( "metNote8thDown", 0xECA8 ), // glyphnumber: 1494, Eighth note (quaver) stem down - std::pair( "metNote8thUp", 0xECA7 ), // glyphnumber: 1495, Eighth note (quaver) stem up - std::pair( "metNoteDoubleWhole", 0xECA0 ), // glyphnumber: 1496, Double whole note (breve) - std::pair( "metNoteDoubleWholeSquare", 0xECA1 ), // glyphnumber: 1497, Double whole note (square) - std::pair( "metNoteHalfDown", 0xECA4 ), // glyphnumber: 1498, Half note (minim) stem down - std::pair( "metNoteHalfUp", 0xECA3 ), // glyphnumber: 1499, Half note (minim) stem up - std::pair( "metNoteQuarterDown", 0xECA6 ), // glyphnumber: 1500, Quarter note (crotchet) stem down - std::pair( "metNoteQuarterUp", 0xECA5 ), // glyphnumber: 1501, Quarter note (crotchet) stem up - std::pair( "metNoteWhole", 0xECA2 ), // glyphnumber: 1502, Whole note (semibreve) - std::pair( "metricModulationArrowLeft", 0xEC63 ), // glyphnumber: 1503, Left-pointing arrow for metric modulation - std::pair( "metricModulationArrowRight", 0xEC64 ), // glyphnumber: 1504, Right-pointing arrow for metric modulation - std::pair( "miscDoNotCopy", 0xEC61 ), // glyphnumber: 1505, Do not copy - std::pair( "miscDoNotPhotocopy", 0xEC60 ), // glyphnumber: 1506, Do not photocopy - std::pair( "miscEyeglasses", 0xEC62 ), // glyphnumber: 1507, Eyeglasses - std::pair( "note1024thDown", 0xE1E6 ), // glyphnumber: 1508, 1024th note (semihemidemisemihemidemisemiquaver) stem down - std::pair( "note1024thUp", 0xE1E5 ), // glyphnumber: 1509, 1024th note (semihemidemisemihemidemisemiquaver) stem up - std::pair( "note128thDown", 0xE1E0 ), // glyphnumber: 1510, 128th note (semihemidemisemiquaver) stem down - std::pair( "note128thUp", 0xE1DF ), // glyphnumber: 1511, 128th note (semihemidemisemiquaver) stem up - std::pair( "note16thDown", 0xE1DA ), // glyphnumber: 1512, 16th note (semiquaver) stem down - std::pair( "note16thUp", 0xE1D9 ), // glyphnumber: 1513, 16th note (semiquaver) stem up - std::pair( "note256thDown", 0xE1E2 ), // glyphnumber: 1514, 256th note (demisemihemidemisemiquaver) stem down - std::pair( "note256thUp", 0xE1E1 ), // glyphnumber: 1515, 256th note (demisemihemidemisemiquaver) stem up - std::pair( "note32ndDown", 0xE1DC ), // glyphnumber: 1516, 32nd note (demisemiquaver) stem down - std::pair( "note32ndUp", 0xE1DB ), // glyphnumber: 1517, 32nd note (demisemiquaver) stem up - std::pair( "note512thDown", 0xE1E4 ), // glyphnumber: 1518, 512th note (hemidemisemihemidemisemiquaver) stem down - std::pair( "note512thUp", 0xE1E3 ), // glyphnumber: 1519, 512th note (hemidemisemihemidemisemiquaver) stem up - std::pair( "note64thDown", 0xE1DE ), // glyphnumber: 1520, 64th note (hemidemisemiquaver) stem down - std::pair( "note64thUp", 0xE1DD ), // glyphnumber: 1521, 64th note (hemidemisemiquaver) stem up - std::pair( "note8thDown", 0xE1D8 ), // glyphnumber: 1522, Eighth note (quaver) stem down - std::pair( "note8thUp", 0xE1D7 ), // glyphnumber: 1523, Eighth note (quaver) stem up - std::pair( "noteABlack", 0xE197 ), // glyphnumber: 1524, A (black note) - std::pair( "noteAFlatBlack", 0xE196 ), // glyphnumber: 1525, A flat (black note) - std::pair( "noteAFlatHalf", 0xE17F ), // glyphnumber: 1526, A flat (half note) - std::pair( "noteAFlatWhole", 0xE168 ), // glyphnumber: 1527, A flat (whole note) - std::pair( "noteAHalf", 0xE180 ), // glyphnumber: 1528, A (half note) - std::pair( "noteASharpBlack", 0xE198 ), // glyphnumber: 1529, A sharp (black note) - std::pair( "noteASharpHalf", 0xE181 ), // glyphnumber: 1530, A sharp (half note) - std::pair( "noteASharpWhole", 0xE16A ), // glyphnumber: 1531, A sharp (whole note) - std::pair( "noteAWhole", 0xE169 ), // glyphnumber: 1532, A (whole note) - std::pair( "noteBBlack", 0xE19A ), // glyphnumber: 1533, B (black note) - std::pair( "noteBFlatBlack", 0xE199 ), // glyphnumber: 1534, B flat (black note) - std::pair( "noteBFlatHalf", 0xE182 ), // glyphnumber: 1535, B flat (half note) - std::pair( "noteBFlatWhole", 0xE16B ), // glyphnumber: 1536, B flat (whole note) - std::pair( "noteBHalf", 0xE183 ), // glyphnumber: 1537, B (half note) - std::pair( "noteBSharpBlack", 0xE19B ), // glyphnumber: 1538, B sharp (black note) - std::pair( "noteBSharpHalf", 0xE184 ), // glyphnumber: 1539, B sharp (half note) - std::pair( "noteBSharpWhole", 0xE16D ), // glyphnumber: 1540, B sharp (whole note) - std::pair( "noteBWhole", 0xE16C ), // glyphnumber: 1541, B (whole note) - std::pair( "noteCBlack", 0xE19D ), // glyphnumber: 1542, C (black note) - std::pair( "noteCFlatBlack", 0xE19C ), // glyphnumber: 1543, C flat (black note) - std::pair( "noteCFlatHalf", 0xE185 ), // glyphnumber: 1544, C flat (half note) - std::pair( "noteCFlatWhole", 0xE16E ), // glyphnumber: 1545, C flat (whole note) - std::pair( "noteCHalf", 0xE186 ), // glyphnumber: 1546, C (half note) - std::pair( "noteCSharpBlack", 0xE19E ), // glyphnumber: 1547, C sharp (black note) - std::pair( "noteCSharpHalf", 0xE187 ), // glyphnumber: 1548, C sharp (half note) - std::pair( "noteCSharpWhole", 0xE170 ), // glyphnumber: 1549, C sharp (whole note) - std::pair( "noteCWhole", 0xE16F ), // glyphnumber: 1550, C (whole note) - std::pair( "noteDBlack", 0xE1A0 ), // glyphnumber: 1551, D (black note) - std::pair( "noteDFlatBlack", 0xE19F ), // glyphnumber: 1552, D flat (black note) - std::pair( "noteDFlatHalf", 0xE188 ), // glyphnumber: 1553, D flat (half note) - std::pair( "noteDFlatWhole", 0xE171 ), // glyphnumber: 1554, D flat (whole note) - std::pair( "noteDHalf", 0xE189 ), // glyphnumber: 1555, D (half note) - std::pair( "noteDSharpBlack", 0xE1A1 ), // glyphnumber: 1556, D sharp (black note) - std::pair( "noteDSharpHalf", 0xE18A ), // glyphnumber: 1557, D sharp (half note) - std::pair( "noteDSharpWhole", 0xE173 ), // glyphnumber: 1558, D sharp (whole note) - std::pair( "noteDWhole", 0xE172 ), // glyphnumber: 1559, D (whole note) - std::pair( "noteDoBlack", 0xE160 ), // glyphnumber: 1560, Do (black note) - std::pair( "noteDoHalf", 0xE158 ), // glyphnumber: 1561, Do (half note) - std::pair( "noteDoWhole", 0xE150 ), // glyphnumber: 1562, Do (whole note) - std::pair( "noteDoubleWhole", 0xE1D0 ), // glyphnumber: 1563, Double whole note (breve) - std::pair( "noteDoubleWholeSquare", 0xE1D1 ), // glyphnumber: 1564, Double whole note (square) - std::pair( "noteEBlack", 0xE1A3 ), // glyphnumber: 1565, E (black note) - std::pair( "noteEFlatBlack", 0xE1A2 ), // glyphnumber: 1566, E flat (black note) - std::pair( "noteEFlatHalf", 0xE18B ), // glyphnumber: 1567, E flat (half note) - std::pair( "noteEFlatWhole", 0xE174 ), // glyphnumber: 1568, E flat (whole note) - std::pair( "noteEHalf", 0xE18C ), // glyphnumber: 1569, E (half note) - std::pair( "noteESharpBlack", 0xE1A4 ), // glyphnumber: 1570, E sharp (black note) - std::pair( "noteESharpHalf", 0xE18D ), // glyphnumber: 1571, E sharp (half note) - std::pair( "noteESharpWhole", 0xE176 ), // glyphnumber: 1572, E sharp (whole note) - std::pair( "noteEWhole", 0xE175 ), // glyphnumber: 1573, E (whole note) - std::pair( "noteEmptyBlack", 0xE1AF ), // glyphnumber: 1574, Empty black note - std::pair( "noteEmptyHalf", 0xE1AE ), // glyphnumber: 1575, Empty half note - std::pair( "noteEmptyWhole", 0xE1AD ), // glyphnumber: 1576, Empty whole note - std::pair( "noteFBlack", 0xE1A6 ), // glyphnumber: 1577, F (black note) - std::pair( "noteFFlatBlack", 0xE1A5 ), // glyphnumber: 1578, F flat (black note) - std::pair( "noteFFlatHalf", 0xE18E ), // glyphnumber: 1579, F flat (half note) - std::pair( "noteFFlatWhole", 0xE177 ), // glyphnumber: 1580, F flat (whole note) - std::pair( "noteFHalf", 0xE18F ), // glyphnumber: 1581, F (half note) - std::pair( "noteFSharpBlack", 0xE1A7 ), // glyphnumber: 1582, F sharp (black note) - std::pair( "noteFSharpHalf", 0xE190 ), // glyphnumber: 1583, F sharp (half note) - std::pair( "noteFSharpWhole", 0xE179 ), // glyphnumber: 1584, F sharp (whole note) - std::pair( "noteFWhole", 0xE178 ), // glyphnumber: 1585, F (whole note) - std::pair( "noteFaBlack", 0xE163 ), // glyphnumber: 1586, Fa (black note) - std::pair( "noteFaHalf", 0xE15B ), // glyphnumber: 1587, Fa (half note) - std::pair( "noteFaWhole", 0xE153 ), // glyphnumber: 1588, Fa (whole note) - std::pair( "noteGBlack", 0xE1A9 ), // glyphnumber: 1589, G (black note) - std::pair( "noteGFlatBlack", 0xE1A8 ), // glyphnumber: 1590, G flat (black note) - std::pair( "noteGFlatHalf", 0xE191 ), // glyphnumber: 1591, G flat (half note) - std::pair( "noteGFlatWhole", 0xE17A ), // glyphnumber: 1592, G flat (whole note) - std::pair( "noteGHalf", 0xE192 ), // glyphnumber: 1593, G (half note) - std::pair( "noteGSharpBlack", 0xE1AA ), // glyphnumber: 1594, G sharp (black note) - std::pair( "noteGSharpHalf", 0xE193 ), // glyphnumber: 1595, G sharp (half note) - std::pair( "noteGSharpWhole", 0xE17C ), // glyphnumber: 1596, G sharp (whole note) - std::pair( "noteGWhole", 0xE17B ), // glyphnumber: 1597, G (whole note) - std::pair( "noteHBlack", 0xE1AB ), // glyphnumber: 1598, H (black note) - std::pair( "noteHHalf", 0xE194 ), // glyphnumber: 1599, H (half note) - std::pair( "noteHSharpBlack", 0xE1AC ), // glyphnumber: 1600, H sharp (black note) - std::pair( "noteHSharpHalf", 0xE195 ), // glyphnumber: 1601, H sharp (half note) - std::pair( "noteHSharpWhole", 0xE17E ), // glyphnumber: 1602, H sharp (whole note) - std::pair( "noteHWhole", 0xE17D ), // glyphnumber: 1603, H (whole note) - std::pair( "noteHalfDown", 0xE1D4 ), // glyphnumber: 1604, Half note (minim) stem down - std::pair( "noteHalfUp", 0xE1D3 ), // glyphnumber: 1605, Half note (minim) stem up - std::pair( "noteLaBlack", 0xE165 ), // glyphnumber: 1606, La (black note) - std::pair( "noteLaHalf", 0xE15D ), // glyphnumber: 1607, La (half note) - std::pair( "noteLaWhole", 0xE155 ), // glyphnumber: 1608, La (whole note) - std::pair( "noteMiBlack", 0xE162 ), // glyphnumber: 1609, Mi (black note) - std::pair( "noteMiHalf", 0xE15A ), // glyphnumber: 1610, Mi (half note) - std::pair( "noteMiWhole", 0xE152 ), // glyphnumber: 1611, Mi (whole note) - std::pair( "noteQuarterDown", 0xE1D6 ), // glyphnumber: 1612, Quarter note (crotchet) stem down - std::pair( "noteQuarterUp", 0xE1D5 ), // glyphnumber: 1613, Quarter note (crotchet) stem up - std::pair( "noteReBlack", 0xE161 ), // glyphnumber: 1614, Re (black note) - std::pair( "noteReHalf", 0xE159 ), // glyphnumber: 1615, Re (half note) - std::pair( "noteReWhole", 0xE151 ), // glyphnumber: 1616, Re (whole note) - std::pair( "noteShapeArrowheadLeftBlack", 0xE1C9 ), // glyphnumber: 1617, Arrowhead left black (Funk 7-shape re) - std::pair( "noteShapeArrowheadLeftDoubleWhole", 0xECDC ), // glyphnumber: 1618, Arrowhead left double whole (Funk 7-shape re) - std::pair( "noteShapeArrowheadLeftWhite", 0xE1C8 ), // glyphnumber: 1619, Arrowhead left white (Funk 7-shape re) - std::pair( "noteShapeDiamondBlack", 0xE1B9 ), // glyphnumber: 1620, Diamond black (4-shape mi; 7-shape mi) - std::pair( "noteShapeDiamondDoubleWhole", 0xECD4 ), // glyphnumber: 1621, Diamond double whole (4-shape mi; 7-shape mi) - std::pair( "noteShapeDiamondWhite", 0xE1B8 ), // glyphnumber: 1622, Diamond white (4-shape mi; 7-shape mi) - std::pair( "noteShapeIsoscelesTriangleBlack", 0xE1C5 ), // glyphnumber: 1623, Isosceles triangle black (Walker 7-shape ti) - std::pair( "noteShapeIsoscelesTriangleDoubleWhole", 0xECDA ), // glyphnumber: 1624, Isosceles triangle double whole (Walker 7-shape ti) - std::pair( "noteShapeIsoscelesTriangleWhite", 0xE1C4 ), // glyphnumber: 1625, Isosceles triangle white (Walker 7-shape ti) - std::pair( "noteShapeKeystoneBlack", 0xE1C1 ), // glyphnumber: 1626, Inverted keystone black (Walker 7-shape do) - std::pair( "noteShapeKeystoneDoubleWhole", 0xECD8 ), // glyphnumber: 1627, Inverted keystone double whole (Walker 7-shape do) - std::pair( "noteShapeKeystoneWhite", 0xE1C0 ), // glyphnumber: 1628, Inverted keystone white (Walker 7-shape do) - std::pair( "noteShapeMoonBlack", 0xE1BD ), // glyphnumber: 1629, Moon black (Aikin 7-shape re) - std::pair( "noteShapeMoonDoubleWhole", 0xECD6 ), // glyphnumber: 1630, Moon double whole (Aikin 7-shape re) - std::pair( "noteShapeMoonLeftBlack", 0xE1C7 ), // glyphnumber: 1631, Moon left black (Funk 7-shape do) - std::pair( "noteShapeMoonLeftDoubleWhole", 0xECDB ), // glyphnumber: 1632, Moon left double whole (Funk 7-shape do) - std::pair( "noteShapeMoonLeftWhite", 0xE1C6 ), // glyphnumber: 1633, Moon left white (Funk 7-shape do) - std::pair( "noteShapeMoonWhite", 0xE1BC ), // glyphnumber: 1634, Moon white (Aikin 7-shape re) - std::pair( "noteShapeQuarterMoonBlack", 0xE1C3 ), // glyphnumber: 1635, Quarter moon black (Walker 7-shape re) - std::pair( "noteShapeQuarterMoonDoubleWhole", 0xECD9 ), // glyphnumber: 1636, Quarter moon double whole (Walker 7-shape re) - std::pair( "noteShapeQuarterMoonWhite", 0xE1C2 ), // glyphnumber: 1637, Quarter moon white (Walker 7-shape re) - std::pair( "noteShapeRoundBlack", 0xE1B1 ), // glyphnumber: 1638, Round black (4-shape sol; 7-shape so) - std::pair( "noteShapeRoundDoubleWhole", 0xECD0 ), // glyphnumber: 1639, Round double whole (4-shape sol; 7-shape so) - std::pair( "noteShapeRoundWhite", 0xE1B0 ), // glyphnumber: 1640, Round white (4-shape sol; 7-shape so) - std::pair( "noteShapeSquareBlack", 0xE1B3 ), // glyphnumber: 1641, Square black (4-shape la; Aikin 7-shape la) - std::pair( "noteShapeSquareDoubleWhole", 0xECD1 ), // glyphnumber: 1642, Square double whole (4-shape la; Aikin 7-shape la) - std::pair( "noteShapeSquareWhite", 0xE1B2 ), // glyphnumber: 1643, Square white (4-shape la; Aikin 7-shape la) - std::pair( "noteShapeTriangleLeftBlack", 0xE1B7 ), // glyphnumber: 1644, Triangle left black (stem up; 4-shape fa; 7-shape fa) - std::pair( "noteShapeTriangleLeftDoubleWhole", 0xECD3 ), // glyphnumber: 1645, Triangle left double whole (stem up; 4-shape fa; 7-shape fa) - std::pair( "noteShapeTriangleLeftWhite", 0xE1B6 ), // glyphnumber: 1646, Triangle left white (stem up; 4-shape fa; 7-shape fa) - std::pair( "noteShapeTriangleRightBlack", 0xE1B5 ), // glyphnumber: 1647, Triangle right black (stem down; 4-shape fa; 7-shape fa) - std::pair( "noteShapeTriangleRightDoubleWhole", 0xECD2 ), // glyphnumber: 1648, Triangle right double whole (stem down; 4-shape fa; 7-shape fa) - std::pair( "noteShapeTriangleRightWhite", 0xE1B4 ), // glyphnumber: 1649, Triangle right white (stem down; 4-shape fa; 7-shape fa) - std::pair( "noteShapeTriangleRoundBlack", 0xE1BF ), // glyphnumber: 1650, Triangle-round black (Aikin 7-shape ti) - std::pair( "noteShapeTriangleRoundDoubleWhole", 0xECD7 ), // glyphnumber: 1651, Triangle-round white (Aikin 7-shape ti) - std::pair( "noteShapeTriangleRoundLeftBlack", 0xE1CB ), // glyphnumber: 1652, Triangle-round left black (Funk 7-shape ti) - std::pair( "noteShapeTriangleRoundLeftDoubleWhole", 0xECDD ), // glyphnumber: 1653, Triangle-round left double whole (Funk 7-shape ti) - std::pair( "noteShapeTriangleRoundLeftWhite", 0xE1CA ), // glyphnumber: 1654, Triangle-round left white (Funk 7-shape ti) - std::pair( "noteShapeTriangleRoundWhite", 0xE1BE ), // glyphnumber: 1655, Triangle-round white (Aikin 7-shape ti) - std::pair( "noteShapeTriangleUpBlack", 0xE1BB ), // glyphnumber: 1656, Triangle up black (Aikin 7-shape do) - std::pair( "noteShapeTriangleUpDoubleWhole", 0xECD5 ), // glyphnumber: 1657, Triangle up double whole (Aikin 7-shape do) - std::pair( "noteShapeTriangleUpWhite", 0xE1BA ), // glyphnumber: 1658, Triangle up white (Aikin 7-shape do) - std::pair( "noteSiBlack", 0xE167 ), // glyphnumber: 1659, Si (black note) - std::pair( "noteSiHalf", 0xE15F ), // glyphnumber: 1660, Si (half note) - std::pair( "noteSiWhole", 0xE157 ), // glyphnumber: 1661, Si (whole note) - std::pair( "noteSoBlack", 0xE164 ), // glyphnumber: 1662, So (black note) - std::pair( "noteSoHalf", 0xE15C ), // glyphnumber: 1663, So (half note) + { "4stringTabClef", 0xE06E }, // glyphnumber: 0, 4-string tab clef + { "6stringTabClef", 0xE06D }, // glyphnumber: 1, 6-string tab clef + { "accSagittal11LargeDiesisDown", 0xE30D }, // glyphnumber: 2, 11 large diesis down, 3° down [46 EDO] + { "accSagittal11LargeDiesisUp", 0xE30C }, // glyphnumber: 3, 11 large diesis up, (11L}, (sharp less 11M}, 3° up [46 EDO] + { "accSagittal11MediumDiesisDown", 0xE30B }, // glyphnumber: 4, 11 medium diesis down, 1°[17 31] 2°46 down, 1/4-tone down + { "accSagittal11MediumDiesisUp", 0xE30A }, // glyphnumber: 5, 11 medium diesis up, (11M}, 1°[17 31] 2°46 up, 1/4-tone up + { "accSagittal11v19LargeDiesisDown", 0xE3AB }, // glyphnumber: 6, 11:19 large diesis down + { "accSagittal11v19LargeDiesisUp", 0xE3AA }, // glyphnumber: 7, 11:19 large diesis up, (11:19L, apotome less 11:19M) + { "accSagittal11v19MediumDiesisDown", 0xE3A3 }, // glyphnumber: 8, 11:19 medium diesis down + { "accSagittal11v19MediumDiesisUp", 0xE3A2 }, // glyphnumber: 9, 11:19 medium diesis up, (11:19M, 11M plus 19s) + { "accSagittal11v49CommaDown", 0xE397 }, // glyphnumber: 10, 11:49 comma down + { "accSagittal11v49CommaUp", 0xE396 }, // glyphnumber: 11, 11:49 comma up, (11:49C, 11M less 49C) + { "accSagittal143CommaDown", 0xE395 }, // glyphnumber: 12, 143 comma down + { "accSagittal143CommaUp", 0xE394 }, // glyphnumber: 13, 143 comma up, (143C, 13L less 11M) + { "accSagittal17CommaDown", 0xE343 }, // glyphnumber: 14, 17 comma down + { "accSagittal17CommaUp", 0xE342 }, // glyphnumber: 15, 17 comma up, (17C) + { "accSagittal17KleismaDown", 0xE393 }, // glyphnumber: 16, 17 kleisma down + { "accSagittal17KleismaUp", 0xE392 }, // glyphnumber: 17, 17 kleisma up, (17k) + { "accSagittal19CommaDown", 0xE399 }, // glyphnumber: 18, 19 comma down + { "accSagittal19CommaUp", 0xE398 }, // glyphnumber: 19, 19 comma up, (19C) + { "accSagittal19SchismaDown", 0xE391 }, // glyphnumber: 20, 19 schisma down + { "accSagittal19SchismaUp", 0xE390 }, // glyphnumber: 21, 19 schisma up, (19s) + { "accSagittal23CommaDown", 0xE371 }, // glyphnumber: 22, 23 comma down, 2° down [96 EDO], 1/8-tone down + { "accSagittal23CommaUp", 0xE370 }, // glyphnumber: 23, 23 comma up, (23C}, 2° up [96 EDO], 1/8-tone up + { "accSagittal23SmallDiesisDown", 0xE39F }, // glyphnumber: 24, 23 small diesis down + { "accSagittal23SmallDiesisUp", 0xE39E }, // glyphnumber: 25, 23 small diesis up, (23S) + { "accSagittal25SmallDiesisDown", 0xE307 }, // glyphnumber: 26, 25 small diesis down, 2° down [53 EDO] + { "accSagittal25SmallDiesisUp", 0xE306 }, // glyphnumber: 27, 25 small diesis up, (25S, ~5:13S, ~37S, 5C plus 5C}, 2° up [53 EDO] + { "accSagittal35LargeDiesisDown", 0xE30F }, // glyphnumber: 28, 35 large diesis down, 2° down [50 EDO], 5/18-tone down + { "accSagittal35LargeDiesisUp", 0xE30E }, // glyphnumber: 29, 35 large diesis up, (35L, ~13L, ~125L, sharp less 35M}, 2°50 up + { "accSagittal35MediumDiesisDown", 0xE309 }, // glyphnumber: 30, 35 medium diesis down, 1°[50] 2°[27] down, 2/9-tone down + { "accSagittal35MediumDiesisUp", 0xE308 }, // glyphnumber: 31, 35 medium diesis up, (35M, ~13M, ~125M, 5C plus 7C}, 2/9-tone up + { "accSagittal49LargeDiesisDown", 0xE3A9 }, // glyphnumber: 32, 49 large diesis down + { "accSagittal49LargeDiesisUp", 0xE3A8 }, // glyphnumber: 33, 49 large diesis up, (49L, ~31L, apotome less 49M) + { "accSagittal49MediumDiesisDown", 0xE3A5 }, // glyphnumber: 34, 49 medium diesis down + { "accSagittal49MediumDiesisUp", 0xE3A4 }, // glyphnumber: 35, 49 medium diesis up, (49M, ~31M, 7C plus 7C) + { "accSagittal49SmallDiesisDown", 0xE39D }, // glyphnumber: 36, 49 small diesis down + { "accSagittal49SmallDiesisUp", 0xE39C }, // glyphnumber: 37, 49 small diesis up, (49S, ~31S) + { "accSagittal55CommaDown", 0xE345 }, // glyphnumber: 38, 55 comma down, 3° down [96 EDO], 3/16-tone down + { "accSagittal55CommaUp", 0xE344 }, // glyphnumber: 39, 55 comma up, (55C, 11M less 5C}, 3°up [96 EDO], 3/16-tone up + { "accSagittal5CommaDown", 0xE303 }, // glyphnumber: 40, 5 comma down, 1° down [22 27 29 34 41 46 53 96 EDOs], 1/12-tone down + { "accSagittal5CommaUp", 0xE302 }, // glyphnumber: 41, 5 comma up, (5C}, 1° up [22 27 29 34 41 46 53 96 EDOs], 1/12-tone up + { "accSagittal5v11SmallDiesisDown", 0xE349 }, // glyphnumber: 42, 5:11 small diesis down + { "accSagittal5v11SmallDiesisUp", 0xE348 }, // glyphnumber: 43, 5:11 small diesis up, (5:11S, ~7:13S, ~11:17S, 5:7k plus 7:11C) + { "accSagittal5v13LargeDiesisDown", 0xE3AD }, // glyphnumber: 44, 5:13 large diesis down + { "accSagittal5v13LargeDiesisUp", 0xE3AC }, // glyphnumber: 45, 5:13 large diesis up, (5:13L, ~37L, apotome less 5:13M) + { "accSagittal5v13MediumDiesisDown", 0xE3A1 }, // glyphnumber: 46, 5:13 medium diesis down + { "accSagittal5v13MediumDiesisUp", 0xE3A0 }, // glyphnumber: 47, 5:13 medium diesis up, (5:13M, ~37M, 5C plus 13C) + { "accSagittal5v19CommaDown", 0xE373 }, // glyphnumber: 48, 5:19 comma down, 1/20-tone down + { "accSagittal5v19CommaUp", 0xE372 }, // glyphnumber: 49, 5:19 comma up, (5:19C, 5C plus 19s}, 1/20-tone up + { "accSagittal5v23SmallDiesisDown", 0xE375 }, // glyphnumber: 50, 5:23 small diesis down, 2° down [60 EDO], 1/5-tone down + { "accSagittal5v23SmallDiesisUp", 0xE374 }, // glyphnumber: 51, 5:23 small diesis up, (5:23S, 5C plus 23C}, 2° up [60 EDO], 1/5-tone up + { "accSagittal5v49MediumDiesisDown", 0xE3A7 }, // glyphnumber: 52, 5:49 medium diesis down + { "accSagittal5v49MediumDiesisUp", 0xE3A6 }, // glyphnumber: 53, 5:49 medium diesis up, (5:49M, half apotome) + { "accSagittal5v7KleismaDown", 0xE301 }, // glyphnumber: 54, 5:7 kleisma down + { "accSagittal5v7KleismaUp", 0xE300 }, // glyphnumber: 55, 5:7 kleisma up, (5:7k, ~11:13k, 7C less 5C) + { "accSagittal7CommaDown", 0xE305 }, // glyphnumber: 56, 7 comma down, 1° down [43 EDO], 2° down [72 EDO], 1/6-tone down + { "accSagittal7CommaUp", 0xE304 }, // glyphnumber: 57, 7 comma up, (7C}, 1° up [43 EDO], 2° up [72 EDO], 1/6-tone up + { "accSagittal7v11CommaDown", 0xE347 }, // glyphnumber: 58, 7:11 comma down, 1° down [60 EDO], 1/10-tone down + { "accSagittal7v11CommaUp", 0xE346 }, // glyphnumber: 59, 7:11 comma up, (7:11C, ~13:17S, ~29S, 11L less 7C}, 1° up [60 EDO] + { "accSagittal7v11KleismaDown", 0xE341 }, // glyphnumber: 60, 7:11 kleisma down + { "accSagittal7v11KleismaUp", 0xE340 }, // glyphnumber: 61, 7:11 kleisma up, (7:11k, ~29k) + { "accSagittal7v19CommaDown", 0xE39B }, // glyphnumber: 62, 7:19 comma down + { "accSagittal7v19CommaUp", 0xE39A }, // glyphnumber: 63, 7:19 comma up, (7:19C, 7C less 19s) + { "accSagittalAcute", 0xE3F2 }, // glyphnumber: 64, Acute, 5 schisma up (5s}, 2 cents up + { "accSagittalDoubleFlat", 0xE335 }, // glyphnumber: 65, Double flat, (2 apotomes down)[almost all EDOs], whole-tone down + { "accSagittalDoubleFlat11v49CUp", 0xE3E9 }, // glyphnumber: 66, Double flat 11:49C-up + { "accSagittalDoubleFlat143CUp", 0xE3EB }, // glyphnumber: 67, Double flat 143C-up + { "accSagittalDoubleFlat17CUp", 0xE365 }, // glyphnumber: 68, Double flat 17C-up + { "accSagittalDoubleFlat17kUp", 0xE3ED }, // glyphnumber: 69, Double flat 17k-up + { "accSagittalDoubleFlat19CUp", 0xE3E7 }, // glyphnumber: 70, Double flat 19C-up + { "accSagittalDoubleFlat19sUp", 0xE3EF }, // glyphnumber: 71, Double flat 19s-up + { "accSagittalDoubleFlat23CUp", 0xE387 }, // glyphnumber: 72, Double flat 23C-up, 14° down [96 EDO], 7/8-tone down + { "accSagittalDoubleFlat23SUp", 0xE3E1 }, // glyphnumber: 73, Double flat 23S-up + { "accSagittalDoubleFlat25SUp", 0xE32D }, // glyphnumber: 74, Double flat 25S-up, 8°down [53 EDO] + { "accSagittalDoubleFlat49SUp", 0xE3E3 }, // glyphnumber: 75, Double flat 49S-up + { "accSagittalDoubleFlat55CUp", 0xE363 }, // glyphnumber: 76, Double flat 55C-up, 13° down [96 EDO], 13/16-tone down + { "accSagittalDoubleFlat5CUp", 0xE331 }, // glyphnumber: 77, Double flat 5C-up, 5°[22 29] 7°[34 41] 9°53 down, 11/12 tone down + { "accSagittalDoubleFlat5v11SUp", 0xE35F }, // glyphnumber: 78, Double flat 5:11S-up + { "accSagittalDoubleFlat5v19CUp", 0xE385 }, // glyphnumber: 79, Double flat 5:19C-up, 19/20-tone down + { "accSagittalDoubleFlat5v23SUp", 0xE383 }, // glyphnumber: 80, Double flat 5:23S-up, 8° down [60 EDO], 4/5-tone down + { "accSagittalDoubleFlat5v7kUp", 0xE333 }, // glyphnumber: 81, Double flat 5:7k-up + { "accSagittalDoubleFlat7CUp", 0xE32F }, // glyphnumber: 82, Double flat 7C-up, 5° down [43 EDO], 10° down [72 EDO], 5/6-tone down + { "accSagittalDoubleFlat7v11CUp", 0xE361 }, // glyphnumber: 83, Double flat 7:11C-up, 9° down [60 EDO], 9/10-tone down + { "accSagittalDoubleFlat7v11kUp", 0xE367 }, // glyphnumber: 84, Double flat 7:11k-up + { "accSagittalDoubleFlat7v19CUp", 0xE3E5 }, // glyphnumber: 85, Double flat 7:19C-up + { "accSagittalDoubleSharp", 0xE334 }, // glyphnumber: 86, Double sharp, (2 apotomes up)[almost all EDOs], whole-tone up + { "accSagittalDoubleSharp11v49CDown", 0xE3E8 }, // glyphnumber: 87, Double sharp 11:49C-down + { "accSagittalDoubleSharp143CDown", 0xE3EA }, // glyphnumber: 88, Double sharp 143C-down + { "accSagittalDoubleSharp17CDown", 0xE364 }, // glyphnumber: 89, Double sharp 17C-down + { "accSagittalDoubleSharp17kDown", 0xE3EC }, // glyphnumber: 90, Double sharp 17k-down + { "accSagittalDoubleSharp19CDown", 0xE3E6 }, // glyphnumber: 91, Double sharp 19C-down + { "accSagittalDoubleSharp19sDown", 0xE3EE }, // glyphnumber: 92, Double sharp 19s-down + { "accSagittalDoubleSharp23CDown", 0xE386 }, // glyphnumber: 93, Double sharp 23C-down, 14°up [96 EDO], 7/8-tone up + { "accSagittalDoubleSharp23SDown", 0xE3E0 }, // glyphnumber: 94, Double sharp 23S-down + { "accSagittalDoubleSharp25SDown", 0xE32C }, // glyphnumber: 95, Double sharp 25S-down, 8°up [53 EDO] + { "accSagittalDoubleSharp49SDown", 0xE3E2 }, // glyphnumber: 96, Double sharp 49S-down + { "accSagittalDoubleSharp55CDown", 0xE362 }, // glyphnumber: 97, Double sharp 55C-down, 13° up [96 EDO], 13/16-tone up + { "accSagittalDoubleSharp5CDown", 0xE330 }, // glyphnumber: 98, Double sharp 5C-down, 5°[22 29] 7°[34 41] 9°53 up, 11/12 tone up + { "accSagittalDoubleSharp5v11SDown", 0xE35E }, // glyphnumber: 99, Double sharp 5:11S-down + { "accSagittalDoubleSharp5v19CDown", 0xE384 }, // glyphnumber: 100, Double sharp 5:19C-down, 19/20-tone up + { "accSagittalDoubleSharp5v23SDown", 0xE382 }, // glyphnumber: 101, Double sharp 5:23S-down, 8° up [60 EDO], 4/5-tone up + { "accSagittalDoubleSharp5v7kDown", 0xE332 }, // glyphnumber: 102, Double sharp 5:7k-down + { "accSagittalDoubleSharp7CDown", 0xE32E }, // glyphnumber: 103, Double sharp 7C-down, 5°[43] 10°[72] up, 5/6-tone up + { "accSagittalDoubleSharp7v11CDown", 0xE360 }, // glyphnumber: 104, Double sharp 7:11C-down, 9° up [60 EDO], 9/10-tone up + { "accSagittalDoubleSharp7v11kDown", 0xE366 }, // glyphnumber: 105, Double sharp 7:11k-down + { "accSagittalDoubleSharp7v19CDown", 0xE3E4 }, // glyphnumber: 106, Double sharp 7:19C-down + { "accSagittalFlat", 0xE319 }, // glyphnumber: 107, Flat, (apotome down)[almost all EDOs], 1/2-tone down + { "accSagittalFlat11LDown", 0xE329 }, // glyphnumber: 108, Flat 11L-down, 8° up [46 EDO] + { "accSagittalFlat11MDown", 0xE327 }, // glyphnumber: 109, Flat 11M-down, 3° down [17 31 EDOs], 7° down [46 EDO], 3/4-tone down + { "accSagittalFlat11v19LDown", 0xE3DB }, // glyphnumber: 110, Flat 11:19L-down + { "accSagittalFlat11v19MDown", 0xE3D3 }, // glyphnumber: 111, Flat 11:19M-down + { "accSagittalFlat11v49CDown", 0xE3C7 }, // glyphnumber: 112, Flat 11:49C-down + { "accSagittalFlat11v49CUp", 0xE3B9 }, // glyphnumber: 113, Flat 11:49C-up + { "accSagittalFlat143CDown", 0xE3C5 }, // glyphnumber: 114, Flat 143C-down + { "accSagittalFlat143CUp", 0xE3BB }, // glyphnumber: 115, Flat 143C-up + { "accSagittalFlat17CDown", 0xE357 }, // glyphnumber: 116, Flat 17C-down + { "accSagittalFlat17CUp", 0xE351 }, // glyphnumber: 117, Flat 17C-up + { "accSagittalFlat17kDown", 0xE3C3 }, // glyphnumber: 118, Flat 17k-down + { "accSagittalFlat17kUp", 0xE3BD }, // glyphnumber: 119, Flat 17k-up + { "accSagittalFlat19CDown", 0xE3C9 }, // glyphnumber: 120, Flat 19C-down + { "accSagittalFlat19CUp", 0xE3B7 }, // glyphnumber: 121, Flat 19C-up + { "accSagittalFlat19sDown", 0xE3C1 }, // glyphnumber: 122, Flat 19s-down + { "accSagittalFlat19sUp", 0xE3BF }, // glyphnumber: 123, Flat 19s-up + { "accSagittalFlat23CDown", 0xE37D }, // glyphnumber: 124, Flat 23C-down, 10° down [96 EDO], 5/8-tone down + { "accSagittalFlat23CUp", 0xE37B }, // glyphnumber: 125, Flat 23C-up, 6° down [96 EDO], 3/8-tone down + { "accSagittalFlat23SDown", 0xE3CF }, // glyphnumber: 126, Flat 23S-down + { "accSagittalFlat23SUp", 0xE3B1 }, // glyphnumber: 127, Flat 23S-up + { "accSagittalFlat25SDown", 0xE323 }, // glyphnumber: 128, Flat 25S-down, 7° down [53 EDO] + { "accSagittalFlat25SUp", 0xE311 }, // glyphnumber: 129, Flat 25S-up, 3° down [53 EDO] + { "accSagittalFlat35LDown", 0xE32B }, // glyphnumber: 130, Flat 35L-down, 5° down [50 EDO] + { "accSagittalFlat35MDown", 0xE325 }, // glyphnumber: 131, Flat 35M-down, 4° down [50 EDO], 6° down [27 EDO], 13/18-tone down + { "accSagittalFlat49LDown", 0xE3D9 }, // glyphnumber: 132, Flat 49L-down + { "accSagittalFlat49MDown", 0xE3D5 }, // glyphnumber: 133, Flat 49M-down + { "accSagittalFlat49SDown", 0xE3CD }, // glyphnumber: 134, Flat 49S-down + { "accSagittalFlat49SUp", 0xE3B3 }, // glyphnumber: 135, Flat 49S-up + { "accSagittalFlat55CDown", 0xE359 }, // glyphnumber: 136, Flat 55C-down, 11° down [96 EDO], 11/16-tone down + { "accSagittalFlat55CUp", 0xE34F }, // glyphnumber: 137, Flat 55C-up, 5° down [96 EDO], 5/16-tone down + { "accSagittalFlat5CDown", 0xE31F }, // glyphnumber: 138, Flat 5C-down, 4°[22 29] 5°[27 34 41] 6°[39 46 53] down, 7/12-tone down + { "accSagittalFlat5CUp", 0xE315 }, // glyphnumber: 139, Flat 5C-up, 2°[22,29] 3°[34 41] 4°[46 53 60] down, 5/12-tone down + { "accSagittalFlat5v11SDown", 0xE35D }, // glyphnumber: 140, Flat 5:11S-down + { "accSagittalFlat5v11SUp", 0xE34B }, // glyphnumber: 141, Flat 5:11S-up + { "accSagittalFlat5v13LDown", 0xE3DD }, // glyphnumber: 142, Flat 5:13L-down + { "accSagittalFlat5v13MDown", 0xE3D1 }, // glyphnumber: 143, Flat 5:13M-down + { "accSagittalFlat5v19CDown", 0xE37F }, // glyphnumber: 144, Flat 5:19C-down, 11/20-tone down + { "accSagittalFlat5v19CUp", 0xE379 }, // glyphnumber: 145, Flat 5:19C-up, 9/20-tone down + { "accSagittalFlat5v23SDown", 0xE381 }, // glyphnumber: 146, Flat 5:23S-down, 7° down [60 EDO], 7/10-tone down + { "accSagittalFlat5v23SUp", 0xE377 }, // glyphnumber: 147, Flat 5:23S-up, 3° down [60 EDO], 3/10-tone down + { "accSagittalFlat5v49MDown", 0xE3D7 }, // glyphnumber: 148, Flat 5:49M-down + { "accSagittalFlat5v7kDown", 0xE31D }, // glyphnumber: 149, Flat 5:7k-down + { "accSagittalFlat5v7kUp", 0xE317 }, // glyphnumber: 150, Flat 5:7k-up + { "accSagittalFlat7CDown", 0xE321 }, // glyphnumber: 151, Flat 7C-down, 4° down [43 EDO], 8° down [72 EDO], 2/3-tone down + { "accSagittalFlat7CUp", 0xE313 }, // glyphnumber: 152, Flat 7C-up, 2° down [43 EDO], 4° down [72 EDO], 1/3-tone down + { "accSagittalFlat7v11CDown", 0xE35B }, // glyphnumber: 153, Flat 7:11C-down, 6° down [60 EDO], 3/5- tone down + { "accSagittalFlat7v11CUp", 0xE34D }, // glyphnumber: 154, Flat 7:11C-up, 4° down [60 EDO], 2/5-tone down + { "accSagittalFlat7v11kDown", 0xE355 }, // glyphnumber: 155, Flat 7:11k-down + { "accSagittalFlat7v11kUp", 0xE353 }, // glyphnumber: 156, Flat 7:11k-up + { "accSagittalFlat7v19CDown", 0xE3CB }, // glyphnumber: 157, Flat 7:19C-down + { "accSagittalFlat7v19CUp", 0xE3B5 }, // glyphnumber: 158, Flat 7:19C-up + { "accSagittalGrave", 0xE3F3 }, // glyphnumber: 159, Grave, 5 schisma down, 2 cents down + { "accSagittalShaftDown", 0xE3F1 }, // glyphnumber: 160, Shaft down, (natural for use with only diacritics down) + { "accSagittalShaftUp", 0xE3F0 }, // glyphnumber: 161, Shaft up, (natural for use with only diacritics up) + { "accSagittalSharp", 0xE318 }, // glyphnumber: 162, Sharp, (apotome up)[almost all EDOs], 1/2-tone up + { "accSagittalSharp11LUp", 0xE328 }, // glyphnumber: 163, Sharp 11L-up, 8° up [46 EDO] + { "accSagittalSharp11MUp", 0xE326 }, // glyphnumber: 164, Sharp 11M-up, 3° up [17 31 EDOs], 7° up [46 EDO], 3/4-tone up + { "accSagittalSharp11v19LUp", 0xE3DA }, // glyphnumber: 165, Sharp 11:19L-up + { "accSagittalSharp11v19MUp", 0xE3D2 }, // glyphnumber: 166, Sharp 11:19M-up + { "accSagittalSharp11v49CDown", 0xE3B8 }, // glyphnumber: 167, Sharp 11:49C-down + { "accSagittalSharp11v49CUp", 0xE3C6 }, // glyphnumber: 168, Sharp 11:49C-up + { "accSagittalSharp143CDown", 0xE3BA }, // glyphnumber: 169, Sharp 143C-down + { "accSagittalSharp143CUp", 0xE3C4 }, // glyphnumber: 170, Sharp 143C-up + { "accSagittalSharp17CDown", 0xE350 }, // glyphnumber: 171, Sharp 17C-down + { "accSagittalSharp17CUp", 0xE356 }, // glyphnumber: 172, Sharp 17C-up + { "accSagittalSharp17kDown", 0xE3BC }, // glyphnumber: 173, Sharp 17k-down + { "accSagittalSharp17kUp", 0xE3C2 }, // glyphnumber: 174, Sharp 17k-up + { "accSagittalSharp19CDown", 0xE3B6 }, // glyphnumber: 175, Sharp 19C-down + { "accSagittalSharp19CUp", 0xE3C8 }, // glyphnumber: 176, Sharp 19C-up + { "accSagittalSharp19sDown", 0xE3BE }, // glyphnumber: 177, Sharp 19s-down + { "accSagittalSharp19sUp", 0xE3C0 }, // glyphnumber: 178, Sharp 19s-up + { "accSagittalSharp23CDown", 0xE37A }, // glyphnumber: 179, Sharp 23C-down, 6° up [96 EDO], 3/8-tone up + { "accSagittalSharp23CUp", 0xE37C }, // glyphnumber: 180, Sharp 23C-up, 10° up [96 EDO], 5/8-tone up + { "accSagittalSharp23SDown", 0xE3B0 }, // glyphnumber: 181, Sharp 23S-down + { "accSagittalSharp23SUp", 0xE3CE }, // glyphnumber: 182, Sharp 23S-up + { "accSagittalSharp25SDown", 0xE310 }, // glyphnumber: 183, Sharp 25S-down, 3° up [53 EDO] + { "accSagittalSharp25SUp", 0xE322 }, // glyphnumber: 184, Sharp 25S-up, 7° up [53 EDO] + { "accSagittalSharp35LUp", 0xE32A }, // glyphnumber: 185, Sharp 35L-up, 5° up [50 EDO] + { "accSagittalSharp35MUp", 0xE324 }, // glyphnumber: 186, Sharp 35M-up, 4° up [50 EDO], 6° up [27 EDO], 13/18-tone up + { "accSagittalSharp49LUp", 0xE3D8 }, // glyphnumber: 187, Sharp 49L-up + { "accSagittalSharp49MUp", 0xE3D4 }, // glyphnumber: 188, Sharp 49M-up + { "accSagittalSharp49SDown", 0xE3B2 }, // glyphnumber: 189, Sharp 49S-down + { "accSagittalSharp49SUp", 0xE3CC }, // glyphnumber: 190, Sharp 49S-up + { "accSagittalSharp55CDown", 0xE34E }, // glyphnumber: 191, Sharp 55C-down, 5° up [96 EDO], 5/16-tone up + { "accSagittalSharp55CUp", 0xE358 }, // glyphnumber: 192, Sharp 55C-up, 11° up [96 EDO], 11/16-tone up + { "accSagittalSharp5CDown", 0xE314 }, // glyphnumber: 193, Sharp 5C-down, 2°[22 29] 3°[34 41] 4°[46 53 60] up, 5/12-tone up + { "accSagittalSharp5CUp", 0xE31E }, // glyphnumber: 194, Sharp 5C-up, 4°[22 29] 5°[27 34 41] 6°[39 46 53] up, 7/12-tone up + { "accSagittalSharp5v11SDown", 0xE34A }, // glyphnumber: 195, Sharp 5:11S-down + { "accSagittalSharp5v11SUp", 0xE35C }, // glyphnumber: 196, Sharp 5:11S-up + { "accSagittalSharp5v13LUp", 0xE3DC }, // glyphnumber: 197, Sharp 5:13L-up + { "accSagittalSharp5v13MUp", 0xE3D0 }, // glyphnumber: 198, Sharp 5:13M-up + { "accSagittalSharp5v19CDown", 0xE378 }, // glyphnumber: 199, Sharp 5:19C-down, 9/20-tone up + { "accSagittalSharp5v19CUp", 0xE37E }, // glyphnumber: 200, Sharp 5:19C-up, 11/20-tone up + { "accSagittalSharp5v23SDown", 0xE376 }, // glyphnumber: 201, Sharp 5:23S-down, 3° up [60 EDO], 3/10-tone up + { "accSagittalSharp5v23SUp", 0xE380 }, // glyphnumber: 202, Sharp 5:23S-up, 7° up [60 EDO], 7/10-tone up + { "accSagittalSharp5v49MUp", 0xE3D6 }, // glyphnumber: 203, Sharp 5:49M-up, (one and a half apotomes) + { "accSagittalSharp5v7kDown", 0xE316 }, // glyphnumber: 204, Sharp 5:7k-down + { "accSagittalSharp5v7kUp", 0xE31C }, // glyphnumber: 205, Sharp 5:7k-up + { "accSagittalSharp7CDown", 0xE312 }, // glyphnumber: 206, Sharp 7C-down, 2° up [43 EDO], 4° up [72 EDO], 1/3-tone up + { "accSagittalSharp7CUp", 0xE320 }, // glyphnumber: 207, Sharp 7C-up, 4° up [43 EDO], 8° up [72 EDO], 2/3-tone up + { "accSagittalSharp7v11CDown", 0xE34C }, // glyphnumber: 208, Sharp 7:11C-down, 4° up [60 EDO], 2/5-tone up + { "accSagittalSharp7v11CUp", 0xE35A }, // glyphnumber: 209, Sharp 7:11C-up, 6° up [60 EDO], 3/5- tone up + { "accSagittalSharp7v11kDown", 0xE352 }, // glyphnumber: 210, Sharp 7:11k-down + { "accSagittalSharp7v11kUp", 0xE354 }, // glyphnumber: 211, Sharp 7:11k-up + { "accSagittalSharp7v19CDown", 0xE3B4 }, // glyphnumber: 212, Sharp 7:19C-down + { "accSagittalSharp7v19CUp", 0xE3CA }, // glyphnumber: 213, Sharp 7:19C-up + { "accSagittalUnused1", 0xE31A }, // glyphnumber: 214, Unused + { "accSagittalUnused2", 0xE31B }, // glyphnumber: 215, Unused + { "accSagittalUnused3", 0xE3DE }, // glyphnumber: 216, Unused + { "accSagittalUnused4", 0xE3DF }, // glyphnumber: 217, Unused + { "accdnCombDot", 0xE8CA }, // glyphnumber: 218, Combining accordion coupler dot + { "accdnCombLH2RanksEmpty", 0xE8C8 }, // glyphnumber: 219, Combining left hand, 2 ranks, empty + { "accdnCombLH3RanksEmptySquare", 0xE8C9 }, // glyphnumber: 220, Combining left hand, 3 ranks, empty (square) + { "accdnCombRH3RanksEmpty", 0xE8C6 }, // glyphnumber: 221, Combining right hand, 3 ranks, empty + { "accdnCombRH4RanksEmpty", 0xE8C7 }, // glyphnumber: 222, Combining right hand, 4 ranks, empty + { "accdnDiatonicClef", 0xE079 }, // glyphnumber: 223, Diatonic accordion clef + { "accdnLH2Ranks16Round", 0xE8BC }, // glyphnumber: 224, Left hand, 2 ranks, 16' stop (round) + { "accdnLH2Ranks8Plus16Round", 0xE8BD }, // glyphnumber: 225, Left hand, 2 ranks, 8' stop + 16' stop (round) + { "accdnLH2Ranks8Round", 0xE8BB }, // glyphnumber: 226, Left hand, 2 ranks, 8' stop (round) + { "accdnLH2RanksFullMasterRound", 0xE8C0 }, // glyphnumber: 227, Left hand, 2 ranks, full master (round) + { "accdnLH2RanksMasterPlus16Round", 0xE8BF }, // glyphnumber: 228, Left hand, 2 ranks, master + 16' stop (round) + { "accdnLH2RanksMasterRound", 0xE8BE }, // glyphnumber: 229, Left hand, 2 ranks, master (round) + { "accdnLH3Ranks2Plus8Square", 0xE8C4 }, // glyphnumber: 230, Left hand, 3 ranks, 2' stop + 8' stop (square) + { "accdnLH3Ranks2Square", 0xE8C2 }, // glyphnumber: 231, Left hand, 3 ranks, 2' stop (square) + { "accdnLH3Ranks8Square", 0xE8C1 }, // glyphnumber: 232, Left hand, 3 ranks, 8' stop (square) + { "accdnLH3RanksDouble8Square", 0xE8C3 }, // glyphnumber: 233, Left hand, 3 ranks, double 8' stop (square) + { "accdnLH3RanksTuttiSquare", 0xE8C5 }, // glyphnumber: 234, Left hand, 3 ranks, 2' stop + double 8' stop (tutti) (square) + { "accdnPull", 0xE8CC }, // glyphnumber: 235, Pull + { "accdnPush", 0xE8CB }, // glyphnumber: 236, Push + { "accdnRH3RanksAccordion", 0xE8AC }, // glyphnumber: 237, Right hand, 3 ranks, 8' stop + upper tremolo 8' stop + 16' stop (accordion) + { "accdnRH3RanksAuthenticMusette", 0xE8A8 }, // glyphnumber: 238, Right hand, 3 ranks, lower tremolo 8' stop + 8' stop + upper tremolo 8' stop (authentic musette) + { "accdnRH3RanksBandoneon", 0xE8AB }, // glyphnumber: 239, Right hand, 3 ranks, 8' stop + 16' stop (bandoneón) + { "accdnRH3RanksBassoon", 0xE8A4 }, // glyphnumber: 240, Right hand, 3 ranks, 16' stop (bassoon) + { "accdnRH3RanksClarinet", 0xE8A1 }, // glyphnumber: 241, Right hand, 3 ranks, 8' stop (clarinet) + { "accdnRH3RanksDoubleTremoloLower8ve", 0xE8B1 }, // glyphnumber: 242, Right hand, 3 ranks, lower tremolo 8' stop + 8' stop + upper tremolo 8' stop + 16' stop + { "accdnRH3RanksDoubleTremoloUpper8ve", 0xE8B2 }, // glyphnumber: 243, Right hand, 3 ranks, 4' stop + lower tremolo 8' stop + 8' stop + upper tremolo 8' stop + { "accdnRH3RanksFullFactory", 0xE8B3 }, // glyphnumber: 244, Right hand, 3 ranks, 4' stop + lower tremolo 8' stop + 8' stop + upper tremolo 8' stop + 16' stop + { "accdnRH3RanksHarmonium", 0xE8AA }, // glyphnumber: 245, Right hand, 3 ranks, 4' stop + 8' stop + 16' stop (harmonium) + { "accdnRH3RanksImitationMusette", 0xE8A7 }, // glyphnumber: 246, Right hand, 3 ranks, 4' stop + 8' stop + upper tremolo 8' stop (imitation musette) + { "accdnRH3RanksLowerTremolo8", 0xE8A3 }, // glyphnumber: 247, Right hand, 3 ranks, lower tremolo 8' stop + { "accdnRH3RanksMaster", 0xE8AD }, // glyphnumber: 248, Right hand, 3 ranks, 4' stop + lower tremolo 8' stop + upper tremolo 8' stop + 16' stop (master) + { "accdnRH3RanksOboe", 0xE8A5 }, // glyphnumber: 249, Right hand, 3 ranks, 4' stop + 8' stop (oboe) + { "accdnRH3RanksOrgan", 0xE8A9 }, // glyphnumber: 250, Right hand, 3 ranks, 4' stop + 16' stop (organ) + { "accdnRH3RanksPiccolo", 0xE8A0 }, // glyphnumber: 251, Right hand, 3 ranks, 4' stop (piccolo) + { "accdnRH3RanksTremoloLower8ve", 0xE8AF }, // glyphnumber: 252, Right hand, 3 ranks, lower tremolo 8' stop + upper tremolo 8' stop + 16' stop + { "accdnRH3RanksTremoloUpper8ve", 0xE8B0 }, // glyphnumber: 253, Right hand, 3 ranks, 4' stop + lower tremolo 8' stop + upper tremolo 8' stop + { "accdnRH3RanksTwoChoirs", 0xE8AE }, // glyphnumber: 254, Right hand, 3 ranks, lower tremolo 8' stop + upper tremolo 8' stop + { "accdnRH3RanksUpperTremolo8", 0xE8A2 }, // glyphnumber: 255, Right hand, 3 ranks, upper tremolo 8' stop + { "accdnRH3RanksViolin", 0xE8A6 }, // glyphnumber: 256, Right hand, 3 ranks, 8' stop + upper tremolo 8' stop (violin) + { "accdnRH4RanksAlto", 0xE8B5 }, // glyphnumber: 257, Right hand, 4 ranks, alto + { "accdnRH4RanksBassAlto", 0xE8BA }, // glyphnumber: 258, Right hand, 4 ranks, bass/alto + { "accdnRH4RanksMaster", 0xE8B7 }, // glyphnumber: 259, Right hand, 4 ranks, master + { "accdnRH4RanksSoftBass", 0xE8B8 }, // glyphnumber: 260, Right hand, 4 ranks, soft bass + { "accdnRH4RanksSoftTenor", 0xE8B9 }, // glyphnumber: 261, Right hand, 4 ranks, soft tenor + { "accdnRH4RanksSoprano", 0xE8B4 }, // glyphnumber: 262, Right hand, 4 ranks, soprano + { "accdnRH4RanksTenor", 0xE8B6 }, // glyphnumber: 263, Right hand, 4 ranks, tenor + { "accdnRicochet2", 0xE8CD }, // glyphnumber: 264, Ricochet (2 tones) + { "accdnRicochet3", 0xE8CE }, // glyphnumber: 265, Ricochet (3 tones) + { "accdnRicochet4", 0xE8CF }, // glyphnumber: 266, Ricochet (4 tones) + { "accdnRicochet5", 0xE8D0 }, // glyphnumber: 267, Ricochet (5 tones) + { "accdnRicochet6", 0xE8D1 }, // glyphnumber: 268, Ricochet (6 tones) + { "accdnRicochetStem2", 0xE8D2 }, // glyphnumber: 269, Combining ricochet for stem (2 tones) + { "accdnRicochetStem3", 0xE8D3 }, // glyphnumber: 270, Combining ricochet for stem (3 tones) + { "accdnRicochetStem4", 0xE8D4 }, // glyphnumber: 271, Combining ricochet for stem (4 tones) + { "accdnRicochetStem5", 0xE8D5 }, // glyphnumber: 272, Combining ricochet for stem (5 tones) + { "accdnRicochetStem6", 0xE8D6 }, // glyphnumber: 273, Combining ricochet for stem (6 tones) + { "accidental1CommaFlat", 0xE454 }, // glyphnumber: 274, 1-comma flat + { "accidental1CommaSharp", 0xE450 }, // glyphnumber: 275, 1-comma sharp + { "accidental2CommaFlat", 0xE455 }, // glyphnumber: 276, 2-comma flat + { "accidental2CommaSharp", 0xE451 }, // glyphnumber: 277, 2-comma sharp + { "accidental3CommaFlat", 0xE456 }, // glyphnumber: 278, 3-comma flat + { "accidental3CommaSharp", 0xE452 }, // glyphnumber: 279, 3-comma sharp + { "accidental4CommaFlat", 0xE457 }, // glyphnumber: 280, 4-comma flat + { "accidental5CommaSharp", 0xE453 }, // glyphnumber: 281, 5-comma sharp + { "accidentalArrowDown", 0xE27B }, // glyphnumber: 282, Arrow down (lower by one quarter-tone) + { "accidentalArrowUp", 0xE27A }, // glyphnumber: 283, Arrow up (raise by one quarter-tone) + { "accidentalBakiyeFlat", 0xE442 }, // glyphnumber: 284, Bakiye (flat) + { "accidentalBakiyeSharp", 0xE445 }, // glyphnumber: 285, Bakiye (sharp) + { "accidentalBracketLeft", 0xE26C }, // glyphnumber: 286, Accidental bracket, left + { "accidentalBracketRight", 0xE26D }, // glyphnumber: 287, Accidental bracket, right + { "accidentalBuyukMucennebFlat", 0xE440 }, // glyphnumber: 288, Büyük mücenneb (flat) + { "accidentalBuyukMucennebSharp", 0xE447 }, // glyphnumber: 289, Büyük mücenneb (sharp) + { "accidentalCombiningCloseCurlyBrace", 0xE2EF }, // glyphnumber: 290, Combining close curly brace + { "accidentalCombiningLower17Schisma", 0xE2E6 }, // glyphnumber: 291, Combining lower by one 17-limit schisma + { "accidentalCombiningLower19Schisma", 0xE2E8 }, // glyphnumber: 292, Combining lower by one 19-limit schisma + { "accidentalCombiningLower23Limit29LimitComma", 0xE2EA }, // glyphnumber: 293, Combining lower by one 23-limit comma or 29-limit comma + { "accidentalCombiningLower31Schisma", 0xE2EC }, // glyphnumber: 294, Combining lower by one 31-limit schisma + { "accidentalCombiningLower53LimitComma", 0xE2F7 }, // glyphnumber: 295, Combining lower by one 53-limit comma + { "accidentalCombiningOpenCurlyBrace", 0xE2EE }, // glyphnumber: 296, Combining open curly brace + { "accidentalCombiningRaise17Schisma", 0xE2E7 }, // glyphnumber: 297, Combining raise by one 17-limit schisma + { "accidentalCombiningRaise19Schisma", 0xE2E9 }, // glyphnumber: 298, Combining raise by one 19-limit schisma + { "accidentalCombiningRaise23Limit29LimitComma", 0xE2EB }, // glyphnumber: 299, Combining raise by one 23-limit comma or 29-limit comma + { "accidentalCombiningRaise31Schisma", 0xE2ED }, // glyphnumber: 300, Combining raise by one 31-limit schisma + { "accidentalCombiningRaise53LimitComma", 0xE2F8 }, // glyphnumber: 301, Combining raise by one 53-limit comma + { "accidentalCommaSlashDown", 0xE47A }, // glyphnumber: 302, Syntonic/Didymus comma (80:81) down (Bosanquet) + { "accidentalCommaSlashUp", 0xE479 }, // glyphnumber: 303, Syntonic/Didymus comma (80:81) up (Bosanquet) + { "accidentalDoubleFlat", 0xE264 }, // glyphnumber: 304, Double flat + { "accidentalDoubleFlatArabic", 0xED30 }, // glyphnumber: 305, Arabic double flat + { "accidentalDoubleFlatEqualTempered", 0xE2F0 }, // glyphnumber: 306, Double flat equal tempered semitone + { "accidentalDoubleFlatOneArrowDown", 0xE2C0 }, // glyphnumber: 307, Double flat lowered by one syntonic comma + { "accidentalDoubleFlatOneArrowUp", 0xE2C5 }, // glyphnumber: 308, Double flat raised by one syntonic comma + { "accidentalDoubleFlatReversed", 0xE483 }, // glyphnumber: 309, Reversed double flat + { "accidentalDoubleFlatThreeArrowsDown", 0xE2D4 }, // glyphnumber: 310, Double flat lowered by three syntonic commas + { "accidentalDoubleFlatThreeArrowsUp", 0xE2D9 }, // glyphnumber: 311, Double flat raised by three syntonic commas + { "accidentalDoubleFlatTurned", 0xE485 }, // glyphnumber: 312, Turned double flat + { "accidentalDoubleFlatTwoArrowsDown", 0xE2CA }, // glyphnumber: 313, Double flat lowered by two syntonic commas + { "accidentalDoubleFlatTwoArrowsUp", 0xE2CF }, // glyphnumber: 314, Double flat raised by two syntonic commas + { "accidentalDoubleSharp", 0xE263 }, // glyphnumber: 315, Double sharp + { "accidentalDoubleSharpArabic", 0xED38 }, // glyphnumber: 316, Arabic double sharp + { "accidentalDoubleSharpEqualTempered", 0xE2F4 }, // glyphnumber: 317, Double sharp equal tempered semitone + { "accidentalDoubleSharpOneArrowDown", 0xE2C4 }, // glyphnumber: 318, Double sharp lowered by one syntonic comma + { "accidentalDoubleSharpOneArrowUp", 0xE2C9 }, // glyphnumber: 319, Double sharp raised by one syntonic comma + { "accidentalDoubleSharpThreeArrowsDown", 0xE2D8 }, // glyphnumber: 320, Double sharp lowered by three syntonic commas + { "accidentalDoubleSharpThreeArrowsUp", 0xE2DD }, // glyphnumber: 321, Double sharp raised by three syntonic commas + { "accidentalDoubleSharpTwoArrowsDown", 0xE2CE }, // glyphnumber: 322, Double sharp lowered by two syntonic commas + { "accidentalDoubleSharpTwoArrowsUp", 0xE2D3 }, // glyphnumber: 323, Double sharp raised by two syntonic commas + { "accidentalEnharmonicAlmostEqualTo", 0xE2FA }, // glyphnumber: 324, Enharmonically reinterpret accidental almost equal to + { "accidentalEnharmonicEquals", 0xE2FB }, // glyphnumber: 325, Enharmonically reinterpret accidental equals + { "accidentalEnharmonicTilde", 0xE2F9 }, // glyphnumber: 326, Enharmonically reinterpret accidental tilde + { "accidentalFilledReversedFlatAndFlat", 0xE296 }, // glyphnumber: 327, Filled reversed flat and flat + { "accidentalFilledReversedFlatAndFlatArrowDown", 0xE298 }, // glyphnumber: 328, Filled reversed flat and flat with arrow down + { "accidentalFilledReversedFlatAndFlatArrowUp", 0xE297 }, // glyphnumber: 329, Filled reversed flat and flat with arrow up + { "accidentalFilledReversedFlatArrowDown", 0xE293 }, // glyphnumber: 330, Filled reversed flat with arrow down + { "accidentalFilledReversedFlatArrowUp", 0xE292 }, // glyphnumber: 331, Filled reversed flat with arrow up + { "accidentalFiveQuarterTonesFlatArrowDown", 0xE279 }, // glyphnumber: 332, Five-quarter-tones flat + { "accidentalFiveQuarterTonesSharpArrowUp", 0xE276 }, // glyphnumber: 333, Five-quarter-tones sharp + { "accidentalFlat", 0xE260 }, // glyphnumber: 334, Flat + { "accidentalFlatArabic", 0xED32 }, // glyphnumber: 335, Arabic half-tone flat + { "accidentalFlatEqualTempered", 0xE2F1 }, // glyphnumber: 336, Flat equal tempered semitone + { "accidentalFlatLoweredStockhausen", 0xED53 }, // glyphnumber: 337, Lowered flat (Stockhausen) + { "accidentalFlatOneArrowDown", 0xE2C1 }, // glyphnumber: 338, Flat lowered by one syntonic comma + { "accidentalFlatOneArrowUp", 0xE2C6 }, // glyphnumber: 339, Flat raised by one syntonic comma + { "accidentalFlatRaisedStockhausen", 0xED52 }, // glyphnumber: 340, Raised flat (Stockhausen) + { "accidentalFlatRepeatedLineStockhausen", 0xED5C }, // glyphnumber: 341, Repeated flat, note on line (Stockhausen) + { "accidentalFlatRepeatedSpaceStockhausen", 0xED5B }, // glyphnumber: 342, Repeated flat, note in space (Stockhausen) + { "accidentalFlatThreeArrowsDown", 0xE2D5 }, // glyphnumber: 343, Flat lowered by three syntonic commas + { "accidentalFlatThreeArrowsUp", 0xE2DA }, // glyphnumber: 344, Flat raised by three syntonic commas + { "accidentalFlatTurned", 0xE484 }, // glyphnumber: 345, Turned flat + { "accidentalFlatTwoArrowsDown", 0xE2CB }, // glyphnumber: 346, Flat lowered by two syntonic commas + { "accidentalFlatTwoArrowsUp", 0xE2D0 }, // glyphnumber: 347, Flat raised by two syntonic commas + { "accidentalHalfSharpArrowDown", 0xE29A }, // glyphnumber: 348, Half sharp with arrow down + { "accidentalHalfSharpArrowUp", 0xE299 }, // glyphnumber: 349, Half sharp with arrow up + { "accidentalJohnston13", 0xE2B6 }, // glyphnumber: 350, Thirteen (raise by 65:64) + { "accidentalJohnston31", 0xE2B7 }, // glyphnumber: 351, Inverted 13 (lower by 65:64) + { "accidentalJohnstonDown", 0xE2B5 }, // glyphnumber: 352, Down arrow (lower by 33:32) + { "accidentalJohnstonEl", 0xE2B2 }, // glyphnumber: 353, Inverted seven (raise by 36:35) + { "accidentalJohnstonMinus", 0xE2B1 }, // glyphnumber: 354, Minus (lower by 81:80) + { "accidentalJohnstonPlus", 0xE2B0 }, // glyphnumber: 355, Plus (raise by 81:80) + { "accidentalJohnstonSeven", 0xE2B3 }, // glyphnumber: 356, Seven (lower by 36:35) + { "accidentalJohnstonUp", 0xE2B4 }, // glyphnumber: 357, Up arrow (raise by 33:32) + { "accidentalKomaFlat", 0xE443 }, // glyphnumber: 358, Koma (flat) + { "accidentalKomaSharp", 0xE444 }, // glyphnumber: 359, Koma (sharp) + { "accidentalKoron", 0xE460 }, // glyphnumber: 360, Koron (quarter tone flat) + { "accidentalKucukMucennebFlat", 0xE441 }, // glyphnumber: 361, Küçük mücenneb (flat) + { "accidentalKucukMucennebSharp", 0xE446 }, // glyphnumber: 362, Küçük mücenneb (sharp) + { "accidentalLargeDoubleSharp", 0xE47D }, // glyphnumber: 363, Large double sharp + { "accidentalLowerOneSeptimalComma", 0xE2DE }, // glyphnumber: 364, Lower by one septimal comma + { "accidentalLowerOneTridecimalQuartertone", 0xE2E4 }, // glyphnumber: 365, Lower by one tridecimal quartertone + { "accidentalLowerOneUndecimalQuartertone", 0xE2E2 }, // glyphnumber: 366, Lower by one undecimal quartertone + { "accidentalLowerTwoSeptimalCommas", 0xE2E0 }, // glyphnumber: 367, Lower by two septimal commas + { "accidentalLoweredStockhausen", 0xED51 }, // glyphnumber: 368, Lowered (Stockhausen) + { "accidentalNarrowReversedFlat", 0xE284 }, // glyphnumber: 369, Narrow reversed flat(quarter-tone flat) + { "accidentalNarrowReversedFlatAndFlat", 0xE285 }, // glyphnumber: 370, Narrow reversed flat and flat(three-quarter-tones flat) + { "accidentalNatural", 0xE261 }, // glyphnumber: 371, Natural + { "accidentalNaturalArabic", 0xED34 }, // glyphnumber: 372, Arabic natural + { "accidentalNaturalEqualTempered", 0xE2F2 }, // glyphnumber: 373, Natural equal tempered semitone + { "accidentalNaturalFlat", 0xE267 }, // glyphnumber: 374, Natural flat + { "accidentalNaturalLoweredStockhausen", 0xED55 }, // glyphnumber: 375, Lowered natural (Stockhausen) + { "accidentalNaturalOneArrowDown", 0xE2C2 }, // glyphnumber: 376, Natural lowered by one syntonic comma + { "accidentalNaturalOneArrowUp", 0xE2C7 }, // glyphnumber: 377, Natural raised by one syntonic comma + { "accidentalNaturalRaisedStockhausen", 0xED54 }, // glyphnumber: 378, Raised natural (Stockhausen) + { "accidentalNaturalReversed", 0xE482 }, // glyphnumber: 379, Reversed natural + { "accidentalNaturalSharp", 0xE268 }, // glyphnumber: 380, Natural sharp + { "accidentalNaturalThreeArrowsDown", 0xE2D6 }, // glyphnumber: 381, Natural lowered by three syntonic commas + { "accidentalNaturalThreeArrowsUp", 0xE2DB }, // glyphnumber: 382, Natural raised by three syntonic commas + { "accidentalNaturalTwoArrowsDown", 0xE2CC }, // glyphnumber: 383, Natural lowered by two syntonic commas + { "accidentalNaturalTwoArrowsUp", 0xE2D1 }, // glyphnumber: 384, Natural raised by two syntonic commas + { "accidentalOneAndAHalfSharpsArrowDown", 0xE29C }, // glyphnumber: 385, One and a half sharps with arrow down + { "accidentalOneAndAHalfSharpsArrowUp", 0xE29B }, // glyphnumber: 386, One and a half sharps with arrow up + { "accidentalOneQuarterToneFlatFerneyhough", 0xE48F }, // glyphnumber: 387, One-quarter-tone flat (Ferneyhough) + { "accidentalOneQuarterToneFlatStockhausen", 0xED59 }, // glyphnumber: 388, One-quarter-tone flat (Stockhausen) + { "accidentalOneQuarterToneSharpFerneyhough", 0xE48E }, // glyphnumber: 389, One-quarter-tone sharp (Ferneyhough) + { "accidentalOneQuarterToneSharpStockhausen", 0xED58 }, // glyphnumber: 390, One-quarter-tone sharp (Stockhausen) + { "accidentalOneThirdToneFlatFerneyhough", 0xE48B }, // glyphnumber: 391, One-third-tone flat (Ferneyhough) + { "accidentalOneThirdToneSharpFerneyhough", 0xE48A }, // glyphnumber: 392, One-third-tone sharp (Ferneyhough) + { "accidentalParensLeft", 0xE26A }, // glyphnumber: 393, Accidental parenthesis, left + { "accidentalParensRight", 0xE26B }, // glyphnumber: 394, Accidental parenthesis, right + { "accidentalQuarterFlatEqualTempered", 0xE2F5 }, // glyphnumber: 395, Lower by one equal tempered quarter-tone + { "accidentalQuarterSharpEqualTempered", 0xE2F6 }, // glyphnumber: 396, Raise by one equal tempered quarter tone + { "accidentalQuarterToneFlat4", 0xE47F }, // glyphnumber: 397, Quarter-tone flat + { "accidentalQuarterToneFlatArabic", 0xED33 }, // glyphnumber: 398, Arabic quarter-tone flat + { "accidentalQuarterToneFlatArrowUp", 0xE270 }, // glyphnumber: 399, Quarter-tone flat + { "accidentalQuarterToneFlatFilledReversed", 0xE480 }, // glyphnumber: 400, Filled reversed flat (quarter-tone flat) + { "accidentalQuarterToneFlatNaturalArrowDown", 0xE273 }, // glyphnumber: 401, Quarter-tone flat + { "accidentalQuarterToneFlatPenderecki", 0xE478 }, // glyphnumber: 402, Quarter tone flat (Penderecki) + { "accidentalQuarterToneFlatStein", 0xE280 }, // glyphnumber: 403, Reversed flat (quarter-tone flat) (Stein) + { "accidentalQuarterToneFlatVanBlankenburg", 0xE488 }, // glyphnumber: 404, Quarter-tone flat (van Blankenburg) + { "accidentalQuarterToneSharp4", 0xE47E }, // glyphnumber: 405, Quarter-tone sharp + { "accidentalQuarterToneSharpArabic", 0xED35 }, // glyphnumber: 406, Arabic quarter-tone sharp + { "accidentalQuarterToneSharpArrowDown", 0xE275 }, // glyphnumber: 407, Quarter-tone sharp + { "accidentalQuarterToneSharpBusotti", 0xE472 }, // glyphnumber: 408, Quarter tone sharp (Bussotti) + { "accidentalQuarterToneSharpNaturalArrowUp", 0xE272 }, // glyphnumber: 409, Quarter-tone sharp + { "accidentalQuarterToneSharpStein", 0xE282 }, // glyphnumber: 410, Half sharp (quarter-tone sharp) (Stein) + { "accidentalQuarterToneSharpWiggle", 0xE475 }, // glyphnumber: 411, Quarter tone sharp with wiggly tail + { "accidentalRaiseOneSeptimalComma", 0xE2DF }, // glyphnumber: 412, Raise by one septimal comma + { "accidentalRaiseOneTridecimalQuartertone", 0xE2E5 }, // glyphnumber: 413, Raise by one tridecimal quartertone + { "accidentalRaiseOneUndecimalQuartertone", 0xE2E3 }, // glyphnumber: 414, Raise by one undecimal quartertone + { "accidentalRaiseTwoSeptimalCommas", 0xE2E1 }, // glyphnumber: 415, Raise by two septimal commas + { "accidentalRaisedStockhausen", 0xED50 }, // glyphnumber: 416, Raised (Stockhausen) + { "accidentalReversedFlatAndFlatArrowDown", 0xE295 }, // glyphnumber: 417, Reversed flat and flat with arrow down + { "accidentalReversedFlatAndFlatArrowUp", 0xE294 }, // glyphnumber: 418, Reversed flat and flat with arrow up + { "accidentalReversedFlatArrowDown", 0xE291 }, // glyphnumber: 419, Reversed flat with arrow down + { "accidentalReversedFlatArrowUp", 0xE290 }, // glyphnumber: 420, Reversed flat with arrow up + { "accidentalSharp", 0xE262 }, // glyphnumber: 421, Sharp + { "accidentalSharpArabic", 0xED36 }, // glyphnumber: 422, Arabic half-tone sharp + { "accidentalSharpEqualTempered", 0xE2F3 }, // glyphnumber: 423, Sharp equal tempered semitone + { "accidentalSharpLoweredStockhausen", 0xED57 }, // glyphnumber: 424, Lowered sharp (Stockhausen) + { "accidentalSharpOneArrowDown", 0xE2C3 }, // glyphnumber: 425, Sharp lowered by one syntonic comma + { "accidentalSharpOneArrowUp", 0xE2C8 }, // glyphnumber: 426, Sharp raised by one syntonic comma + { "accidentalSharpOneHorizontalStroke", 0xE473 }, // glyphnumber: 427, One or three quarter tones sharp + { "accidentalSharpRaisedStockhausen", 0xED56 }, // glyphnumber: 428, Raised sharp (Stockhausen) + { "accidentalSharpRepeatedLineStockhausen", 0xED5E }, // glyphnumber: 429, Repeated sharp, note on line (Stockhausen) + { "accidentalSharpRepeatedSpaceStockhausen", 0xED5D }, // glyphnumber: 430, Repeated sharp, note in space (Stockhausen) + { "accidentalSharpReversed", 0xE481 }, // glyphnumber: 431, Reversed sharp + { "accidentalSharpSharp", 0xE269 }, // glyphnumber: 432, Sharp sharp + { "accidentalSharpThreeArrowsDown", 0xE2D7 }, // glyphnumber: 433, Sharp lowered by three syntonic commas + { "accidentalSharpThreeArrowsUp", 0xE2DC }, // glyphnumber: 434, Sharp raised by three syntonic commas + { "accidentalSharpTwoArrowsDown", 0xE2CD }, // glyphnumber: 435, Sharp lowered by two syntonic commas + { "accidentalSharpTwoArrowsUp", 0xE2D2 }, // glyphnumber: 436, Sharp raised by two syntonic commas + { "accidentalSims12Down", 0xE2A0 }, // glyphnumber: 437, 1/12 tone low + { "accidentalSims12Up", 0xE2A3 }, // glyphnumber: 438, 1/12 tone high + { "accidentalSims4Down", 0xE2A2 }, // glyphnumber: 439, 1/4 tone low + { "accidentalSims4Up", 0xE2A5 }, // glyphnumber: 440, 1/4 tone high + { "accidentalSims6Down", 0xE2A1 }, // glyphnumber: 441, 1/6 tone low + { "accidentalSims6Up", 0xE2A4 }, // glyphnumber: 442, 1/6 tone high + { "accidentalSori", 0xE461 }, // glyphnumber: 443, Sori (quarter tone sharp) + { "accidentalTavenerFlat", 0xE477 }, // glyphnumber: 444, Byzantine-style Bakiye flat (Tavener) + { "accidentalTavenerSharp", 0xE476 }, // glyphnumber: 445, Byzantine-style Büyük mücenneb sharp (Tavener) + { "accidentalThreeQuarterTonesFlatArabic", 0xED31 }, // glyphnumber: 446, Arabic three-quarter-tones flat + { "accidentalThreeQuarterTonesFlatArrowDown", 0xE271 }, // glyphnumber: 447, Three-quarter-tones flat + { "accidentalThreeQuarterTonesFlatArrowUp", 0xE278 }, // glyphnumber: 448, Three-quarter-tones flat + { "accidentalThreeQuarterTonesFlatCouper", 0xE489 }, // glyphnumber: 449, Three-quarter-tones flat (Couper) + { "accidentalThreeQuarterTonesFlatGrisey", 0xE486 }, // glyphnumber: 450, Three-quarter-tones flat (Grisey) + { "accidentalThreeQuarterTonesFlatTartini", 0xE487 }, // glyphnumber: 451, Three-quarter-tones flat (Tartini) + { "accidentalThreeQuarterTonesFlatZimmermann", 0xE281 }, // glyphnumber: 452, Reversed flat and flat (three-quarter-tones flat)(Zimmermann) + { "accidentalThreeQuarterTonesSharpArabic", 0xED37 }, // glyphnumber: 453, Arabic three-quarter-tones sharp + { "accidentalThreeQuarterTonesSharpArrowDown", 0xE277 }, // glyphnumber: 454, Three-quarter-tones sharp + { "accidentalThreeQuarterTonesSharpArrowUp", 0xE274 }, // glyphnumber: 455, Three-quarter-tones sharp + { "accidentalThreeQuarterTonesSharpBusotti", 0xE474 }, // glyphnumber: 456, Three quarter tones sharp (Bussotti) + { "accidentalThreeQuarterTonesSharpStein", 0xE283 }, // glyphnumber: 457, One and a half sharps (three-quarter-tones sharp) (Stein) + { "accidentalThreeQuarterTonesSharpStockhausen", 0xED5A }, // glyphnumber: 458, Three-quarter-tones sharp (Stockhausen) + { "accidentalTripleFlat", 0xE266 }, // glyphnumber: 459, Triple flat + { "accidentalTripleSharp", 0xE265 }, // glyphnumber: 460, Triple sharp + { "accidentalTwoThirdTonesFlatFerneyhough", 0xE48D }, // glyphnumber: 461, Two-third-tones flat (Ferneyhough) + { "accidentalTwoThirdTonesSharpFerneyhough", 0xE48C }, // glyphnumber: 462, Two-third-tones sharp (Ferneyhough) + { "accidentalWilsonMinus", 0xE47C }, // glyphnumber: 463, Wilson minus (5 comma down) + { "accidentalWilsonPlus", 0xE47B }, // glyphnumber: 464, Wilson plus (5 comma up) + { "accidentalWyschnegradsky10TwelfthsFlat", 0xE434 }, // glyphnumber: 465, 5/6 tone flat + { "accidentalWyschnegradsky10TwelfthsSharp", 0xE429 }, // glyphnumber: 466, 5/6 tone sharp + { "accidentalWyschnegradsky11TwelfthsFlat", 0xE435 }, // glyphnumber: 467, 11/12 tone flat + { "accidentalWyschnegradsky11TwelfthsSharp", 0xE42A }, // glyphnumber: 468, 11/12 tone sharp + { "accidentalWyschnegradsky1TwelfthsFlat", 0xE42B }, // glyphnumber: 469, 1/12 tone flat + { "accidentalWyschnegradsky1TwelfthsSharp", 0xE420 }, // glyphnumber: 470, 1/12 tone sharp + { "accidentalWyschnegradsky2TwelfthsFlat", 0xE42C }, // glyphnumber: 471, 1/6 tone flat + { "accidentalWyschnegradsky2TwelfthsSharp", 0xE421 }, // glyphnumber: 472, 1/6 tone sharp + { "accidentalWyschnegradsky3TwelfthsFlat", 0xE42D }, // glyphnumber: 473, 1/4 tone flat + { "accidentalWyschnegradsky3TwelfthsSharp", 0xE422 }, // glyphnumber: 474, 1/4 tone sharp + { "accidentalWyschnegradsky4TwelfthsFlat", 0xE42E }, // glyphnumber: 475, 1/3 tone flat + { "accidentalWyschnegradsky4TwelfthsSharp", 0xE423 }, // glyphnumber: 476, 1/3 tone sharp + { "accidentalWyschnegradsky5TwelfthsFlat", 0xE42F }, // glyphnumber: 477, 5/12 tone flat + { "accidentalWyschnegradsky5TwelfthsSharp", 0xE424 }, // glyphnumber: 478, 5/12 tone sharp + { "accidentalWyschnegradsky6TwelfthsFlat", 0xE430 }, // glyphnumber: 479, 1/2 tone flat + { "accidentalWyschnegradsky6TwelfthsSharp", 0xE425 }, // glyphnumber: 480, 1/2 tone sharp + { "accidentalWyschnegradsky7TwelfthsFlat", 0xE431 }, // glyphnumber: 481, 7/12 tone flat + { "accidentalWyschnegradsky7TwelfthsSharp", 0xE426 }, // glyphnumber: 482, 7/12 tone sharp + { "accidentalWyschnegradsky8TwelfthsFlat", 0xE432 }, // glyphnumber: 483, 2/3 tone flat + { "accidentalWyschnegradsky8TwelfthsSharp", 0xE427 }, // glyphnumber: 484, 2/3 tone sharp + { "accidentalWyschnegradsky9TwelfthsFlat", 0xE433 }, // glyphnumber: 485, 3/4 tone flat + { "accidentalWyschnegradsky9TwelfthsSharp", 0xE428 }, // glyphnumber: 486, 3/4 tone sharp + { "accidentalXenakisOneThirdToneSharp", 0xE470 }, // glyphnumber: 487, One-third-tone sharp (Xenakis) + { "accidentalXenakisTwoThirdTonesSharp", 0xE471 }, // glyphnumber: 488, Two-third-tones sharp (Xenakis) + { "analyticsChoralmelodie", 0xE86A }, // glyphnumber: 489, Choralmelodie (Berg) + { "analyticsEndStimme", 0xE863 }, // glyphnumber: 490, End of stimme + { "analyticsHauptrhythmus", 0xE86B }, // glyphnumber: 491, Hauptrhythmus (Berg) + { "analyticsHauptstimme", 0xE860 }, // glyphnumber: 492, Hauptstimme + { "analyticsInversion1", 0xE869 }, // glyphnumber: 493, Inversion 1 + { "analyticsNebenstimme", 0xE861 }, // glyphnumber: 494, Nebenstimme + { "analyticsStartStimme", 0xE862 }, // glyphnumber: 495, Start of stimme + { "analyticsTheme", 0xE864 }, // glyphnumber: 496, Theme + { "analyticsTheme1", 0xE868 }, // glyphnumber: 497, Theme 1 + { "analyticsThemeInversion", 0xE867 }, // glyphnumber: 498, Inversion of theme + { "analyticsThemeRetrograde", 0xE865 }, // glyphnumber: 499, Retrograde of theme + { "analyticsThemeRetrogradeInversion", 0xE866 }, // glyphnumber: 500, Retrograde inversion of theme + { "arpeggiatoDown", 0xE635 }, // glyphnumber: 501, Arpeggiato down + { "arpeggiatoUp", 0xE634 }, // glyphnumber: 502, Arpeggiato up + { "arrowBlackDown", 0xEB64 }, // glyphnumber: 503, Black arrow down (S) + { "arrowBlackDownLeft", 0xEB65 }, // glyphnumber: 504, Black arrow down-left (SW) + { "arrowBlackDownRight", 0xEB63 }, // glyphnumber: 505, Black arrow down-right (SE) + { "arrowBlackLeft", 0xEB66 }, // glyphnumber: 506, Black arrow left (W) + { "arrowBlackRight", 0xEB62 }, // glyphnumber: 507, Black arrow right (E) + { "arrowBlackUp", 0xEB60 }, // glyphnumber: 508, Black arrow up (N) + { "arrowBlackUpLeft", 0xEB67 }, // glyphnumber: 509, Black arrow up-left (NW) + { "arrowBlackUpRight", 0xEB61 }, // glyphnumber: 510, Black arrow up-right (NE) + { "arrowOpenDown", 0xEB74 }, // glyphnumber: 511, Open arrow down (S) + { "arrowOpenDownLeft", 0xEB75 }, // glyphnumber: 512, Open arrow down-left (SW) + { "arrowOpenDownRight", 0xEB73 }, // glyphnumber: 513, Open arrow down-right (SE) + { "arrowOpenLeft", 0xEB76 }, // glyphnumber: 514, Open arrow left (W) + { "arrowOpenRight", 0xEB72 }, // glyphnumber: 515, Open arrow right (E) + { "arrowOpenUp", 0xEB70 }, // glyphnumber: 516, Open arrow up (N) + { "arrowOpenUpLeft", 0xEB77 }, // glyphnumber: 517, Open arrow up-left (NW) + { "arrowOpenUpRight", 0xEB71 }, // glyphnumber: 518, Open arrow up-right (NE) + { "arrowWhiteDown", 0xEB6C }, // glyphnumber: 519, White arrow down (S) + { "arrowWhiteDownLeft", 0xEB6D }, // glyphnumber: 520, White arrow down-left (SW) + { "arrowWhiteDownRight", 0xEB6B }, // glyphnumber: 521, White arrow down-right (SE) + { "arrowWhiteLeft", 0xEB6E }, // glyphnumber: 522, White arrow left (W) + { "arrowWhiteRight", 0xEB6A }, // glyphnumber: 523, White arrow right (E) + { "arrowWhiteUp", 0xEB68 }, // glyphnumber: 524, White arrow up (N) + { "arrowWhiteUpLeft", 0xEB6F }, // glyphnumber: 525, White arrow up-left (NW) + { "arrowWhiteUpRight", 0xEB69 }, // glyphnumber: 526, White arrow up-right (NE) + { "arrowheadBlackDown", 0xEB7C }, // glyphnumber: 527, Black arrowhead down (S) + { "arrowheadBlackDownLeft", 0xEB7D }, // glyphnumber: 528, Black arrowhead down-left (SW) + { "arrowheadBlackDownRight", 0xEB7B }, // glyphnumber: 529, Black arrowhead down-right (SE) + { "arrowheadBlackLeft", 0xEB7E }, // glyphnumber: 530, Black arrowhead left (W) + { "arrowheadBlackRight", 0xEB7A }, // glyphnumber: 531, Black arrowhead right (E) + { "arrowheadBlackUp", 0xEB78 }, // glyphnumber: 532, Black arrowhead up (N) + { "arrowheadBlackUpLeft", 0xEB7F }, // glyphnumber: 533, Black arrowhead up-left (NW) + { "arrowheadBlackUpRight", 0xEB79 }, // glyphnumber: 534, Black arrowhead up-right (NE) + { "arrowheadOpenDown", 0xEB8C }, // glyphnumber: 535, Open arrowhead down (S) + { "arrowheadOpenDownLeft", 0xEB8D }, // glyphnumber: 536, Open arrowhead down-left (SW) + { "arrowheadOpenDownRight", 0xEB8B }, // glyphnumber: 537, Open arrowhead down-right (SE) + { "arrowheadOpenLeft", 0xEB8E }, // glyphnumber: 538, Open arrowhead left (W) + { "arrowheadOpenRight", 0xEB8A }, // glyphnumber: 539, Open arrowhead right (E) + { "arrowheadOpenUp", 0xEB88 }, // glyphnumber: 540, Open arrowhead up (N) + { "arrowheadOpenUpLeft", 0xEB8F }, // glyphnumber: 541, Open arrowhead up-left (NW) + { "arrowheadOpenUpRight", 0xEB89 }, // glyphnumber: 542, Open arrowhead up-right (NE) + { "arrowheadWhiteDown", 0xEB84 }, // glyphnumber: 543, White arrowhead down (S) + { "arrowheadWhiteDownLeft", 0xEB85 }, // glyphnumber: 544, White arrowhead down-left (SW) + { "arrowheadWhiteDownRight", 0xEB83 }, // glyphnumber: 545, White arrowhead down-right (SE) + { "arrowheadWhiteLeft", 0xEB86 }, // glyphnumber: 546, White arrowhead left (W) + { "arrowheadWhiteRight", 0xEB82 }, // glyphnumber: 547, White arrowhead right (E) + { "arrowheadWhiteUp", 0xEB80 }, // glyphnumber: 548, White arrowhead up (N) + { "arrowheadWhiteUpLeft", 0xEB87 }, // glyphnumber: 549, White arrowhead up-left (NW) + { "arrowheadWhiteUpRight", 0xEB81 }, // glyphnumber: 550, White arrowhead up-right (NE) + { "articAccentAbove", 0xE4A0 }, // glyphnumber: 551, Accent above + { "articAccentBelow", 0xE4A1 }, // glyphnumber: 552, Accent below + { "articAccentStaccatoAbove", 0xE4B0 }, // glyphnumber: 553, Accent-staccato above + { "articAccentStaccatoBelow", 0xE4B1 }, // glyphnumber: 554, Accent-staccato below + { "articLaissezVibrerAbove", 0xE4BA }, // glyphnumber: 555, Laissez vibrer (l.v.) above + { "articLaissezVibrerBelow", 0xE4BB }, // glyphnumber: 556, Laissez vibrer (l.v.) below + { "articMarcatoAbove", 0xE4AC }, // glyphnumber: 557, Marcato above + { "articMarcatoBelow", 0xE4AD }, // glyphnumber: 558, Marcato below + { "articMarcatoStaccatoAbove", 0xE4AE }, // glyphnumber: 559, Marcato-staccato above + { "articMarcatoStaccatoBelow", 0xE4AF }, // glyphnumber: 560, Marcato-staccato below + { "articMarcatoTenutoAbove", 0xE4BC }, // glyphnumber: 561, Marcato-tenuto above + { "articMarcatoTenutoBelow", 0xE4BD }, // glyphnumber: 562, Marcato-tenuto below + { "articSoftAccentAbove", 0xED40 }, // glyphnumber: 563, Soft accent above + { "articSoftAccentBelow", 0xED41 }, // glyphnumber: 564, Soft accent below + { "articSoftAccentStaccatoAbove", 0xED42 }, // glyphnumber: 565, Soft accent-staccato above + { "articSoftAccentStaccatoBelow", 0xED43 }, // glyphnumber: 566, Soft accent-staccato below + { "articSoftAccentTenutoAbove", 0xED44 }, // glyphnumber: 567, Soft accent-tenuto above + { "articSoftAccentTenutoBelow", 0xED45 }, // glyphnumber: 568, Soft accent-tenuto below + { "articSoftAccentTenutoStaccatoAbove", 0xED46 }, // glyphnumber: 569, Soft accent-tenuto-staccato above + { "articSoftAccentTenutoStaccatoBelow", 0xED47 }, // glyphnumber: 570, Soft accent-tenuto-staccato below + { "articStaccatissimoAbove", 0xE4A6 }, // glyphnumber: 571, Staccatissimo above + { "articStaccatissimoBelow", 0xE4A7 }, // glyphnumber: 572, Staccatissimo below + { "articStaccatissimoStrokeAbove", 0xE4AA }, // glyphnumber: 573, Staccatissimo stroke above + { "articStaccatissimoStrokeBelow", 0xE4AB }, // glyphnumber: 574, Staccatissimo stroke below + { "articStaccatissimoWedgeAbove", 0xE4A8 }, // glyphnumber: 575, Staccatissimo wedge above + { "articStaccatissimoWedgeBelow", 0xE4A9 }, // glyphnumber: 576, Staccatissimo wedge below + { "articStaccatoAbove", 0xE4A2 }, // glyphnumber: 577, Staccato above + { "articStaccatoBelow", 0xE4A3 }, // glyphnumber: 578, Staccato below + { "articStressAbove", 0xE4B6 }, // glyphnumber: 579, Stress above + { "articStressBelow", 0xE4B7 }, // glyphnumber: 580, Stress below + { "articTenutoAbove", 0xE4A4 }, // glyphnumber: 581, Tenuto above + { "articTenutoAccentAbove", 0xE4B4 }, // glyphnumber: 582, Tenuto-accent above + { "articTenutoAccentBelow", 0xE4B5 }, // glyphnumber: 583, Tenuto-accent below + { "articTenutoBelow", 0xE4A5 }, // glyphnumber: 584, Tenuto below + { "articTenutoStaccatoAbove", 0xE4B2 }, // glyphnumber: 585, Louré (tenuto-staccato) above + { "articTenutoStaccatoBelow", 0xE4B3 }, // glyphnumber: 586, Louré (tenuto-staccato) below + { "articUnstressAbove", 0xE4B8 }, // glyphnumber: 587, Unstress above + { "articUnstressBelow", 0xE4B9 }, // glyphnumber: 588, Unstress below + { "augmentationDot", 0xE1E7 }, // glyphnumber: 589, Augmentation dot + { "barlineDashed", 0xE036 }, // glyphnumber: 590, Dashed barline + { "barlineDotted", 0xE037 }, // glyphnumber: 591, Dotted barline + { "barlineDouble", 0xE031 }, // glyphnumber: 592, Double barline + { "barlineFinal", 0xE032 }, // glyphnumber: 593, Final barline + { "barlineHeavy", 0xE034 }, // glyphnumber: 594, Heavy barline + { "barlineHeavyHeavy", 0xE035 }, // glyphnumber: 595, Heavy double barline + { "barlineReverseFinal", 0xE033 }, // glyphnumber: 596, Reverse final barline + { "barlineShort", 0xE038 }, // glyphnumber: 597, Short barline + { "barlineSingle", 0xE030 }, // glyphnumber: 598, Single barline + { "barlineTick", 0xE039 }, // glyphnumber: 599, Tick barline + { "beamAccelRit1", 0xEAF4 }, // glyphnumber: 600, Accel./rit. beam 1 (widest) + { "beamAccelRit10", 0xEAFD }, // glyphnumber: 601, Accel./rit. beam 10 + { "beamAccelRit11", 0xEAFE }, // glyphnumber: 602, Accel./rit. beam 11 + { "beamAccelRit12", 0xEAFF }, // glyphnumber: 603, Accel./rit. beam 12 + { "beamAccelRit13", 0xEB00 }, // glyphnumber: 604, Accel./rit. beam 13 + { "beamAccelRit14", 0xEB01 }, // glyphnumber: 605, Accel./rit. beam 14 + { "beamAccelRit15", 0xEB02 }, // glyphnumber: 606, Accel./rit. beam 15 (narrowest) + { "beamAccelRit2", 0xEAF5 }, // glyphnumber: 607, Accel./rit. beam 2 + { "beamAccelRit3", 0xEAF6 }, // glyphnumber: 608, Accel./rit. beam 3 + { "beamAccelRit4", 0xEAF7 }, // glyphnumber: 609, Accel./rit. beam 4 + { "beamAccelRit5", 0xEAF8 }, // glyphnumber: 610, Accel./rit. beam 5 + { "beamAccelRit6", 0xEAF9 }, // glyphnumber: 611, Accel./rit. beam 6 + { "beamAccelRit7", 0xEAFA }, // glyphnumber: 612, Accel./rit. beam 7 + { "beamAccelRit8", 0xEAFB }, // glyphnumber: 613, Accel./rit. beam 8 + { "beamAccelRit9", 0xEAFC }, // glyphnumber: 614, Accel./rit. beam 9 + { "beamAccelRitFinal", 0xEB03 }, // glyphnumber: 615, Accel./rit. beam terminating line + { "brace", 0xE000 }, // glyphnumber: 616, Brace + { "bracket", 0xE002 }, // glyphnumber: 617, Bracket + { "bracketBottom", 0xE004 }, // glyphnumber: 618, Bracket bottom + { "bracketTop", 0xE003 }, // glyphnumber: 619, Bracket top + { "brassBend", 0xE5E3 }, // glyphnumber: 620, Bend + { "brassDoitLong", 0xE5D6 }, // glyphnumber: 621, Doit, long + { "brassDoitMedium", 0xE5D5 }, // glyphnumber: 622, Doit, medium + { "brassDoitShort", 0xE5D4 }, // glyphnumber: 623, Doit, short + { "brassFallLipLong", 0xE5D9 }, // glyphnumber: 624, Lip fall, long + { "brassFallLipMedium", 0xE5D8 }, // glyphnumber: 625, Lip fall, medium + { "brassFallLipShort", 0xE5D7 }, // glyphnumber: 626, Lip fall, short + { "brassFallRoughLong", 0xE5DF }, // glyphnumber: 627, Rough fall, long + { "brassFallRoughMedium", 0xE5DE }, // glyphnumber: 628, Rough fall, medium + { "brassFallRoughShort", 0xE5DD }, // glyphnumber: 629, Rough fall, short + { "brassFallSmoothLong", 0xE5DC }, // glyphnumber: 630, Smooth fall, long + { "brassFallSmoothMedium", 0xE5DB }, // glyphnumber: 631, Smooth fall, medium + { "brassFallSmoothShort", 0xE5DA }, // glyphnumber: 632, Smooth fall, short + { "brassFlip", 0xE5E1 }, // glyphnumber: 633, Flip + { "brassHarmonMuteClosed", 0xE5E8 }, // glyphnumber: 634, Harmon mute, stem in + { "brassHarmonMuteStemHalfLeft", 0xE5E9 }, // glyphnumber: 635, Harmon mute, stem extended, left + { "brassHarmonMuteStemHalfRight", 0xE5EA }, // glyphnumber: 636, Harmon mute, stem extended, right + { "brassHarmonMuteStemOpen", 0xE5EB }, // glyphnumber: 637, Harmon mute, stem out + { "brassJazzTurn", 0xE5E4 }, // glyphnumber: 638, Jazz turn + { "brassLiftLong", 0xE5D3 }, // glyphnumber: 639, Lift, long + { "brassLiftMedium", 0xE5D2 }, // glyphnumber: 640, Lift, medium + { "brassLiftShort", 0xE5D1 }, // glyphnumber: 641, Lift, short + { "brassLiftSmoothLong", 0xE5EE }, // glyphnumber: 642, Smooth lift, long + { "brassLiftSmoothMedium", 0xE5ED }, // glyphnumber: 643, Smooth lift, medium + { "brassLiftSmoothShort", 0xE5EC }, // glyphnumber: 644, Smooth lift, short + { "brassMuteClosed", 0xE5E5 }, // glyphnumber: 645, Muted (closed) + { "brassMuteHalfClosed", 0xE5E6 }, // glyphnumber: 646, Half-muted (half-closed) + { "brassMuteOpen", 0xE5E7 }, // glyphnumber: 647, Open + { "brassPlop", 0xE5E0 }, // glyphnumber: 648, Plop + { "brassScoop", 0xE5D0 }, // glyphnumber: 649, Scoop + { "brassSmear", 0xE5E2 }, // glyphnumber: 650, Smear + { "brassValveTrill", 0xE5EF }, // glyphnumber: 651, Valve trill + { "breathMarkComma", 0xE4CE }, // glyphnumber: 652, Breath mark (comma) + { "breathMarkSalzedo", 0xE4D5 }, // glyphnumber: 653, Breath mark (Salzedo) + { "breathMarkTick", 0xE4CF }, // glyphnumber: 654, Breath mark (tick-like) + { "breathMarkUpbow", 0xE4D0 }, // glyphnumber: 655, Breath mark (upbow-like) + { "bridgeClef", 0xE078 }, // glyphnumber: 656, Bridge clef + { "buzzRoll", 0xE22A }, // glyphnumber: 657, Buzz roll + { "cClef", 0xE05C }, // glyphnumber: 658, C clef + { "cClef8vb", 0xE05D }, // glyphnumber: 659, C clef ottava bassa + { "cClefArrowDown", 0xE05F }, // glyphnumber: 660, C clef, arrow down + { "cClefArrowUp", 0xE05E }, // glyphnumber: 661, C clef, arrow up + { "cClefChange", 0xE07B }, // glyphnumber: 662, C clef change + { "cClefCombining", 0xE061 }, // glyphnumber: 663, Combining C clef + { "cClefReversed", 0xE075 }, // glyphnumber: 664, Reversed C clef + { "cClefSquare", 0xE060 }, // glyphnumber: 665, C clef (19th century) + { "caesura", 0xE4D1 }, // glyphnumber: 666, Caesura + { "caesuraCurved", 0xE4D4 }, // glyphnumber: 667, Curved caesura + { "caesuraShort", 0xE4D3 }, // glyphnumber: 668, Short caesura + { "caesuraThick", 0xE4D2 }, // glyphnumber: 669, Thick caesura + { "chantAccentusAbove", 0xE9D6 }, // glyphnumber: 670, Accentus above + { "chantAccentusBelow", 0xE9D7 }, // glyphnumber: 671, Accentus below + { "chantAuctumAsc", 0xE994 }, // glyphnumber: 672, Punctum auctum, ascending + { "chantAuctumDesc", 0xE995 }, // glyphnumber: 673, Punctum auctum, descending + { "chantAugmentum", 0xE9D9 }, // glyphnumber: 674, Augmentum (mora) + { "chantCaesura", 0xE8F8 }, // glyphnumber: 675, Caesura + { "chantCclef", 0xE906 }, // glyphnumber: 676, Plainchant C clef + { "chantCirculusAbove", 0xE9D2 }, // glyphnumber: 677, Circulus above + { "chantCirculusBelow", 0xE9D3 }, // glyphnumber: 678, Circulus below + { "chantConnectingLineAsc2nd", 0xE9BD }, // glyphnumber: 679, Connecting line, ascending 2nd + { "chantConnectingLineAsc3rd", 0xE9BE }, // glyphnumber: 680, Connecting line, ascending 3rd + { "chantConnectingLineAsc4th", 0xE9BF }, // glyphnumber: 681, Connecting line, ascending 4th + { "chantConnectingLineAsc5th", 0xE9C0 }, // glyphnumber: 682, Connecting line, ascending 5th + { "chantConnectingLineAsc6th", 0xE9C1 }, // glyphnumber: 683, Connecting line, ascending 6th + { "chantCustosStemDownPosHigh", 0xEA08 }, // glyphnumber: 684, Plainchant custos, stem down, high position + { "chantCustosStemDownPosHighest", 0xEA09 }, // glyphnumber: 685, Plainchant custos, stem down, highest position + { "chantCustosStemDownPosMiddle", 0xEA07 }, // glyphnumber: 686, Plainchant custos, stem down, middle position + { "chantCustosStemUpPosLow", 0xEA05 }, // glyphnumber: 687, Plainchant custos, stem up, low position + { "chantCustosStemUpPosLowest", 0xEA04 }, // glyphnumber: 688, Plainchant custos, stem up, lowest position + { "chantCustosStemUpPosMiddle", 0xEA06 }, // glyphnumber: 689, Plainchant custos, stem up, middle position + { "chantDeminutumLower", 0xE9B3 }, // glyphnumber: 690, Punctum deminutum, lower + { "chantDeminutumUpper", 0xE9B2 }, // glyphnumber: 691, Punctum deminutum, upper + { "chantDivisioFinalis", 0xE8F6 }, // glyphnumber: 692, Divisio finalis + { "chantDivisioMaior", 0xE8F4 }, // glyphnumber: 693, Divisio maior + { "chantDivisioMaxima", 0xE8F5 }, // glyphnumber: 694, Divisio maxima + { "chantDivisioMinima", 0xE8F3 }, // glyphnumber: 695, Divisio minima + { "chantEntryLineAsc2nd", 0xE9B4 }, // glyphnumber: 696, Entry line, ascending 2nd + { "chantEntryLineAsc3rd", 0xE9B5 }, // glyphnumber: 697, Entry line, ascending 3rd + { "chantEntryLineAsc4th", 0xE9B6 }, // glyphnumber: 698, Entry line, ascending 4th + { "chantEntryLineAsc5th", 0xE9B7 }, // glyphnumber: 699, Entry line, ascending 5th + { "chantEntryLineAsc6th", 0xE9B8 }, // glyphnumber: 700, Entry line, ascending 6th + { "chantEpisema", 0xE9D8 }, // glyphnumber: 701, Episema + { "chantFclef", 0xE902 }, // glyphnumber: 702, Plainchant F clef + { "chantIctusAbove", 0xE9D0 }, // glyphnumber: 703, Ictus above + { "chantIctusBelow", 0xE9D1 }, // glyphnumber: 704, Ictus below + { "chantLigaturaDesc2nd", 0xE9B9 }, // glyphnumber: 705, Ligated stroke, descending 2nd + { "chantLigaturaDesc3rd", 0xE9BA }, // glyphnumber: 706, Ligated stroke, descending 3rd + { "chantLigaturaDesc4th", 0xE9BB }, // glyphnumber: 707, Ligated stroke, descending 4th + { "chantLigaturaDesc5th", 0xE9BC }, // glyphnumber: 708, Ligated stroke, descending 5th + { "chantOriscusAscending", 0xE99C }, // glyphnumber: 709, Oriscus ascending + { "chantOriscusDescending", 0xE99D }, // glyphnumber: 710, Oriscus descending + { "chantOriscusLiquescens", 0xE99E }, // glyphnumber: 711, Oriscus liquescens + { "chantPodatusLower", 0xE9B0 }, // glyphnumber: 712, Podatus, lower + { "chantPodatusUpper", 0xE9B1 }, // glyphnumber: 713, Podatus, upper + { "chantPunctum", 0xE990 }, // glyphnumber: 714, Punctum + { "chantPunctumCavum", 0xE998 }, // glyphnumber: 715, Punctum cavum + { "chantPunctumDeminutum", 0xE9A1 }, // glyphnumber: 716, Punctum deminutum + { "chantPunctumInclinatum", 0xE991 }, // glyphnumber: 717, Punctum inclinatum + { "chantPunctumInclinatumAuctum", 0xE992 }, // glyphnumber: 718, Punctum inclinatum auctum + { "chantPunctumInclinatumDeminutum", 0xE993 }, // glyphnumber: 719, Punctum inclinatum deminutum + { "chantPunctumLinea", 0xE999 }, // glyphnumber: 720, Punctum linea + { "chantPunctumLineaCavum", 0xE99A }, // glyphnumber: 721, Punctum linea cavum + { "chantPunctumVirga", 0xE996 }, // glyphnumber: 722, Punctum virga + { "chantPunctumVirgaReversed", 0xE997 }, // glyphnumber: 723, Punctum virga, reversed + { "chantQuilisma", 0xE99B }, // glyphnumber: 724, Quilisma + { "chantSemicirculusAbove", 0xE9D4 }, // glyphnumber: 725, Semicirculus above + { "chantSemicirculusBelow", 0xE9D5 }, // glyphnumber: 726, Semicirculus below + { "chantStaff", 0xE8F0 }, // glyphnumber: 727, Plainchant staff + { "chantStaffNarrow", 0xE8F2 }, // glyphnumber: 728, Plainchant staff (narrow) + { "chantStaffWide", 0xE8F1 }, // glyphnumber: 729, Plainchant staff (wide) + { "chantStrophicus", 0xE99F }, // glyphnumber: 730, Strophicus + { "chantStrophicusAuctus", 0xE9A0 }, // glyphnumber: 731, Strophicus auctus + { "chantStrophicusLiquescens2nd", 0xE9C2 }, // glyphnumber: 732, Strophicus liquescens, 2nd + { "chantStrophicusLiquescens3rd", 0xE9C3 }, // glyphnumber: 733, Strophicus liquescens, 3rd + { "chantStrophicusLiquescens4th", 0xE9C4 }, // glyphnumber: 734, Strophicus liquescens, 4th + { "chantStrophicusLiquescens5th", 0xE9C5 }, // glyphnumber: 735, Strophicus liquescens, 5th + { "chantVirgula", 0xE8F7 }, // glyphnumber: 736, Virgula + { "clef15", 0xE07E }, // glyphnumber: 737, 15 for clefs + { "clef8", 0xE07D }, // glyphnumber: 738, 8 for clefs + { "clefChangeCombining", 0xE07F }, // glyphnumber: 739, Combining clef change + { "coda", 0xE048 }, // glyphnumber: 740, Coda + { "codaSquare", 0xE049 }, // glyphnumber: 741, Square coda + { "conductorBeat2Compound", 0xE897 }, // glyphnumber: 742, Beat 2, compound time + { "conductorBeat2Simple", 0xE894 }, // glyphnumber: 743, Beat 2, simple time + { "conductorBeat3Compound", 0xE898 }, // glyphnumber: 744, Beat 3, compound time + { "conductorBeat3Simple", 0xE895 }, // glyphnumber: 745, Beat 3, simple time + { "conductorBeat4Compound", 0xE899 }, // glyphnumber: 746, Beat 4, compound time + { "conductorBeat4Simple", 0xE896 }, // glyphnumber: 747, Beat 4, simple time + { "conductorLeftBeat", 0xE891 }, // glyphnumber: 748, Left-hand beat or cue + { "conductorRightBeat", 0xE892 }, // glyphnumber: 749, Right-hand beat or cue + { "conductorStrongBeat", 0xE890 }, // glyphnumber: 750, Strong beat or cue + { "conductorUnconducted", 0xE89A }, // glyphnumber: 751, Unconducted/free passages + { "conductorWeakBeat", 0xE893 }, // glyphnumber: 752, Weak beat or cue + { "controlBeginBeam", 0xE8E0 }, // glyphnumber: 753, Begin beam + { "controlBeginPhrase", 0xE8E6 }, // glyphnumber: 754, Begin phrase + { "controlBeginSlur", 0xE8E4 }, // glyphnumber: 755, Begin slur + { "controlBeginTie", 0xE8E2 }, // glyphnumber: 756, Begin tie + { "controlEndBeam", 0xE8E1 }, // glyphnumber: 757, End beam + { "controlEndPhrase", 0xE8E7 }, // glyphnumber: 758, End phrase + { "controlEndSlur", 0xE8E5 }, // glyphnumber: 759, End slur + { "controlEndTie", 0xE8E3 }, // glyphnumber: 760, End tie + { "csymAugmented", 0xE872 }, // glyphnumber: 761, Augmented + { "csymBracketLeftTall", 0xE877 }, // glyphnumber: 762, Double-height left bracket + { "csymBracketRightTall", 0xE878 }, // glyphnumber: 763, Double-height right bracket + { "csymDiminished", 0xE870 }, // glyphnumber: 764, Diminished + { "csymHalfDiminished", 0xE871 }, // glyphnumber: 765, Half-diminished + { "csymMajorSeventh", 0xE873 }, // glyphnumber: 766, Major seventh + { "csymMinor", 0xE874 }, // glyphnumber: 767, Minor + { "csymParensLeftTall", 0xE875 }, // glyphnumber: 768, Double-height left parenthesis + { "csymParensRightTall", 0xE876 }, // glyphnumber: 769, Double-height right parenthesis + { "curlewSign", 0xE4D6 }, // glyphnumber: 770, Curlew (Britten) + { "daCapo", 0xE046 }, // glyphnumber: 771, Da capo + { "dalSegno", 0xE045 }, // glyphnumber: 772, Dal segno + { "daseianExcellentes1", 0xEA3C }, // glyphnumber: 773, Daseian excellentes 1 + { "daseianExcellentes2", 0xEA3D }, // glyphnumber: 774, Daseian excellentes 2 + { "daseianExcellentes3", 0xEA3E }, // glyphnumber: 775, Daseian excellentes 3 + { "daseianExcellentes4", 0xEA3F }, // glyphnumber: 776, Daseian excellentes 4 + { "daseianFinales1", 0xEA34 }, // glyphnumber: 777, Daseian finales 1 + { "daseianFinales2", 0xEA35 }, // glyphnumber: 778, Daseian finales 2 + { "daseianFinales3", 0xEA36 }, // glyphnumber: 779, Daseian finales 3 + { "daseianFinales4", 0xEA37 }, // glyphnumber: 780, Daseian finales 4 + { "daseianGraves1", 0xEA30 }, // glyphnumber: 781, Daseian graves 1 + { "daseianGraves2", 0xEA31 }, // glyphnumber: 782, Daseian graves 2 + { "daseianGraves3", 0xEA32 }, // glyphnumber: 783, Daseian graves 3 + { "daseianGraves4", 0xEA33 }, // glyphnumber: 784, Daseian graves 4 + { "daseianResidua1", 0xEA40 }, // glyphnumber: 785, Daseian residua 1 + { "daseianResidua2", 0xEA41 }, // glyphnumber: 786, Daseian residua 2 + { "daseianSuperiores1", 0xEA38 }, // glyphnumber: 787, Daseian superiores 1 + { "daseianSuperiores2", 0xEA39 }, // glyphnumber: 788, Daseian superiores 2 + { "daseianSuperiores3", 0xEA3A }, // glyphnumber: 789, Daseian superiores 3 + { "daseianSuperiores4", 0xEA3B }, // glyphnumber: 790, Daseian superiores 4 + { "doubleTongueAbove", 0xE5F0 }, // glyphnumber: 791, Double-tongue above + { "doubleTongueBelow", 0xE5F1 }, // glyphnumber: 792, Double-tongue below + { "dynamicCombinedSeparatorColon", 0xE546 }, // glyphnumber: 793, Colon separator for combined dynamics + { "dynamicCombinedSeparatorHyphen", 0xE547 }, // glyphnumber: 794, Hyphen separator for combined dynamics + { "dynamicCombinedSeparatorSpace", 0xE548 }, // glyphnumber: 795, Space separator for combined dynamics + { "dynamicCrescendoHairpin", 0xE53E }, // glyphnumber: 796, Crescendo + { "dynamicDiminuendoHairpin", 0xE53F }, // glyphnumber: 797, Diminuendo + { "dynamicFF", 0xE52F }, // glyphnumber: 798, ff + { "dynamicFFF", 0xE530 }, // glyphnumber: 799, fff + { "dynamicFFFF", 0xE531 }, // glyphnumber: 800, ffff + { "dynamicFFFFF", 0xE532 }, // glyphnumber: 801, fffff + { "dynamicFFFFFF", 0xE533 }, // glyphnumber: 802, ffffff + { "dynamicForte", 0xE522 }, // glyphnumber: 803, Forte + { "dynamicFortePiano", 0xE534 }, // glyphnumber: 804, Forte-piano + { "dynamicForzando", 0xE535 }, // glyphnumber: 805, Forzando + { "dynamicHairpinBracketLeft", 0xE544 }, // glyphnumber: 806, Left bracket (for hairpins) + { "dynamicHairpinBracketRight", 0xE545 }, // glyphnumber: 807, Right bracket (for hairpins) + { "dynamicHairpinParenthesisLeft", 0xE542 }, // glyphnumber: 808, Left parenthesis (for hairpins) + { "dynamicHairpinParenthesisRight", 0xE543 }, // glyphnumber: 809, Right parenthesis (for hairpins) + { "dynamicMF", 0xE52D }, // glyphnumber: 810, mf + { "dynamicMP", 0xE52C }, // glyphnumber: 811, mp + { "dynamicMessaDiVoce", 0xE540 }, // glyphnumber: 812, Messa di voce + { "dynamicMezzo", 0xE521 }, // glyphnumber: 813, Mezzo + { "dynamicNiente", 0xE526 }, // glyphnumber: 814, Niente + { "dynamicNienteForHairpin", 0xE541 }, // glyphnumber: 815, Niente (for hairpins) + { "dynamicPF", 0xE52E }, // glyphnumber: 816, pf + { "dynamicPP", 0xE52B }, // glyphnumber: 817, pp + { "dynamicPPP", 0xE52A }, // glyphnumber: 818, ppp + { "dynamicPPPP", 0xE529 }, // glyphnumber: 819, pppp + { "dynamicPPPPP", 0xE528 }, // glyphnumber: 820, ppppp + { "dynamicPPPPPP", 0xE527 }, // glyphnumber: 821, pppppp + { "dynamicPiano", 0xE520 }, // glyphnumber: 822, Piano + { "dynamicRinforzando", 0xE523 }, // glyphnumber: 823, Rinforzando + { "dynamicRinforzando1", 0xE53C }, // glyphnumber: 824, Rinforzando 1 + { "dynamicRinforzando2", 0xE53D }, // glyphnumber: 825, Rinforzando 2 + { "dynamicSforzando", 0xE524 }, // glyphnumber: 826, Sforzando + { "dynamicSforzando1", 0xE536 }, // glyphnumber: 827, Sforzando 1 + { "dynamicSforzandoPianissimo", 0xE538 }, // glyphnumber: 828, Sforzando-pianissimo + { "dynamicSforzandoPiano", 0xE537 }, // glyphnumber: 829, Sforzando-piano + { "dynamicSforzato", 0xE539 }, // glyphnumber: 830, Sforzato + { "dynamicSforzatoFF", 0xE53B }, // glyphnumber: 831, Sforzatissimo + { "dynamicSforzatoPiano", 0xE53A }, // glyphnumber: 832, Sforzato-piano + { "dynamicZ", 0xE525 }, // glyphnumber: 833, Z + { "elecAudioChannelsEight", 0xEB46 }, // glyphnumber: 834, Eight channels (7.1 surround) + { "elecAudioChannelsFive", 0xEB43 }, // glyphnumber: 835, Five channels + { "elecAudioChannelsFour", 0xEB42 }, // glyphnumber: 836, Four channels + { "elecAudioChannelsOne", 0xEB3E }, // glyphnumber: 837, One channel (mono) + { "elecAudioChannelsSeven", 0xEB45 }, // glyphnumber: 838, Seven channels + { "elecAudioChannelsSix", 0xEB44 }, // glyphnumber: 839, Six channels (5.1 surround) + { "elecAudioChannelsThreeFrontal", 0xEB40 }, // glyphnumber: 840, Three channels (frontal) + { "elecAudioChannelsThreeSurround", 0xEB41 }, // glyphnumber: 841, Three channels (surround) + { "elecAudioChannelsTwo", 0xEB3F }, // glyphnumber: 842, Two channels (stereo) + { "elecAudioIn", 0xEB49 }, // glyphnumber: 843, Audio in + { "elecAudioMono", 0xEB3C }, // glyphnumber: 844, Mono audio setup + { "elecAudioOut", 0xEB4A }, // glyphnumber: 845, Audio out + { "elecAudioStereo", 0xEB3D }, // glyphnumber: 846, Stereo audio setup + { "elecCamera", 0xEB1B }, // glyphnumber: 847, Camera + { "elecDataIn", 0xEB4D }, // glyphnumber: 848, Data in + { "elecDataOut", 0xEB4E }, // glyphnumber: 849, Data out + { "elecDisc", 0xEB13 }, // glyphnumber: 850, Disc + { "elecDownload", 0xEB4F }, // glyphnumber: 851, Download + { "elecEject", 0xEB2B }, // glyphnumber: 852, Eject + { "elecFastForward", 0xEB1F }, // glyphnumber: 853, Fast-forward + { "elecHeadphones", 0xEB11 }, // glyphnumber: 854, Headphones + { "elecHeadset", 0xEB12 }, // glyphnumber: 855, Headset + { "elecLineIn", 0xEB47 }, // glyphnumber: 856, Line in + { "elecLineOut", 0xEB48 }, // glyphnumber: 857, Line out + { "elecLoop", 0xEB23 }, // glyphnumber: 858, Loop + { "elecLoudspeaker", 0xEB1A }, // glyphnumber: 859, Loudspeaker + { "elecMIDIController0", 0xEB36 }, // glyphnumber: 860, MIDI controller 0% + { "elecMIDIController100", 0xEB3B }, // glyphnumber: 861, MIDI controller 100% + { "elecMIDIController20", 0xEB37 }, // glyphnumber: 862, MIDI controller 20% + { "elecMIDIController40", 0xEB38 }, // glyphnumber: 863, MIDI controller 40% + { "elecMIDIController60", 0xEB39 }, // glyphnumber: 864, MIDI controller 60% + { "elecMIDIController80", 0xEB3A }, // glyphnumber: 865, MIDI controller 80% + { "elecMIDIIn", 0xEB34 }, // glyphnumber: 866, MIDI in + { "elecMIDIOut", 0xEB35 }, // glyphnumber: 867, MIDI out + { "elecMicrophone", 0xEB10 }, // glyphnumber: 868, Microphone + { "elecMicrophoneMute", 0xEB28 }, // glyphnumber: 869, Mute microphone + { "elecMicrophoneUnmute", 0xEB29 }, // glyphnumber: 870, Unmute microphone + { "elecMixingConsole", 0xEB15 }, // glyphnumber: 871, Mixing console + { "elecMonitor", 0xEB18 }, // glyphnumber: 872, Monitor + { "elecMute", 0xEB26 }, // glyphnumber: 873, Mute + { "elecPause", 0xEB1E }, // glyphnumber: 874, Pause + { "elecPlay", 0xEB1C }, // glyphnumber: 875, Play + { "elecPowerOnOff", 0xEB2A }, // glyphnumber: 876, Power on/off + { "elecProjector", 0xEB19 }, // glyphnumber: 877, Projector + { "elecReplay", 0xEB24 }, // glyphnumber: 878, Replay + { "elecRewind", 0xEB20 }, // glyphnumber: 879, Rewind + { "elecShuffle", 0xEB25 }, // glyphnumber: 880, Shuffle + { "elecSkipBackwards", 0xEB22 }, // glyphnumber: 881, Skip backwards + { "elecSkipForwards", 0xEB21 }, // glyphnumber: 882, Skip forwards + { "elecStop", 0xEB1D }, // glyphnumber: 883, Stop + { "elecTape", 0xEB14 }, // glyphnumber: 884, Tape + { "elecUSB", 0xEB16 }, // glyphnumber: 885, USB connection + { "elecUnmute", 0xEB27 }, // glyphnumber: 886, Unmute + { "elecUpload", 0xEB50 }, // glyphnumber: 887, Upload + { "elecVideoCamera", 0xEB17 }, // glyphnumber: 888, Video camera + { "elecVideoIn", 0xEB4B }, // glyphnumber: 889, Video in + { "elecVideoOut", 0xEB4C }, // glyphnumber: 890, Video out + { "elecVolumeFader", 0xEB2C }, // glyphnumber: 891, Combining volume fader + { "elecVolumeFaderThumb", 0xEB2D }, // glyphnumber: 892, Combining volume fader thumb + { "elecVolumeLevel0", 0xEB2E }, // glyphnumber: 893, Volume level 0% + { "elecVolumeLevel100", 0xEB33 }, // glyphnumber: 894, Volume level 100% + { "elecVolumeLevel20", 0xEB2F }, // glyphnumber: 895, Volume level 20% + { "elecVolumeLevel40", 0xEB30 }, // glyphnumber: 896, Volume level 40% + { "elecVolumeLevel60", 0xEB31 }, // glyphnumber: 897, Volume level 60% + { "elecVolumeLevel80", 0xEB32 }, // glyphnumber: 898, Volume level 80% + { "fClef", 0xE062 }, // glyphnumber: 899, F clef + { "fClef15ma", 0xE066 }, // glyphnumber: 900, F clef quindicesima alta + { "fClef15mb", 0xE063 }, // glyphnumber: 901, F clef quindicesima bassa + { "fClef8va", 0xE065 }, // glyphnumber: 902, F clef ottava alta + { "fClef8vb", 0xE064 }, // glyphnumber: 903, F clef ottava bassa + { "fClefArrowDown", 0xE068 }, // glyphnumber: 904, F clef, arrow down + { "fClefArrowUp", 0xE067 }, // glyphnumber: 905, F clef, arrow up + { "fClefChange", 0xE07C }, // glyphnumber: 906, F clef change + { "fClefReversed", 0xE076 }, // glyphnumber: 907, Reversed F clef + { "fClefTurned", 0xE077 }, // glyphnumber: 908, Turned F clef + { "fermataAbove", 0xE4C0 }, // glyphnumber: 909, Fermata above + { "fermataBelow", 0xE4C1 }, // glyphnumber: 910, Fermata below + { "fermataLongAbove", 0xE4C6 }, // glyphnumber: 911, Long fermata above + { "fermataLongBelow", 0xE4C7 }, // glyphnumber: 912, Long fermata below + { "fermataLongHenzeAbove", 0xE4CA }, // glyphnumber: 913, Long fermata (Henze) above + { "fermataLongHenzeBelow", 0xE4CB }, // glyphnumber: 914, Long fermata (Henze) below + { "fermataShortAbove", 0xE4C4 }, // glyphnumber: 915, Short fermata above + { "fermataShortBelow", 0xE4C5 }, // glyphnumber: 916, Short fermata below + { "fermataShortHenzeAbove", 0xE4CC }, // glyphnumber: 917, Short fermata (Henze) above + { "fermataShortHenzeBelow", 0xE4CD }, // glyphnumber: 918, Short fermata (Henze) below + { "fermataVeryLongAbove", 0xE4C8 }, // glyphnumber: 919, Very long fermata above + { "fermataVeryLongBelow", 0xE4C9 }, // glyphnumber: 920, Very long fermata below + { "fermataVeryShortAbove", 0xE4C2 }, // glyphnumber: 921, Very short fermata above + { "fermataVeryShortBelow", 0xE4C3 }, // glyphnumber: 922, Very short fermata below + { "figbass0", 0xEA50 }, // glyphnumber: 923, Figured bass 0 + { "figbass1", 0xEA51 }, // glyphnumber: 924, Figured bass 1 + { "figbass2", 0xEA52 }, // glyphnumber: 925, Figured bass 2 + { "figbass2Raised", 0xEA53 }, // glyphnumber: 926, Figured bass 2 raised by half-step + { "figbass3", 0xEA54 }, // glyphnumber: 927, Figured bass 3 + { "figbass4", 0xEA55 }, // glyphnumber: 928, Figured bass 4 + { "figbass4Raised", 0xEA56 }, // glyphnumber: 929, Figured bass 4 raised by half-step + { "figbass5", 0xEA57 }, // glyphnumber: 930, Figured bass 5 + { "figbass5Raised1", 0xEA58 }, // glyphnumber: 931, Figured bass 5 raised by half-step + { "figbass5Raised2", 0xEA59 }, // glyphnumber: 932, Figured bass 5 raised by half-step 2 + { "figbass5Raised3", 0xEA5A }, // glyphnumber: 933, Figured bass diminished 5 + { "figbass6", 0xEA5B }, // glyphnumber: 934, Figured bass 6 + { "figbass6Raised", 0xEA5C }, // glyphnumber: 935, Figured bass 6 raised by half-step + { "figbass6Raised2", 0xEA6F }, // glyphnumber: 936, Figured bass 6 raised by half-step 2 + { "figbass7", 0xEA5D }, // glyphnumber: 937, Figured bass 7 + { "figbass7Diminished", 0xECC0 }, // glyphnumber: 938, Figured bass 7 diminished + { "figbass7Raised1", 0xEA5E }, // glyphnumber: 939, Figured bass 7 raised by half-step + { "figbass7Raised2", 0xEA5F }, // glyphnumber: 940, Figured bass 7 raised by a half-step 2 + { "figbass8", 0xEA60 }, // glyphnumber: 941, Figured bass 8 + { "figbass9", 0xEA61 }, // glyphnumber: 942, Figured bass 9 + { "figbass9Raised", 0xEA62 }, // glyphnumber: 943, Figured bass 9 raised by half-step + { "figbassBracketLeft", 0xEA68 }, // glyphnumber: 944, Figured bass [ + { "figbassBracketRight", 0xEA69 }, // glyphnumber: 945, Figured bass ] + { "figbassCombiningLowering", 0xEA6E }, // glyphnumber: 946, Combining lower + { "figbassCombiningRaising", 0xEA6D }, // glyphnumber: 947, Combining raise + { "figbassDoubleFlat", 0xEA63 }, // glyphnumber: 948, Figured bass double flat + { "figbassDoubleSharp", 0xEA67 }, // glyphnumber: 949, Figured bass double sharp + { "figbassFlat", 0xEA64 }, // glyphnumber: 950, Figured bass flat + { "figbassNatural", 0xEA65 }, // glyphnumber: 951, Figured bass natural + { "figbassParensLeft", 0xEA6A }, // glyphnumber: 952, Figured bass ( + { "figbassParensRight", 0xEA6B }, // glyphnumber: 953, Figured bass ) + { "figbassPlus", 0xEA6C }, // glyphnumber: 954, Figured bass + + { "figbassSharp", 0xEA66 }, // glyphnumber: 955, Figured bass sharp + { "fingering0", 0xED10 }, // glyphnumber: 956, Fingering 0 (open string) + { "fingering1", 0xED11 }, // glyphnumber: 957, Fingering 1 (thumb) + { "fingering2", 0xED12 }, // glyphnumber: 958, Fingering 2 (index finger) + { "fingering3", 0xED13 }, // glyphnumber: 959, Fingering 3 (middle finger) + { "fingering4", 0xED14 }, // glyphnumber: 960, Fingering 4 (ring finger) + { "fingering5", 0xED15 }, // glyphnumber: 961, Fingering 5 (little finger) + { "fingeringALower", 0xED1B }, // glyphnumber: 962, Fingering a (anular; right-hand ring finger for guitar) + { "fingeringCLower", 0xED1C }, // glyphnumber: 963, Fingering c (right-hand little finger for guitar) + { "fingeringELower", 0xED1E }, // glyphnumber: 964, Fingering e (right-hand little finger for guitar) + { "fingeringILower", 0xED19 }, // glyphnumber: 965, Fingering i (indicio; right-hand index finger for guitar) + { "fingeringMLower", 0xED1A }, // glyphnumber: 966, Fingering m (medio; right-hand middle finger for guitar) + { "fingeringMultipleNotes", 0xED23 }, // glyphnumber: 967, Multiple notes played by thumb or single finger + { "fingeringOLower", 0xED1F }, // glyphnumber: 968, Fingering o (right-hand little finger for guitar) + { "fingeringPLower", 0xED17 }, // glyphnumber: 969, Fingering p (pulgar; right-hand thumb for guitar) + { "fingeringSubstitutionAbove", 0xED20 }, // glyphnumber: 970, Finger substitution above + { "fingeringSubstitutionBelow", 0xED21 }, // glyphnumber: 971, Finger substitution below + { "fingeringSubstitutionDash", 0xED22 }, // glyphnumber: 972, Finger substitution dash + { "fingeringTLower", 0xED18 }, // glyphnumber: 973, Fingering t (right-hand thumb for guitar) + { "fingeringTUpper", 0xED16 }, // glyphnumber: 974, Fingering T (left-hand thumb for guitar) + { "fingeringXLower", 0xED1D }, // glyphnumber: 975, Fingering x (right-hand little finger for guitar) + { "flag1024thDown", 0xE24F }, // glyphnumber: 976, Combining flag 8 (1024th) below + { "flag1024thUp", 0xE24E }, // glyphnumber: 977, Combining flag 8 (1024th) above + { "flag128thDown", 0xE249 }, // glyphnumber: 978, Combining flag 5 (128th) below + { "flag128thUp", 0xE248 }, // glyphnumber: 979, Combining flag 5 (128th) above + { "flag16thDown", 0xE243 }, // glyphnumber: 980, Combining flag 2 (16th) below + { "flag16thUp", 0xE242 }, // glyphnumber: 981, Combining flag 2 (16th) above + { "flag256thDown", 0xE24B }, // glyphnumber: 982, Combining flag 6 (256th) below + { "flag256thUp", 0xE24A }, // glyphnumber: 983, Combining flag 6 (256th) above + { "flag32ndDown", 0xE245 }, // glyphnumber: 984, Combining flag 3 (32nd) below + { "flag32ndUp", 0xE244 }, // glyphnumber: 985, Combining flag 3 (32nd) above + { "flag512thDown", 0xE24D }, // glyphnumber: 986, Combining flag 7 (512th) below + { "flag512thUp", 0xE24C }, // glyphnumber: 987, Combining flag 7 (512th) above + { "flag64thDown", 0xE247 }, // glyphnumber: 988, Combining flag 4 (64th) below + { "flag64thUp", 0xE246 }, // glyphnumber: 989, Combining flag 4 (64th) above + { "flag8thDown", 0xE241 }, // glyphnumber: 990, Combining flag 1 (8th) below + { "flag8thUp", 0xE240 }, // glyphnumber: 991, Combining flag 1 (8th) above + { "flagInternalDown", 0xE251 }, // glyphnumber: 992, Internal combining flag below + { "flagInternalUp", 0xE250 }, // glyphnumber: 993, Internal combining flag above + { "fretboard3String", 0xE850 }, // glyphnumber: 994, 3-string fretboard + { "fretboard3StringNut", 0xE851 }, // glyphnumber: 995, 3-string fretboard at nut + { "fretboard4String", 0xE852 }, // glyphnumber: 996, 4-string fretboard + { "fretboard4StringNut", 0xE853 }, // glyphnumber: 997, 4-string fretboard at nut + { "fretboard5String", 0xE854 }, // glyphnumber: 998, 5-string fretboard + { "fretboard5StringNut", 0xE855 }, // glyphnumber: 999, 5-string fretboard at nut + { "fretboard6String", 0xE856 }, // glyphnumber: 1000, 6-string fretboard + { "fretboard6StringNut", 0xE857 }, // glyphnumber: 1001, 6-string fretboard at nut + { "fretboardFilledCircle", 0xE858 }, // glyphnumber: 1002, Fingered fret (filled circle) + { "fretboardO", 0xE85A }, // glyphnumber: 1003, Open string (O) + { "fretboardX", 0xE859 }, // glyphnumber: 1004, String not played (X) + { "functionAngleLeft", 0xEA93 }, // glyphnumber: 1005, Function theory angle bracket left + { "functionAngleRight", 0xEA94 }, // glyphnumber: 1006, Function theory angle bracket right + { "functionBracketLeft", 0xEA8F }, // glyphnumber: 1007, Function theory bracket left + { "functionBracketRight", 0xEA90 }, // glyphnumber: 1008, Function theory bracket right + { "functionDD", 0xEA81 }, // glyphnumber: 1009, Function theory dominant of dominant + { "functionDLower", 0xEA80 }, // glyphnumber: 1010, Function theory minor dominant + { "functionDUpper", 0xEA7F }, // glyphnumber: 1011, Function theory major dominant + { "functionEight", 0xEA78 }, // glyphnumber: 1012, Function theory 8 + { "functionFUpper", 0xEA99 }, // glyphnumber: 1013, Function theory F + { "functionFive", 0xEA75 }, // glyphnumber: 1014, Function theory 5 + { "functionFour", 0xEA74 }, // glyphnumber: 1015, Function theory 4 + { "functionGLower", 0xEA84 }, // glyphnumber: 1016, Function theory g + { "functionGUpper", 0xEA83 }, // glyphnumber: 1017, Function theory G + { "functionGreaterThan", 0xEA7C }, // glyphnumber: 1018, Function theory greater than + { "functionILower", 0xEA9B }, // glyphnumber: 1019, Function theory i + { "functionIUpper", 0xEA9A }, // glyphnumber: 1020, Function theory I + { "functionKLower", 0xEA9D }, // glyphnumber: 1021, Function theory k + { "functionKUpper", 0xEA9C }, // glyphnumber: 1022, Function theory K + { "functionLLower", 0xEA9F }, // glyphnumber: 1023, Function theory l + { "functionLUpper", 0xEA9E }, // glyphnumber: 1024, Function theory L + { "functionLessThan", 0xEA7A }, // glyphnumber: 1025, Function theory less than + { "functionMLower", 0xED01 }, // glyphnumber: 1026, Function theory m + { "functionMUpper", 0xED00 }, // glyphnumber: 1027, Function theory M + { "functionMinus", 0xEA7B }, // glyphnumber: 1028, Function theory minus + { "functionNLower", 0xEA86 }, // glyphnumber: 1029, Function theory n + { "functionNUpper", 0xEA85 }, // glyphnumber: 1030, Function theory N + { "functionNUpperSuperscript", 0xED02 }, // glyphnumber: 1031, Function theory superscript N + { "functionNine", 0xEA79 }, // glyphnumber: 1032, Function theory 9 + { "functionOne", 0xEA71 }, // glyphnumber: 1033, Function theory 1 + { "functionPLower", 0xEA88 }, // glyphnumber: 1034, Function theory p + { "functionPUpper", 0xEA87 }, // glyphnumber: 1035, Function theory P + { "functionParensLeft", 0xEA91 }, // glyphnumber: 1036, Function theory parenthesis left + { "functionParensRight", 0xEA92 }, // glyphnumber: 1037, Function theory parenthesis right + { "functionPlus", 0xEA98 }, // glyphnumber: 1038, Function theory prefix plus + { "functionRLower", 0xED03 }, // glyphnumber: 1039, Function theory r + { "functionRepetition1", 0xEA95 }, // glyphnumber: 1040, Function theory repetition 1 + { "functionRepetition2", 0xEA96 }, // glyphnumber: 1041, Function theory repetition 2 + { "functionRing", 0xEA97 }, // glyphnumber: 1042, Function theory prefix ring + { "functionSLower", 0xEA8A }, // glyphnumber: 1043, Function theory minor subdominant + { "functionSSLower", 0xEA7E }, // glyphnumber: 1044, Function theory minor subdominant of subdominant + { "functionSSUpper", 0xEA7D }, // glyphnumber: 1045, Function theory major subdominant of subdominant + { "functionSUpper", 0xEA89 }, // glyphnumber: 1046, Function theory major subdominant + { "functionSeven", 0xEA77 }, // glyphnumber: 1047, Function theory 7 + { "functionSix", 0xEA76 }, // glyphnumber: 1048, Function theory 6 + { "functionSlashedDD", 0xEA82 }, // glyphnumber: 1049, Function theory double dominant seventh + { "functionTLower", 0xEA8C }, // glyphnumber: 1050, Function theory minor tonic + { "functionTUpper", 0xEA8B }, // glyphnumber: 1051, Function theory tonic + { "functionThree", 0xEA73 }, // glyphnumber: 1052, Function theory 3 + { "functionTwo", 0xEA72 }, // glyphnumber: 1053, Function theory 2 + { "functionVLower", 0xEA8E }, // glyphnumber: 1054, Function theory v + { "functionVUpper", 0xEA8D }, // glyphnumber: 1055, Function theory V + { "functionZero", 0xEA70 }, // glyphnumber: 1056, Function theory 0 + { "gClef", 0xE050 }, // glyphnumber: 1057, G clef + { "gClef15ma", 0xE054 }, // glyphnumber: 1058, G clef quindicesima alta + { "gClef15mb", 0xE051 }, // glyphnumber: 1059, G clef quindicesima bassa + { "gClef8va", 0xE053 }, // glyphnumber: 1060, G clef ottava alta + { "gClef8vb", 0xE052 }, // glyphnumber: 1061, G clef ottava bassa + { "gClef8vbCClef", 0xE056 }, // glyphnumber: 1062, G clef ottava bassa with C clef + { "gClef8vbOld", 0xE055 }, // glyphnumber: 1063, G clef ottava bassa (old style) + { "gClef8vbParens", 0xE057 }, // glyphnumber: 1064, G clef, optionally ottava bassa + { "gClefArrowDown", 0xE05B }, // glyphnumber: 1065, G clef, arrow down + { "gClefArrowUp", 0xE05A }, // glyphnumber: 1066, G clef, arrow up + { "gClefChange", 0xE07A }, // glyphnumber: 1067, G clef change + { "gClefLigatedNumberAbove", 0xE059 }, // glyphnumber: 1068, Combining G clef, number above + { "gClefLigatedNumberBelow", 0xE058 }, // glyphnumber: 1069, Combining G clef, number below + { "gClefReversed", 0xE073 }, // glyphnumber: 1070, Reversed G clef + { "gClefTurned", 0xE074 }, // glyphnumber: 1071, Turned G clef + { "glissandoDown", 0xE586 }, // glyphnumber: 1072, Glissando down + { "glissandoUp", 0xE585 }, // glyphnumber: 1073, Glissando up + { "graceNoteAcciaccaturaStemDown", 0xE561 }, // glyphnumber: 1074, Slashed grace note stem down + { "graceNoteAcciaccaturaStemUp", 0xE560 }, // glyphnumber: 1075, Slashed grace note stem up + { "graceNoteAppoggiaturaStemDown", 0xE563 }, // glyphnumber: 1076, Grace note stem down + { "graceNoteAppoggiaturaStemUp", 0xE562 }, // glyphnumber: 1077, Grace note stem up + { "graceNoteSlashStemDown", 0xE565 }, // glyphnumber: 1078, Slash for stem down grace note + { "graceNoteSlashStemUp", 0xE564 }, // glyphnumber: 1079, Slash for stem up grace note + { "guitarBarreFull", 0xE848 }, // glyphnumber: 1080, Full barré + { "guitarBarreHalf", 0xE849 }, // glyphnumber: 1081, Half barré + { "guitarClosePedal", 0xE83F }, // glyphnumber: 1082, Closed wah/volume pedal + { "guitarFadeIn", 0xE843 }, // glyphnumber: 1083, Fade in + { "guitarFadeOut", 0xE844 }, // glyphnumber: 1084, Fade out + { "guitarGolpe", 0xE842 }, // glyphnumber: 1085, Golpe (tapping the pick guard) + { "guitarHalfOpenPedal", 0xE83E }, // glyphnumber: 1086, Half-open wah/volume pedal + { "guitarLeftHandTapping", 0xE840 }, // glyphnumber: 1087, Left-hand tapping + { "guitarOpenPedal", 0xE83D }, // glyphnumber: 1088, Open wah/volume pedal + { "guitarRightHandTapping", 0xE841 }, // glyphnumber: 1089, Right-hand tapping + { "guitarShake", 0xE832 }, // glyphnumber: 1090, Guitar shake + { "guitarString0", 0xE833 }, // glyphnumber: 1091, String number 0 + { "guitarString1", 0xE834 }, // glyphnumber: 1092, String number 1 + { "guitarString2", 0xE835 }, // glyphnumber: 1093, String number 2 + { "guitarString3", 0xE836 }, // glyphnumber: 1094, String number 3 + { "guitarString4", 0xE837 }, // glyphnumber: 1095, String number 4 + { "guitarString5", 0xE838 }, // glyphnumber: 1096, String number 5 + { "guitarString6", 0xE839 }, // glyphnumber: 1097, String number 6 + { "guitarString7", 0xE83A }, // glyphnumber: 1098, String number 7 + { "guitarString8", 0xE83B }, // glyphnumber: 1099, String number 8 + { "guitarString9", 0xE83C }, // glyphnumber: 1100, String number 9 + { "guitarStrumDown", 0xE847 }, // glyphnumber: 1101, Strum direction down + { "guitarStrumUp", 0xE846 }, // glyphnumber: 1102, Strum direction up + { "guitarVibratoBarDip", 0xE831 }, // glyphnumber: 1103, Guitar vibrato bar dip + { "guitarVibratoBarScoop", 0xE830 }, // glyphnumber: 1104, Guitar vibrato bar scoop + { "guitarVibratoStroke", 0xEAB2 }, // glyphnumber: 1105, Vibrato wiggle segment + { "guitarVolumeSwell", 0xE845 }, // glyphnumber: 1106, Volume swell + { "guitarWideVibratoStroke", 0xEAB3 }, // glyphnumber: 1107, Wide vibrato wiggle segment + { "handbellsBelltree", 0xE81F }, // glyphnumber: 1108, Belltree + { "handbellsDamp3", 0xE81E }, // glyphnumber: 1109, Damp 3 + { "handbellsEcho1", 0xE81B }, // glyphnumber: 1110, Echo + { "handbellsEcho2", 0xE81C }, // glyphnumber: 1111, Echo 2 + { "handbellsGyro", 0xE81D }, // glyphnumber: 1112, Gyro + { "handbellsHandMartellato", 0xE812 }, // glyphnumber: 1113, Hand martellato + { "handbellsMalletBellOnTable", 0xE815 }, // glyphnumber: 1114, Mallet, bell on table + { "handbellsMalletBellSuspended", 0xE814 }, // glyphnumber: 1115, Mallet, bell suspended + { "handbellsMalletLft", 0xE816 }, // glyphnumber: 1116, Mallet lift + { "handbellsMartellato", 0xE810 }, // glyphnumber: 1117, Martellato + { "handbellsMartellatoLift", 0xE811 }, // glyphnumber: 1118, Martellato lift + { "handbellsMutedMartellato", 0xE813 }, // glyphnumber: 1119, Muted martellato + { "handbellsPluckLift", 0xE817 }, // glyphnumber: 1120, Pluck lift + { "handbellsSwing", 0xE81A }, // glyphnumber: 1121, Swing + { "handbellsSwingDown", 0xE819 }, // glyphnumber: 1122, Swing down + { "handbellsSwingUp", 0xE818 }, // glyphnumber: 1123, Swing up + { "handbellsTablePairBells", 0xE821 }, // glyphnumber: 1124, Table pair of handbells + { "handbellsTableSingleBell", 0xE820 }, // glyphnumber: 1125, Table single handbell + { "harpMetalRod", 0xE68F }, // glyphnumber: 1126, Metal rod pictogram + { "harpPedalCentered", 0xE681 }, // glyphnumber: 1127, Harp pedal centered (natural) + { "harpPedalDivider", 0xE683 }, // glyphnumber: 1128, Harp pedal divider + { "harpPedalLowered", 0xE682 }, // glyphnumber: 1129, Harp pedal lowered (sharp) + { "harpPedalRaised", 0xE680 }, // glyphnumber: 1130, Harp pedal raised (flat) + { "harpSalzedoAeolianAscending", 0xE695 }, // glyphnumber: 1131, Ascending aeolian chords (Salzedo) + { "harpSalzedoAeolianDescending", 0xE696 }, // glyphnumber: 1132, Descending aeolian chords (Salzedo) + { "harpSalzedoDampAbove", 0xE69A }, // glyphnumber: 1133, Damp above (Salzedo) + { "harpSalzedoDampBelow", 0xE699 }, // glyphnumber: 1134, Damp below (Salzedo) + { "harpSalzedoDampBothHands", 0xE698 }, // glyphnumber: 1135, Damp with both hands (Salzedo) + { "harpSalzedoDampLowStrings", 0xE697 }, // glyphnumber: 1136, Damp only low strings (Salzedo) + { "harpSalzedoFluidicSoundsLeft", 0xE68D }, // glyphnumber: 1137, Fluidic sounds, left hand (Salzedo) + { "harpSalzedoFluidicSoundsRight", 0xE68E }, // glyphnumber: 1138, Fluidic sounds, right hand (Salzedo) + { "harpSalzedoIsolatedSounds", 0xE69C }, // glyphnumber: 1139, Isolated sounds (Salzedo) + { "harpSalzedoMetallicSounds", 0xE688 }, // glyphnumber: 1140, Metallic sounds (Salzedo) + { "harpSalzedoMetallicSoundsOneString", 0xE69B }, // glyphnumber: 1141, Metallic sounds, one string (Salzedo) + { "harpSalzedoMuffleTotally", 0xE68C }, // glyphnumber: 1142, Muffle totally (Salzedo) + { "harpSalzedoOboicFlux", 0xE685 }, // glyphnumber: 1143, Oboic flux (Salzedo) + { "harpSalzedoPlayUpperEnd", 0xE68A }, // glyphnumber: 1144, Play at upper end of strings (Salzedo) + { "harpSalzedoSlideWithSuppleness", 0xE684 }, // glyphnumber: 1145, Slide with suppleness (Salzedo) + { "harpSalzedoSnareDrum", 0xE69D }, // glyphnumber: 1146, Snare drum effect (Salzedo) + { "harpSalzedoTamTamSounds", 0xE689 }, // glyphnumber: 1147, Tam-tam sounds (Salzedo) + { "harpSalzedoThunderEffect", 0xE686 }, // glyphnumber: 1148, Thunder effect (Salzedo) + { "harpSalzedoTimpanicSounds", 0xE68B }, // glyphnumber: 1149, Timpanic sounds (Salzedo) + { "harpSalzedoWhistlingSounds", 0xE687 }, // glyphnumber: 1150, Whistling sounds (Salzedo) + { "harpStringNoiseStem", 0xE694 }, // glyphnumber: 1151, Combining string noise for stem + { "harpTuningKey", 0xE690 }, // glyphnumber: 1152, Tuning key pictogram + { "harpTuningKeyGlissando", 0xE693 }, // glyphnumber: 1153, Retune strings for glissando + { "harpTuningKeyHandle", 0xE691 }, // glyphnumber: 1154, Use handle of tuning key pictogram + { "harpTuningKeyShank", 0xE692 }, // glyphnumber: 1155, Use shank of tuning key pictogram + { "keyboardBebung2DotsAbove", 0xE668 }, // glyphnumber: 1156, Clavichord bebung, 2 finger movements (above) + { "keyboardBebung2DotsBelow", 0xE669 }, // glyphnumber: 1157, Clavichord bebung, 2 finger movements (below) + { "keyboardBebung3DotsAbove", 0xE66A }, // glyphnumber: 1158, Clavichord bebung, 3 finger movements (above) + { "keyboardBebung3DotsBelow", 0xE66B }, // glyphnumber: 1159, Clavichord bebung, 3 finger movements (below) + { "keyboardBebung4DotsAbove", 0xE66C }, // glyphnumber: 1160, Clavichord bebung, 4 finger movements (above) + { "keyboardBebung4DotsBelow", 0xE66D }, // glyphnumber: 1161, Clavichord bebung, 4 finger movements (below) + { "keyboardLeftPedalPictogram", 0xE65E }, // glyphnumber: 1162, Left pedal pictogram + { "keyboardMiddlePedalPictogram", 0xE65F }, // glyphnumber: 1163, Middle pedal pictogram + { "keyboardPedalD", 0xE653 }, // glyphnumber: 1164, Pedal d + { "keyboardPedalDot", 0xE654 }, // glyphnumber: 1165, Pedal dot + { "keyboardPedalE", 0xE652 }, // glyphnumber: 1166, Pedal e + { "keyboardPedalHalf", 0xE656 }, // glyphnumber: 1167, Half-pedal mark + { "keyboardPedalHalf2", 0xE65B }, // glyphnumber: 1168, Half pedal mark 1 + { "keyboardPedalHalf3", 0xE65C }, // glyphnumber: 1169, Half pedal mark 2 + { "keyboardPedalHeel1", 0xE661 }, // glyphnumber: 1170, Pedal heel 1 + { "keyboardPedalHeel2", 0xE662 }, // glyphnumber: 1171, Pedal heel 2 + { "keyboardPedalHeel3", 0xE663 }, // glyphnumber: 1172, Pedal heel 3 (Davis) + { "keyboardPedalHeelToToe", 0xE674 }, // glyphnumber: 1173, Pedal heel to toe + { "keyboardPedalHeelToe", 0xE666 }, // glyphnumber: 1174, Pedal heel or toe + { "keyboardPedalHookEnd", 0xE673 }, // glyphnumber: 1175, Pedal hook end + { "keyboardPedalHookStart", 0xE672 }, // glyphnumber: 1176, Pedal hook start + { "keyboardPedalHyphen", 0xE658 }, // glyphnumber: 1177, Pedal hyphen + { "keyboardPedalP", 0xE651 }, // glyphnumber: 1178, Pedal P + { "keyboardPedalPed", 0xE650 }, // glyphnumber: 1179, Pedal mark + { "keyboardPedalS", 0xE65A }, // glyphnumber: 1180, Pedal S + { "keyboardPedalSost", 0xE659 }, // glyphnumber: 1181, Sostenuto pedal mark + { "keyboardPedalToe1", 0xE664 }, // glyphnumber: 1182, Pedal toe 1 + { "keyboardPedalToe2", 0xE665 }, // glyphnumber: 1183, Pedal toe 2 + { "keyboardPedalToeToHeel", 0xE675 }, // glyphnumber: 1184, Pedal toe to heel + { "keyboardPedalUp", 0xE655 }, // glyphnumber: 1185, Pedal up mark + { "keyboardPedalUpNotch", 0xE657 }, // glyphnumber: 1186, Pedal up notch + { "keyboardPedalUpSpecial", 0xE65D }, // glyphnumber: 1187, Pedal up special + { "keyboardPlayWithLH", 0xE670 }, // glyphnumber: 1188, Play with left hand + { "keyboardPlayWithLHEnd", 0xE671 }, // glyphnumber: 1189, Play with left hand (end) + { "keyboardPlayWithRH", 0xE66E }, // glyphnumber: 1190, Play with right hand + { "keyboardPlayWithRHEnd", 0xE66F }, // glyphnumber: 1191, Play with right hand (end) + { "keyboardPluckInside", 0xE667 }, // glyphnumber: 1192, Pluck strings inside piano (Maderna) + { "keyboardRightPedalPictogram", 0xE660 }, // glyphnumber: 1193, Right pedal pictogram + { "kievanAccidentalFlat", 0xEC3E }, // glyphnumber: 1194, Kievan flat + { "kievanAccidentalSharp", 0xEC3D }, // glyphnumber: 1195, Kievan sharp + { "kievanAugmentationDot", 0xEC3C }, // glyphnumber: 1196, Kievan augmentation dot + { "kievanCClef", 0xEC30 }, // glyphnumber: 1197, Kievan C clef (tse-fa-ut) + { "kievanEndingSymbol", 0xEC31 }, // glyphnumber: 1198, Kievan ending symbol + { "kievanNote8thStemDown", 0xEC3A }, // glyphnumber: 1199, Kievan eighth note, stem down + { "kievanNote8thStemUp", 0xEC39 }, // glyphnumber: 1200, Kievan eighth note, stem up + { "kievanNoteBeam", 0xEC3B }, // glyphnumber: 1201, Kievan beam + { "kievanNoteHalfStaffLine", 0xEC35 }, // glyphnumber: 1202, Kievan half note (on staff line) + { "kievanNoteHalfStaffSpace", 0xEC36 }, // glyphnumber: 1203, Kievan half note (in staff space) + { "kievanNoteQuarterStemDown", 0xEC38 }, // glyphnumber: 1204, Kievan quarter note, stem down + { "kievanNoteQuarterStemUp", 0xEC37 }, // glyphnumber: 1205, Kievan quarter note, stem up + { "kievanNoteReciting", 0xEC32 }, // glyphnumber: 1206, Kievan reciting note + { "kievanNoteWhole", 0xEC33 }, // glyphnumber: 1207, Kievan whole note + { "kievanNoteWholeFinal", 0xEC34 }, // glyphnumber: 1208, Kievan final whole note + { "kodalyHandDo", 0xEC40 }, // glyphnumber: 1209, Do hand sign + { "kodalyHandFa", 0xEC43 }, // glyphnumber: 1210, Fa hand sign + { "kodalyHandLa", 0xEC45 }, // glyphnumber: 1211, La hand sign + { "kodalyHandMi", 0xEC42 }, // glyphnumber: 1212, Mi hand sign + { "kodalyHandRe", 0xEC41 }, // glyphnumber: 1213, Re hand sign + { "kodalyHandSo", 0xEC44 }, // glyphnumber: 1214, So hand sign + { "kodalyHandTi", 0xEC46 }, // glyphnumber: 1215, Ti hand sign + { "leftRepeatSmall", 0xE04C }, // glyphnumber: 1216, Left repeat sign within bar + { "legerLine", 0xE022 }, // glyphnumber: 1217, Leger line + { "legerLineNarrow", 0xE024 }, // glyphnumber: 1218, Leger line (narrow) + { "legerLineWide", 0xE023 }, // glyphnumber: 1219, Leger line (wide) + { "luteBarlineEndRepeat", 0xEBA4 }, // glyphnumber: 1220, Lute tablature end repeat barline + { "luteBarlineFinal", 0xEBA5 }, // glyphnumber: 1221, Lute tablature final barline + { "luteBarlineStartRepeat", 0xEBA3 }, // glyphnumber: 1222, Lute tablature start repeat barline + { "luteDuration16th", 0xEBAB }, // glyphnumber: 1223, 16th note (semiquaver) duration sign + { "luteDuration32nd", 0xEBAC }, // glyphnumber: 1224, 32nd note (demisemiquaver) duration sign + { "luteDuration8th", 0xEBAA }, // glyphnumber: 1225, Eighth note (quaver) duration sign + { "luteDurationDoubleWhole", 0xEBA6 }, // glyphnumber: 1226, Double whole note (breve) duration sign + { "luteDurationHalf", 0xEBA8 }, // glyphnumber: 1227, Half note (minim) duration sign + { "luteDurationQuarter", 0xEBA9 }, // glyphnumber: 1228, Quarter note (crotchet) duration sign + { "luteDurationWhole", 0xEBA7 }, // glyphnumber: 1229, Whole note (semibreve) duration sign + { "luteFingeringRHFirst", 0xEBAE }, // glyphnumber: 1230, Right-hand fingering, first finger + { "luteFingeringRHSecond", 0xEBAF }, // glyphnumber: 1231, Right-hand fingering, second finger + { "luteFingeringRHThird", 0xEBB0 }, // glyphnumber: 1232, Right-hand fingering, third finger + { "luteFingeringRHThumb", 0xEBAD }, // glyphnumber: 1233, Right-hand fingering, thumb + { "luteFrench10thCourse", 0xEBD0 }, // glyphnumber: 1234, 10th course (diapason) + { "luteFrench7thCourse", 0xEBCD }, // glyphnumber: 1235, Seventh course (diapason) + { "luteFrench8thCourse", 0xEBCE }, // glyphnumber: 1236, Eighth course (diapason) + { "luteFrench9thCourse", 0xEBCF }, // glyphnumber: 1237, Ninth course (diapason) + { "luteFrenchAppoggiaturaAbove", 0xEBD5 }, // glyphnumber: 1238, Appoggiatura from above + { "luteFrenchAppoggiaturaBelow", 0xEBD4 }, // glyphnumber: 1239, Appoggiatura from below + { "luteFrenchFretA", 0xEBC0 }, // glyphnumber: 1240, Open string (a) + { "luteFrenchFretB", 0xEBC1 }, // glyphnumber: 1241, First fret (b) + { "luteFrenchFretC", 0xEBC2 }, // glyphnumber: 1242, Second fret (c) + { "luteFrenchFretD", 0xEBC3 }, // glyphnumber: 1243, Third fret (d) + { "luteFrenchFretE", 0xEBC4 }, // glyphnumber: 1244, Fourth fret (e) + { "luteFrenchFretF", 0xEBC5 }, // glyphnumber: 1245, Fifth fret (f) + { "luteFrenchFretG", 0xEBC6 }, // glyphnumber: 1246, Sixth fret (g) + { "luteFrenchFretH", 0xEBC7 }, // glyphnumber: 1247, Seventh fret (h) + { "luteFrenchFretI", 0xEBC8 }, // glyphnumber: 1248, Eighth fret (i) + { "luteFrenchFretK", 0xEBC9 }, // glyphnumber: 1249, Ninth fret (k) + { "luteFrenchFretL", 0xEBCA }, // glyphnumber: 1250, 10th fret (l) + { "luteFrenchFretM", 0xEBCB }, // glyphnumber: 1251, 11th fret (m) + { "luteFrenchFretN", 0xEBCC }, // glyphnumber: 1252, 12th fret (n) + { "luteFrenchMordentInverted", 0xEBD3 }, // glyphnumber: 1253, Inverted mordent + { "luteFrenchMordentLower", 0xEBD2 }, // glyphnumber: 1254, Mordent with lower auxiliary + { "luteFrenchMordentUpper", 0xEBD1 }, // glyphnumber: 1255, Mordent with upper auxiliary + { "luteGermanALower", 0xEC00 }, // glyphnumber: 1256, 5th course, 1st fret (a) + { "luteGermanAUpper", 0xEC17 }, // glyphnumber: 1257, 6th course, 1st fret (A) + { "luteGermanBLower", 0xEC01 }, // glyphnumber: 1258, 4th course, 1st fret (b) + { "luteGermanBUpper", 0xEC18 }, // glyphnumber: 1259, 6th course, 2nd fret (B) + { "luteGermanCLower", 0xEC02 }, // glyphnumber: 1260, 3rd course, 1st fret (c) + { "luteGermanCUpper", 0xEC19 }, // glyphnumber: 1261, 6th course, 3rd fret (C) + { "luteGermanDLower", 0xEC03 }, // glyphnumber: 1262, 2nd course, 1st fret (d) + { "luteGermanDUpper", 0xEC1A }, // glyphnumber: 1263, 6th course, 4th fret (D) + { "luteGermanELower", 0xEC04 }, // glyphnumber: 1264, 1st course, 1st fret (e) + { "luteGermanEUpper", 0xEC1B }, // glyphnumber: 1265, 6th course, 5th fret (E) + { "luteGermanFLower", 0xEC05 }, // glyphnumber: 1266, 5th course, 2nd fret (f) + { "luteGermanFUpper", 0xEC1C }, // glyphnumber: 1267, 6th course, 6th fret (F) + { "luteGermanGLower", 0xEC06 }, // glyphnumber: 1268, 4th course, 2nd fret (g) + { "luteGermanGUpper", 0xEC1D }, // glyphnumber: 1269, 6th course, 7th fret (G) + { "luteGermanHLower", 0xEC07 }, // glyphnumber: 1270, 3rd course, 2nd fret (h) + { "luteGermanHUpper", 0xEC1E }, // glyphnumber: 1271, 6th course, 8th fret (H) + { "luteGermanILower", 0xEC08 }, // glyphnumber: 1272, 2nd course, 2nd fret (i) + { "luteGermanIUpper", 0xEC1F }, // glyphnumber: 1273, 6th course, 9th fret (I) + { "luteGermanKLower", 0xEC09 }, // glyphnumber: 1274, 1st course, 2nd fret (k) + { "luteGermanKUpper", 0xEC20 }, // glyphnumber: 1275, 6th course, 10th fret (K) + { "luteGermanLLower", 0xEC0A }, // glyphnumber: 1276, 5th course, 3rd fret (l) + { "luteGermanLUpper", 0xEC21 }, // glyphnumber: 1277, 6th course, 11th fret (L) + { "luteGermanMLower", 0xEC0B }, // glyphnumber: 1278, 4th course, 3rd fret (m) + { "luteGermanMUpper", 0xEC22 }, // glyphnumber: 1279, 6th course, 12th fret (M) + { "luteGermanNLower", 0xEC0C }, // glyphnumber: 1280, 3rd course, 3rd fret (n) + { "luteGermanNUpper", 0xEC23 }, // glyphnumber: 1281, 6th course, 13th fret (N) + { "luteGermanOLower", 0xEC0D }, // glyphnumber: 1282, 2nd course, 3rd fret (o) + { "luteGermanPLower", 0xEC0E }, // glyphnumber: 1283, 1st course, 3rd fret (p) + { "luteGermanQLower", 0xEC0F }, // glyphnumber: 1284, 5th course, 4th fret (q) + { "luteGermanRLower", 0xEC10 }, // glyphnumber: 1285, 4th course, 4th fret (r) + { "luteGermanSLower", 0xEC11 }, // glyphnumber: 1286, 3rd course, 4th fret (s) + { "luteGermanTLower", 0xEC12 }, // glyphnumber: 1287, 2nd course, 4th fret (t) + { "luteGermanVLower", 0xEC13 }, // glyphnumber: 1288, 1st course, 4th fret (v) + { "luteGermanXLower", 0xEC14 }, // glyphnumber: 1289, 5th course, 5th fret (x) + { "luteGermanYLower", 0xEC15 }, // glyphnumber: 1290, 4th course, 5th fret (y) + { "luteGermanZLower", 0xEC16 }, // glyphnumber: 1291, 3rd course, 5th fret (z) + { "luteItalianClefCSolFaUt", 0xEBF1 }, // glyphnumber: 1292, C sol fa ut clef + { "luteItalianClefFFaUt", 0xEBF0 }, // glyphnumber: 1293, F fa ut clef + { "luteItalianFret0", 0xEBE0 }, // glyphnumber: 1294, Open string (0) + { "luteItalianFret1", 0xEBE1 }, // glyphnumber: 1295, First fret (1) + { "luteItalianFret2", 0xEBE2 }, // glyphnumber: 1296, Second fret (2) + { "luteItalianFret3", 0xEBE3 }, // glyphnumber: 1297, Third fret (3) + { "luteItalianFret4", 0xEBE4 }, // glyphnumber: 1298, Fourth fret (4) + { "luteItalianFret5", 0xEBE5 }, // glyphnumber: 1299, Fifth fret (5) + { "luteItalianFret6", 0xEBE6 }, // glyphnumber: 1300, Sixth fret (6) + { "luteItalianFret7", 0xEBE7 }, // glyphnumber: 1301, Seventh fret (7) + { "luteItalianFret8", 0xEBE8 }, // glyphnumber: 1302, Eighth fret (8) + { "luteItalianFret9", 0xEBE9 }, // glyphnumber: 1303, Ninth fret (9) + { "luteItalianHoldFinger", 0xEBF4 }, // glyphnumber: 1304, Hold finger in place + { "luteItalianHoldNote", 0xEBF3 }, // glyphnumber: 1305, Hold note + { "luteItalianReleaseFinger", 0xEBF5 }, // glyphnumber: 1306, Release finger + { "luteItalianTempoFast", 0xEBEA }, // glyphnumber: 1307, Fast tempo indication (de Mudarra) + { "luteItalianTempoNeitherFastNorSlow", 0xEBEC }, // glyphnumber: 1308, Neither fast nor slow tempo indication (de Mudarra) + { "luteItalianTempoSlow", 0xEBED }, // glyphnumber: 1309, Slow tempo indication (de Mudarra) + { "luteItalianTempoSomewhatFast", 0xEBEB }, // glyphnumber: 1310, Somewhat fast tempo indication (de Narvaez) + { "luteItalianTempoVerySlow", 0xEBEE }, // glyphnumber: 1311, Very slow indication (de Narvaez) + { "luteItalianTimeTriple", 0xEBEF }, // glyphnumber: 1312, Triple time indication + { "luteItalianTremolo", 0xEBF2 }, // glyphnumber: 1313, Single-finger tremolo or mordent + { "luteItalianVibrato", 0xEBF6 }, // glyphnumber: 1314, Vibrato (verre cassé) + { "luteStaff6Lines", 0xEBA0 }, // glyphnumber: 1315, Lute tablature staff, 6 courses + { "luteStaff6LinesNarrow", 0xEBA2 }, // glyphnumber: 1316, Lute tablature staff, 6 courses (narrow) + { "luteStaff6LinesWide", 0xEBA1 }, // glyphnumber: 1317, Lute tablature staff, 6 courses (wide) + { "lyricsElision", 0xE551 }, // glyphnumber: 1318, Elision + { "lyricsElisionNarrow", 0xE550 }, // glyphnumber: 1319, Narrow elision + { "lyricsElisionWide", 0xE552 }, // glyphnumber: 1320, Wide elision + { "lyricsHyphenBaseline", 0xE553 }, // glyphnumber: 1321, Baseline hyphen + { "lyricsHyphenBaselineNonBreaking", 0xE554 }, // glyphnumber: 1322, Non-breaking baseline hyphen + { "medRenFlatHardB", 0xE9E1 }, // glyphnumber: 1323, Flat, hard b (mi) + { "medRenFlatSoftB", 0xE9E0 }, // glyphnumber: 1324, Flat, soft b (fa) + { "medRenFlatWithDot", 0xE9E4 }, // glyphnumber: 1325, Flat with dot + { "medRenGClefCMN", 0xEA24 }, // glyphnumber: 1326, G clef (Corpus Monodicum) + { "medRenLiquescenceCMN", 0xEA22 }, // glyphnumber: 1327, Liquescence + { "medRenLiquescentAscCMN", 0xEA26 }, // glyphnumber: 1328, Liquescent ascending (Corpus Monodicum) + { "medRenLiquescentDescCMN", 0xEA27 }, // glyphnumber: 1329, Liquescent descending (Corpus Monodicum) + { "medRenNatural", 0xE9E2 }, // glyphnumber: 1330, Natural + { "medRenNaturalWithCross", 0xE9E5 }, // glyphnumber: 1331, Natural with interrupted cross + { "medRenOriscusCMN", 0xEA2A }, // glyphnumber: 1332, Oriscus (Corpus Monodicum) + { "medRenPlicaCMN", 0xEA23 }, // glyphnumber: 1333, Plica + { "medRenPunctumCMN", 0xEA25 }, // glyphnumber: 1334, Punctum (Corpus Monodicum) + { "medRenQuilismaCMN", 0xEA28 }, // glyphnumber: 1335, Quilisma (Corpus Monodicum) + { "medRenSharpCroix", 0xE9E3 }, // glyphnumber: 1336, Croix + { "medRenStrophicusCMN", 0xEA29 }, // glyphnumber: 1337, Strophicus (Corpus Monodicum) + { "mensuralAlterationSign", 0xEA10 }, // glyphnumber: 1338, Alteration sign + { "mensuralBlackBrevis", 0xE952 }, // glyphnumber: 1339, Black mensural brevis + { "mensuralBlackBrevisVoid", 0xE956 }, // glyphnumber: 1340, Black mensural void brevis + { "mensuralBlackDragma", 0xE95A }, // glyphnumber: 1341, Black mensural dragma + { "mensuralBlackLonga", 0xE951 }, // glyphnumber: 1342, Black mensural longa + { "mensuralBlackMaxima", 0xE950 }, // glyphnumber: 1343, Black mensural maxima + { "mensuralBlackMinima", 0xE954 }, // glyphnumber: 1344, Black mensural minima + { "mensuralBlackMinimaVoid", 0xE958 }, // glyphnumber: 1345, Black mensural void minima + { "mensuralBlackSemibrevis", 0xE953 }, // glyphnumber: 1346, Black mensural semibrevis + { "mensuralBlackSemibrevisCaudata", 0xE959 }, // glyphnumber: 1347, Black mensural semibrevis caudata + { "mensuralBlackSemibrevisOblique", 0xE95B }, // glyphnumber: 1348, Black mensural oblique semibrevis + { "mensuralBlackSemibrevisVoid", 0xE957 }, // glyphnumber: 1349, Black mensural void semibrevis + { "mensuralBlackSemiminima", 0xE955 }, // glyphnumber: 1350, Black mensural semiminima + { "mensuralCclef", 0xE905 }, // glyphnumber: 1351, Mensural C clef + { "mensuralCclefPetrucciPosHigh", 0xE90A }, // glyphnumber: 1352, Petrucci C clef, high position + { "mensuralCclefPetrucciPosHighest", 0xE90B }, // glyphnumber: 1353, Petrucci C clef, highest position + { "mensuralCclefPetrucciPosLow", 0xE908 }, // glyphnumber: 1354, Petrucci C clef, low position + { "mensuralCclefPetrucciPosLowest", 0xE907 }, // glyphnumber: 1355, Petrucci C clef, lowest position + { "mensuralCclefPetrucciPosMiddle", 0xE909 }, // glyphnumber: 1356, Petrucci C clef, middle position + { "mensuralColorationEndRound", 0xEA0F }, // glyphnumber: 1357, Coloration end, round + { "mensuralColorationEndSquare", 0xEA0D }, // glyphnumber: 1358, Coloration end, square + { "mensuralColorationStartRound", 0xEA0E }, // glyphnumber: 1359, Coloration start, round + { "mensuralColorationStartSquare", 0xEA0C }, // glyphnumber: 1360, Coloration start, square + { "mensuralCombStemDiagonal", 0xE940 }, // glyphnumber: 1361, Combining stem diagonal + { "mensuralCombStemDown", 0xE93F }, // glyphnumber: 1362, Combining stem down + { "mensuralCombStemDownFlagExtended", 0xE948 }, // glyphnumber: 1363, Combining stem with extended flag down + { "mensuralCombStemDownFlagFlared", 0xE946 }, // glyphnumber: 1364, Combining stem with flared flag down + { "mensuralCombStemDownFlagFusa", 0xE94C }, // glyphnumber: 1365, Combining stem with fusa flag down + { "mensuralCombStemDownFlagLeft", 0xE944 }, // glyphnumber: 1366, Combining stem with flag left down + { "mensuralCombStemDownFlagRight", 0xE942 }, // glyphnumber: 1367, Combining stem with flag right down + { "mensuralCombStemDownFlagSemiminima", 0xE94A }, // glyphnumber: 1368, Combining stem with semiminima flag down + { "mensuralCombStemUp", 0xE93E }, // glyphnumber: 1369, Combining stem up + { "mensuralCombStemUpFlagExtended", 0xE947 }, // glyphnumber: 1370, Combining stem with extended flag up + { "mensuralCombStemUpFlagFlared", 0xE945 }, // glyphnumber: 1371, Combining stem with flared flag up + { "mensuralCombStemUpFlagFusa", 0xE94B }, // glyphnumber: 1372, Combining stem with fusa flag up + { "mensuralCombStemUpFlagLeft", 0xE943 }, // glyphnumber: 1373, Combining stem with flag left up + { "mensuralCombStemUpFlagRight", 0xE941 }, // glyphnumber: 1374, Combining stem with flag right up + { "mensuralCombStemUpFlagSemiminima", 0xE949 }, // glyphnumber: 1375, Combining stem with semiminima flag up + { "mensuralCustosCheckmark", 0xEA0A }, // glyphnumber: 1376, Checkmark custos + { "mensuralCustosDown", 0xEA03 }, // glyphnumber: 1377, Mensural custos down + { "mensuralCustosTurn", 0xEA0B }, // glyphnumber: 1378, Turn-like custos + { "mensuralCustosUp", 0xEA02 }, // glyphnumber: 1379, Mensural custos up + { "mensuralFclef", 0xE903 }, // glyphnumber: 1380, Mensural F clef + { "mensuralFclefPetrucci", 0xE904 }, // glyphnumber: 1381, Petrucci F clef + { "mensuralGclef", 0xE900 }, // glyphnumber: 1382, Mensural G clef + { "mensuralGclefPetrucci", 0xE901 }, // glyphnumber: 1383, Petrucci G clef + { "mensuralModusImperfectumVert", 0xE92D }, // glyphnumber: 1384, Modus imperfectum, vertical + { "mensuralModusPerfectumVert", 0xE92C }, // glyphnumber: 1385, Modus perfectum, vertical + { "mensuralNoteheadLongaBlack", 0xE934 }, // glyphnumber: 1386, Longa/brevis notehead, black + { "mensuralNoteheadLongaBlackVoid", 0xE936 }, // glyphnumber: 1387, Longa/brevis notehead, black and void + { "mensuralNoteheadLongaVoid", 0xE935 }, // glyphnumber: 1388, Longa/brevis notehead, void + { "mensuralNoteheadLongaWhite", 0xE937 }, // glyphnumber: 1389, Longa/brevis notehead, white + { "mensuralNoteheadMaximaBlack", 0xE930 }, // glyphnumber: 1390, Maxima notehead, black + { "mensuralNoteheadMaximaBlackVoid", 0xE932 }, // glyphnumber: 1391, Maxima notehead, black and void + { "mensuralNoteheadMaximaVoid", 0xE931 }, // glyphnumber: 1392, Maxima notehead, void + { "mensuralNoteheadMaximaWhite", 0xE933 }, // glyphnumber: 1393, Maxima notehead, white + { "mensuralNoteheadMinimaWhite", 0xE93C }, // glyphnumber: 1394, Minima notehead, white + { "mensuralNoteheadSemibrevisBlack", 0xE938 }, // glyphnumber: 1395, Semibrevis notehead, black + { "mensuralNoteheadSemibrevisBlackVoid", 0xE93A }, // glyphnumber: 1396, Semibrevis notehead, black and void + { "mensuralNoteheadSemibrevisBlackVoidTurned", 0xE93B }, // glyphnumber: 1397, Semibrevis notehead, black and void (turned) + { "mensuralNoteheadSemibrevisVoid", 0xE939 }, // glyphnumber: 1398, Semibrevis notehead, void + { "mensuralNoteheadSemiminimaWhite", 0xE93D }, // glyphnumber: 1399, Semiminima/fusa notehead, white + { "mensuralObliqueAsc2ndBlack", 0xE970 }, // glyphnumber: 1400, Oblique form, ascending 2nd, black + { "mensuralObliqueAsc2ndBlackVoid", 0xE972 }, // glyphnumber: 1401, Oblique form, ascending 2nd, black and void + { "mensuralObliqueAsc2ndVoid", 0xE971 }, // glyphnumber: 1402, Oblique form, ascending 2nd, void + { "mensuralObliqueAsc2ndWhite", 0xE973 }, // glyphnumber: 1403, Oblique form, ascending 2nd, white + { "mensuralObliqueAsc3rdBlack", 0xE974 }, // glyphnumber: 1404, Oblique form, ascending 3rd, black + { "mensuralObliqueAsc3rdBlackVoid", 0xE976 }, // glyphnumber: 1405, Oblique form, ascending 3rd, black and void + { "mensuralObliqueAsc3rdVoid", 0xE975 }, // glyphnumber: 1406, Oblique form, ascending 3rd, void + { "mensuralObliqueAsc3rdWhite", 0xE977 }, // glyphnumber: 1407, Oblique form, ascending 3rd, white + { "mensuralObliqueAsc4thBlack", 0xE978 }, // glyphnumber: 1408, Oblique form, ascending 4th, black + { "mensuralObliqueAsc4thBlackVoid", 0xE97A }, // glyphnumber: 1409, Oblique form, ascending 4th, black and void + { "mensuralObliqueAsc4thVoid", 0xE979 }, // glyphnumber: 1410, Oblique form, ascending 4th, void + { "mensuralObliqueAsc4thWhite", 0xE97B }, // glyphnumber: 1411, Oblique form, ascending 4th, white + { "mensuralObliqueAsc5thBlack", 0xE97C }, // glyphnumber: 1412, Oblique form, ascending 5th, black + { "mensuralObliqueAsc5thBlackVoid", 0xE97E }, // glyphnumber: 1413, Oblique form, ascending 5th, black and void + { "mensuralObliqueAsc5thVoid", 0xE97D }, // glyphnumber: 1414, Oblique form, ascending 5th, void + { "mensuralObliqueAsc5thWhite", 0xE97F }, // glyphnumber: 1415, Oblique form, ascending 5th, white + { "mensuralObliqueDesc2ndBlack", 0xE980 }, // glyphnumber: 1416, Oblique form, descending 2nd, black + { "mensuralObliqueDesc2ndBlackVoid", 0xE982 }, // glyphnumber: 1417, Oblique form, descending 2nd, black and void + { "mensuralObliqueDesc2ndVoid", 0xE981 }, // glyphnumber: 1418, Oblique form, descending 2nd, void + { "mensuralObliqueDesc2ndWhite", 0xE983 }, // glyphnumber: 1419, Oblique form, descending 2nd, white + { "mensuralObliqueDesc3rdBlack", 0xE984 }, // glyphnumber: 1420, Oblique form, descending 3rd, black + { "mensuralObliqueDesc3rdBlackVoid", 0xE986 }, // glyphnumber: 1421, Oblique form, descending 3rd, black and void + { "mensuralObliqueDesc3rdVoid", 0xE985 }, // glyphnumber: 1422, Oblique form, descending 3rd, void + { "mensuralObliqueDesc3rdWhite", 0xE987 }, // glyphnumber: 1423, Oblique form, descending 3rd, white + { "mensuralObliqueDesc4thBlack", 0xE988 }, // glyphnumber: 1424, Oblique form, descending 4th, black + { "mensuralObliqueDesc4thBlackVoid", 0xE98A }, // glyphnumber: 1425, Oblique form, descending 4th, black and void + { "mensuralObliqueDesc4thVoid", 0xE989 }, // glyphnumber: 1426, Oblique form, descending 4th, void + { "mensuralObliqueDesc4thWhite", 0xE98B }, // glyphnumber: 1427, Oblique form, descending 4th, white + { "mensuralObliqueDesc5thBlack", 0xE98C }, // glyphnumber: 1428, Oblique form, descending 5th, black + { "mensuralObliqueDesc5thBlackVoid", 0xE98E }, // glyphnumber: 1429, Oblique form, descending 5th, black and void + { "mensuralObliqueDesc5thVoid", 0xE98D }, // glyphnumber: 1430, Oblique form, descending 5th, void + { "mensuralObliqueDesc5thWhite", 0xE98F }, // glyphnumber: 1431, Oblique form, descending 5th, white + { "mensuralProlation1", 0xE910 }, // glyphnumber: 1432, Tempus perfectum cum prolatione perfecta (9/8) + { "mensuralProlation10", 0xE919 }, // glyphnumber: 1433, Tempus imperfectum cum prolatione imperfecta diminution 4 + { "mensuralProlation11", 0xE91A }, // glyphnumber: 1434, Tempus imperfectum cum prolatione imperfecta diminution 5 + { "mensuralProlation2", 0xE911 }, // glyphnumber: 1435, Tempus perfectum cum prolatione imperfecta (3/4) + { "mensuralProlation3", 0xE912 }, // glyphnumber: 1436, Tempus perfectum cum prolatione imperfecta diminution 1 (3/8) + { "mensuralProlation4", 0xE913 }, // glyphnumber: 1437, Tempus perfectum cum prolatione perfecta diminution 2 (9/16) + { "mensuralProlation5", 0xE914 }, // glyphnumber: 1438, Tempus imperfectum cum prolatione perfecta (6/8) + { "mensuralProlation6", 0xE915 }, // glyphnumber: 1439, Tempus imperfectum cum prolatione imperfecta (2/4) + { "mensuralProlation7", 0xE916 }, // glyphnumber: 1440, Tempus imperfectum cum prolatione imperfecta diminution 1 (2/2) + { "mensuralProlation8", 0xE917 }, // glyphnumber: 1441, Tempus imperfectum cum prolatione imperfecta diminution 2 (6/16) + { "mensuralProlation9", 0xE918 }, // glyphnumber: 1442, Tempus imperfectum cum prolatione imperfecta diminution 3 (2/2) + { "mensuralProlationCombiningDot", 0xE920 }, // glyphnumber: 1443, Combining dot + { "mensuralProlationCombiningDotVoid", 0xE924 }, // glyphnumber: 1444, Combining void dot + { "mensuralProlationCombiningStroke", 0xE925 }, // glyphnumber: 1445, Combining vertical stroke + { "mensuralProlationCombiningThreeDots", 0xE922 }, // glyphnumber: 1446, Combining three dots horizontal + { "mensuralProlationCombiningThreeDotsTri", 0xE923 }, // glyphnumber: 1447, Combining three dots triangular + { "mensuralProlationCombiningTwoDots", 0xE921 }, // glyphnumber: 1448, Combining two dots + { "mensuralProportion1", 0xE926 }, // glyphnumber: 1449, Mensural proportion 1 + { "mensuralProportion2", 0xE927 }, // glyphnumber: 1450, Mensural proportion 2 + { "mensuralProportion3", 0xE928 }, // glyphnumber: 1451, Mensural proportion 3 + { "mensuralProportion4", 0xE929 }, // glyphnumber: 1452, Mensural proportion 4 + { "mensuralProportionMajor", 0xE92B }, // glyphnumber: 1453, Mensural proportion major + { "mensuralProportionMinor", 0xE92A }, // glyphnumber: 1454, Mensural proportion minor + { "mensuralProportionProportioDupla1", 0xE91C }, // glyphnumber: 1455, Proportio dupla 1 + { "mensuralProportionProportioDupla2", 0xE91D }, // glyphnumber: 1456, Proportio dupla 2 + { "mensuralProportionProportioQuadrupla", 0xE91F }, // glyphnumber: 1457, Proportio quadrupla + { "mensuralProportionProportioTripla", 0xE91E }, // glyphnumber: 1458, Proportio tripla + { "mensuralProportionTempusPerfectum", 0xE91B }, // glyphnumber: 1459, Tempus perfectum + { "mensuralRestBrevis", 0xE9F3 }, // glyphnumber: 1460, Brevis rest + { "mensuralRestFusa", 0xE9F7 }, // glyphnumber: 1461, Fusa rest + { "mensuralRestLongaImperfecta", 0xE9F2 }, // glyphnumber: 1462, Longa imperfecta rest + { "mensuralRestLongaPerfecta", 0xE9F1 }, // glyphnumber: 1463, Longa perfecta rest + { "mensuralRestMaxima", 0xE9F0 }, // glyphnumber: 1464, Maxima rest + { "mensuralRestMinima", 0xE9F5 }, // glyphnumber: 1465, Minima rest + { "mensuralRestSemibrevis", 0xE9F4 }, // glyphnumber: 1466, Semibrevis rest + { "mensuralRestSemifusa", 0xE9F8 }, // glyphnumber: 1467, Semifusa rest + { "mensuralRestSemiminima", 0xE9F6 }, // glyphnumber: 1468, Semiminima rest + { "mensuralSignumDown", 0xEA01 }, // glyphnumber: 1469, Signum congruentiae down + { "mensuralSignumUp", 0xEA00 }, // glyphnumber: 1470, Signum congruentiae up + { "mensuralTempusImperfectumHoriz", 0xE92F }, // glyphnumber: 1471, Tempus imperfectum, horizontal + { "mensuralTempusPerfectumHoriz", 0xE92E }, // glyphnumber: 1472, Tempus perfectum, horizontal + { "mensuralWhiteBrevis", 0xE95E }, // glyphnumber: 1473, White mensural brevis + { "mensuralWhiteFusa", 0xE961 }, // glyphnumber: 1474, White mensural fusa + { "mensuralWhiteLonga", 0xE95D }, // glyphnumber: 1475, White mensural longa + { "mensuralWhiteMaxima", 0xE95C }, // glyphnumber: 1476, White mensural maxima + { "mensuralWhiteMinima", 0xE95F }, // glyphnumber: 1477, White mensural minima + { "mensuralWhiteSemiminima", 0xE960 }, // glyphnumber: 1478, White mensural semiminima + { "metAugmentationDot", 0xECB7 }, // glyphnumber: 1479, Augmentation dot + { "metNote1024thDown", 0xECB6 }, // glyphnumber: 1480, 1024th note (semihemidemisemihemidemisemiquaver) stem down + { "metNote1024thUp", 0xECB5 }, // glyphnumber: 1481, 1024th note (semihemidemisemihemidemisemiquaver) stem up + { "metNote128thDown", 0xECB0 }, // glyphnumber: 1482, 128th note (semihemidemisemiquaver) stem down + { "metNote128thUp", 0xECAF }, // glyphnumber: 1483, 128th note (semihemidemisemiquaver) stem up + { "metNote16thDown", 0xECAA }, // glyphnumber: 1484, 16th note (semiquaver) stem down + { "metNote16thUp", 0xECA9 }, // glyphnumber: 1485, 16th note (semiquaver) stem up + { "metNote256thDown", 0xECB2 }, // glyphnumber: 1486, 256th note (demisemihemidemisemiquaver) stem down + { "metNote256thUp", 0xECB1 }, // glyphnumber: 1487, 256th note (demisemihemidemisemiquaver) stem up + { "metNote32ndDown", 0xECAC }, // glyphnumber: 1488, 32nd note (demisemiquaver) stem down + { "metNote32ndUp", 0xECAB }, // glyphnumber: 1489, 32nd note (demisemiquaver) stem up + { "metNote512thDown", 0xECB4 }, // glyphnumber: 1490, 512th note (hemidemisemihemidemisemiquaver) stem down + { "metNote512thUp", 0xECB3 }, // glyphnumber: 1491, 512th note (hemidemisemihemidemisemiquaver) stem up + { "metNote64thDown", 0xECAE }, // glyphnumber: 1492, 64th note (hemidemisemiquaver) stem down + { "metNote64thUp", 0xECAD }, // glyphnumber: 1493, 64th note (hemidemisemiquaver) stem up + { "metNote8thDown", 0xECA8 }, // glyphnumber: 1494, Eighth note (quaver) stem down + { "metNote8thUp", 0xECA7 }, // glyphnumber: 1495, Eighth note (quaver) stem up + { "metNoteDoubleWhole", 0xECA0 }, // glyphnumber: 1496, Double whole note (breve) + { "metNoteDoubleWholeSquare", 0xECA1 }, // glyphnumber: 1497, Double whole note (square) + { "metNoteHalfDown", 0xECA4 }, // glyphnumber: 1498, Half note (minim) stem down + { "metNoteHalfUp", 0xECA3 }, // glyphnumber: 1499, Half note (minim) stem up + { "metNoteQuarterDown", 0xECA6 }, // glyphnumber: 1500, Quarter note (crotchet) stem down + { "metNoteQuarterUp", 0xECA5 }, // glyphnumber: 1501, Quarter note (crotchet) stem up + { "metNoteWhole", 0xECA2 }, // glyphnumber: 1502, Whole note (semibreve) + { "metricModulationArrowLeft", 0xEC63 }, // glyphnumber: 1503, Left-pointing arrow for metric modulation + { "metricModulationArrowRight", 0xEC64 }, // glyphnumber: 1504, Right-pointing arrow for metric modulation + { "miscDoNotCopy", 0xEC61 }, // glyphnumber: 1505, Do not copy + { "miscDoNotPhotocopy", 0xEC60 }, // glyphnumber: 1506, Do not photocopy + { "miscEyeglasses", 0xEC62 }, // glyphnumber: 1507, Eyeglasses + { "note1024thDown", 0xE1E6 }, // glyphnumber: 1508, 1024th note (semihemidemisemihemidemisemiquaver) stem down + { "note1024thUp", 0xE1E5 }, // glyphnumber: 1509, 1024th note (semihemidemisemihemidemisemiquaver) stem up + { "note128thDown", 0xE1E0 }, // glyphnumber: 1510, 128th note (semihemidemisemiquaver) stem down + { "note128thUp", 0xE1DF }, // glyphnumber: 1511, 128th note (semihemidemisemiquaver) stem up + { "note16thDown", 0xE1DA }, // glyphnumber: 1512, 16th note (semiquaver) stem down + { "note16thUp", 0xE1D9 }, // glyphnumber: 1513, 16th note (semiquaver) stem up + { "note256thDown", 0xE1E2 }, // glyphnumber: 1514, 256th note (demisemihemidemisemiquaver) stem down + { "note256thUp", 0xE1E1 }, // glyphnumber: 1515, 256th note (demisemihemidemisemiquaver) stem up + { "note32ndDown", 0xE1DC }, // glyphnumber: 1516, 32nd note (demisemiquaver) stem down + { "note32ndUp", 0xE1DB }, // glyphnumber: 1517, 32nd note (demisemiquaver) stem up + { "note512thDown", 0xE1E4 }, // glyphnumber: 1518, 512th note (hemidemisemihemidemisemiquaver) stem down + { "note512thUp", 0xE1E3 }, // glyphnumber: 1519, 512th note (hemidemisemihemidemisemiquaver) stem up + { "note64thDown", 0xE1DE }, // glyphnumber: 1520, 64th note (hemidemisemiquaver) stem down + { "note64thUp", 0xE1DD }, // glyphnumber: 1521, 64th note (hemidemisemiquaver) stem up + { "note8thDown", 0xE1D8 }, // glyphnumber: 1522, Eighth note (quaver) stem down + { "note8thUp", 0xE1D7 }, // glyphnumber: 1523, Eighth note (quaver) stem up + { "noteABlack", 0xE197 }, // glyphnumber: 1524, A (black note) + { "noteAFlatBlack", 0xE196 }, // glyphnumber: 1525, A flat (black note) + { "noteAFlatHalf", 0xE17F }, // glyphnumber: 1526, A flat (half note) + { "noteAFlatWhole", 0xE168 }, // glyphnumber: 1527, A flat (whole note) + { "noteAHalf", 0xE180 }, // glyphnumber: 1528, A (half note) + { "noteASharpBlack", 0xE198 }, // glyphnumber: 1529, A sharp (black note) + { "noteASharpHalf", 0xE181 }, // glyphnumber: 1530, A sharp (half note) + { "noteASharpWhole", 0xE16A }, // glyphnumber: 1531, A sharp (whole note) + { "noteAWhole", 0xE169 }, // glyphnumber: 1532, A (whole note) + { "noteBBlack", 0xE19A }, // glyphnumber: 1533, B (black note) + { "noteBFlatBlack", 0xE199 }, // glyphnumber: 1534, B flat (black note) + { "noteBFlatHalf", 0xE182 }, // glyphnumber: 1535, B flat (half note) + { "noteBFlatWhole", 0xE16B }, // glyphnumber: 1536, B flat (whole note) + { "noteBHalf", 0xE183 }, // glyphnumber: 1537, B (half note) + { "noteBSharpBlack", 0xE19B }, // glyphnumber: 1538, B sharp (black note) + { "noteBSharpHalf", 0xE184 }, // glyphnumber: 1539, B sharp (half note) + { "noteBSharpWhole", 0xE16D }, // glyphnumber: 1540, B sharp (whole note) + { "noteBWhole", 0xE16C }, // glyphnumber: 1541, B (whole note) + { "noteCBlack", 0xE19D }, // glyphnumber: 1542, C (black note) + { "noteCFlatBlack", 0xE19C }, // glyphnumber: 1543, C flat (black note) + { "noteCFlatHalf", 0xE185 }, // glyphnumber: 1544, C flat (half note) + { "noteCFlatWhole", 0xE16E }, // glyphnumber: 1545, C flat (whole note) + { "noteCHalf", 0xE186 }, // glyphnumber: 1546, C (half note) + { "noteCSharpBlack", 0xE19E }, // glyphnumber: 1547, C sharp (black note) + { "noteCSharpHalf", 0xE187 }, // glyphnumber: 1548, C sharp (half note) + { "noteCSharpWhole", 0xE170 }, // glyphnumber: 1549, C sharp (whole note) + { "noteCWhole", 0xE16F }, // glyphnumber: 1550, C (whole note) + { "noteDBlack", 0xE1A0 }, // glyphnumber: 1551, D (black note) + { "noteDFlatBlack", 0xE19F }, // glyphnumber: 1552, D flat (black note) + { "noteDFlatHalf", 0xE188 }, // glyphnumber: 1553, D flat (half note) + { "noteDFlatWhole", 0xE171 }, // glyphnumber: 1554, D flat (whole note) + { "noteDHalf", 0xE189 }, // glyphnumber: 1555, D (half note) + { "noteDSharpBlack", 0xE1A1 }, // glyphnumber: 1556, D sharp (black note) + { "noteDSharpHalf", 0xE18A }, // glyphnumber: 1557, D sharp (half note) + { "noteDSharpWhole", 0xE173 }, // glyphnumber: 1558, D sharp (whole note) + { "noteDWhole", 0xE172 }, // glyphnumber: 1559, D (whole note) + { "noteDoBlack", 0xE160 }, // glyphnumber: 1560, Do (black note) + { "noteDoHalf", 0xE158 }, // glyphnumber: 1561, Do (half note) + { "noteDoWhole", 0xE150 }, // glyphnumber: 1562, Do (whole note) + { "noteDoubleWhole", 0xE1D0 }, // glyphnumber: 1563, Double whole note (breve) + { "noteDoubleWholeSquare", 0xE1D1 }, // glyphnumber: 1564, Double whole note (square) + { "noteEBlack", 0xE1A3 }, // glyphnumber: 1565, E (black note) + { "noteEFlatBlack", 0xE1A2 }, // glyphnumber: 1566, E flat (black note) + { "noteEFlatHalf", 0xE18B }, // glyphnumber: 1567, E flat (half note) + { "noteEFlatWhole", 0xE174 }, // glyphnumber: 1568, E flat (whole note) + { "noteEHalf", 0xE18C }, // glyphnumber: 1569, E (half note) + { "noteESharpBlack", 0xE1A4 }, // glyphnumber: 1570, E sharp (black note) + { "noteESharpHalf", 0xE18D }, // glyphnumber: 1571, E sharp (half note) + { "noteESharpWhole", 0xE176 }, // glyphnumber: 1572, E sharp (whole note) + { "noteEWhole", 0xE175 }, // glyphnumber: 1573, E (whole note) + { "noteEmptyBlack", 0xE1AF }, // glyphnumber: 1574, Empty black note + { "noteEmptyHalf", 0xE1AE }, // glyphnumber: 1575, Empty half note + { "noteEmptyWhole", 0xE1AD }, // glyphnumber: 1576, Empty whole note + { "noteFBlack", 0xE1A6 }, // glyphnumber: 1577, F (black note) + { "noteFFlatBlack", 0xE1A5 }, // glyphnumber: 1578, F flat (black note) + { "noteFFlatHalf", 0xE18E }, // glyphnumber: 1579, F flat (half note) + { "noteFFlatWhole", 0xE177 }, // glyphnumber: 1580, F flat (whole note) + { "noteFHalf", 0xE18F }, // glyphnumber: 1581, F (half note) + { "noteFSharpBlack", 0xE1A7 }, // glyphnumber: 1582, F sharp (black note) + { "noteFSharpHalf", 0xE190 }, // glyphnumber: 1583, F sharp (half note) + { "noteFSharpWhole", 0xE179 }, // glyphnumber: 1584, F sharp (whole note) + { "noteFWhole", 0xE178 }, // glyphnumber: 1585, F (whole note) + { "noteFaBlack", 0xE163 }, // glyphnumber: 1586, Fa (black note) + { "noteFaHalf", 0xE15B }, // glyphnumber: 1587, Fa (half note) + { "noteFaWhole", 0xE153 }, // glyphnumber: 1588, Fa (whole note) + { "noteGBlack", 0xE1A9 }, // glyphnumber: 1589, G (black note) + { "noteGFlatBlack", 0xE1A8 }, // glyphnumber: 1590, G flat (black note) + { "noteGFlatHalf", 0xE191 }, // glyphnumber: 1591, G flat (half note) + { "noteGFlatWhole", 0xE17A }, // glyphnumber: 1592, G flat (whole note) + { "noteGHalf", 0xE192 }, // glyphnumber: 1593, G (half note) + { "noteGSharpBlack", 0xE1AA }, // glyphnumber: 1594, G sharp (black note) + { "noteGSharpHalf", 0xE193 }, // glyphnumber: 1595, G sharp (half note) + { "noteGSharpWhole", 0xE17C }, // glyphnumber: 1596, G sharp (whole note) + { "noteGWhole", 0xE17B }, // glyphnumber: 1597, G (whole note) + { "noteHBlack", 0xE1AB }, // glyphnumber: 1598, H (black note) + { "noteHHalf", 0xE194 }, // glyphnumber: 1599, H (half note) + { "noteHSharpBlack", 0xE1AC }, // glyphnumber: 1600, H sharp (black note) + { "noteHSharpHalf", 0xE195 }, // glyphnumber: 1601, H sharp (half note) + { "noteHSharpWhole", 0xE17E }, // glyphnumber: 1602, H sharp (whole note) + { "noteHWhole", 0xE17D }, // glyphnumber: 1603, H (whole note) + { "noteHalfDown", 0xE1D4 }, // glyphnumber: 1604, Half note (minim) stem down + { "noteHalfUp", 0xE1D3 }, // glyphnumber: 1605, Half note (minim) stem up + { "noteLaBlack", 0xE165 }, // glyphnumber: 1606, La (black note) + { "noteLaHalf", 0xE15D }, // glyphnumber: 1607, La (half note) + { "noteLaWhole", 0xE155 }, // glyphnumber: 1608, La (whole note) + { "noteMiBlack", 0xE162 }, // glyphnumber: 1609, Mi (black note) + { "noteMiHalf", 0xE15A }, // glyphnumber: 1610, Mi (half note) + { "noteMiWhole", 0xE152 }, // glyphnumber: 1611, Mi (whole note) + { "noteQuarterDown", 0xE1D6 }, // glyphnumber: 1612, Quarter note (crotchet) stem down + { "noteQuarterUp", 0xE1D5 }, // glyphnumber: 1613, Quarter note (crotchet) stem up + { "noteReBlack", 0xE161 }, // glyphnumber: 1614, Re (black note) + { "noteReHalf", 0xE159 }, // glyphnumber: 1615, Re (half note) + { "noteReWhole", 0xE151 }, // glyphnumber: 1616, Re (whole note) + { "noteShapeArrowheadLeftBlack", 0xE1C9 }, // glyphnumber: 1617, Arrowhead left black (Funk 7-shape re) + { "noteShapeArrowheadLeftDoubleWhole", 0xECDC }, // glyphnumber: 1618, Arrowhead left double whole (Funk 7-shape re) + { "noteShapeArrowheadLeftWhite", 0xE1C8 }, // glyphnumber: 1619, Arrowhead left white (Funk 7-shape re) + { "noteShapeDiamondBlack", 0xE1B9 }, // glyphnumber: 1620, Diamond black (4-shape mi; 7-shape mi) + { "noteShapeDiamondDoubleWhole", 0xECD4 }, // glyphnumber: 1621, Diamond double whole (4-shape mi; 7-shape mi) + { "noteShapeDiamondWhite", 0xE1B8 }, // glyphnumber: 1622, Diamond white (4-shape mi; 7-shape mi) + { "noteShapeIsoscelesTriangleBlack", 0xE1C5 }, // glyphnumber: 1623, Isosceles triangle black (Walker 7-shape ti) + { "noteShapeIsoscelesTriangleDoubleWhole", 0xECDA }, // glyphnumber: 1624, Isosceles triangle double whole (Walker 7-shape ti) + { "noteShapeIsoscelesTriangleWhite", 0xE1C4 }, // glyphnumber: 1625, Isosceles triangle white (Walker 7-shape ti) + { "noteShapeKeystoneBlack", 0xE1C1 }, // glyphnumber: 1626, Inverted keystone black (Walker 7-shape do) + { "noteShapeKeystoneDoubleWhole", 0xECD8 }, // glyphnumber: 1627, Inverted keystone double whole (Walker 7-shape do) + { "noteShapeKeystoneWhite", 0xE1C0 }, // glyphnumber: 1628, Inverted keystone white (Walker 7-shape do) + { "noteShapeMoonBlack", 0xE1BD }, // glyphnumber: 1629, Moon black (Aikin 7-shape re) + { "noteShapeMoonDoubleWhole", 0xECD6 }, // glyphnumber: 1630, Moon double whole (Aikin 7-shape re) + { "noteShapeMoonLeftBlack", 0xE1C7 }, // glyphnumber: 1631, Moon left black (Funk 7-shape do) + { "noteShapeMoonLeftDoubleWhole", 0xECDB }, // glyphnumber: 1632, Moon left double whole (Funk 7-shape do) + { "noteShapeMoonLeftWhite", 0xE1C6 }, // glyphnumber: 1633, Moon left white (Funk 7-shape do) + { "noteShapeMoonWhite", 0xE1BC }, // glyphnumber: 1634, Moon white (Aikin 7-shape re) + { "noteShapeQuarterMoonBlack", 0xE1C3 }, // glyphnumber: 1635, Quarter moon black (Walker 7-shape re) + { "noteShapeQuarterMoonDoubleWhole", 0xECD9 }, // glyphnumber: 1636, Quarter moon double whole (Walker 7-shape re) + { "noteShapeQuarterMoonWhite", 0xE1C2 }, // glyphnumber: 1637, Quarter moon white (Walker 7-shape re) + { "noteShapeRoundBlack", 0xE1B1 }, // glyphnumber: 1638, Round black (4-shape sol; 7-shape so) + { "noteShapeRoundDoubleWhole", 0xECD0 }, // glyphnumber: 1639, Round double whole (4-shape sol; 7-shape so) + { "noteShapeRoundWhite", 0xE1B0 }, // glyphnumber: 1640, Round white (4-shape sol; 7-shape so) + { "noteShapeSquareBlack", 0xE1B3 }, // glyphnumber: 1641, Square black (4-shape la; Aikin 7-shape la) + { "noteShapeSquareDoubleWhole", 0xECD1 }, // glyphnumber: 1642, Square double whole (4-shape la; Aikin 7-shape la) + { "noteShapeSquareWhite", 0xE1B2 }, // glyphnumber: 1643, Square white (4-shape la; Aikin 7-shape la) + { "noteShapeTriangleLeftBlack", 0xE1B7 }, // glyphnumber: 1644, Triangle left black (stem up; 4-shape fa; 7-shape fa) + { "noteShapeTriangleLeftDoubleWhole", 0xECD3 }, // glyphnumber: 1645, Triangle left double whole (stem up; 4-shape fa; 7-shape fa) + { "noteShapeTriangleLeftWhite", 0xE1B6 }, // glyphnumber: 1646, Triangle left white (stem up; 4-shape fa; 7-shape fa) + { "noteShapeTriangleRightBlack", 0xE1B5 }, // glyphnumber: 1647, Triangle right black (stem down; 4-shape fa; 7-shape fa) + { "noteShapeTriangleRightDoubleWhole", 0xECD2 }, // glyphnumber: 1648, Triangle right double whole (stem down; 4-shape fa; 7-shape fa) + { "noteShapeTriangleRightWhite", 0xE1B4 }, // glyphnumber: 1649, Triangle right white (stem down; 4-shape fa; 7-shape fa) + { "noteShapeTriangleRoundBlack", 0xE1BF }, // glyphnumber: 1650, Triangle-round black (Aikin 7-shape ti) + { "noteShapeTriangleRoundDoubleWhole", 0xECD7 }, // glyphnumber: 1651, Triangle-round white (Aikin 7-shape ti) + { "noteShapeTriangleRoundLeftBlack", 0xE1CB }, // glyphnumber: 1652, Triangle-round left black (Funk 7-shape ti) + { "noteShapeTriangleRoundLeftDoubleWhole", 0xECDD }, // glyphnumber: 1653, Triangle-round left double whole (Funk 7-shape ti) + { "noteShapeTriangleRoundLeftWhite", 0xE1CA }, // glyphnumber: 1654, Triangle-round left white (Funk 7-shape ti) + { "noteShapeTriangleRoundWhite", 0xE1BE }, // glyphnumber: 1655, Triangle-round white (Aikin 7-shape ti) + { "noteShapeTriangleUpBlack", 0xE1BB }, // glyphnumber: 1656, Triangle up black (Aikin 7-shape do) + { "noteShapeTriangleUpDoubleWhole", 0xECD5 }, // glyphnumber: 1657, Triangle up double whole (Aikin 7-shape do) + { "noteShapeTriangleUpWhite", 0xE1BA }, // glyphnumber: 1658, Triangle up white (Aikin 7-shape do) + { "noteSiBlack", 0xE167 }, // glyphnumber: 1659, Si (black note) + { "noteSiHalf", 0xE15F }, // glyphnumber: 1660, Si (half note) + { "noteSiWhole", 0xE157 }, // glyphnumber: 1661, Si (whole note) + { "noteSoBlack", 0xE164 }, // glyphnumber: 1662, So (black note) + { "noteSoHalf", 0xE15C }, // glyphnumber: 1663, So (half note) - std::pair( "noteSoWhole", 0xE154 ), // glyphnumber: 1664, So (whole note) + { "noteSoWhole", 0xE154 }, // glyphnumber: 1664, So (whole note) - std::pair( "noteSoWhole", 0xE154 ), // glyphnumber: 1664, So (whole note) - std::pair( "noteTiBlack", 0xE166 ), // glyphnumber: 1665, Ti (black note) - std::pair( "noteTiHalf", 0xE15E ), // glyphnumber: 1666, Ti (half note) - std::pair( "noteTiWhole", 0xE156 ), // glyphnumber: 1667, Ti (whole note) - std::pair( "noteWhole", 0xE1D2 ), // glyphnumber: 1668, Whole note (semibreve) - std::pair( "noteheadBlack", 0xE0A4 ), // glyphnumber: 1669, Black notehead - std::pair( "noteheadCircleSlash", 0xE0F7 ), // glyphnumber: 1670, Circle slash notehead - std::pair( "noteheadCircleX", 0xE0B3 ), // glyphnumber: 1671, Circle X notehead - std::pair( "noteheadCircleXDoubleWhole", 0xE0B0 ), // glyphnumber: 1672, Circle X double whole - std::pair( "noteheadCircleXHalf", 0xE0B2 ), // glyphnumber: 1673, Circle X half - std::pair( "noteheadCircleXWhole", 0xE0B1 ), // glyphnumber: 1674, Circle X whole - std::pair( "noteheadCircledBlack", 0xE0E4 ), // glyphnumber: 1675, Circled black notehead - std::pair( "noteheadCircledBlackLarge", 0xE0E8 ), // glyphnumber: 1676, Black notehead in large circle - std::pair( "noteheadCircledDoubleWhole", 0xE0E7 ), // glyphnumber: 1677, Circled double whole notehead - std::pair( "noteheadCircledDoubleWholeLarge", 0xE0EB ), // glyphnumber: 1678, Double whole notehead in large circle - std::pair( "noteheadCircledHalf", 0xE0E5 ), // glyphnumber: 1679, Circled half notehead - std::pair( "noteheadCircledHalfLarge", 0xE0E9 ), // glyphnumber: 1680, Half notehead in large circle - std::pair( "noteheadCircledWhole", 0xE0E6 ), // glyphnumber: 1681, Circled whole notehead - std::pair( "noteheadCircledWholeLarge", 0xE0EA ), // glyphnumber: 1682, Whole notehead in large circle - std::pair( "noteheadCircledXLarge", 0xE0EC ), // glyphnumber: 1683, Cross notehead in large circle - std::pair( "noteheadClusterDoubleWhole2nd", 0xE124 ), // glyphnumber: 1684, Double whole note cluster, 2nd - std::pair( "noteheadClusterDoubleWhole3rd", 0xE128 ), // glyphnumber: 1685, Double whole note cluster, 3rd - std::pair( "noteheadClusterDoubleWholeBottom", 0xE12E ), // glyphnumber: 1686, Combining double whole note cluster, bottom - std::pair( "noteheadClusterDoubleWholeMiddle", 0xE12D ), // glyphnumber: 1687, Combining double whole note cluster, middle - std::pair( "noteheadClusterDoubleWholeTop", 0xE12C ), // glyphnumber: 1688, Combining double whole note cluster, top - std::pair( "noteheadClusterHalf2nd", 0xE126 ), // glyphnumber: 1689, Half note cluster, 2nd - std::pair( "noteheadClusterHalf3rd", 0xE12A ), // glyphnumber: 1690, Half note cluster, 3rd - std::pair( "noteheadClusterHalfBottom", 0xE134 ), // glyphnumber: 1691, Combining half note cluster, bottom - std::pair( "noteheadClusterHalfMiddle", 0xE133 ), // glyphnumber: 1692, Combining half note cluster, middle - std::pair( "noteheadClusterHalfTop", 0xE132 ), // glyphnumber: 1693, Combining half note cluster, top - std::pair( "noteheadClusterQuarter2nd", 0xE127 ), // glyphnumber: 1694, Quarter note cluster, 2nd - std::pair( "noteheadClusterQuarter3rd", 0xE12B ), // glyphnumber: 1695, Quarter note cluster, 3rd - std::pair( "noteheadClusterQuarterBottom", 0xE137 ), // glyphnumber: 1696, Combining quarter note cluster, bottom - std::pair( "noteheadClusterQuarterMiddle", 0xE136 ), // glyphnumber: 1697, Combining quarter note cluster, middle - std::pair( "noteheadClusterQuarterTop", 0xE135 ), // glyphnumber: 1698, Combining quarter note cluster, top - std::pair( "noteheadClusterRoundBlack", 0xE123 ), // glyphnumber: 1699, Cluster notehead black (round) - std::pair( "noteheadClusterRoundWhite", 0xE122 ), // glyphnumber: 1700, Cluster notehead white (round) - std::pair( "noteheadClusterSquareBlack", 0xE121 ), // glyphnumber: 1701, Cluster notehead black (square) - std::pair( "noteheadClusterSquareWhite", 0xE120 ), // glyphnumber: 1702, Cluster notehead white (square) - std::pair( "noteheadClusterWhole2nd", 0xE125 ), // glyphnumber: 1703, Whole note cluster, 2nd - std::pair( "noteheadClusterWhole3rd", 0xE129 ), // glyphnumber: 1704, Whole note cluster, 3rd - std::pair( "noteheadClusterWholeBottom", 0xE131 ), // glyphnumber: 1705, Combining whole note cluster, bottom - std::pair( "noteheadClusterWholeMiddle", 0xE130 ), // glyphnumber: 1706, Combining whole note cluster, middle - std::pair( "noteheadClusterWholeTop", 0xE12F ), // glyphnumber: 1707, Combining whole note cluster, top - std::pair( "noteheadDiamondBlack", 0xE0DB ), // glyphnumber: 1708, Diamond black notehead - std::pair( "noteheadDiamondBlackOld", 0xE0E2 ), // glyphnumber: 1709, Diamond black notehead (old) - std::pair( "noteheadDiamondBlackWide", 0xE0DC ), // glyphnumber: 1710, Diamond black notehead (wide) - std::pair( "noteheadDiamondClusterBlack2nd", 0xE139 ), // glyphnumber: 1711, Black diamond cluster, 2nd - std::pair( "noteheadDiamondClusterBlack3rd", 0xE13B ), // glyphnumber: 1712, Black diamond cluster, 3rd - std::pair( "noteheadDiamondClusterBlackBottom", 0xE141 ), // glyphnumber: 1713, Combining black diamond cluster, bottom - std::pair( "noteheadDiamondClusterBlackMiddle", 0xE140 ), // glyphnumber: 1714, Combining black diamond cluster, middle - std::pair( "noteheadDiamondClusterBlackTop", 0xE13F ), // glyphnumber: 1715, Combining black diamond cluster, top - std::pair( "noteheadDiamondClusterWhite2nd", 0xE138 ), // glyphnumber: 1716, White diamond cluster, 2nd - std::pair( "noteheadDiamondClusterWhite3rd", 0xE13A ), // glyphnumber: 1717, White diamond cluster, 3rd - std::pair( "noteheadDiamondClusterWhiteBottom", 0xE13E ), // glyphnumber: 1718, Combining white diamond cluster, bottom - std::pair( "noteheadDiamondClusterWhiteMiddle", 0xE13D ), // glyphnumber: 1719, Combining white diamond cluster, middle - std::pair( "noteheadDiamondClusterWhiteTop", 0xE13C ), // glyphnumber: 1720, Combining white diamond cluster, top - std::pair( "noteheadDiamondDoubleWhole", 0xE0D7 ), // glyphnumber: 1721, Diamond double whole notehead - std::pair( "noteheadDiamondDoubleWholeOld", 0xE0DF ), // glyphnumber: 1722, Diamond double whole notehead (old) - std::pair( "noteheadDiamondHalf", 0xE0D9 ), // glyphnumber: 1723, Diamond half notehead - std::pair( "noteheadDiamondHalfFilled", 0xE0E3 ), // glyphnumber: 1724, Half-filled diamond notehead - std::pair( "noteheadDiamondHalfOld", 0xE0E1 ), // glyphnumber: 1725, Diamond half notehead (old) - std::pair( "noteheadDiamondHalfWide", 0xE0DA ), // glyphnumber: 1726, Diamond half notehead (wide) - std::pair( "noteheadDiamondOpen", 0xE0FC ), // glyphnumber: 1727, Open diamond notehead - std::pair( "noteheadDiamondWhite", 0xE0DD ), // glyphnumber: 1728, Diamond white notehead - std::pair( "noteheadDiamondWhiteWide", 0xE0DE ), // glyphnumber: 1729, Diamond white notehead (wide) - std::pair( "noteheadDiamondWhole", 0xE0D8 ), // glyphnumber: 1730, Diamond whole notehead - std::pair( "noteheadDiamondWholeOld", 0xE0E0 ), // glyphnumber: 1731, Diamond whole notehead (old) - std::pair( "noteheadDoubleWhole", 0xE0A0 ), // glyphnumber: 1732, Double whole (breve) notehead - std::pair( "noteheadDoubleWholeSquare", 0xE0A1 ), // glyphnumber: 1733, Double whole (breve) notehead (square) - std::pair( "noteheadDoubleWholeWithX", 0xE0B4 ), // glyphnumber: 1734, Double whole notehead with X - std::pair( "noteheadHalf", 0xE0A3 ), // glyphnumber: 1735, Half (minim) notehead - std::pair( "noteheadHalfFilled", 0xE0FB ), // glyphnumber: 1736, Filled half (minim) notehead - std::pair( "noteheadHalfWithX", 0xE0B6 ), // glyphnumber: 1737, Half notehead with X - std::pair( "noteheadHeavyX", 0xE0F8 ), // glyphnumber: 1738, Heavy X notehead - std::pair( "noteheadHeavyXHat", 0xE0F9 ), // glyphnumber: 1739, Heavy X with hat notehead - std::pair( "noteheadLargeArrowDownBlack", 0xE0F4 ), // glyphnumber: 1740, Large arrow down (lowest pitch) black notehead - std::pair( "noteheadLargeArrowDownDoubleWhole", 0xE0F1 ), // glyphnumber: 1741, Large arrow down (lowest pitch) double whole notehead + { "noteSoWhole", 0xE154 }, // glyphnumber: 1664, So (whole note) + { "noteTiBlack", 0xE166 }, // glyphnumber: 1665, Ti (black note) + { "noteTiHalf", 0xE15E }, // glyphnumber: 1666, Ti (half note) + { "noteTiWhole", 0xE156 }, // glyphnumber: 1667, Ti (whole note) + { "noteWhole", 0xE1D2 }, // glyphnumber: 1668, Whole note (semibreve) + { "noteheadBlack", 0xE0A4 }, // glyphnumber: 1669, Black notehead + { "noteheadCircleSlash", 0xE0F7 }, // glyphnumber: 1670, Circle slash notehead + { "noteheadCircleX", 0xE0B3 }, // glyphnumber: 1671, Circle X notehead + { "noteheadCircleXDoubleWhole", 0xE0B0 }, // glyphnumber: 1672, Circle X double whole + { "noteheadCircleXHalf", 0xE0B2 }, // glyphnumber: 1673, Circle X half + { "noteheadCircleXWhole", 0xE0B1 }, // glyphnumber: 1674, Circle X whole + { "noteheadCircledBlack", 0xE0E4 }, // glyphnumber: 1675, Circled black notehead + { "noteheadCircledBlackLarge", 0xE0E8 }, // glyphnumber: 1676, Black notehead in large circle + { "noteheadCircledDoubleWhole", 0xE0E7 }, // glyphnumber: 1677, Circled double whole notehead + { "noteheadCircledDoubleWholeLarge", 0xE0EB }, // glyphnumber: 1678, Double whole notehead in large circle + { "noteheadCircledHalf", 0xE0E5 }, // glyphnumber: 1679, Circled half notehead + { "noteheadCircledHalfLarge", 0xE0E9 }, // glyphnumber: 1680, Half notehead in large circle + { "noteheadCircledWhole", 0xE0E6 }, // glyphnumber: 1681, Circled whole notehead + { "noteheadCircledWholeLarge", 0xE0EA }, // glyphnumber: 1682, Whole notehead in large circle + { "noteheadCircledXLarge", 0xE0EC }, // glyphnumber: 1683, Cross notehead in large circle + { "noteheadClusterDoubleWhole2nd", 0xE124 }, // glyphnumber: 1684, Double whole note cluster, 2nd + { "noteheadClusterDoubleWhole3rd", 0xE128 }, // glyphnumber: 1685, Double whole note cluster, 3rd + { "noteheadClusterDoubleWholeBottom", 0xE12E }, // glyphnumber: 1686, Combining double whole note cluster, bottom + { "noteheadClusterDoubleWholeMiddle", 0xE12D }, // glyphnumber: 1687, Combining double whole note cluster, middle + { "noteheadClusterDoubleWholeTop", 0xE12C }, // glyphnumber: 1688, Combining double whole note cluster, top + { "noteheadClusterHalf2nd", 0xE126 }, // glyphnumber: 1689, Half note cluster, 2nd + { "noteheadClusterHalf3rd", 0xE12A }, // glyphnumber: 1690, Half note cluster, 3rd + { "noteheadClusterHalfBottom", 0xE134 }, // glyphnumber: 1691, Combining half note cluster, bottom + { "noteheadClusterHalfMiddle", 0xE133 }, // glyphnumber: 1692, Combining half note cluster, middle + { "noteheadClusterHalfTop", 0xE132 }, // glyphnumber: 1693, Combining half note cluster, top + { "noteheadClusterQuarter2nd", 0xE127 }, // glyphnumber: 1694, Quarter note cluster, 2nd + { "noteheadClusterQuarter3rd", 0xE12B }, // glyphnumber: 1695, Quarter note cluster, 3rd + { "noteheadClusterQuarterBottom", 0xE137 }, // glyphnumber: 1696, Combining quarter note cluster, bottom + { "noteheadClusterQuarterMiddle", 0xE136 }, // glyphnumber: 1697, Combining quarter note cluster, middle + { "noteheadClusterQuarterTop", 0xE135 }, // glyphnumber: 1698, Combining quarter note cluster, top + { "noteheadClusterRoundBlack", 0xE123 }, // glyphnumber: 1699, Cluster notehead black (round) + { "noteheadClusterRoundWhite", 0xE122 }, // glyphnumber: 1700, Cluster notehead white (round) + { "noteheadClusterSquareBlack", 0xE121 }, // glyphnumber: 1701, Cluster notehead black (square) + { "noteheadClusterSquareWhite", 0xE120 }, // glyphnumber: 1702, Cluster notehead white (square) + { "noteheadClusterWhole2nd", 0xE125 }, // glyphnumber: 1703, Whole note cluster, 2nd + { "noteheadClusterWhole3rd", 0xE129 }, // glyphnumber: 1704, Whole note cluster, 3rd + { "noteheadClusterWholeBottom", 0xE131 }, // glyphnumber: 1705, Combining whole note cluster, bottom + { "noteheadClusterWholeMiddle", 0xE130 }, // glyphnumber: 1706, Combining whole note cluster, middle + { "noteheadClusterWholeTop", 0xE12F }, // glyphnumber: 1707, Combining whole note cluster, top + { "noteheadDiamondBlack", 0xE0DB }, // glyphnumber: 1708, Diamond black notehead + { "noteheadDiamondBlackOld", 0xE0E2 }, // glyphnumber: 1709, Diamond black notehead (old) + { "noteheadDiamondBlackWide", 0xE0DC }, // glyphnumber: 1710, Diamond black notehead (wide) + { "noteheadDiamondClusterBlack2nd", 0xE139 }, // glyphnumber: 1711, Black diamond cluster, 2nd + { "noteheadDiamondClusterBlack3rd", 0xE13B }, // glyphnumber: 1712, Black diamond cluster, 3rd + { "noteheadDiamondClusterBlackBottom", 0xE141 }, // glyphnumber: 1713, Combining black diamond cluster, bottom + { "noteheadDiamondClusterBlackMiddle", 0xE140 }, // glyphnumber: 1714, Combining black diamond cluster, middle + { "noteheadDiamondClusterBlackTop", 0xE13F }, // glyphnumber: 1715, Combining black diamond cluster, top + { "noteheadDiamondClusterWhite2nd", 0xE138 }, // glyphnumber: 1716, White diamond cluster, 2nd + { "noteheadDiamondClusterWhite3rd", 0xE13A }, // glyphnumber: 1717, White diamond cluster, 3rd + { "noteheadDiamondClusterWhiteBottom", 0xE13E }, // glyphnumber: 1718, Combining white diamond cluster, bottom + { "noteheadDiamondClusterWhiteMiddle", 0xE13D }, // glyphnumber: 1719, Combining white diamond cluster, middle + { "noteheadDiamondClusterWhiteTop", 0xE13C }, // glyphnumber: 1720, Combining white diamond cluster, top + { "noteheadDiamondDoubleWhole", 0xE0D7 }, // glyphnumber: 1721, Diamond double whole notehead + { "noteheadDiamondDoubleWholeOld", 0xE0DF }, // glyphnumber: 1722, Diamond double whole notehead (old) + { "noteheadDiamondHalf", 0xE0D9 }, // glyphnumber: 1723, Diamond half notehead + { "noteheadDiamondHalfFilled", 0xE0E3 }, // glyphnumber: 1724, Half-filled diamond notehead + { "noteheadDiamondHalfOld", 0xE0E1 }, // glyphnumber: 1725, Diamond half notehead (old) + { "noteheadDiamondHalfWide", 0xE0DA }, // glyphnumber: 1726, Diamond half notehead (wide) + { "noteheadDiamondOpen", 0xE0FC }, // glyphnumber: 1727, Open diamond notehead + { "noteheadDiamondWhite", 0xE0DD }, // glyphnumber: 1728, Diamond white notehead + { "noteheadDiamondWhiteWide", 0xE0DE }, // glyphnumber: 1729, Diamond white notehead (wide) + { "noteheadDiamondWhole", 0xE0D8 }, // glyphnumber: 1730, Diamond whole notehead + { "noteheadDiamondWholeOld", 0xE0E0 }, // glyphnumber: 1731, Diamond whole notehead (old) + { "noteheadDoubleWhole", 0xE0A0 }, // glyphnumber: 1732, Double whole (breve) notehead + { "noteheadDoubleWholeSquare", 0xE0A1 }, // glyphnumber: 1733, Double whole (breve) notehead (square) + { "noteheadDoubleWholeWithX", 0xE0B4 }, // glyphnumber: 1734, Double whole notehead with X + { "noteheadHalf", 0xE0A3 }, // glyphnumber: 1735, Half (minim) notehead + { "noteheadHalfFilled", 0xE0FB }, // glyphnumber: 1736, Filled half (minim) notehead + { "noteheadHalfWithX", 0xE0B6 }, // glyphnumber: 1737, Half notehead with X + { "noteheadHeavyX", 0xE0F8 }, // glyphnumber: 1738, Heavy X notehead + { "noteheadHeavyXHat", 0xE0F9 }, // glyphnumber: 1739, Heavy X with hat notehead + { "noteheadLargeArrowDownBlack", 0xE0F4 }, // glyphnumber: 1740, Large arrow down (lowest pitch) black notehead + { "noteheadLargeArrowDownDoubleWhole", 0xE0F1 }, // glyphnumber: 1741, Large arrow down (lowest pitch) double whole notehead - std::pair( "noteheadLargeArrowDownHalf", 0xE0F3 ), // glyphnumber: 1742, Large arrow down (lowest pitch) half notehead - std::pair( "noteheadLargeArrowDownWhole", 0xE0F2 ), // glyphnumber: 1743, Large arrow down (lowest pitch) whole notehead - std::pair( "noteheadLargeArrowUpBlack", 0xE0F0 ), // glyphnumber: 1744, Large arrow up (highest pitch) black notehead - std::pair( "noteheadLargeArrowUpDoubleWhole", 0xE0ED ), // glyphnumber: 1745, Large arrow up (highest pitch) double whole notehead - std::pair( "noteheadLargeArrowUpHalf", 0xE0EF ), // glyphnumber: 1746, Large arrow up (highest pitch) half notehead - std::pair( "noteheadLargeArrowUpWhole", 0xE0EE ), // glyphnumber: 1747, Large arrow up (highest pitch) whole notehead - std::pair( "noteheadMoonBlack", 0xE0CB ), // glyphnumber: 1748, Moon notehead black - std::pair( "noteheadMoonWhite", 0xE0CA ), // glyphnumber: 1749, Moon notehead white - std::pair( "noteheadNull", 0xE0A5 ), // glyphnumber: 1750, Null notehead - std::pair( "noteheadParenthesis", 0xE0CE ), // glyphnumber: 1751, Parenthesis notehead - std::pair( "noteheadParenthesisLeft", 0xE0F5 ), // glyphnumber: 1752, Opening parenthesis - std::pair( "noteheadParenthesisRight", 0xE0F6 ), // glyphnumber: 1753, Closing parenthesis - std::pair( "noteheadPlusBlack", 0xE0AF ), // glyphnumber: 1754, Plus notehead black - std::pair( "noteheadPlusDoubleWhole", 0xE0AC ), // glyphnumber: 1755, Plus notehead double whole - std::pair( "noteheadPlusHalf", 0xE0AE ), // glyphnumber: 1756, Plus notehead half - std::pair( "noteheadPlusWhole", 0xE0AD ), // glyphnumber: 1757, Plus notehead whole - std::pair( "noteheadRectangularClusterBlackBottom", 0xE144 ), // glyphnumber: 1758, Combining black rectangular cluster, bottom - std::pair( "noteheadRectangularClusterBlackMiddle", 0xE143 ), // glyphnumber: 1759, Combining black rectangular cluster, middle - std::pair( "noteheadRectangularClusterBlackTop", 0xE142 ), // glyphnumber: 1760, Combining black rectangular cluster, top - std::pair( "noteheadRectangularClusterWhiteBottom", 0xE147 ), // glyphnumber: 1761, Combining white rectangular cluster, bottom - std::pair( "noteheadRectangularClusterWhiteMiddle", 0xE146 ), // glyphnumber: 1762, Combining white rectangular cluster, middle - std::pair( "noteheadRectangularClusterWhiteTop", 0xE145 ), // glyphnumber: 1763, Combining white rectangular cluster, top - std::pair( "noteheadRoundBlack", 0xE113 ), // glyphnumber: 1764, Round black notehead - std::pair( "noteheadRoundBlackDoubleSlashed", 0xE11C ), // glyphnumber: 1765, Round black notehead, double slashed - std::pair( "noteheadRoundBlackLarge", 0xE110 ), // glyphnumber: 1766, Large round black notehead - std::pair( "noteheadRoundBlackSlashed", 0xE118 ), // glyphnumber: 1767, Round black notehead, slashed - std::pair( "noteheadRoundBlackSlashedLarge", 0xE116 ), // glyphnumber: 1768, Large round black notehead, slashed - std::pair( "noteheadRoundWhite", 0xE114 ), // glyphnumber: 1769, Round white notehead - std::pair( "noteheadRoundWhiteDoubleSlashed", 0xE11D ), // glyphnumber: 1770, Round white notehead, double slashed - std::pair( "noteheadRoundWhiteLarge", 0xE111 ), // glyphnumber: 1771, Large round white notehead - std::pair( "noteheadRoundWhiteSlashed", 0xE119 ), // glyphnumber: 1772, Round white notehead, slashed - std::pair( "noteheadRoundWhiteSlashedLarge", 0xE117 ), // glyphnumber: 1773, Large round white notehead, slashed - std::pair( "noteheadRoundWhiteWithDot", 0xE115 ), // glyphnumber: 1774, Round white notehead with dot - std::pair( "noteheadRoundWhiteWithDotLarge", 0xE112 ), // glyphnumber: 1775, Large round white notehead with dot - std::pair( "noteheadSlashDiamondWhite", 0xE104 ), // glyphnumber: 1776, Large white diamond - std::pair( "noteheadSlashHorizontalEnds", 0xE101 ), // glyphnumber: 1777, Slash with horizontal ends - std::pair( "noteheadSlashHorizontalEndsMuted", 0xE108 ), // glyphnumber: 1778, Muted slash with horizontal ends - std::pair( "noteheadSlashVerticalEnds", 0xE100 ), // glyphnumber: 1779, Slash with vertical ends - std::pair( "noteheadSlashVerticalEndsMuted", 0xE107 ), // glyphnumber: 1780, Muted slash with vertical ends - std::pair( "noteheadSlashVerticalEndsSmall", 0xE105 ), // glyphnumber: 1781, Small slash with vertical ends - std::pair( "noteheadSlashWhiteDoubleWhole", 0xE10A ), // glyphnumber: 1782, White slash double whole - std::pair( "noteheadSlashWhiteHalf", 0xE103 ), // glyphnumber: 1783, White slash half - std::pair( "noteheadSlashWhiteMuted", 0xE109 ), // glyphnumber: 1784, Muted white slash - std::pair( "noteheadSlashWhiteWhole", 0xE102 ), // glyphnumber: 1785, White slash whole - std::pair( "noteheadSlashX", 0xE106 ), // glyphnumber: 1786, Large X notehead - std::pair( "noteheadSlashedBlack1", 0xE0CF ), // glyphnumber: 1787, Slashed black notehead (bottom left to top right) - std::pair( "noteheadSlashedBlack2", 0xE0D0 ), // glyphnumber: 1788, Slashed black notehead (top left to bottom right) - std::pair( "noteheadSlashedDoubleWhole1", 0xE0D5 ), // glyphnumber: 1789, Slashed double whole notehead (bottom left to top right) - std::pair( "noteheadSlashedDoubleWhole2", 0xE0D6 ), // glyphnumber: 1790, Slashed double whole notehead (top left to bottom right) - std::pair( "noteheadSlashedHalf1", 0xE0D1 ), // glyphnumber: 1791, Slashed half notehead (bottom left to top right) - std::pair( "noteheadSlashedHalf2", 0xE0D2 ), // glyphnumber: 1792, Slashed half notehead (top left to bottom right) - std::pair( "noteheadSlashedWhole1", 0xE0D3 ), // glyphnumber: 1793, Slashed whole notehead (bottom left to top right) - std::pair( "noteheadSlashedWhole2", 0xE0D4 ), // glyphnumber: 1794, Slashed whole notehead (top left to bottom right) - std::pair( "noteheadSquareBlack", 0xE0B9 ), // glyphnumber: 1795, Square notehead black - std::pair( "noteheadSquareBlackLarge", 0xE11A ), // glyphnumber: 1796, Large square black notehead - std::pair( "noteheadSquareBlackWhite", 0xE11B ), // glyphnumber: 1797, Large square white notehead - std::pair( "noteheadSquareWhite", 0xE0B8 ), // glyphnumber: 1798, Square notehead white - std::pair( "noteheadTriangleDownBlack", 0xE0C7 ), // glyphnumber: 1799, Triangle notehead down black - std::pair( "noteheadTriangleDownDoubleWhole", 0xE0C3 ), // glyphnumber: 1800, Triangle notehead down double whole - std::pair( "noteheadTriangleDownHalf", 0xE0C5 ), // glyphnumber: 1801, Triangle notehead down half - std::pair( "noteheadTriangleDownWhite", 0xE0C6 ), // glyphnumber: 1802, Triangle notehead down white - std::pair( "noteheadTriangleDownWhole", 0xE0C4 ), // glyphnumber: 1803, Triangle notehead down whole - std::pair( "noteheadTriangleLeftBlack", 0xE0C0 ), // glyphnumber: 1804, Triangle notehead left black - std::pair( "noteheadTriangleLeftWhite", 0xE0BF ), // glyphnumber: 1805, Triangle notehead left white - std::pair( "noteheadTriangleRightBlack", 0xE0C2 ), // glyphnumber: 1806, Triangle notehead right black - std::pair( "noteheadTriangleRightWhite", 0xE0C1 ), // glyphnumber: 1807, Triangle notehead right white - std::pair( "noteheadTriangleRoundDownBlack", 0xE0CD ), // glyphnumber: 1808, Triangle-round notehead down black - std::pair( "noteheadTriangleRoundDownWhite", 0xE0CC ), // glyphnumber: 1809, Triangle-round notehead down white - std::pair( "noteheadTriangleUpBlack", 0xE0BE ), // glyphnumber: 1810, Triangle notehead up black - std::pair( "noteheadTriangleUpDoubleWhole", 0xE0BA ), // glyphnumber: 1811, Triangle notehead up double whole - std::pair( "noteheadTriangleUpHalf", 0xE0BC ), // glyphnumber: 1812, Triangle notehead up half - std::pair( "noteheadTriangleUpRightBlack", 0xE0C9 ), // glyphnumber: 1813, Triangle notehead up right black - std::pair( "noteheadTriangleUpRightWhite", 0xE0C8 ), // glyphnumber: 1814, Triangle notehead up right white - std::pair( "noteheadTriangleUpWhite", 0xE0BD ), // glyphnumber: 1815, Triangle notehead up white - std::pair( "noteheadTriangleUpWhole", 0xE0BB ), // glyphnumber: 1816, Triangle notehead up whole - std::pair( "noteheadVoidWithX", 0xE0B7 ), // glyphnumber: 1817, Void notehead with X - std::pair( "noteheadWhole", 0xE0A2 ), // glyphnumber: 1818, Whole (semibreve) notehead - std::pair( "noteheadWholeFilled", 0xE0FA ), // glyphnumber: 1819, Filled whole (semibreve) notehead - std::pair( "noteheadWholeWithX", 0xE0B5 ), // glyphnumber: 1820, Whole notehead with X - std::pair( "noteheadXBlack", 0xE0A9 ), // glyphnumber: 1821, X notehead black - std::pair( "noteheadXDoubleWhole", 0xE0A6 ), // glyphnumber: 1822, X notehead double whole - std::pair( "noteheadXHalf", 0xE0A8 ), // glyphnumber: 1823, X notehead half - std::pair( "noteheadXOrnate", 0xE0AA ), // glyphnumber: 1824, Ornate X notehead - std::pair( "noteheadXOrnateEllipse", 0xE0AB ), // glyphnumber: 1825, Ornate X notehead in ellipse - std::pair( "noteheadXWhole", 0xE0A7 ), // glyphnumber: 1826, X notehead whole - std::pair( "octaveBaselineA", 0xEC91 ), // glyphnumber: 1827, a (baseline) - std::pair( "octaveBaselineB", 0xEC93 ), // glyphnumber: 1828, b (baseline) - std::pair( "octaveBaselineM", 0xEC95 ), // glyphnumber: 1829, m (baseline) - std::pair( "octaveBaselineV", 0xEC97 ), // glyphnumber: 1830, v (baseline) - std::pair( "octaveBassa", 0xE51F ), // glyphnumber: 1831, Bassa - std::pair( "octaveLoco", 0xEC90 ), // glyphnumber: 1832, Loco - std::pair( "octaveParensLeft", 0xE51A ), // glyphnumber: 1833, Left parenthesis for octave signs - std::pair( "octaveParensRight", 0xE51B ), // glyphnumber: 1834, Right parenthesis for octave signs - std::pair( "octaveSuperscriptA", 0xEC92 ), // glyphnumber: 1835, a (superscript) - std::pair( "octaveSuperscriptB", 0xEC94 ), // glyphnumber: 1836, b (superscript) - std::pair( "octaveSuperscriptM", 0xEC96 ), // glyphnumber: 1837, m (superscript) - std::pair( "octaveSuperscriptV", 0xEC98 ), // glyphnumber: 1838, v (superscript) - std::pair( "ornamentBottomLeftConcaveStroke", 0xE59A ), // glyphnumber: 1839, Ornament bottom left concave stroke - std::pair( "ornamentBottomLeftConcaveStrokeLarge", 0xE59B ), // glyphnumber: 1840, Ornament bottom left concave stroke, large - std::pair( "ornamentBottomLeftConvexStroke", 0xE59C ), // glyphnumber: 1841, Ornament bottom left convex stroke - std::pair( "ornamentBottomRightConcaveStroke", 0xE5A7 ), // glyphnumber: 1842, Ornament bottom right concave stroke - std::pair( "ornamentBottomRightConvexStroke", 0xE5A8 ), // glyphnumber: 1843, Ornament bottom right convex stroke - std::pair( "ornamentComma", 0xE581 ), // glyphnumber: 1844, Comma - std::pair( "ornamentDoubleObliqueLinesAfterNote", 0xE57E ), // glyphnumber: 1845, Double oblique straight lines NW-SE - std::pair( "ornamentDoubleObliqueLinesBeforeNote", 0xE57D ), // glyphnumber: 1846, Double oblique straight lines SW-NE - std::pair( "ornamentDownCurve", 0xE578 ), // glyphnumber: 1847, Curve below - std::pair( "ornamentHaydn", 0xE56F ), // glyphnumber: 1848, Haydn ornament - std::pair( "ornamentHighLeftConcaveStroke", 0xE592 ), // glyphnumber: 1849, Ornament high left concave stroke - std::pair( "ornamentHighLeftConvexStroke", 0xE593 ), // glyphnumber: 1850, Ornament high left convex stroke - std::pair( "ornamentHighRightConcaveStroke", 0xE5A2 ), // glyphnumber: 1851, Ornament high right concave stroke - std::pair( "ornamentHighRightConvexStroke", 0xE5A3 ), // glyphnumber: 1852, Ornament high right convex stroke - std::pair( "ornamentHookAfterNote", 0xE576 ), // glyphnumber: 1853, Hook after note - std::pair( "ornamentHookBeforeNote", 0xE575 ), // glyphnumber: 1854, Hook before note - std::pair( "ornamentLeftFacingHalfCircle", 0xE572 ), // glyphnumber: 1855, Left-facing half circle - std::pair( "ornamentLeftFacingHook", 0xE574 ), // glyphnumber: 1856, Left-facing hook - std::pair( "ornamentLeftPlus", 0xE597 ), // glyphnumber: 1857, Ornament left + - std::pair( "ornamentLeftShakeT", 0xE596 ), // glyphnumber: 1858, Ornament left shake t - std::pair( "ornamentLeftVerticalStroke", 0xE594 ), // glyphnumber: 1859, Ornament left vertical stroke - std::pair( "ornamentLeftVerticalStrokeWithCross", 0xE595 ), // glyphnumber: 1860, Ornament left vertical stroke with cross (+) - std::pair( "ornamentLowLeftConcaveStroke", 0xE598 ), // glyphnumber: 1861, Ornament low left concave stroke - std::pair( "ornamentLowLeftConvexStroke", 0xE599 ), // glyphnumber: 1862, Ornament low left convex stroke - std::pair( "ornamentLowRightConcaveStroke", 0xE5A5 ), // glyphnumber: 1863, Ornament low right concave stroke - std::pair( "ornamentLowRightConvexStroke", 0xE5A6 ), // glyphnumber: 1864, Ornament low right convex stroke - std::pair( "ornamentMiddleVerticalStroke", 0xE59F ), // glyphnumber: 1865, Ornament middle vertical stroke - std::pair( "ornamentMordent", 0xE56C ), // glyphnumber: 1866, Mordent - std::pair( "ornamentMordentInverted", 0xE56D ), // glyphnumber: 1867, Inverted mordent - std::pair( "ornamentObliqueLineAfterNote", 0xE57C ), // glyphnumber: 1868, Oblique straight line NW-SE - std::pair( "ornamentObliqueLineBeforeNote", 0xE57B ), // glyphnumber: 1869, Oblique straight line SW-NE - std::pair( "ornamentObliqueLineHorizAfterNote", 0xE580 ), // glyphnumber: 1870, Oblique straight line tilted NW-SE - std::pair( "ornamentObliqueLineHorizBeforeNote", 0xE57F ), // glyphnumber: 1871, Oblique straight line tilted SW-NE - std::pair( "ornamentOriscus", 0xEA21 ), // glyphnumber: 1872, Oriscus - std::pair( "ornamentPinceCouperin", 0xE588 ), // glyphnumber: 1873, Pincé (Couperin) - std::pair( "ornamentPortDeVoixV", 0xE570 ), // glyphnumber: 1874, Port de voix - std::pair( "ornamentPrecompAppoggTrill", 0xE5B2 ), // glyphnumber: 1875, Supported appoggiatura trill - std::pair( "ornamentPrecompAppoggTrillSuffix", 0xE5B3 ), // glyphnumber: 1876, Supported appoggiatura trill with two-note suffix - std::pair( "ornamentPrecompCadence", 0xE5BE ), // glyphnumber: 1877, Cadence - std::pair( "ornamentPrecompCadenceUpperPrefix", 0xE5C1 ), // glyphnumber: 1878, Cadence with upper prefix - std::pair( "ornamentPrecompCadenceUpperPrefixTurn", 0xE5C2 ), // glyphnumber: 1879, Cadence with upper prefix and turn - std::pair( "ornamentPrecompCadenceWithTurn", 0xE5BF ), // glyphnumber: 1880, Cadence with turn - std::pair( "ornamentPrecompDescendingSlide", 0xE5B1 ), // glyphnumber: 1881, Descending slide - std::pair( "ornamentPrecompDoubleCadenceLowerPrefix", 0xE5C0 ), // glyphnumber: 1882, Double cadence with lower prefix - std::pair( "ornamentPrecompDoubleCadenceUpperPrefix", 0xE5C3 ), // glyphnumber: 1883, Double cadence with upper prefix - std::pair( "ornamentPrecompDoubleCadenceUpperPrefixTurn", 0xE5C4 ), // glyphnumber: 1884, Double cadence with upper prefix and turn - std::pair( "ornamentPrecompInvertedMordentUpperPrefix", 0xE5C7 ), // glyphnumber: 1885, Inverted mordent with upper prefix - std::pair( "ornamentPrecompMordentRelease", 0xE5C5 ), // glyphnumber: 1886, Mordent with release - std::pair( "ornamentPrecompMordentUpperPrefix", 0xE5C6 ), // glyphnumber: 1887, Mordent with upper prefix - std::pair( "ornamentPrecompPortDeVoixMordent", 0xE5BC ), // glyphnumber: 1888, Pre-beat port de voix follwed by multiple mordent (Dandrieu) - std::pair( "ornamentPrecompSlide", 0xE5B0 ), // glyphnumber: 1889, Slide - std::pair( "ornamentPrecompSlideTrillBach", 0xE5B8 ), // glyphnumber: 1890, Slide-trill with two-note suffix (J.S. Bach) - std::pair( "ornamentPrecompSlideTrillDAnglebert", 0xE5B5 ), // glyphnumber: 1891, Slide-trill (D'Anglebert) - std::pair( "ornamentPrecompSlideTrillMarpurg", 0xE5B6 ), // glyphnumber: 1892, Slide-trill with one-note suffix (Marpurg) - std::pair( "ornamentPrecompSlideTrillMuffat", 0xE5B9 ), // glyphnumber: 1893, Slide-trill (Muffat) - std::pair( "ornamentPrecompSlideTrillSuffixMuffat", 0xE5BA ), // glyphnumber: 1894, Slide-trill with two-note suffix (Muffat) - std::pair( "ornamentPrecompTrillLowerSuffix", 0xE5C8 ), // glyphnumber: 1895, Trill with lower suffix - std::pair( "ornamentPrecompTrillSuffixDandrieu", 0xE5BB ), // glyphnumber: 1896, Trill with two-note suffix (Dandrieu) - std::pair( "ornamentPrecompTrillWithMordent", 0xE5BD ), // glyphnumber: 1897, Trill with mordent - std::pair( "ornamentPrecompTurnTrillBach", 0xE5B7 ), // glyphnumber: 1898, Turn-trill with two-note suffix (J.S. Bach) - std::pair( "ornamentPrecompTurnTrillDAnglebert", 0xE5B4 ), // glyphnumber: 1899, Turn-trill (D'Anglebert) - std::pair( "ornamentQuilisma", 0xEA20 ), // glyphnumber: 1900, Quilisma - std::pair( "ornamentRightFacingHalfCircle", 0xE571 ), // glyphnumber: 1901, Right-facing half circle - std::pair( "ornamentRightFacingHook", 0xE573 ), // glyphnumber: 1902, Right-facing hook - std::pair( "ornamentRightVerticalStroke", 0xE5A4 ), // glyphnumber: 1903, Ornament right vertical stroke - std::pair( "ornamentSchleifer", 0xE587 ), // glyphnumber: 1904, Schleifer (long mordent) - std::pair( "ornamentShake3", 0xE582 ), // glyphnumber: 1905, Shake - std::pair( "ornamentShakeMuffat1", 0xE584 ), // glyphnumber: 1906, Shake (Muffat) - std::pair( "ornamentShortObliqueLineAfterNote", 0xE57A ), // glyphnumber: 1907, Short oblique straight line NW-SE - std::pair( "ornamentShortObliqueLineBeforeNote", 0xE579 ), // glyphnumber: 1908, Short oblique straight line SW-NE - std::pair( "ornamentTopLeftConcaveStroke", 0xE590 ), // glyphnumber: 1909, Ornament top left concave stroke - std::pair( "ornamentTopLeftConvexStroke", 0xE591 ), // glyphnumber: 1910, Ornament top left convex stroke - std::pair( "ornamentTopRightConcaveStroke", 0xE5A0 ), // glyphnumber: 1911, Ornament top right concave stroke - std::pair( "ornamentTopRightConvexStroke", 0xE5A1 ), // glyphnumber: 1912, Ornament top right convex stroke - std::pair( "ornamentTremblement", 0xE56E ), // glyphnumber: 1913, Tremblement - std::pair( "ornamentTremblementCouperin", 0xE589 ), // glyphnumber: 1914, Tremblement appuyé (Couperin) - std::pair( "ornamentTrill", 0xE566 ), // glyphnumber: 1915, Trill - std::pair( "ornamentTurn", 0xE567 ), // glyphnumber: 1916, Turn - std::pair( "ornamentTurnInverted", 0xE568 ), // glyphnumber: 1917, Inverted turn - std::pair( "ornamentTurnSlash", 0xE569 ), // glyphnumber: 1918, Turn with slash - std::pair( "ornamentTurnUp", 0xE56A ), // glyphnumber: 1919, Turn up - std::pair( "ornamentTurnUpS", 0xE56B ), // glyphnumber: 1920, Inverted turn up - std::pair( "ornamentUpCurve", 0xE577 ), // glyphnumber: 1921, Curve above - std::pair( "ornamentVerticalLine", 0xE583 ), // glyphnumber: 1922, Vertical line - std::pair( "ornamentZigZagLineNoRightEnd", 0xE59D ), // glyphnumber: 1923, Ornament zig-zag line without right-hand end - std::pair( "ornamentZigZagLineWithRightEnd", 0xE59E ), // glyphnumber: 1924, Ornament zig-zag line with right-hand end - std::pair( "ottava", 0xE510 ), // glyphnumber: 1925, Ottava - std::pair( "ottavaAlta", 0xE511 ), // glyphnumber: 1926, Ottava alta - std::pair( "ottavaBassa", 0xE512 ), // glyphnumber: 1927, Ottava bassa - std::pair( "ottavaBassaBa", 0xE513 ), // glyphnumber: 1928, Ottava bassa (ba) - std::pair( "ottavaBassaVb", 0xE51C ), // glyphnumber: 1929, Ottava bassa (8vb) - std::pair( "pendereckiTremolo", 0xE22B ), // glyphnumber: 1930, Penderecki unmeasured tremolo - std::pair( "pictAgogo", 0xE717 ), // glyphnumber: 1931, Agogo - std::pair( "pictAlmglocken", 0xE712 ), // glyphnumber: 1932, Almglocken - std::pair( "pictAnvil", 0xE701 ), // glyphnumber: 1933, Anvil - std::pair( "pictBambooChimes", 0xE6C3 ), // glyphnumber: 1934, Bamboo tube chimes - std::pair( "pictBambooScraper", 0xE6FB ), // glyphnumber: 1935, Bamboo scraper - std::pair( "pictBassDrum", 0xE6D4 ), // glyphnumber: 1936, Bass drum - std::pair( "pictBassDrumOnSide", 0xE6D5 ), // glyphnumber: 1937, Bass drum on side - std::pair( "pictBeaterBow", 0xE7DE ), // glyphnumber: 1938, Bow - std::pair( "pictBeaterBox", 0xE7EB ), // glyphnumber: 1939, Box for percussion beater - std::pair( "pictBeaterBrassMalletsDown", 0xE7DA ), // glyphnumber: 1940, Brass mallets down - std::pair( "pictBeaterBrassMalletsUp", 0xE7D9 ), // glyphnumber: 1941, Brass mallets up - std::pair( "pictBeaterCombiningDashedCircle", 0xE7EA ), // glyphnumber: 1942, Combining dashed circle for round beaters (plated) - std::pair( "pictBeaterCombiningParentheses", 0xE7E9 ), // glyphnumber: 1943, Combining parentheses for round beaters (padded) - std::pair( "pictBeaterDoubleBassDrumDown", 0xE7A1 ), // glyphnumber: 1944, Double bass drum stick down - std::pair( "pictBeaterDoubleBassDrumUp", 0xE7A0 ), // glyphnumber: 1945, Double bass drum stick up - std::pair( "pictBeaterFinger", 0xE7E4 ), // glyphnumber: 1946, Finger - std::pair( "pictBeaterFingernails", 0xE7E6 ), // glyphnumber: 1947, Fingernails - std::pair( "pictBeaterFist", 0xE7E5 ), // glyphnumber: 1948, Fist - std::pair( "pictBeaterGuiroScraper", 0xE7DD ), // glyphnumber: 1949, Guiro scraper - std::pair( "pictBeaterHammer", 0xE7E1 ), // glyphnumber: 1950, Hammer - std::pair( "pictBeaterHammerMetalDown", 0xE7D0 ), // glyphnumber: 1951, Metal hammer, down - std::pair( "pictBeaterHammerMetalUp", 0xE7CF ), // glyphnumber: 1952, Metal hammer, up - std::pair( "pictBeaterHammerPlasticDown", 0xE7CE ), // glyphnumber: 1953, Plastic hammer, down - std::pair( "pictBeaterHammerPlasticUp", 0xE7CD ), // glyphnumber: 1954, Plastic hammer, up - std::pair( "pictBeaterHammerWoodDown", 0xE7CC ), // glyphnumber: 1955, Wooden hammer, down - std::pair( "pictBeaterHammerWoodUp", 0xE7CB ), // glyphnumber: 1956, Wooden hammer, up - std::pair( "pictBeaterHand", 0xE7E3 ), // glyphnumber: 1957, Hand - std::pair( "pictBeaterHardBassDrumDown", 0xE79D ), // glyphnumber: 1958, Hard bass drum stick down - std::pair( "pictBeaterHardBassDrumUp", 0xE79C ), // glyphnumber: 1959, Hard bass drum stick up - std::pair( "pictBeaterHardGlockenspielDown", 0xE785 ), // glyphnumber: 1960, Hard glockenspiel stick down - std::pair( "pictBeaterHardGlockenspielLeft", 0xE787 ), // glyphnumber: 1961, Hard glockenspiel stick left - std::pair( "pictBeaterHardGlockenspielRight", 0xE786 ), // glyphnumber: 1962, Hard glockenspiel stick right - std::pair( "pictBeaterHardGlockenspielUp", 0xE784 ), // glyphnumber: 1963, Hard glockenspiel stick up - std::pair( "pictBeaterHardTimpaniDown", 0xE791 ), // glyphnumber: 1964, Hard timpani stick down - std::pair( "pictBeaterHardTimpaniLeft", 0xE793 ), // glyphnumber: 1965, Hard timpani stick left - std::pair( "pictBeaterHardTimpaniRight", 0xE792 ), // glyphnumber: 1966, Hard timpani stick right - std::pair( "pictBeaterHardTimpaniUp", 0xE790 ), // glyphnumber: 1967, Hard timpani stick up - std::pair( "pictBeaterHardXylophoneDown", 0xE779 ), // glyphnumber: 1968, Hard xylophone stick down - std::pair( "pictBeaterHardXylophoneLeft", 0xE77B ), // glyphnumber: 1969, Hard xylophone stick left - std::pair( "pictBeaterHardXylophoneRight", 0xE77A ), // glyphnumber: 1970, Hard xylophone stick right - std::pair( "pictBeaterHardXylophoneUp", 0xE778 ), // glyphnumber: 1971, Hard xylophone stick up - std::pair( "pictBeaterHardYarnDown", 0xE7AB ), // glyphnumber: 1972, Hard yarn beater down - std::pair( "pictBeaterHardYarnLeft", 0xE7AD ), // glyphnumber: 1973, Hard yarn beater left - std::pair( "pictBeaterHardYarnRight", 0xE7AC ), // glyphnumber: 1974, Hard yarn beater right - std::pair( "pictBeaterHardYarnUp", 0xE7AA ), // glyphnumber: 1975, Hard yarn beater up - std::pair( "pictBeaterJazzSticksDown", 0xE7D4 ), // glyphnumber: 1976, Jazz sticks down - std::pair( "pictBeaterJazzSticksUp", 0xE7D3 ), // glyphnumber: 1977, Jazz sticks up - std::pair( "pictBeaterKnittingNeedle", 0xE7E2 ), // glyphnumber: 1978, Knitting needle - std::pair( "pictBeaterMallet", 0xE7DF ), // glyphnumber: 1979, Chime hammer - std::pair( "pictBeaterMediumBassDrumDown", 0xE79B ), // glyphnumber: 1980, Medium bass drum stick down - std::pair( "pictBeaterMediumBassDrumUp", 0xE79A ), // glyphnumber: 1981, Medium bass drum stick up - std::pair( "pictBeaterMediumTimpaniDown", 0xE78D ), // glyphnumber: 1982, Medium timpani stick down - std::pair( "pictBeaterMediumTimpaniLeft", 0xE78F ), // glyphnumber: 1983, Medium timpani stick left - std::pair( "pictBeaterMediumTimpaniRight", 0xE78E ), // glyphnumber: 1984, Medium timpani stick right - std::pair( "pictBeaterMediumTimpaniUp", 0xE78C ), // glyphnumber: 1985, Medium timpani stick up - std::pair( "pictBeaterMediumXylophoneDown", 0xE775 ), // glyphnumber: 1986, Medium xylophone stick down - std::pair( "pictBeaterMediumXylophoneLeft", 0xE777 ), // glyphnumber: 1987, Medium xylophone stick left - std::pair( "pictBeaterMediumXylophoneRight", 0xE776 ), // glyphnumber: 1988, Medium xylophone stick right - std::pair( "pictBeaterMediumXylophoneUp", 0xE774 ), // glyphnumber: 1989, Medium xylophone stick up - std::pair( "pictBeaterMediumYarnDown", 0xE7A7 ), // glyphnumber: 1990, Medium yarn beater down - std::pair( "pictBeaterMediumYarnLeft", 0xE7A9 ), // glyphnumber: 1991, Medium yarn beater left - std::pair( "pictBeaterMediumYarnRight", 0xE7A8 ), // glyphnumber: 1992, Medium yarn beater right - std::pair( "pictBeaterMediumYarnUp", 0xE7A6 ), // glyphnumber: 1993, Medium yarn beater up - std::pair( "pictBeaterMetalBassDrumDown", 0xE79F ), // glyphnumber: 1994, Metal bass drum stick down - std::pair( "pictBeaterMetalBassDrumUp", 0xE79E ), // glyphnumber: 1995, Metal bass drum stick up - std::pair( "pictBeaterMetalDown", 0xE7C8 ), // glyphnumber: 1996, Metal beater down - std::pair( "pictBeaterMetalHammer", 0xE7E0 ), // glyphnumber: 1997, Metal hammer - std::pair( "pictBeaterMetalLeft", 0xE7CA ), // glyphnumber: 1998, Metal beater, left - std::pair( "pictBeaterMetalRight", 0xE7C9 ), // glyphnumber: 1999, Metal beater, right - std::pair( "pictBeaterMetalUp", 0xE7C7 ), // glyphnumber: 2000, Metal beater, up - std::pair( "pictBeaterSnareSticksDown", 0xE7D2 ), // glyphnumber: 2001, Snare sticks down - std::pair( "pictBeaterSnareSticksUp", 0xE7D1 ), // glyphnumber: 2002, Snare sticks up - std::pair( "pictBeaterSoftBassDrumDown", 0xE799 ), // glyphnumber: 2003, Soft bass drum stick down - std::pair( "pictBeaterSoftBassDrumUp", 0xE798 ), // glyphnumber: 2004, Soft bass drum stick up - std::pair( "pictBeaterSoftGlockenspielDown", 0xE781 ), // glyphnumber: 2005, Soft glockenspiel stick down - std::pair( "pictBeaterSoftGlockenspielLeft", 0xE783 ), // glyphnumber: 2006, Soft glockenspiel stick left - std::pair( "pictBeaterSoftGlockenspielRight", 0xE782 ), // glyphnumber: 2007, Soft glockenspiel stick right - std::pair( "pictBeaterSoftGlockenspielUp", 0xE780 ), // glyphnumber: 2008, Soft glockenspiel stick up - std::pair( "pictBeaterSoftTimpaniDown", 0xE789 ), // glyphnumber: 2009, Soft timpani stick down - std::pair( "pictBeaterSoftTimpaniLeft", 0xE78B ), // glyphnumber: 2010, Soft timpani stick left - std::pair( "pictBeaterSoftTimpaniRight", 0xE78A ), // glyphnumber: 2011, Soft timpani stick right - std::pair( "pictBeaterSoftTimpaniUp", 0xE788 ), // glyphnumber: 2012, Soft timpani stick up - std::pair( "pictBeaterSoftXylophone", 0xE7DB ), // glyphnumber: 2013, Soft xylophone beaters - std::pair( "pictBeaterSoftXylophoneDown", 0xE771 ), // glyphnumber: 2014, Soft xylophone stick down - std::pair( "pictBeaterSoftXylophoneLeft", 0xE773 ), // glyphnumber: 2015, Soft xylophone stick left - std::pair( "pictBeaterSoftXylophoneRight", 0xE772 ), // glyphnumber: 2016, Soft xylophone stick right - std::pair( "pictBeaterSoftXylophoneUp", 0xE770 ), // glyphnumber: 2017, Soft xylophone stick up - std::pair( "pictBeaterSoftYarnDown", 0xE7A3 ), // glyphnumber: 2018, Soft yarn beater down - std::pair( "pictBeaterSoftYarnLeft", 0xE7A5 ), // glyphnumber: 2019, Soft yarn beater left - std::pair( "pictBeaterSoftYarnRight", 0xE7A4 ), // glyphnumber: 2020, Soft yarn beater right - std::pair( "pictBeaterSoftYarnUp", 0xE7A2 ), // glyphnumber: 2021, Soft yarn beater up - std::pair( "pictBeaterSpoonWoodenMallet", 0xE7DC ), // glyphnumber: 2022, Spoon-shaped wooden mallet - std::pair( "pictBeaterSuperballDown", 0xE7AF ), // glyphnumber: 2023, Superball beater down - std::pair( "pictBeaterSuperballLeft", 0xE7B1 ), // glyphnumber: 2024, Superball beater left - std::pair( "pictBeaterSuperballRight", 0xE7B0 ), // glyphnumber: 2025, Superball beater right - std::pair( "pictBeaterSuperballUp", 0xE7AE ), // glyphnumber: 2026, Superball beater up - std::pair( "pictBeaterTriangleDown", 0xE7D6 ), // glyphnumber: 2027, Triangle beater down - std::pair( "pictBeaterTriangleUp", 0xE7D5 ), // glyphnumber: 2028, Triangle beater up - std::pair( "pictBeaterWireBrushesDown", 0xE7D8 ), // glyphnumber: 2029, Wire brushes down - std::pair( "pictBeaterWireBrushesUp", 0xE7D7 ), // glyphnumber: 2030, Wire brushes up - std::pair( "pictBeaterWoodTimpaniDown", 0xE795 ), // glyphnumber: 2031, Wood timpani stick down - std::pair( "pictBeaterWoodTimpaniLeft", 0xE797 ), // glyphnumber: 2032, Wood timpani stick left - std::pair( "pictBeaterWoodTimpaniRight", 0xE796 ), // glyphnumber: 2033, Wood timpani stick right - std::pair( "pictBeaterWoodTimpaniUp", 0xE794 ), // glyphnumber: 2034, Wood timpani stick up - std::pair( "pictBeaterWoodXylophoneDown", 0xE77D ), // glyphnumber: 2035, Wood xylophone stick down - std::pair( "pictBeaterWoodXylophoneLeft", 0xE77F ), // glyphnumber: 2036, Wood xylophone stick left - std::pair( "pictBeaterWoodXylophoneRight", 0xE77E ), // glyphnumber: 2037, Wood xylophone stick right - std::pair( "pictBeaterWoodXylophoneUp", 0xE77C ), // glyphnumber: 2038, Wood xylophone stick up - std::pair( "pictBell", 0xE714 ), // glyphnumber: 2039, Bell - std::pair( "pictBellOfCymbal", 0xE72A ), // glyphnumber: 2040, Bell of cymbal - std::pair( "pictBellPlate", 0xE713 ), // glyphnumber: 2041, Bell plate - std::pair( "pictBellTree", 0xE71A ), // glyphnumber: 2042, Bell tree - std::pair( "pictBirdWhistle", 0xE751 ), // glyphnumber: 2043, Bird whistle - std::pair( "pictBoardClapper", 0xE6F7 ), // glyphnumber: 2044, Board clapper - std::pair( "pictBongos", 0xE6DD ), // glyphnumber: 2045, Bongos - std::pair( "pictBrakeDrum", 0xE6E1 ), // glyphnumber: 2046, Brake drum - std::pair( "pictCabasa", 0xE743 ), // glyphnumber: 2047, Cabasa - std::pair( "pictCannon", 0xE761 ), // glyphnumber: 2048, Cannon - std::pair( "pictCarHorn", 0xE755 ), // glyphnumber: 2049, Car horn - std::pair( "pictCastanets", 0xE6F8 ), // glyphnumber: 2050, Castanets - std::pair( "pictCastanetsWithHandle", 0xE6F9 ), // glyphnumber: 2051, Castanets with handle - std::pair( "pictCelesta", 0xE6B0 ), // glyphnumber: 2052, Celesta - std::pair( "pictCencerro", 0xE716 ), // glyphnumber: 2053, Cencerro - std::pair( "pictCenter1", 0xE7FE ), // glyphnumber: 2054, Center (Weinberg) - std::pair( "pictCenter2", 0xE7FF ), // glyphnumber: 2055, Center (Ghent) - std::pair( "pictCenter3", 0xE800 ), // glyphnumber: 2056, Center (Caltabiano) - std::pair( "pictChainRattle", 0xE748 ), // glyphnumber: 2057, Chain rattle - std::pair( "pictChimes", 0xE6C2 ), // glyphnumber: 2058, Chimes - std::pair( "pictChineseCymbal", 0xE726 ), // glyphnumber: 2059, Chinese cymbal - std::pair( "pictChokeCymbal", 0xE805 ), // glyphnumber: 2060, Choke (Weinberg) - std::pair( "pictClaves", 0xE6F2 ), // glyphnumber: 2061, Claves - std::pair( "pictCoins", 0xE7E7 ), // glyphnumber: 2062, Coins - std::pair( "pictConga", 0xE6DE ), // glyphnumber: 2063, Conga - std::pair( "pictCowBell", 0xE711 ), // glyphnumber: 2064, Cow bell - std::pair( "pictCrashCymbals", 0xE720 ), // glyphnumber: 2065, Crash cymbals - std::pair( "pictCrotales", 0xE6AE ), // glyphnumber: 2066, Crotales - std::pair( "pictCrushStem", 0xE80C ), // glyphnumber: 2067, Combining crush for stem - std::pair( "pictCuica", 0xE6E4 ), // glyphnumber: 2068, Cuica - std::pair( "pictCymbalTongs", 0xE728 ), // glyphnumber: 2069, Cymbal tongs - std::pair( "pictDamp1", 0xE7F9 ), // glyphnumber: 2070, Damp - std::pair( "pictDamp2", 0xE7FA ), // glyphnumber: 2071, Damp 2 - std::pair( "pictDamp3", 0xE7FB ), // glyphnumber: 2072, Damp 3 - std::pair( "pictDamp4", 0xE7FC ), // glyphnumber: 2073, Damp 4 - std::pair( "pictDeadNoteStem", 0xE80D ), // glyphnumber: 2074, Combining X for stem (dead note) - std::pair( "pictDrumStick", 0xE7E8 ), // glyphnumber: 2075, Drum stick - std::pair( "pictDuckCall", 0xE757 ), // glyphnumber: 2076, Duck call - std::pair( "pictEdgeOfCymbal", 0xE729 ), // glyphnumber: 2077, Edge of cymbal - std::pair( "pictEmptyTrap", 0xE6A9 ), // glyphnumber: 2078, Empty trapezoid - std::pair( "pictFingerCymbals", 0xE727 ), // glyphnumber: 2079, Finger cymbals - std::pair( "pictFlexatone", 0xE740 ), // glyphnumber: 2080, Flexatone - std::pair( "pictFootballRatchet", 0xE6F5 ), // glyphnumber: 2081, Football rattle - std::pair( "pictGlassHarmonica", 0xE765 ), // glyphnumber: 2082, Glass harmonica - std::pair( "pictGlassHarp", 0xE764 ), // glyphnumber: 2083, Glass harp - std::pair( "pictGlassPlateChimes", 0xE6C6 ), // glyphnumber: 2084, Glass plate chimes - std::pair( "pictGlassTubeChimes", 0xE6C5 ), // glyphnumber: 2085, Glass tube chimes - std::pair( "pictGlsp", 0xE6A0 ), // glyphnumber: 2086, Glockenspiel - std::pair( "pictGlspSmithBrindle", 0xE6AA ), // glyphnumber: 2087, Glockenspiel (Smith Brindle) - std::pair( "pictGobletDrum", 0xE6E2 ), // glyphnumber: 2088, Goblet drum (djembe, dumbek) - std::pair( "pictGong", 0xE732 ), // glyphnumber: 2089, Gong - std::pair( "pictGongWithButton", 0xE733 ), // glyphnumber: 2090, Gong with button (nipple) - std::pair( "pictGuiro", 0xE6F3 ), // glyphnumber: 2091, Guiro - std::pair( "pictGumHardDown", 0xE7C4 ), // glyphnumber: 2092, Hard gum beater, down - std::pair( "pictGumHardLeft", 0xE7C6 ), // glyphnumber: 2093, Hard gum beater, left - std::pair( "pictGumHardRight", 0xE7C5 ), // glyphnumber: 2094, Hard gum beater, right - std::pair( "pictGumHardUp", 0xE7C3 ), // glyphnumber: 2095, Hard gum beater, up - std::pair( "pictGumMediumDown", 0xE7C0 ), // glyphnumber: 2096, Medium gum beater, down - std::pair( "pictGumMediumLeft", 0xE7C2 ), // glyphnumber: 2097, Medium gum beater, left - std::pair( "pictGumMediumRight", 0xE7C1 ), // glyphnumber: 2098, Medium gum beater, right - std::pair( "pictGumMediumUp", 0xE7BF ), // glyphnumber: 2099, Medium gum beater, up - std::pair( "pictGumSoftDown", 0xE7BC ), // glyphnumber: 2100, Soft gum beater, down - std::pair( "pictGumSoftLeft", 0xE7BE ), // glyphnumber: 2101, Soft gum beater, left - std::pair( "pictGumSoftRight", 0xE7BD ), // glyphnumber: 2102, Soft gum beater, right - std::pair( "pictGumSoftUp", 0xE7BB ), // glyphnumber: 2103, Soft gum beater, up - std::pair( "pictHalfOpen1", 0xE7F6 ), // glyphnumber: 2104, Half-open - std::pair( "pictHalfOpen2", 0xE7F7 ), // glyphnumber: 2105, Half-open 2 (Weinberg) - std::pair( "pictHandbell", 0xE715 ), // glyphnumber: 2106, Handbell - std::pair( "pictHiHat", 0xE722 ), // glyphnumber: 2107, Hi-hat - std::pair( "pictHiHatOnStand", 0xE723 ), // glyphnumber: 2108, Hi-hat cymbals on stand - std::pair( "pictJawHarp", 0xE767 ), // glyphnumber: 2109, Jaw harp - std::pair( "pictJingleBells", 0xE719 ), // glyphnumber: 2110, Jingle bells - std::pair( "pictKlaxonHorn", 0xE756 ), // glyphnumber: 2111, Klaxon horn - std::pair( "pictLeftHandCircle", 0xE807 ), // glyphnumber: 2112, Right hand (Agostini) - std::pair( "pictLionsRoar", 0xE763 ), // glyphnumber: 2113, Lion's roar - std::pair( "pictLithophone", 0xE6B1 ), // glyphnumber: 2114, Lithophone - std::pair( "pictLogDrum", 0xE6DF ), // glyphnumber: 2115, Log drum - std::pair( "pictLotusFlute", 0xE75A ), // glyphnumber: 2116, Lotus flute - std::pair( "pictMar", 0xE6A6 ), // glyphnumber: 2117, Marimba - std::pair( "pictMarSmithBrindle", 0xE6AC ), // glyphnumber: 2118, Marimba (Smith Brindle) - std::pair( "pictMaraca", 0xE741 ), // glyphnumber: 2119, Maraca - std::pair( "pictMaracas", 0xE742 ), // glyphnumber: 2120, Maracas - std::pair( "pictMegaphone", 0xE759 ), // glyphnumber: 2121, Megaphone - std::pair( "pictMetalPlateChimes", 0xE6C8 ), // glyphnumber: 2122, Metal plate chimes - std::pair( "pictMetalTubeChimes", 0xE6C7 ), // glyphnumber: 2123, Metal tube chimes - std::pair( "pictMusicalSaw", 0xE766 ), // glyphnumber: 2124, Musical saw - std::pair( "pictNormalPosition", 0xE804 ), // glyphnumber: 2125, Normal position (Caltabiano) - std::pair( "pictOnRim", 0xE7F4 ), // glyphnumber: 2126, On rim - std::pair( "pictOpen", 0xE7F8 ), // glyphnumber: 2127, Open - std::pair( "pictOpenRimShot", 0xE7F5 ), // glyphnumber: 2128, Closed / rim shot - std::pair( "pictPistolShot", 0xE760 ), // glyphnumber: 2129, Pistol shot - std::pair( "pictPoliceWhistle", 0xE752 ), // glyphnumber: 2130, Police whistle - std::pair( "pictQuijada", 0xE6FA ), // glyphnumber: 2131, Quijada (jawbone) - std::pair( "pictRainstick", 0xE747 ), // glyphnumber: 2132, Rainstick - std::pair( "pictRatchet", 0xE6F4 ), // glyphnumber: 2133, Ratchet - std::pair( "pictRecoReco", 0xE6FC ), // glyphnumber: 2134, Reco-reco - std::pair( "pictRightHandSquare", 0xE806 ), // glyphnumber: 2135, Left hand (Agostini) - std::pair( "pictRim1", 0xE801 ), // glyphnumber: 2136, Rim or edge (Weinberg) - std::pair( "pictRim2", 0xE802 ), // glyphnumber: 2137, Rim (Ghent) - std::pair( "pictRim3", 0xE803 ), // glyphnumber: 2138, Rim (Caltabiano) - std::pair( "pictRimShotOnStem", 0xE7FD ), // glyphnumber: 2139, Rim shot for stem - std::pair( "pictSandpaperBlocks", 0xE762 ), // glyphnumber: 2140, Sandpaper blocks - std::pair( "pictScrapeAroundRim", 0xE7F3 ), // glyphnumber: 2141, Scrape around rim (counter-clockwise) - std::pair( "pictScrapeAroundRimClockwise", 0xE80E ), // glyphnumber: 2142, Scrape around rim (clockwise) - std::pair( "pictScrapeCenterToEdge", 0xE7F1 ), // glyphnumber: 2143, Scrape from center to edge - std::pair( "pictScrapeEdgeToCenter", 0xE7F2 ), // glyphnumber: 2144, Scrape from edge to center - std::pair( "pictShellBells", 0xE718 ), // glyphnumber: 2145, Shell bells - std::pair( "pictShellChimes", 0xE6C4 ), // glyphnumber: 2146, Shell chimes - std::pair( "pictSiren", 0xE753 ), // glyphnumber: 2147, Siren - std::pair( "pictSistrum", 0xE746 ), // glyphnumber: 2148, Sistrum - std::pair( "pictSizzleCymbal", 0xE724 ), // glyphnumber: 2149, Sizzle cymbal - std::pair( "pictSleighBell", 0xE710 ), // glyphnumber: 2150, Sleigh bell - std::pair( "pictSlideBrushOnGong", 0xE734 ), // glyphnumber: 2151, Slide brush on gong - std::pair( "pictSlideWhistle", 0xE750 ), // glyphnumber: 2152, Slide whistle - std::pair( "pictSlitDrum", 0xE6E0 ), // glyphnumber: 2153, Slit drum - std::pair( "pictSnareDrum", 0xE6D1 ), // glyphnumber: 2154, Snare drum - std::pair( "pictSnareDrumMilitary", 0xE6D3 ), // glyphnumber: 2155, Military snare drum - std::pair( "pictSnareDrumSnaresOff", 0xE6D2 ), // glyphnumber: 2156, Snare drum, snares off - std::pair( "pictSteelDrums", 0xE6AF ), // glyphnumber: 2157, Steel drums - std::pair( "pictStickShot", 0xE7F0 ), // glyphnumber: 2158, Stick shot - std::pair( "pictSuperball", 0xE7B2 ), // glyphnumber: 2159, Superball - std::pair( "pictSuspendedCymbal", 0xE721 ), // glyphnumber: 2160, Suspended cymbal - std::pair( "pictSwishStem", 0xE808 ), // glyphnumber: 2161, Combining swish for stem - std::pair( "pictTabla", 0xE6E3 ), // glyphnumber: 2162, Indian tabla - std::pair( "pictTamTam", 0xE730 ), // glyphnumber: 2163, Tam-tam - std::pair( "pictTamTamWithBeater", 0xE731 ), // glyphnumber: 2164, Tam-tam with beater (Smith Brindle) - std::pair( "pictTambourine", 0xE6DB ), // glyphnumber: 2165, Tambourine - std::pair( "pictTempleBlocks", 0xE6F1 ), // glyphnumber: 2166, Temple blocks - std::pair( "pictTenorDrum", 0xE6D6 ), // glyphnumber: 2167, Tenor drum - std::pair( "pictThundersheet", 0xE744 ), // glyphnumber: 2168, Thundersheet - std::pair( "pictTimbales", 0xE6DC ), // glyphnumber: 2169, Timbales - std::pair( "pictTimpani", 0xE6D0 ), // glyphnumber: 2170, Timpani - std::pair( "pictTomTom", 0xE6D7 ), // glyphnumber: 2171, Tom-tom - std::pair( "pictTomTomChinese", 0xE6D8 ), // glyphnumber: 2172, Chinese tom-tom - std::pair( "pictTomTomIndoAmerican", 0xE6DA ), // glyphnumber: 2173, Indo-American tom tom - std::pair( "pictTomTomJapanese", 0xE6D9 ), // glyphnumber: 2174, Japanese tom-tom - std::pair( "pictTriangle", 0xE700 ), // glyphnumber: 2175, Triangle - std::pair( "pictTubaphone", 0xE6B2 ), // glyphnumber: 2176, Tubaphone - std::pair( "pictTubularBells", 0xE6C0 ), // glyphnumber: 2177, Tubular bells - std::pair( "pictTurnLeftStem", 0xE80A ), // glyphnumber: 2178, Combining turn left for stem - std::pair( "pictTurnRightLeftStem", 0xE80B ), // glyphnumber: 2179, Combining turn left or right for stem - std::pair( "pictTurnRightStem", 0xE809 ), // glyphnumber: 2180, Combining turn right for stem - std::pair( "pictVib", 0xE6A7 ), // glyphnumber: 2181, Vibraphone - std::pair( "pictVibMotorOff", 0xE6A8 ), // glyphnumber: 2182, Metallophone (vibraphone motor off) - std::pair( "pictVibSmithBrindle", 0xE6AD ), // glyphnumber: 2183, Vibraphone (Smith Brindle) - std::pair( "pictVibraslap", 0xE745 ), // glyphnumber: 2184, Vibraslap - std::pair( "pictVietnameseHat", 0xE725 ), // glyphnumber: 2185, Vietnamese hat cymbal - std::pair( "pictWhip", 0xE6F6 ), // glyphnumber: 2186, Whip - std::pair( "pictWindChimesGlass", 0xE6C1 ), // glyphnumber: 2187, Wind chimes (glass) - std::pair( "pictWindMachine", 0xE754 ), // glyphnumber: 2188, Wind machine - std::pair( "pictWindWhistle", 0xE758 ), // glyphnumber: 2189, Wind whistle (or mouth siren) - std::pair( "pictWoodBlock", 0xE6F0 ), // glyphnumber: 2190, Wood block - std::pair( "pictWoundHardDown", 0xE7B4 ), // glyphnumber: 2191, Wound beater, hard core down - std::pair( "pictWoundHardLeft", 0xE7B6 ), // glyphnumber: 2192, Wound beater, hard core left - std::pair( "pictWoundHardRight", 0xE7B5 ), // glyphnumber: 2193, Wound beater, hard core right - std::pair( "pictWoundHardUp", 0xE7B3 ), // glyphnumber: 2194, Wound beater, hard core up - std::pair( "pictWoundSoftDown", 0xE7B8 ), // glyphnumber: 2195, Wound beater, soft core down - std::pair( "pictWoundSoftLeft", 0xE7BA ), // glyphnumber: 2196, Wound beater, soft core left - std::pair( "pictWoundSoftRight", 0xE7B9 ), // glyphnumber: 2197, Wound beater, soft core right - std::pair( "pictWoundSoftUp", 0xE7B7 ), // glyphnumber: 2198, Wound beater, soft core up - std::pair( "pictXyl", 0xE6A1 ), // glyphnumber: 2199, Xylophone - std::pair( "pictXylBass", 0xE6A3 ), // glyphnumber: 2200, Bass xylophone - std::pair( "pictXylSmithBrindle", 0xE6AB ), // glyphnumber: 2201, Xylophone (Smith Brindle) - std::pair( "pictXylTenor", 0xE6A2 ), // glyphnumber: 2202, Tenor xylophone - std::pair( "pictXylTenorTrough", 0xE6A5 ), // glyphnumber: 2203, Trough tenor xylophone - std::pair( "pictXylTrough", 0xE6A4 ), // glyphnumber: 2204, Trough xylophone - std::pair( "pluckedBuzzPizzicato", 0xE632 ), // glyphnumber: 2205, Buzz pizzicato - std::pair( "pluckedDamp", 0xE638 ), // glyphnumber: 2206, Damp - std::pair( "pluckedDampAll", 0xE639 ), // glyphnumber: 2207, Damp all - std::pair( "pluckedDampOnStem", 0xE63B ), // glyphnumber: 2208, Damp for stem - std::pair( "pluckedFingernailFlick", 0xE637 ), // glyphnumber: 2209, Fingernail flick - std::pair( "pluckedLeftHandPizzicato", 0xE633 ), // glyphnumber: 2210, Left-hand pizzicato - std::pair( "pluckedPlectrum", 0xE63A ), // glyphnumber: 2211, Plectrum - std::pair( "pluckedSnapPizzicatoAbove", 0xE631 ), // glyphnumber: 2212, Snap pizzicato above - std::pair( "pluckedSnapPizzicatoBelow", 0xE630 ), // glyphnumber: 2213, Snap pizzicato below - std::pair( "pluckedWithFingernails", 0xE636 ), // glyphnumber: 2214, With fingernails - std::pair( "quindicesima", 0xE514 ), // glyphnumber: 2215, Quindicesima - std::pair( "quindicesimaAlta", 0xE515 ), // glyphnumber: 2216, Quindicesima alta - std::pair( "quindicesimaBassa", 0xE516 ), // glyphnumber: 2217, Quindicesima bassa - std::pair( "quindicesimaBassaMb", 0xE51D ), // glyphnumber: 2218, Quindicesima bassa (mb) - std::pair( "repeat1Bar", 0xE500 ), // glyphnumber: 2219, Repeat last bar - std::pair( "repeat2Bars", 0xE501 ), // glyphnumber: 2220, Repeat last two bars - std::pair( "repeat4Bars", 0xE502 ), // glyphnumber: 2221, Repeat last four bars - std::pair( "repeatDot", 0xE044 ), // glyphnumber: 2222, Single repeat dot - std::pair( "repeatDots", 0xE043 ), // glyphnumber: 2223, Repeat dots - std::pair( "repeatLeft", 0xE040 ), // glyphnumber: 2224, Left (start) repeat sign - std::pair( "repeatRight", 0xE041 ), // glyphnumber: 2225, Right (end) repeat sign - std::pair( "repeatRightLeft", 0xE042 ), // glyphnumber: 2226, Right and left repeat sign - std::pair( "rest1024th", 0xE4ED ), // glyphnumber: 2227, 1024th rest - std::pair( "rest128th", 0xE4EA ), // glyphnumber: 2228, 128th (semihemidemisemiquaver) rest - std::pair( "rest16th", 0xE4E7 ), // glyphnumber: 2229, 16th (semiquaver) rest - std::pair( "rest256th", 0xE4EB ), // glyphnumber: 2230, 256th rest - std::pair( "rest32nd", 0xE4E8 ), // glyphnumber: 2231, 32nd (demisemiquaver) rest - std::pair( "rest512th", 0xE4EC ), // glyphnumber: 2232, 512th rest - std::pair( "rest64th", 0xE4E9 ), // glyphnumber: 2233, 64th (hemidemisemiquaver) rest - std::pair( "rest8th", 0xE4E6 ), // glyphnumber: 2234, Eighth (quaver) rest - std::pair( "restDoubleWhole", 0xE4E2 ), // glyphnumber: 2235, Double whole (breve) rest - std::pair( "restDoubleWholeLegerLine", 0xE4F3 ), // glyphnumber: 2236, Double whole rest on leger lines - std::pair( "restHBar", 0xE4EE ), // glyphnumber: 2237, Multiple measure rest - std::pair( "restHBarLeft", 0xE4EF ), // glyphnumber: 2238, H-bar, left half - std::pair( "restHBarMiddle", 0xE4F0 ), // glyphnumber: 2239, H-bar, middle - std::pair( "restHBarRight", 0xE4F1 ), // glyphnumber: 2240, H-bar, right half - std::pair( "restHalf", 0xE4E4 ), // glyphnumber: 2241, Half (minim) rest - std::pair( "restHalfLegerLine", 0xE4F5 ), // glyphnumber: 2242, Half rest on leger line - std::pair( "restLonga", 0xE4E1 ), // glyphnumber: 2243, Longa rest - std::pair( "restMaxima", 0xE4E0 ), // glyphnumber: 2244, Maxima rest - std::pair( "restQuarter", 0xE4E5 ), // glyphnumber: 2245, Quarter (crotchet) rest - std::pair( "restQuarterOld", 0xE4F2 ), // glyphnumber: 2246, Old-style quarter (crotchet) rest - std::pair( "restQuarterZ", 0xE4F6 ), // glyphnumber: 2247, Z-style quarter (crotchet) rest - std::pair( "restWhole", 0xE4E3 ), // glyphnumber: 2248, Whole (semibreve) rest - std::pair( "restWholeLegerLine", 0xE4F4 ), // glyphnumber: 2249, Whole rest on leger line - std::pair( "reversedBrace", 0xE001 ), // glyphnumber: 2250, Reversed brace - std::pair( "reversedBracketBottom", 0xE006 ), // glyphnumber: 2251, Reversed bracket bottom - std::pair( "reversedBracketTop", 0xE005 ), // glyphnumber: 2252, Reversed bracket top - std::pair( "rightRepeatSmall", 0xE04D ), // glyphnumber: 2253, Right repeat sign within bar - std::pair( "schaefferClef", 0xE06F ), // glyphnumber: 2254, Schäffer clef - std::pair( "schaefferFClefToGClef", 0xE072 ), // glyphnumber: 2255, Schäffer F clef to G clef change - std::pair( "schaefferGClefToFClef", 0xE071 ), // glyphnumber: 2256, Schäffer G clef to F clef change - std::pair( "schaefferPreviousClef", 0xE070 ), // glyphnumber: 2257, Schäffer previous clef - std::pair( "segno", 0xE047 ), // glyphnumber: 2258, Segno - std::pair( "segnoSerpent1", 0xE04A ), // glyphnumber: 2259, Segno (serpent) - std::pair( "segnoSerpent2", 0xE04B ), // glyphnumber: 2260, Segno (serpent with vertical lines) - std::pair( "semipitchedPercussionClef1", 0xE06B ), // glyphnumber: 2261, Semi-pitched percussion clef 1 - std::pair( "semipitchedPercussionClef2", 0xE06C ), // glyphnumber: 2262, Semi-pitched percussion clef 2 - std::pair( "smnFlat", 0xEC52 ), // glyphnumber: 2263, Flat - std::pair( "smnFlatWhite", 0xEC53 ), // glyphnumber: 2264, Flat (white) - std::pair( "smnHistoryDoubleFlat", 0xEC57 ), // glyphnumber: 2265, Double flat history sign - std::pair( "smnHistoryDoubleSharp", 0xEC55 ), // glyphnumber: 2266, Double sharp history sign - std::pair( "smnHistoryFlat", 0xEC56 ), // glyphnumber: 2267, Flat history sign - std::pair( "smnHistorySharp", 0xEC54 ), // glyphnumber: 2268, Sharp history sign - std::pair( "smnNatural", 0xEC58 ), // glyphnumber: 2269, Natural (N) - std::pair( "smnSharp", 0xEC50 ), // glyphnumber: 2270, Sharp stem up - std::pair( "smnSharpDown", 0xEC59 ), // glyphnumber: 2271, Sharp stem down - std::pair( "smnSharpWhite", 0xEC51 ), // glyphnumber: 2272, Sharp (white) stem up - std::pair( "smnSharpWhiteDown", 0xEC5A ), // glyphnumber: 2273, Sharp (white) stem down - std::pair( "splitBarDivider", 0xE00A ), // glyphnumber: 2274, Split bar divider (bar spans a system break) - std::pair( "staff1Line", 0xE010 ), // glyphnumber: 2275, 1-line staff - std::pair( "staff1LineNarrow", 0xE01C ), // glyphnumber: 2276, 1-line staff (narrow) - std::pair( "staff1LineWide", 0xE016 ), // glyphnumber: 2277, 1-line staff (wide) - std::pair( "staff2Lines", 0xE011 ), // glyphnumber: 2278, 2-line staff - std::pair( "staff2LinesNarrow", 0xE01D ), // glyphnumber: 2279, 2-line staff (narrow) - std::pair( "staff2LinesWide", 0xE017 ), // glyphnumber: 2280, 2-line staff (wide) - std::pair( "staff3Lines", 0xE012 ), // glyphnumber: 2281, 3-line staff - std::pair( "staff3LinesNarrow", 0xE01E ), // glyphnumber: 2282, 3-line staff (narrow) - std::pair( "staff3LinesWide", 0xE018 ), // glyphnumber: 2283, 3-line staff (wide) - std::pair( "staff4Lines", 0xE013 ), // glyphnumber: 2284, 4-line staff - std::pair( "staff4LinesNarrow", 0xE01F ), // glyphnumber: 2285, 4-line staff (narrow) - std::pair( "staff4LinesWide", 0xE019 ), // glyphnumber: 2286, 4-line staff (wide) - std::pair( "staff5Lines", 0xE014 ), // glyphnumber: 2287, 5-line staff - std::pair( "staff5LinesNarrow", 0xE020 ), // glyphnumber: 2288, 5-line staff (narrow) - std::pair( "staff5LinesWide", 0xE01A ), // glyphnumber: 2289, 5-line staff (wide) - std::pair( "staff6Lines", 0xE015 ), // glyphnumber: 2290, 6-line staff - std::pair( "staff6LinesNarrow", 0xE021 ), // glyphnumber: 2291, 6-line staff (narrow) - std::pair( "staff6LinesWide", 0xE01B ), // glyphnumber: 2292, 6-line staff (wide) - std::pair( "staffDivideArrowDown", 0xE00B ), // glyphnumber: 2293, Staff divide arrow down - std::pair( "staffDivideArrowUp", 0xE00C ), // glyphnumber: 2294, Staff divide arrow up - std::pair( "staffDivideArrowUpDown", 0xE00D ), // glyphnumber: 2295, Staff divide arrows - std::pair( "staffPosLower1", 0xEB98 ), // glyphnumber: 2296, Lower 1 staff position - std::pair( "staffPosLower2", 0xEB99 ), // glyphnumber: 2297, Lower 2 staff positions - std::pair( "staffPosLower3", 0xEB9A ), // glyphnumber: 2298, Lower 3 staff positions - std::pair( "staffPosLower4", 0xEB9B ), // glyphnumber: 2299, Lower 4 staff positions - std::pair( "staffPosLower5", 0xEB9C ), // glyphnumber: 2300, Lower 5 staff positions - std::pair( "staffPosLower6", 0xEB9D ), // glyphnumber: 2301, Lower 6 staff positions - std::pair( "staffPosLower7", 0xEB9E ), // glyphnumber: 2302, Lower 7 staff positions - std::pair( "staffPosLower8", 0xEB9F ), // glyphnumber: 2303, Lower 8 staff positions - std::pair( "staffPosRaise1", 0xEB90 ), // glyphnumber: 2304, Raise 1 staff position - std::pair( "staffPosRaise2", 0xEB91 ), // glyphnumber: 2305, Raise 2 staff positions - std::pair( "staffPosRaise3", 0xEB92 ), // glyphnumber: 2306, Raise 3 staff positions - std::pair( "staffPosRaise4", 0xEB93 ), // glyphnumber: 2307, Raise 4 staff positions - std::pair( "staffPosRaise5", 0xEB94 ), // glyphnumber: 2308, Raise 5 staff positions - std::pair( "staffPosRaise6", 0xEB95 ), // glyphnumber: 2309, Raise 6 staff positions - std::pair( "staffPosRaise7", 0xEB96 ), // glyphnumber: 2310, Raise 7 staff positions - std::pair( "staffPosRaise8", 0xEB97 ), // glyphnumber: 2311, Raise 8 staff positions - std::pair( "stem", 0xE210 ), // glyphnumber: 2312, Combining stem - std::pair( "stemBowOnBridge", 0xE215 ), // glyphnumber: 2313, Combining bow on bridge stem - std::pair( "stemBowOnTailpiece", 0xE216 ), // glyphnumber: 2314, Combining bow on tailpiece stem - std::pair( "stemBuzzRoll", 0xE217 ), // glyphnumber: 2315, Combining buzz roll stem - std::pair( "stemDamp", 0xE218 ), // glyphnumber: 2316, Combining damp stem - std::pair( "stemHarpStringNoise", 0xE21F ), // glyphnumber: 2317, Combining harp string noise stem - std::pair( "stemMultiphonicsBlack", 0xE21A ), // glyphnumber: 2318, Combining multiphonics (black) stem - std::pair( "stemMultiphonicsBlackWhite", 0xE21C ), // glyphnumber: 2319, Combining multiphonics (black and white) stem - std::pair( "stemMultiphonicsWhite", 0xE21B ), // glyphnumber: 2320, Combining multiphonics (white) stem - std::pair( "stemPendereckiTremolo", 0xE213 ), // glyphnumber: 2321, Combining Penderecki unmeasured tremolo stem - std::pair( "stemRimShot", 0xE21E ), // glyphnumber: 2322, Combining rim shot stem - std::pair( "stemSprechgesang", 0xE211 ), // glyphnumber: 2323, Combining sprechgesang stem - std::pair( "stemSulPonticello", 0xE214 ), // glyphnumber: 2324, Combining sul ponticello (bow behind bridge) stem - std::pair( "stemSussurando", 0xE21D ), // glyphnumber: 2325, Combining sussurando stem - std::pair( "stemSwished", 0xE212 ), // glyphnumber: 2326, Combining swished stem - std::pair( "stemVibratoPulse", 0xE219 ), // glyphnumber: 2327, Combining vibrato pulse accent (Saunders) stem - std::pair( "stockhausenTremolo", 0xE232 ), // glyphnumber: 2328, Stockhausen irregular tremolo ("Morsen", like Morse code) - std::pair( "stringsBowBehindBridge", 0xE618 ), // glyphnumber: 2329, Bow behind bridge (sul ponticello) - std::pair( "stringsBowBehindBridgeFourStrings", 0xE62A ), // glyphnumber: 2330, Bow behind bridge on four strings - std::pair( "stringsBowBehindBridgeOneString", 0xE627 ), // glyphnumber: 2331, Bow behind bridge on one string - std::pair( "stringsBowBehindBridgeThreeStrings", 0xE629 ), // glyphnumber: 2332, Bow behind bridge on three strings - std::pair( "stringsBowBehindBridgeTwoStrings", 0xE628 ), // glyphnumber: 2333, Bow behind bridge on two strings - std::pair( "stringsBowOnBridge", 0xE619 ), // glyphnumber: 2334, Bow on top of bridge - std::pair( "stringsBowOnTailpiece", 0xE61A ), // glyphnumber: 2335, Bow on tailpiece - std::pair( "stringsChangeBowDirection", 0xE626 ), // glyphnumber: 2336, Change bow direction, indeterminate - std::pair( "stringsDownBow", 0xE610 ), // glyphnumber: 2337, Down bow - std::pair( "stringsDownBowTurned", 0xE611 ), // glyphnumber: 2338, Turned down bow - std::pair( "stringsFouette", 0xE622 ), // glyphnumber: 2339, Fouetté - std::pair( "stringsHalfHarmonic", 0xE615 ), // glyphnumber: 2340, Half-harmonic - std::pair( "stringsHarmonic", 0xE614 ), // glyphnumber: 2341, Harmonic - std::pair( "stringsJeteAbove", 0xE620 ), // glyphnumber: 2342, Jeté (gettato) above - std::pair( "stringsJeteBelow", 0xE621 ), // glyphnumber: 2343, Jeté (gettato) below - std::pair( "stringsMuteOff", 0xE617 ), // glyphnumber: 2344, Mute off - std::pair( "stringsMuteOn", 0xE616 ), // glyphnumber: 2345, Mute on - std::pair( "stringsOverpressureDownBow", 0xE61B ), // glyphnumber: 2346, Overpressure, down bow - std::pair( "stringsOverpressureNoDirection", 0xE61F ), // glyphnumber: 2347, Overpressure, no bow direction - std::pair( "stringsOverpressurePossibileDownBow", 0xE61D ), // glyphnumber: 2348, Overpressure possibile, down bow - std::pair( "stringsOverpressurePossibileUpBow", 0xE61E ), // glyphnumber: 2349, Overpressure possibile, up bow - std::pair( "stringsOverpressureUpBow", 0xE61C ), // glyphnumber: 2350, Overpressure, up bow - std::pair( "stringsThumbPosition", 0xE624 ), // glyphnumber: 2351, Thumb position - std::pair( "stringsThumbPositionTurned", 0xE625 ), // glyphnumber: 2352, Turned thumb position - std::pair( "stringsUpBow", 0xE612 ), // glyphnumber: 2353, Up bow - std::pair( "stringsUpBowTurned", 0xE613 ), // glyphnumber: 2354, Turned up bow - std::pair( "stringsVibratoPulse", 0xE623 ), // glyphnumber: 2355, Vibrato pulse accent (Saunders) for stem - std::pair( "systemDivider", 0xE007 ), // glyphnumber: 2356, System divider - std::pair( "systemDividerExtraLong", 0xE009 ), // glyphnumber: 2357, Extra long system divider - std::pair( "systemDividerLong", 0xE008 ), // glyphnumber: 2358, Long system divider - std::pair( "textAugmentationDot", 0xE1FC ), // glyphnumber: 2359, Augmentation dot - std::pair( "textBlackNoteFrac16thLongStem", 0xE1F5 ), // glyphnumber: 2360, Black note, fractional 16th beam, long stem - std::pair( "textBlackNoteFrac16thShortStem", 0xE1F4 ), // glyphnumber: 2361, Black note, fractional 16th beam, short stem - std::pair( "textBlackNoteFrac32ndLongStem", 0xE1F6 ), // glyphnumber: 2362, Black note, fractional 32nd beam, long stem - std::pair( "textBlackNoteFrac8thLongStem", 0xE1F3 ), // glyphnumber: 2363, Black note, fractional 8th beam, long stem - std::pair( "textBlackNoteFrac8thShortStem", 0xE1F2 ), // glyphnumber: 2364, Black note, fractional 8th beam, short stem - std::pair( "textBlackNoteLongStem", 0xE1F1 ), // glyphnumber: 2365, Black note, long stem - std::pair( "textBlackNoteShortStem", 0xE1F0 ), // glyphnumber: 2366, Black note, short stem - std::pair( "textCont16thBeamLongStem", 0xE1FA ), // glyphnumber: 2367, Continuing 16th beam for long stem - std::pair( "textCont16thBeamShortStem", 0xE1F9 ), // glyphnumber: 2368, Continuing 16th beam for short stem - std::pair( "textCont32ndBeamLongStem", 0xE1FB ), // glyphnumber: 2369, Continuing 32nd beam for long stem - std::pair( "textCont8thBeamLongStem", 0xE1F8 ), // glyphnumber: 2370, Continuing 8th beam for long stem - std::pair( "textCont8thBeamShortStem", 0xE1F7 ), // glyphnumber: 2371, Continuing 8th beam for short stem - std::pair( "textTie", 0xE1FD ), // glyphnumber: 2372, Tie - std::pair( "textTuplet3LongStem", 0xE202 ), // glyphnumber: 2373, Tuplet number 3 for long stem - std::pair( "textTuplet3ShortStem", 0xE1FF ), // glyphnumber: 2374, Tuplet number 3 for short stem - std::pair( "textTupletBracketEndLongStem", 0xE203 ), // glyphnumber: 2375, Tuplet bracket end for long stem - std::pair( "textTupletBracketEndShortStem", 0xE200 ), // glyphnumber: 2376, Tuplet bracket end for short stem - std::pair( "textTupletBracketStartLongStem", 0xE201 ), // glyphnumber: 2377, Tuplet bracket start for long stem - std::pair( "textTupletBracketStartShortStem", 0xE1FE ), // glyphnumber: 2378, Tuplet bracket start for short stem - std::pair( "timeSig0", 0xE080 ), // glyphnumber: 2379, Time signature 0 - std::pair( "timeSig0Reversed", 0xECF0 ), // glyphnumber: 2380, Reversed time signature 0 - std::pair( "timeSig0Turned", 0xECE0 ), // glyphnumber: 2381, Turned time signature 0 - std::pair( "timeSig1", 0xE081 ), // glyphnumber: 2382, Time signature 1 - std::pair( "timeSig1Reversed", 0xECF1 ), // glyphnumber: 2383, Reversed time signature 1 - std::pair( "timeSig1Turned", 0xECE1 ), // glyphnumber: 2384, Turned time signature 1 - std::pair( "timeSig2", 0xE082 ), // glyphnumber: 2385, Time signature 2 - std::pair( "timeSig2Reversed", 0xECF2 ), // glyphnumber: 2386, Reversed time signature 2 - std::pair( "timeSig2Turned", 0xECE2 ), // glyphnumber: 2387, Turned time signature 2 - std::pair( "timeSig3", 0xE083 ), // glyphnumber: 2388, Time signature 3 - std::pair( "timeSig3Reversed", 0xECF3 ), // glyphnumber: 2389, Reversed time signature 3 - std::pair( "timeSig3Turned", 0xECE3 ), // glyphnumber: 2390, Turned time signature 3 - std::pair( "timeSig4", 0xE084 ), // glyphnumber: 2391, Time signature 4 - std::pair( "timeSig4Reversed", 0xECF4 ), // glyphnumber: 2392, Reversed time signature 4 - std::pair( "timeSig4Turned", 0xECE4 ), // glyphnumber: 2393, Turned time signature 4 - std::pair( "timeSig5", 0xE085 ), // glyphnumber: 2394, Time signature 5 - std::pair( "timeSig5Reversed", 0xECF5 ), // glyphnumber: 2395, Reversed time signature 5 - std::pair( "timeSig5Turned", 0xECE5 ), // glyphnumber: 2396, Turned time signature 5 - std::pair( "timeSig6", 0xE086 ), // glyphnumber: 2397, Time signature 6 - std::pair( "timeSig6Reversed", 0xECF6 ), // glyphnumber: 2398, Reversed time signature 6 - std::pair( "timeSig6Turned", 0xECE6 ), // glyphnumber: 2399, Turned time signature 6 - std::pair( "timeSig7", 0xE087 ), // glyphnumber: 2400, Time signature 7 - std::pair( "timeSig7Reversed", 0xECF7 ), // glyphnumber: 2401, Reversed time signature 7 - std::pair( "timeSig7Turned", 0xECE7 ), // glyphnumber: 2402, Turned time signature 7 - std::pair( "timeSig8", 0xE088 ), // glyphnumber: 2403, Time signature 8 - std::pair( "timeSig8Reversed", 0xECF8 ), // glyphnumber: 2404, Reversed time signature 8 - std::pair( "timeSig8Turned", 0xECE8 ), // glyphnumber: 2405, Turned time signature 8 - std::pair( "timeSig9", 0xE089 ), // glyphnumber: 2406, Time signature 9 - std::pair( "timeSig9Reversed", 0xECF9 ), // glyphnumber: 2407, Reversed time signature 9 - std::pair( "timeSig9Turned", 0xECE9 ), // glyphnumber: 2408, Turned time signature 9 - std::pair( "timeSigBracketLeft", 0xEC80 ), // glyphnumber: 2409, Left bracket for whole time signature - std::pair( "timeSigBracketLeftSmall", 0xEC82 ), // glyphnumber: 2410, Left bracket for numerator only - std::pair( "timeSigBracketRight", 0xEC81 ), // glyphnumber: 2411, Right bracket for whole time signature - std::pair( "timeSigBracketRightSmall", 0xEC83 ), // glyphnumber: 2412, Right bracket for numerator only - std::pair( "timeSigCombDenominator", 0xE09F ), // glyphnumber: 2413, Control character for denominator digit - std::pair( "timeSigCombNumerator", 0xE09E ), // glyphnumber: 2414, Control character for numerator digit - std::pair( "timeSigComma", 0xE096 ), // glyphnumber: 2415, Time signature comma - std::pair( "timeSigCommon", 0xE08A ), // glyphnumber: 2416, Common time - std::pair( "timeSigCommonReversed", 0xECFA ), // glyphnumber: 2417, Reversed common time - std::pair( "timeSigCommonTurned", 0xECEA ), // glyphnumber: 2418, Turned common time - std::pair( "timeSigCut2", 0xEC85 ), // glyphnumber: 2419, Cut time (Bach) - std::pair( "timeSigCut3", 0xEC86 ), // glyphnumber: 2420, Cut triple time (9/8) - std::pair( "timeSigCutCommon", 0xE08B ), // glyphnumber: 2421, Cut time - std::pair( "timeSigCutCommonReversed", 0xECFB ), // glyphnumber: 2422, Reversed cut time - std::pair( "timeSigCutCommonTurned", 0xECEB ), // glyphnumber: 2423, Turned cut time - std::pair( "timeSigEquals", 0xE08F ), // glyphnumber: 2424, Time signature equals - std::pair( "timeSigFractionHalf", 0xE098 ), // glyphnumber: 2425, Time signature fraction ½ - std::pair( "timeSigFractionOneThird", 0xE09A ), // glyphnumber: 2426, Time signature fraction ⅓ - std::pair( "timeSigFractionQuarter", 0xE097 ), // glyphnumber: 2427, Time signature fraction ¼ - std::pair( "timeSigFractionThreeQuarters", 0xE099 ), // glyphnumber: 2428, Time signature fraction ¾ - std::pair( "timeSigFractionTwoThirds", 0xE09B ), // glyphnumber: 2429, Time signature fraction ⅔ - std::pair( "timeSigFractionalSlash", 0xE08E ), // glyphnumber: 2430, Time signature fraction slash - std::pair( "timeSigMinus", 0xE090 ), // glyphnumber: 2431, Time signature minus - std::pair( "timeSigMultiply", 0xE091 ), // glyphnumber: 2432, Time signature multiply - std::pair( "timeSigOpenPenderecki", 0xE09D ), // glyphnumber: 2433, Open time signature (Penderecki) - std::pair( "timeSigParensLeft", 0xE094 ), // glyphnumber: 2434, Left parenthesis for whole time signature - std::pair( "timeSigParensLeftSmall", 0xE092 ), // glyphnumber: 2435, Left parenthesis for numerator only - std::pair( "timeSigParensRight", 0xE095 ), // glyphnumber: 2436, Right parenthesis for whole time signature - std::pair( "timeSigParensRightSmall", 0xE093 ), // glyphnumber: 2437, Right parenthesis for numerator only - std::pair( "timeSigPlus", 0xE08C ), // glyphnumber: 2438, Time signature + - std::pair( "timeSigPlusSmall", 0xE08D ), // glyphnumber: 2439, Time signature + (for numerators) - std::pair( "timeSigSlash", 0xEC84 ), // glyphnumber: 2440, Time signature slash separator - std::pair( "timeSigX", 0xE09C ), // glyphnumber: 2441, Open time signature - std::pair( "tremolo1", 0xE220 ), // glyphnumber: 2442, Combining tremolo 1 - std::pair( "tremolo2", 0xE221 ), // glyphnumber: 2443, Combining tremolo 2 - std::pair( "tremolo3", 0xE222 ), // glyphnumber: 2444, Combining tremolo 3 - std::pair( "tremolo4", 0xE223 ), // glyphnumber: 2445, Combining tremolo 4 - std::pair( "tremolo5", 0xE224 ), // glyphnumber: 2446, Combining tremolo 5 - std::pair( "tremoloDivisiDots2", 0xE22E ), // glyphnumber: 2447, Divide measured tremolo by 2 - std::pair( "tremoloDivisiDots3", 0xE22F ), // glyphnumber: 2448, Divide measured tremolo by 3 - std::pair( "tremoloDivisiDots4", 0xE230 ), // glyphnumber: 2449, Divide measured tremolo by 4 - std::pair( "tremoloDivisiDots6", 0xE231 ), // glyphnumber: 2450, Divide measured tremolo by 6 - std::pair( "tremoloFingered1", 0xE225 ), // glyphnumber: 2451, Fingered tremolo 1 - std::pair( "tremoloFingered2", 0xE226 ), // glyphnumber: 2452, Fingered tremolo 2 - std::pair( "tremoloFingered3", 0xE227 ), // glyphnumber: 2453, Fingered tremolo 3 - std::pair( "tremoloFingered4", 0xE228 ), // glyphnumber: 2454, Fingered tremolo 4 - std::pair( "tremoloFingered5", 0xE229 ), // glyphnumber: 2455, Fingered tremolo 5 - std::pair( "tripleTongueAbove", 0xE5F2 ), // glyphnumber: 2456, Triple-tongue above - std::pair( "tripleTongueBelow", 0xE5F3 ), // glyphnumber: 2457, Triple-tongue below - std::pair( "tuplet0", 0xE880 ), // glyphnumber: 2458, Tuplet 0 - std::pair( "tuplet1", 0xE881 ), // glyphnumber: 2459, Tuplet 1 - std::pair( "tuplet2", 0xE882 ), // glyphnumber: 2460, Tuplet 2 - std::pair( "tuplet3", 0xE883 ), // glyphnumber: 2461, Tuplet 3 - std::pair( "tuplet4", 0xE884 ), // glyphnumber: 2462, Tuplet 4 - std::pair( "tuplet5", 0xE885 ), // glyphnumber: 2463, Tuplet 5 - std::pair( "tuplet6", 0xE886 ), // glyphnumber: 2464, Tuplet 6 - std::pair( "tuplet7", 0xE887 ), // glyphnumber: 2465, Tuplet 7 - std::pair( "tuplet8", 0xE888 ), // glyphnumber: 2466, Tuplet 8 - std::pair( "tuplet9", 0xE889 ), // glyphnumber: 2467, Tuplet 9 - std::pair( "tupletColon", 0xE88A ), // glyphnumber: 2468, Tuplet colon - std::pair( "unmeasuredTremolo", 0xE22C ), // glyphnumber: 2469, Wieniawski unmeasured tremolo - std::pair( "unmeasuredTremoloSimple", 0xE22D ), // glyphnumber: 2470, Wieniawski unmeasured tremolo (simpler) - std::pair( "unpitchedPercussionClef1", 0xE069 ), // glyphnumber: 2471, Unpitched percussion clef 1 - std::pair( "unpitchedPercussionClef2", 0xE06A ), // glyphnumber: 2472, Unpitched percussion clef 2 - std::pair( "ventiduesima", 0xE517 ), // glyphnumber: 2473, Ventiduesima - std::pair( "ventiduesimaAlta", 0xE518 ), // glyphnumber: 2474, Ventiduesima alta - std::pair( "ventiduesimaBassa", 0xE519 ), // glyphnumber: 2475, Ventiduesima bassa - std::pair( "ventiduesimaBassaMb", 0xE51E ), // glyphnumber: 2476, Ventiduesima bassa (mb) - std::pair( "vocalFingerClickStockhausen", 0xE649 ), // glyphnumber: 2477, Finger click (Stockhausen) - std::pair( "vocalMouthClosed", 0xE640 ), // glyphnumber: 2478, Mouth closed - std::pair( "vocalMouthOpen", 0xE642 ), // glyphnumber: 2479, Mouth open - std::pair( "vocalMouthPursed", 0xE644 ), // glyphnumber: 2480, Mouth pursed - std::pair( "vocalMouthSlightlyOpen", 0xE641 ), // glyphnumber: 2481, Mouth slightly open - std::pair( "vocalMouthWideOpen", 0xE643 ), // glyphnumber: 2482, Mouth wide open - std::pair( "vocalNasalVoice", 0xE647 ), // glyphnumber: 2483, Nasal voice - std::pair( "vocalSprechgesang", 0xE645 ), // glyphnumber: 2484, Sprechgesang - std::pair( "vocalTongueClickStockhausen", 0xE648 ), // glyphnumber: 2485, Tongue click (Stockhausen) - std::pair( "vocalTongueFingerClickStockhausen", 0xE64A ), // glyphnumber: 2486, Tongue and finger click (Stockhausen) - std::pair( "vocalsSussurando", 0xE646 ), // glyphnumber: 2487, Combining sussurando for stem - std::pair( "wiggleArpeggiatoDown", 0xEAAA ), // glyphnumber: 2488, Arpeggiato wiggle segment, downwards - std::pair( "wiggleArpeggiatoDownArrow", 0xEAAE ), // glyphnumber: 2489, Arpeggiato arrowhead down - std::pair( "wiggleArpeggiatoDownSwash", 0xEAAC ), // glyphnumber: 2490, Arpeggiato downward swash - std::pair( "wiggleArpeggiatoUp", 0xEAA9 ), // glyphnumber: 2491, Arpeggiato wiggle segment, upwards - std::pair( "wiggleArpeggiatoUpArrow", 0xEAAD ), // glyphnumber: 2492, Arpeggiato arrowhead up - std::pair( "wiggleArpeggiatoUpSwash", 0xEAAB ), // glyphnumber: 2493, Arpeggiato upward swash - std::pair( "wiggleCircular", 0xEAC9 ), // glyphnumber: 2494, Circular motion segment - std::pair( "wiggleCircularConstant", 0xEAC0 ), // glyphnumber: 2495, Constant circular motion segment - std::pair( "wiggleCircularConstantFlipped", 0xEAC1 ), // glyphnumber: 2496, Constant circular motion segment (flipped) - std::pair( "wiggleCircularConstantFlippedLarge", 0xEAC3 ), // glyphnumber: 2497, Constant circular motion segment (flipped, large) - std::pair( "wiggleCircularConstantLarge", 0xEAC2 ), // glyphnumber: 2498, Constant circular motion segment (large) - std::pair( "wiggleCircularEnd", 0xEACB ), // glyphnumber: 2499, Circular motion end - std::pair( "wiggleCircularLarge", 0xEAC8 ), // glyphnumber: 2500, Circular motion segment, large - std::pair( "wiggleCircularLarger", 0xEAC7 ), // glyphnumber: 2501, Circular motion segment, larger - std::pair( "wiggleCircularLargerStill", 0xEAC6 ), // glyphnumber: 2502, Circular motion segment, larger still - std::pair( "wiggleCircularLargest", 0xEAC5 ), // glyphnumber: 2503, Circular motion segment, largest - std::pair( "wiggleCircularSmall", 0xEACA ), // glyphnumber: 2504, Circular motion segment, small - std::pair( "wiggleCircularStart", 0xEAC4 ), // glyphnumber: 2505, Circular motion start - std::pair( "wiggleGlissando", 0xEAAF ), // glyphnumber: 2506, Glissando wiggle segment - std::pair( "wiggleGlissandoGroup1", 0xEABD ), // glyphnumber: 2507, Group glissando 1 - std::pair( "wiggleGlissandoGroup2", 0xEABE ), // glyphnumber: 2508, Group glissando 2 - std::pair( "wiggleGlissandoGroup3", 0xEABF ), // glyphnumber: 2509, Group glissando 3 - std::pair( "wiggleRandom1", 0xEAF0 ), // glyphnumber: 2510, Quasi-random squiggle 1 - std::pair( "wiggleRandom2", 0xEAF1 ), // glyphnumber: 2511, Quasi-random squiggle 2 - std::pair( "wiggleRandom3", 0xEAF2 ), // glyphnumber: 2512, Quasi-random squiggle 3 - std::pair( "wiggleRandom4", 0xEAF3 ), // glyphnumber: 2513, Quasi-random squiggle 4 - std::pair( "wiggleSawtooth", 0xEABB ), // glyphnumber: 2514, Sawtooth line segment - std::pair( "wiggleSawtoothNarrow", 0xEABA ), // glyphnumber: 2515, Narrow sawtooth line segment - std::pair( "wiggleSawtoothWide", 0xEABC ), // glyphnumber: 2516, Wide sawtooth line segment - std::pair( "wiggleSquareWave", 0xEAB8 ), // glyphnumber: 2517, Square wave line segment - std::pair( "wiggleSquareWaveNarrow", 0xEAB7 ), // glyphnumber: 2518, Narrow square wave line segment - std::pair( "wiggleSquareWaveWide", 0xEAB9 ), // glyphnumber: 2519, Wide square wave line segment - std::pair( "wiggleTrill", 0xEAA4 ), // glyphnumber: 2520, Trill wiggle segment - std::pair( "wiggleTrillFast", 0xEAA3 ), // glyphnumber: 2521, Trill wiggle segment, fast - std::pair( "wiggleTrillFaster", 0xEAA2 ), // glyphnumber: 2522, Trill wiggle segment, faster - std::pair( "wiggleTrillFasterStill", 0xEAA1 ), // glyphnumber: 2523, Trill wiggle segment, faster still - std::pair( "wiggleTrillFastest", 0xEAA0 ), // glyphnumber: 2524, Trill wiggle segment, fastest - std::pair( "wiggleTrillSlow", 0xEAA5 ), // glyphnumber: 2525, Trill wiggle segment, slow - std::pair( "wiggleTrillSlower", 0xEAA6 ), // glyphnumber: 2526, Trill wiggle segment, slower - std::pair( "wiggleTrillSlowerStill", 0xEAA7 ), // glyphnumber: 2527, Trill wiggle segment, slower still - std::pair( "wiggleTrillSlowest", 0xEAA8 ), // glyphnumber: 2528, Trill wiggle segment, slowest - std::pair( "wiggleVIbratoLargestSlower", 0xEAEE ), // glyphnumber: 2529, Vibrato largest, slower - std::pair( "wiggleVIbratoMediumSlower", 0xEAE0 ), // glyphnumber: 2530, Vibrato medium, slower - std::pair( "wiggleVibrato", 0xEAB0 ), // glyphnumber: 2531, Vibrato / shake wiggle segment - std::pair( "wiggleVibratoLargeFast", 0xEAE5 ), // glyphnumber: 2532, Vibrato large, fast - std::pair( "wiggleVibratoLargeFaster", 0xEAE4 ), // glyphnumber: 2533, Vibrato large, faster - std::pair( "wiggleVibratoLargeFasterStill", 0xEAE3 ), // glyphnumber: 2534, Vibrato large, faster still - std::pair( "wiggleVibratoLargeFastest", 0xEAE2 ), // glyphnumber: 2535, Vibrato large, fastest - std::pair( "wiggleVibratoLargeSlow", 0xEAE6 ), // glyphnumber: 2536, Vibrato large, slow - std::pair( "wiggleVibratoLargeSlower", 0xEAE7 ), // glyphnumber: 2537, Vibrato large, slower - std::pair( "wiggleVibratoLargeSlowest", 0xEAE8 ), // glyphnumber: 2538, Vibrato large, slowest - std::pair( "wiggleVibratoLargestFast", 0xEAEC ), // glyphnumber: 2539, Vibrato largest, fast - std::pair( "wiggleVibratoLargestFaster", 0xEAEB ), // glyphnumber: 2540, Vibrato largest, faster - std::pair( "wiggleVibratoLargestFasterStill", 0xEAEA ), // glyphnumber: 2541, Vibrato largest, faster still - std::pair( "wiggleVibratoLargestFastest", 0xEAE9 ), // glyphnumber: 2542, Vibrato largest, fastest - std::pair( "wiggleVibratoLargestSlow", 0xEAED ), // glyphnumber: 2543, Vibrato largest, slow - std::pair( "wiggleVibratoLargestSlowest", 0xEAEF ), // glyphnumber: 2544, Vibrato largest, slowest - std::pair( "wiggleVibratoMediumFast", 0xEADE ), // glyphnumber: 2545, Vibrato medium, fast - std::pair( "wiggleVibratoMediumFaster", 0xEADD ), // glyphnumber: 2546, Vibrato medium, faster - std::pair( "wiggleVibratoMediumFasterStill", 0xEADC ), // glyphnumber: 2547, Vibrato medium, faster still - std::pair( "wiggleVibratoMediumFastest", 0xEADB ), // glyphnumber: 2548, Vibrato medium, fastest - std::pair( "wiggleVibratoMediumSlow", 0xEADF ), // glyphnumber: 2549, Vibrato medium, slow - std::pair( "wiggleVibratoMediumSlowest", 0xEAE1 ), // glyphnumber: 2550, Vibrato medium, slowest - std::pair( "wiggleVibratoSmallFast", 0xEAD7 ), // glyphnumber: 2551, Vibrato small, fast - std::pair( "wiggleVibratoSmallFaster", 0xEAD6 ), // glyphnumber: 2552, Vibrato small, faster - std::pair( "wiggleVibratoSmallFasterStill", 0xEAD5 ), // glyphnumber: 2553, Vibrato small, faster still - std::pair( "wiggleVibratoSmallFastest", 0xEAD4 ), // glyphnumber: 2554, Vibrato small, fastest - std::pair( "wiggleVibratoSmallSlow", 0xEAD8 ), // glyphnumber: 2555, Vibrato small, slow - std::pair( "wiggleVibratoSmallSlower", 0xEAD9 ), // glyphnumber: 2556, Vibrato small, slower - std::pair( "wiggleVibratoSmallSlowest", 0xEADA ), // glyphnumber: 2557, Vibrato small, slowest - std::pair( "wiggleVibratoSmallestFast", 0xEAD0 ), // glyphnumber: 2558, Vibrato smallest, fast - std::pair( "wiggleVibratoSmallestFaster", 0xEACF ), // glyphnumber: 2559, Vibrato smallest, faster - std::pair( "wiggleVibratoSmallestFasterStill", 0xEACE ), // glyphnumber: 2560, Vibrato smallest, faster still - std::pair( "wiggleVibratoSmallestFastest", 0xEACD ), // glyphnumber: 2561, Vibrato smallest, fastest - std::pair( "wiggleVibratoSmallestSlow", 0xEAD1 ), // glyphnumber: 2562, Vibrato smallest, slow - std::pair( "wiggleVibratoSmallestSlower", 0xEAD2 ), // glyphnumber: 2563, Vibrato smallest, slower - std::pair( "wiggleVibratoSmallestSlowest", 0xEAD3 ), // glyphnumber: 2564, Vibrato smallest, slowest - std::pair( "wiggleVibratoStart", 0xEACC ), // glyphnumber: 2565, Vibrato start - std::pair( "wiggleVibratoWide", 0xEAB1 ), // glyphnumber: 2566, Wide vibrato / shake wiggle segment - std::pair( "wiggleWavy", 0xEAB5 ), // glyphnumber: 2567, Wavy line segment - std::pair( "wiggleWavyNarrow", 0xEAB4 ), // glyphnumber: 2568, Narrow wavy line segment - std::pair( "wiggleWavyWide", 0xEAB6 ), // glyphnumber: 2569, Wide wavy line segment - std::pair( "windClosedHole", 0xE5F4 ), // glyphnumber: 2570, Closed hole - std::pair( "windFlatEmbouchure", 0xE5FB ), // glyphnumber: 2571, Flatter embouchure - std::pair( "windHalfClosedHole1", 0xE5F6 ), // glyphnumber: 2572, Half-closed hole - std::pair( "windHalfClosedHole2", 0xE5F7 ), // glyphnumber: 2573, Half-closed hole 2 - std::pair( "windHalfClosedHole3", 0xE5F8 ), // glyphnumber: 2574, Half-open hole - std::pair( "windLessRelaxedEmbouchure", 0xE5FE ), // glyphnumber: 2575, Somewhat relaxed embouchure - std::pair( "windLessTightEmbouchure", 0xE600 ), // glyphnumber: 2576, Somewhat tight embouchure - std::pair( "windMouthpiecePop", 0xE60A ), // glyphnumber: 2577, Mouthpiece or hand pop - std::pair( "windMultiphonicsBlackStem", 0xE607 ), // glyphnumber: 2578, Combining multiphonics (black) for stem - std::pair( "windMultiphonicsBlackWhiteStem", 0xE609 ), // glyphnumber: 2579, Combining multiphonics (black and white) for stem - std::pair( "windMultiphonicsWhiteStem", 0xE608 ), // glyphnumber: 2580, Combining multiphonics (white) for stem - std::pair( "windOpenHole", 0xE5F9 ), // glyphnumber: 2581, Open hole - std::pair( "windReedPositionIn", 0xE606 ), // glyphnumber: 2582, Much more reed (push inwards) - std::pair( "windReedPositionNormal", 0xE604 ), // glyphnumber: 2583, Normal reed position - std::pair( "windReedPositionOut", 0xE605 ), // glyphnumber: 2584, Very little reed (pull outwards) - std::pair( "windRelaxedEmbouchure", 0xE5FD ), // glyphnumber: 2585, Relaxed embouchure - std::pair( "windRimOnly", 0xE60B ), // glyphnumber: 2586, Rim only - std::pair( "windSharpEmbouchure", 0xE5FC ), // glyphnumber: 2587, Sharper embouchure - std::pair( "windStrongAirPressure", 0xE603 ), // glyphnumber: 2588, Very tight embouchure / strong air pressure - std::pair( "windThreeQuartersClosedHole", 0xE5F5 ), // glyphnumber: 2589, Three-quarters closed hole - std::pair( "windTightEmbouchure", 0xE5FF ), // glyphnumber: 2590, Tight embouchure - std::pair( "windTrillKey", 0xE5FA ), // glyphnumber: 2591, Trill key - std::pair( "windVeryTightEmbouchure", 0xE601 ), // glyphnumber: 2592, Very tight embouchure - std::pair( "windWeakAirPressure", 0xE602 ), // glyphnumber: 2593, Very relaxed embouchure / weak air-pressure + { "noteheadLargeArrowDownHalf", 0xE0F3 }, // glyphnumber: 1742, Large arrow down (lowest pitch) half notehead + { "noteheadLargeArrowDownWhole", 0xE0F2 }, // glyphnumber: 1743, Large arrow down (lowest pitch) whole notehead + { "noteheadLargeArrowUpBlack", 0xE0F0 }, // glyphnumber: 1744, Large arrow up (highest pitch) black notehead + { "noteheadLargeArrowUpDoubleWhole", 0xE0ED }, // glyphnumber: 1745, Large arrow up (highest pitch) double whole notehead + { "noteheadLargeArrowUpHalf", 0xE0EF }, // glyphnumber: 1746, Large arrow up (highest pitch) half notehead + { "noteheadLargeArrowUpWhole", 0xE0EE }, // glyphnumber: 1747, Large arrow up (highest pitch) whole notehead + { "noteheadMoonBlack", 0xE0CB }, // glyphnumber: 1748, Moon notehead black + { "noteheadMoonWhite", 0xE0CA }, // glyphnumber: 1749, Moon notehead white + { "noteheadNull", 0xE0A5 }, // glyphnumber: 1750, Null notehead + { "noteheadParenthesis", 0xE0CE }, // glyphnumber: 1751, Parenthesis notehead + { "noteheadParenthesisLeft", 0xE0F5 }, // glyphnumber: 1752, Opening parenthesis + { "noteheadParenthesisRight", 0xE0F6 }, // glyphnumber: 1753, Closing parenthesis + { "noteheadPlusBlack", 0xE0AF }, // glyphnumber: 1754, Plus notehead black + { "noteheadPlusDoubleWhole", 0xE0AC }, // glyphnumber: 1755, Plus notehead double whole + { "noteheadPlusHalf", 0xE0AE }, // glyphnumber: 1756, Plus notehead half + { "noteheadPlusWhole", 0xE0AD }, // glyphnumber: 1757, Plus notehead whole + { "noteheadRectangularClusterBlackBottom", 0xE144 }, // glyphnumber: 1758, Combining black rectangular cluster, bottom + { "noteheadRectangularClusterBlackMiddle", 0xE143 }, // glyphnumber: 1759, Combining black rectangular cluster, middle + { "noteheadRectangularClusterBlackTop", 0xE142 }, // glyphnumber: 1760, Combining black rectangular cluster, top + { "noteheadRectangularClusterWhiteBottom", 0xE147 }, // glyphnumber: 1761, Combining white rectangular cluster, bottom + { "noteheadRectangularClusterWhiteMiddle", 0xE146 }, // glyphnumber: 1762, Combining white rectangular cluster, middle + { "noteheadRectangularClusterWhiteTop", 0xE145 }, // glyphnumber: 1763, Combining white rectangular cluster, top + { "noteheadRoundBlack", 0xE113 }, // glyphnumber: 1764, Round black notehead + { "noteheadRoundBlackDoubleSlashed", 0xE11C }, // glyphnumber: 1765, Round black notehead, double slashed + { "noteheadRoundBlackLarge", 0xE110 }, // glyphnumber: 1766, Large round black notehead + { "noteheadRoundBlackSlashed", 0xE118 }, // glyphnumber: 1767, Round black notehead, slashed + { "noteheadRoundBlackSlashedLarge", 0xE116 }, // glyphnumber: 1768, Large round black notehead, slashed + { "noteheadRoundWhite", 0xE114 }, // glyphnumber: 1769, Round white notehead + { "noteheadRoundWhiteDoubleSlashed", 0xE11D }, // glyphnumber: 1770, Round white notehead, double slashed + { "noteheadRoundWhiteLarge", 0xE111 }, // glyphnumber: 1771, Large round white notehead + { "noteheadRoundWhiteSlashed", 0xE119 }, // glyphnumber: 1772, Round white notehead, slashed + { "noteheadRoundWhiteSlashedLarge", 0xE117 }, // glyphnumber: 1773, Large round white notehead, slashed + { "noteheadRoundWhiteWithDot", 0xE115 }, // glyphnumber: 1774, Round white notehead with dot + { "noteheadRoundWhiteWithDotLarge", 0xE112 }, // glyphnumber: 1775, Large round white notehead with dot + { "noteheadSlashDiamondWhite", 0xE104 }, // glyphnumber: 1776, Large white diamond + { "noteheadSlashHorizontalEnds", 0xE101 }, // glyphnumber: 1777, Slash with horizontal ends + { "noteheadSlashHorizontalEndsMuted", 0xE108 }, // glyphnumber: 1778, Muted slash with horizontal ends + { "noteheadSlashVerticalEnds", 0xE100 }, // glyphnumber: 1779, Slash with vertical ends + { "noteheadSlashVerticalEndsMuted", 0xE107 }, // glyphnumber: 1780, Muted slash with vertical ends + { "noteheadSlashVerticalEndsSmall", 0xE105 }, // glyphnumber: 1781, Small slash with vertical ends + { "noteheadSlashWhiteDoubleWhole", 0xE10A }, // glyphnumber: 1782, White slash double whole + { "noteheadSlashWhiteHalf", 0xE103 }, // glyphnumber: 1783, White slash half + { "noteheadSlashWhiteMuted", 0xE109 }, // glyphnumber: 1784, Muted white slash + { "noteheadSlashWhiteWhole", 0xE102 }, // glyphnumber: 1785, White slash whole + { "noteheadSlashX", 0xE106 }, // glyphnumber: 1786, Large X notehead + { "noteheadSlashedBlack1", 0xE0CF }, // glyphnumber: 1787, Slashed black notehead (bottom left to top right) + { "noteheadSlashedBlack2", 0xE0D0 }, // glyphnumber: 1788, Slashed black notehead (top left to bottom right) + { "noteheadSlashedDoubleWhole1", 0xE0D5 }, // glyphnumber: 1789, Slashed double whole notehead (bottom left to top right) + { "noteheadSlashedDoubleWhole2", 0xE0D6 }, // glyphnumber: 1790, Slashed double whole notehead (top left to bottom right) + { "noteheadSlashedHalf1", 0xE0D1 }, // glyphnumber: 1791, Slashed half notehead (bottom left to top right) + { "noteheadSlashedHalf2", 0xE0D2 }, // glyphnumber: 1792, Slashed half notehead (top left to bottom right) + { "noteheadSlashedWhole1", 0xE0D3 }, // glyphnumber: 1793, Slashed whole notehead (bottom left to top right) + { "noteheadSlashedWhole2", 0xE0D4 }, // glyphnumber: 1794, Slashed whole notehead (top left to bottom right) + { "noteheadSquareBlack", 0xE0B9 }, // glyphnumber: 1795, Square notehead black + { "noteheadSquareBlackLarge", 0xE11A }, // glyphnumber: 1796, Large square black notehead + { "noteheadSquareBlackWhite", 0xE11B }, // glyphnumber: 1797, Large square white notehead + { "noteheadSquareWhite", 0xE0B8 }, // glyphnumber: 1798, Square notehead white + { "noteheadTriangleDownBlack", 0xE0C7 }, // glyphnumber: 1799, Triangle notehead down black + { "noteheadTriangleDownDoubleWhole", 0xE0C3 }, // glyphnumber: 1800, Triangle notehead down double whole + { "noteheadTriangleDownHalf", 0xE0C5 }, // glyphnumber: 1801, Triangle notehead down half + { "noteheadTriangleDownWhite", 0xE0C6 }, // glyphnumber: 1802, Triangle notehead down white + { "noteheadTriangleDownWhole", 0xE0C4 }, // glyphnumber: 1803, Triangle notehead down whole + { "noteheadTriangleLeftBlack", 0xE0C0 }, // glyphnumber: 1804, Triangle notehead left black + { "noteheadTriangleLeftWhite", 0xE0BF }, // glyphnumber: 1805, Triangle notehead left white + { "noteheadTriangleRightBlack", 0xE0C2 }, // glyphnumber: 1806, Triangle notehead right black + { "noteheadTriangleRightWhite", 0xE0C1 }, // glyphnumber: 1807, Triangle notehead right white + { "noteheadTriangleRoundDownBlack", 0xE0CD }, // glyphnumber: 1808, Triangle-round notehead down black + { "noteheadTriangleRoundDownWhite", 0xE0CC }, // glyphnumber: 1809, Triangle-round notehead down white + { "noteheadTriangleUpBlack", 0xE0BE }, // glyphnumber: 1810, Triangle notehead up black + { "noteheadTriangleUpDoubleWhole", 0xE0BA }, // glyphnumber: 1811, Triangle notehead up double whole + { "noteheadTriangleUpHalf", 0xE0BC }, // glyphnumber: 1812, Triangle notehead up half + { "noteheadTriangleUpRightBlack", 0xE0C9 }, // glyphnumber: 1813, Triangle notehead up right black + { "noteheadTriangleUpRightWhite", 0xE0C8 }, // glyphnumber: 1814, Triangle notehead up right white + { "noteheadTriangleUpWhite", 0xE0BD }, // glyphnumber: 1815, Triangle notehead up white + { "noteheadTriangleUpWhole", 0xE0BB }, // glyphnumber: 1816, Triangle notehead up whole + { "noteheadVoidWithX", 0xE0B7 }, // glyphnumber: 1817, Void notehead with X + { "noteheadWhole", 0xE0A2 }, // glyphnumber: 1818, Whole (semibreve) notehead + { "noteheadWholeFilled", 0xE0FA }, // glyphnumber: 1819, Filled whole (semibreve) notehead + { "noteheadWholeWithX", 0xE0B5 }, // glyphnumber: 1820, Whole notehead with X + { "noteheadXBlack", 0xE0A9 }, // glyphnumber: 1821, X notehead black + { "noteheadXDoubleWhole", 0xE0A6 }, // glyphnumber: 1822, X notehead double whole + { "noteheadXHalf", 0xE0A8 }, // glyphnumber: 1823, X notehead half + { "noteheadXOrnate", 0xE0AA }, // glyphnumber: 1824, Ornate X notehead + { "noteheadXOrnateEllipse", 0xE0AB }, // glyphnumber: 1825, Ornate X notehead in ellipse + { "noteheadXWhole", 0xE0A7 }, // glyphnumber: 1826, X notehead whole + { "octaveBaselineA", 0xEC91 }, // glyphnumber: 1827, a (baseline) + { "octaveBaselineB", 0xEC93 }, // glyphnumber: 1828, b (baseline) + { "octaveBaselineM", 0xEC95 }, // glyphnumber: 1829, m (baseline) + { "octaveBaselineV", 0xEC97 }, // glyphnumber: 1830, v (baseline) + { "octaveBassa", 0xE51F }, // glyphnumber: 1831, Bassa + { "octaveLoco", 0xEC90 }, // glyphnumber: 1832, Loco + { "octaveParensLeft", 0xE51A }, // glyphnumber: 1833, Left parenthesis for octave signs + { "octaveParensRight", 0xE51B }, // glyphnumber: 1834, Right parenthesis for octave signs + { "octaveSuperscriptA", 0xEC92 }, // glyphnumber: 1835, a (superscript) + { "octaveSuperscriptB", 0xEC94 }, // glyphnumber: 1836, b (superscript) + { "octaveSuperscriptM", 0xEC96 }, // glyphnumber: 1837, m (superscript) + { "octaveSuperscriptV", 0xEC98 }, // glyphnumber: 1838, v (superscript) + { "ornamentBottomLeftConcaveStroke", 0xE59A }, // glyphnumber: 1839, Ornament bottom left concave stroke + { "ornamentBottomLeftConcaveStrokeLarge", 0xE59B }, // glyphnumber: 1840, Ornament bottom left concave stroke, large + { "ornamentBottomLeftConvexStroke", 0xE59C }, // glyphnumber: 1841, Ornament bottom left convex stroke + { "ornamentBottomRightConcaveStroke", 0xE5A7 }, // glyphnumber: 1842, Ornament bottom right concave stroke + { "ornamentBottomRightConvexStroke", 0xE5A8 }, // glyphnumber: 1843, Ornament bottom right convex stroke + { "ornamentComma", 0xE581 }, // glyphnumber: 1844, Comma + { "ornamentDoubleObliqueLinesAfterNote", 0xE57E }, // glyphnumber: 1845, Double oblique straight lines NW-SE + { "ornamentDoubleObliqueLinesBeforeNote", 0xE57D }, // glyphnumber: 1846, Double oblique straight lines SW-NE + { "ornamentDownCurve", 0xE578 }, // glyphnumber: 1847, Curve below + { "ornamentHaydn", 0xE56F }, // glyphnumber: 1848, Haydn ornament + { "ornamentHighLeftConcaveStroke", 0xE592 }, // glyphnumber: 1849, Ornament high left concave stroke + { "ornamentHighLeftConvexStroke", 0xE593 }, // glyphnumber: 1850, Ornament high left convex stroke + { "ornamentHighRightConcaveStroke", 0xE5A2 }, // glyphnumber: 1851, Ornament high right concave stroke + { "ornamentHighRightConvexStroke", 0xE5A3 }, // glyphnumber: 1852, Ornament high right convex stroke + { "ornamentHookAfterNote", 0xE576 }, // glyphnumber: 1853, Hook after note + { "ornamentHookBeforeNote", 0xE575 }, // glyphnumber: 1854, Hook before note + { "ornamentLeftFacingHalfCircle", 0xE572 }, // glyphnumber: 1855, Left-facing half circle + { "ornamentLeftFacingHook", 0xE574 }, // glyphnumber: 1856, Left-facing hook + { "ornamentLeftPlus", 0xE597 }, // glyphnumber: 1857, Ornament left + + { "ornamentLeftShakeT", 0xE596 }, // glyphnumber: 1858, Ornament left shake t + { "ornamentLeftVerticalStroke", 0xE594 }, // glyphnumber: 1859, Ornament left vertical stroke + { "ornamentLeftVerticalStrokeWithCross", 0xE595 }, // glyphnumber: 1860, Ornament left vertical stroke with cross (+) + { "ornamentLowLeftConcaveStroke", 0xE598 }, // glyphnumber: 1861, Ornament low left concave stroke + { "ornamentLowLeftConvexStroke", 0xE599 }, // glyphnumber: 1862, Ornament low left convex stroke + { "ornamentLowRightConcaveStroke", 0xE5A5 }, // glyphnumber: 1863, Ornament low right concave stroke + { "ornamentLowRightConvexStroke", 0xE5A6 }, // glyphnumber: 1864, Ornament low right convex stroke + { "ornamentMiddleVerticalStroke", 0xE59F }, // glyphnumber: 1865, Ornament middle vertical stroke + { "ornamentMordent", 0xE56C }, // glyphnumber: 1866, Mordent + { "ornamentMordentInverted", 0xE56D }, // glyphnumber: 1867, Inverted mordent + { "ornamentObliqueLineAfterNote", 0xE57C }, // glyphnumber: 1868, Oblique straight line NW-SE + { "ornamentObliqueLineBeforeNote", 0xE57B }, // glyphnumber: 1869, Oblique straight line SW-NE + { "ornamentObliqueLineHorizAfterNote", 0xE580 }, // glyphnumber: 1870, Oblique straight line tilted NW-SE + { "ornamentObliqueLineHorizBeforeNote", 0xE57F }, // glyphnumber: 1871, Oblique straight line tilted SW-NE + { "ornamentOriscus", 0xEA21 }, // glyphnumber: 1872, Oriscus + { "ornamentPinceCouperin", 0xE588 }, // glyphnumber: 1873, Pincé (Couperin) + { "ornamentPortDeVoixV", 0xE570 }, // glyphnumber: 1874, Port de voix + { "ornamentPrecompAppoggTrill", 0xE5B2 }, // glyphnumber: 1875, Supported appoggiatura trill + { "ornamentPrecompAppoggTrillSuffix", 0xE5B3 }, // glyphnumber: 1876, Supported appoggiatura trill with two-note suffix + { "ornamentPrecompCadence", 0xE5BE }, // glyphnumber: 1877, Cadence + { "ornamentPrecompCadenceUpperPrefix", 0xE5C1 }, // glyphnumber: 1878, Cadence with upper prefix + { "ornamentPrecompCadenceUpperPrefixTurn", 0xE5C2 }, // glyphnumber: 1879, Cadence with upper prefix and turn + { "ornamentPrecompCadenceWithTurn", 0xE5BF }, // glyphnumber: 1880, Cadence with turn + { "ornamentPrecompDescendingSlide", 0xE5B1 }, // glyphnumber: 1881, Descending slide + { "ornamentPrecompDoubleCadenceLowerPrefix", 0xE5C0 }, // glyphnumber: 1882, Double cadence with lower prefix + { "ornamentPrecompDoubleCadenceUpperPrefix", 0xE5C3 }, // glyphnumber: 1883, Double cadence with upper prefix + { "ornamentPrecompDoubleCadenceUpperPrefixTurn", 0xE5C4 }, // glyphnumber: 1884, Double cadence with upper prefix and turn + { "ornamentPrecompInvertedMordentUpperPrefix", 0xE5C7 }, // glyphnumber: 1885, Inverted mordent with upper prefix + { "ornamentPrecompMordentRelease", 0xE5C5 }, // glyphnumber: 1886, Mordent with release + { "ornamentPrecompMordentUpperPrefix", 0xE5C6 }, // glyphnumber: 1887, Mordent with upper prefix + { "ornamentPrecompPortDeVoixMordent", 0xE5BC }, // glyphnumber: 1888, Pre-beat port de voix follwed by multiple mordent (Dandrieu) + { "ornamentPrecompSlide", 0xE5B0 }, // glyphnumber: 1889, Slide + { "ornamentPrecompSlideTrillBach", 0xE5B8 }, // glyphnumber: 1890, Slide-trill with two-note suffix (J.S. Bach) + { "ornamentPrecompSlideTrillDAnglebert", 0xE5B5 }, // glyphnumber: 1891, Slide-trill (D'Anglebert) + { "ornamentPrecompSlideTrillMarpurg", 0xE5B6 }, // glyphnumber: 1892, Slide-trill with one-note suffix (Marpurg) + { "ornamentPrecompSlideTrillMuffat", 0xE5B9 }, // glyphnumber: 1893, Slide-trill (Muffat) + { "ornamentPrecompSlideTrillSuffixMuffat", 0xE5BA }, // glyphnumber: 1894, Slide-trill with two-note suffix (Muffat) + { "ornamentPrecompTrillLowerSuffix", 0xE5C8 }, // glyphnumber: 1895, Trill with lower suffix + { "ornamentPrecompTrillSuffixDandrieu", 0xE5BB }, // glyphnumber: 1896, Trill with two-note suffix (Dandrieu) + { "ornamentPrecompTrillWithMordent", 0xE5BD }, // glyphnumber: 1897, Trill with mordent + { "ornamentPrecompTurnTrillBach", 0xE5B7 }, // glyphnumber: 1898, Turn-trill with two-note suffix (J.S. Bach) + { "ornamentPrecompTurnTrillDAnglebert", 0xE5B4 }, // glyphnumber: 1899, Turn-trill (D'Anglebert) + { "ornamentQuilisma", 0xEA20 }, // glyphnumber: 1900, Quilisma + { "ornamentRightFacingHalfCircle", 0xE571 }, // glyphnumber: 1901, Right-facing half circle + { "ornamentRightFacingHook", 0xE573 }, // glyphnumber: 1902, Right-facing hook + { "ornamentRightVerticalStroke", 0xE5A4 }, // glyphnumber: 1903, Ornament right vertical stroke + { "ornamentSchleifer", 0xE587 }, // glyphnumber: 1904, Schleifer (long mordent) + { "ornamentShake3", 0xE582 }, // glyphnumber: 1905, Shake + { "ornamentShakeMuffat1", 0xE584 }, // glyphnumber: 1906, Shake (Muffat) + { "ornamentShortObliqueLineAfterNote", 0xE57A }, // glyphnumber: 1907, Short oblique straight line NW-SE + { "ornamentShortObliqueLineBeforeNote", 0xE579 }, // glyphnumber: 1908, Short oblique straight line SW-NE + { "ornamentTopLeftConcaveStroke", 0xE590 }, // glyphnumber: 1909, Ornament top left concave stroke + { "ornamentTopLeftConvexStroke", 0xE591 }, // glyphnumber: 1910, Ornament top left convex stroke + { "ornamentTopRightConcaveStroke", 0xE5A0 }, // glyphnumber: 1911, Ornament top right concave stroke + { "ornamentTopRightConvexStroke", 0xE5A1 }, // glyphnumber: 1912, Ornament top right convex stroke + { "ornamentTremblement", 0xE56E }, // glyphnumber: 1913, Tremblement + { "ornamentTremblementCouperin", 0xE589 }, // glyphnumber: 1914, Tremblement appuyé (Couperin) + { "ornamentTrill", 0xE566 }, // glyphnumber: 1915, Trill + { "ornamentTurn", 0xE567 }, // glyphnumber: 1916, Turn + { "ornamentTurnInverted", 0xE568 }, // glyphnumber: 1917, Inverted turn + { "ornamentTurnSlash", 0xE569 }, // glyphnumber: 1918, Turn with slash + { "ornamentTurnUp", 0xE56A }, // glyphnumber: 1919, Turn up + { "ornamentTurnUpS", 0xE56B }, // glyphnumber: 1920, Inverted turn up + { "ornamentUpCurve", 0xE577 }, // glyphnumber: 1921, Curve above + { "ornamentVerticalLine", 0xE583 }, // glyphnumber: 1922, Vertical line + { "ornamentZigZagLineNoRightEnd", 0xE59D }, // glyphnumber: 1923, Ornament zig-zag line without right-hand end + { "ornamentZigZagLineWithRightEnd", 0xE59E }, // glyphnumber: 1924, Ornament zig-zag line with right-hand end + { "ottava", 0xE510 }, // glyphnumber: 1925, Ottava + { "ottavaAlta", 0xE511 }, // glyphnumber: 1926, Ottava alta + { "ottavaBassa", 0xE512 }, // glyphnumber: 1927, Ottava bassa + { "ottavaBassaBa", 0xE513 }, // glyphnumber: 1928, Ottava bassa (ba) + { "ottavaBassaVb", 0xE51C }, // glyphnumber: 1929, Ottava bassa (8vb) + { "pendereckiTremolo", 0xE22B }, // glyphnumber: 1930, Penderecki unmeasured tremolo + { "pictAgogo", 0xE717 }, // glyphnumber: 1931, Agogo + { "pictAlmglocken", 0xE712 }, // glyphnumber: 1932, Almglocken + { "pictAnvil", 0xE701 }, // glyphnumber: 1933, Anvil + { "pictBambooChimes", 0xE6C3 }, // glyphnumber: 1934, Bamboo tube chimes + { "pictBambooScraper", 0xE6FB }, // glyphnumber: 1935, Bamboo scraper + { "pictBassDrum", 0xE6D4 }, // glyphnumber: 1936, Bass drum + { "pictBassDrumOnSide", 0xE6D5 }, // glyphnumber: 1937, Bass drum on side + { "pictBeaterBow", 0xE7DE }, // glyphnumber: 1938, Bow + { "pictBeaterBox", 0xE7EB }, // glyphnumber: 1939, Box for percussion beater + { "pictBeaterBrassMalletsDown", 0xE7DA }, // glyphnumber: 1940, Brass mallets down + { "pictBeaterBrassMalletsUp", 0xE7D9 }, // glyphnumber: 1941, Brass mallets up + { "pictBeaterCombiningDashedCircle", 0xE7EA }, // glyphnumber: 1942, Combining dashed circle for round beaters (plated) + { "pictBeaterCombiningParentheses", 0xE7E9 }, // glyphnumber: 1943, Combining parentheses for round beaters (padded) + { "pictBeaterDoubleBassDrumDown", 0xE7A1 }, // glyphnumber: 1944, Double bass drum stick down + { "pictBeaterDoubleBassDrumUp", 0xE7A0 }, // glyphnumber: 1945, Double bass drum stick up + { "pictBeaterFinger", 0xE7E4 }, // glyphnumber: 1946, Finger + { "pictBeaterFingernails", 0xE7E6 }, // glyphnumber: 1947, Fingernails + { "pictBeaterFist", 0xE7E5 }, // glyphnumber: 1948, Fist + { "pictBeaterGuiroScraper", 0xE7DD }, // glyphnumber: 1949, Guiro scraper + { "pictBeaterHammer", 0xE7E1 }, // glyphnumber: 1950, Hammer + { "pictBeaterHammerMetalDown", 0xE7D0 }, // glyphnumber: 1951, Metal hammer, down + { "pictBeaterHammerMetalUp", 0xE7CF }, // glyphnumber: 1952, Metal hammer, up + { "pictBeaterHammerPlasticDown", 0xE7CE }, // glyphnumber: 1953, Plastic hammer, down + { "pictBeaterHammerPlasticUp", 0xE7CD }, // glyphnumber: 1954, Plastic hammer, up + { "pictBeaterHammerWoodDown", 0xE7CC }, // glyphnumber: 1955, Wooden hammer, down + { "pictBeaterHammerWoodUp", 0xE7CB }, // glyphnumber: 1956, Wooden hammer, up + { "pictBeaterHand", 0xE7E3 }, // glyphnumber: 1957, Hand + { "pictBeaterHardBassDrumDown", 0xE79D }, // glyphnumber: 1958, Hard bass drum stick down + { "pictBeaterHardBassDrumUp", 0xE79C }, // glyphnumber: 1959, Hard bass drum stick up + { "pictBeaterHardGlockenspielDown", 0xE785 }, // glyphnumber: 1960, Hard glockenspiel stick down + { "pictBeaterHardGlockenspielLeft", 0xE787 }, // glyphnumber: 1961, Hard glockenspiel stick left + { "pictBeaterHardGlockenspielRight", 0xE786 }, // glyphnumber: 1962, Hard glockenspiel stick right + { "pictBeaterHardGlockenspielUp", 0xE784 }, // glyphnumber: 1963, Hard glockenspiel stick up + { "pictBeaterHardTimpaniDown", 0xE791 }, // glyphnumber: 1964, Hard timpani stick down + { "pictBeaterHardTimpaniLeft", 0xE793 }, // glyphnumber: 1965, Hard timpani stick left + { "pictBeaterHardTimpaniRight", 0xE792 }, // glyphnumber: 1966, Hard timpani stick right + { "pictBeaterHardTimpaniUp", 0xE790 }, // glyphnumber: 1967, Hard timpani stick up + { "pictBeaterHardXylophoneDown", 0xE779 }, // glyphnumber: 1968, Hard xylophone stick down + { "pictBeaterHardXylophoneLeft", 0xE77B }, // glyphnumber: 1969, Hard xylophone stick left + { "pictBeaterHardXylophoneRight", 0xE77A }, // glyphnumber: 1970, Hard xylophone stick right + { "pictBeaterHardXylophoneUp", 0xE778 }, // glyphnumber: 1971, Hard xylophone stick up + { "pictBeaterHardYarnDown", 0xE7AB }, // glyphnumber: 1972, Hard yarn beater down + { "pictBeaterHardYarnLeft", 0xE7AD }, // glyphnumber: 1973, Hard yarn beater left + { "pictBeaterHardYarnRight", 0xE7AC }, // glyphnumber: 1974, Hard yarn beater right + { "pictBeaterHardYarnUp", 0xE7AA }, // glyphnumber: 1975, Hard yarn beater up + { "pictBeaterJazzSticksDown", 0xE7D4 }, // glyphnumber: 1976, Jazz sticks down + { "pictBeaterJazzSticksUp", 0xE7D3 }, // glyphnumber: 1977, Jazz sticks up + { "pictBeaterKnittingNeedle", 0xE7E2 }, // glyphnumber: 1978, Knitting needle + { "pictBeaterMallet", 0xE7DF }, // glyphnumber: 1979, Chime hammer + { "pictBeaterMediumBassDrumDown", 0xE79B }, // glyphnumber: 1980, Medium bass drum stick down + { "pictBeaterMediumBassDrumUp", 0xE79A }, // glyphnumber: 1981, Medium bass drum stick up + { "pictBeaterMediumTimpaniDown", 0xE78D }, // glyphnumber: 1982, Medium timpani stick down + { "pictBeaterMediumTimpaniLeft", 0xE78F }, // glyphnumber: 1983, Medium timpani stick left + { "pictBeaterMediumTimpaniRight", 0xE78E }, // glyphnumber: 1984, Medium timpani stick right + { "pictBeaterMediumTimpaniUp", 0xE78C }, // glyphnumber: 1985, Medium timpani stick up + { "pictBeaterMediumXylophoneDown", 0xE775 }, // glyphnumber: 1986, Medium xylophone stick down + { "pictBeaterMediumXylophoneLeft", 0xE777 }, // glyphnumber: 1987, Medium xylophone stick left + { "pictBeaterMediumXylophoneRight", 0xE776 }, // glyphnumber: 1988, Medium xylophone stick right + { "pictBeaterMediumXylophoneUp", 0xE774 }, // glyphnumber: 1989, Medium xylophone stick up + { "pictBeaterMediumYarnDown", 0xE7A7 }, // glyphnumber: 1990, Medium yarn beater down + { "pictBeaterMediumYarnLeft", 0xE7A9 }, // glyphnumber: 1991, Medium yarn beater left + { "pictBeaterMediumYarnRight", 0xE7A8 }, // glyphnumber: 1992, Medium yarn beater right + { "pictBeaterMediumYarnUp", 0xE7A6 }, // glyphnumber: 1993, Medium yarn beater up + { "pictBeaterMetalBassDrumDown", 0xE79F }, // glyphnumber: 1994, Metal bass drum stick down + { "pictBeaterMetalBassDrumUp", 0xE79E }, // glyphnumber: 1995, Metal bass drum stick up + { "pictBeaterMetalDown", 0xE7C8 }, // glyphnumber: 1996, Metal beater down + { "pictBeaterMetalHammer", 0xE7E0 }, // glyphnumber: 1997, Metal hammer + { "pictBeaterMetalLeft", 0xE7CA }, // glyphnumber: 1998, Metal beater, left + { "pictBeaterMetalRight", 0xE7C9 }, // glyphnumber: 1999, Metal beater, right + { "pictBeaterMetalUp", 0xE7C7 }, // glyphnumber: 2000, Metal beater, up + { "pictBeaterSnareSticksDown", 0xE7D2 }, // glyphnumber: 2001, Snare sticks down + { "pictBeaterSnareSticksUp", 0xE7D1 }, // glyphnumber: 2002, Snare sticks up + { "pictBeaterSoftBassDrumDown", 0xE799 }, // glyphnumber: 2003, Soft bass drum stick down + { "pictBeaterSoftBassDrumUp", 0xE798 }, // glyphnumber: 2004, Soft bass drum stick up + { "pictBeaterSoftGlockenspielDown", 0xE781 }, // glyphnumber: 2005, Soft glockenspiel stick down + { "pictBeaterSoftGlockenspielLeft", 0xE783 }, // glyphnumber: 2006, Soft glockenspiel stick left + { "pictBeaterSoftGlockenspielRight", 0xE782 }, // glyphnumber: 2007, Soft glockenspiel stick right + { "pictBeaterSoftGlockenspielUp", 0xE780 }, // glyphnumber: 2008, Soft glockenspiel stick up + { "pictBeaterSoftTimpaniDown", 0xE789 }, // glyphnumber: 2009, Soft timpani stick down + { "pictBeaterSoftTimpaniLeft", 0xE78B }, // glyphnumber: 2010, Soft timpani stick left + { "pictBeaterSoftTimpaniRight", 0xE78A }, // glyphnumber: 2011, Soft timpani stick right + { "pictBeaterSoftTimpaniUp", 0xE788 }, // glyphnumber: 2012, Soft timpani stick up + { "pictBeaterSoftXylophone", 0xE7DB }, // glyphnumber: 2013, Soft xylophone beaters + { "pictBeaterSoftXylophoneDown", 0xE771 }, // glyphnumber: 2014, Soft xylophone stick down + { "pictBeaterSoftXylophoneLeft", 0xE773 }, // glyphnumber: 2015, Soft xylophone stick left + { "pictBeaterSoftXylophoneRight", 0xE772 }, // glyphnumber: 2016, Soft xylophone stick right + { "pictBeaterSoftXylophoneUp", 0xE770 }, // glyphnumber: 2017, Soft xylophone stick up + { "pictBeaterSoftYarnDown", 0xE7A3 }, // glyphnumber: 2018, Soft yarn beater down + { "pictBeaterSoftYarnLeft", 0xE7A5 }, // glyphnumber: 2019, Soft yarn beater left + { "pictBeaterSoftYarnRight", 0xE7A4 }, // glyphnumber: 2020, Soft yarn beater right + { "pictBeaterSoftYarnUp", 0xE7A2 }, // glyphnumber: 2021, Soft yarn beater up + { "pictBeaterSpoonWoodenMallet", 0xE7DC }, // glyphnumber: 2022, Spoon-shaped wooden mallet + { "pictBeaterSuperballDown", 0xE7AF }, // glyphnumber: 2023, Superball beater down + { "pictBeaterSuperballLeft", 0xE7B1 }, // glyphnumber: 2024, Superball beater left + { "pictBeaterSuperballRight", 0xE7B0 }, // glyphnumber: 2025, Superball beater right + { "pictBeaterSuperballUp", 0xE7AE }, // glyphnumber: 2026, Superball beater up + { "pictBeaterTriangleDown", 0xE7D6 }, // glyphnumber: 2027, Triangle beater down + { "pictBeaterTriangleUp", 0xE7D5 }, // glyphnumber: 2028, Triangle beater up + { "pictBeaterWireBrushesDown", 0xE7D8 }, // glyphnumber: 2029, Wire brushes down + { "pictBeaterWireBrushesUp", 0xE7D7 }, // glyphnumber: 2030, Wire brushes up + { "pictBeaterWoodTimpaniDown", 0xE795 }, // glyphnumber: 2031, Wood timpani stick down + { "pictBeaterWoodTimpaniLeft", 0xE797 }, // glyphnumber: 2032, Wood timpani stick left + { "pictBeaterWoodTimpaniRight", 0xE796 }, // glyphnumber: 2033, Wood timpani stick right + { "pictBeaterWoodTimpaniUp", 0xE794 }, // glyphnumber: 2034, Wood timpani stick up + { "pictBeaterWoodXylophoneDown", 0xE77D }, // glyphnumber: 2035, Wood xylophone stick down + { "pictBeaterWoodXylophoneLeft", 0xE77F }, // glyphnumber: 2036, Wood xylophone stick left + { "pictBeaterWoodXylophoneRight", 0xE77E }, // glyphnumber: 2037, Wood xylophone stick right + { "pictBeaterWoodXylophoneUp", 0xE77C }, // glyphnumber: 2038, Wood xylophone stick up + { "pictBell", 0xE714 }, // glyphnumber: 2039, Bell + { "pictBellOfCymbal", 0xE72A }, // glyphnumber: 2040, Bell of cymbal + { "pictBellPlate", 0xE713 }, // glyphnumber: 2041, Bell plate + { "pictBellTree", 0xE71A }, // glyphnumber: 2042, Bell tree + { "pictBirdWhistle", 0xE751 }, // glyphnumber: 2043, Bird whistle + { "pictBoardClapper", 0xE6F7 }, // glyphnumber: 2044, Board clapper + { "pictBongos", 0xE6DD }, // glyphnumber: 2045, Bongos + { "pictBrakeDrum", 0xE6E1 }, // glyphnumber: 2046, Brake drum + { "pictCabasa", 0xE743 }, // glyphnumber: 2047, Cabasa + { "pictCannon", 0xE761 }, // glyphnumber: 2048, Cannon + { "pictCarHorn", 0xE755 }, // glyphnumber: 2049, Car horn + { "pictCastanets", 0xE6F8 }, // glyphnumber: 2050, Castanets + { "pictCastanetsWithHandle", 0xE6F9 }, // glyphnumber: 2051, Castanets with handle + { "pictCelesta", 0xE6B0 }, // glyphnumber: 2052, Celesta + { "pictCencerro", 0xE716 }, // glyphnumber: 2053, Cencerro + { "pictCenter1", 0xE7FE }, // glyphnumber: 2054, Center (Weinberg) + { "pictCenter2", 0xE7FF }, // glyphnumber: 2055, Center (Ghent) + { "pictCenter3", 0xE800 }, // glyphnumber: 2056, Center (Caltabiano) + { "pictChainRattle", 0xE748 }, // glyphnumber: 2057, Chain rattle + { "pictChimes", 0xE6C2 }, // glyphnumber: 2058, Chimes + { "pictChineseCymbal", 0xE726 }, // glyphnumber: 2059, Chinese cymbal + { "pictChokeCymbal", 0xE805 }, // glyphnumber: 2060, Choke (Weinberg) + { "pictClaves", 0xE6F2 }, // glyphnumber: 2061, Claves + { "pictCoins", 0xE7E7 }, // glyphnumber: 2062, Coins + { "pictConga", 0xE6DE }, // glyphnumber: 2063, Conga + { "pictCowBell", 0xE711 }, // glyphnumber: 2064, Cow bell + { "pictCrashCymbals", 0xE720 }, // glyphnumber: 2065, Crash cymbals + { "pictCrotales", 0xE6AE }, // glyphnumber: 2066, Crotales + { "pictCrushStem", 0xE80C }, // glyphnumber: 2067, Combining crush for stem + { "pictCuica", 0xE6E4 }, // glyphnumber: 2068, Cuica + { "pictCymbalTongs", 0xE728 }, // glyphnumber: 2069, Cymbal tongs + { "pictDamp1", 0xE7F9 }, // glyphnumber: 2070, Damp + { "pictDamp2", 0xE7FA }, // glyphnumber: 2071, Damp 2 + { "pictDamp3", 0xE7FB }, // glyphnumber: 2072, Damp 3 + { "pictDamp4", 0xE7FC }, // glyphnumber: 2073, Damp 4 + { "pictDeadNoteStem", 0xE80D }, // glyphnumber: 2074, Combining X for stem (dead note) + { "pictDrumStick", 0xE7E8 }, // glyphnumber: 2075, Drum stick + { "pictDuckCall", 0xE757 }, // glyphnumber: 2076, Duck call + { "pictEdgeOfCymbal", 0xE729 }, // glyphnumber: 2077, Edge of cymbal + { "pictEmptyTrap", 0xE6A9 }, // glyphnumber: 2078, Empty trapezoid + { "pictFingerCymbals", 0xE727 }, // glyphnumber: 2079, Finger cymbals + { "pictFlexatone", 0xE740 }, // glyphnumber: 2080, Flexatone + { "pictFootballRatchet", 0xE6F5 }, // glyphnumber: 2081, Football rattle + { "pictGlassHarmonica", 0xE765 }, // glyphnumber: 2082, Glass harmonica + { "pictGlassHarp", 0xE764 }, // glyphnumber: 2083, Glass harp + { "pictGlassPlateChimes", 0xE6C6 }, // glyphnumber: 2084, Glass plate chimes + { "pictGlassTubeChimes", 0xE6C5 }, // glyphnumber: 2085, Glass tube chimes + { "pictGlsp", 0xE6A0 }, // glyphnumber: 2086, Glockenspiel + { "pictGlspSmithBrindle", 0xE6AA }, // glyphnumber: 2087, Glockenspiel (Smith Brindle) + { "pictGobletDrum", 0xE6E2 }, // glyphnumber: 2088, Goblet drum (djembe, dumbek) + { "pictGong", 0xE732 }, // glyphnumber: 2089, Gong + { "pictGongWithButton", 0xE733 }, // glyphnumber: 2090, Gong with button (nipple) + { "pictGuiro", 0xE6F3 }, // glyphnumber: 2091, Guiro + { "pictGumHardDown", 0xE7C4 }, // glyphnumber: 2092, Hard gum beater, down + { "pictGumHardLeft", 0xE7C6 }, // glyphnumber: 2093, Hard gum beater, left + { "pictGumHardRight", 0xE7C5 }, // glyphnumber: 2094, Hard gum beater, right + { "pictGumHardUp", 0xE7C3 }, // glyphnumber: 2095, Hard gum beater, up + { "pictGumMediumDown", 0xE7C0 }, // glyphnumber: 2096, Medium gum beater, down + { "pictGumMediumLeft", 0xE7C2 }, // glyphnumber: 2097, Medium gum beater, left + { "pictGumMediumRight", 0xE7C1 }, // glyphnumber: 2098, Medium gum beater, right + { "pictGumMediumUp", 0xE7BF }, // glyphnumber: 2099, Medium gum beater, up + { "pictGumSoftDown", 0xE7BC }, // glyphnumber: 2100, Soft gum beater, down + { "pictGumSoftLeft", 0xE7BE }, // glyphnumber: 2101, Soft gum beater, left + { "pictGumSoftRight", 0xE7BD }, // glyphnumber: 2102, Soft gum beater, right + { "pictGumSoftUp", 0xE7BB }, // glyphnumber: 2103, Soft gum beater, up + { "pictHalfOpen1", 0xE7F6 }, // glyphnumber: 2104, Half-open + { "pictHalfOpen2", 0xE7F7 }, // glyphnumber: 2105, Half-open 2 (Weinberg) + { "pictHandbell", 0xE715 }, // glyphnumber: 2106, Handbell + { "pictHiHat", 0xE722 }, // glyphnumber: 2107, Hi-hat + { "pictHiHatOnStand", 0xE723 }, // glyphnumber: 2108, Hi-hat cymbals on stand + { "pictJawHarp", 0xE767 }, // glyphnumber: 2109, Jaw harp + { "pictJingleBells", 0xE719 }, // glyphnumber: 2110, Jingle bells + { "pictKlaxonHorn", 0xE756 }, // glyphnumber: 2111, Klaxon horn + { "pictLeftHandCircle", 0xE807 }, // glyphnumber: 2112, Right hand (Agostini) + { "pictLionsRoar", 0xE763 }, // glyphnumber: 2113, Lion's roar + { "pictLithophone", 0xE6B1 }, // glyphnumber: 2114, Lithophone + { "pictLogDrum", 0xE6DF }, // glyphnumber: 2115, Log drum + { "pictLotusFlute", 0xE75A }, // glyphnumber: 2116, Lotus flute + { "pictMar", 0xE6A6 }, // glyphnumber: 2117, Marimba + { "pictMarSmithBrindle", 0xE6AC }, // glyphnumber: 2118, Marimba (Smith Brindle) + { "pictMaraca", 0xE741 }, // glyphnumber: 2119, Maraca + { "pictMaracas", 0xE742 }, // glyphnumber: 2120, Maracas + { "pictMegaphone", 0xE759 }, // glyphnumber: 2121, Megaphone + { "pictMetalPlateChimes", 0xE6C8 }, // glyphnumber: 2122, Metal plate chimes + { "pictMetalTubeChimes", 0xE6C7 }, // glyphnumber: 2123, Metal tube chimes + { "pictMusicalSaw", 0xE766 }, // glyphnumber: 2124, Musical saw + { "pictNormalPosition", 0xE804 }, // glyphnumber: 2125, Normal position (Caltabiano) + { "pictOnRim", 0xE7F4 }, // glyphnumber: 2126, On rim + { "pictOpen", 0xE7F8 }, // glyphnumber: 2127, Open + { "pictOpenRimShot", 0xE7F5 }, // glyphnumber: 2128, Closed / rim shot + { "pictPistolShot", 0xE760 }, // glyphnumber: 2129, Pistol shot + { "pictPoliceWhistle", 0xE752 }, // glyphnumber: 2130, Police whistle + { "pictQuijada", 0xE6FA }, // glyphnumber: 2131, Quijada (jawbone) + { "pictRainstick", 0xE747 }, // glyphnumber: 2132, Rainstick + { "pictRatchet", 0xE6F4 }, // glyphnumber: 2133, Ratchet + { "pictRecoReco", 0xE6FC }, // glyphnumber: 2134, Reco-reco + { "pictRightHandSquare", 0xE806 }, // glyphnumber: 2135, Left hand (Agostini) + { "pictRim1", 0xE801 }, // glyphnumber: 2136, Rim or edge (Weinberg) + { "pictRim2", 0xE802 }, // glyphnumber: 2137, Rim (Ghent) + { "pictRim3", 0xE803 }, // glyphnumber: 2138, Rim (Caltabiano) + { "pictRimShotOnStem", 0xE7FD }, // glyphnumber: 2139, Rim shot for stem + { "pictSandpaperBlocks", 0xE762 }, // glyphnumber: 2140, Sandpaper blocks + { "pictScrapeAroundRim", 0xE7F3 }, // glyphnumber: 2141, Scrape around rim (counter-clockwise) + { "pictScrapeAroundRimClockwise", 0xE80E }, // glyphnumber: 2142, Scrape around rim (clockwise) + { "pictScrapeCenterToEdge", 0xE7F1 }, // glyphnumber: 2143, Scrape from center to edge + { "pictScrapeEdgeToCenter", 0xE7F2 }, // glyphnumber: 2144, Scrape from edge to center + { "pictShellBells", 0xE718 }, // glyphnumber: 2145, Shell bells + { "pictShellChimes", 0xE6C4 }, // glyphnumber: 2146, Shell chimes + { "pictSiren", 0xE753 }, // glyphnumber: 2147, Siren + { "pictSistrum", 0xE746 }, // glyphnumber: 2148, Sistrum + { "pictSizzleCymbal", 0xE724 }, // glyphnumber: 2149, Sizzle cymbal + { "pictSleighBell", 0xE710 }, // glyphnumber: 2150, Sleigh bell + { "pictSlideBrushOnGong", 0xE734 }, // glyphnumber: 2151, Slide brush on gong + { "pictSlideWhistle", 0xE750 }, // glyphnumber: 2152, Slide whistle + { "pictSlitDrum", 0xE6E0 }, // glyphnumber: 2153, Slit drum + { "pictSnareDrum", 0xE6D1 }, // glyphnumber: 2154, Snare drum + { "pictSnareDrumMilitary", 0xE6D3 }, // glyphnumber: 2155, Military snare drum + { "pictSnareDrumSnaresOff", 0xE6D2 }, // glyphnumber: 2156, Snare drum, snares off + { "pictSteelDrums", 0xE6AF }, // glyphnumber: 2157, Steel drums + { "pictStickShot", 0xE7F0 }, // glyphnumber: 2158, Stick shot + { "pictSuperball", 0xE7B2 }, // glyphnumber: 2159, Superball + { "pictSuspendedCymbal", 0xE721 }, // glyphnumber: 2160, Suspended cymbal + { "pictSwishStem", 0xE808 }, // glyphnumber: 2161, Combining swish for stem + { "pictTabla", 0xE6E3 }, // glyphnumber: 2162, Indian tabla + { "pictTamTam", 0xE730 }, // glyphnumber: 2163, Tam-tam + { "pictTamTamWithBeater", 0xE731 }, // glyphnumber: 2164, Tam-tam with beater (Smith Brindle) + { "pictTambourine", 0xE6DB }, // glyphnumber: 2165, Tambourine + { "pictTempleBlocks", 0xE6F1 }, // glyphnumber: 2166, Temple blocks + { "pictTenorDrum", 0xE6D6 }, // glyphnumber: 2167, Tenor drum + { "pictThundersheet", 0xE744 }, // glyphnumber: 2168, Thundersheet + { "pictTimbales", 0xE6DC }, // glyphnumber: 2169, Timbales + { "pictTimpani", 0xE6D0 }, // glyphnumber: 2170, Timpani + { "pictTomTom", 0xE6D7 }, // glyphnumber: 2171, Tom-tom + { "pictTomTomChinese", 0xE6D8 }, // glyphnumber: 2172, Chinese tom-tom + { "pictTomTomIndoAmerican", 0xE6DA }, // glyphnumber: 2173, Indo-American tom tom + { "pictTomTomJapanese", 0xE6D9 }, // glyphnumber: 2174, Japanese tom-tom + { "pictTriangle", 0xE700 }, // glyphnumber: 2175, Triangle + { "pictTubaphone", 0xE6B2 }, // glyphnumber: 2176, Tubaphone + { "pictTubularBells", 0xE6C0 }, // glyphnumber: 2177, Tubular bells + { "pictTurnLeftStem", 0xE80A }, // glyphnumber: 2178, Combining turn left for stem + { "pictTurnRightLeftStem", 0xE80B }, // glyphnumber: 2179, Combining turn left or right for stem + { "pictTurnRightStem", 0xE809 }, // glyphnumber: 2180, Combining turn right for stem + { "pictVib", 0xE6A7 }, // glyphnumber: 2181, Vibraphone + { "pictVibMotorOff", 0xE6A8 }, // glyphnumber: 2182, Metallophone (vibraphone motor off) + { "pictVibSmithBrindle", 0xE6AD }, // glyphnumber: 2183, Vibraphone (Smith Brindle) + { "pictVibraslap", 0xE745 }, // glyphnumber: 2184, Vibraslap + { "pictVietnameseHat", 0xE725 }, // glyphnumber: 2185, Vietnamese hat cymbal + { "pictWhip", 0xE6F6 }, // glyphnumber: 2186, Whip + { "pictWindChimesGlass", 0xE6C1 }, // glyphnumber: 2187, Wind chimes (glass) + { "pictWindMachine", 0xE754 }, // glyphnumber: 2188, Wind machine + { "pictWindWhistle", 0xE758 }, // glyphnumber: 2189, Wind whistle (or mouth siren) + { "pictWoodBlock", 0xE6F0 }, // glyphnumber: 2190, Wood block + { "pictWoundHardDown", 0xE7B4 }, // glyphnumber: 2191, Wound beater, hard core down + { "pictWoundHardLeft", 0xE7B6 }, // glyphnumber: 2192, Wound beater, hard core left + { "pictWoundHardRight", 0xE7B5 }, // glyphnumber: 2193, Wound beater, hard core right + { "pictWoundHardUp", 0xE7B3 }, // glyphnumber: 2194, Wound beater, hard core up + { "pictWoundSoftDown", 0xE7B8 }, // glyphnumber: 2195, Wound beater, soft core down + { "pictWoundSoftLeft", 0xE7BA }, // glyphnumber: 2196, Wound beater, soft core left + { "pictWoundSoftRight", 0xE7B9 }, // glyphnumber: 2197, Wound beater, soft core right + { "pictWoundSoftUp", 0xE7B7 }, // glyphnumber: 2198, Wound beater, soft core up + { "pictXyl", 0xE6A1 }, // glyphnumber: 2199, Xylophone + { "pictXylBass", 0xE6A3 }, // glyphnumber: 2200, Bass xylophone + { "pictXylSmithBrindle", 0xE6AB }, // glyphnumber: 2201, Xylophone (Smith Brindle) + { "pictXylTenor", 0xE6A2 }, // glyphnumber: 2202, Tenor xylophone + { "pictXylTenorTrough", 0xE6A5 }, // glyphnumber: 2203, Trough tenor xylophone + { "pictXylTrough", 0xE6A4 }, // glyphnumber: 2204, Trough xylophone + { "pluckedBuzzPizzicato", 0xE632 }, // glyphnumber: 2205, Buzz pizzicato + { "pluckedDamp", 0xE638 }, // glyphnumber: 2206, Damp + { "pluckedDampAll", 0xE639 }, // glyphnumber: 2207, Damp all + { "pluckedDampOnStem", 0xE63B }, // glyphnumber: 2208, Damp for stem + { "pluckedFingernailFlick", 0xE637 }, // glyphnumber: 2209, Fingernail flick + { "pluckedLeftHandPizzicato", 0xE633 }, // glyphnumber: 2210, Left-hand pizzicato + { "pluckedPlectrum", 0xE63A }, // glyphnumber: 2211, Plectrum + { "pluckedSnapPizzicatoAbove", 0xE631 }, // glyphnumber: 2212, Snap pizzicato above + { "pluckedSnapPizzicatoBelow", 0xE630 }, // glyphnumber: 2213, Snap pizzicato below + { "pluckedWithFingernails", 0xE636 }, // glyphnumber: 2214, With fingernails + { "quindicesima", 0xE514 }, // glyphnumber: 2215, Quindicesima + { "quindicesimaAlta", 0xE515 }, // glyphnumber: 2216, Quindicesima alta + { "quindicesimaBassa", 0xE516 }, // glyphnumber: 2217, Quindicesima bassa + { "quindicesimaBassaMb", 0xE51D }, // glyphnumber: 2218, Quindicesima bassa (mb) + { "repeat1Bar", 0xE500 }, // glyphnumber: 2219, Repeat last bar + { "repeat2Bars", 0xE501 }, // glyphnumber: 2220, Repeat last two bars + { "repeat4Bars", 0xE502 }, // glyphnumber: 2221, Repeat last four bars + { "repeatDot", 0xE044 }, // glyphnumber: 2222, Single repeat dot + { "repeatDots", 0xE043 }, // glyphnumber: 2223, Repeat dots + { "repeatLeft", 0xE040 }, // glyphnumber: 2224, Left (start) repeat sign + { "repeatRight", 0xE041 }, // glyphnumber: 2225, Right (end) repeat sign + { "repeatRightLeft", 0xE042 }, // glyphnumber: 2226, Right and left repeat sign + { "rest1024th", 0xE4ED }, // glyphnumber: 2227, 1024th rest + { "rest128th", 0xE4EA }, // glyphnumber: 2228, 128th (semihemidemisemiquaver) rest + { "rest16th", 0xE4E7 }, // glyphnumber: 2229, 16th (semiquaver) rest + { "rest256th", 0xE4EB }, // glyphnumber: 2230, 256th rest + { "rest32nd", 0xE4E8 }, // glyphnumber: 2231, 32nd (demisemiquaver) rest + { "rest512th", 0xE4EC }, // glyphnumber: 2232, 512th rest + { "rest64th", 0xE4E9 }, // glyphnumber: 2233, 64th (hemidemisemiquaver) rest + { "rest8th", 0xE4E6 }, // glyphnumber: 2234, Eighth (quaver) rest + { "restDoubleWhole", 0xE4E2 }, // glyphnumber: 2235, Double whole (breve) rest + { "restDoubleWholeLegerLine", 0xE4F3 }, // glyphnumber: 2236, Double whole rest on leger lines + { "restHBar", 0xE4EE }, // glyphnumber: 2237, Multiple measure rest + { "restHBarLeft", 0xE4EF }, // glyphnumber: 2238, H-bar, left half + { "restHBarMiddle", 0xE4F0 }, // glyphnumber: 2239, H-bar, middle + { "restHBarRight", 0xE4F1 }, // glyphnumber: 2240, H-bar, right half + { "restHalf", 0xE4E4 }, // glyphnumber: 2241, Half (minim) rest + { "restHalfLegerLine", 0xE4F5 }, // glyphnumber: 2242, Half rest on leger line + { "restLonga", 0xE4E1 }, // glyphnumber: 2243, Longa rest + { "restMaxima", 0xE4E0 }, // glyphnumber: 2244, Maxima rest + { "restQuarter", 0xE4E5 }, // glyphnumber: 2245, Quarter (crotchet) rest + { "restQuarterOld", 0xE4F2 }, // glyphnumber: 2246, Old-style quarter (crotchet) rest + { "restQuarterZ", 0xE4F6 }, // glyphnumber: 2247, Z-style quarter (crotchet) rest + { "restWhole", 0xE4E3 }, // glyphnumber: 2248, Whole (semibreve) rest + { "restWholeLegerLine", 0xE4F4 }, // glyphnumber: 2249, Whole rest on leger line + { "reversedBrace", 0xE001 }, // glyphnumber: 2250, Reversed brace + { "reversedBracketBottom", 0xE006 }, // glyphnumber: 2251, Reversed bracket bottom + { "reversedBracketTop", 0xE005 }, // glyphnumber: 2252, Reversed bracket top + { "rightRepeatSmall", 0xE04D }, // glyphnumber: 2253, Right repeat sign within bar + { "schaefferClef", 0xE06F }, // glyphnumber: 2254, Schäffer clef + { "schaefferFClefToGClef", 0xE072 }, // glyphnumber: 2255, Schäffer F clef to G clef change + { "schaefferGClefToFClef", 0xE071 }, // glyphnumber: 2256, Schäffer G clef to F clef change + { "schaefferPreviousClef", 0xE070 }, // glyphnumber: 2257, Schäffer previous clef + { "segno", 0xE047 }, // glyphnumber: 2258, Segno + { "segnoSerpent1", 0xE04A }, // glyphnumber: 2259, Segno (serpent) + { "segnoSerpent2", 0xE04B }, // glyphnumber: 2260, Segno (serpent with vertical lines) + { "semipitchedPercussionClef1", 0xE06B }, // glyphnumber: 2261, Semi-pitched percussion clef 1 + { "semipitchedPercussionClef2", 0xE06C }, // glyphnumber: 2262, Semi-pitched percussion clef 2 + { "smnFlat", 0xEC52 }, // glyphnumber: 2263, Flat + { "smnFlatWhite", 0xEC53 }, // glyphnumber: 2264, Flat (white) + { "smnHistoryDoubleFlat", 0xEC57 }, // glyphnumber: 2265, Double flat history sign + { "smnHistoryDoubleSharp", 0xEC55 }, // glyphnumber: 2266, Double sharp history sign + { "smnHistoryFlat", 0xEC56 }, // glyphnumber: 2267, Flat history sign + { "smnHistorySharp", 0xEC54 }, // glyphnumber: 2268, Sharp history sign + { "smnNatural", 0xEC58 }, // glyphnumber: 2269, Natural (N) + { "smnSharp", 0xEC50 }, // glyphnumber: 2270, Sharp stem up + { "smnSharpDown", 0xEC59 }, // glyphnumber: 2271, Sharp stem down + { "smnSharpWhite", 0xEC51 }, // glyphnumber: 2272, Sharp (white) stem up + { "smnSharpWhiteDown", 0xEC5A }, // glyphnumber: 2273, Sharp (white) stem down + { "splitBarDivider", 0xE00A }, // glyphnumber: 2274, Split bar divider (bar spans a system break) + { "staff1Line", 0xE010 }, // glyphnumber: 2275, 1-line staff + { "staff1LineNarrow", 0xE01C }, // glyphnumber: 2276, 1-line staff (narrow) + { "staff1LineWide", 0xE016 }, // glyphnumber: 2277, 1-line staff (wide) + { "staff2Lines", 0xE011 }, // glyphnumber: 2278, 2-line staff + { "staff2LinesNarrow", 0xE01D }, // glyphnumber: 2279, 2-line staff (narrow) + { "staff2LinesWide", 0xE017 }, // glyphnumber: 2280, 2-line staff (wide) + { "staff3Lines", 0xE012 }, // glyphnumber: 2281, 3-line staff + { "staff3LinesNarrow", 0xE01E }, // glyphnumber: 2282, 3-line staff (narrow) + { "staff3LinesWide", 0xE018 }, // glyphnumber: 2283, 3-line staff (wide) + { "staff4Lines", 0xE013 }, // glyphnumber: 2284, 4-line staff + { "staff4LinesNarrow", 0xE01F }, // glyphnumber: 2285, 4-line staff (narrow) + { "staff4LinesWide", 0xE019 }, // glyphnumber: 2286, 4-line staff (wide) + { "staff5Lines", 0xE014 }, // glyphnumber: 2287, 5-line staff + { "staff5LinesNarrow", 0xE020 }, // glyphnumber: 2288, 5-line staff (narrow) + { "staff5LinesWide", 0xE01A }, // glyphnumber: 2289, 5-line staff (wide) + { "staff6Lines", 0xE015 }, // glyphnumber: 2290, 6-line staff + { "staff6LinesNarrow", 0xE021 }, // glyphnumber: 2291, 6-line staff (narrow) + { "staff6LinesWide", 0xE01B }, // glyphnumber: 2292, 6-line staff (wide) + { "staffDivideArrowDown", 0xE00B }, // glyphnumber: 2293, Staff divide arrow down + { "staffDivideArrowUp", 0xE00C }, // glyphnumber: 2294, Staff divide arrow up + { "staffDivideArrowUpDown", 0xE00D }, // glyphnumber: 2295, Staff divide arrows + { "staffPosLower1", 0xEB98 }, // glyphnumber: 2296, Lower 1 staff position + { "staffPosLower2", 0xEB99 }, // glyphnumber: 2297, Lower 2 staff positions + { "staffPosLower3", 0xEB9A }, // glyphnumber: 2298, Lower 3 staff positions + { "staffPosLower4", 0xEB9B }, // glyphnumber: 2299, Lower 4 staff positions + { "staffPosLower5", 0xEB9C }, // glyphnumber: 2300, Lower 5 staff positions + { "staffPosLower6", 0xEB9D }, // glyphnumber: 2301, Lower 6 staff positions + { "staffPosLower7", 0xEB9E }, // glyphnumber: 2302, Lower 7 staff positions + { "staffPosLower8", 0xEB9F }, // glyphnumber: 2303, Lower 8 staff positions + { "staffPosRaise1", 0xEB90 }, // glyphnumber: 2304, Raise 1 staff position + { "staffPosRaise2", 0xEB91 }, // glyphnumber: 2305, Raise 2 staff positions + { "staffPosRaise3", 0xEB92 }, // glyphnumber: 2306, Raise 3 staff positions + { "staffPosRaise4", 0xEB93 }, // glyphnumber: 2307, Raise 4 staff positions + { "staffPosRaise5", 0xEB94 }, // glyphnumber: 2308, Raise 5 staff positions + { "staffPosRaise6", 0xEB95 }, // glyphnumber: 2309, Raise 6 staff positions + { "staffPosRaise7", 0xEB96 }, // glyphnumber: 2310, Raise 7 staff positions + { "staffPosRaise8", 0xEB97 }, // glyphnumber: 2311, Raise 8 staff positions + { "stem", 0xE210 }, // glyphnumber: 2312, Combining stem + { "stemBowOnBridge", 0xE215 }, // glyphnumber: 2313, Combining bow on bridge stem + { "stemBowOnTailpiece", 0xE216 }, // glyphnumber: 2314, Combining bow on tailpiece stem + { "stemBuzzRoll", 0xE217 }, // glyphnumber: 2315, Combining buzz roll stem + { "stemDamp", 0xE218 }, // glyphnumber: 2316, Combining damp stem + { "stemHarpStringNoise", 0xE21F }, // glyphnumber: 2317, Combining harp string noise stem + { "stemMultiphonicsBlack", 0xE21A }, // glyphnumber: 2318, Combining multiphonics (black) stem + { "stemMultiphonicsBlackWhite", 0xE21C }, // glyphnumber: 2319, Combining multiphonics (black and white) stem + { "stemMultiphonicsWhite", 0xE21B }, // glyphnumber: 2320, Combining multiphonics (white) stem + { "stemPendereckiTremolo", 0xE213 }, // glyphnumber: 2321, Combining Penderecki unmeasured tremolo stem + { "stemRimShot", 0xE21E }, // glyphnumber: 2322, Combining rim shot stem + { "stemSprechgesang", 0xE211 }, // glyphnumber: 2323, Combining sprechgesang stem + { "stemSulPonticello", 0xE214 }, // glyphnumber: 2324, Combining sul ponticello (bow behind bridge) stem + { "stemSussurando", 0xE21D }, // glyphnumber: 2325, Combining sussurando stem + { "stemSwished", 0xE212 }, // glyphnumber: 2326, Combining swished stem + { "stemVibratoPulse", 0xE219 }, // glyphnumber: 2327, Combining vibrato pulse accent (Saunders) stem + { "stockhausenTremolo", 0xE232 }, // glyphnumber: 2328, Stockhausen irregular tremolo ("Morsen", like Morse code) + { "stringsBowBehindBridge", 0xE618 }, // glyphnumber: 2329, Bow behind bridge (sul ponticello) + { "stringsBowBehindBridgeFourStrings", 0xE62A }, // glyphnumber: 2330, Bow behind bridge on four strings + { "stringsBowBehindBridgeOneString", 0xE627 }, // glyphnumber: 2331, Bow behind bridge on one string + { "stringsBowBehindBridgeThreeStrings", 0xE629 }, // glyphnumber: 2332, Bow behind bridge on three strings + { "stringsBowBehindBridgeTwoStrings", 0xE628 }, // glyphnumber: 2333, Bow behind bridge on two strings + { "stringsBowOnBridge", 0xE619 }, // glyphnumber: 2334, Bow on top of bridge + { "stringsBowOnTailpiece", 0xE61A }, // glyphnumber: 2335, Bow on tailpiece + { "stringsChangeBowDirection", 0xE626 }, // glyphnumber: 2336, Change bow direction, indeterminate + { "stringsDownBow", 0xE610 }, // glyphnumber: 2337, Down bow + { "stringsDownBowTurned", 0xE611 }, // glyphnumber: 2338, Turned down bow + { "stringsFouette", 0xE622 }, // glyphnumber: 2339, Fouetté + { "stringsHalfHarmonic", 0xE615 }, // glyphnumber: 2340, Half-harmonic + { "stringsHarmonic", 0xE614 }, // glyphnumber: 2341, Harmonic + { "stringsJeteAbove", 0xE620 }, // glyphnumber: 2342, Jeté (gettato) above + { "stringsJeteBelow", 0xE621 }, // glyphnumber: 2343, Jeté (gettato) below + { "stringsMuteOff", 0xE617 }, // glyphnumber: 2344, Mute off + { "stringsMuteOn", 0xE616 }, // glyphnumber: 2345, Mute on + { "stringsOverpressureDownBow", 0xE61B }, // glyphnumber: 2346, Overpressure, down bow + { "stringsOverpressureNoDirection", 0xE61F }, // glyphnumber: 2347, Overpressure, no bow direction + { "stringsOverpressurePossibileDownBow", 0xE61D }, // glyphnumber: 2348, Overpressure possibile, down bow + { "stringsOverpressurePossibileUpBow", 0xE61E }, // glyphnumber: 2349, Overpressure possibile, up bow + { "stringsOverpressureUpBow", 0xE61C }, // glyphnumber: 2350, Overpressure, up bow + { "stringsThumbPosition", 0xE624 }, // glyphnumber: 2351, Thumb position + { "stringsThumbPositionTurned", 0xE625 }, // glyphnumber: 2352, Turned thumb position + { "stringsUpBow", 0xE612 }, // glyphnumber: 2353, Up bow + { "stringsUpBowTurned", 0xE613 }, // glyphnumber: 2354, Turned up bow + { "stringsVibratoPulse", 0xE623 }, // glyphnumber: 2355, Vibrato pulse accent (Saunders) for stem + { "systemDivider", 0xE007 }, // glyphnumber: 2356, System divider + { "systemDividerExtraLong", 0xE009 }, // glyphnumber: 2357, Extra long system divider + { "systemDividerLong", 0xE008 }, // glyphnumber: 2358, Long system divider + { "textAugmentationDot", 0xE1FC }, // glyphnumber: 2359, Augmentation dot + { "textBlackNoteFrac16thLongStem", 0xE1F5 }, // glyphnumber: 2360, Black note, fractional 16th beam, long stem + { "textBlackNoteFrac16thShortStem", 0xE1F4 }, // glyphnumber: 2361, Black note, fractional 16th beam, short stem + { "textBlackNoteFrac32ndLongStem", 0xE1F6 }, // glyphnumber: 2362, Black note, fractional 32nd beam, long stem + { "textBlackNoteFrac8thLongStem", 0xE1F3 }, // glyphnumber: 2363, Black note, fractional 8th beam, long stem + { "textBlackNoteFrac8thShortStem", 0xE1F2 }, // glyphnumber: 2364, Black note, fractional 8th beam, short stem + { "textBlackNoteLongStem", 0xE1F1 }, // glyphnumber: 2365, Black note, long stem + { "textBlackNoteShortStem", 0xE1F0 }, // glyphnumber: 2366, Black note, short stem + { "textCont16thBeamLongStem", 0xE1FA }, // glyphnumber: 2367, Continuing 16th beam for long stem + { "textCont16thBeamShortStem", 0xE1F9 }, // glyphnumber: 2368, Continuing 16th beam for short stem + { "textCont32ndBeamLongStem", 0xE1FB }, // glyphnumber: 2369, Continuing 32nd beam for long stem + { "textCont8thBeamLongStem", 0xE1F8 }, // glyphnumber: 2370, Continuing 8th beam for long stem + { "textCont8thBeamShortStem", 0xE1F7 }, // glyphnumber: 2371, Continuing 8th beam for short stem + { "textTie", 0xE1FD }, // glyphnumber: 2372, Tie + { "textTuplet3LongStem", 0xE202 }, // glyphnumber: 2373, Tuplet number 3 for long stem + { "textTuplet3ShortStem", 0xE1FF }, // glyphnumber: 2374, Tuplet number 3 for short stem + { "textTupletBracketEndLongStem", 0xE203 }, // glyphnumber: 2375, Tuplet bracket end for long stem + { "textTupletBracketEndShortStem", 0xE200 }, // glyphnumber: 2376, Tuplet bracket end for short stem + { "textTupletBracketStartLongStem", 0xE201 }, // glyphnumber: 2377, Tuplet bracket start for long stem + { "textTupletBracketStartShortStem", 0xE1FE }, // glyphnumber: 2378, Tuplet bracket start for short stem + { "timeSig0", 0xE080 }, // glyphnumber: 2379, Time signature 0 + { "timeSig0Reversed", 0xECF0 }, // glyphnumber: 2380, Reversed time signature 0 + { "timeSig0Turned", 0xECE0 }, // glyphnumber: 2381, Turned time signature 0 + { "timeSig1", 0xE081 }, // glyphnumber: 2382, Time signature 1 + { "timeSig1Reversed", 0xECF1 }, // glyphnumber: 2383, Reversed time signature 1 + { "timeSig1Turned", 0xECE1 }, // glyphnumber: 2384, Turned time signature 1 + { "timeSig2", 0xE082 }, // glyphnumber: 2385, Time signature 2 + { "timeSig2Reversed", 0xECF2 }, // glyphnumber: 2386, Reversed time signature 2 + { "timeSig2Turned", 0xECE2 }, // glyphnumber: 2387, Turned time signature 2 + { "timeSig3", 0xE083 }, // glyphnumber: 2388, Time signature 3 + { "timeSig3Reversed", 0xECF3 }, // glyphnumber: 2389, Reversed time signature 3 + { "timeSig3Turned", 0xECE3 }, // glyphnumber: 2390, Turned time signature 3 + { "timeSig4", 0xE084 }, // glyphnumber: 2391, Time signature 4 + { "timeSig4Reversed", 0xECF4 }, // glyphnumber: 2392, Reversed time signature 4 + { "timeSig4Turned", 0xECE4 }, // glyphnumber: 2393, Turned time signature 4 + { "timeSig5", 0xE085 }, // glyphnumber: 2394, Time signature 5 + { "timeSig5Reversed", 0xECF5 }, // glyphnumber: 2395, Reversed time signature 5 + { "timeSig5Turned", 0xECE5 }, // glyphnumber: 2396, Turned time signature 5 + { "timeSig6", 0xE086 }, // glyphnumber: 2397, Time signature 6 + { "timeSig6Reversed", 0xECF6 }, // glyphnumber: 2398, Reversed time signature 6 + { "timeSig6Turned", 0xECE6 }, // glyphnumber: 2399, Turned time signature 6 + { "timeSig7", 0xE087 }, // glyphnumber: 2400, Time signature 7 + { "timeSig7Reversed", 0xECF7 }, // glyphnumber: 2401, Reversed time signature 7 + { "timeSig7Turned", 0xECE7 }, // glyphnumber: 2402, Turned time signature 7 + { "timeSig8", 0xE088 }, // glyphnumber: 2403, Time signature 8 + { "timeSig8Reversed", 0xECF8 }, // glyphnumber: 2404, Reversed time signature 8 + { "timeSig8Turned", 0xECE8 }, // glyphnumber: 2405, Turned time signature 8 + { "timeSig9", 0xE089 }, // glyphnumber: 2406, Time signature 9 + { "timeSig9Reversed", 0xECF9 }, // glyphnumber: 2407, Reversed time signature 9 + { "timeSig9Turned", 0xECE9 }, // glyphnumber: 2408, Turned time signature 9 + { "timeSigBracketLeft", 0xEC80 }, // glyphnumber: 2409, Left bracket for whole time signature + { "timeSigBracketLeftSmall", 0xEC82 }, // glyphnumber: 2410, Left bracket for numerator only + { "timeSigBracketRight", 0xEC81 }, // glyphnumber: 2411, Right bracket for whole time signature + { "timeSigBracketRightSmall", 0xEC83 }, // glyphnumber: 2412, Right bracket for numerator only + { "timeSigCombDenominator", 0xE09F }, // glyphnumber: 2413, Control character for denominator digit + { "timeSigCombNumerator", 0xE09E }, // glyphnumber: 2414, Control character for numerator digit + { "timeSigComma", 0xE096 }, // glyphnumber: 2415, Time signature comma + { "timeSigCommon", 0xE08A }, // glyphnumber: 2416, Common time + { "timeSigCommonReversed", 0xECFA }, // glyphnumber: 2417, Reversed common time + { "timeSigCommonTurned", 0xECEA }, // glyphnumber: 2418, Turned common time + { "timeSigCut2", 0xEC85 }, // glyphnumber: 2419, Cut time (Bach) + { "timeSigCut3", 0xEC86 }, // glyphnumber: 2420, Cut triple time (9/8) + { "timeSigCutCommon", 0xE08B }, // glyphnumber: 2421, Cut time + { "timeSigCutCommonReversed", 0xECFB }, // glyphnumber: 2422, Reversed cut time + { "timeSigCutCommonTurned", 0xECEB }, // glyphnumber: 2423, Turned cut time + { "timeSigEquals", 0xE08F }, // glyphnumber: 2424, Time signature equals + { "timeSigFractionHalf", 0xE098 }, // glyphnumber: 2425, Time signature fraction ½ + { "timeSigFractionOneThird", 0xE09A }, // glyphnumber: 2426, Time signature fraction ⅓ + { "timeSigFractionQuarter", 0xE097 }, // glyphnumber: 2427, Time signature fraction ¼ + { "timeSigFractionThreeQuarters", 0xE099 }, // glyphnumber: 2428, Time signature fraction ¾ + { "timeSigFractionTwoThirds", 0xE09B }, // glyphnumber: 2429, Time signature fraction ⅔ + { "timeSigFractionalSlash", 0xE08E }, // glyphnumber: 2430, Time signature fraction slash + { "timeSigMinus", 0xE090 }, // glyphnumber: 2431, Time signature minus + { "timeSigMultiply", 0xE091 }, // glyphnumber: 2432, Time signature multiply + { "timeSigOpenPenderecki", 0xE09D }, // glyphnumber: 2433, Open time signature (Penderecki) + { "timeSigParensLeft", 0xE094 }, // glyphnumber: 2434, Left parenthesis for whole time signature + { "timeSigParensLeftSmall", 0xE092 }, // glyphnumber: 2435, Left parenthesis for numerator only + { "timeSigParensRight", 0xE095 }, // glyphnumber: 2436, Right parenthesis for whole time signature + { "timeSigParensRightSmall", 0xE093 }, // glyphnumber: 2437, Right parenthesis for numerator only + { "timeSigPlus", 0xE08C }, // glyphnumber: 2438, Time signature + + { "timeSigPlusSmall", 0xE08D }, // glyphnumber: 2439, Time signature + (for numerators) + { "timeSigSlash", 0xEC84 }, // glyphnumber: 2440, Time signature slash separator + { "timeSigX", 0xE09C }, // glyphnumber: 2441, Open time signature + { "tremolo1", 0xE220 }, // glyphnumber: 2442, Combining tremolo 1 + { "tremolo2", 0xE221 }, // glyphnumber: 2443, Combining tremolo 2 + { "tremolo3", 0xE222 }, // glyphnumber: 2444, Combining tremolo 3 + { "tremolo4", 0xE223 }, // glyphnumber: 2445, Combining tremolo 4 + { "tremolo5", 0xE224 }, // glyphnumber: 2446, Combining tremolo 5 + { "tremoloDivisiDots2", 0xE22E }, // glyphnumber: 2447, Divide measured tremolo by 2 + { "tremoloDivisiDots3", 0xE22F }, // glyphnumber: 2448, Divide measured tremolo by 3 + { "tremoloDivisiDots4", 0xE230 }, // glyphnumber: 2449, Divide measured tremolo by 4 + { "tremoloDivisiDots6", 0xE231 }, // glyphnumber: 2450, Divide measured tremolo by 6 + { "tremoloFingered1", 0xE225 }, // glyphnumber: 2451, Fingered tremolo 1 + { "tremoloFingered2", 0xE226 }, // glyphnumber: 2452, Fingered tremolo 2 + { "tremoloFingered3", 0xE227 }, // glyphnumber: 2453, Fingered tremolo 3 + { "tremoloFingered4", 0xE228 }, // glyphnumber: 2454, Fingered tremolo 4 + { "tremoloFingered5", 0xE229 }, // glyphnumber: 2455, Fingered tremolo 5 + { "tripleTongueAbove", 0xE5F2 }, // glyphnumber: 2456, Triple-tongue above + { "tripleTongueBelow", 0xE5F3 }, // glyphnumber: 2457, Triple-tongue below + { "tuplet0", 0xE880 }, // glyphnumber: 2458, Tuplet 0 + { "tuplet1", 0xE881 }, // glyphnumber: 2459, Tuplet 1 + { "tuplet2", 0xE882 }, // glyphnumber: 2460, Tuplet 2 + { "tuplet3", 0xE883 }, // glyphnumber: 2461, Tuplet 3 + { "tuplet4", 0xE884 }, // glyphnumber: 2462, Tuplet 4 + { "tuplet5", 0xE885 }, // glyphnumber: 2463, Tuplet 5 + { "tuplet6", 0xE886 }, // glyphnumber: 2464, Tuplet 6 + { "tuplet7", 0xE887 }, // glyphnumber: 2465, Tuplet 7 + { "tuplet8", 0xE888 }, // glyphnumber: 2466, Tuplet 8 + { "tuplet9", 0xE889 }, // glyphnumber: 2467, Tuplet 9 + { "tupletColon", 0xE88A }, // glyphnumber: 2468, Tuplet colon + { "unmeasuredTremolo", 0xE22C }, // glyphnumber: 2469, Wieniawski unmeasured tremolo + { "unmeasuredTremoloSimple", 0xE22D }, // glyphnumber: 2470, Wieniawski unmeasured tremolo (simpler) + { "unpitchedPercussionClef1", 0xE069 }, // glyphnumber: 2471, Unpitched percussion clef 1 + { "unpitchedPercussionClef2", 0xE06A }, // glyphnumber: 2472, Unpitched percussion clef 2 + { "ventiduesima", 0xE517 }, // glyphnumber: 2473, Ventiduesima + { "ventiduesimaAlta", 0xE518 }, // glyphnumber: 2474, Ventiduesima alta + { "ventiduesimaBassa", 0xE519 }, // glyphnumber: 2475, Ventiduesima bassa + { "ventiduesimaBassaMb", 0xE51E }, // glyphnumber: 2476, Ventiduesima bassa (mb) + { "vocalFingerClickStockhausen", 0xE649 }, // glyphnumber: 2477, Finger click (Stockhausen) + { "vocalMouthClosed", 0xE640 }, // glyphnumber: 2478, Mouth closed + { "vocalMouthOpen", 0xE642 }, // glyphnumber: 2479, Mouth open + { "vocalMouthPursed", 0xE644 }, // glyphnumber: 2480, Mouth pursed + { "vocalMouthSlightlyOpen", 0xE641 }, // glyphnumber: 2481, Mouth slightly open + { "vocalMouthWideOpen", 0xE643 }, // glyphnumber: 2482, Mouth wide open + { "vocalNasalVoice", 0xE647 }, // glyphnumber: 2483, Nasal voice + { "vocalSprechgesang", 0xE645 }, // glyphnumber: 2484, Sprechgesang + { "vocalTongueClickStockhausen", 0xE648 }, // glyphnumber: 2485, Tongue click (Stockhausen) + { "vocalTongueFingerClickStockhausen", 0xE64A }, // glyphnumber: 2486, Tongue and finger click (Stockhausen) + { "vocalsSussurando", 0xE646 }, // glyphnumber: 2487, Combining sussurando for stem + { "wiggleArpeggiatoDown", 0xEAAA }, // glyphnumber: 2488, Arpeggiato wiggle segment, downwards + { "wiggleArpeggiatoDownArrow", 0xEAAE }, // glyphnumber: 2489, Arpeggiato arrowhead down + { "wiggleArpeggiatoDownSwash", 0xEAAC }, // glyphnumber: 2490, Arpeggiato downward swash + { "wiggleArpeggiatoUp", 0xEAA9 }, // glyphnumber: 2491, Arpeggiato wiggle segment, upwards + { "wiggleArpeggiatoUpArrow", 0xEAAD }, // glyphnumber: 2492, Arpeggiato arrowhead up + { "wiggleArpeggiatoUpSwash", 0xEAAB }, // glyphnumber: 2493, Arpeggiato upward swash + { "wiggleCircular", 0xEAC9 }, // glyphnumber: 2494, Circular motion segment + { "wiggleCircularConstant", 0xEAC0 }, // glyphnumber: 2495, Constant circular motion segment + { "wiggleCircularConstantFlipped", 0xEAC1 }, // glyphnumber: 2496, Constant circular motion segment (flipped) + { "wiggleCircularConstantFlippedLarge", 0xEAC3 }, // glyphnumber: 2497, Constant circular motion segment (flipped, large) + { "wiggleCircularConstantLarge", 0xEAC2 }, // glyphnumber: 2498, Constant circular motion segment (large) + { "wiggleCircularEnd", 0xEACB }, // glyphnumber: 2499, Circular motion end + { "wiggleCircularLarge", 0xEAC8 }, // glyphnumber: 2500, Circular motion segment, large + { "wiggleCircularLarger", 0xEAC7 }, // glyphnumber: 2501, Circular motion segment, larger + { "wiggleCircularLargerStill", 0xEAC6 }, // glyphnumber: 2502, Circular motion segment, larger still + { "wiggleCircularLargest", 0xEAC5 }, // glyphnumber: 2503, Circular motion segment, largest + { "wiggleCircularSmall", 0xEACA }, // glyphnumber: 2504, Circular motion segment, small + { "wiggleCircularStart", 0xEAC4 }, // glyphnumber: 2505, Circular motion start + { "wiggleGlissando", 0xEAAF }, // glyphnumber: 2506, Glissando wiggle segment + { "wiggleGlissandoGroup1", 0xEABD }, // glyphnumber: 2507, Group glissando 1 + { "wiggleGlissandoGroup2", 0xEABE }, // glyphnumber: 2508, Group glissando 2 + { "wiggleGlissandoGroup3", 0xEABF }, // glyphnumber: 2509, Group glissando 3 + { "wiggleRandom1", 0xEAF0 }, // glyphnumber: 2510, Quasi-random squiggle 1 + { "wiggleRandom2", 0xEAF1 }, // glyphnumber: 2511, Quasi-random squiggle 2 + { "wiggleRandom3", 0xEAF2 }, // glyphnumber: 2512, Quasi-random squiggle 3 + { "wiggleRandom4", 0xEAF3 }, // glyphnumber: 2513, Quasi-random squiggle 4 + { "wiggleSawtooth", 0xEABB }, // glyphnumber: 2514, Sawtooth line segment + { "wiggleSawtoothNarrow", 0xEABA }, // glyphnumber: 2515, Narrow sawtooth line segment + { "wiggleSawtoothWide", 0xEABC }, // glyphnumber: 2516, Wide sawtooth line segment + { "wiggleSquareWave", 0xEAB8 }, // glyphnumber: 2517, Square wave line segment + { "wiggleSquareWaveNarrow", 0xEAB7 }, // glyphnumber: 2518, Narrow square wave line segment + { "wiggleSquareWaveWide", 0xEAB9 }, // glyphnumber: 2519, Wide square wave line segment + { "wiggleTrill", 0xEAA4 }, // glyphnumber: 2520, Trill wiggle segment + { "wiggleTrillFast", 0xEAA3 }, // glyphnumber: 2521, Trill wiggle segment, fast + { "wiggleTrillFaster", 0xEAA2 }, // glyphnumber: 2522, Trill wiggle segment, faster + { "wiggleTrillFasterStill", 0xEAA1 }, // glyphnumber: 2523, Trill wiggle segment, faster still + { "wiggleTrillFastest", 0xEAA0 }, // glyphnumber: 2524, Trill wiggle segment, fastest + { "wiggleTrillSlow", 0xEAA5 }, // glyphnumber: 2525, Trill wiggle segment, slow + { "wiggleTrillSlower", 0xEAA6 }, // glyphnumber: 2526, Trill wiggle segment, slower + { "wiggleTrillSlowerStill", 0xEAA7 }, // glyphnumber: 2527, Trill wiggle segment, slower still + { "wiggleTrillSlowest", 0xEAA8 }, // glyphnumber: 2528, Trill wiggle segment, slowest + { "wiggleVIbratoLargestSlower", 0xEAEE }, // glyphnumber: 2529, Vibrato largest, slower + { "wiggleVIbratoMediumSlower", 0xEAE0 }, // glyphnumber: 2530, Vibrato medium, slower + { "wiggleVibrato", 0xEAB0 }, // glyphnumber: 2531, Vibrato / shake wiggle segment + { "wiggleVibratoLargeFast", 0xEAE5 }, // glyphnumber: 2532, Vibrato large, fast + { "wiggleVibratoLargeFaster", 0xEAE4 }, // glyphnumber: 2533, Vibrato large, faster + { "wiggleVibratoLargeFasterStill", 0xEAE3 }, // glyphnumber: 2534, Vibrato large, faster still + { "wiggleVibratoLargeFastest", 0xEAE2 }, // glyphnumber: 2535, Vibrato large, fastest + { "wiggleVibratoLargeSlow", 0xEAE6 }, // glyphnumber: 2536, Vibrato large, slow + { "wiggleVibratoLargeSlower", 0xEAE7 }, // glyphnumber: 2537, Vibrato large, slower + { "wiggleVibratoLargeSlowest", 0xEAE8 }, // glyphnumber: 2538, Vibrato large, slowest + { "wiggleVibratoLargestFast", 0xEAEC }, // glyphnumber: 2539, Vibrato largest, fast + { "wiggleVibratoLargestFaster", 0xEAEB }, // glyphnumber: 2540, Vibrato largest, faster + { "wiggleVibratoLargestFasterStill", 0xEAEA }, // glyphnumber: 2541, Vibrato largest, faster still + { "wiggleVibratoLargestFastest", 0xEAE9 }, // glyphnumber: 2542, Vibrato largest, fastest + { "wiggleVibratoLargestSlow", 0xEAED }, // glyphnumber: 2543, Vibrato largest, slow + { "wiggleVibratoLargestSlowest", 0xEAEF }, // glyphnumber: 2544, Vibrato largest, slowest + { "wiggleVibratoMediumFast", 0xEADE }, // glyphnumber: 2545, Vibrato medium, fast + { "wiggleVibratoMediumFaster", 0xEADD }, // glyphnumber: 2546, Vibrato medium, faster + { "wiggleVibratoMediumFasterStill", 0xEADC }, // glyphnumber: 2547, Vibrato medium, faster still + { "wiggleVibratoMediumFastest", 0xEADB }, // glyphnumber: 2548, Vibrato medium, fastest + { "wiggleVibratoMediumSlow", 0xEADF }, // glyphnumber: 2549, Vibrato medium, slow + { "wiggleVibratoMediumSlowest", 0xEAE1 }, // glyphnumber: 2550, Vibrato medium, slowest + { "wiggleVibratoSmallFast", 0xEAD7 }, // glyphnumber: 2551, Vibrato small, fast + { "wiggleVibratoSmallFaster", 0xEAD6 }, // glyphnumber: 2552, Vibrato small, faster + { "wiggleVibratoSmallFasterStill", 0xEAD5 }, // glyphnumber: 2553, Vibrato small, faster still + { "wiggleVibratoSmallFastest", 0xEAD4 }, // glyphnumber: 2554, Vibrato small, fastest + { "wiggleVibratoSmallSlow", 0xEAD8 }, // glyphnumber: 2555, Vibrato small, slow + { "wiggleVibratoSmallSlower", 0xEAD9 }, // glyphnumber: 2556, Vibrato small, slower + { "wiggleVibratoSmallSlowest", 0xEADA }, // glyphnumber: 2557, Vibrato small, slowest + { "wiggleVibratoSmallestFast", 0xEAD0 }, // glyphnumber: 2558, Vibrato smallest, fast + { "wiggleVibratoSmallestFaster", 0xEACF }, // glyphnumber: 2559, Vibrato smallest, faster + { "wiggleVibratoSmallestFasterStill", 0xEACE }, // glyphnumber: 2560, Vibrato smallest, faster still + { "wiggleVibratoSmallestFastest", 0xEACD }, // glyphnumber: 2561, Vibrato smallest, fastest + { "wiggleVibratoSmallestSlow", 0xEAD1 }, // glyphnumber: 2562, Vibrato smallest, slow + { "wiggleVibratoSmallestSlower", 0xEAD2 }, // glyphnumber: 2563, Vibrato smallest, slower + { "wiggleVibratoSmallestSlowest", 0xEAD3 }, // glyphnumber: 2564, Vibrato smallest, slowest + { "wiggleVibratoStart", 0xEACC }, // glyphnumber: 2565, Vibrato start + { "wiggleVibratoWide", 0xEAB1 }, // glyphnumber: 2566, Wide vibrato / shake wiggle segment + { "wiggleWavy", 0xEAB5 }, // glyphnumber: 2567, Wavy line segment + { "wiggleWavyNarrow", 0xEAB4 }, // glyphnumber: 2568, Narrow wavy line segment + { "wiggleWavyWide", 0xEAB6 }, // glyphnumber: 2569, Wide wavy line segment + { "windClosedHole", 0xE5F4 }, // glyphnumber: 2570, Closed hole + { "windFlatEmbouchure", 0xE5FB }, // glyphnumber: 2571, Flatter embouchure + { "windHalfClosedHole1", 0xE5F6 }, // glyphnumber: 2572, Half-closed hole + { "windHalfClosedHole2", 0xE5F7 }, // glyphnumber: 2573, Half-closed hole 2 + { "windHalfClosedHole3", 0xE5F8 }, // glyphnumber: 2574, Half-open hole + { "windLessRelaxedEmbouchure", 0xE5FE }, // glyphnumber: 2575, Somewhat relaxed embouchure + { "windLessTightEmbouchure", 0xE600 }, // glyphnumber: 2576, Somewhat tight embouchure + { "windMouthpiecePop", 0xE60A }, // glyphnumber: 2577, Mouthpiece or hand pop + { "windMultiphonicsBlackStem", 0xE607 }, // glyphnumber: 2578, Combining multiphonics (black) for stem + { "windMultiphonicsBlackWhiteStem", 0xE609 }, // glyphnumber: 2579, Combining multiphonics (black and white) for stem + { "windMultiphonicsWhiteStem", 0xE608 }, // glyphnumber: 2580, Combining multiphonics (white) for stem + { "windOpenHole", 0xE5F9 }, // glyphnumber: 2581, Open hole + { "windReedPositionIn", 0xE606 }, // glyphnumber: 2582, Much more reed (push inwards) + { "windReedPositionNormal", 0xE604 }, // glyphnumber: 2583, Normal reed position + { "windReedPositionOut", 0xE605 }, // glyphnumber: 2584, Very little reed (pull outwards) + { "windRelaxedEmbouchure", 0xE5FD }, // glyphnumber: 2585, Relaxed embouchure + { "windRimOnly", 0xE60B }, // glyphnumber: 2586, Rim only + { "windSharpEmbouchure", 0xE5FC }, // glyphnumber: 2587, Sharper embouchure + { "windStrongAirPressure", 0xE603 }, // glyphnumber: 2588, Very tight embouchure / strong air pressure + { "windThreeQuartersClosedHole", 0xE5F5 }, // glyphnumber: 2589, Three-quarters closed hole + { "windTightEmbouchure", 0xE5FF }, // glyphnumber: 2590, Tight embouchure + { "windTrillKey", 0xE5FA }, // glyphnumber: 2591, Trill key + { "windVeryTightEmbouchure", 0xE601 }, // glyphnumber: 2592, Very tight embouchure + { "windWeakAirPressure", 0xE602 }, // glyphnumber: 2593, Very relaxed embouchure / weak air-pressure }; SmuflGlyphname::SmuflGlyphname( std::string inNameAbove, diff --git a/Sourcecode/mx/api/Smufl.h b/Sourcecode/mx/api/Smufl.h index b72d27bae..40cce97a2 100644 --- a/Sourcecode/mx/api/Smufl.h +++ b/Sourcecode/mx/api/Smufl.h @@ -7,7 +7,6 @@ #include "mx/api/ApiCommon.h" #include -#include namespace mx { diff --git a/Sourcecode/mx/impl/SmuflGlyphMap.h b/Sourcecode/mx/impl/SmuflGlyphMap.h deleted file mode 100644 index d164d0691..000000000 --- a/Sourcecode/mx/impl/SmuflGlyphMap.h +++ /dev/null @@ -1,2612 +0,0 @@ -// MusicXML Class Library -// Copyright (c) by Matthew James Briggs -// Distributed under the MIT License - -#pragma once - -#include -#include - -namespace mx -{ - namespace impl - { - inline void createSmuflMap(std::map& outMap) - { - outMap.emplace(std::make_pair( "4stringTabClef", 0xE06E )); // glyphnumber: 0, 4-string tab clef - outMap.emplace(std::make_pair( "6stringTabClef", 0xE06D )); // glyphnumber: 1, 6-string tab clef - outMap.emplace(std::make_pair( "accSagittal11LargeDiesisDown", 0xE30D )); // glyphnumber: 2, 11 large diesis down, 3° down [46 EDO] - outMap.emplace(std::make_pair( "accSagittal11LargeDiesisUp", 0xE30C )); // glyphnumber: 3, 11 large diesis up, (11L), (sharp less 11M), 3° up [46 EDO] - outMap.emplace(std::make_pair( "accSagittal11MediumDiesisDown", 0xE30B )); // glyphnumber: 4, 11 medium diesis down, 1°[17 31] 2°46 down, 1/4-tone down - outMap.emplace(std::make_pair( "accSagittal11MediumDiesisUp", 0xE30A )); // glyphnumber: 5, 11 medium diesis up, (11M), 1°[17 31] 2°46 up, 1/4-tone up - outMap.emplace(std::make_pair( "accSagittal11v19LargeDiesisDown", 0xE3AB )); // glyphnumber: 6, 11:19 large diesis down - outMap.emplace(std::make_pair( "accSagittal11v19LargeDiesisUp", 0xE3AA )); // glyphnumber: 7, 11:19 large diesis up, (11:19L, apotome less 11:19M) - outMap.emplace(std::make_pair( "accSagittal11v19MediumDiesisDown", 0xE3A3 )); // glyphnumber: 8, 11:19 medium diesis down - outMap.emplace(std::make_pair( "accSagittal11v19MediumDiesisUp", 0xE3A2 )); // glyphnumber: 9, 11:19 medium diesis up, (11:19M, 11M plus 19s) - outMap.emplace(std::make_pair( "accSagittal11v49CommaDown", 0xE397 )); // glyphnumber: 10, 11:49 comma down - outMap.emplace(std::make_pair( "accSagittal11v49CommaUp", 0xE396 )); // glyphnumber: 11, 11:49 comma up, (11:49C, 11M less 49C) - outMap.emplace(std::make_pair( "accSagittal143CommaDown", 0xE395 )); // glyphnumber: 12, 143 comma down - outMap.emplace(std::make_pair( "accSagittal143CommaUp", 0xE394 )); // glyphnumber: 13, 143 comma up, (143C, 13L less 11M) - outMap.emplace(std::make_pair( "accSagittal17CommaDown", 0xE343 )); // glyphnumber: 14, 17 comma down - outMap.emplace(std::make_pair( "accSagittal17CommaUp", 0xE342 )); // glyphnumber: 15, 17 comma up, (17C) - outMap.emplace(std::make_pair( "accSagittal17KleismaDown", 0xE393 )); // glyphnumber: 16, 17 kleisma down - outMap.emplace(std::make_pair( "accSagittal17KleismaUp", 0xE392 )); // glyphnumber: 17, 17 kleisma up, (17k) - outMap.emplace(std::make_pair( "accSagittal19CommaDown", 0xE399 )); // glyphnumber: 18, 19 comma down - outMap.emplace(std::make_pair( "accSagittal19CommaUp", 0xE398 )); // glyphnumber: 19, 19 comma up, (19C) - outMap.emplace(std::make_pair( "accSagittal19SchismaDown", 0xE391 )); // glyphnumber: 20, 19 schisma down - outMap.emplace(std::make_pair( "accSagittal19SchismaUp", 0xE390 )); // glyphnumber: 21, 19 schisma up, (19s) - outMap.emplace(std::make_pair( "accSagittal23CommaDown", 0xE371 )); // glyphnumber: 22, 23 comma down, 2° down [96 EDO], 1/8-tone down - outMap.emplace(std::make_pair( "accSagittal23CommaUp", 0xE370 )); // glyphnumber: 23, 23 comma up, (23C), 2° up [96 EDO], 1/8-tone up - outMap.emplace(std::make_pair( "accSagittal23SmallDiesisDown", 0xE39F )); // glyphnumber: 24, 23 small diesis down - outMap.emplace(std::make_pair( "accSagittal23SmallDiesisUp", 0xE39E )); // glyphnumber: 25, 23 small diesis up, (23S) - outMap.emplace(std::make_pair( "accSagittal25SmallDiesisDown", 0xE307 )); // glyphnumber: 26, 25 small diesis down, 2° down [53 EDO] - outMap.emplace(std::make_pair( "accSagittal25SmallDiesisUp", 0xE306 )); // glyphnumber: 27, 25 small diesis up, (25S, ~5:13S, ~37S, 5C plus 5C), 2° up [53 EDO] - outMap.emplace(std::make_pair( "accSagittal35LargeDiesisDown", 0xE30F )); // glyphnumber: 28, 35 large diesis down, 2° down [50 EDO], 5/18-tone down - outMap.emplace(std::make_pair( "accSagittal35LargeDiesisUp", 0xE30E )); // glyphnumber: 29, 35 large diesis up, (35L, ~13L, ~125L, sharp less 35M), 2°50 up - outMap.emplace(std::make_pair( "accSagittal35MediumDiesisDown", 0xE309 )); // glyphnumber: 30, 35 medium diesis down, 1°[50] 2°[27] down, 2/9-tone down - outMap.emplace(std::make_pair( "accSagittal35MediumDiesisUp", 0xE308 )); // glyphnumber: 31, 35 medium diesis up, (35M, ~13M, ~125M, 5C plus 7C), 2/9-tone up - outMap.emplace(std::make_pair( "accSagittal49LargeDiesisDown", 0xE3A9 )); // glyphnumber: 32, 49 large diesis down - outMap.emplace(std::make_pair( "accSagittal49LargeDiesisUp", 0xE3A8 )); // glyphnumber: 33, 49 large diesis up, (49L, ~31L, apotome less 49M) - outMap.emplace(std::make_pair( "accSagittal49MediumDiesisDown", 0xE3A5 )); // glyphnumber: 34, 49 medium diesis down - outMap.emplace(std::make_pair( "accSagittal49MediumDiesisUp", 0xE3A4 )); // glyphnumber: 35, 49 medium diesis up, (49M, ~31M, 7C plus 7C) - outMap.emplace(std::make_pair( "accSagittal49SmallDiesisDown", 0xE39D )); // glyphnumber: 36, 49 small diesis down - outMap.emplace(std::make_pair( "accSagittal49SmallDiesisUp", 0xE39C )); // glyphnumber: 37, 49 small diesis up, (49S, ~31S) - outMap.emplace(std::make_pair( "accSagittal55CommaDown", 0xE345 )); // glyphnumber: 38, 55 comma down, 3° down [96 EDO], 3/16-tone down - outMap.emplace(std::make_pair( "accSagittal55CommaUp", 0xE344 )); // glyphnumber: 39, 55 comma up, (55C, 11M less 5C), 3°up [96 EDO], 3/16-tone up - outMap.emplace(std::make_pair( "accSagittal5CommaDown", 0xE303 )); // glyphnumber: 40, 5 comma down, 1° down [22 27 29 34 41 46 53 96 EDOs], 1/12-tone down - outMap.emplace(std::make_pair( "accSagittal5CommaUp", 0xE302 )); // glyphnumber: 41, 5 comma up, (5C), 1° up [22 27 29 34 41 46 53 96 EDOs], 1/12-tone up - outMap.emplace(std::make_pair( "accSagittal5v11SmallDiesisDown", 0xE349 )); // glyphnumber: 42, 5:11 small diesis down - outMap.emplace(std::make_pair( "accSagittal5v11SmallDiesisUp", 0xE348 )); // glyphnumber: 43, 5:11 small diesis up, (5:11S, ~7:13S, ~11:17S, 5:7k plus 7:11C) - outMap.emplace(std::make_pair( "accSagittal5v13LargeDiesisDown", 0xE3AD )); // glyphnumber: 44, 5:13 large diesis down - outMap.emplace(std::make_pair( "accSagittal5v13LargeDiesisUp", 0xE3AC )); // glyphnumber: 45, 5:13 large diesis up, (5:13L, ~37L, apotome less 5:13M) - outMap.emplace(std::make_pair( "accSagittal5v13MediumDiesisDown", 0xE3A1 )); // glyphnumber: 46, 5:13 medium diesis down - outMap.emplace(std::make_pair( "accSagittal5v13MediumDiesisUp", 0xE3A0 )); // glyphnumber: 47, 5:13 medium diesis up, (5:13M, ~37M, 5C plus 13C) - outMap.emplace(std::make_pair( "accSagittal5v19CommaDown", 0xE373 )); // glyphnumber: 48, 5:19 comma down, 1/20-tone down - outMap.emplace(std::make_pair( "accSagittal5v19CommaUp", 0xE372 )); // glyphnumber: 49, 5:19 comma up, (5:19C, 5C plus 19s), 1/20-tone up - outMap.emplace(std::make_pair( "accSagittal5v23SmallDiesisDown", 0xE375 )); // glyphnumber: 50, 5:23 small diesis down, 2° down [60 EDO], 1/5-tone down - outMap.emplace(std::make_pair( "accSagittal5v23SmallDiesisUp", 0xE374 )); // glyphnumber: 51, 5:23 small diesis up, (5:23S, 5C plus 23C), 2° up [60 EDO], 1/5-tone up - outMap.emplace(std::make_pair( "accSagittal5v49MediumDiesisDown", 0xE3A7 )); // glyphnumber: 52, 5:49 medium diesis down - outMap.emplace(std::make_pair( "accSagittal5v49MediumDiesisUp", 0xE3A6 )); // glyphnumber: 53, 5:49 medium diesis up, (5:49M, half apotome) - outMap.emplace(std::make_pair( "accSagittal5v7KleismaDown", 0xE301 )); // glyphnumber: 54, 5:7 kleisma down - outMap.emplace(std::make_pair( "accSagittal5v7KleismaUp", 0xE300 )); // glyphnumber: 55, 5:7 kleisma up, (5:7k, ~11:13k, 7C less 5C) - outMap.emplace(std::make_pair( "accSagittal7CommaDown", 0xE305 )); // glyphnumber: 56, 7 comma down, 1° down [43 EDO], 2° down [72 EDO], 1/6-tone down - outMap.emplace(std::make_pair( "accSagittal7CommaUp", 0xE304 )); // glyphnumber: 57, 7 comma up, (7C), 1° up [43 EDO], 2° up [72 EDO], 1/6-tone up - outMap.emplace(std::make_pair( "accSagittal7v11CommaDown", 0xE347 )); // glyphnumber: 58, 7:11 comma down, 1° down [60 EDO], 1/10-tone down - outMap.emplace(std::make_pair( "accSagittal7v11CommaUp", 0xE346 )); // glyphnumber: 59, 7:11 comma up, (7:11C, ~13:17S, ~29S, 11L less 7C), 1° up [60 EDO] - outMap.emplace(std::make_pair( "accSagittal7v11KleismaDown", 0xE341 )); // glyphnumber: 60, 7:11 kleisma down - outMap.emplace(std::make_pair( "accSagittal7v11KleismaUp", 0xE340 )); // glyphnumber: 61, 7:11 kleisma up, (7:11k, ~29k) - outMap.emplace(std::make_pair( "accSagittal7v19CommaDown", 0xE39B )); // glyphnumber: 62, 7:19 comma down - outMap.emplace(std::make_pair( "accSagittal7v19CommaUp", 0xE39A )); // glyphnumber: 63, 7:19 comma up, (7:19C, 7C less 19s) - outMap.emplace(std::make_pair( "accSagittalAcute", 0xE3F2 )); // glyphnumber: 64, Acute, 5 schisma up (5s), 2 cents up - outMap.emplace(std::make_pair( "accSagittalDoubleFlat", 0xE335 )); // glyphnumber: 65, Double flat, (2 apotomes down)[almost all EDOs], whole-tone down - outMap.emplace(std::make_pair( "accSagittalDoubleFlat11v49CUp", 0xE3E9 )); // glyphnumber: 66, Double flat 11:49C-up - outMap.emplace(std::make_pair( "accSagittalDoubleFlat143CUp", 0xE3EB )); // glyphnumber: 67, Double flat 143C-up - outMap.emplace(std::make_pair( "accSagittalDoubleFlat17CUp", 0xE365 )); // glyphnumber: 68, Double flat 17C-up - outMap.emplace(std::make_pair( "accSagittalDoubleFlat17kUp", 0xE3ED )); // glyphnumber: 69, Double flat 17k-up - outMap.emplace(std::make_pair( "accSagittalDoubleFlat19CUp", 0xE3E7 )); // glyphnumber: 70, Double flat 19C-up - outMap.emplace(std::make_pair( "accSagittalDoubleFlat19sUp", 0xE3EF )); // glyphnumber: 71, Double flat 19s-up - outMap.emplace(std::make_pair( "accSagittalDoubleFlat23CUp", 0xE387 )); // glyphnumber: 72, Double flat 23C-up, 14° down [96 EDO], 7/8-tone down - outMap.emplace(std::make_pair( "accSagittalDoubleFlat23SUp", 0xE3E1 )); // glyphnumber: 73, Double flat 23S-up - outMap.emplace(std::make_pair( "accSagittalDoubleFlat25SUp", 0xE32D )); // glyphnumber: 74, Double flat 25S-up, 8°down [53 EDO] - outMap.emplace(std::make_pair( "accSagittalDoubleFlat49SUp", 0xE3E3 )); // glyphnumber: 75, Double flat 49S-up - outMap.emplace(std::make_pair( "accSagittalDoubleFlat55CUp", 0xE363 )); // glyphnumber: 76, Double flat 55C-up, 13° down [96 EDO], 13/16-tone down - outMap.emplace(std::make_pair( "accSagittalDoubleFlat5CUp", 0xE331 )); // glyphnumber: 77, Double flat 5C-up, 5°[22 29] 7°[34 41] 9°53 down, 11/12 tone down - outMap.emplace(std::make_pair( "accSagittalDoubleFlat5v11SUp", 0xE35F )); // glyphnumber: 78, Double flat 5:11S-up - outMap.emplace(std::make_pair( "accSagittalDoubleFlat5v19CUp", 0xE385 )); // glyphnumber: 79, Double flat 5:19C-up, 19/20-tone down - outMap.emplace(std::make_pair( "accSagittalDoubleFlat5v23SUp", 0xE383 )); // glyphnumber: 80, Double flat 5:23S-up, 8° down [60 EDO], 4/5-tone down - outMap.emplace(std::make_pair( "accSagittalDoubleFlat5v7kUp", 0xE333 )); // glyphnumber: 81, Double flat 5:7k-up - outMap.emplace(std::make_pair( "accSagittalDoubleFlat7CUp", 0xE32F )); // glyphnumber: 82, Double flat 7C-up, 5° down [43 EDO], 10° down [72 EDO], 5/6-tone down - outMap.emplace(std::make_pair( "accSagittalDoubleFlat7v11CUp", 0xE361 )); // glyphnumber: 83, Double flat 7:11C-up, 9° down [60 EDO], 9/10-tone down - outMap.emplace(std::make_pair( "accSagittalDoubleFlat7v11kUp", 0xE367 )); // glyphnumber: 84, Double flat 7:11k-up - outMap.emplace(std::make_pair( "accSagittalDoubleFlat7v19CUp", 0xE3E5 )); // glyphnumber: 85, Double flat 7:19C-up - outMap.emplace(std::make_pair( "accSagittalDoubleSharp", 0xE334 )); // glyphnumber: 86, Double sharp, (2 apotomes up)[almost all EDOs], whole-tone up - outMap.emplace(std::make_pair( "accSagittalDoubleSharp11v49CDown", 0xE3E8 )); // glyphnumber: 87, Double sharp 11:49C-down - outMap.emplace(std::make_pair( "accSagittalDoubleSharp143CDown", 0xE3EA )); // glyphnumber: 88, Double sharp 143C-down - outMap.emplace(std::make_pair( "accSagittalDoubleSharp17CDown", 0xE364 )); // glyphnumber: 89, Double sharp 17C-down - outMap.emplace(std::make_pair( "accSagittalDoubleSharp17kDown", 0xE3EC )); // glyphnumber: 90, Double sharp 17k-down - outMap.emplace(std::make_pair( "accSagittalDoubleSharp19CDown", 0xE3E6 )); // glyphnumber: 91, Double sharp 19C-down - outMap.emplace(std::make_pair( "accSagittalDoubleSharp19sDown", 0xE3EE )); // glyphnumber: 92, Double sharp 19s-down - outMap.emplace(std::make_pair( "accSagittalDoubleSharp23CDown", 0xE386 )); // glyphnumber: 93, Double sharp 23C-down, 14°up [96 EDO], 7/8-tone up - outMap.emplace(std::make_pair( "accSagittalDoubleSharp23SDown", 0xE3E0 )); // glyphnumber: 94, Double sharp 23S-down - outMap.emplace(std::make_pair( "accSagittalDoubleSharp25SDown", 0xE32C )); // glyphnumber: 95, Double sharp 25S-down, 8°up [53 EDO] - outMap.emplace(std::make_pair( "accSagittalDoubleSharp49SDown", 0xE3E2 )); // glyphnumber: 96, Double sharp 49S-down - outMap.emplace(std::make_pair( "accSagittalDoubleSharp55CDown", 0xE362 )); // glyphnumber: 97, Double sharp 55C-down, 13° up [96 EDO], 13/16-tone up - outMap.emplace(std::make_pair( "accSagittalDoubleSharp5CDown", 0xE330 )); // glyphnumber: 98, Double sharp 5C-down, 5°[22 29] 7°[34 41] 9°53 up, 11/12 tone up - outMap.emplace(std::make_pair( "accSagittalDoubleSharp5v11SDown", 0xE35E )); // glyphnumber: 99, Double sharp 5:11S-down - outMap.emplace(std::make_pair( "accSagittalDoubleSharp5v19CDown", 0xE384 )); // glyphnumber: 100, Double sharp 5:19C-down, 19/20-tone up - outMap.emplace(std::make_pair( "accSagittalDoubleSharp5v23SDown", 0xE382 )); // glyphnumber: 101, Double sharp 5:23S-down, 8° up [60 EDO], 4/5-tone up - outMap.emplace(std::make_pair( "accSagittalDoubleSharp5v7kDown", 0xE332 )); // glyphnumber: 102, Double sharp 5:7k-down - outMap.emplace(std::make_pair( "accSagittalDoubleSharp7CDown", 0xE32E )); // glyphnumber: 103, Double sharp 7C-down, 5°[43] 10°[72] up, 5/6-tone up - outMap.emplace(std::make_pair( "accSagittalDoubleSharp7v11CDown", 0xE360 )); // glyphnumber: 104, Double sharp 7:11C-down, 9° up [60 EDO], 9/10-tone up - outMap.emplace(std::make_pair( "accSagittalDoubleSharp7v11kDown", 0xE366 )); // glyphnumber: 105, Double sharp 7:11k-down - outMap.emplace(std::make_pair( "accSagittalDoubleSharp7v19CDown", 0xE3E4 )); // glyphnumber: 106, Double sharp 7:19C-down - outMap.emplace(std::make_pair( "accSagittalFlat", 0xE319 )); // glyphnumber: 107, Flat, (apotome down)[almost all EDOs], 1/2-tone down - outMap.emplace(std::make_pair( "accSagittalFlat11LDown", 0xE329 )); // glyphnumber: 108, Flat 11L-down, 8° up [46 EDO] - outMap.emplace(std::make_pair( "accSagittalFlat11MDown", 0xE327 )); // glyphnumber: 109, Flat 11M-down, 3° down [17 31 EDOs], 7° down [46 EDO], 3/4-tone down - outMap.emplace(std::make_pair( "accSagittalFlat11v19LDown", 0xE3DB )); // glyphnumber: 110, Flat 11:19L-down - outMap.emplace(std::make_pair( "accSagittalFlat11v19MDown", 0xE3D3 )); // glyphnumber: 111, Flat 11:19M-down - outMap.emplace(std::make_pair( "accSagittalFlat11v49CDown", 0xE3C7 )); // glyphnumber: 112, Flat 11:49C-down - outMap.emplace(std::make_pair( "accSagittalFlat11v49CUp", 0xE3B9 )); // glyphnumber: 113, Flat 11:49C-up - outMap.emplace(std::make_pair( "accSagittalFlat143CDown", 0xE3C5 )); // glyphnumber: 114, Flat 143C-down - outMap.emplace(std::make_pair( "accSagittalFlat143CUp", 0xE3BB )); // glyphnumber: 115, Flat 143C-up - outMap.emplace(std::make_pair( "accSagittalFlat17CDown", 0xE357 )); // glyphnumber: 116, Flat 17C-down - outMap.emplace(std::make_pair( "accSagittalFlat17CUp", 0xE351 )); // glyphnumber: 117, Flat 17C-up - outMap.emplace(std::make_pair( "accSagittalFlat17kDown", 0xE3C3 )); // glyphnumber: 118, Flat 17k-down - outMap.emplace(std::make_pair( "accSagittalFlat17kUp", 0xE3BD )); // glyphnumber: 119, Flat 17k-up - outMap.emplace(std::make_pair( "accSagittalFlat19CDown", 0xE3C9 )); // glyphnumber: 120, Flat 19C-down - outMap.emplace(std::make_pair( "accSagittalFlat19CUp", 0xE3B7 )); // glyphnumber: 121, Flat 19C-up - outMap.emplace(std::make_pair( "accSagittalFlat19sDown", 0xE3C1 )); // glyphnumber: 122, Flat 19s-down - outMap.emplace(std::make_pair( "accSagittalFlat19sUp", 0xE3BF )); // glyphnumber: 123, Flat 19s-up - outMap.emplace(std::make_pair( "accSagittalFlat23CDown", 0xE37D )); // glyphnumber: 124, Flat 23C-down, 10° down [96 EDO], 5/8-tone down - outMap.emplace(std::make_pair( "accSagittalFlat23CUp", 0xE37B )); // glyphnumber: 125, Flat 23C-up, 6° down [96 EDO], 3/8-tone down - outMap.emplace(std::make_pair( "accSagittalFlat23SDown", 0xE3CF )); // glyphnumber: 126, Flat 23S-down - outMap.emplace(std::make_pair( "accSagittalFlat23SUp", 0xE3B1 )); // glyphnumber: 127, Flat 23S-up - outMap.emplace(std::make_pair( "accSagittalFlat25SDown", 0xE323 )); // glyphnumber: 128, Flat 25S-down, 7° down [53 EDO] - outMap.emplace(std::make_pair( "accSagittalFlat25SUp", 0xE311 )); // glyphnumber: 129, Flat 25S-up, 3° down [53 EDO] - outMap.emplace(std::make_pair( "accSagittalFlat35LDown", 0xE32B )); // glyphnumber: 130, Flat 35L-down, 5° down [50 EDO] - outMap.emplace(std::make_pair( "accSagittalFlat35MDown", 0xE325 )); // glyphnumber: 131, Flat 35M-down, 4° down [50 EDO], 6° down [27 EDO], 13/18-tone down - outMap.emplace(std::make_pair( "accSagittalFlat49LDown", 0xE3D9 )); // glyphnumber: 132, Flat 49L-down - outMap.emplace(std::make_pair( "accSagittalFlat49MDown", 0xE3D5 )); // glyphnumber: 133, Flat 49M-down - outMap.emplace(std::make_pair( "accSagittalFlat49SDown", 0xE3CD )); // glyphnumber: 134, Flat 49S-down - outMap.emplace(std::make_pair( "accSagittalFlat49SUp", 0xE3B3 )); // glyphnumber: 135, Flat 49S-up - outMap.emplace(std::make_pair( "accSagittalFlat55CDown", 0xE359 )); // glyphnumber: 136, Flat 55C-down, 11° down [96 EDO], 11/16-tone down - outMap.emplace(std::make_pair( "accSagittalFlat55CUp", 0xE34F )); // glyphnumber: 137, Flat 55C-up, 5° down [96 EDO], 5/16-tone down - outMap.emplace(std::make_pair( "accSagittalFlat5CDown", 0xE31F )); // glyphnumber: 138, Flat 5C-down, 4°[22 29] 5°[27 34 41] 6°[39 46 53] down, 7/12-tone down - outMap.emplace(std::make_pair( "accSagittalFlat5CUp", 0xE315 )); // glyphnumber: 139, Flat 5C-up, 2°[22,29] 3°[34 41] 4°[46 53 60] down, 5/12-tone down - outMap.emplace(std::make_pair( "accSagittalFlat5v11SDown", 0xE35D )); // glyphnumber: 140, Flat 5:11S-down - outMap.emplace(std::make_pair( "accSagittalFlat5v11SUp", 0xE34B )); // glyphnumber: 141, Flat 5:11S-up - outMap.emplace(std::make_pair( "accSagittalFlat5v13LDown", 0xE3DD )); // glyphnumber: 142, Flat 5:13L-down - outMap.emplace(std::make_pair( "accSagittalFlat5v13MDown", 0xE3D1 )); // glyphnumber: 143, Flat 5:13M-down - outMap.emplace(std::make_pair( "accSagittalFlat5v19CDown", 0xE37F )); // glyphnumber: 144, Flat 5:19C-down, 11/20-tone down - outMap.emplace(std::make_pair( "accSagittalFlat5v19CUp", 0xE379 )); // glyphnumber: 145, Flat 5:19C-up, 9/20-tone down - outMap.emplace(std::make_pair( "accSagittalFlat5v23SDown", 0xE381 )); // glyphnumber: 146, Flat 5:23S-down, 7° down [60 EDO], 7/10-tone down - outMap.emplace(std::make_pair( "accSagittalFlat5v23SUp", 0xE377 )); // glyphnumber: 147, Flat 5:23S-up, 3° down [60 EDO], 3/10-tone down - outMap.emplace(std::make_pair( "accSagittalFlat5v49MDown", 0xE3D7 )); // glyphnumber: 148, Flat 5:49M-down - outMap.emplace(std::make_pair( "accSagittalFlat5v7kDown", 0xE31D )); // glyphnumber: 149, Flat 5:7k-down - outMap.emplace(std::make_pair( "accSagittalFlat5v7kUp", 0xE317 )); // glyphnumber: 150, Flat 5:7k-up - outMap.emplace(std::make_pair( "accSagittalFlat7CDown", 0xE321 )); // glyphnumber: 151, Flat 7C-down, 4° down [43 EDO], 8° down [72 EDO], 2/3-tone down - outMap.emplace(std::make_pair( "accSagittalFlat7CUp", 0xE313 )); // glyphnumber: 152, Flat 7C-up, 2° down [43 EDO], 4° down [72 EDO], 1/3-tone down - outMap.emplace(std::make_pair( "accSagittalFlat7v11CDown", 0xE35B )); // glyphnumber: 153, Flat 7:11C-down, 6° down [60 EDO], 3/5- tone down - outMap.emplace(std::make_pair( "accSagittalFlat7v11CUp", 0xE34D )); // glyphnumber: 154, Flat 7:11C-up, 4° down [60 EDO], 2/5-tone down - outMap.emplace(std::make_pair( "accSagittalFlat7v11kDown", 0xE355 )); // glyphnumber: 155, Flat 7:11k-down - outMap.emplace(std::make_pair( "accSagittalFlat7v11kUp", 0xE353 )); // glyphnumber: 156, Flat 7:11k-up - outMap.emplace(std::make_pair( "accSagittalFlat7v19CDown", 0xE3CB )); // glyphnumber: 157, Flat 7:19C-down - outMap.emplace(std::make_pair( "accSagittalFlat7v19CUp", 0xE3B5 )); // glyphnumber: 158, Flat 7:19C-up - outMap.emplace(std::make_pair( "accSagittalGrave", 0xE3F3 )); // glyphnumber: 159, Grave, 5 schisma down, 2 cents down - outMap.emplace(std::make_pair( "accSagittalShaftDown", 0xE3F1 )); // glyphnumber: 160, Shaft down, (natural for use with only diacritics down) - outMap.emplace(std::make_pair( "accSagittalShaftUp", 0xE3F0 )); // glyphnumber: 161, Shaft up, (natural for use with only diacritics up) - outMap.emplace(std::make_pair( "accSagittalSharp", 0xE318 )); // glyphnumber: 162, Sharp, (apotome up)[almost all EDOs], 1/2-tone up - outMap.emplace(std::make_pair( "accSagittalSharp11LUp", 0xE328 )); // glyphnumber: 163, Sharp 11L-up, 8° up [46 EDO] - outMap.emplace(std::make_pair( "accSagittalSharp11MUp", 0xE326 )); // glyphnumber: 164, Sharp 11M-up, 3° up [17 31 EDOs], 7° up [46 EDO], 3/4-tone up - outMap.emplace(std::make_pair( "accSagittalSharp11v19LUp", 0xE3DA )); // glyphnumber: 165, Sharp 11:19L-up - outMap.emplace(std::make_pair( "accSagittalSharp11v19MUp", 0xE3D2 )); // glyphnumber: 166, Sharp 11:19M-up - outMap.emplace(std::make_pair( "accSagittalSharp11v49CDown", 0xE3B8 )); // glyphnumber: 167, Sharp 11:49C-down - outMap.emplace(std::make_pair( "accSagittalSharp11v49CUp", 0xE3C6 )); // glyphnumber: 168, Sharp 11:49C-up - outMap.emplace(std::make_pair( "accSagittalSharp143CDown", 0xE3BA )); // glyphnumber: 169, Sharp 143C-down - outMap.emplace(std::make_pair( "accSagittalSharp143CUp", 0xE3C4 )); // glyphnumber: 170, Sharp 143C-up - outMap.emplace(std::make_pair( "accSagittalSharp17CDown", 0xE350 )); // glyphnumber: 171, Sharp 17C-down - outMap.emplace(std::make_pair( "accSagittalSharp17CUp", 0xE356 )); // glyphnumber: 172, Sharp 17C-up - outMap.emplace(std::make_pair( "accSagittalSharp17kDown", 0xE3BC )); // glyphnumber: 173, Sharp 17k-down - outMap.emplace(std::make_pair( "accSagittalSharp17kUp", 0xE3C2 )); // glyphnumber: 174, Sharp 17k-up - outMap.emplace(std::make_pair( "accSagittalSharp19CDown", 0xE3B6 )); // glyphnumber: 175, Sharp 19C-down - outMap.emplace(std::make_pair( "accSagittalSharp19CUp", 0xE3C8 )); // glyphnumber: 176, Sharp 19C-up - outMap.emplace(std::make_pair( "accSagittalSharp19sDown", 0xE3BE )); // glyphnumber: 177, Sharp 19s-down - outMap.emplace(std::make_pair( "accSagittalSharp19sUp", 0xE3C0 )); // glyphnumber: 178, Sharp 19s-up - outMap.emplace(std::make_pair( "accSagittalSharp23CDown", 0xE37A )); // glyphnumber: 179, Sharp 23C-down, 6° up [96 EDO], 3/8-tone up - outMap.emplace(std::make_pair( "accSagittalSharp23CUp", 0xE37C )); // glyphnumber: 180, Sharp 23C-up, 10° up [96 EDO], 5/8-tone up - outMap.emplace(std::make_pair( "accSagittalSharp23SDown", 0xE3B0 )); // glyphnumber: 181, Sharp 23S-down - outMap.emplace(std::make_pair( "accSagittalSharp23SUp", 0xE3CE )); // glyphnumber: 182, Sharp 23S-up - outMap.emplace(std::make_pair( "accSagittalSharp25SDown", 0xE310 )); // glyphnumber: 183, Sharp 25S-down, 3° up [53 EDO] - outMap.emplace(std::make_pair( "accSagittalSharp25SUp", 0xE322 )); // glyphnumber: 184, Sharp 25S-up, 7° up [53 EDO] - outMap.emplace(std::make_pair( "accSagittalSharp35LUp", 0xE32A )); // glyphnumber: 185, Sharp 35L-up, 5° up [50 EDO] - outMap.emplace(std::make_pair( "accSagittalSharp35MUp", 0xE324 )); // glyphnumber: 186, Sharp 35M-up, 4° up [50 EDO], 6° up [27 EDO], 13/18-tone up - outMap.emplace(std::make_pair( "accSagittalSharp49LUp", 0xE3D8 )); // glyphnumber: 187, Sharp 49L-up - outMap.emplace(std::make_pair( "accSagittalSharp49MUp", 0xE3D4 )); // glyphnumber: 188, Sharp 49M-up - outMap.emplace(std::make_pair( "accSagittalSharp49SDown", 0xE3B2 )); // glyphnumber: 189, Sharp 49S-down - outMap.emplace(std::make_pair( "accSagittalSharp49SUp", 0xE3CC )); // glyphnumber: 190, Sharp 49S-up - outMap.emplace(std::make_pair( "accSagittalSharp55CDown", 0xE34E )); // glyphnumber: 191, Sharp 55C-down, 5° up [96 EDO], 5/16-tone up - outMap.emplace(std::make_pair( "accSagittalSharp55CUp", 0xE358 )); // glyphnumber: 192, Sharp 55C-up, 11° up [96 EDO], 11/16-tone up - outMap.emplace(std::make_pair( "accSagittalSharp5CDown", 0xE314 )); // glyphnumber: 193, Sharp 5C-down, 2°[22 29] 3°[34 41] 4°[46 53 60] up, 5/12-tone up - outMap.emplace(std::make_pair( "accSagittalSharp5CUp", 0xE31E )); // glyphnumber: 194, Sharp 5C-up, 4°[22 29] 5°[27 34 41] 6°[39 46 53] up, 7/12-tone up - outMap.emplace(std::make_pair( "accSagittalSharp5v11SDown", 0xE34A )); // glyphnumber: 195, Sharp 5:11S-down - outMap.emplace(std::make_pair( "accSagittalSharp5v11SUp", 0xE35C )); // glyphnumber: 196, Sharp 5:11S-up - outMap.emplace(std::make_pair( "accSagittalSharp5v13LUp", 0xE3DC )); // glyphnumber: 197, Sharp 5:13L-up - outMap.emplace(std::make_pair( "accSagittalSharp5v13MUp", 0xE3D0 )); // glyphnumber: 198, Sharp 5:13M-up - outMap.emplace(std::make_pair( "accSagittalSharp5v19CDown", 0xE378 )); // glyphnumber: 199, Sharp 5:19C-down, 9/20-tone up - outMap.emplace(std::make_pair( "accSagittalSharp5v19CUp", 0xE37E )); // glyphnumber: 200, Sharp 5:19C-up, 11/20-tone up - outMap.emplace(std::make_pair( "accSagittalSharp5v23SDown", 0xE376 )); // glyphnumber: 201, Sharp 5:23S-down, 3° up [60 EDO], 3/10-tone up - outMap.emplace(std::make_pair( "accSagittalSharp5v23SUp", 0xE380 )); // glyphnumber: 202, Sharp 5:23S-up, 7° up [60 EDO], 7/10-tone up - outMap.emplace(std::make_pair( "accSagittalSharp5v49MUp", 0xE3D6 )); // glyphnumber: 203, Sharp 5:49M-up, (one and a half apotomes) - outMap.emplace(std::make_pair( "accSagittalSharp5v7kDown", 0xE316 )); // glyphnumber: 204, Sharp 5:7k-down - outMap.emplace(std::make_pair( "accSagittalSharp5v7kUp", 0xE31C )); // glyphnumber: 205, Sharp 5:7k-up - outMap.emplace(std::make_pair( "accSagittalSharp7CDown", 0xE312 )); // glyphnumber: 206, Sharp 7C-down, 2° up [43 EDO], 4° up [72 EDO], 1/3-tone up - outMap.emplace(std::make_pair( "accSagittalSharp7CUp", 0xE320 )); // glyphnumber: 207, Sharp 7C-up, 4° up [43 EDO], 8° up [72 EDO], 2/3-tone up - outMap.emplace(std::make_pair( "accSagittalSharp7v11CDown", 0xE34C )); // glyphnumber: 208, Sharp 7:11C-down, 4° up [60 EDO], 2/5-tone up - outMap.emplace(std::make_pair( "accSagittalSharp7v11CUp", 0xE35A )); // glyphnumber: 209, Sharp 7:11C-up, 6° up [60 EDO], 3/5- tone up - outMap.emplace(std::make_pair( "accSagittalSharp7v11kDown", 0xE352 )); // glyphnumber: 210, Sharp 7:11k-down - outMap.emplace(std::make_pair( "accSagittalSharp7v11kUp", 0xE354 )); // glyphnumber: 211, Sharp 7:11k-up - outMap.emplace(std::make_pair( "accSagittalSharp7v19CDown", 0xE3B4 )); // glyphnumber: 212, Sharp 7:19C-down - outMap.emplace(std::make_pair( "accSagittalSharp7v19CUp", 0xE3CA )); // glyphnumber: 213, Sharp 7:19C-up - outMap.emplace(std::make_pair( "accSagittalUnused1", 0xE31A )); // glyphnumber: 214, Unused - outMap.emplace(std::make_pair( "accSagittalUnused2", 0xE31B )); // glyphnumber: 215, Unused - outMap.emplace(std::make_pair( "accSagittalUnused3", 0xE3DE )); // glyphnumber: 216, Unused - outMap.emplace(std::make_pair( "accSagittalUnused4", 0xE3DF )); // glyphnumber: 217, Unused - outMap.emplace(std::make_pair( "accdnCombDot", 0xE8CA )); // glyphnumber: 218, Combining accordion coupler dot - outMap.emplace(std::make_pair( "accdnCombLH2RanksEmpty", 0xE8C8 )); // glyphnumber: 219, Combining left hand, 2 ranks, empty - outMap.emplace(std::make_pair( "accdnCombLH3RanksEmptySquare", 0xE8C9 )); // glyphnumber: 220, Combining left hand, 3 ranks, empty (square) - outMap.emplace(std::make_pair( "accdnCombRH3RanksEmpty", 0xE8C6 )); // glyphnumber: 221, Combining right hand, 3 ranks, empty - outMap.emplace(std::make_pair( "accdnCombRH4RanksEmpty", 0xE8C7 )); // glyphnumber: 222, Combining right hand, 4 ranks, empty - outMap.emplace(std::make_pair( "accdnDiatonicClef", 0xE079 )); // glyphnumber: 223, Diatonic accordion clef - outMap.emplace(std::make_pair( "accdnLH2Ranks16Round", 0xE8BC )); // glyphnumber: 224, Left hand, 2 ranks, 16' stop (round) - outMap.emplace(std::make_pair( "accdnLH2Ranks8Plus16Round", 0xE8BD )); // glyphnumber: 225, Left hand, 2 ranks, 8' stop + 16' stop (round) - outMap.emplace(std::make_pair( "accdnLH2Ranks8Round", 0xE8BB )); // glyphnumber: 226, Left hand, 2 ranks, 8' stop (round) - outMap.emplace(std::make_pair( "accdnLH2RanksFullMasterRound", 0xE8C0 )); // glyphnumber: 227, Left hand, 2 ranks, full master (round) - outMap.emplace(std::make_pair( "accdnLH2RanksMasterPlus16Round", 0xE8BF )); // glyphnumber: 228, Left hand, 2 ranks, master + 16' stop (round) - outMap.emplace(std::make_pair( "accdnLH2RanksMasterRound", 0xE8BE )); // glyphnumber: 229, Left hand, 2 ranks, master (round) - outMap.emplace(std::make_pair( "accdnLH3Ranks2Plus8Square", 0xE8C4 )); // glyphnumber: 230, Left hand, 3 ranks, 2' stop + 8' stop (square) - outMap.emplace(std::make_pair( "accdnLH3Ranks2Square", 0xE8C2 )); // glyphnumber: 231, Left hand, 3 ranks, 2' stop (square) - outMap.emplace(std::make_pair( "accdnLH3Ranks8Square", 0xE8C1 )); // glyphnumber: 232, Left hand, 3 ranks, 8' stop (square) - outMap.emplace(std::make_pair( "accdnLH3RanksDouble8Square", 0xE8C3 )); // glyphnumber: 233, Left hand, 3 ranks, double 8' stop (square) - outMap.emplace(std::make_pair( "accdnLH3RanksTuttiSquare", 0xE8C5 )); // glyphnumber: 234, Left hand, 3 ranks, 2' stop + double 8' stop (tutti) (square) - outMap.emplace(std::make_pair( "accdnPull", 0xE8CC )); // glyphnumber: 235, Pull - outMap.emplace(std::make_pair( "accdnPush", 0xE8CB )); // glyphnumber: 236, Push - outMap.emplace(std::make_pair( "accdnRH3RanksAccordion", 0xE8AC )); // glyphnumber: 237, Right hand, 3 ranks, 8' stop + upper tremolo 8' stop + 16' stop (accordion) - outMap.emplace(std::make_pair( "accdnRH3RanksAuthenticMusette", 0xE8A8 )); // glyphnumber: 238, Right hand, 3 ranks, lower tremolo 8' stop + 8' stop + upper tremolo 8' stop (authentic musette) - outMap.emplace(std::make_pair( "accdnRH3RanksBandoneon", 0xE8AB )); // glyphnumber: 239, Right hand, 3 ranks, 8' stop + 16' stop (bandoneón) - outMap.emplace(std::make_pair( "accdnRH3RanksBassoon", 0xE8A4 )); // glyphnumber: 240, Right hand, 3 ranks, 16' stop (bassoon) - outMap.emplace(std::make_pair( "accdnRH3RanksClarinet", 0xE8A1 )); // glyphnumber: 241, Right hand, 3 ranks, 8' stop (clarinet) - outMap.emplace(std::make_pair( "accdnRH3RanksDoubleTremoloLower8ve", 0xE8B1 )); // glyphnumber: 242, Right hand, 3 ranks, lower tremolo 8' stop + 8' stop + upper tremolo 8' stop + 16' stop - outMap.emplace(std::make_pair( "accdnRH3RanksDoubleTremoloUpper8ve", 0xE8B2 )); // glyphnumber: 243, Right hand, 3 ranks, 4' stop + lower tremolo 8' stop + 8' stop + upper tremolo 8' stop - outMap.emplace(std::make_pair( "accdnRH3RanksFullFactory", 0xE8B3 )); // glyphnumber: 244, Right hand, 3 ranks, 4' stop + lower tremolo 8' stop + 8' stop + upper tremolo 8' stop + 16' stop - outMap.emplace(std::make_pair( "accdnRH3RanksHarmonium", 0xE8AA )); // glyphnumber: 245, Right hand, 3 ranks, 4' stop + 8' stop + 16' stop (harmonium) - outMap.emplace(std::make_pair( "accdnRH3RanksImitationMusette", 0xE8A7 )); // glyphnumber: 246, Right hand, 3 ranks, 4' stop + 8' stop + upper tremolo 8' stop (imitation musette) - outMap.emplace(std::make_pair( "accdnRH3RanksLowerTremolo8", 0xE8A3 )); // glyphnumber: 247, Right hand, 3 ranks, lower tremolo 8' stop - outMap.emplace(std::make_pair( "accdnRH3RanksMaster", 0xE8AD )); // glyphnumber: 248, Right hand, 3 ranks, 4' stop + lower tremolo 8' stop + upper tremolo 8' stop + 16' stop (master) - outMap.emplace(std::make_pair( "accdnRH3RanksOboe", 0xE8A5 )); // glyphnumber: 249, Right hand, 3 ranks, 4' stop + 8' stop (oboe) - outMap.emplace(std::make_pair( "accdnRH3RanksOrgan", 0xE8A9 )); // glyphnumber: 250, Right hand, 3 ranks, 4' stop + 16' stop (organ) - outMap.emplace(std::make_pair( "accdnRH3RanksPiccolo", 0xE8A0 )); // glyphnumber: 251, Right hand, 3 ranks, 4' stop (piccolo) - outMap.emplace(std::make_pair( "accdnRH3RanksTremoloLower8ve", 0xE8AF )); // glyphnumber: 252, Right hand, 3 ranks, lower tremolo 8' stop + upper tremolo 8' stop + 16' stop - outMap.emplace(std::make_pair( "accdnRH3RanksTremoloUpper8ve", 0xE8B0 )); // glyphnumber: 253, Right hand, 3 ranks, 4' stop + lower tremolo 8' stop + upper tremolo 8' stop - outMap.emplace(std::make_pair( "accdnRH3RanksTwoChoirs", 0xE8AE )); // glyphnumber: 254, Right hand, 3 ranks, lower tremolo 8' stop + upper tremolo 8' stop - outMap.emplace(std::make_pair( "accdnRH3RanksUpperTremolo8", 0xE8A2 )); // glyphnumber: 255, Right hand, 3 ranks, upper tremolo 8' stop - outMap.emplace(std::make_pair( "accdnRH3RanksViolin", 0xE8A6 )); // glyphnumber: 256, Right hand, 3 ranks, 8' stop + upper tremolo 8' stop (violin) - outMap.emplace(std::make_pair( "accdnRH4RanksAlto", 0xE8B5 )); // glyphnumber: 257, Right hand, 4 ranks, alto - outMap.emplace(std::make_pair( "accdnRH4RanksBassAlto", 0xE8BA )); // glyphnumber: 258, Right hand, 4 ranks, bass/alto - outMap.emplace(std::make_pair( "accdnRH4RanksMaster", 0xE8B7 )); // glyphnumber: 259, Right hand, 4 ranks, master - outMap.emplace(std::make_pair( "accdnRH4RanksSoftBass", 0xE8B8 )); // glyphnumber: 260, Right hand, 4 ranks, soft bass - outMap.emplace(std::make_pair( "accdnRH4RanksSoftTenor", 0xE8B9 )); // glyphnumber: 261, Right hand, 4 ranks, soft tenor - outMap.emplace(std::make_pair( "accdnRH4RanksSoprano", 0xE8B4 )); // glyphnumber: 262, Right hand, 4 ranks, soprano - outMap.emplace(std::make_pair( "accdnRH4RanksTenor", 0xE8B6 )); // glyphnumber: 263, Right hand, 4 ranks, tenor - outMap.emplace(std::make_pair( "accdnRicochet2", 0xE8CD )); // glyphnumber: 264, Ricochet (2 tones) - outMap.emplace(std::make_pair( "accdnRicochet3", 0xE8CE )); // glyphnumber: 265, Ricochet (3 tones) - outMap.emplace(std::make_pair( "accdnRicochet4", 0xE8CF )); // glyphnumber: 266, Ricochet (4 tones) - outMap.emplace(std::make_pair( "accdnRicochet5", 0xE8D0 )); // glyphnumber: 267, Ricochet (5 tones) - outMap.emplace(std::make_pair( "accdnRicochet6", 0xE8D1 )); // glyphnumber: 268, Ricochet (6 tones) - outMap.emplace(std::make_pair( "accdnRicochetStem2", 0xE8D2 )); // glyphnumber: 269, Combining ricochet for stem (2 tones) - outMap.emplace(std::make_pair( "accdnRicochetStem3", 0xE8D3 )); // glyphnumber: 270, Combining ricochet for stem (3 tones) - outMap.emplace(std::make_pair( "accdnRicochetStem4", 0xE8D4 )); // glyphnumber: 271, Combining ricochet for stem (4 tones) - outMap.emplace(std::make_pair( "accdnRicochetStem5", 0xE8D5 )); // glyphnumber: 272, Combining ricochet for stem (5 tones) - outMap.emplace(std::make_pair( "accdnRicochetStem6", 0xE8D6 )); // glyphnumber: 273, Combining ricochet for stem (6 tones) - outMap.emplace(std::make_pair( "accidental1CommaFlat", 0xE454 )); // glyphnumber: 274, 1-comma flat - outMap.emplace(std::make_pair( "accidental1CommaSharp", 0xE450 )); // glyphnumber: 275, 1-comma sharp - outMap.emplace(std::make_pair( "accidental2CommaFlat", 0xE455 )); // glyphnumber: 276, 2-comma flat - outMap.emplace(std::make_pair( "accidental2CommaSharp", 0xE451 )); // glyphnumber: 277, 2-comma sharp - outMap.emplace(std::make_pair( "accidental3CommaFlat", 0xE456 )); // glyphnumber: 278, 3-comma flat - outMap.emplace(std::make_pair( "accidental3CommaSharp", 0xE452 )); // glyphnumber: 279, 3-comma sharp - outMap.emplace(std::make_pair( "accidental4CommaFlat", 0xE457 )); // glyphnumber: 280, 4-comma flat - outMap.emplace(std::make_pair( "accidental5CommaSharp", 0xE453 )); // glyphnumber: 281, 5-comma sharp - outMap.emplace(std::make_pair( "accidentalArrowDown", 0xE27B )); // glyphnumber: 282, Arrow down (lower by one quarter-tone) - outMap.emplace(std::make_pair( "accidentalArrowUp", 0xE27A )); // glyphnumber: 283, Arrow up (raise by one quarter-tone) - outMap.emplace(std::make_pair( "accidentalBakiyeFlat", 0xE442 )); // glyphnumber: 284, Bakiye (flat) - outMap.emplace(std::make_pair( "accidentalBakiyeSharp", 0xE445 )); // glyphnumber: 285, Bakiye (sharp) - outMap.emplace(std::make_pair( "accidentalBracketLeft", 0xE26C )); // glyphnumber: 286, Accidental bracket, left - outMap.emplace(std::make_pair( "accidentalBracketRight", 0xE26D )); // glyphnumber: 287, Accidental bracket, right - outMap.emplace(std::make_pair( "accidentalBuyukMucennebFlat", 0xE440 )); // glyphnumber: 288, Büyük mücenneb (flat) - outMap.emplace(std::make_pair( "accidentalBuyukMucennebSharp", 0xE447 )); // glyphnumber: 289, Büyük mücenneb (sharp) - outMap.emplace(std::make_pair( "accidentalCombiningCloseCurlyBrace", 0xE2EF )); // glyphnumber: 290, Combining close curly brace - outMap.emplace(std::make_pair( "accidentalCombiningLower17Schisma", 0xE2E6 )); // glyphnumber: 291, Combining lower by one 17-limit schisma - outMap.emplace(std::make_pair( "accidentalCombiningLower19Schisma", 0xE2E8 )); // glyphnumber: 292, Combining lower by one 19-limit schisma - outMap.emplace(std::make_pair( "accidentalCombiningLower23Limit29LimitComma", 0xE2EA )); // glyphnumber: 293, Combining lower by one 23-limit comma or 29-limit comma - outMap.emplace(std::make_pair( "accidentalCombiningLower31Schisma", 0xE2EC )); // glyphnumber: 294, Combining lower by one 31-limit schisma - outMap.emplace(std::make_pair( "accidentalCombiningLower53LimitComma", 0xE2F7 )); // glyphnumber: 295, Combining lower by one 53-limit comma - outMap.emplace(std::make_pair( "accidentalCombiningOpenCurlyBrace", 0xE2EE )); // glyphnumber: 296, Combining open curly brace - outMap.emplace(std::make_pair( "accidentalCombiningRaise17Schisma", 0xE2E7 )); // glyphnumber: 297, Combining raise by one 17-limit schisma - outMap.emplace(std::make_pair( "accidentalCombiningRaise19Schisma", 0xE2E9 )); // glyphnumber: 298, Combining raise by one 19-limit schisma - outMap.emplace(std::make_pair( "accidentalCombiningRaise23Limit29LimitComma", 0xE2EB )); // glyphnumber: 299, Combining raise by one 23-limit comma or 29-limit comma - outMap.emplace(std::make_pair( "accidentalCombiningRaise31Schisma", 0xE2ED )); // glyphnumber: 300, Combining raise by one 31-limit schisma - outMap.emplace(std::make_pair( "accidentalCombiningRaise53LimitComma", 0xE2F8 )); // glyphnumber: 301, Combining raise by one 53-limit comma - outMap.emplace(std::make_pair( "accidentalCommaSlashDown", 0xE47A )); // glyphnumber: 302, Syntonic/Didymus comma (80:81) down (Bosanquet) - outMap.emplace(std::make_pair( "accidentalCommaSlashUp", 0xE479 )); // glyphnumber: 303, Syntonic/Didymus comma (80:81) up (Bosanquet) - outMap.emplace(std::make_pair( "accidentalDoubleFlat", 0xE264 )); // glyphnumber: 304, Double flat - outMap.emplace(std::make_pair( "accidentalDoubleFlatArabic", 0xED30 )); // glyphnumber: 305, Arabic double flat - outMap.emplace(std::make_pair( "accidentalDoubleFlatEqualTempered", 0xE2F0 )); // glyphnumber: 306, Double flat equal tempered semitone - outMap.emplace(std::make_pair( "accidentalDoubleFlatOneArrowDown", 0xE2C0 )); // glyphnumber: 307, Double flat lowered by one syntonic comma - outMap.emplace(std::make_pair( "accidentalDoubleFlatOneArrowUp", 0xE2C5 )); // glyphnumber: 308, Double flat raised by one syntonic comma - outMap.emplace(std::make_pair( "accidentalDoubleFlatReversed", 0xE483 )); // glyphnumber: 309, Reversed double flat - outMap.emplace(std::make_pair( "accidentalDoubleFlatThreeArrowsDown", 0xE2D4 )); // glyphnumber: 310, Double flat lowered by three syntonic commas - outMap.emplace(std::make_pair( "accidentalDoubleFlatThreeArrowsUp", 0xE2D9 )); // glyphnumber: 311, Double flat raised by three syntonic commas - outMap.emplace(std::make_pair( "accidentalDoubleFlatTurned", 0xE485 )); // glyphnumber: 312, Turned double flat - outMap.emplace(std::make_pair( "accidentalDoubleFlatTwoArrowsDown", 0xE2CA )); // glyphnumber: 313, Double flat lowered by two syntonic commas - outMap.emplace(std::make_pair( "accidentalDoubleFlatTwoArrowsUp", 0xE2CF )); // glyphnumber: 314, Double flat raised by two syntonic commas - outMap.emplace(std::make_pair( "accidentalDoubleSharp", 0xE263 )); // glyphnumber: 315, Double sharp - outMap.emplace(std::make_pair( "accidentalDoubleSharpArabic", 0xED38 )); // glyphnumber: 316, Arabic double sharp - outMap.emplace(std::make_pair( "accidentalDoubleSharpEqualTempered", 0xE2F4 )); // glyphnumber: 317, Double sharp equal tempered semitone - outMap.emplace(std::make_pair( "accidentalDoubleSharpOneArrowDown", 0xE2C4 )); // glyphnumber: 318, Double sharp lowered by one syntonic comma - outMap.emplace(std::make_pair( "accidentalDoubleSharpOneArrowUp", 0xE2C9 )); // glyphnumber: 319, Double sharp raised by one syntonic comma - outMap.emplace(std::make_pair( "accidentalDoubleSharpThreeArrowsDown", 0xE2D8 )); // glyphnumber: 320, Double sharp lowered by three syntonic commas - outMap.emplace(std::make_pair( "accidentalDoubleSharpThreeArrowsUp", 0xE2DD )); // glyphnumber: 321, Double sharp raised by three syntonic commas - outMap.emplace(std::make_pair( "accidentalDoubleSharpTwoArrowsDown", 0xE2CE )); // glyphnumber: 322, Double sharp lowered by two syntonic commas - outMap.emplace(std::make_pair( "accidentalDoubleSharpTwoArrowsUp", 0xE2D3 )); // glyphnumber: 323, Double sharp raised by two syntonic commas - outMap.emplace(std::make_pair( "accidentalEnharmonicAlmostEqualTo", 0xE2FA )); // glyphnumber: 324, Enharmonically reinterpret accidental almost equal to - outMap.emplace(std::make_pair( "accidentalEnharmonicEquals", 0xE2FB )); // glyphnumber: 325, Enharmonically reinterpret accidental equals - outMap.emplace(std::make_pair( "accidentalEnharmonicTilde", 0xE2F9 )); // glyphnumber: 326, Enharmonically reinterpret accidental tilde - outMap.emplace(std::make_pair( "accidentalFilledReversedFlatAndFlat", 0xE296 )); // glyphnumber: 327, Filled reversed flat and flat - outMap.emplace(std::make_pair( "accidentalFilledReversedFlatAndFlatArrowDown", 0xE298 )); // glyphnumber: 328, Filled reversed flat and flat with arrow down - outMap.emplace(std::make_pair( "accidentalFilledReversedFlatAndFlatArrowUp", 0xE297 )); // glyphnumber: 329, Filled reversed flat and flat with arrow up - outMap.emplace(std::make_pair( "accidentalFilledReversedFlatArrowDown", 0xE293 )); // glyphnumber: 330, Filled reversed flat with arrow down - outMap.emplace(std::make_pair( "accidentalFilledReversedFlatArrowUp", 0xE292 )); // glyphnumber: 331, Filled reversed flat with arrow up - outMap.emplace(std::make_pair( "accidentalFiveQuarterTonesFlatArrowDown", 0xE279 )); // glyphnumber: 332, Five-quarter-tones flat - outMap.emplace(std::make_pair( "accidentalFiveQuarterTonesSharpArrowUp", 0xE276 )); // glyphnumber: 333, Five-quarter-tones sharp - outMap.emplace(std::make_pair( "accidentalFlat", 0xE260 )); // glyphnumber: 334, Flat - outMap.emplace(std::make_pair( "accidentalFlatArabic", 0xED32 )); // glyphnumber: 335, Arabic half-tone flat - outMap.emplace(std::make_pair( "accidentalFlatEqualTempered", 0xE2F1 )); // glyphnumber: 336, Flat equal tempered semitone - outMap.emplace(std::make_pair( "accidentalFlatLoweredStockhausen", 0xED53 )); // glyphnumber: 337, Lowered flat (Stockhausen) - outMap.emplace(std::make_pair( "accidentalFlatOneArrowDown", 0xE2C1 )); // glyphnumber: 338, Flat lowered by one syntonic comma - outMap.emplace(std::make_pair( "accidentalFlatOneArrowUp", 0xE2C6 )); // glyphnumber: 339, Flat raised by one syntonic comma - outMap.emplace(std::make_pair( "accidentalFlatRaisedStockhausen", 0xED52 )); // glyphnumber: 340, Raised flat (Stockhausen) - outMap.emplace(std::make_pair( "accidentalFlatRepeatedLineStockhausen", 0xED5C )); // glyphnumber: 341, Repeated flat, note on line (Stockhausen) - outMap.emplace(std::make_pair( "accidentalFlatRepeatedSpaceStockhausen", 0xED5B )); // glyphnumber: 342, Repeated flat, note in space (Stockhausen) - outMap.emplace(std::make_pair( "accidentalFlatThreeArrowsDown", 0xE2D5 )); // glyphnumber: 343, Flat lowered by three syntonic commas - outMap.emplace(std::make_pair( "accidentalFlatThreeArrowsUp", 0xE2DA )); // glyphnumber: 344, Flat raised by three syntonic commas - outMap.emplace(std::make_pair( "accidentalFlatTurned", 0xE484 )); // glyphnumber: 345, Turned flat - outMap.emplace(std::make_pair( "accidentalFlatTwoArrowsDown", 0xE2CB )); // glyphnumber: 346, Flat lowered by two syntonic commas - outMap.emplace(std::make_pair( "accidentalFlatTwoArrowsUp", 0xE2D0 )); // glyphnumber: 347, Flat raised by two syntonic commas - outMap.emplace(std::make_pair( "accidentalHalfSharpArrowDown", 0xE29A )); // glyphnumber: 348, Half sharp with arrow down - outMap.emplace(std::make_pair( "accidentalHalfSharpArrowUp", 0xE299 )); // glyphnumber: 349, Half sharp with arrow up - outMap.emplace(std::make_pair( "accidentalJohnston13", 0xE2B6 )); // glyphnumber: 350, Thirteen (raise by 65:64) - outMap.emplace(std::make_pair( "accidentalJohnston31", 0xE2B7 )); // glyphnumber: 351, Inverted 13 (lower by 65:64) - outMap.emplace(std::make_pair( "accidentalJohnstonDown", 0xE2B5 )); // glyphnumber: 352, Down arrow (lower by 33:32) - outMap.emplace(std::make_pair( "accidentalJohnstonEl", 0xE2B2 )); // glyphnumber: 353, Inverted seven (raise by 36:35) - outMap.emplace(std::make_pair( "accidentalJohnstonMinus", 0xE2B1 )); // glyphnumber: 354, Minus (lower by 81:80) - outMap.emplace(std::make_pair( "accidentalJohnstonPlus", 0xE2B0 )); // glyphnumber: 355, Plus (raise by 81:80) - outMap.emplace(std::make_pair( "accidentalJohnstonSeven", 0xE2B3 )); // glyphnumber: 356, Seven (lower by 36:35) - outMap.emplace(std::make_pair( "accidentalJohnstonUp", 0xE2B4 )); // glyphnumber: 357, Up arrow (raise by 33:32) - outMap.emplace(std::make_pair( "accidentalKomaFlat", 0xE443 )); // glyphnumber: 358, Koma (flat) - outMap.emplace(std::make_pair( "accidentalKomaSharp", 0xE444 )); // glyphnumber: 359, Koma (sharp) - outMap.emplace(std::make_pair( "accidentalKoron", 0xE460 )); // glyphnumber: 360, Koron (quarter tone flat) - outMap.emplace(std::make_pair( "accidentalKucukMucennebFlat", 0xE441 )); // glyphnumber: 361, Küçük mücenneb (flat) - outMap.emplace(std::make_pair( "accidentalKucukMucennebSharp", 0xE446 )); // glyphnumber: 362, Küçük mücenneb (sharp) - outMap.emplace(std::make_pair( "accidentalLargeDoubleSharp", 0xE47D )); // glyphnumber: 363, Large double sharp - outMap.emplace(std::make_pair( "accidentalLowerOneSeptimalComma", 0xE2DE )); // glyphnumber: 364, Lower by one septimal comma - outMap.emplace(std::make_pair( "accidentalLowerOneTridecimalQuartertone", 0xE2E4 )); // glyphnumber: 365, Lower by one tridecimal quartertone - outMap.emplace(std::make_pair( "accidentalLowerOneUndecimalQuartertone", 0xE2E2 )); // glyphnumber: 366, Lower by one undecimal quartertone - outMap.emplace(std::make_pair( "accidentalLowerTwoSeptimalCommas", 0xE2E0 )); // glyphnumber: 367, Lower by two septimal commas - outMap.emplace(std::make_pair( "accidentalLoweredStockhausen", 0xED51 )); // glyphnumber: 368, Lowered (Stockhausen) - outMap.emplace(std::make_pair( "accidentalNarrowReversedFlat", 0xE284 )); // glyphnumber: 369, Narrow reversed flat(quarter-tone flat) - outMap.emplace(std::make_pair( "accidentalNarrowReversedFlatAndFlat", 0xE285 )); // glyphnumber: 370, Narrow reversed flat and flat(three-quarter-tones flat) - outMap.emplace(std::make_pair( "accidentalNatural", 0xE261 )); // glyphnumber: 371, Natural - outMap.emplace(std::make_pair( "accidentalNaturalArabic", 0xED34 )); // glyphnumber: 372, Arabic natural - outMap.emplace(std::make_pair( "accidentalNaturalEqualTempered", 0xE2F2 )); // glyphnumber: 373, Natural equal tempered semitone - outMap.emplace(std::make_pair( "accidentalNaturalFlat", 0xE267 )); // glyphnumber: 374, Natural flat - outMap.emplace(std::make_pair( "accidentalNaturalLoweredStockhausen", 0xED55 )); // glyphnumber: 375, Lowered natural (Stockhausen) - outMap.emplace(std::make_pair( "accidentalNaturalOneArrowDown", 0xE2C2 )); // glyphnumber: 376, Natural lowered by one syntonic comma - outMap.emplace(std::make_pair( "accidentalNaturalOneArrowUp", 0xE2C7 )); // glyphnumber: 377, Natural raised by one syntonic comma - outMap.emplace(std::make_pair( "accidentalNaturalRaisedStockhausen", 0xED54 )); // glyphnumber: 378, Raised natural (Stockhausen) - outMap.emplace(std::make_pair( "accidentalNaturalReversed", 0xE482 )); // glyphnumber: 379, Reversed natural - outMap.emplace(std::make_pair( "accidentalNaturalSharp", 0xE268 )); // glyphnumber: 380, Natural sharp - outMap.emplace(std::make_pair( "accidentalNaturalThreeArrowsDown", 0xE2D6 )); // glyphnumber: 381, Natural lowered by three syntonic commas - outMap.emplace(std::make_pair( "accidentalNaturalThreeArrowsUp", 0xE2DB )); // glyphnumber: 382, Natural raised by three syntonic commas - outMap.emplace(std::make_pair( "accidentalNaturalTwoArrowsDown", 0xE2CC )); // glyphnumber: 383, Natural lowered by two syntonic commas - outMap.emplace(std::make_pair( "accidentalNaturalTwoArrowsUp", 0xE2D1 )); // glyphnumber: 384, Natural raised by two syntonic commas - outMap.emplace(std::make_pair( "accidentalOneAndAHalfSharpsArrowDown", 0xE29C )); // glyphnumber: 385, One and a half sharps with arrow down - outMap.emplace(std::make_pair( "accidentalOneAndAHalfSharpsArrowUp", 0xE29B )); // glyphnumber: 386, One and a half sharps with arrow up - outMap.emplace(std::make_pair( "accidentalOneQuarterToneFlatFerneyhough", 0xE48F )); // glyphnumber: 387, One-quarter-tone flat (Ferneyhough) - outMap.emplace(std::make_pair( "accidentalOneQuarterToneFlatStockhausen", 0xED59 )); // glyphnumber: 388, One-quarter-tone flat (Stockhausen) - outMap.emplace(std::make_pair( "accidentalOneQuarterToneSharpFerneyhough", 0xE48E )); // glyphnumber: 389, One-quarter-tone sharp (Ferneyhough) - outMap.emplace(std::make_pair( "accidentalOneQuarterToneSharpStockhausen", 0xED58 )); // glyphnumber: 390, One-quarter-tone sharp (Stockhausen) - outMap.emplace(std::make_pair( "accidentalOneThirdToneFlatFerneyhough", 0xE48B )); // glyphnumber: 391, One-third-tone flat (Ferneyhough) - outMap.emplace(std::make_pair( "accidentalOneThirdToneSharpFerneyhough", 0xE48A )); // glyphnumber: 392, One-third-tone sharp (Ferneyhough) - outMap.emplace(std::make_pair( "accidentalParensLeft", 0xE26A )); // glyphnumber: 393, Accidental parenthesis, left - outMap.emplace(std::make_pair( "accidentalParensRight", 0xE26B )); // glyphnumber: 394, Accidental parenthesis, right - outMap.emplace(std::make_pair( "accidentalQuarterFlatEqualTempered", 0xE2F5 )); // glyphnumber: 395, Lower by one equal tempered quarter-tone - outMap.emplace(std::make_pair( "accidentalQuarterSharpEqualTempered", 0xE2F6 )); // glyphnumber: 396, Raise by one equal tempered quarter tone - outMap.emplace(std::make_pair( "accidentalQuarterToneFlat4", 0xE47F )); // glyphnumber: 397, Quarter-tone flat - outMap.emplace(std::make_pair( "accidentalQuarterToneFlatArabic", 0xED33 )); // glyphnumber: 398, Arabic quarter-tone flat - outMap.emplace(std::make_pair( "accidentalQuarterToneFlatArrowUp", 0xE270 )); // glyphnumber: 399, Quarter-tone flat - outMap.emplace(std::make_pair( "accidentalQuarterToneFlatFilledReversed", 0xE480 )); // glyphnumber: 400, Filled reversed flat (quarter-tone flat) - outMap.emplace(std::make_pair( "accidentalQuarterToneFlatNaturalArrowDown", 0xE273 )); // glyphnumber: 401, Quarter-tone flat - outMap.emplace(std::make_pair( "accidentalQuarterToneFlatPenderecki", 0xE478 )); // glyphnumber: 402, Quarter tone flat (Penderecki) - outMap.emplace(std::make_pair( "accidentalQuarterToneFlatStein", 0xE280 )); // glyphnumber: 403, Reversed flat (quarter-tone flat) (Stein) - outMap.emplace(std::make_pair( "accidentalQuarterToneFlatVanBlankenburg", 0xE488 )); // glyphnumber: 404, Quarter-tone flat (van Blankenburg) - outMap.emplace(std::make_pair( "accidentalQuarterToneSharp4", 0xE47E )); // glyphnumber: 405, Quarter-tone sharp - outMap.emplace(std::make_pair( "accidentalQuarterToneSharpArabic", 0xED35 )); // glyphnumber: 406, Arabic quarter-tone sharp - outMap.emplace(std::make_pair( "accidentalQuarterToneSharpArrowDown", 0xE275 )); // glyphnumber: 407, Quarter-tone sharp - outMap.emplace(std::make_pair( "accidentalQuarterToneSharpBusotti", 0xE472 )); // glyphnumber: 408, Quarter tone sharp (Bussotti) - outMap.emplace(std::make_pair( "accidentalQuarterToneSharpNaturalArrowUp", 0xE272 )); // glyphnumber: 409, Quarter-tone sharp - outMap.emplace(std::make_pair( "accidentalQuarterToneSharpStein", 0xE282 )); // glyphnumber: 410, Half sharp (quarter-tone sharp) (Stein) - outMap.emplace(std::make_pair( "accidentalQuarterToneSharpWiggle", 0xE475 )); // glyphnumber: 411, Quarter tone sharp with wiggly tail - outMap.emplace(std::make_pair( "accidentalRaiseOneSeptimalComma", 0xE2DF )); // glyphnumber: 412, Raise by one septimal comma - outMap.emplace(std::make_pair( "accidentalRaiseOneTridecimalQuartertone", 0xE2E5 )); // glyphnumber: 413, Raise by one tridecimal quartertone - outMap.emplace(std::make_pair( "accidentalRaiseOneUndecimalQuartertone", 0xE2E3 )); // glyphnumber: 414, Raise by one undecimal quartertone - outMap.emplace(std::make_pair( "accidentalRaiseTwoSeptimalCommas", 0xE2E1 )); // glyphnumber: 415, Raise by two septimal commas - outMap.emplace(std::make_pair( "accidentalRaisedStockhausen", 0xED50 )); // glyphnumber: 416, Raised (Stockhausen) - outMap.emplace(std::make_pair( "accidentalReversedFlatAndFlatArrowDown", 0xE295 )); // glyphnumber: 417, Reversed flat and flat with arrow down - outMap.emplace(std::make_pair( "accidentalReversedFlatAndFlatArrowUp", 0xE294 )); // glyphnumber: 418, Reversed flat and flat with arrow up - outMap.emplace(std::make_pair( "accidentalReversedFlatArrowDown", 0xE291 )); // glyphnumber: 419, Reversed flat with arrow down - outMap.emplace(std::make_pair( "accidentalReversedFlatArrowUp", 0xE290 )); // glyphnumber: 420, Reversed flat with arrow up - outMap.emplace(std::make_pair( "accidentalSharp", 0xE262 )); // glyphnumber: 421, Sharp - outMap.emplace(std::make_pair( "accidentalSharpArabic", 0xED36 )); // glyphnumber: 422, Arabic half-tone sharp - outMap.emplace(std::make_pair( "accidentalSharpEqualTempered", 0xE2F3 )); // glyphnumber: 423, Sharp equal tempered semitone - outMap.emplace(std::make_pair( "accidentalSharpLoweredStockhausen", 0xED57 )); // glyphnumber: 424, Lowered sharp (Stockhausen) - outMap.emplace(std::make_pair( "accidentalSharpOneArrowDown", 0xE2C3 )); // glyphnumber: 425, Sharp lowered by one syntonic comma - outMap.emplace(std::make_pair( "accidentalSharpOneArrowUp", 0xE2C8 )); // glyphnumber: 426, Sharp raised by one syntonic comma - outMap.emplace(std::make_pair( "accidentalSharpOneHorizontalStroke", 0xE473 )); // glyphnumber: 427, One or three quarter tones sharp - outMap.emplace(std::make_pair( "accidentalSharpRaisedStockhausen", 0xED56 )); // glyphnumber: 428, Raised sharp (Stockhausen) - outMap.emplace(std::make_pair( "accidentalSharpRepeatedLineStockhausen", 0xED5E )); // glyphnumber: 429, Repeated sharp, note on line (Stockhausen) - outMap.emplace(std::make_pair( "accidentalSharpRepeatedSpaceStockhausen", 0xED5D )); // glyphnumber: 430, Repeated sharp, note in space (Stockhausen) - outMap.emplace(std::make_pair( "accidentalSharpReversed", 0xE481 )); // glyphnumber: 431, Reversed sharp - outMap.emplace(std::make_pair( "accidentalSharpSharp", 0xE269 )); // glyphnumber: 432, Sharp sharp - outMap.emplace(std::make_pair( "accidentalSharpThreeArrowsDown", 0xE2D7 )); // glyphnumber: 433, Sharp lowered by three syntonic commas - outMap.emplace(std::make_pair( "accidentalSharpThreeArrowsUp", 0xE2DC )); // glyphnumber: 434, Sharp raised by three syntonic commas - outMap.emplace(std::make_pair( "accidentalSharpTwoArrowsDown", 0xE2CD )); // glyphnumber: 435, Sharp lowered by two syntonic commas - outMap.emplace(std::make_pair( "accidentalSharpTwoArrowsUp", 0xE2D2 )); // glyphnumber: 436, Sharp raised by two syntonic commas - outMap.emplace(std::make_pair( "accidentalSims12Down", 0xE2A0 )); // glyphnumber: 437, 1/12 tone low - outMap.emplace(std::make_pair( "accidentalSims12Up", 0xE2A3 )); // glyphnumber: 438, 1/12 tone high - outMap.emplace(std::make_pair( "accidentalSims4Down", 0xE2A2 )); // glyphnumber: 439, 1/4 tone low - outMap.emplace(std::make_pair( "accidentalSims4Up", 0xE2A5 )); // glyphnumber: 440, 1/4 tone high - outMap.emplace(std::make_pair( "accidentalSims6Down", 0xE2A1 )); // glyphnumber: 441, 1/6 tone low - outMap.emplace(std::make_pair( "accidentalSims6Up", 0xE2A4 )); // glyphnumber: 442, 1/6 tone high - outMap.emplace(std::make_pair( "accidentalSori", 0xE461 )); // glyphnumber: 443, Sori (quarter tone sharp) - outMap.emplace(std::make_pair( "accidentalTavenerFlat", 0xE477 )); // glyphnumber: 444, Byzantine-style Bakiye flat (Tavener) - outMap.emplace(std::make_pair( "accidentalTavenerSharp", 0xE476 )); // glyphnumber: 445, Byzantine-style Büyük mücenneb sharp (Tavener) - outMap.emplace(std::make_pair( "accidentalThreeQuarterTonesFlatArabic", 0xED31 )); // glyphnumber: 446, Arabic three-quarter-tones flat - outMap.emplace(std::make_pair( "accidentalThreeQuarterTonesFlatArrowDown", 0xE271 )); // glyphnumber: 447, Three-quarter-tones flat - outMap.emplace(std::make_pair( "accidentalThreeQuarterTonesFlatArrowUp", 0xE278 )); // glyphnumber: 448, Three-quarter-tones flat - outMap.emplace(std::make_pair( "accidentalThreeQuarterTonesFlatCouper", 0xE489 )); // glyphnumber: 449, Three-quarter-tones flat (Couper) - outMap.emplace(std::make_pair( "accidentalThreeQuarterTonesFlatGrisey", 0xE486 )); // glyphnumber: 450, Three-quarter-tones flat (Grisey) - outMap.emplace(std::make_pair( "accidentalThreeQuarterTonesFlatTartini", 0xE487 )); // glyphnumber: 451, Three-quarter-tones flat (Tartini) - outMap.emplace(std::make_pair( "accidentalThreeQuarterTonesFlatZimmermann", 0xE281 )); // glyphnumber: 452, Reversed flat and flat (three-quarter-tones flat) (Zimmermann) - outMap.emplace(std::make_pair( "accidentalThreeQuarterTonesSharpArabic", 0xED37 )); // glyphnumber: 453, Arabic three-quarter-tones sharp - outMap.emplace(std::make_pair( "accidentalThreeQuarterTonesSharpArrowDown", 0xE277 )); // glyphnumber: 454, Three-quarter-tones sharp - outMap.emplace(std::make_pair( "accidentalThreeQuarterTonesSharpArrowUp", 0xE274 )); // glyphnumber: 455, Three-quarter-tones sharp - outMap.emplace(std::make_pair( "accidentalThreeQuarterTonesSharpBusotti", 0xE474 )); // glyphnumber: 456, Three quarter tones sharp (Bussotti) - outMap.emplace(std::make_pair( "accidentalThreeQuarterTonesSharpStein", 0xE283 )); // glyphnumber: 457, One and a half sharps (three-quarter-tones sharp) (Stein) - outMap.emplace(std::make_pair( "accidentalThreeQuarterTonesSharpStockhausen", 0xED5A )); // glyphnumber: 458, Three-quarter-tones sharp (Stockhausen) - outMap.emplace(std::make_pair( "accidentalTripleFlat", 0xE266 )); // glyphnumber: 459, Triple flat - outMap.emplace(std::make_pair( "accidentalTripleSharp", 0xE265 )); // glyphnumber: 460, Triple sharp - outMap.emplace(std::make_pair( "accidentalTwoThirdTonesFlatFerneyhough", 0xE48D )); // glyphnumber: 461, Two-third-tones flat (Ferneyhough) - outMap.emplace(std::make_pair( "accidentalTwoThirdTonesSharpFerneyhough", 0xE48C )); // glyphnumber: 462, Two-third-tones sharp (Ferneyhough) - outMap.emplace(std::make_pair( "accidentalWilsonMinus", 0xE47C )); // glyphnumber: 463, Wilson minus (5 comma down) - outMap.emplace(std::make_pair( "accidentalWilsonPlus", 0xE47B )); // glyphnumber: 464, Wilson plus (5 comma up) - outMap.emplace(std::make_pair( "accidentalWyschnegradsky10TwelfthsFlat", 0xE434 )); // glyphnumber: 465, 5/6 tone flat - outMap.emplace(std::make_pair( "accidentalWyschnegradsky10TwelfthsSharp", 0xE429 )); // glyphnumber: 466, 5/6 tone sharp - outMap.emplace(std::make_pair( "accidentalWyschnegradsky11TwelfthsFlat", 0xE435 )); // glyphnumber: 467, 11/12 tone flat - outMap.emplace(std::make_pair( "accidentalWyschnegradsky11TwelfthsSharp", 0xE42A )); // glyphnumber: 468, 11/12 tone sharp - outMap.emplace(std::make_pair( "accidentalWyschnegradsky1TwelfthsFlat", 0xE42B )); // glyphnumber: 469, 1/12 tone flat - outMap.emplace(std::make_pair( "accidentalWyschnegradsky1TwelfthsSharp", 0xE420 )); // glyphnumber: 470, 1/12 tone sharp - outMap.emplace(std::make_pair( "accidentalWyschnegradsky2TwelfthsFlat", 0xE42C )); // glyphnumber: 471, 1/6 tone flat - outMap.emplace(std::make_pair( "accidentalWyschnegradsky2TwelfthsSharp", 0xE421 )); // glyphnumber: 472, 1/6 tone sharp - outMap.emplace(std::make_pair( "accidentalWyschnegradsky3TwelfthsFlat", 0xE42D )); // glyphnumber: 473, 1/4 tone flat - outMap.emplace(std::make_pair( "accidentalWyschnegradsky3TwelfthsSharp", 0xE422 )); // glyphnumber: 474, 1/4 tone sharp - outMap.emplace(std::make_pair( "accidentalWyschnegradsky4TwelfthsFlat", 0xE42E )); // glyphnumber: 475, 1/3 tone flat - outMap.emplace(std::make_pair( "accidentalWyschnegradsky4TwelfthsSharp", 0xE423 )); // glyphnumber: 476, 1/3 tone sharp - outMap.emplace(std::make_pair( "accidentalWyschnegradsky5TwelfthsFlat", 0xE42F )); // glyphnumber: 477, 5/12 tone flat - outMap.emplace(std::make_pair( "accidentalWyschnegradsky5TwelfthsSharp", 0xE424 )); // glyphnumber: 478, 5/12 tone sharp - outMap.emplace(std::make_pair( "accidentalWyschnegradsky6TwelfthsFlat", 0xE430 )); // glyphnumber: 479, 1/2 tone flat - outMap.emplace(std::make_pair( "accidentalWyschnegradsky6TwelfthsSharp", 0xE425 )); // glyphnumber: 480, 1/2 tone sharp - outMap.emplace(std::make_pair( "accidentalWyschnegradsky7TwelfthsFlat", 0xE431 )); // glyphnumber: 481, 7/12 tone flat - outMap.emplace(std::make_pair( "accidentalWyschnegradsky7TwelfthsSharp", 0xE426 )); // glyphnumber: 482, 7/12 tone sharp - outMap.emplace(std::make_pair( "accidentalWyschnegradsky8TwelfthsFlat", 0xE432 )); // glyphnumber: 483, 2/3 tone flat - outMap.emplace(std::make_pair( "accidentalWyschnegradsky8TwelfthsSharp", 0xE427 )); // glyphnumber: 484, 2/3 tone sharp - outMap.emplace(std::make_pair( "accidentalWyschnegradsky9TwelfthsFlat", 0xE433 )); // glyphnumber: 485, 3/4 tone flat - outMap.emplace(std::make_pair( "accidentalWyschnegradsky9TwelfthsSharp", 0xE428 )); // glyphnumber: 486, 3/4 tone sharp - outMap.emplace(std::make_pair( "accidentalXenakisOneThirdToneSharp", 0xE470 )); // glyphnumber: 487, One-third-tone sharp (Xenakis) - outMap.emplace(std::make_pair( "accidentalXenakisTwoThirdTonesSharp", 0xE471 )); // glyphnumber: 488, Two-third-tones sharp (Xenakis) - outMap.emplace(std::make_pair( "analyticsChoralmelodie", 0xE86A )); // glyphnumber: 489, Choralmelodie (Berg) - outMap.emplace(std::make_pair( "analyticsEndStimme", 0xE863 )); // glyphnumber: 490, End of stimme - outMap.emplace(std::make_pair( "analyticsHauptrhythmus", 0xE86B )); // glyphnumber: 491, Hauptrhythmus (Berg) - outMap.emplace(std::make_pair( "analyticsHauptstimme", 0xE860 )); // glyphnumber: 492, Hauptstimme - outMap.emplace(std::make_pair( "analyticsInversion1", 0xE869 )); // glyphnumber: 493, Inversion 1 - outMap.emplace(std::make_pair( "analyticsNebenstimme", 0xE861 )); // glyphnumber: 494, Nebenstimme - outMap.emplace(std::make_pair( "analyticsStartStimme", 0xE862 )); // glyphnumber: 495, Start of stimme - outMap.emplace(std::make_pair( "analyticsTheme", 0xE864 )); // glyphnumber: 496, Theme - outMap.emplace(std::make_pair( "analyticsTheme1", 0xE868 )); // glyphnumber: 497, Theme 1 - outMap.emplace(std::make_pair( "analyticsThemeInversion", 0xE867 )); // glyphnumber: 498, Inversion of theme - outMap.emplace(std::make_pair( "analyticsThemeRetrograde", 0xE865 )); // glyphnumber: 499, Retrograde of theme - outMap.emplace(std::make_pair( "analyticsThemeRetrogradeInversion", 0xE866 )); // glyphnumber: 500, Retrograde inversion of theme - outMap.emplace(std::make_pair( "arpeggiatoDown", 0xE635 )); // glyphnumber: 501, Arpeggiato down - outMap.emplace(std::make_pair( "arpeggiatoUp", 0xE634 )); // glyphnumber: 502, Arpeggiato up - outMap.emplace(std::make_pair( "arrowBlackDown", 0xEB64 )); // glyphnumber: 503, Black arrow down (S) - outMap.emplace(std::make_pair( "arrowBlackDownLeft", 0xEB65 )); // glyphnumber: 504, Black arrow down-left (SW) - outMap.emplace(std::make_pair( "arrowBlackDownRight", 0xEB63 )); // glyphnumber: 505, Black arrow down-right (SE) - outMap.emplace(std::make_pair( "arrowBlackLeft", 0xEB66 )); // glyphnumber: 506, Black arrow left (W) - outMap.emplace(std::make_pair( "arrowBlackRight", 0xEB62 )); // glyphnumber: 507, Black arrow right (E) - outMap.emplace(std::make_pair( "arrowBlackUp", 0xEB60 )); // glyphnumber: 508, Black arrow up (N) - outMap.emplace(std::make_pair( "arrowBlackUpLeft", 0xEB67 )); // glyphnumber: 509, Black arrow up-left (NW) - outMap.emplace(std::make_pair( "arrowBlackUpRight", 0xEB61 )); // glyphnumber: 510, Black arrow up-right (NE) - outMap.emplace(std::make_pair( "arrowOpenDown", 0xEB74 )); // glyphnumber: 511, Open arrow down (S) - outMap.emplace(std::make_pair( "arrowOpenDownLeft", 0xEB75 )); // glyphnumber: 512, Open arrow down-left (SW) - outMap.emplace(std::make_pair( "arrowOpenDownRight", 0xEB73 )); // glyphnumber: 513, Open arrow down-right (SE) - outMap.emplace(std::make_pair( "arrowOpenLeft", 0xEB76 )); // glyphnumber: 514, Open arrow left (W) - outMap.emplace(std::make_pair( "arrowOpenRight", 0xEB72 )); // glyphnumber: 515, Open arrow right (E) - outMap.emplace(std::make_pair( "arrowOpenUp", 0xEB70 )); // glyphnumber: 516, Open arrow up (N) - outMap.emplace(std::make_pair( "arrowOpenUpLeft", 0xEB77 )); // glyphnumber: 517, Open arrow up-left (NW) - outMap.emplace(std::make_pair( "arrowOpenUpRight", 0xEB71 )); // glyphnumber: 518, Open arrow up-right (NE) - outMap.emplace(std::make_pair( "arrowWhiteDown", 0xEB6C )); // glyphnumber: 519, White arrow down (S) - outMap.emplace(std::make_pair( "arrowWhiteDownLeft", 0xEB6D )); // glyphnumber: 520, White arrow down-left (SW) - outMap.emplace(std::make_pair( "arrowWhiteDownRight", 0xEB6B )); // glyphnumber: 521, White arrow down-right (SE) - outMap.emplace(std::make_pair( "arrowWhiteLeft", 0xEB6E )); // glyphnumber: 522, White arrow left (W) - outMap.emplace(std::make_pair( "arrowWhiteRight", 0xEB6A )); // glyphnumber: 523, White arrow right (E) - outMap.emplace(std::make_pair( "arrowWhiteUp", 0xEB68 )); // glyphnumber: 524, White arrow up (N) - outMap.emplace(std::make_pair( "arrowWhiteUpLeft", 0xEB6F )); // glyphnumber: 525, White arrow up-left (NW) - outMap.emplace(std::make_pair( "arrowWhiteUpRight", 0xEB69 )); // glyphnumber: 526, White arrow up-right (NE) - outMap.emplace(std::make_pair( "arrowheadBlackDown", 0xEB7C )); // glyphnumber: 527, Black arrowhead down (S) - outMap.emplace(std::make_pair( "arrowheadBlackDownLeft", 0xEB7D )); // glyphnumber: 528, Black arrowhead down-left (SW) - outMap.emplace(std::make_pair( "arrowheadBlackDownRight", 0xEB7B )); // glyphnumber: 529, Black arrowhead down-right (SE) - outMap.emplace(std::make_pair( "arrowheadBlackLeft", 0xEB7E )); // glyphnumber: 530, Black arrowhead left (W) - outMap.emplace(std::make_pair( "arrowheadBlackRight", 0xEB7A )); // glyphnumber: 531, Black arrowhead right (E) - outMap.emplace(std::make_pair( "arrowheadBlackUp", 0xEB78 )); // glyphnumber: 532, Black arrowhead up (N) - outMap.emplace(std::make_pair( "arrowheadBlackUpLeft", 0xEB7F )); // glyphnumber: 533, Black arrowhead up-left (NW) - outMap.emplace(std::make_pair( "arrowheadBlackUpRight", 0xEB79 )); // glyphnumber: 534, Black arrowhead up-right (NE) - outMap.emplace(std::make_pair( "arrowheadOpenDown", 0xEB8C )); // glyphnumber: 535, Open arrowhead down (S) - outMap.emplace(std::make_pair( "arrowheadOpenDownLeft", 0xEB8D )); // glyphnumber: 536, Open arrowhead down-left (SW) - outMap.emplace(std::make_pair( "arrowheadOpenDownRight", 0xEB8B )); // glyphnumber: 537, Open arrowhead down-right (SE) - outMap.emplace(std::make_pair( "arrowheadOpenLeft", 0xEB8E )); // glyphnumber: 538, Open arrowhead left (W) - outMap.emplace(std::make_pair( "arrowheadOpenRight", 0xEB8A )); // glyphnumber: 539, Open arrowhead right (E) - outMap.emplace(std::make_pair( "arrowheadOpenUp", 0xEB88 )); // glyphnumber: 540, Open arrowhead up (N) - outMap.emplace(std::make_pair( "arrowheadOpenUpLeft", 0xEB8F )); // glyphnumber: 541, Open arrowhead up-left (NW) - outMap.emplace(std::make_pair( "arrowheadOpenUpRight", 0xEB89 )); // glyphnumber: 542, Open arrowhead up-right (NE) - outMap.emplace(std::make_pair( "arrowheadWhiteDown", 0xEB84 )); // glyphnumber: 543, White arrowhead down (S) - outMap.emplace(std::make_pair( "arrowheadWhiteDownLeft", 0xEB85 )); // glyphnumber: 544, White arrowhead down-left (SW) - outMap.emplace(std::make_pair( "arrowheadWhiteDownRight", 0xEB83 )); // glyphnumber: 545, White arrowhead down-right (SE) - outMap.emplace(std::make_pair( "arrowheadWhiteLeft", 0xEB86 )); // glyphnumber: 546, White arrowhead left (W) - outMap.emplace(std::make_pair( "arrowheadWhiteRight", 0xEB82 )); // glyphnumber: 547, White arrowhead right (E) - outMap.emplace(std::make_pair( "arrowheadWhiteUp", 0xEB80 )); // glyphnumber: 548, White arrowhead up (N) - outMap.emplace(std::make_pair( "arrowheadWhiteUpLeft", 0xEB87 )); // glyphnumber: 549, White arrowhead up-left (NW) - outMap.emplace(std::make_pair( "arrowheadWhiteUpRight", 0xEB81 )); // glyphnumber: 550, White arrowhead up-right (NE) - outMap.emplace(std::make_pair( "articAccentAbove", 0xE4A0 )); // glyphnumber: 551, Accent above - outMap.emplace(std::make_pair( "articAccentBelow", 0xE4A1 )); // glyphnumber: 552, Accent below - outMap.emplace(std::make_pair( "articAccentStaccatoAbove", 0xE4B0 )); // glyphnumber: 553, Accent-staccato above - outMap.emplace(std::make_pair( "articAccentStaccatoBelow", 0xE4B1 )); // glyphnumber: 554, Accent-staccato below - outMap.emplace(std::make_pair( "articLaissezVibrerAbove", 0xE4BA )); // glyphnumber: 555, Laissez vibrer (l.v.) above - outMap.emplace(std::make_pair( "articLaissezVibrerBelow", 0xE4BB )); // glyphnumber: 556, Laissez vibrer (l.v.) below - outMap.emplace(std::make_pair( "articMarcatoAbove", 0xE4AC )); // glyphnumber: 557, Marcato above - outMap.emplace(std::make_pair( "articMarcatoBelow", 0xE4AD )); // glyphnumber: 558, Marcato below - outMap.emplace(std::make_pair( "articMarcatoStaccatoAbove", 0xE4AE )); // glyphnumber: 559, Marcato-staccato above - outMap.emplace(std::make_pair( "articMarcatoStaccatoBelow", 0xE4AF )); // glyphnumber: 560, Marcato-staccato below - outMap.emplace(std::make_pair( "articMarcatoTenutoAbove", 0xE4BC )); // glyphnumber: 561, Marcato-tenuto above - outMap.emplace(std::make_pair( "articMarcatoTenutoBelow", 0xE4BD )); // glyphnumber: 562, Marcato-tenuto below - outMap.emplace(std::make_pair( "articSoftAccentAbove", 0xED40 )); // glyphnumber: 563, Soft accent above - outMap.emplace(std::make_pair( "articSoftAccentBelow", 0xED41 )); // glyphnumber: 564, Soft accent below - outMap.emplace(std::make_pair( "articSoftAccentStaccatoAbove", 0xED42 )); // glyphnumber: 565, Soft accent-staccato above - outMap.emplace(std::make_pair( "articSoftAccentStaccatoBelow", 0xED43 )); // glyphnumber: 566, Soft accent-staccato below - outMap.emplace(std::make_pair( "articSoftAccentTenutoAbove", 0xED44 )); // glyphnumber: 567, Soft accent-tenuto above - outMap.emplace(std::make_pair( "articSoftAccentTenutoBelow", 0xED45 )); // glyphnumber: 568, Soft accent-tenuto below - outMap.emplace(std::make_pair( "articSoftAccentTenutoStaccatoAbove", 0xED46 )); // glyphnumber: 569, Soft accent-tenuto-staccato above - outMap.emplace(std::make_pair( "articSoftAccentTenutoStaccatoBelow", 0xED47 )); // glyphnumber: 570, Soft accent-tenuto-staccato below - outMap.emplace(std::make_pair( "articStaccatissimoAbove", 0xE4A6 )); // glyphnumber: 571, Staccatissimo above - outMap.emplace(std::make_pair( "articStaccatissimoBelow", 0xE4A7 )); // glyphnumber: 572, Staccatissimo below - outMap.emplace(std::make_pair( "articStaccatissimoStrokeAbove", 0xE4AA )); // glyphnumber: 573, Staccatissimo stroke above - outMap.emplace(std::make_pair( "articStaccatissimoStrokeBelow", 0xE4AB )); // glyphnumber: 574, Staccatissimo stroke below - outMap.emplace(std::make_pair( "articStaccatissimoWedgeAbove", 0xE4A8 )); // glyphnumber: 575, Staccatissimo wedge above - outMap.emplace(std::make_pair( "articStaccatissimoWedgeBelow", 0xE4A9 )); // glyphnumber: 576, Staccatissimo wedge below - outMap.emplace(std::make_pair( "articStaccatoAbove", 0xE4A2 )); // glyphnumber: 577, Staccato above - outMap.emplace(std::make_pair( "articStaccatoBelow", 0xE4A3 )); // glyphnumber: 578, Staccato below - outMap.emplace(std::make_pair( "articStressAbove", 0xE4B6 )); // glyphnumber: 579, Stress above - outMap.emplace(std::make_pair( "articStressBelow", 0xE4B7 )); // glyphnumber: 580, Stress below - outMap.emplace(std::make_pair( "articTenutoAbove", 0xE4A4 )); // glyphnumber: 581, Tenuto above - outMap.emplace(std::make_pair( "articTenutoAccentAbove", 0xE4B4 )); // glyphnumber: 582, Tenuto-accent above - outMap.emplace(std::make_pair( "articTenutoAccentBelow", 0xE4B5 )); // glyphnumber: 583, Tenuto-accent below - outMap.emplace(std::make_pair( "articTenutoBelow", 0xE4A5 )); // glyphnumber: 584, Tenuto below - outMap.emplace(std::make_pair( "articTenutoStaccatoAbove", 0xE4B2 )); // glyphnumber: 585, Louré (tenuto-staccato) above - outMap.emplace(std::make_pair( "articTenutoStaccatoBelow", 0xE4B3 )); // glyphnumber: 586, Louré (tenuto-staccato) below - outMap.emplace(std::make_pair( "articUnstressAbove", 0xE4B8 )); // glyphnumber: 587, Unstress above - outMap.emplace(std::make_pair( "articUnstressBelow", 0xE4B9 )); // glyphnumber: 588, Unstress below - outMap.emplace(std::make_pair( "augmentationDot", 0xE1E7 )); // glyphnumber: 589, Augmentation dot - outMap.emplace(std::make_pair( "barlineDashed", 0xE036 )); // glyphnumber: 590, Dashed barline - outMap.emplace(std::make_pair( "barlineDotted", 0xE037 )); // glyphnumber: 591, Dotted barline - outMap.emplace(std::make_pair( "barlineDouble", 0xE031 )); // glyphnumber: 592, Double barline - outMap.emplace(std::make_pair( "barlineFinal", 0xE032 )); // glyphnumber: 593, Final barline - outMap.emplace(std::make_pair( "barlineHeavy", 0xE034 )); // glyphnumber: 594, Heavy barline - outMap.emplace(std::make_pair( "barlineHeavyHeavy", 0xE035 )); // glyphnumber: 595, Heavy double barline - outMap.emplace(std::make_pair( "barlineReverseFinal", 0xE033 )); // glyphnumber: 596, Reverse final barline - outMap.emplace(std::make_pair( "barlineShort", 0xE038 )); // glyphnumber: 597, Short barline - outMap.emplace(std::make_pair( "barlineSingle", 0xE030 )); // glyphnumber: 598, Single barline - outMap.emplace(std::make_pair( "barlineTick", 0xE039 )); // glyphnumber: 599, Tick barline - outMap.emplace(std::make_pair( "beamAccelRit1", 0xEAF4 )); // glyphnumber: 600, Accel./rit. beam 1 (widest) - outMap.emplace(std::make_pair( "beamAccelRit10", 0xEAFD )); // glyphnumber: 601, Accel./rit. beam 10 - outMap.emplace(std::make_pair( "beamAccelRit11", 0xEAFE )); // glyphnumber: 602, Accel./rit. beam 11 - outMap.emplace(std::make_pair( "beamAccelRit12", 0xEAFF )); // glyphnumber: 603, Accel./rit. beam 12 - outMap.emplace(std::make_pair( "beamAccelRit13", 0xEB00 )); // glyphnumber: 604, Accel./rit. beam 13 - outMap.emplace(std::make_pair( "beamAccelRit14", 0xEB01 )); // glyphnumber: 605, Accel./rit. beam 14 - outMap.emplace(std::make_pair( "beamAccelRit15", 0xEB02 )); // glyphnumber: 606, Accel./rit. beam 15 (narrowest) - outMap.emplace(std::make_pair( "beamAccelRit2", 0xEAF5 )); // glyphnumber: 607, Accel./rit. beam 2 - outMap.emplace(std::make_pair( "beamAccelRit3", 0xEAF6 )); // glyphnumber: 608, Accel./rit. beam 3 - outMap.emplace(std::make_pair( "beamAccelRit4", 0xEAF7 )); // glyphnumber: 609, Accel./rit. beam 4 - outMap.emplace(std::make_pair( "beamAccelRit5", 0xEAF8 )); // glyphnumber: 610, Accel./rit. beam 5 - outMap.emplace(std::make_pair( "beamAccelRit6", 0xEAF9 )); // glyphnumber: 611, Accel./rit. beam 6 - outMap.emplace(std::make_pair( "beamAccelRit7", 0xEAFA )); // glyphnumber: 612, Accel./rit. beam 7 - outMap.emplace(std::make_pair( "beamAccelRit8", 0xEAFB )); // glyphnumber: 613, Accel./rit. beam 8 - outMap.emplace(std::make_pair( "beamAccelRit9", 0xEAFC )); // glyphnumber: 614, Accel./rit. beam 9 - outMap.emplace(std::make_pair( "beamAccelRitFinal", 0xEB03 )); // glyphnumber: 615, Accel./rit. beam terminating line - outMap.emplace(std::make_pair( "brace", 0xE000 )); // glyphnumber: 616, Brace - outMap.emplace(std::make_pair( "bracket", 0xE002 )); // glyphnumber: 617, Bracket - outMap.emplace(std::make_pair( "bracketBottom", 0xE004 )); // glyphnumber: 618, Bracket bottom - outMap.emplace(std::make_pair( "bracketTop", 0xE003 )); // glyphnumber: 619, Bracket top - outMap.emplace(std::make_pair( "brassBend", 0xE5E3 )); // glyphnumber: 620, Bend - outMap.emplace(std::make_pair( "brassDoitLong", 0xE5D6 )); // glyphnumber: 621, Doit, long - outMap.emplace(std::make_pair( "brassDoitMedium", 0xE5D5 )); // glyphnumber: 622, Doit, medium - outMap.emplace(std::make_pair( "brassDoitShort", 0xE5D4 )); // glyphnumber: 623, Doit, short - outMap.emplace(std::make_pair( "brassFallLipLong", 0xE5D9 )); // glyphnumber: 624, Lip fall, long - outMap.emplace(std::make_pair( "brassFallLipMedium", 0xE5D8 )); // glyphnumber: 625, Lip fall, medium - outMap.emplace(std::make_pair( "brassFallLipShort", 0xE5D7 )); // glyphnumber: 626, Lip fall, short - outMap.emplace(std::make_pair( "brassFallRoughLong", 0xE5DF )); // glyphnumber: 627, Rough fall, long - outMap.emplace(std::make_pair( "brassFallRoughMedium", 0xE5DE )); // glyphnumber: 628, Rough fall, medium - outMap.emplace(std::make_pair( "brassFallRoughShort", 0xE5DD )); // glyphnumber: 629, Rough fall, short - outMap.emplace(std::make_pair( "brassFallSmoothLong", 0xE5DC )); // glyphnumber: 630, Smooth fall, long - outMap.emplace(std::make_pair( "brassFallSmoothMedium", 0xE5DB )); // glyphnumber: 631, Smooth fall, medium - outMap.emplace(std::make_pair( "brassFallSmoothShort", 0xE5DA )); // glyphnumber: 632, Smooth fall, short - outMap.emplace(std::make_pair( "brassFlip", 0xE5E1 )); // glyphnumber: 633, Flip - outMap.emplace(std::make_pair( "brassHarmonMuteClosed", 0xE5E8 )); // glyphnumber: 634, Harmon mute, stem in - outMap.emplace(std::make_pair( "brassHarmonMuteStemHalfLeft", 0xE5E9 )); // glyphnumber: 635, Harmon mute, stem extended, left - outMap.emplace(std::make_pair( "brassHarmonMuteStemHalfRight", 0xE5EA )); // glyphnumber: 636, Harmon mute, stem extended, right - outMap.emplace(std::make_pair( "brassHarmonMuteStemOpen", 0xE5EB )); // glyphnumber: 637, Harmon mute, stem out - outMap.emplace(std::make_pair( "brassJazzTurn", 0xE5E4 )); // glyphnumber: 638, Jazz turn - outMap.emplace(std::make_pair( "brassLiftLong", 0xE5D3 )); // glyphnumber: 639, Lift, long - outMap.emplace(std::make_pair( "brassLiftMedium", 0xE5D2 )); // glyphnumber: 640, Lift, medium - outMap.emplace(std::make_pair( "brassLiftShort", 0xE5D1 )); // glyphnumber: 641, Lift, short - outMap.emplace(std::make_pair( "brassLiftSmoothLong", 0xE5EE )); // glyphnumber: 642, Smooth lift, long - outMap.emplace(std::make_pair( "brassLiftSmoothMedium", 0xE5ED )); // glyphnumber: 643, Smooth lift, medium - outMap.emplace(std::make_pair( "brassLiftSmoothShort", 0xE5EC )); // glyphnumber: 644, Smooth lift, short - outMap.emplace(std::make_pair( "brassMuteClosed", 0xE5E5 )); // glyphnumber: 645, Muted (closed) - outMap.emplace(std::make_pair( "brassMuteHalfClosed", 0xE5E6 )); // glyphnumber: 646, Half-muted (half-closed) - outMap.emplace(std::make_pair( "brassMuteOpen", 0xE5E7 )); // glyphnumber: 647, Open - outMap.emplace(std::make_pair( "brassPlop", 0xE5E0 )); // glyphnumber: 648, Plop - outMap.emplace(std::make_pair( "brassScoop", 0xE5D0 )); // glyphnumber: 649, Scoop - outMap.emplace(std::make_pair( "brassSmear", 0xE5E2 )); // glyphnumber: 650, Smear - outMap.emplace(std::make_pair( "brassValveTrill", 0xE5EF )); // glyphnumber: 651, Valve trill - outMap.emplace(std::make_pair( "breathMarkComma", 0xE4CE )); // glyphnumber: 652, Breath mark (comma) - outMap.emplace(std::make_pair( "breathMarkSalzedo", 0xE4D5 )); // glyphnumber: 653, Breath mark (Salzedo) - outMap.emplace(std::make_pair( "breathMarkTick", 0xE4CF )); // glyphnumber: 654, Breath mark (tick-like) - outMap.emplace(std::make_pair( "breathMarkUpbow", 0xE4D0 )); // glyphnumber: 655, Breath mark (upbow-like) - outMap.emplace(std::make_pair( "bridgeClef", 0xE078 )); // glyphnumber: 656, Bridge clef - outMap.emplace(std::make_pair( "buzzRoll", 0xE22A )); // glyphnumber: 657, Buzz roll - outMap.emplace(std::make_pair( "cClef", 0xE05C )); // glyphnumber: 658, C clef - outMap.emplace(std::make_pair( "cClef8vb", 0xE05D )); // glyphnumber: 659, C clef ottava bassa - outMap.emplace(std::make_pair( "cClefArrowDown", 0xE05F )); // glyphnumber: 660, C clef, arrow down - outMap.emplace(std::make_pair( "cClefArrowUp", 0xE05E )); // glyphnumber: 661, C clef, arrow up - outMap.emplace(std::make_pair( "cClefChange", 0xE07B )); // glyphnumber: 662, C clef change - outMap.emplace(std::make_pair( "cClefCombining", 0xE061 )); // glyphnumber: 663, Combining C clef - outMap.emplace(std::make_pair( "cClefReversed", 0xE075 )); // glyphnumber: 664, Reversed C clef - outMap.emplace(std::make_pair( "cClefSquare", 0xE060 )); // glyphnumber: 665, C clef (19th century) - outMap.emplace(std::make_pair( "caesura", 0xE4D1 )); // glyphnumber: 666, Caesura - outMap.emplace(std::make_pair( "caesuraCurved", 0xE4D4 )); // glyphnumber: 667, Curved caesura - outMap.emplace(std::make_pair( "caesuraShort", 0xE4D3 )); // glyphnumber: 668, Short caesura - outMap.emplace(std::make_pair( "caesuraThick", 0xE4D2 )); // glyphnumber: 669, Thick caesura - outMap.emplace(std::make_pair( "chantAccentusAbove", 0xE9D6 )); // glyphnumber: 670, Accentus above - outMap.emplace(std::make_pair( "chantAccentusBelow", 0xE9D7 )); // glyphnumber: 671, Accentus below - outMap.emplace(std::make_pair( "chantAuctumAsc", 0xE994 )); // glyphnumber: 672, Punctum auctum, ascending - outMap.emplace(std::make_pair( "chantAuctumDesc", 0xE995 )); // glyphnumber: 673, Punctum auctum, descending - outMap.emplace(std::make_pair( "chantAugmentum", 0xE9D9 )); // glyphnumber: 674, Augmentum (mora) - outMap.emplace(std::make_pair( "chantCaesura", 0xE8F8 )); // glyphnumber: 675, Caesura - outMap.emplace(std::make_pair( "chantCclef", 0xE906 )); // glyphnumber: 676, Plainchant C clef - outMap.emplace(std::make_pair( "chantCirculusAbove", 0xE9D2 )); // glyphnumber: 677, Circulus above - outMap.emplace(std::make_pair( "chantCirculusBelow", 0xE9D3 )); // glyphnumber: 678, Circulus below - outMap.emplace(std::make_pair( "chantConnectingLineAsc2nd", 0xE9BD )); // glyphnumber: 679, Connecting line, ascending 2nd - outMap.emplace(std::make_pair( "chantConnectingLineAsc3rd", 0xE9BE )); // glyphnumber: 680, Connecting line, ascending 3rd - outMap.emplace(std::make_pair( "chantConnectingLineAsc4th", 0xE9BF )); // glyphnumber: 681, Connecting line, ascending 4th - outMap.emplace(std::make_pair( "chantConnectingLineAsc5th", 0xE9C0 )); // glyphnumber: 682, Connecting line, ascending 5th - outMap.emplace(std::make_pair( "chantConnectingLineAsc6th", 0xE9C1 )); // glyphnumber: 683, Connecting line, ascending 6th - outMap.emplace(std::make_pair( "chantCustosStemDownPosHigh", 0xEA08 )); // glyphnumber: 684, Plainchant custos, stem down, high position - outMap.emplace(std::make_pair( "chantCustosStemDownPosHighest", 0xEA09 )); // glyphnumber: 685, Plainchant custos, stem down, highest position - outMap.emplace(std::make_pair( "chantCustosStemDownPosMiddle", 0xEA07 )); // glyphnumber: 686, Plainchant custos, stem down, middle position - outMap.emplace(std::make_pair( "chantCustosStemUpPosLow", 0xEA05 )); // glyphnumber: 687, Plainchant custos, stem up, low position - outMap.emplace(std::make_pair( "chantCustosStemUpPosLowest", 0xEA04 )); // glyphnumber: 688, Plainchant custos, stem up, lowest position - outMap.emplace(std::make_pair( "chantCustosStemUpPosMiddle", 0xEA06 )); // glyphnumber: 689, Plainchant custos, stem up, middle position - outMap.emplace(std::make_pair( "chantDeminutumLower", 0xE9B3 )); // glyphnumber: 690, Punctum deminutum, lower - outMap.emplace(std::make_pair( "chantDeminutumUpper", 0xE9B2 )); // glyphnumber: 691, Punctum deminutum, upper - outMap.emplace(std::make_pair( "chantDivisioFinalis", 0xE8F6 )); // glyphnumber: 692, Divisio finalis - outMap.emplace(std::make_pair( "chantDivisioMaior", 0xE8F4 )); // glyphnumber: 693, Divisio maior - outMap.emplace(std::make_pair( "chantDivisioMaxima", 0xE8F5 )); // glyphnumber: 694, Divisio maxima - outMap.emplace(std::make_pair( "chantDivisioMinima", 0xE8F3 )); // glyphnumber: 695, Divisio minima - outMap.emplace(std::make_pair( "chantEntryLineAsc2nd", 0xE9B4 )); // glyphnumber: 696, Entry line, ascending 2nd - outMap.emplace(std::make_pair( "chantEntryLineAsc3rd", 0xE9B5 )); // glyphnumber: 697, Entry line, ascending 3rd - outMap.emplace(std::make_pair( "chantEntryLineAsc4th", 0xE9B6 )); // glyphnumber: 698, Entry line, ascending 4th - outMap.emplace(std::make_pair( "chantEntryLineAsc5th", 0xE9B7 )); // glyphnumber: 699, Entry line, ascending 5th - outMap.emplace(std::make_pair( "chantEntryLineAsc6th", 0xE9B8 )); // glyphnumber: 700, Entry line, ascending 6th - outMap.emplace(std::make_pair( "chantEpisema", 0xE9D8 )); // glyphnumber: 701, Episema - outMap.emplace(std::make_pair( "chantFclef", 0xE902 )); // glyphnumber: 702, Plainchant F clef - outMap.emplace(std::make_pair( "chantIctusAbove", 0xE9D0 )); // glyphnumber: 703, Ictus above - outMap.emplace(std::make_pair( "chantIctusBelow", 0xE9D1 )); // glyphnumber: 704, Ictus below - outMap.emplace(std::make_pair( "chantLigaturaDesc2nd", 0xE9B9 )); // glyphnumber: 705, Ligated stroke, descending 2nd - outMap.emplace(std::make_pair( "chantLigaturaDesc3rd", 0xE9BA )); // glyphnumber: 706, Ligated stroke, descending 3rd - outMap.emplace(std::make_pair( "chantLigaturaDesc4th", 0xE9BB )); // glyphnumber: 707, Ligated stroke, descending 4th - outMap.emplace(std::make_pair( "chantLigaturaDesc5th", 0xE9BC )); // glyphnumber: 708, Ligated stroke, descending 5th - outMap.emplace(std::make_pair( "chantOriscusAscending", 0xE99C )); // glyphnumber: 709, Oriscus ascending - outMap.emplace(std::make_pair( "chantOriscusDescending", 0xE99D )); // glyphnumber: 710, Oriscus descending - outMap.emplace(std::make_pair( "chantOriscusLiquescens", 0xE99E )); // glyphnumber: 711, Oriscus liquescens - outMap.emplace(std::make_pair( "chantPodatusLower", 0xE9B0 )); // glyphnumber: 712, Podatus, lower - outMap.emplace(std::make_pair( "chantPodatusUpper", 0xE9B1 )); // glyphnumber: 713, Podatus, upper - outMap.emplace(std::make_pair( "chantPunctum", 0xE990 )); // glyphnumber: 714, Punctum - outMap.emplace(std::make_pair( "chantPunctumCavum", 0xE998 )); // glyphnumber: 715, Punctum cavum - outMap.emplace(std::make_pair( "chantPunctumDeminutum", 0xE9A1 )); // glyphnumber: 716, Punctum deminutum - outMap.emplace(std::make_pair( "chantPunctumInclinatum", 0xE991 )); // glyphnumber: 717, Punctum inclinatum - outMap.emplace(std::make_pair( "chantPunctumInclinatumAuctum", 0xE992 )); // glyphnumber: 718, Punctum inclinatum auctum - outMap.emplace(std::make_pair( "chantPunctumInclinatumDeminutum", 0xE993 )); // glyphnumber: 719, Punctum inclinatum deminutum - outMap.emplace(std::make_pair( "chantPunctumLinea", 0xE999 )); // glyphnumber: 720, Punctum linea - outMap.emplace(std::make_pair( "chantPunctumLineaCavum", 0xE99A )); // glyphnumber: 721, Punctum linea cavum - outMap.emplace(std::make_pair( "chantPunctumVirga", 0xE996 )); // glyphnumber: 722, Punctum virga - outMap.emplace(std::make_pair( "chantPunctumVirgaReversed", 0xE997 )); // glyphnumber: 723, Punctum virga, reversed - outMap.emplace(std::make_pair( "chantQuilisma", 0xE99B )); // glyphnumber: 724, Quilisma - outMap.emplace(std::make_pair( "chantSemicirculusAbove", 0xE9D4 )); // glyphnumber: 725, Semicirculus above - outMap.emplace(std::make_pair( "chantSemicirculusBelow", 0xE9D5 )); // glyphnumber: 726, Semicirculus below - outMap.emplace(std::make_pair( "chantStaff", 0xE8F0 )); // glyphnumber: 727, Plainchant staff - outMap.emplace(std::make_pair( "chantStaffNarrow", 0xE8F2 )); // glyphnumber: 728, Plainchant staff (narrow) - outMap.emplace(std::make_pair( "chantStaffWide", 0xE8F1 )); // glyphnumber: 729, Plainchant staff (wide) - outMap.emplace(std::make_pair( "chantStrophicus", 0xE99F )); // glyphnumber: 730, Strophicus - outMap.emplace(std::make_pair( "chantStrophicusAuctus", 0xE9A0 )); // glyphnumber: 731, Strophicus auctus - outMap.emplace(std::make_pair( "chantStrophicusLiquescens2nd", 0xE9C2 )); // glyphnumber: 732, Strophicus liquescens, 2nd - outMap.emplace(std::make_pair( "chantStrophicusLiquescens3rd", 0xE9C3 )); // glyphnumber: 733, Strophicus liquescens, 3rd - outMap.emplace(std::make_pair( "chantStrophicusLiquescens4th", 0xE9C4 )); // glyphnumber: 734, Strophicus liquescens, 4th - outMap.emplace(std::make_pair( "chantStrophicusLiquescens5th", 0xE9C5 )); // glyphnumber: 735, Strophicus liquescens, 5th - outMap.emplace(std::make_pair( "chantVirgula", 0xE8F7 )); // glyphnumber: 736, Virgula - outMap.emplace(std::make_pair( "clef15", 0xE07E )); // glyphnumber: 737, 15 for clefs - outMap.emplace(std::make_pair( "clef8", 0xE07D )); // glyphnumber: 738, 8 for clefs - outMap.emplace(std::make_pair( "clefChangeCombining", 0xE07F )); // glyphnumber: 739, Combining clef change - outMap.emplace(std::make_pair( "coda", 0xE048 )); // glyphnumber: 740, Coda - outMap.emplace(std::make_pair( "codaSquare", 0xE049 )); // glyphnumber: 741, Square coda - outMap.emplace(std::make_pair( "conductorBeat2Compound", 0xE897 )); // glyphnumber: 742, Beat 2, compound time - outMap.emplace(std::make_pair( "conductorBeat2Simple", 0xE894 )); // glyphnumber: 743, Beat 2, simple time - outMap.emplace(std::make_pair( "conductorBeat3Compound", 0xE898 )); // glyphnumber: 744, Beat 3, compound time - outMap.emplace(std::make_pair( "conductorBeat3Simple", 0xE895 )); // glyphnumber: 745, Beat 3, simple time - outMap.emplace(std::make_pair( "conductorBeat4Compound", 0xE899 )); // glyphnumber: 746, Beat 4, compound time - outMap.emplace(std::make_pair( "conductorBeat4Simple", 0xE896 )); // glyphnumber: 747, Beat 4, simple time - outMap.emplace(std::make_pair( "conductorLeftBeat", 0xE891 )); // glyphnumber: 748, Left-hand beat or cue - outMap.emplace(std::make_pair( "conductorRightBeat", 0xE892 )); // glyphnumber: 749, Right-hand beat or cue - outMap.emplace(std::make_pair( "conductorStrongBeat", 0xE890 )); // glyphnumber: 750, Strong beat or cue - outMap.emplace(std::make_pair( "conductorUnconducted", 0xE89A )); // glyphnumber: 751, Unconducted/free passages - outMap.emplace(std::make_pair( "conductorWeakBeat", 0xE893 )); // glyphnumber: 752, Weak beat or cue - outMap.emplace(std::make_pair( "controlBeginBeam", 0xE8E0 )); // glyphnumber: 753, Begin beam - outMap.emplace(std::make_pair( "controlBeginPhrase", 0xE8E6 )); // glyphnumber: 754, Begin phrase - outMap.emplace(std::make_pair( "controlBeginSlur", 0xE8E4 )); // glyphnumber: 755, Begin slur - outMap.emplace(std::make_pair( "controlBeginTie", 0xE8E2 )); // glyphnumber: 756, Begin tie - outMap.emplace(std::make_pair( "controlEndBeam", 0xE8E1 )); // glyphnumber: 757, End beam - outMap.emplace(std::make_pair( "controlEndPhrase", 0xE8E7 )); // glyphnumber: 758, End phrase - outMap.emplace(std::make_pair( "controlEndSlur", 0xE8E5 )); // glyphnumber: 759, End slur - outMap.emplace(std::make_pair( "controlEndTie", 0xE8E3 )); // glyphnumber: 760, End tie - outMap.emplace(std::make_pair( "csymAugmented", 0xE872 )); // glyphnumber: 761, Augmented - outMap.emplace(std::make_pair( "csymBracketLeftTall", 0xE877 )); // glyphnumber: 762, Double-height left bracket - outMap.emplace(std::make_pair( "csymBracketRightTall", 0xE878 )); // glyphnumber: 763, Double-height right bracket - outMap.emplace(std::make_pair( "csymDiminished", 0xE870 )); // glyphnumber: 764, Diminished - outMap.emplace(std::make_pair( "csymHalfDiminished", 0xE871 )); // glyphnumber: 765, Half-diminished - outMap.emplace(std::make_pair( "csymMajorSeventh", 0xE873 )); // glyphnumber: 766, Major seventh - outMap.emplace(std::make_pair( "csymMinor", 0xE874 )); // glyphnumber: 767, Minor - outMap.emplace(std::make_pair( "csymParensLeftTall", 0xE875 )); // glyphnumber: 768, Double-height left parenthesis - outMap.emplace(std::make_pair( "csymParensRightTall", 0xE876 )); // glyphnumber: 769, Double-height right parenthesis - outMap.emplace(std::make_pair( "curlewSign", 0xE4D6 )); // glyphnumber: 770, Curlew (Britten) - outMap.emplace(std::make_pair( "daCapo", 0xE046 )); // glyphnumber: 771, Da capo - outMap.emplace(std::make_pair( "dalSegno", 0xE045 )); // glyphnumber: 772, Dal segno - outMap.emplace(std::make_pair( "daseianExcellentes1", 0xEA3C )); // glyphnumber: 773, Daseian excellentes 1 - outMap.emplace(std::make_pair( "daseianExcellentes2", 0xEA3D )); // glyphnumber: 774, Daseian excellentes 2 - outMap.emplace(std::make_pair( "daseianExcellentes3", 0xEA3E )); // glyphnumber: 775, Daseian excellentes 3 - outMap.emplace(std::make_pair( "daseianExcellentes4", 0xEA3F )); // glyphnumber: 776, Daseian excellentes 4 - outMap.emplace(std::make_pair( "daseianFinales1", 0xEA34 )); // glyphnumber: 777, Daseian finales 1 - outMap.emplace(std::make_pair( "daseianFinales2", 0xEA35 )); // glyphnumber: 778, Daseian finales 2 - outMap.emplace(std::make_pair( "daseianFinales3", 0xEA36 )); // glyphnumber: 779, Daseian finales 3 - outMap.emplace(std::make_pair( "daseianFinales4", 0xEA37 )); // glyphnumber: 780, Daseian finales 4 - outMap.emplace(std::make_pair( "daseianGraves1", 0xEA30 )); // glyphnumber: 781, Daseian graves 1 - outMap.emplace(std::make_pair( "daseianGraves2", 0xEA31 )); // glyphnumber: 782, Daseian graves 2 - outMap.emplace(std::make_pair( "daseianGraves3", 0xEA32 )); // glyphnumber: 783, Daseian graves 3 - outMap.emplace(std::make_pair( "daseianGraves4", 0xEA33 )); // glyphnumber: 784, Daseian graves 4 - outMap.emplace(std::make_pair( "daseianResidua1", 0xEA40 )); // glyphnumber: 785, Daseian residua 1 - outMap.emplace(std::make_pair( "daseianResidua2", 0xEA41 )); // glyphnumber: 786, Daseian residua 2 - outMap.emplace(std::make_pair( "daseianSuperiores1", 0xEA38 )); // glyphnumber: 787, Daseian superiores 1 - outMap.emplace(std::make_pair( "daseianSuperiores2", 0xEA39 )); // glyphnumber: 788, Daseian superiores 2 - outMap.emplace(std::make_pair( "daseianSuperiores3", 0xEA3A )); // glyphnumber: 789, Daseian superiores 3 - outMap.emplace(std::make_pair( "daseianSuperiores4", 0xEA3B )); // glyphnumber: 790, Daseian superiores 4 - outMap.emplace(std::make_pair( "doubleTongueAbove", 0xE5F0 )); // glyphnumber: 791, Double-tongue above - outMap.emplace(std::make_pair( "doubleTongueBelow", 0xE5F1 )); // glyphnumber: 792, Double-tongue below - outMap.emplace(std::make_pair( "dynamicCombinedSeparatorColon", 0xE546 )); // glyphnumber: 793, Colon separator for combined dynamics - outMap.emplace(std::make_pair( "dynamicCombinedSeparatorHyphen", 0xE547 )); // glyphnumber: 794, Hyphen separator for combined dynamics - outMap.emplace(std::make_pair( "dynamicCombinedSeparatorSpace", 0xE548 )); // glyphnumber: 795, Space separator for combined dynamics - outMap.emplace(std::make_pair( "dynamicCrescendoHairpin", 0xE53E )); // glyphnumber: 796, Crescendo - outMap.emplace(std::make_pair( "dynamicDiminuendoHairpin", 0xE53F )); // glyphnumber: 797, Diminuendo - outMap.emplace(std::make_pair( "dynamicFF", 0xE52F )); // glyphnumber: 798, ff - outMap.emplace(std::make_pair( "dynamicFFF", 0xE530 )); // glyphnumber: 799, fff - outMap.emplace(std::make_pair( "dynamicFFFF", 0xE531 )); // glyphnumber: 800, ffff - outMap.emplace(std::make_pair( "dynamicFFFFF", 0xE532 )); // glyphnumber: 801, fffff - outMap.emplace(std::make_pair( "dynamicFFFFFF", 0xE533 )); // glyphnumber: 802, ffffff - outMap.emplace(std::make_pair( "dynamicForte", 0xE522 )); // glyphnumber: 803, Forte - outMap.emplace(std::make_pair( "dynamicFortePiano", 0xE534 )); // glyphnumber: 804, Forte-piano - outMap.emplace(std::make_pair( "dynamicForzando", 0xE535 )); // glyphnumber: 805, Forzando - outMap.emplace(std::make_pair( "dynamicHairpinBracketLeft", 0xE544 )); // glyphnumber: 806, Left bracket (for hairpins) - outMap.emplace(std::make_pair( "dynamicHairpinBracketRight", 0xE545 )); // glyphnumber: 807, Right bracket (for hairpins) - outMap.emplace(std::make_pair( "dynamicHairpinParenthesisLeft", 0xE542 )); // glyphnumber: 808, Left parenthesis (for hairpins) - outMap.emplace(std::make_pair( "dynamicHairpinParenthesisRight", 0xE543 )); // glyphnumber: 809, Right parenthesis (for hairpins) - outMap.emplace(std::make_pair( "dynamicMF", 0xE52D )); // glyphnumber: 810, mf - outMap.emplace(std::make_pair( "dynamicMP", 0xE52C )); // glyphnumber: 811, mp - outMap.emplace(std::make_pair( "dynamicMessaDiVoce", 0xE540 )); // glyphnumber: 812, Messa di voce - outMap.emplace(std::make_pair( "dynamicMezzo", 0xE521 )); // glyphnumber: 813, Mezzo - outMap.emplace(std::make_pair( "dynamicNiente", 0xE526 )); // glyphnumber: 814, Niente - outMap.emplace(std::make_pair( "dynamicNienteForHairpin", 0xE541 )); // glyphnumber: 815, Niente (for hairpins) - outMap.emplace(std::make_pair( "dynamicPF", 0xE52E )); // glyphnumber: 816, pf - outMap.emplace(std::make_pair( "dynamicPP", 0xE52B )); // glyphnumber: 817, pp - outMap.emplace(std::make_pair( "dynamicPPP", 0xE52A )); // glyphnumber: 818, ppp - outMap.emplace(std::make_pair( "dynamicPPPP", 0xE529 )); // glyphnumber: 819, pppp - outMap.emplace(std::make_pair( "dynamicPPPPP", 0xE528 )); // glyphnumber: 820, ppppp - outMap.emplace(std::make_pair( "dynamicPPPPPP", 0xE527 )); // glyphnumber: 821, pppppp - outMap.emplace(std::make_pair( "dynamicPiano", 0xE520 )); // glyphnumber: 822, Piano - outMap.emplace(std::make_pair( "dynamicRinforzando", 0xE523 )); // glyphnumber: 823, Rinforzando - outMap.emplace(std::make_pair( "dynamicRinforzando1", 0xE53C )); // glyphnumber: 824, Rinforzando 1 - outMap.emplace(std::make_pair( "dynamicRinforzando2", 0xE53D )); // glyphnumber: 825, Rinforzando 2 - outMap.emplace(std::make_pair( "dynamicSforzando", 0xE524 )); // glyphnumber: 826, Sforzando - outMap.emplace(std::make_pair( "dynamicSforzando1", 0xE536 )); // glyphnumber: 827, Sforzando 1 - outMap.emplace(std::make_pair( "dynamicSforzandoPianissimo", 0xE538 )); // glyphnumber: 828, Sforzando-pianissimo - outMap.emplace(std::make_pair( "dynamicSforzandoPiano", 0xE537 )); // glyphnumber: 829, Sforzando-piano - outMap.emplace(std::make_pair( "dynamicSforzato", 0xE539 )); // glyphnumber: 830, Sforzato - outMap.emplace(std::make_pair( "dynamicSforzatoFF", 0xE53B )); // glyphnumber: 831, Sforzatissimo - outMap.emplace(std::make_pair( "dynamicSforzatoPiano", 0xE53A )); // glyphnumber: 832, Sforzato-piano - outMap.emplace(std::make_pair( "dynamicZ", 0xE525 )); // glyphnumber: 833, Z - outMap.emplace(std::make_pair( "elecAudioChannelsEight", 0xEB46 )); // glyphnumber: 834, Eight channels (7.1 surround) - outMap.emplace(std::make_pair( "elecAudioChannelsFive", 0xEB43 )); // glyphnumber: 835, Five channels - outMap.emplace(std::make_pair( "elecAudioChannelsFour", 0xEB42 )); // glyphnumber: 836, Four channels - outMap.emplace(std::make_pair( "elecAudioChannelsOne", 0xEB3E )); // glyphnumber: 837, One channel (mono) - outMap.emplace(std::make_pair( "elecAudioChannelsSeven", 0xEB45 )); // glyphnumber: 838, Seven channels - outMap.emplace(std::make_pair( "elecAudioChannelsSix", 0xEB44 )); // glyphnumber: 839, Six channels (5.1 surround) - outMap.emplace(std::make_pair( "elecAudioChannelsThreeFrontal", 0xEB40 )); // glyphnumber: 840, Three channels (frontal) - outMap.emplace(std::make_pair( "elecAudioChannelsThreeSurround", 0xEB41 )); // glyphnumber: 841, Three channels (surround) - outMap.emplace(std::make_pair( "elecAudioChannelsTwo", 0xEB3F )); // glyphnumber: 842, Two channels (stereo) - outMap.emplace(std::make_pair( "elecAudioIn", 0xEB49 )); // glyphnumber: 843, Audio in - outMap.emplace(std::make_pair( "elecAudioMono", 0xEB3C )); // glyphnumber: 844, Mono audio setup - outMap.emplace(std::make_pair( "elecAudioOut", 0xEB4A )); // glyphnumber: 845, Audio out - outMap.emplace(std::make_pair( "elecAudioStereo", 0xEB3D )); // glyphnumber: 846, Stereo audio setup - outMap.emplace(std::make_pair( "elecCamera", 0xEB1B )); // glyphnumber: 847, Camera - outMap.emplace(std::make_pair( "elecDataIn", 0xEB4D )); // glyphnumber: 848, Data in - outMap.emplace(std::make_pair( "elecDataOut", 0xEB4E )); // glyphnumber: 849, Data out - outMap.emplace(std::make_pair( "elecDisc", 0xEB13 )); // glyphnumber: 850, Disc - outMap.emplace(std::make_pair( "elecDownload", 0xEB4F )); // glyphnumber: 851, Download - outMap.emplace(std::make_pair( "elecEject", 0xEB2B )); // glyphnumber: 852, Eject - outMap.emplace(std::make_pair( "elecFastForward", 0xEB1F )); // glyphnumber: 853, Fast-forward - outMap.emplace(std::make_pair( "elecHeadphones", 0xEB11 )); // glyphnumber: 854, Headphones - outMap.emplace(std::make_pair( "elecHeadset", 0xEB12 )); // glyphnumber: 855, Headset - outMap.emplace(std::make_pair( "elecLineIn", 0xEB47 )); // glyphnumber: 856, Line in - outMap.emplace(std::make_pair( "elecLineOut", 0xEB48 )); // glyphnumber: 857, Line out - outMap.emplace(std::make_pair( "elecLoop", 0xEB23 )); // glyphnumber: 858, Loop - outMap.emplace(std::make_pair( "elecLoudspeaker", 0xEB1A )); // glyphnumber: 859, Loudspeaker - outMap.emplace(std::make_pair( "elecMIDIController0", 0xEB36 )); // glyphnumber: 860, MIDI controller 0% - outMap.emplace(std::make_pair( "elecMIDIController100", 0xEB3B )); // glyphnumber: 861, MIDI controller 100% - outMap.emplace(std::make_pair( "elecMIDIController20", 0xEB37 )); // glyphnumber: 862, MIDI controller 20% - outMap.emplace(std::make_pair( "elecMIDIController40", 0xEB38 )); // glyphnumber: 863, MIDI controller 40% - outMap.emplace(std::make_pair( "elecMIDIController60", 0xEB39 )); // glyphnumber: 864, MIDI controller 60% - outMap.emplace(std::make_pair( "elecMIDIController80", 0xEB3A )); // glyphnumber: 865, MIDI controller 80% - outMap.emplace(std::make_pair( "elecMIDIIn", 0xEB34 )); // glyphnumber: 866, MIDI in - outMap.emplace(std::make_pair( "elecMIDIOut", 0xEB35 )); // glyphnumber: 867, MIDI out - outMap.emplace(std::make_pair( "elecMicrophone", 0xEB10 )); // glyphnumber: 868, Microphone - outMap.emplace(std::make_pair( "elecMicrophoneMute", 0xEB28 )); // glyphnumber: 869, Mute microphone - outMap.emplace(std::make_pair( "elecMicrophoneUnmute", 0xEB29 )); // glyphnumber: 870, Unmute microphone - outMap.emplace(std::make_pair( "elecMixingConsole", 0xEB15 )); // glyphnumber: 871, Mixing console - outMap.emplace(std::make_pair( "elecMonitor", 0xEB18 )); // glyphnumber: 872, Monitor - outMap.emplace(std::make_pair( "elecMute", 0xEB26 )); // glyphnumber: 873, Mute - outMap.emplace(std::make_pair( "elecPause", 0xEB1E )); // glyphnumber: 874, Pause - outMap.emplace(std::make_pair( "elecPlay", 0xEB1C )); // glyphnumber: 875, Play - outMap.emplace(std::make_pair( "elecPowerOnOff", 0xEB2A )); // glyphnumber: 876, Power on/off - outMap.emplace(std::make_pair( "elecProjector", 0xEB19 )); // glyphnumber: 877, Projector - outMap.emplace(std::make_pair( "elecReplay", 0xEB24 )); // glyphnumber: 878, Replay - outMap.emplace(std::make_pair( "elecRewind", 0xEB20 )); // glyphnumber: 879, Rewind - outMap.emplace(std::make_pair( "elecShuffle", 0xEB25 )); // glyphnumber: 880, Shuffle - outMap.emplace(std::make_pair( "elecSkipBackwards", 0xEB22 )); // glyphnumber: 881, Skip backwards - outMap.emplace(std::make_pair( "elecSkipForwards", 0xEB21 )); // glyphnumber: 882, Skip forwards - outMap.emplace(std::make_pair( "elecStop", 0xEB1D )); // glyphnumber: 883, Stop - outMap.emplace(std::make_pair( "elecTape", 0xEB14 )); // glyphnumber: 884, Tape - outMap.emplace(std::make_pair( "elecUSB", 0xEB16 )); // glyphnumber: 885, USB connection - outMap.emplace(std::make_pair( "elecUnmute", 0xEB27 )); // glyphnumber: 886, Unmute - outMap.emplace(std::make_pair( "elecUpload", 0xEB50 )); // glyphnumber: 887, Upload - outMap.emplace(std::make_pair( "elecVideoCamera", 0xEB17 )); // glyphnumber: 888, Video camera - outMap.emplace(std::make_pair( "elecVideoIn", 0xEB4B )); // glyphnumber: 889, Video in - outMap.emplace(std::make_pair( "elecVideoOut", 0xEB4C )); // glyphnumber: 890, Video out - outMap.emplace(std::make_pair( "elecVolumeFader", 0xEB2C )); // glyphnumber: 891, Combining volume fader - outMap.emplace(std::make_pair( "elecVolumeFaderThumb", 0xEB2D )); // glyphnumber: 892, Combining volume fader thumb - outMap.emplace(std::make_pair( "elecVolumeLevel0", 0xEB2E )); // glyphnumber: 893, Volume level 0% - outMap.emplace(std::make_pair( "elecVolumeLevel100", 0xEB33 )); // glyphnumber: 894, Volume level 100% - outMap.emplace(std::make_pair( "elecVolumeLevel20", 0xEB2F )); // glyphnumber: 895, Volume level 20% - outMap.emplace(std::make_pair( "elecVolumeLevel40", 0xEB30 )); // glyphnumber: 896, Volume level 40% - outMap.emplace(std::make_pair( "elecVolumeLevel60", 0xEB31 )); // glyphnumber: 897, Volume level 60% - outMap.emplace(std::make_pair( "elecVolumeLevel80", 0xEB32 )); // glyphnumber: 898, Volume level 80% - outMap.emplace(std::make_pair( "fClef", 0xE062 )); // glyphnumber: 899, F clef - outMap.emplace(std::make_pair( "fClef15ma", 0xE066 )); // glyphnumber: 900, F clef quindicesima alta - outMap.emplace(std::make_pair( "fClef15mb", 0xE063 )); // glyphnumber: 901, F clef quindicesima bassa - outMap.emplace(std::make_pair( "fClef8va", 0xE065 )); // glyphnumber: 902, F clef ottava alta - outMap.emplace(std::make_pair( "fClef8vb", 0xE064 )); // glyphnumber: 903, F clef ottava bassa - outMap.emplace(std::make_pair( "fClefArrowDown", 0xE068 )); // glyphnumber: 904, F clef, arrow down - outMap.emplace(std::make_pair( "fClefArrowUp", 0xE067 )); // glyphnumber: 905, F clef, arrow up - outMap.emplace(std::make_pair( "fClefChange", 0xE07C )); // glyphnumber: 906, F clef change - outMap.emplace(std::make_pair( "fClefReversed", 0xE076 )); // glyphnumber: 907, Reversed F clef - outMap.emplace(std::make_pair( "fClefTurned", 0xE077 )); // glyphnumber: 908, Turned F clef - outMap.emplace(std::make_pair( "fermataAbove", 0xE4C0 )); // glyphnumber: 909, Fermata above - outMap.emplace(std::make_pair( "fermataBelow", 0xE4C1 )); // glyphnumber: 910, Fermata below - outMap.emplace(std::make_pair( "fermataLongAbove", 0xE4C6 )); // glyphnumber: 911, Long fermata above - outMap.emplace(std::make_pair( "fermataLongBelow", 0xE4C7 )); // glyphnumber: 912, Long fermata below - outMap.emplace(std::make_pair( "fermataLongHenzeAbove", 0xE4CA )); // glyphnumber: 913, Long fermata (Henze) above - outMap.emplace(std::make_pair( "fermataLongHenzeBelow", 0xE4CB )); // glyphnumber: 914, Long fermata (Henze) below - outMap.emplace(std::make_pair( "fermataShortAbove", 0xE4C4 )); // glyphnumber: 915, Short fermata above - outMap.emplace(std::make_pair( "fermataShortBelow", 0xE4C5 )); // glyphnumber: 916, Short fermata below - outMap.emplace(std::make_pair( "fermataShortHenzeAbove", 0xE4CC )); // glyphnumber: 917, Short fermata (Henze) above - outMap.emplace(std::make_pair( "fermataShortHenzeBelow", 0xE4CD )); // glyphnumber: 918, Short fermata (Henze) below - outMap.emplace(std::make_pair( "fermataVeryLongAbove", 0xE4C8 )); // glyphnumber: 919, Very long fermata above - outMap.emplace(std::make_pair( "fermataVeryLongBelow", 0xE4C9 )); // glyphnumber: 920, Very long fermata below - outMap.emplace(std::make_pair( "fermataVeryShortAbove", 0xE4C2 )); // glyphnumber: 921, Very short fermata above - outMap.emplace(std::make_pair( "fermataVeryShortBelow", 0xE4C3 )); // glyphnumber: 922, Very short fermata below - outMap.emplace(std::make_pair( "figbass0", 0xEA50 )); // glyphnumber: 923, Figured bass 0 - outMap.emplace(std::make_pair( "figbass1", 0xEA51 )); // glyphnumber: 924, Figured bass 1 - outMap.emplace(std::make_pair( "figbass2", 0xEA52 )); // glyphnumber: 925, Figured bass 2 - outMap.emplace(std::make_pair( "figbass2Raised", 0xEA53 )); // glyphnumber: 926, Figured bass 2 raised by half-step - outMap.emplace(std::make_pair( "figbass3", 0xEA54 )); // glyphnumber: 927, Figured bass 3 - outMap.emplace(std::make_pair( "figbass4", 0xEA55 )); // glyphnumber: 928, Figured bass 4 - outMap.emplace(std::make_pair( "figbass4Raised", 0xEA56 )); // glyphnumber: 929, Figured bass 4 raised by half-step - outMap.emplace(std::make_pair( "figbass5", 0xEA57 )); // glyphnumber: 930, Figured bass 5 - outMap.emplace(std::make_pair( "figbass5Raised1", 0xEA58 )); // glyphnumber: 931, Figured bass 5 raised by half-step - outMap.emplace(std::make_pair( "figbass5Raised2", 0xEA59 )); // glyphnumber: 932, Figured bass 5 raised by half-step 2 - outMap.emplace(std::make_pair( "figbass5Raised3", 0xEA5A )); // glyphnumber: 933, Figured bass diminished 5 - outMap.emplace(std::make_pair( "figbass6", 0xEA5B )); // glyphnumber: 934, Figured bass 6 - outMap.emplace(std::make_pair( "figbass6Raised", 0xEA5C )); // glyphnumber: 935, Figured bass 6 raised by half-step - outMap.emplace(std::make_pair( "figbass6Raised2", 0xEA6F )); // glyphnumber: 936, Figured bass 6 raised by half-step 2 - outMap.emplace(std::make_pair( "figbass7", 0xEA5D )); // glyphnumber: 937, Figured bass 7 - outMap.emplace(std::make_pair( "figbass7Diminished", 0xECC0 )); // glyphnumber: 938, Figured bass 7 diminished - outMap.emplace(std::make_pair( "figbass7Raised1", 0xEA5E )); // glyphnumber: 939, Figured bass 7 raised by half-step - outMap.emplace(std::make_pair( "figbass7Raised2", 0xEA5F )); // glyphnumber: 940, Figured bass 7 raised by a half-step 2 - outMap.emplace(std::make_pair( "figbass8", 0xEA60 )); // glyphnumber: 941, Figured bass 8 - outMap.emplace(std::make_pair( "figbass9", 0xEA61 )); // glyphnumber: 942, Figured bass 9 - outMap.emplace(std::make_pair( "figbass9Raised", 0xEA62 )); // glyphnumber: 943, Figured bass 9 raised by half-step - outMap.emplace(std::make_pair( "figbassBracketLeft", 0xEA68 )); // glyphnumber: 944, Figured bass [ - outMap.emplace(std::make_pair( "figbassBracketRight", 0xEA69 )); // glyphnumber: 945, Figured bass ] - outMap.emplace(std::make_pair( "figbassCombiningLowering", 0xEA6E )); // glyphnumber: 946, Combining lower - outMap.emplace(std::make_pair( "figbassCombiningRaising", 0xEA6D )); // glyphnumber: 947, Combining raise - outMap.emplace(std::make_pair( "figbassDoubleFlat", 0xEA63 )); // glyphnumber: 948, Figured bass double flat - outMap.emplace(std::make_pair( "figbassDoubleSharp", 0xEA67 )); // glyphnumber: 949, Figured bass double sharp - outMap.emplace(std::make_pair( "figbassFlat", 0xEA64 )); // glyphnumber: 950, Figured bass flat - outMap.emplace(std::make_pair( "figbassNatural", 0xEA65 )); // glyphnumber: 951, Figured bass natural - outMap.emplace(std::make_pair( "figbassParensLeft", 0xEA6A )); // glyphnumber: 952, Figured bass ( - outMap.emplace(std::make_pair( "figbassParensRight", 0xEA6B )); // glyphnumber: 953, Figured bass ) - outMap.emplace(std::make_pair( "figbassPlus", 0xEA6C )); // glyphnumber: 954, Figured bass + - outMap.emplace(std::make_pair( "figbassSharp", 0xEA66 )); // glyphnumber: 955, Figured bass sharp - outMap.emplace(std::make_pair( "fingering0", 0xED10 )); // glyphnumber: 956, Fingering 0 (open string) - outMap.emplace(std::make_pair( "fingering1", 0xED11 )); // glyphnumber: 957, Fingering 1 (thumb) - outMap.emplace(std::make_pair( "fingering2", 0xED12 )); // glyphnumber: 958, Fingering 2 (index finger) - outMap.emplace(std::make_pair( "fingering3", 0xED13 )); // glyphnumber: 959, Fingering 3 (middle finger) - outMap.emplace(std::make_pair( "fingering4", 0xED14 )); // glyphnumber: 960, Fingering 4 (ring finger) - outMap.emplace(std::make_pair( "fingering5", 0xED15 )); // glyphnumber: 961, Fingering 5 (little finger) - outMap.emplace(std::make_pair( "fingeringALower", 0xED1B )); // glyphnumber: 962, Fingering a (anular; right-hand ring finger for guitar) - outMap.emplace(std::make_pair( "fingeringCLower", 0xED1C )); // glyphnumber: 963, Fingering c (right-hand little finger for guitar) - outMap.emplace(std::make_pair( "fingeringELower", 0xED1E )); // glyphnumber: 964, Fingering e (right-hand little finger for guitar) - outMap.emplace(std::make_pair( "fingeringILower", 0xED19 )); // glyphnumber: 965, Fingering i (indicio; right-hand index finger for guitar) - outMap.emplace(std::make_pair( "fingeringMLower", 0xED1A )); // glyphnumber: 966, Fingering m (medio; right-hand middle finger for guitar) - outMap.emplace(std::make_pair( "fingeringMultipleNotes", 0xED23 )); // glyphnumber: 967, Multiple notes played by thumb or single finger - outMap.emplace(std::make_pair( "fingeringOLower", 0xED1F )); // glyphnumber: 968, Fingering o (right-hand little finger for guitar) - outMap.emplace(std::make_pair( "fingeringPLower", 0xED17 )); // glyphnumber: 969, Fingering p (pulgar; right-hand thumb for guitar) - outMap.emplace(std::make_pair( "fingeringSubstitutionAbove", 0xED20 )); // glyphnumber: 970, Finger substitution above - outMap.emplace(std::make_pair( "fingeringSubstitutionBelow", 0xED21 )); // glyphnumber: 971, Finger substitution below - outMap.emplace(std::make_pair( "fingeringSubstitutionDash", 0xED22 )); // glyphnumber: 972, Finger substitution dash - outMap.emplace(std::make_pair( "fingeringTLower", 0xED18 )); // glyphnumber: 973, Fingering t (right-hand thumb for guitar) - outMap.emplace(std::make_pair( "fingeringTUpper", 0xED16 )); // glyphnumber: 974, Fingering T (left-hand thumb for guitar) - outMap.emplace(std::make_pair( "fingeringXLower", 0xED1D )); // glyphnumber: 975, Fingering x (right-hand little finger for guitar) - outMap.emplace(std::make_pair( "flag1024thDown", 0xE24F )); // glyphnumber: 976, Combining flag 8 (1024th) below - outMap.emplace(std::make_pair( "flag1024thUp", 0xE24E )); // glyphnumber: 977, Combining flag 8 (1024th) above - outMap.emplace(std::make_pair( "flag128thDown", 0xE249 )); // glyphnumber: 978, Combining flag 5 (128th) below - outMap.emplace(std::make_pair( "flag128thUp", 0xE248 )); // glyphnumber: 979, Combining flag 5 (128th) above - outMap.emplace(std::make_pair( "flag16thDown", 0xE243 )); // glyphnumber: 980, Combining flag 2 (16th) below - outMap.emplace(std::make_pair( "flag16thUp", 0xE242 )); // glyphnumber: 981, Combining flag 2 (16th) above - outMap.emplace(std::make_pair( "flag256thDown", 0xE24B )); // glyphnumber: 982, Combining flag 6 (256th) below - outMap.emplace(std::make_pair( "flag256thUp", 0xE24A )); // glyphnumber: 983, Combining flag 6 (256th) above - outMap.emplace(std::make_pair( "flag32ndDown", 0xE245 )); // glyphnumber: 984, Combining flag 3 (32nd) below - outMap.emplace(std::make_pair( "flag32ndUp", 0xE244 )); // glyphnumber: 985, Combining flag 3 (32nd) above - outMap.emplace(std::make_pair( "flag512thDown", 0xE24D )); // glyphnumber: 986, Combining flag 7 (512th) below - outMap.emplace(std::make_pair( "flag512thUp", 0xE24C )); // glyphnumber: 987, Combining flag 7 (512th) above - outMap.emplace(std::make_pair( "flag64thDown", 0xE247 )); // glyphnumber: 988, Combining flag 4 (64th) below - outMap.emplace(std::make_pair( "flag64thUp", 0xE246 )); // glyphnumber: 989, Combining flag 4 (64th) above - outMap.emplace(std::make_pair( "flag8thDown", 0xE241 )); // glyphnumber: 990, Combining flag 1 (8th) below - outMap.emplace(std::make_pair( "flag8thUp", 0xE240 )); // glyphnumber: 991, Combining flag 1 (8th) above - outMap.emplace(std::make_pair( "flagInternalDown", 0xE251 )); // glyphnumber: 992, Internal combining flag below - outMap.emplace(std::make_pair( "flagInternalUp", 0xE250 )); // glyphnumber: 993, Internal combining flag above - outMap.emplace(std::make_pair( "fretboard3String", 0xE850 )); // glyphnumber: 994, 3-string fretboard - outMap.emplace(std::make_pair( "fretboard3StringNut", 0xE851 )); // glyphnumber: 995, 3-string fretboard at nut - outMap.emplace(std::make_pair( "fretboard4String", 0xE852 )); // glyphnumber: 996, 4-string fretboard - outMap.emplace(std::make_pair( "fretboard4StringNut", 0xE853 )); // glyphnumber: 997, 4-string fretboard at nut - outMap.emplace(std::make_pair( "fretboard5String", 0xE854 )); // glyphnumber: 998, 5-string fretboard - outMap.emplace(std::make_pair( "fretboard5StringNut", 0xE855 )); // glyphnumber: 999, 5-string fretboard at nut - outMap.emplace(std::make_pair( "fretboard6String", 0xE856 )); // glyphnumber: 1000, 6-string fretboard - outMap.emplace(std::make_pair( "fretboard6StringNut", 0xE857 )); // glyphnumber: 1001, 6-string fretboard at nut - outMap.emplace(std::make_pair( "fretboardFilledCircle", 0xE858 )); // glyphnumber: 1002, Fingered fret (filled circle) - outMap.emplace(std::make_pair( "fretboardO", 0xE85A )); // glyphnumber: 1003, Open string (O) - outMap.emplace(std::make_pair( "fretboardX", 0xE859 )); // glyphnumber: 1004, String not played (X) - outMap.emplace(std::make_pair( "functionAngleLeft", 0xEA93 )); // glyphnumber: 1005, Function theory angle bracket left - outMap.emplace(std::make_pair( "functionAngleRight", 0xEA94 )); // glyphnumber: 1006, Function theory angle bracket right - outMap.emplace(std::make_pair( "functionBracketLeft", 0xEA8F )); // glyphnumber: 1007, Function theory bracket left - outMap.emplace(std::make_pair( "functionBracketRight", 0xEA90 )); // glyphnumber: 1008, Function theory bracket right - outMap.emplace(std::make_pair( "functionDD", 0xEA81 )); // glyphnumber: 1009, Function theory dominant of dominant - outMap.emplace(std::make_pair( "functionDLower", 0xEA80 )); // glyphnumber: 1010, Function theory minor dominant - outMap.emplace(std::make_pair( "functionDUpper", 0xEA7F )); // glyphnumber: 1011, Function theory major dominant - outMap.emplace(std::make_pair( "functionEight", 0xEA78 )); // glyphnumber: 1012, Function theory 8 - outMap.emplace(std::make_pair( "functionFUpper", 0xEA99 )); // glyphnumber: 1013, Function theory F - outMap.emplace(std::make_pair( "functionFive", 0xEA75 )); // glyphnumber: 1014, Function theory 5 - outMap.emplace(std::make_pair( "functionFour", 0xEA74 )); // glyphnumber: 1015, Function theory 4 - outMap.emplace(std::make_pair( "functionGLower", 0xEA84 )); // glyphnumber: 1016, Function theory g - outMap.emplace(std::make_pair( "functionGUpper", 0xEA83 )); // glyphnumber: 1017, Function theory G - outMap.emplace(std::make_pair( "functionGreaterThan", 0xEA7C )); // glyphnumber: 1018, Function theory greater than - outMap.emplace(std::make_pair( "functionILower", 0xEA9B )); // glyphnumber: 1019, Function theory i - outMap.emplace(std::make_pair( "functionIUpper", 0xEA9A )); // glyphnumber: 1020, Function theory I - outMap.emplace(std::make_pair( "functionKLower", 0xEA9D )); // glyphnumber: 1021, Function theory k - outMap.emplace(std::make_pair( "functionKUpper", 0xEA9C )); // glyphnumber: 1022, Function theory K - outMap.emplace(std::make_pair( "functionLLower", 0xEA9F )); // glyphnumber: 1023, Function theory l - outMap.emplace(std::make_pair( "functionLUpper", 0xEA9E )); // glyphnumber: 1024, Function theory L - outMap.emplace(std::make_pair( "functionLessThan", 0xEA7A )); // glyphnumber: 1025, Function theory less than - outMap.emplace(std::make_pair( "functionMLower", 0xED01 )); // glyphnumber: 1026, Function theory m - outMap.emplace(std::make_pair( "functionMUpper", 0xED00 )); // glyphnumber: 1027, Function theory M - outMap.emplace(std::make_pair( "functionMinus", 0xEA7B )); // glyphnumber: 1028, Function theory minus - outMap.emplace(std::make_pair( "functionNLower", 0xEA86 )); // glyphnumber: 1029, Function theory n - outMap.emplace(std::make_pair( "functionNUpper", 0xEA85 )); // glyphnumber: 1030, Function theory N - outMap.emplace(std::make_pair( "functionNUpperSuperscript", 0xED02 )); // glyphnumber: 1031, Function theory superscript N - outMap.emplace(std::make_pair( "functionNine", 0xEA79 )); // glyphnumber: 1032, Function theory 9 - outMap.emplace(std::make_pair( "functionOne", 0xEA71 )); // glyphnumber: 1033, Function theory 1 - outMap.emplace(std::make_pair( "functionPLower", 0xEA88 )); // glyphnumber: 1034, Function theory p - outMap.emplace(std::make_pair( "functionPUpper", 0xEA87 )); // glyphnumber: 1035, Function theory P - outMap.emplace(std::make_pair( "functionParensLeft", 0xEA91 )); // glyphnumber: 1036, Function theory parenthesis left - outMap.emplace(std::make_pair( "functionParensRight", 0xEA92 )); // glyphnumber: 1037, Function theory parenthesis right - outMap.emplace(std::make_pair( "functionPlus", 0xEA98 )); // glyphnumber: 1038, Function theory prefix plus - outMap.emplace(std::make_pair( "functionRLower", 0xED03 )); // glyphnumber: 1039, Function theory r - outMap.emplace(std::make_pair( "functionRepetition1", 0xEA95 )); // glyphnumber: 1040, Function theory repetition 1 - outMap.emplace(std::make_pair( "functionRepetition2", 0xEA96 )); // glyphnumber: 1041, Function theory repetition 2 - outMap.emplace(std::make_pair( "functionRing", 0xEA97 )); // glyphnumber: 1042, Function theory prefix ring - outMap.emplace(std::make_pair( "functionSLower", 0xEA8A )); // glyphnumber: 1043, Function theory minor subdominant - outMap.emplace(std::make_pair( "functionSSLower", 0xEA7E )); // glyphnumber: 1044, Function theory minor subdominant of subdominant - outMap.emplace(std::make_pair( "functionSSUpper", 0xEA7D )); // glyphnumber: 1045, Function theory major subdominant of subdominant - outMap.emplace(std::make_pair( "functionSUpper", 0xEA89 )); // glyphnumber: 1046, Function theory major subdominant - outMap.emplace(std::make_pair( "functionSeven", 0xEA77 )); // glyphnumber: 1047, Function theory 7 - outMap.emplace(std::make_pair( "functionSix", 0xEA76 )); // glyphnumber: 1048, Function theory 6 - outMap.emplace(std::make_pair( "functionSlashedDD", 0xEA82 )); // glyphnumber: 1049, Function theory double dominant seventh - outMap.emplace(std::make_pair( "functionTLower", 0xEA8C )); // glyphnumber: 1050, Function theory minor tonic - outMap.emplace(std::make_pair( "functionTUpper", 0xEA8B )); // glyphnumber: 1051, Function theory tonic - outMap.emplace(std::make_pair( "functionThree", 0xEA73 )); // glyphnumber: 1052, Function theory 3 - outMap.emplace(std::make_pair( "functionTwo", 0xEA72 )); // glyphnumber: 1053, Function theory 2 - outMap.emplace(std::make_pair( "functionVLower", 0xEA8E )); // glyphnumber: 1054, Function theory v - outMap.emplace(std::make_pair( "functionVUpper", 0xEA8D )); // glyphnumber: 1055, Function theory V - outMap.emplace(std::make_pair( "functionZero", 0xEA70 )); // glyphnumber: 1056, Function theory 0 - outMap.emplace(std::make_pair( "gClef", 0xE050 )); // glyphnumber: 1057, G clef - outMap.emplace(std::make_pair( "gClef15ma", 0xE054 )); // glyphnumber: 1058, G clef quindicesima alta - outMap.emplace(std::make_pair( "gClef15mb", 0xE051 )); // glyphnumber: 1059, G clef quindicesima bassa - outMap.emplace(std::make_pair( "gClef8va", 0xE053 )); // glyphnumber: 1060, G clef ottava alta - outMap.emplace(std::make_pair( "gClef8vb", 0xE052 )); // glyphnumber: 1061, G clef ottava bassa - outMap.emplace(std::make_pair( "gClef8vbCClef", 0xE056 )); // glyphnumber: 1062, G clef ottava bassa with C clef - outMap.emplace(std::make_pair( "gClef8vbOld", 0xE055 )); // glyphnumber: 1063, G clef ottava bassa (old style) - outMap.emplace(std::make_pair( "gClef8vbParens", 0xE057 )); // glyphnumber: 1064, G clef, optionally ottava bassa - outMap.emplace(std::make_pair( "gClefArrowDown", 0xE05B )); // glyphnumber: 1065, G clef, arrow down - outMap.emplace(std::make_pair( "gClefArrowUp", 0xE05A )); // glyphnumber: 1066, G clef, arrow up - outMap.emplace(std::make_pair( "gClefChange", 0xE07A )); // glyphnumber: 1067, G clef change - outMap.emplace(std::make_pair( "gClefLigatedNumberAbove", 0xE059 )); // glyphnumber: 1068, Combining G clef, number above - outMap.emplace(std::make_pair( "gClefLigatedNumberBelow", 0xE058 )); // glyphnumber: 1069, Combining G clef, number below - outMap.emplace(std::make_pair( "gClefReversed", 0xE073 )); // glyphnumber: 1070, Reversed G clef - outMap.emplace(std::make_pair( "gClefTurned", 0xE074 )); // glyphnumber: 1071, Turned G clef - outMap.emplace(std::make_pair( "glissandoDown", 0xE586 )); // glyphnumber: 1072, Glissando down - outMap.emplace(std::make_pair( "glissandoUp", 0xE585 )); // glyphnumber: 1073, Glissando up - outMap.emplace(std::make_pair( "graceNoteAcciaccaturaStemDown", 0xE561 )); // glyphnumber: 1074, Slashed grace note stem down - outMap.emplace(std::make_pair( "graceNoteAcciaccaturaStemUp", 0xE560 )); // glyphnumber: 1075, Slashed grace note stem up - outMap.emplace(std::make_pair( "graceNoteAppoggiaturaStemDown", 0xE563 )); // glyphnumber: 1076, Grace note stem down - outMap.emplace(std::make_pair( "graceNoteAppoggiaturaStemUp", 0xE562 )); // glyphnumber: 1077, Grace note stem up - outMap.emplace(std::make_pair( "graceNoteSlashStemDown", 0xE565 )); // glyphnumber: 1078, Slash for stem down grace note - outMap.emplace(std::make_pair( "graceNoteSlashStemUp", 0xE564 )); // glyphnumber: 1079, Slash for stem up grace note - outMap.emplace(std::make_pair( "guitarBarreFull", 0xE848 )); // glyphnumber: 1080, Full barré - outMap.emplace(std::make_pair( "guitarBarreHalf", 0xE849 )); // glyphnumber: 1081, Half barré - outMap.emplace(std::make_pair( "guitarClosePedal", 0xE83F )); // glyphnumber: 1082, Closed wah/volume pedal - outMap.emplace(std::make_pair( "guitarFadeIn", 0xE843 )); // glyphnumber: 1083, Fade in - outMap.emplace(std::make_pair( "guitarFadeOut", 0xE844 )); // glyphnumber: 1084, Fade out - outMap.emplace(std::make_pair( "guitarGolpe", 0xE842 )); // glyphnumber: 1085, Golpe (tapping the pick guard) - outMap.emplace(std::make_pair( "guitarHalfOpenPedal", 0xE83E )); // glyphnumber: 1086, Half-open wah/volume pedal - outMap.emplace(std::make_pair( "guitarLeftHandTapping", 0xE840 )); // glyphnumber: 1087, Left-hand tapping - outMap.emplace(std::make_pair( "guitarOpenPedal", 0xE83D )); // glyphnumber: 1088, Open wah/volume pedal - outMap.emplace(std::make_pair( "guitarRightHandTapping", 0xE841 )); // glyphnumber: 1089, Right-hand tapping - outMap.emplace(std::make_pair( "guitarShake", 0xE832 )); // glyphnumber: 1090, Guitar shake - outMap.emplace(std::make_pair( "guitarString0", 0xE833 )); // glyphnumber: 1091, String number 0 - outMap.emplace(std::make_pair( "guitarString1", 0xE834 )); // glyphnumber: 1092, String number 1 - outMap.emplace(std::make_pair( "guitarString2", 0xE835 )); // glyphnumber: 1093, String number 2 - outMap.emplace(std::make_pair( "guitarString3", 0xE836 )); // glyphnumber: 1094, String number 3 - outMap.emplace(std::make_pair( "guitarString4", 0xE837 )); // glyphnumber: 1095, String number 4 - outMap.emplace(std::make_pair( "guitarString5", 0xE838 )); // glyphnumber: 1096, String number 5 - outMap.emplace(std::make_pair( "guitarString6", 0xE839 )); // glyphnumber: 1097, String number 6 - outMap.emplace(std::make_pair( "guitarString7", 0xE83A )); // glyphnumber: 1098, String number 7 - outMap.emplace(std::make_pair( "guitarString8", 0xE83B )); // glyphnumber: 1099, String number 8 - outMap.emplace(std::make_pair( "guitarString9", 0xE83C )); // glyphnumber: 1100, String number 9 - outMap.emplace(std::make_pair( "guitarStrumDown", 0xE847 )); // glyphnumber: 1101, Strum direction down - outMap.emplace(std::make_pair( "guitarStrumUp", 0xE846 )); // glyphnumber: 1102, Strum direction up - outMap.emplace(std::make_pair( "guitarVibratoBarDip", 0xE831 )); // glyphnumber: 1103, Guitar vibrato bar dip - outMap.emplace(std::make_pair( "guitarVibratoBarScoop", 0xE830 )); // glyphnumber: 1104, Guitar vibrato bar scoop - outMap.emplace(std::make_pair( "guitarVibratoStroke", 0xEAB2 )); // glyphnumber: 1105, Vibrato wiggle segment - outMap.emplace(std::make_pair( "guitarVolumeSwell", 0xE845 )); // glyphnumber: 1106, Volume swell - outMap.emplace(std::make_pair( "guitarWideVibratoStroke", 0xEAB3 )); // glyphnumber: 1107, Wide vibrato wiggle segment - outMap.emplace(std::make_pair( "handbellsBelltree", 0xE81F )); // glyphnumber: 1108, Belltree - outMap.emplace(std::make_pair( "handbellsDamp3", 0xE81E )); // glyphnumber: 1109, Damp 3 - outMap.emplace(std::make_pair( "handbellsEcho1", 0xE81B )); // glyphnumber: 1110, Echo - outMap.emplace(std::make_pair( "handbellsEcho2", 0xE81C )); // glyphnumber: 1111, Echo 2 - outMap.emplace(std::make_pair( "handbellsGyro", 0xE81D )); // glyphnumber: 1112, Gyro - outMap.emplace(std::make_pair( "handbellsHandMartellato", 0xE812 )); // glyphnumber: 1113, Hand martellato - outMap.emplace(std::make_pair( "handbellsMalletBellOnTable", 0xE815 )); // glyphnumber: 1114, Mallet, bell on table - outMap.emplace(std::make_pair( "handbellsMalletBellSuspended", 0xE814 )); // glyphnumber: 1115, Mallet, bell suspended - outMap.emplace(std::make_pair( "handbellsMalletLft", 0xE816 )); // glyphnumber: 1116, Mallet lift - outMap.emplace(std::make_pair( "handbellsMartellato", 0xE810 )); // glyphnumber: 1117, Martellato - outMap.emplace(std::make_pair( "handbellsMartellatoLift", 0xE811 )); // glyphnumber: 1118, Martellato lift - outMap.emplace(std::make_pair( "handbellsMutedMartellato", 0xE813 )); // glyphnumber: 1119, Muted martellato - outMap.emplace(std::make_pair( "handbellsPluckLift", 0xE817 )); // glyphnumber: 1120, Pluck lift - outMap.emplace(std::make_pair( "handbellsSwing", 0xE81A )); // glyphnumber: 1121, Swing - outMap.emplace(std::make_pair( "handbellsSwingDown", 0xE819 )); // glyphnumber: 1122, Swing down - outMap.emplace(std::make_pair( "handbellsSwingUp", 0xE818 )); // glyphnumber: 1123, Swing up - outMap.emplace(std::make_pair( "handbellsTablePairBells", 0xE821 )); // glyphnumber: 1124, Table pair of handbells - outMap.emplace(std::make_pair( "handbellsTableSingleBell", 0xE820 )); // glyphnumber: 1125, Table single handbell - outMap.emplace(std::make_pair( "harpMetalRod", 0xE68F )); // glyphnumber: 1126, Metal rod pictogram - outMap.emplace(std::make_pair( "harpPedalCentered", 0xE681 )); // glyphnumber: 1127, Harp pedal centered (natural) - outMap.emplace(std::make_pair( "harpPedalDivider", 0xE683 )); // glyphnumber: 1128, Harp pedal divider - outMap.emplace(std::make_pair( "harpPedalLowered", 0xE682 )); // glyphnumber: 1129, Harp pedal lowered (sharp) - outMap.emplace(std::make_pair( "harpPedalRaised", 0xE680 )); // glyphnumber: 1130, Harp pedal raised (flat) - outMap.emplace(std::make_pair( "harpSalzedoAeolianAscending", 0xE695 )); // glyphnumber: 1131, Ascending aeolian chords (Salzedo) - outMap.emplace(std::make_pair( "harpSalzedoAeolianDescending", 0xE696 )); // glyphnumber: 1132, Descending aeolian chords (Salzedo) - outMap.emplace(std::make_pair( "harpSalzedoDampAbove", 0xE69A )); // glyphnumber: 1133, Damp above (Salzedo) - outMap.emplace(std::make_pair( "harpSalzedoDampBelow", 0xE699 )); // glyphnumber: 1134, Damp below (Salzedo) - outMap.emplace(std::make_pair( "harpSalzedoDampBothHands", 0xE698 )); // glyphnumber: 1135, Damp with both hands (Salzedo) - outMap.emplace(std::make_pair( "harpSalzedoDampLowStrings", 0xE697 )); // glyphnumber: 1136, Damp only low strings (Salzedo) - outMap.emplace(std::make_pair( "harpSalzedoFluidicSoundsLeft", 0xE68D )); // glyphnumber: 1137, Fluidic sounds, left hand (Salzedo) - outMap.emplace(std::make_pair( "harpSalzedoFluidicSoundsRight", 0xE68E )); // glyphnumber: 1138, Fluidic sounds, right hand (Salzedo) - outMap.emplace(std::make_pair( "harpSalzedoIsolatedSounds", 0xE69C )); // glyphnumber: 1139, Isolated sounds (Salzedo) - outMap.emplace(std::make_pair( "harpSalzedoMetallicSounds", 0xE688 )); // glyphnumber: 1140, Metallic sounds (Salzedo) - outMap.emplace(std::make_pair( "harpSalzedoMetallicSoundsOneString", 0xE69B )); // glyphnumber: 1141, Metallic sounds, one string (Salzedo) - outMap.emplace(std::make_pair( "harpSalzedoMuffleTotally", 0xE68C )); // glyphnumber: 1142, Muffle totally (Salzedo) - outMap.emplace(std::make_pair( "harpSalzedoOboicFlux", 0xE685 )); // glyphnumber: 1143, Oboic flux (Salzedo) - outMap.emplace(std::make_pair( "harpSalzedoPlayUpperEnd", 0xE68A )); // glyphnumber: 1144, Play at upper end of strings (Salzedo) - outMap.emplace(std::make_pair( "harpSalzedoSlideWithSuppleness", 0xE684 )); // glyphnumber: 1145, Slide with suppleness (Salzedo) - outMap.emplace(std::make_pair( "harpSalzedoSnareDrum", 0xE69D )); // glyphnumber: 1146, Snare drum effect (Salzedo) - outMap.emplace(std::make_pair( "harpSalzedoTamTamSounds", 0xE689 )); // glyphnumber: 1147, Tam-tam sounds (Salzedo) - outMap.emplace(std::make_pair( "harpSalzedoThunderEffect", 0xE686 )); // glyphnumber: 1148, Thunder effect (Salzedo) - outMap.emplace(std::make_pair( "harpSalzedoTimpanicSounds", 0xE68B )); // glyphnumber: 1149, Timpanic sounds (Salzedo) - outMap.emplace(std::make_pair( "harpSalzedoWhistlingSounds", 0xE687 )); // glyphnumber: 1150, Whistling sounds (Salzedo) - outMap.emplace(std::make_pair( "harpStringNoiseStem", 0xE694 )); // glyphnumber: 1151, Combining string noise for stem - outMap.emplace(std::make_pair( "harpTuningKey", 0xE690 )); // glyphnumber: 1152, Tuning key pictogram - outMap.emplace(std::make_pair( "harpTuningKeyGlissando", 0xE693 )); // glyphnumber: 1153, Retune strings for glissando - outMap.emplace(std::make_pair( "harpTuningKeyHandle", 0xE691 )); // glyphnumber: 1154, Use handle of tuning key pictogram - outMap.emplace(std::make_pair( "harpTuningKeyShank", 0xE692 )); // glyphnumber: 1155, Use shank of tuning key pictogram - outMap.emplace(std::make_pair( "keyboardBebung2DotsAbove", 0xE668 )); // glyphnumber: 1156, Clavichord bebung, 2 finger movements (above) - outMap.emplace(std::make_pair( "keyboardBebung2DotsBelow", 0xE669 )); // glyphnumber: 1157, Clavichord bebung, 2 finger movements (below) - outMap.emplace(std::make_pair( "keyboardBebung3DotsAbove", 0xE66A )); // glyphnumber: 1158, Clavichord bebung, 3 finger movements (above) - outMap.emplace(std::make_pair( "keyboardBebung3DotsBelow", 0xE66B )); // glyphnumber: 1159, Clavichord bebung, 3 finger movements (below) - outMap.emplace(std::make_pair( "keyboardBebung4DotsAbove", 0xE66C )); // glyphnumber: 1160, Clavichord bebung, 4 finger movements (above) - outMap.emplace(std::make_pair( "keyboardBebung4DotsBelow", 0xE66D )); // glyphnumber: 1161, Clavichord bebung, 4 finger movements (below) - outMap.emplace(std::make_pair( "keyboardLeftPedalPictogram", 0xE65E )); // glyphnumber: 1162, Left pedal pictogram - outMap.emplace(std::make_pair( "keyboardMiddlePedalPictogram", 0xE65F )); // glyphnumber: 1163, Middle pedal pictogram - outMap.emplace(std::make_pair( "keyboardPedalD", 0xE653 )); // glyphnumber: 1164, Pedal d - outMap.emplace(std::make_pair( "keyboardPedalDot", 0xE654 )); // glyphnumber: 1165, Pedal dot - outMap.emplace(std::make_pair( "keyboardPedalE", 0xE652 )); // glyphnumber: 1166, Pedal e - outMap.emplace(std::make_pair( "keyboardPedalHalf", 0xE656 )); // glyphnumber: 1167, Half-pedal mark - outMap.emplace(std::make_pair( "keyboardPedalHalf2", 0xE65B )); // glyphnumber: 1168, Half pedal mark 1 - outMap.emplace(std::make_pair( "keyboardPedalHalf3", 0xE65C )); // glyphnumber: 1169, Half pedal mark 2 - outMap.emplace(std::make_pair( "keyboardPedalHeel1", 0xE661 )); // glyphnumber: 1170, Pedal heel 1 - outMap.emplace(std::make_pair( "keyboardPedalHeel2", 0xE662 )); // glyphnumber: 1171, Pedal heel 2 - outMap.emplace(std::make_pair( "keyboardPedalHeel3", 0xE663 )); // glyphnumber: 1172, Pedal heel 3 (Davis) - outMap.emplace(std::make_pair( "keyboardPedalHeelToToe", 0xE674 )); // glyphnumber: 1173, Pedal heel to toe - outMap.emplace(std::make_pair( "keyboardPedalHeelToe", 0xE666 )); // glyphnumber: 1174, Pedal heel or toe - outMap.emplace(std::make_pair( "keyboardPedalHookEnd", 0xE673 )); // glyphnumber: 1175, Pedal hook end - outMap.emplace(std::make_pair( "keyboardPedalHookStart", 0xE672 )); // glyphnumber: 1176, Pedal hook start - outMap.emplace(std::make_pair( "keyboardPedalHyphen", 0xE658 )); // glyphnumber: 1177, Pedal hyphen - outMap.emplace(std::make_pair( "keyboardPedalP", 0xE651 )); // glyphnumber: 1178, Pedal P - outMap.emplace(std::make_pair( "keyboardPedalPed", 0xE650 )); // glyphnumber: 1179, Pedal mark - outMap.emplace(std::make_pair( "keyboardPedalS", 0xE65A )); // glyphnumber: 1180, Pedal S - outMap.emplace(std::make_pair( "keyboardPedalSost", 0xE659 )); // glyphnumber: 1181, Sostenuto pedal mark - outMap.emplace(std::make_pair( "keyboardPedalToe1", 0xE664 )); // glyphnumber: 1182, Pedal toe 1 - outMap.emplace(std::make_pair( "keyboardPedalToe2", 0xE665 )); // glyphnumber: 1183, Pedal toe 2 - outMap.emplace(std::make_pair( "keyboardPedalToeToHeel", 0xE675 )); // glyphnumber: 1184, Pedal toe to heel - outMap.emplace(std::make_pair( "keyboardPedalUp", 0xE655 )); // glyphnumber: 1185, Pedal up mark - outMap.emplace(std::make_pair( "keyboardPedalUpNotch", 0xE657 )); // glyphnumber: 1186, Pedal up notch - outMap.emplace(std::make_pair( "keyboardPedalUpSpecial", 0xE65D )); // glyphnumber: 1187, Pedal up special - outMap.emplace(std::make_pair( "keyboardPlayWithLH", 0xE670 )); // glyphnumber: 1188, Play with left hand - outMap.emplace(std::make_pair( "keyboardPlayWithLHEnd", 0xE671 )); // glyphnumber: 1189, Play with left hand (end) - outMap.emplace(std::make_pair( "keyboardPlayWithRH", 0xE66E )); // glyphnumber: 1190, Play with right hand - outMap.emplace(std::make_pair( "keyboardPlayWithRHEnd", 0xE66F )); // glyphnumber: 1191, Play with right hand (end) - outMap.emplace(std::make_pair( "keyboardPluckInside", 0xE667 )); // glyphnumber: 1192, Pluck strings inside piano (Maderna) - outMap.emplace(std::make_pair( "keyboardRightPedalPictogram", 0xE660 )); // glyphnumber: 1193, Right pedal pictogram - outMap.emplace(std::make_pair( "kievanAccidentalFlat", 0xEC3E )); // glyphnumber: 1194, Kievan flat - outMap.emplace(std::make_pair( "kievanAccidentalSharp", 0xEC3D )); // glyphnumber: 1195, Kievan sharp - outMap.emplace(std::make_pair( "kievanAugmentationDot", 0xEC3C )); // glyphnumber: 1196, Kievan augmentation dot - outMap.emplace(std::make_pair( "kievanCClef", 0xEC30 )); // glyphnumber: 1197, Kievan C clef (tse-fa-ut) - outMap.emplace(std::make_pair( "kievanEndingSymbol", 0xEC31 )); // glyphnumber: 1198, Kievan ending symbol - outMap.emplace(std::make_pair( "kievanNote8thStemDown", 0xEC3A )); // glyphnumber: 1199, Kievan eighth note, stem down - outMap.emplace(std::make_pair( "kievanNote8thStemUp", 0xEC39 )); // glyphnumber: 1200, Kievan eighth note, stem up - outMap.emplace(std::make_pair( "kievanNoteBeam", 0xEC3B )); // glyphnumber: 1201, Kievan beam - outMap.emplace(std::make_pair( "kievanNoteHalfStaffLine", 0xEC35 )); // glyphnumber: 1202, Kievan half note (on staff line) - outMap.emplace(std::make_pair( "kievanNoteHalfStaffSpace", 0xEC36 )); // glyphnumber: 1203, Kievan half note (in staff space) - outMap.emplace(std::make_pair( "kievanNoteQuarterStemDown", 0xEC38 )); // glyphnumber: 1204, Kievan quarter note, stem down - outMap.emplace(std::make_pair( "kievanNoteQuarterStemUp", 0xEC37 )); // glyphnumber: 1205, Kievan quarter note, stem up - outMap.emplace(std::make_pair( "kievanNoteReciting", 0xEC32 )); // glyphnumber: 1206, Kievan reciting note - outMap.emplace(std::make_pair( "kievanNoteWhole", 0xEC33 )); // glyphnumber: 1207, Kievan whole note - outMap.emplace(std::make_pair( "kievanNoteWholeFinal", 0xEC34 )); // glyphnumber: 1208, Kievan final whole note - outMap.emplace(std::make_pair( "kodalyHandDo", 0xEC40 )); // glyphnumber: 1209, Do hand sign - outMap.emplace(std::make_pair( "kodalyHandFa", 0xEC43 )); // glyphnumber: 1210, Fa hand sign - outMap.emplace(std::make_pair( "kodalyHandLa", 0xEC45 )); // glyphnumber: 1211, La hand sign - outMap.emplace(std::make_pair( "kodalyHandMi", 0xEC42 )); // glyphnumber: 1212, Mi hand sign - outMap.emplace(std::make_pair( "kodalyHandRe", 0xEC41 )); // glyphnumber: 1213, Re hand sign - outMap.emplace(std::make_pair( "kodalyHandSo", 0xEC44 )); // glyphnumber: 1214, So hand sign - outMap.emplace(std::make_pair( "kodalyHandTi", 0xEC46 )); // glyphnumber: 1215, Ti hand sign - outMap.emplace(std::make_pair( "leftRepeatSmall", 0xE04C )); // glyphnumber: 1216, Left repeat sign within bar - outMap.emplace(std::make_pair( "legerLine", 0xE022 )); // glyphnumber: 1217, Leger line - outMap.emplace(std::make_pair( "legerLineNarrow", 0xE024 )); // glyphnumber: 1218, Leger line (narrow) - outMap.emplace(std::make_pair( "legerLineWide", 0xE023 )); // glyphnumber: 1219, Leger line (wide) - outMap.emplace(std::make_pair( "luteBarlineEndRepeat", 0xEBA4 )); // glyphnumber: 1220, Lute tablature end repeat barline - outMap.emplace(std::make_pair( "luteBarlineFinal", 0xEBA5 )); // glyphnumber: 1221, Lute tablature final barline - outMap.emplace(std::make_pair( "luteBarlineStartRepeat", 0xEBA3 )); // glyphnumber: 1222, Lute tablature start repeat barline - outMap.emplace(std::make_pair( "luteDuration16th", 0xEBAB )); // glyphnumber: 1223, 16th note (semiquaver) duration sign - outMap.emplace(std::make_pair( "luteDuration32nd", 0xEBAC )); // glyphnumber: 1224, 32nd note (demisemiquaver) duration sign - outMap.emplace(std::make_pair( "luteDuration8th", 0xEBAA )); // glyphnumber: 1225, Eighth note (quaver) duration sign - outMap.emplace(std::make_pair( "luteDurationDoubleWhole", 0xEBA6 )); // glyphnumber: 1226, Double whole note (breve) duration sign - outMap.emplace(std::make_pair( "luteDurationHalf", 0xEBA8 )); // glyphnumber: 1227, Half note (minim) duration sign - outMap.emplace(std::make_pair( "luteDurationQuarter", 0xEBA9 )); // glyphnumber: 1228, Quarter note (crotchet) duration sign - outMap.emplace(std::make_pair( "luteDurationWhole", 0xEBA7 )); // glyphnumber: 1229, Whole note (semibreve) duration sign - outMap.emplace(std::make_pair( "luteFingeringRHFirst", 0xEBAE )); // glyphnumber: 1230, Right-hand fingering, first finger - outMap.emplace(std::make_pair( "luteFingeringRHSecond", 0xEBAF )); // glyphnumber: 1231, Right-hand fingering, second finger - outMap.emplace(std::make_pair( "luteFingeringRHThird", 0xEBB0 )); // glyphnumber: 1232, Right-hand fingering, third finger - outMap.emplace(std::make_pair( "luteFingeringRHThumb", 0xEBAD )); // glyphnumber: 1233, Right-hand fingering, thumb - outMap.emplace(std::make_pair( "luteFrench10thCourse", 0xEBD0 )); // glyphnumber: 1234, 10th course (diapason) - outMap.emplace(std::make_pair( "luteFrench7thCourse", 0xEBCD )); // glyphnumber: 1235, Seventh course (diapason) - outMap.emplace(std::make_pair( "luteFrench8thCourse", 0xEBCE )); // glyphnumber: 1236, Eighth course (diapason) - outMap.emplace(std::make_pair( "luteFrench9thCourse", 0xEBCF )); // glyphnumber: 1237, Ninth course (diapason) - outMap.emplace(std::make_pair( "luteFrenchAppoggiaturaAbove", 0xEBD5 )); // glyphnumber: 1238, Appoggiatura from above - outMap.emplace(std::make_pair( "luteFrenchAppoggiaturaBelow", 0xEBD4 )); // glyphnumber: 1239, Appoggiatura from below - outMap.emplace(std::make_pair( "luteFrenchFretA", 0xEBC0 )); // glyphnumber: 1240, Open string (a) - outMap.emplace(std::make_pair( "luteFrenchFretB", 0xEBC1 )); // glyphnumber: 1241, First fret (b) - outMap.emplace(std::make_pair( "luteFrenchFretC", 0xEBC2 )); // glyphnumber: 1242, Second fret (c) - outMap.emplace(std::make_pair( "luteFrenchFretD", 0xEBC3 )); // glyphnumber: 1243, Third fret (d) - outMap.emplace(std::make_pair( "luteFrenchFretE", 0xEBC4 )); // glyphnumber: 1244, Fourth fret (e) - outMap.emplace(std::make_pair( "luteFrenchFretF", 0xEBC5 )); // glyphnumber: 1245, Fifth fret (f) - outMap.emplace(std::make_pair( "luteFrenchFretG", 0xEBC6 )); // glyphnumber: 1246, Sixth fret (g) - outMap.emplace(std::make_pair( "luteFrenchFretH", 0xEBC7 )); // glyphnumber: 1247, Seventh fret (h) - outMap.emplace(std::make_pair( "luteFrenchFretI", 0xEBC8 )); // glyphnumber: 1248, Eighth fret (i) - outMap.emplace(std::make_pair( "luteFrenchFretK", 0xEBC9 )); // glyphnumber: 1249, Ninth fret (k) - outMap.emplace(std::make_pair( "luteFrenchFretL", 0xEBCA )); // glyphnumber: 1250, 10th fret (l) - outMap.emplace(std::make_pair( "luteFrenchFretM", 0xEBCB )); // glyphnumber: 1251, 11th fret (m) - outMap.emplace(std::make_pair( "luteFrenchFretN", 0xEBCC )); // glyphnumber: 1252, 12th fret (n) - outMap.emplace(std::make_pair( "luteFrenchMordentInverted", 0xEBD3 )); // glyphnumber: 1253, Inverted mordent - outMap.emplace(std::make_pair( "luteFrenchMordentLower", 0xEBD2 )); // glyphnumber: 1254, Mordent with lower auxiliary - outMap.emplace(std::make_pair( "luteFrenchMordentUpper", 0xEBD1 )); // glyphnumber: 1255, Mordent with upper auxiliary - outMap.emplace(std::make_pair( "luteGermanALower", 0xEC00 )); // glyphnumber: 1256, 5th course, 1st fret (a) - outMap.emplace(std::make_pair( "luteGermanAUpper", 0xEC17 )); // glyphnumber: 1257, 6th course, 1st fret (A) - outMap.emplace(std::make_pair( "luteGermanBLower", 0xEC01 )); // glyphnumber: 1258, 4th course, 1st fret (b) - outMap.emplace(std::make_pair( "luteGermanBUpper", 0xEC18 )); // glyphnumber: 1259, 6th course, 2nd fret (B) - outMap.emplace(std::make_pair( "luteGermanCLower", 0xEC02 )); // glyphnumber: 1260, 3rd course, 1st fret (c) - outMap.emplace(std::make_pair( "luteGermanCUpper", 0xEC19 )); // glyphnumber: 1261, 6th course, 3rd fret (C) - outMap.emplace(std::make_pair( "luteGermanDLower", 0xEC03 )); // glyphnumber: 1262, 2nd course, 1st fret (d) - outMap.emplace(std::make_pair( "luteGermanDUpper", 0xEC1A )); // glyphnumber: 1263, 6th course, 4th fret (D) - outMap.emplace(std::make_pair( "luteGermanELower", 0xEC04 )); // glyphnumber: 1264, 1st course, 1st fret (e) - outMap.emplace(std::make_pair( "luteGermanEUpper", 0xEC1B )); // glyphnumber: 1265, 6th course, 5th fret (E) - outMap.emplace(std::make_pair( "luteGermanFLower", 0xEC05 )); // glyphnumber: 1266, 5th course, 2nd fret (f) - outMap.emplace(std::make_pair( "luteGermanFUpper", 0xEC1C )); // glyphnumber: 1267, 6th course, 6th fret (F) - outMap.emplace(std::make_pair( "luteGermanGLower", 0xEC06 )); // glyphnumber: 1268, 4th course, 2nd fret (g) - outMap.emplace(std::make_pair( "luteGermanGUpper", 0xEC1D )); // glyphnumber: 1269, 6th course, 7th fret (G) - outMap.emplace(std::make_pair( "luteGermanHLower", 0xEC07 )); // glyphnumber: 1270, 3rd course, 2nd fret (h) - outMap.emplace(std::make_pair( "luteGermanHUpper", 0xEC1E )); // glyphnumber: 1271, 6th course, 8th fret (H) - outMap.emplace(std::make_pair( "luteGermanILower", 0xEC08 )); // glyphnumber: 1272, 2nd course, 2nd fret (i) - outMap.emplace(std::make_pair( "luteGermanIUpper", 0xEC1F )); // glyphnumber: 1273, 6th course, 9th fret (I) - outMap.emplace(std::make_pair( "luteGermanKLower", 0xEC09 )); // glyphnumber: 1274, 1st course, 2nd fret (k) - outMap.emplace(std::make_pair( "luteGermanKUpper", 0xEC20 )); // glyphnumber: 1275, 6th course, 10th fret (K) - outMap.emplace(std::make_pair( "luteGermanLLower", 0xEC0A )); // glyphnumber: 1276, 5th course, 3rd fret (l) - outMap.emplace(std::make_pair( "luteGermanLUpper", 0xEC21 )); // glyphnumber: 1277, 6th course, 11th fret (L) - outMap.emplace(std::make_pair( "luteGermanMLower", 0xEC0B )); // glyphnumber: 1278, 4th course, 3rd fret (m) - outMap.emplace(std::make_pair( "luteGermanMUpper", 0xEC22 )); // glyphnumber: 1279, 6th course, 12th fret (M) - outMap.emplace(std::make_pair( "luteGermanNLower", 0xEC0C )); // glyphnumber: 1280, 3rd course, 3rd fret (n) - outMap.emplace(std::make_pair( "luteGermanNUpper", 0xEC23 )); // glyphnumber: 1281, 6th course, 13th fret (N) - outMap.emplace(std::make_pair( "luteGermanOLower", 0xEC0D )); // glyphnumber: 1282, 2nd course, 3rd fret (o) - outMap.emplace(std::make_pair( "luteGermanPLower", 0xEC0E )); // glyphnumber: 1283, 1st course, 3rd fret (p) - outMap.emplace(std::make_pair( "luteGermanQLower", 0xEC0F )); // glyphnumber: 1284, 5th course, 4th fret (q) - outMap.emplace(std::make_pair( "luteGermanRLower", 0xEC10 )); // glyphnumber: 1285, 4th course, 4th fret (r) - outMap.emplace(std::make_pair( "luteGermanSLower", 0xEC11 )); // glyphnumber: 1286, 3rd course, 4th fret (s) - outMap.emplace(std::make_pair( "luteGermanTLower", 0xEC12 )); // glyphnumber: 1287, 2nd course, 4th fret (t) - outMap.emplace(std::make_pair( "luteGermanVLower", 0xEC13 )); // glyphnumber: 1288, 1st course, 4th fret (v) - outMap.emplace(std::make_pair( "luteGermanXLower", 0xEC14 )); // glyphnumber: 1289, 5th course, 5th fret (x) - outMap.emplace(std::make_pair( "luteGermanYLower", 0xEC15 )); // glyphnumber: 1290, 4th course, 5th fret (y) - outMap.emplace(std::make_pair( "luteGermanZLower", 0xEC16 )); // glyphnumber: 1291, 3rd course, 5th fret (z) - outMap.emplace(std::make_pair( "luteItalianClefCSolFaUt", 0xEBF1 )); // glyphnumber: 1292, C sol fa ut clef - outMap.emplace(std::make_pair( "luteItalianClefFFaUt", 0xEBF0 )); // glyphnumber: 1293, F fa ut clef - outMap.emplace(std::make_pair( "luteItalianFret0", 0xEBE0 )); // glyphnumber: 1294, Open string (0) - outMap.emplace(std::make_pair( "luteItalianFret1", 0xEBE1 )); // glyphnumber: 1295, First fret (1) - outMap.emplace(std::make_pair( "luteItalianFret2", 0xEBE2 )); // glyphnumber: 1296, Second fret (2) - outMap.emplace(std::make_pair( "luteItalianFret3", 0xEBE3 )); // glyphnumber: 1297, Third fret (3) - outMap.emplace(std::make_pair( "luteItalianFret4", 0xEBE4 )); // glyphnumber: 1298, Fourth fret (4) - outMap.emplace(std::make_pair( "luteItalianFret5", 0xEBE5 )); // glyphnumber: 1299, Fifth fret (5) - outMap.emplace(std::make_pair( "luteItalianFret6", 0xEBE6 )); // glyphnumber: 1300, Sixth fret (6) - outMap.emplace(std::make_pair( "luteItalianFret7", 0xEBE7 )); // glyphnumber: 1301, Seventh fret (7) - outMap.emplace(std::make_pair( "luteItalianFret8", 0xEBE8 )); // glyphnumber: 1302, Eighth fret (8) - outMap.emplace(std::make_pair( "luteItalianFret9", 0xEBE9 )); // glyphnumber: 1303, Ninth fret (9) - outMap.emplace(std::make_pair( "luteItalianHoldFinger", 0xEBF4 )); // glyphnumber: 1304, Hold finger in place - outMap.emplace(std::make_pair( "luteItalianHoldNote", 0xEBF3 )); // glyphnumber: 1305, Hold note - outMap.emplace(std::make_pair( "luteItalianReleaseFinger", 0xEBF5 )); // glyphnumber: 1306, Release finger - outMap.emplace(std::make_pair( "luteItalianTempoFast", 0xEBEA )); // glyphnumber: 1307, Fast tempo indication (de Mudarra) - outMap.emplace(std::make_pair( "luteItalianTempoNeitherFastNorSlow", 0xEBEC )); // glyphnumber: 1308, Neither fast nor slow tempo indication (de Mudarra) - outMap.emplace(std::make_pair( "luteItalianTempoSlow", 0xEBED )); // glyphnumber: 1309, Slow tempo indication (de Mudarra) - outMap.emplace(std::make_pair( "luteItalianTempoSomewhatFast", 0xEBEB )); // glyphnumber: 1310, Somewhat fast tempo indication (de Narvaez) - outMap.emplace(std::make_pair( "luteItalianTempoVerySlow", 0xEBEE )); // glyphnumber: 1311, Very slow indication (de Narvaez) - outMap.emplace(std::make_pair( "luteItalianTimeTriple", 0xEBEF )); // glyphnumber: 1312, Triple time indication - outMap.emplace(std::make_pair( "luteItalianTremolo", 0xEBF2 )); // glyphnumber: 1313, Single-finger tremolo or mordent - outMap.emplace(std::make_pair( "luteItalianVibrato", 0xEBF6 )); // glyphnumber: 1314, Vibrato (verre cassé) - outMap.emplace(std::make_pair( "luteStaff6Lines", 0xEBA0 )); // glyphnumber: 1315, Lute tablature staff, 6 courses - outMap.emplace(std::make_pair( "luteStaff6LinesNarrow", 0xEBA2 )); // glyphnumber: 1316, Lute tablature staff, 6 courses (narrow) - outMap.emplace(std::make_pair( "luteStaff6LinesWide", 0xEBA1 )); // glyphnumber: 1317, Lute tablature staff, 6 courses (wide) - outMap.emplace(std::make_pair( "lyricsElision", 0xE551 )); // glyphnumber: 1318, Elision - outMap.emplace(std::make_pair( "lyricsElisionNarrow", 0xE550 )); // glyphnumber: 1319, Narrow elision - outMap.emplace(std::make_pair( "lyricsElisionWide", 0xE552 )); // glyphnumber: 1320, Wide elision - outMap.emplace(std::make_pair( "lyricsHyphenBaseline", 0xE553 )); // glyphnumber: 1321, Baseline hyphen - outMap.emplace(std::make_pair( "lyricsHyphenBaselineNonBreaking", 0xE554 )); // glyphnumber: 1322, Non-breaking baseline hyphen - outMap.emplace(std::make_pair( "medRenFlatHardB", 0xE9E1 )); // glyphnumber: 1323, Flat, hard b (mi) - outMap.emplace(std::make_pair( "medRenFlatSoftB", 0xE9E0 )); // glyphnumber: 1324, Flat, soft b (fa) - outMap.emplace(std::make_pair( "medRenFlatWithDot", 0xE9E4 )); // glyphnumber: 1325, Flat with dot - outMap.emplace(std::make_pair( "medRenGClefCMN", 0xEA24 )); // glyphnumber: 1326, G clef (Corpus Monodicum) - outMap.emplace(std::make_pair( "medRenLiquescenceCMN", 0xEA22 )); // glyphnumber: 1327, Liquescence - outMap.emplace(std::make_pair( "medRenLiquescentAscCMN", 0xEA26 )); // glyphnumber: 1328, Liquescent ascending (Corpus Monodicum) - outMap.emplace(std::make_pair( "medRenLiquescentDescCMN", 0xEA27 )); // glyphnumber: 1329, Liquescent descending (Corpus Monodicum) - outMap.emplace(std::make_pair( "medRenNatural", 0xE9E2 )); // glyphnumber: 1330, Natural - outMap.emplace(std::make_pair( "medRenNaturalWithCross", 0xE9E5 )); // glyphnumber: 1331, Natural with interrupted cross - outMap.emplace(std::make_pair( "medRenOriscusCMN", 0xEA2A )); // glyphnumber: 1332, Oriscus (Corpus Monodicum) - outMap.emplace(std::make_pair( "medRenPlicaCMN", 0xEA23 )); // glyphnumber: 1333, Plica - outMap.emplace(std::make_pair( "medRenPunctumCMN", 0xEA25 )); // glyphnumber: 1334, Punctum (Corpus Monodicum) - outMap.emplace(std::make_pair( "medRenQuilismaCMN", 0xEA28 )); // glyphnumber: 1335, Quilisma (Corpus Monodicum) - outMap.emplace(std::make_pair( "medRenSharpCroix", 0xE9E3 )); // glyphnumber: 1336, Croix - outMap.emplace(std::make_pair( "medRenStrophicusCMN", 0xEA29 )); // glyphnumber: 1337, Strophicus (Corpus Monodicum) - outMap.emplace(std::make_pair( "mensuralAlterationSign", 0xEA10 )); // glyphnumber: 1338, Alteration sign - outMap.emplace(std::make_pair( "mensuralBlackBrevis", 0xE952 )); // glyphnumber: 1339, Black mensural brevis - outMap.emplace(std::make_pair( "mensuralBlackBrevisVoid", 0xE956 )); // glyphnumber: 1340, Black mensural void brevis - outMap.emplace(std::make_pair( "mensuralBlackDragma", 0xE95A )); // glyphnumber: 1341, Black mensural dragma - outMap.emplace(std::make_pair( "mensuralBlackLonga", 0xE951 )); // glyphnumber: 1342, Black mensural longa - outMap.emplace(std::make_pair( "mensuralBlackMaxima", 0xE950 )); // glyphnumber: 1343, Black mensural maxima - outMap.emplace(std::make_pair( "mensuralBlackMinima", 0xE954 )); // glyphnumber: 1344, Black mensural minima - outMap.emplace(std::make_pair( "mensuralBlackMinimaVoid", 0xE958 )); // glyphnumber: 1345, Black mensural void minima - outMap.emplace(std::make_pair( "mensuralBlackSemibrevis", 0xE953 )); // glyphnumber: 1346, Black mensural semibrevis - outMap.emplace(std::make_pair( "mensuralBlackSemibrevisCaudata", 0xE959 )); // glyphnumber: 1347, Black mensural semibrevis caudata - outMap.emplace(std::make_pair( "mensuralBlackSemibrevisOblique", 0xE95B )); // glyphnumber: 1348, Black mensural oblique semibrevis - outMap.emplace(std::make_pair( "mensuralBlackSemibrevisVoid", 0xE957 )); // glyphnumber: 1349, Black mensural void semibrevis - outMap.emplace(std::make_pair( "mensuralBlackSemiminima", 0xE955 )); // glyphnumber: 1350, Black mensural semiminima - outMap.emplace(std::make_pair( "mensuralCclef", 0xE905 )); // glyphnumber: 1351, Mensural C clef - outMap.emplace(std::make_pair( "mensuralCclefPetrucciPosHigh", 0xE90A )); // glyphnumber: 1352, Petrucci C clef, high position - outMap.emplace(std::make_pair( "mensuralCclefPetrucciPosHighest", 0xE90B )); // glyphnumber: 1353, Petrucci C clef, highest position - outMap.emplace(std::make_pair( "mensuralCclefPetrucciPosLow", 0xE908 )); // glyphnumber: 1354, Petrucci C clef, low position - outMap.emplace(std::make_pair( "mensuralCclefPetrucciPosLowest", 0xE907 )); // glyphnumber: 1355, Petrucci C clef, lowest position - outMap.emplace(std::make_pair( "mensuralCclefPetrucciPosMiddle", 0xE909 )); // glyphnumber: 1356, Petrucci C clef, middle position - outMap.emplace(std::make_pair( "mensuralColorationEndRound", 0xEA0F )); // glyphnumber: 1357, Coloration end, round - outMap.emplace(std::make_pair( "mensuralColorationEndSquare", 0xEA0D )); // glyphnumber: 1358, Coloration end, square - outMap.emplace(std::make_pair( "mensuralColorationStartRound", 0xEA0E )); // glyphnumber: 1359, Coloration start, round - outMap.emplace(std::make_pair( "mensuralColorationStartSquare", 0xEA0C )); // glyphnumber: 1360, Coloration start, square - outMap.emplace(std::make_pair( "mensuralCombStemDiagonal", 0xE940 )); // glyphnumber: 1361, Combining stem diagonal - outMap.emplace(std::make_pair( "mensuralCombStemDown", 0xE93F )); // glyphnumber: 1362, Combining stem down - outMap.emplace(std::make_pair( "mensuralCombStemDownFlagExtended", 0xE948 )); // glyphnumber: 1363, Combining stem with extended flag down - outMap.emplace(std::make_pair( "mensuralCombStemDownFlagFlared", 0xE946 )); // glyphnumber: 1364, Combining stem with flared flag down - outMap.emplace(std::make_pair( "mensuralCombStemDownFlagFusa", 0xE94C )); // glyphnumber: 1365, Combining stem with fusa flag down - outMap.emplace(std::make_pair( "mensuralCombStemDownFlagLeft", 0xE944 )); // glyphnumber: 1366, Combining stem with flag left down - outMap.emplace(std::make_pair( "mensuralCombStemDownFlagRight", 0xE942 )); // glyphnumber: 1367, Combining stem with flag right down - outMap.emplace(std::make_pair( "mensuralCombStemDownFlagSemiminima", 0xE94A )); // glyphnumber: 1368, Combining stem with semiminima flag down - outMap.emplace(std::make_pair( "mensuralCombStemUp", 0xE93E )); // glyphnumber: 1369, Combining stem up - outMap.emplace(std::make_pair( "mensuralCombStemUpFlagExtended", 0xE947 )); // glyphnumber: 1370, Combining stem with extended flag up - outMap.emplace(std::make_pair( "mensuralCombStemUpFlagFlared", 0xE945 )); // glyphnumber: 1371, Combining stem with flared flag up - outMap.emplace(std::make_pair( "mensuralCombStemUpFlagFusa", 0xE94B )); // glyphnumber: 1372, Combining stem with fusa flag up - outMap.emplace(std::make_pair( "mensuralCombStemUpFlagLeft", 0xE943 )); // glyphnumber: 1373, Combining stem with flag left up - outMap.emplace(std::make_pair( "mensuralCombStemUpFlagRight", 0xE941 )); // glyphnumber: 1374, Combining stem with flag right up - outMap.emplace(std::make_pair( "mensuralCombStemUpFlagSemiminima", 0xE949 )); // glyphnumber: 1375, Combining stem with semiminima flag up - outMap.emplace(std::make_pair( "mensuralCustosCheckmark", 0xEA0A )); // glyphnumber: 1376, Checkmark custos - outMap.emplace(std::make_pair( "mensuralCustosDown", 0xEA03 )); // glyphnumber: 1377, Mensural custos down - outMap.emplace(std::make_pair( "mensuralCustosTurn", 0xEA0B )); // glyphnumber: 1378, Turn-like custos - outMap.emplace(std::make_pair( "mensuralCustosUp", 0xEA02 )); // glyphnumber: 1379, Mensural custos up - outMap.emplace(std::make_pair( "mensuralFclef", 0xE903 )); // glyphnumber: 1380, Mensural F clef - outMap.emplace(std::make_pair( "mensuralFclefPetrucci", 0xE904 )); // glyphnumber: 1381, Petrucci F clef - outMap.emplace(std::make_pair( "mensuralGclef", 0xE900 )); // glyphnumber: 1382, Mensural G clef - outMap.emplace(std::make_pair( "mensuralGclefPetrucci", 0xE901 )); // glyphnumber: 1383, Petrucci G clef - outMap.emplace(std::make_pair( "mensuralModusImperfectumVert", 0xE92D )); // glyphnumber: 1384, Modus imperfectum, vertical - outMap.emplace(std::make_pair( "mensuralModusPerfectumVert", 0xE92C )); // glyphnumber: 1385, Modus perfectum, vertical - outMap.emplace(std::make_pair( "mensuralNoteheadLongaBlack", 0xE934 )); // glyphnumber: 1386, Longa/brevis notehead, black - outMap.emplace(std::make_pair( "mensuralNoteheadLongaBlackVoid", 0xE936 )); // glyphnumber: 1387, Longa/brevis notehead, black and void - outMap.emplace(std::make_pair( "mensuralNoteheadLongaVoid", 0xE935 )); // glyphnumber: 1388, Longa/brevis notehead, void - outMap.emplace(std::make_pair( "mensuralNoteheadLongaWhite", 0xE937 )); // glyphnumber: 1389, Longa/brevis notehead, white - outMap.emplace(std::make_pair( "mensuralNoteheadMaximaBlack", 0xE930 )); // glyphnumber: 1390, Maxima notehead, black - outMap.emplace(std::make_pair( "mensuralNoteheadMaximaBlackVoid", 0xE932 )); // glyphnumber: 1391, Maxima notehead, black and void - outMap.emplace(std::make_pair( "mensuralNoteheadMaximaVoid", 0xE931 )); // glyphnumber: 1392, Maxima notehead, void - outMap.emplace(std::make_pair( "mensuralNoteheadMaximaWhite", 0xE933 )); // glyphnumber: 1393, Maxima notehead, white - outMap.emplace(std::make_pair( "mensuralNoteheadMinimaWhite", 0xE93C )); // glyphnumber: 1394, Minima notehead, white - outMap.emplace(std::make_pair( "mensuralNoteheadSemibrevisBlack", 0xE938 )); // glyphnumber: 1395, Semibrevis notehead, black - outMap.emplace(std::make_pair( "mensuralNoteheadSemibrevisBlackVoid", 0xE93A )); // glyphnumber: 1396, Semibrevis notehead, black and void - outMap.emplace(std::make_pair( "mensuralNoteheadSemibrevisBlackVoidTurned", 0xE93B )); // glyphnumber: 1397, Semibrevis notehead, black and void (turned) - outMap.emplace(std::make_pair( "mensuralNoteheadSemibrevisVoid", 0xE939 )); // glyphnumber: 1398, Semibrevis notehead, void - outMap.emplace(std::make_pair( "mensuralNoteheadSemiminimaWhite", 0xE93D )); // glyphnumber: 1399, Semiminima/fusa notehead, white - outMap.emplace(std::make_pair( "mensuralObliqueAsc2ndBlack", 0xE970 )); // glyphnumber: 1400, Oblique form, ascending 2nd, black - outMap.emplace(std::make_pair( "mensuralObliqueAsc2ndBlackVoid", 0xE972 )); // glyphnumber: 1401, Oblique form, ascending 2nd, black and void - outMap.emplace(std::make_pair( "mensuralObliqueAsc2ndVoid", 0xE971 )); // glyphnumber: 1402, Oblique form, ascending 2nd, void - outMap.emplace(std::make_pair( "mensuralObliqueAsc2ndWhite", 0xE973 )); // glyphnumber: 1403, Oblique form, ascending 2nd, white - outMap.emplace(std::make_pair( "mensuralObliqueAsc3rdBlack", 0xE974 )); // glyphnumber: 1404, Oblique form, ascending 3rd, black - outMap.emplace(std::make_pair( "mensuralObliqueAsc3rdBlackVoid", 0xE976 )); // glyphnumber: 1405, Oblique form, ascending 3rd, black and void - outMap.emplace(std::make_pair( "mensuralObliqueAsc3rdVoid", 0xE975 )); // glyphnumber: 1406, Oblique form, ascending 3rd, void - outMap.emplace(std::make_pair( "mensuralObliqueAsc3rdWhite", 0xE977 )); // glyphnumber: 1407, Oblique form, ascending 3rd, white - outMap.emplace(std::make_pair( "mensuralObliqueAsc4thBlack", 0xE978 )); // glyphnumber: 1408, Oblique form, ascending 4th, black - outMap.emplace(std::make_pair( "mensuralObliqueAsc4thBlackVoid", 0xE97A )); // glyphnumber: 1409, Oblique form, ascending 4th, black and void - outMap.emplace(std::make_pair( "mensuralObliqueAsc4thVoid", 0xE979 )); // glyphnumber: 1410, Oblique form, ascending 4th, void - outMap.emplace(std::make_pair( "mensuralObliqueAsc4thWhite", 0xE97B )); // glyphnumber: 1411, Oblique form, ascending 4th, white - outMap.emplace(std::make_pair( "mensuralObliqueAsc5thBlack", 0xE97C )); // glyphnumber: 1412, Oblique form, ascending 5th, black - outMap.emplace(std::make_pair( "mensuralObliqueAsc5thBlackVoid", 0xE97E )); // glyphnumber: 1413, Oblique form, ascending 5th, black and void - outMap.emplace(std::make_pair( "mensuralObliqueAsc5thVoid", 0xE97D )); // glyphnumber: 1414, Oblique form, ascending 5th, void - outMap.emplace(std::make_pair( "mensuralObliqueAsc5thWhite", 0xE97F )); // glyphnumber: 1415, Oblique form, ascending 5th, white - outMap.emplace(std::make_pair( "mensuralObliqueDesc2ndBlack", 0xE980 )); // glyphnumber: 1416, Oblique form, descending 2nd, black - outMap.emplace(std::make_pair( "mensuralObliqueDesc2ndBlackVoid", 0xE982 )); // glyphnumber: 1417, Oblique form, descending 2nd, black and void - outMap.emplace(std::make_pair( "mensuralObliqueDesc2ndVoid", 0xE981 )); // glyphnumber: 1418, Oblique form, descending 2nd, void - outMap.emplace(std::make_pair( "mensuralObliqueDesc2ndWhite", 0xE983 )); // glyphnumber: 1419, Oblique form, descending 2nd, white - outMap.emplace(std::make_pair( "mensuralObliqueDesc3rdBlack", 0xE984 )); // glyphnumber: 1420, Oblique form, descending 3rd, black - outMap.emplace(std::make_pair( "mensuralObliqueDesc3rdBlackVoid", 0xE986 )); // glyphnumber: 1421, Oblique form, descending 3rd, black and void - outMap.emplace(std::make_pair( "mensuralObliqueDesc3rdVoid", 0xE985 )); // glyphnumber: 1422, Oblique form, descending 3rd, void - outMap.emplace(std::make_pair( "mensuralObliqueDesc3rdWhite", 0xE987 )); // glyphnumber: 1423, Oblique form, descending 3rd, white - outMap.emplace(std::make_pair( "mensuralObliqueDesc4thBlack", 0xE988 )); // glyphnumber: 1424, Oblique form, descending 4th, black - outMap.emplace(std::make_pair( "mensuralObliqueDesc4thBlackVoid", 0xE98A )); // glyphnumber: 1425, Oblique form, descending 4th, black and void - outMap.emplace(std::make_pair( "mensuralObliqueDesc4thVoid", 0xE989 )); // glyphnumber: 1426, Oblique form, descending 4th, void - outMap.emplace(std::make_pair( "mensuralObliqueDesc4thWhite", 0xE98B )); // glyphnumber: 1427, Oblique form, descending 4th, white - outMap.emplace(std::make_pair( "mensuralObliqueDesc5thBlack", 0xE98C )); // glyphnumber: 1428, Oblique form, descending 5th, black - outMap.emplace(std::make_pair( "mensuralObliqueDesc5thBlackVoid", 0xE98E )); // glyphnumber: 1429, Oblique form, descending 5th, black and void - outMap.emplace(std::make_pair( "mensuralObliqueDesc5thVoid", 0xE98D )); // glyphnumber: 1430, Oblique form, descending 5th, void - outMap.emplace(std::make_pair( "mensuralObliqueDesc5thWhite", 0xE98F )); // glyphnumber: 1431, Oblique form, descending 5th, white - outMap.emplace(std::make_pair( "mensuralProlation1", 0xE910 )); // glyphnumber: 1432, Tempus perfectum cum prolatione perfecta (9/8) - outMap.emplace(std::make_pair( "mensuralProlation10", 0xE919 )); // glyphnumber: 1433, Tempus imperfectum cum prolatione imperfecta diminution 4 - outMap.emplace(std::make_pair( "mensuralProlation11", 0xE91A )); // glyphnumber: 1434, Tempus imperfectum cum prolatione imperfecta diminution 5 - outMap.emplace(std::make_pair( "mensuralProlation2", 0xE911 )); // glyphnumber: 1435, Tempus perfectum cum prolatione imperfecta (3/4) - outMap.emplace(std::make_pair( "mensuralProlation3", 0xE912 )); // glyphnumber: 1436, Tempus perfectum cum prolatione imperfecta diminution 1 (3/8) - outMap.emplace(std::make_pair( "mensuralProlation4", 0xE913 )); // glyphnumber: 1437, Tempus perfectum cum prolatione perfecta diminution 2 (9/16) - outMap.emplace(std::make_pair( "mensuralProlation5", 0xE914 )); // glyphnumber: 1438, Tempus imperfectum cum prolatione perfecta (6/8) - outMap.emplace(std::make_pair( "mensuralProlation6", 0xE915 )); // glyphnumber: 1439, Tempus imperfectum cum prolatione imperfecta (2/4) - outMap.emplace(std::make_pair( "mensuralProlation7", 0xE916 )); // glyphnumber: 1440, Tempus imperfectum cum prolatione imperfecta diminution 1 (2/2) - outMap.emplace(std::make_pair( "mensuralProlation8", 0xE917 )); // glyphnumber: 1441, Tempus imperfectum cum prolatione imperfecta diminution 2 (6/16) - outMap.emplace(std::make_pair( "mensuralProlation9", 0xE918 )); // glyphnumber: 1442, Tempus imperfectum cum prolatione imperfecta diminution 3 (2/2) - outMap.emplace(std::make_pair( "mensuralProlationCombiningDot", 0xE920 )); // glyphnumber: 1443, Combining dot - outMap.emplace(std::make_pair( "mensuralProlationCombiningDotVoid", 0xE924 )); // glyphnumber: 1444, Combining void dot - outMap.emplace(std::make_pair( "mensuralProlationCombiningStroke", 0xE925 )); // glyphnumber: 1445, Combining vertical stroke - outMap.emplace(std::make_pair( "mensuralProlationCombiningThreeDots", 0xE922 )); // glyphnumber: 1446, Combining three dots horizontal - outMap.emplace(std::make_pair( "mensuralProlationCombiningThreeDotsTri", 0xE923 )); // glyphnumber: 1447, Combining three dots triangular - outMap.emplace(std::make_pair( "mensuralProlationCombiningTwoDots", 0xE921 )); // glyphnumber: 1448, Combining two dots - outMap.emplace(std::make_pair( "mensuralProportion1", 0xE926 )); // glyphnumber: 1449, Mensural proportion 1 - outMap.emplace(std::make_pair( "mensuralProportion2", 0xE927 )); // glyphnumber: 1450, Mensural proportion 2 - outMap.emplace(std::make_pair( "mensuralProportion3", 0xE928 )); // glyphnumber: 1451, Mensural proportion 3 - outMap.emplace(std::make_pair( "mensuralProportion4", 0xE929 )); // glyphnumber: 1452, Mensural proportion 4 - outMap.emplace(std::make_pair( "mensuralProportionMajor", 0xE92B )); // glyphnumber: 1453, Mensural proportion major - outMap.emplace(std::make_pair( "mensuralProportionMinor", 0xE92A )); // glyphnumber: 1454, Mensural proportion minor - outMap.emplace(std::make_pair( "mensuralProportionProportioDupla1", 0xE91C )); // glyphnumber: 1455, Proportio dupla 1 - outMap.emplace(std::make_pair( "mensuralProportionProportioDupla2", 0xE91D )); // glyphnumber: 1456, Proportio dupla 2 - outMap.emplace(std::make_pair( "mensuralProportionProportioQuadrupla", 0xE91F )); // glyphnumber: 1457, Proportio quadrupla - outMap.emplace(std::make_pair( "mensuralProportionProportioTripla", 0xE91E )); // glyphnumber: 1458, Proportio tripla - outMap.emplace(std::make_pair( "mensuralProportionTempusPerfectum", 0xE91B )); // glyphnumber: 1459, Tempus perfectum - outMap.emplace(std::make_pair( "mensuralRestBrevis", 0xE9F3 )); // glyphnumber: 1460, Brevis rest - outMap.emplace(std::make_pair( "mensuralRestFusa", 0xE9F7 )); // glyphnumber: 1461, Fusa rest - outMap.emplace(std::make_pair( "mensuralRestLongaImperfecta", 0xE9F2 )); // glyphnumber: 1462, Longa imperfecta rest - outMap.emplace(std::make_pair( "mensuralRestLongaPerfecta", 0xE9F1 )); // glyphnumber: 1463, Longa perfecta rest - outMap.emplace(std::make_pair( "mensuralRestMaxima", 0xE9F0 )); // glyphnumber: 1464, Maxima rest - outMap.emplace(std::make_pair( "mensuralRestMinima", 0xE9F5 )); // glyphnumber: 1465, Minima rest - outMap.emplace(std::make_pair( "mensuralRestSemibrevis", 0xE9F4 )); // glyphnumber: 1466, Semibrevis rest - outMap.emplace(std::make_pair( "mensuralRestSemifusa", 0xE9F8 )); // glyphnumber: 1467, Semifusa rest - outMap.emplace(std::make_pair( "mensuralRestSemiminima", 0xE9F6 )); // glyphnumber: 1468, Semiminima rest - outMap.emplace(std::make_pair( "mensuralSignumDown", 0xEA01 )); // glyphnumber: 1469, Signum congruentiae down - outMap.emplace(std::make_pair( "mensuralSignumUp", 0xEA00 )); // glyphnumber: 1470, Signum congruentiae up - outMap.emplace(std::make_pair( "mensuralTempusImperfectumHoriz", 0xE92F )); // glyphnumber: 1471, Tempus imperfectum, horizontal - outMap.emplace(std::make_pair( "mensuralTempusPerfectumHoriz", 0xE92E )); // glyphnumber: 1472, Tempus perfectum, horizontal - outMap.emplace(std::make_pair( "mensuralWhiteBrevis", 0xE95E )); // glyphnumber: 1473, White mensural brevis - outMap.emplace(std::make_pair( "mensuralWhiteFusa", 0xE961 )); // glyphnumber: 1474, White mensural fusa - outMap.emplace(std::make_pair( "mensuralWhiteLonga", 0xE95D )); // glyphnumber: 1475, White mensural longa - outMap.emplace(std::make_pair( "mensuralWhiteMaxima", 0xE95C )); // glyphnumber: 1476, White mensural maxima - outMap.emplace(std::make_pair( "mensuralWhiteMinima", 0xE95F )); // glyphnumber: 1477, White mensural minima - outMap.emplace(std::make_pair( "mensuralWhiteSemiminima", 0xE960 )); // glyphnumber: 1478, White mensural semiminima - outMap.emplace(std::make_pair( "metAugmentationDot", 0xECB7 )); // glyphnumber: 1479, Augmentation dot - outMap.emplace(std::make_pair( "metNote1024thDown", 0xECB6 )); // glyphnumber: 1480, 1024th note (semihemidemisemihemidemisemiquaver) stem down - outMap.emplace(std::make_pair( "metNote1024thUp", 0xECB5 )); // glyphnumber: 1481, 1024th note (semihemidemisemihemidemisemiquaver) stem up - outMap.emplace(std::make_pair( "metNote128thDown", 0xECB0 )); // glyphnumber: 1482, 128th note (semihemidemisemiquaver) stem down - outMap.emplace(std::make_pair( "metNote128thUp", 0xECAF )); // glyphnumber: 1483, 128th note (semihemidemisemiquaver) stem up - outMap.emplace(std::make_pair( "metNote16thDown", 0xECAA )); // glyphnumber: 1484, 16th note (semiquaver) stem down - outMap.emplace(std::make_pair( "metNote16thUp", 0xECA9 )); // glyphnumber: 1485, 16th note (semiquaver) stem up - outMap.emplace(std::make_pair( "metNote256thDown", 0xECB2 )); // glyphnumber: 1486, 256th note (demisemihemidemisemiquaver) stem down - outMap.emplace(std::make_pair( "metNote256thUp", 0xECB1 )); // glyphnumber: 1487, 256th note (demisemihemidemisemiquaver) stem up - outMap.emplace(std::make_pair( "metNote32ndDown", 0xECAC )); // glyphnumber: 1488, 32nd note (demisemiquaver) stem down - outMap.emplace(std::make_pair( "metNote32ndUp", 0xECAB )); // glyphnumber: 1489, 32nd note (demisemiquaver) stem up - outMap.emplace(std::make_pair( "metNote512thDown", 0xECB4 )); // glyphnumber: 1490, 512th note (hemidemisemihemidemisemiquaver) stem down - outMap.emplace(std::make_pair( "metNote512thUp", 0xECB3 )); // glyphnumber: 1491, 512th note (hemidemisemihemidemisemiquaver) stem up - outMap.emplace(std::make_pair( "metNote64thDown", 0xECAE )); // glyphnumber: 1492, 64th note (hemidemisemiquaver) stem down - outMap.emplace(std::make_pair( "metNote64thUp", 0xECAD )); // glyphnumber: 1493, 64th note (hemidemisemiquaver) stem up - outMap.emplace(std::make_pair( "metNote8thDown", 0xECA8 )); // glyphnumber: 1494, Eighth note (quaver) stem down - outMap.emplace(std::make_pair( "metNote8thUp", 0xECA7 )); // glyphnumber: 1495, Eighth note (quaver) stem up - outMap.emplace(std::make_pair( "metNoteDoubleWhole", 0xECA0 )); // glyphnumber: 1496, Double whole note (breve) - outMap.emplace(std::make_pair( "metNoteDoubleWholeSquare", 0xECA1 )); // glyphnumber: 1497, Double whole note (square) - outMap.emplace(std::make_pair( "metNoteHalfDown", 0xECA4 )); // glyphnumber: 1498, Half note (minim) stem down - outMap.emplace(std::make_pair( "metNoteHalfUp", 0xECA3 )); // glyphnumber: 1499, Half note (minim) stem up - outMap.emplace(std::make_pair( "metNoteQuarterDown", 0xECA6 )); // glyphnumber: 1500, Quarter note (crotchet) stem down - outMap.emplace(std::make_pair( "metNoteQuarterUp", 0xECA5 )); // glyphnumber: 1501, Quarter note (crotchet) stem up - outMap.emplace(std::make_pair( "metNoteWhole", 0xECA2 )); // glyphnumber: 1502, Whole note (semibreve) - outMap.emplace(std::make_pair( "metricModulationArrowLeft", 0xEC63 )); // glyphnumber: 1503, Left-pointing arrow for metric modulation - outMap.emplace(std::make_pair( "metricModulationArrowRight", 0xEC64 )); // glyphnumber: 1504, Right-pointing arrow for metric modulation - outMap.emplace(std::make_pair( "miscDoNotCopy", 0xEC61 )); // glyphnumber: 1505, Do not copy - outMap.emplace(std::make_pair( "miscDoNotPhotocopy", 0xEC60 )); // glyphnumber: 1506, Do not photocopy - outMap.emplace(std::make_pair( "miscEyeglasses", 0xEC62 )); // glyphnumber: 1507, Eyeglasses - outMap.emplace(std::make_pair( "note1024thDown", 0xE1E6 )); // glyphnumber: 1508, 1024th note (semihemidemisemihemidemisemiquaver) stem down - outMap.emplace(std::make_pair( "note1024thUp", 0xE1E5 )); // glyphnumber: 1509, 1024th note (semihemidemisemihemidemisemiquaver) stem up - outMap.emplace(std::make_pair( "note128thDown", 0xE1E0 )); // glyphnumber: 1510, 128th note (semihemidemisemiquaver) stem down - outMap.emplace(std::make_pair( "note128thUp", 0xE1DF )); // glyphnumber: 1511, 128th note (semihemidemisemiquaver) stem up - outMap.emplace(std::make_pair( "note16thDown", 0xE1DA )); // glyphnumber: 1512, 16th note (semiquaver) stem down - outMap.emplace(std::make_pair( "note16thUp", 0xE1D9 )); // glyphnumber: 1513, 16th note (semiquaver) stem up - outMap.emplace(std::make_pair( "note256thDown", 0xE1E2 )); // glyphnumber: 1514, 256th note (demisemihemidemisemiquaver) stem down - outMap.emplace(std::make_pair( "note256thUp", 0xE1E1 )); // glyphnumber: 1515, 256th note (demisemihemidemisemiquaver) stem up - outMap.emplace(std::make_pair( "note32ndDown", 0xE1DC )); // glyphnumber: 1516, 32nd note (demisemiquaver) stem down - outMap.emplace(std::make_pair( "note32ndUp", 0xE1DB )); // glyphnumber: 1517, 32nd note (demisemiquaver) stem up - outMap.emplace(std::make_pair( "note512thDown", 0xE1E4 )); // glyphnumber: 1518, 512th note (hemidemisemihemidemisemiquaver) stem down - outMap.emplace(std::make_pair( "note512thUp", 0xE1E3 )); // glyphnumber: 1519, 512th note (hemidemisemihemidemisemiquaver) stem up - outMap.emplace(std::make_pair( "note64thDown", 0xE1DE )); // glyphnumber: 1520, 64th note (hemidemisemiquaver) stem down - outMap.emplace(std::make_pair( "note64thUp", 0xE1DD )); // glyphnumber: 1521, 64th note (hemidemisemiquaver) stem up - outMap.emplace(std::make_pair( "note8thDown", 0xE1D8 )); // glyphnumber: 1522, Eighth note (quaver) stem down - outMap.emplace(std::make_pair( "note8thUp", 0xE1D7 )); // glyphnumber: 1523, Eighth note (quaver) stem up - outMap.emplace(std::make_pair( "noteABlack", 0xE197 )); // glyphnumber: 1524, A (black note) - outMap.emplace(std::make_pair( "noteAFlatBlack", 0xE196 )); // glyphnumber: 1525, A flat (black note) - outMap.emplace(std::make_pair( "noteAFlatHalf", 0xE17F )); // glyphnumber: 1526, A flat (half note) - outMap.emplace(std::make_pair( "noteAFlatWhole", 0xE168 )); // glyphnumber: 1527, A flat (whole note) - outMap.emplace(std::make_pair( "noteAHalf", 0xE180 )); // glyphnumber: 1528, A (half note) - outMap.emplace(std::make_pair( "noteASharpBlack", 0xE198 )); // glyphnumber: 1529, A sharp (black note) - outMap.emplace(std::make_pair( "noteASharpHalf", 0xE181 )); // glyphnumber: 1530, A sharp (half note) - outMap.emplace(std::make_pair( "noteASharpWhole", 0xE16A )); // glyphnumber: 1531, A sharp (whole note) - outMap.emplace(std::make_pair( "noteAWhole", 0xE169 )); // glyphnumber: 1532, A (whole note) - outMap.emplace(std::make_pair( "noteBBlack", 0xE19A )); // glyphnumber: 1533, B (black note) - outMap.emplace(std::make_pair( "noteBFlatBlack", 0xE199 )); // glyphnumber: 1534, B flat (black note) - outMap.emplace(std::make_pair( "noteBFlatHalf", 0xE182 )); // glyphnumber: 1535, B flat (half note) - outMap.emplace(std::make_pair( "noteBFlatWhole", 0xE16B )); // glyphnumber: 1536, B flat (whole note) - outMap.emplace(std::make_pair( "noteBHalf", 0xE183 )); // glyphnumber: 1537, B (half note) - outMap.emplace(std::make_pair( "noteBSharpBlack", 0xE19B )); // glyphnumber: 1538, B sharp (black note) - outMap.emplace(std::make_pair( "noteBSharpHalf", 0xE184 )); // glyphnumber: 1539, B sharp (half note) - outMap.emplace(std::make_pair( "noteBSharpWhole", 0xE16D )); // glyphnumber: 1540, B sharp (whole note) - outMap.emplace(std::make_pair( "noteBWhole", 0xE16C )); // glyphnumber: 1541, B (whole note) - outMap.emplace(std::make_pair( "noteCBlack", 0xE19D )); // glyphnumber: 1542, C (black note) - outMap.emplace(std::make_pair( "noteCFlatBlack", 0xE19C )); // glyphnumber: 1543, C flat (black note) - outMap.emplace(std::make_pair( "noteCFlatHalf", 0xE185 )); // glyphnumber: 1544, C flat (half note) - outMap.emplace(std::make_pair( "noteCFlatWhole", 0xE16E )); // glyphnumber: 1545, C flat (whole note) - outMap.emplace(std::make_pair( "noteCHalf", 0xE186 )); // glyphnumber: 1546, C (half note) - outMap.emplace(std::make_pair( "noteCSharpBlack", 0xE19E )); // glyphnumber: 1547, C sharp (black note) - outMap.emplace(std::make_pair( "noteCSharpHalf", 0xE187 )); // glyphnumber: 1548, C sharp (half note) - outMap.emplace(std::make_pair( "noteCSharpWhole", 0xE170 )); // glyphnumber: 1549, C sharp (whole note) - outMap.emplace(std::make_pair( "noteCWhole", 0xE16F )); // glyphnumber: 1550, C (whole note) - outMap.emplace(std::make_pair( "noteDBlack", 0xE1A0 )); // glyphnumber: 1551, D (black note) - outMap.emplace(std::make_pair( "noteDFlatBlack", 0xE19F )); // glyphnumber: 1552, D flat (black note) - outMap.emplace(std::make_pair( "noteDFlatHalf", 0xE188 )); // glyphnumber: 1553, D flat (half note) - outMap.emplace(std::make_pair( "noteDFlatWhole", 0xE171 )); // glyphnumber: 1554, D flat (whole note) - outMap.emplace(std::make_pair( "noteDHalf", 0xE189 )); // glyphnumber: 1555, D (half note) - outMap.emplace(std::make_pair( "noteDSharpBlack", 0xE1A1 )); // glyphnumber: 1556, D sharp (black note) - outMap.emplace(std::make_pair( "noteDSharpHalf", 0xE18A )); // glyphnumber: 1557, D sharp (half note) - outMap.emplace(std::make_pair( "noteDSharpWhole", 0xE173 )); // glyphnumber: 1558, D sharp (whole note) - outMap.emplace(std::make_pair( "noteDWhole", 0xE172 )); // glyphnumber: 1559, D (whole note) - outMap.emplace(std::make_pair( "noteDoBlack", 0xE160 )); // glyphnumber: 1560, Do (black note) - outMap.emplace(std::make_pair( "noteDoHalf", 0xE158 )); // glyphnumber: 1561, Do (half note) - outMap.emplace(std::make_pair( "noteDoWhole", 0xE150 )); // glyphnumber: 1562, Do (whole note) - outMap.emplace(std::make_pair( "noteDoubleWhole", 0xE1D0 )); // glyphnumber: 1563, Double whole note (breve) - outMap.emplace(std::make_pair( "noteDoubleWholeSquare", 0xE1D1 )); // glyphnumber: 1564, Double whole note (square) - outMap.emplace(std::make_pair( "noteEBlack", 0xE1A3 )); // glyphnumber: 1565, E (black note) - outMap.emplace(std::make_pair( "noteEFlatBlack", 0xE1A2 )); // glyphnumber: 1566, E flat (black note) - outMap.emplace(std::make_pair( "noteEFlatHalf", 0xE18B )); // glyphnumber: 1567, E flat (half note) - outMap.emplace(std::make_pair( "noteEFlatWhole", 0xE174 )); // glyphnumber: 1568, E flat (whole note) - outMap.emplace(std::make_pair( "noteEHalf", 0xE18C )); // glyphnumber: 1569, E (half note) - outMap.emplace(std::make_pair( "noteESharpBlack", 0xE1A4 )); // glyphnumber: 1570, E sharp (black note) - outMap.emplace(std::make_pair( "noteESharpHalf", 0xE18D )); // glyphnumber: 1571, E sharp (half note) - outMap.emplace(std::make_pair( "noteESharpWhole", 0xE176 )); // glyphnumber: 1572, E sharp (whole note) - outMap.emplace(std::make_pair( "noteEWhole", 0xE175 )); // glyphnumber: 1573, E (whole note) - outMap.emplace(std::make_pair( "noteEmptyBlack", 0xE1AF )); // glyphnumber: 1574, Empty black note - outMap.emplace(std::make_pair( "noteEmptyHalf", 0xE1AE )); // glyphnumber: 1575, Empty half note - outMap.emplace(std::make_pair( "noteEmptyWhole", 0xE1AD )); // glyphnumber: 1576, Empty whole note - outMap.emplace(std::make_pair( "noteFBlack", 0xE1A6 )); // glyphnumber: 1577, F (black note) - outMap.emplace(std::make_pair( "noteFFlatBlack", 0xE1A5 )); // glyphnumber: 1578, F flat (black note) - outMap.emplace(std::make_pair( "noteFFlatHalf", 0xE18E )); // glyphnumber: 1579, F flat (half note) - outMap.emplace(std::make_pair( "noteFFlatWhole", 0xE177 )); // glyphnumber: 1580, F flat (whole note) - outMap.emplace(std::make_pair( "noteFHalf", 0xE18F )); // glyphnumber: 1581, F (half note) - outMap.emplace(std::make_pair( "noteFSharpBlack", 0xE1A7 )); // glyphnumber: 1582, F sharp (black note) - outMap.emplace(std::make_pair( "noteFSharpHalf", 0xE190 )); // glyphnumber: 1583, F sharp (half note) - outMap.emplace(std::make_pair( "noteFSharpWhole", 0xE179 )); // glyphnumber: 1584, F sharp (whole note) - outMap.emplace(std::make_pair( "noteFWhole", 0xE178 )); // glyphnumber: 1585, F (whole note) - outMap.emplace(std::make_pair( "noteFaBlack", 0xE163 )); // glyphnumber: 1586, Fa (black note) - outMap.emplace(std::make_pair( "noteFaHalf", 0xE15B )); // glyphnumber: 1587, Fa (half note) - outMap.emplace(std::make_pair( "noteFaWhole", 0xE153 )); // glyphnumber: 1588, Fa (whole note) - outMap.emplace(std::make_pair( "noteGBlack", 0xE1A9 )); // glyphnumber: 1589, G (black note) - outMap.emplace(std::make_pair( "noteGFlatBlack", 0xE1A8 )); // glyphnumber: 1590, G flat (black note) - outMap.emplace(std::make_pair( "noteGFlatHalf", 0xE191 )); // glyphnumber: 1591, G flat (half note) - outMap.emplace(std::make_pair( "noteGFlatWhole", 0xE17A )); // glyphnumber: 1592, G flat (whole note) - outMap.emplace(std::make_pair( "noteGHalf", 0xE192 )); // glyphnumber: 1593, G (half note) - outMap.emplace(std::make_pair( "noteGSharpBlack", 0xE1AA )); // glyphnumber: 1594, G sharp (black note) - outMap.emplace(std::make_pair( "noteGSharpHalf", 0xE193 )); // glyphnumber: 1595, G sharp (half note) - outMap.emplace(std::make_pair( "noteGSharpWhole", 0xE17C )); // glyphnumber: 1596, G sharp (whole note) - outMap.emplace(std::make_pair( "noteGWhole", 0xE17B )); // glyphnumber: 1597, G (whole note) - outMap.emplace(std::make_pair( "noteHBlack", 0xE1AB )); // glyphnumber: 1598, H (black note) - outMap.emplace(std::make_pair( "noteHHalf", 0xE194 )); // glyphnumber: 1599, H (half note) - outMap.emplace(std::make_pair( "noteHSharpBlack", 0xE1AC )); // glyphnumber: 1600, H sharp (black note) - outMap.emplace(std::make_pair( "noteHSharpHalf", 0xE195 )); // glyphnumber: 1601, H sharp (half note) - outMap.emplace(std::make_pair( "noteHSharpWhole", 0xE17E )); // glyphnumber: 1602, H sharp (whole note) - outMap.emplace(std::make_pair( "noteHWhole", 0xE17D )); // glyphnumber: 1603, H (whole note) - outMap.emplace(std::make_pair( "noteHalfDown", 0xE1D4 )); // glyphnumber: 1604, Half note (minim) stem down - outMap.emplace(std::make_pair( "noteHalfUp", 0xE1D3 )); // glyphnumber: 1605, Half note (minim) stem up - outMap.emplace(std::make_pair( "noteLaBlack", 0xE165 )); // glyphnumber: 1606, La (black note) - outMap.emplace(std::make_pair( "noteLaHalf", 0xE15D )); // glyphnumber: 1607, La (half note) - outMap.emplace(std::make_pair( "noteLaWhole", 0xE155 )); // glyphnumber: 1608, La (whole note) - outMap.emplace(std::make_pair( "noteMiBlack", 0xE162 )); // glyphnumber: 1609, Mi (black note) - outMap.emplace(std::make_pair( "noteMiHalf", 0xE15A )); // glyphnumber: 1610, Mi (half note) - outMap.emplace(std::make_pair( "noteMiWhole", 0xE152 )); // glyphnumber: 1611, Mi (whole note) - outMap.emplace(std::make_pair( "noteQuarterDown", 0xE1D6 )); // glyphnumber: 1612, Quarter note (crotchet) stem down - outMap.emplace(std::make_pair( "noteQuarterUp", 0xE1D5 )); // glyphnumber: 1613, Quarter note (crotchet) stem up - outMap.emplace(std::make_pair( "noteReBlack", 0xE161 )); // glyphnumber: 1614, Re (black note) - outMap.emplace(std::make_pair( "noteReHalf", 0xE159 )); // glyphnumber: 1615, Re (half note) - outMap.emplace(std::make_pair( "noteReWhole", 0xE151 )); // glyphnumber: 1616, Re (whole note) - outMap.emplace(std::make_pair( "noteShapeArrowheadLeftBlack", 0xE1C9 )); // glyphnumber: 1617, Arrowhead left black (Funk 7-shape re) - outMap.emplace(std::make_pair( "noteShapeArrowheadLeftDoubleWhole", 0xECDC )); // glyphnumber: 1618, Arrowhead left double whole (Funk 7-shape re) - outMap.emplace(std::make_pair( "noteShapeArrowheadLeftWhite", 0xE1C8 )); // glyphnumber: 1619, Arrowhead left white (Funk 7-shape re) - outMap.emplace(std::make_pair( "noteShapeDiamondBlack", 0xE1B9 )); // glyphnumber: 1620, Diamond black (4-shape mi; 7-shape mi) - outMap.emplace(std::make_pair( "noteShapeDiamondDoubleWhole", 0xECD4 )); // glyphnumber: 1621, Diamond double whole (4-shape mi; 7-shape mi) - outMap.emplace(std::make_pair( "noteShapeDiamondWhite", 0xE1B8 )); // glyphnumber: 1622, Diamond white (4-shape mi; 7-shape mi) - outMap.emplace(std::make_pair( "noteShapeIsoscelesTriangleBlack", 0xE1C5 )); // glyphnumber: 1623, Isosceles triangle black (Walker 7-shape ti) - outMap.emplace(std::make_pair( "noteShapeIsoscelesTriangleDoubleWhole", 0xECDA )); // glyphnumber: 1624, Isosceles triangle double whole (Walker 7-shape ti) - outMap.emplace(std::make_pair( "noteShapeIsoscelesTriangleWhite", 0xE1C4 )); // glyphnumber: 1625, Isosceles triangle white (Walker 7-shape ti) - outMap.emplace(std::make_pair( "noteShapeKeystoneBlack", 0xE1C1 )); // glyphnumber: 1626, Inverted keystone black (Walker 7-shape do) - outMap.emplace(std::make_pair( "noteShapeKeystoneDoubleWhole", 0xECD8 )); // glyphnumber: 1627, Inverted keystone double whole (Walker 7-shape do) - outMap.emplace(std::make_pair( "noteShapeKeystoneWhite", 0xE1C0 )); // glyphnumber: 1628, Inverted keystone white (Walker 7-shape do) - outMap.emplace(std::make_pair( "noteShapeMoonBlack", 0xE1BD )); // glyphnumber: 1629, Moon black (Aikin 7-shape re) - outMap.emplace(std::make_pair( "noteShapeMoonDoubleWhole", 0xECD6 )); // glyphnumber: 1630, Moon double whole (Aikin 7-shape re) - outMap.emplace(std::make_pair( "noteShapeMoonLeftBlack", 0xE1C7 )); // glyphnumber: 1631, Moon left black (Funk 7-shape do) - outMap.emplace(std::make_pair( "noteShapeMoonLeftDoubleWhole", 0xECDB )); // glyphnumber: 1632, Moon left double whole (Funk 7-shape do) - outMap.emplace(std::make_pair( "noteShapeMoonLeftWhite", 0xE1C6 )); // glyphnumber: 1633, Moon left white (Funk 7-shape do) - outMap.emplace(std::make_pair( "noteShapeMoonWhite", 0xE1BC )); // glyphnumber: 1634, Moon white (Aikin 7-shape re) - outMap.emplace(std::make_pair( "noteShapeQuarterMoonBlack", 0xE1C3 )); // glyphnumber: 1635, Quarter moon black (Walker 7-shape re) - outMap.emplace(std::make_pair( "noteShapeQuarterMoonDoubleWhole", 0xECD9 )); // glyphnumber: 1636, Quarter moon double whole (Walker 7-shape re) - outMap.emplace(std::make_pair( "noteShapeQuarterMoonWhite", 0xE1C2 )); // glyphnumber: 1637, Quarter moon white (Walker 7-shape re) - outMap.emplace(std::make_pair( "noteShapeRoundBlack", 0xE1B1 )); // glyphnumber: 1638, Round black (4-shape sol; 7-shape so) - outMap.emplace(std::make_pair( "noteShapeRoundDoubleWhole", 0xECD0 )); // glyphnumber: 1639, Round double whole (4-shape sol; 7-shape so) - outMap.emplace(std::make_pair( "noteShapeRoundWhite", 0xE1B0 )); // glyphnumber: 1640, Round white (4-shape sol; 7-shape so) - outMap.emplace(std::make_pair( "noteShapeSquareBlack", 0xE1B3 )); // glyphnumber: 1641, Square black (4-shape la; Aikin 7-shape la) - outMap.emplace(std::make_pair( "noteShapeSquareDoubleWhole", 0xECD1 )); // glyphnumber: 1642, Square double whole (4-shape la; Aikin 7-shape la) - outMap.emplace(std::make_pair( "noteShapeSquareWhite", 0xE1B2 )); // glyphnumber: 1643, Square white (4-shape la; Aikin 7-shape la) - outMap.emplace(std::make_pair( "noteShapeTriangleLeftBlack", 0xE1B7 )); // glyphnumber: 1644, Triangle left black (stem up; 4-shape fa; 7-shape fa) - outMap.emplace(std::make_pair( "noteShapeTriangleLeftDoubleWhole", 0xECD3 )); // glyphnumber: 1645, Triangle left double whole (stem up; 4-shape fa; 7-shape fa) - outMap.emplace(std::make_pair( "noteShapeTriangleLeftWhite", 0xE1B6 )); // glyphnumber: 1646, Triangle left white (stem up; 4-shape fa; 7-shape fa) - outMap.emplace(std::make_pair( "noteShapeTriangleRightBlack", 0xE1B5 )); // glyphnumber: 1647, Triangle right black (stem down; 4-shape fa; 7-shape fa) - outMap.emplace(std::make_pair( "noteShapeTriangleRightDoubleWhole", 0xECD2 )); // glyphnumber: 1648, Triangle right double whole (stem down; 4-shape fa; 7-shape fa) - outMap.emplace(std::make_pair( "noteShapeTriangleRightWhite", 0xE1B4 )); // glyphnumber: 1649, Triangle right white (stem down; 4-shape fa; 7-shape fa) - outMap.emplace(std::make_pair( "noteShapeTriangleRoundBlack", 0xE1BF )); // glyphnumber: 1650, Triangle-round black (Aikin 7-shape ti) - outMap.emplace(std::make_pair( "noteShapeTriangleRoundDoubleWhole", 0xECD7 )); // glyphnumber: 1651, Triangle-round white (Aikin 7-shape ti) - outMap.emplace(std::make_pair( "noteShapeTriangleRoundLeftBlack", 0xE1CB )); // glyphnumber: 1652, Triangle-round left black (Funk 7-shape ti) - outMap.emplace(std::make_pair( "noteShapeTriangleRoundLeftDoubleWhole", 0xECDD )); // glyphnumber: 1653, Triangle-round left double whole (Funk 7-shape ti) - outMap.emplace(std::make_pair( "noteShapeTriangleRoundLeftWhite", 0xE1CA )); // glyphnumber: 1654, Triangle-round left white (Funk 7-shape ti) - outMap.emplace(std::make_pair( "noteShapeTriangleRoundWhite", 0xE1BE )); // glyphnumber: 1655, Triangle-round white (Aikin 7-shape ti) - outMap.emplace(std::make_pair( "noteShapeTriangleUpBlack", 0xE1BB )); // glyphnumber: 1656, Triangle up black (Aikin 7-shape do) - outMap.emplace(std::make_pair( "noteShapeTriangleUpDoubleWhole", 0xECD5 )); // glyphnumber: 1657, Triangle up double whole (Aikin 7-shape do) - outMap.emplace(std::make_pair( "noteShapeTriangleUpWhite", 0xE1BA )); // glyphnumber: 1658, Triangle up white (Aikin 7-shape do) - outMap.emplace(std::make_pair( "noteSiBlack", 0xE167 )); // glyphnumber: 1659, Si (black note) - outMap.emplace(std::make_pair( "noteSiHalf", 0xE15F )); // glyphnumber: 1660, Si (half note) - outMap.emplace(std::make_pair( "noteSiWhole", 0xE157 )); // glyphnumber: 1661, Si (whole note) - outMap.emplace(std::make_pair( "noteSoBlack", 0xE164 )); // glyphnumber: 1662, So (black note) - outMap.emplace(std::make_pair( "noteSoHalf", 0xE15C )); // glyphnumber: 1663, So (half note) - outMap.emplace(std::make_pair( "noteSoWhole", 0xE154 )); // glyphnumber: 1664, So (whole note) - outMap.emplace(std::make_pair( "noteTiBlack", 0xE166 )); // glyphnumber: 1665, Ti (black note) - outMap.emplace(std::make_pair( "noteTiHalf", 0xE15E )); // glyphnumber: 1666, Ti (half note) - outMap.emplace(std::make_pair( "noteTiWhole", 0xE156 )); // glyphnumber: 1667, Ti (whole note) - outMap.emplace(std::make_pair( "noteWhole", 0xE1D2 )); // glyphnumber: 1668, Whole note (semibreve) - outMap.emplace(std::make_pair( "noteheadBlack", 0xE0A4 )); // glyphnumber: 1669, Black notehead - outMap.emplace(std::make_pair( "noteheadCircleSlash", 0xE0F7 )); // glyphnumber: 1670, Circle slash notehead - outMap.emplace(std::make_pair( "noteheadCircleX", 0xE0B3 )); // glyphnumber: 1671, Circle X notehead - outMap.emplace(std::make_pair( "noteheadCircleXDoubleWhole", 0xE0B0 )); // glyphnumber: 1672, Circle X double whole - outMap.emplace(std::make_pair( "noteheadCircleXHalf", 0xE0B2 )); // glyphnumber: 1673, Circle X half - outMap.emplace(std::make_pair( "noteheadCircleXWhole", 0xE0B1 )); // glyphnumber: 1674, Circle X whole - outMap.emplace(std::make_pair( "noteheadCircledBlack", 0xE0E4 )); // glyphnumber: 1675, Circled black notehead - outMap.emplace(std::make_pair( "noteheadCircledBlackLarge", 0xE0E8 )); // glyphnumber: 1676, Black notehead in large circle - outMap.emplace(std::make_pair( "noteheadCircledDoubleWhole", 0xE0E7 )); // glyphnumber: 1677, Circled double whole notehead - outMap.emplace(std::make_pair( "noteheadCircledDoubleWholeLarge", 0xE0EB )); // glyphnumber: 1678, Double whole notehead in large circle - outMap.emplace(std::make_pair( "noteheadCircledHalf", 0xE0E5 )); // glyphnumber: 1679, Circled half notehead - outMap.emplace(std::make_pair( "noteheadCircledHalfLarge", 0xE0E9 )); // glyphnumber: 1680, Half notehead in large circle - outMap.emplace(std::make_pair( "noteheadCircledWhole", 0xE0E6 )); // glyphnumber: 1681, Circled whole notehead - outMap.emplace(std::make_pair( "noteheadCircledWholeLarge", 0xE0EA )); // glyphnumber: 1682, Whole notehead in large circle - outMap.emplace(std::make_pair( "noteheadCircledXLarge", 0xE0EC )); // glyphnumber: 1683, Cross notehead in large circle - outMap.emplace(std::make_pair( "noteheadClusterDoubleWhole2nd", 0xE124 )); // glyphnumber: 1684, Double whole note cluster, 2nd - outMap.emplace(std::make_pair( "noteheadClusterDoubleWhole3rd", 0xE128 )); // glyphnumber: 1685, Double whole note cluster, 3rd - outMap.emplace(std::make_pair( "noteheadClusterDoubleWholeBottom", 0xE12E )); // glyphnumber: 1686, Combining double whole note cluster, bottom - outMap.emplace(std::make_pair( "noteheadClusterDoubleWholeMiddle", 0xE12D )); // glyphnumber: 1687, Combining double whole note cluster, middle - outMap.emplace(std::make_pair( "noteheadClusterDoubleWholeTop", 0xE12C )); // glyphnumber: 1688, Combining double whole note cluster, top - outMap.emplace(std::make_pair( "noteheadClusterHalf2nd", 0xE126 )); // glyphnumber: 1689, Half note cluster, 2nd - outMap.emplace(std::make_pair( "noteheadClusterHalf3rd", 0xE12A )); // glyphnumber: 1690, Half note cluster, 3rd - outMap.emplace(std::make_pair( "noteheadClusterHalfBottom", 0xE134 )); // glyphnumber: 1691, Combining half note cluster, bottom - outMap.emplace(std::make_pair( "noteheadClusterHalfMiddle", 0xE133 )); // glyphnumber: 1692, Combining half note cluster, middle - outMap.emplace(std::make_pair( "noteheadClusterHalfTop", 0xE132 )); // glyphnumber: 1693, Combining half note cluster, top - outMap.emplace(std::make_pair( "noteheadClusterQuarter2nd", 0xE127 )); // glyphnumber: 1694, Quarter note cluster, 2nd - outMap.emplace(std::make_pair( "noteheadClusterQuarter3rd", 0xE12B )); // glyphnumber: 1695, Quarter note cluster, 3rd - outMap.emplace(std::make_pair( "noteheadClusterQuarterBottom", 0xE137 )); // glyphnumber: 1696, Combining quarter note cluster, bottom - outMap.emplace(std::make_pair( "noteheadClusterQuarterMiddle", 0xE136 )); // glyphnumber: 1697, Combining quarter note cluster, middle - outMap.emplace(std::make_pair( "noteheadClusterQuarterTop", 0xE135 )); // glyphnumber: 1698, Combining quarter note cluster, top - outMap.emplace(std::make_pair( "noteheadClusterRoundBlack", 0xE123 )); // glyphnumber: 1699, Cluster notehead black (round) - outMap.emplace(std::make_pair( "noteheadClusterRoundWhite", 0xE122 )); // glyphnumber: 1700, Cluster notehead white (round) - outMap.emplace(std::make_pair( "noteheadClusterSquareBlack", 0xE121 )); // glyphnumber: 1701, Cluster notehead black (square) - outMap.emplace(std::make_pair( "noteheadClusterSquareWhite", 0xE120 )); // glyphnumber: 1702, Cluster notehead white (square) - outMap.emplace(std::make_pair( "noteheadClusterWhole2nd", 0xE125 )); // glyphnumber: 1703, Whole note cluster, 2nd - outMap.emplace(std::make_pair( "noteheadClusterWhole3rd", 0xE129 )); // glyphnumber: 1704, Whole note cluster, 3rd - outMap.emplace(std::make_pair( "noteheadClusterWholeBottom", 0xE131 )); // glyphnumber: 1705, Combining whole note cluster, bottom - outMap.emplace(std::make_pair( "noteheadClusterWholeMiddle", 0xE130 )); // glyphnumber: 1706, Combining whole note cluster, middle - outMap.emplace(std::make_pair( "noteheadClusterWholeTop", 0xE12F )); // glyphnumber: 1707, Combining whole note cluster, top - outMap.emplace(std::make_pair( "noteheadDiamondBlack", 0xE0DB )); // glyphnumber: 1708, Diamond black notehead - outMap.emplace(std::make_pair( "noteheadDiamondBlackOld", 0xE0E2 )); // glyphnumber: 1709, Diamond black notehead (old) - outMap.emplace(std::make_pair( "noteheadDiamondBlackWide", 0xE0DC )); // glyphnumber: 1710, Diamond black notehead (wide) - outMap.emplace(std::make_pair( "noteheadDiamondClusterBlack2nd", 0xE139 )); // glyphnumber: 1711, Black diamond cluster, 2nd - outMap.emplace(std::make_pair( "noteheadDiamondClusterBlack3rd", 0xE13B )); // glyphnumber: 1712, Black diamond cluster, 3rd - outMap.emplace(std::make_pair( "noteheadDiamondClusterBlackBottom", 0xE141 )); // glyphnumber: 1713, Combining black diamond cluster, bottom - outMap.emplace(std::make_pair( "noteheadDiamondClusterBlackMiddle", 0xE140 )); // glyphnumber: 1714, Combining black diamond cluster, middle - outMap.emplace(std::make_pair( "noteheadDiamondClusterBlackTop", 0xE13F )); // glyphnumber: 1715, Combining black diamond cluster, top - outMap.emplace(std::make_pair( "noteheadDiamondClusterWhite2nd", 0xE138 )); // glyphnumber: 1716, White diamond cluster, 2nd - outMap.emplace(std::make_pair( "noteheadDiamondClusterWhite3rd", 0xE13A )); // glyphnumber: 1717, White diamond cluster, 3rd - outMap.emplace(std::make_pair( "noteheadDiamondClusterWhiteBottom", 0xE13E )); // glyphnumber: 1718, Combining white diamond cluster, bottom - outMap.emplace(std::make_pair( "noteheadDiamondClusterWhiteMiddle", 0xE13D )); // glyphnumber: 1719, Combining white diamond cluster, middle - outMap.emplace(std::make_pair( "noteheadDiamondClusterWhiteTop", 0xE13C )); // glyphnumber: 1720, Combining white diamond cluster, top - outMap.emplace(std::make_pair( "noteheadDiamondDoubleWhole", 0xE0D7 )); // glyphnumber: 1721, Diamond double whole notehead - outMap.emplace(std::make_pair( "noteheadDiamondDoubleWholeOld", 0xE0DF )); // glyphnumber: 1722, Diamond double whole notehead (old) - outMap.emplace(std::make_pair( "noteheadDiamondHalf", 0xE0D9 )); // glyphnumber: 1723, Diamond half notehead - outMap.emplace(std::make_pair( "noteheadDiamondHalfFilled", 0xE0E3 )); // glyphnumber: 1724, Half-filled diamond notehead - outMap.emplace(std::make_pair( "noteheadDiamondHalfOld", 0xE0E1 )); // glyphnumber: 1725, Diamond half notehead (old) - outMap.emplace(std::make_pair( "noteheadDiamondHalfWide", 0xE0DA )); // glyphnumber: 1726, Diamond half notehead (wide) - outMap.emplace(std::make_pair( "noteheadDiamondOpen", 0xE0FC )); // glyphnumber: 1727, Open diamond notehead - outMap.emplace(std::make_pair( "noteheadDiamondWhite", 0xE0DD )); // glyphnumber: 1728, Diamond white notehead - outMap.emplace(std::make_pair( "noteheadDiamondWhiteWide", 0xE0DE )); // glyphnumber: 1729, Diamond white notehead (wide) - outMap.emplace(std::make_pair( "noteheadDiamondWhole", 0xE0D8 )); // glyphnumber: 1730, Diamond whole notehead - outMap.emplace(std::make_pair( "noteheadDiamondWholeOld", 0xE0E0 )); // glyphnumber: 1731, Diamond whole notehead (old) - outMap.emplace(std::make_pair( "noteheadDoubleWhole", 0xE0A0 )); // glyphnumber: 1732, Double whole (breve) notehead - outMap.emplace(std::make_pair( "noteheadDoubleWholeSquare", 0xE0A1 )); // glyphnumber: 1733, Double whole (breve) notehead (square) - outMap.emplace(std::make_pair( "noteheadDoubleWholeWithX", 0xE0B4 )); // glyphnumber: 1734, Double whole notehead with X - outMap.emplace(std::make_pair( "noteheadHalf", 0xE0A3 )); // glyphnumber: 1735, Half (minim) notehead - outMap.emplace(std::make_pair( "noteheadHalfFilled", 0xE0FB )); // glyphnumber: 1736, Filled half (minim) notehead - outMap.emplace(std::make_pair( "noteheadHalfWithX", 0xE0B6 )); // glyphnumber: 1737, Half notehead with X - outMap.emplace(std::make_pair( "noteheadHeavyX", 0xE0F8 )); // glyphnumber: 1738, Heavy X notehead - outMap.emplace(std::make_pair( "noteheadHeavyXHat", 0xE0F9 )); // glyphnumber: 1739, Heavy X with hat notehead - outMap.emplace(std::make_pair( "noteheadLargeArrowDownBlack", 0xE0F4 )); // glyphnumber: 1740, Large arrow down (lowest pitch) black notehead - outMap.emplace(std::make_pair( "noteheadLargeArrowDownDoubleWhole", 0xE0F1 )); // glyphnumber: 1741, Large arrow down (lowest pitch) double whole notehead - outMap.emplace(std::make_pair( "noteheadLargeArrowDownHalf", 0xE0F3 )); // glyphnumber: 1742, Large arrow down (lowest pitch) half notehead - outMap.emplace(std::make_pair( "noteheadLargeArrowDownWhole", 0xE0F2 )); // glyphnumber: 1743, Large arrow down (lowest pitch) whole notehead - outMap.emplace(std::make_pair( "noteheadLargeArrowUpBlack", 0xE0F0 )); // glyphnumber: 1744, Large arrow up (highest pitch) black notehead - outMap.emplace(std::make_pair( "noteheadLargeArrowUpDoubleWhole", 0xE0ED )); // glyphnumber: 1745, Large arrow up (highest pitch) double whole notehead - outMap.emplace(std::make_pair( "noteheadLargeArrowUpHalf", 0xE0EF )); // glyphnumber: 1746, Large arrow up (highest pitch) half notehead - outMap.emplace(std::make_pair( "noteheadLargeArrowUpWhole", 0xE0EE )); // glyphnumber: 1747, Large arrow up (highest pitch) whole notehead - outMap.emplace(std::make_pair( "noteheadMoonBlack", 0xE0CB )); // glyphnumber: 1748, Moon notehead black - outMap.emplace(std::make_pair( "noteheadMoonWhite", 0xE0CA )); // glyphnumber: 1749, Moon notehead white - outMap.emplace(std::make_pair( "noteheadNull", 0xE0A5 )); // glyphnumber: 1750, Null notehead - outMap.emplace(std::make_pair( "noteheadParenthesis", 0xE0CE )); // glyphnumber: 1751, Parenthesis notehead - outMap.emplace(std::make_pair( "noteheadParenthesisLeft", 0xE0F5 )); // glyphnumber: 1752, Opening parenthesis - outMap.emplace(std::make_pair( "noteheadParenthesisRight", 0xE0F6 )); // glyphnumber: 1753, Closing parenthesis - outMap.emplace(std::make_pair( "noteheadPlusBlack", 0xE0AF )); // glyphnumber: 1754, Plus notehead black - outMap.emplace(std::make_pair( "noteheadPlusDoubleWhole", 0xE0AC )); // glyphnumber: 1755, Plus notehead double whole - outMap.emplace(std::make_pair( "noteheadPlusHalf", 0xE0AE )); // glyphnumber: 1756, Plus notehead half - outMap.emplace(std::make_pair( "noteheadPlusWhole", 0xE0AD )); // glyphnumber: 1757, Plus notehead whole - outMap.emplace(std::make_pair( "noteheadRectangularClusterBlackBottom", 0xE144 )); // glyphnumber: 1758, Combining black rectangular cluster, bottom - outMap.emplace(std::make_pair( "noteheadRectangularClusterBlackMiddle", 0xE143 )); // glyphnumber: 1759, Combining black rectangular cluster, middle - outMap.emplace(std::make_pair( "noteheadRectangularClusterBlackTop", 0xE142 )); // glyphnumber: 1760, Combining black rectangular cluster, top - outMap.emplace(std::make_pair( "noteheadRectangularClusterWhiteBottom", 0xE147 )); // glyphnumber: 1761, Combining white rectangular cluster, bottom - outMap.emplace(std::make_pair( "noteheadRectangularClusterWhiteMiddle", 0xE146 )); // glyphnumber: 1762, Combining white rectangular cluster, middle - outMap.emplace(std::make_pair( "noteheadRectangularClusterWhiteTop", 0xE145 )); // glyphnumber: 1763, Combining white rectangular cluster, top - outMap.emplace(std::make_pair( "noteheadRoundBlack", 0xE113 )); // glyphnumber: 1764, Round black notehead - outMap.emplace(std::make_pair( "noteheadRoundBlackDoubleSlashed", 0xE11C )); // glyphnumber: 1765, Round black notehead, double slashed - outMap.emplace(std::make_pair( "noteheadRoundBlackLarge", 0xE110 )); // glyphnumber: 1766, Large round black notehead - outMap.emplace(std::make_pair( "noteheadRoundBlackSlashed", 0xE118 )); // glyphnumber: 1767, Round black notehead, slashed - outMap.emplace(std::make_pair( "noteheadRoundBlackSlashedLarge", 0xE116 )); // glyphnumber: 1768, Large round black notehead, slashed - outMap.emplace(std::make_pair( "noteheadRoundWhite", 0xE114 )); // glyphnumber: 1769, Round white notehead - outMap.emplace(std::make_pair( "noteheadRoundWhiteDoubleSlashed", 0xE11D )); // glyphnumber: 1770, Round white notehead, double slashed - outMap.emplace(std::make_pair( "noteheadRoundWhiteLarge", 0xE111 )); // glyphnumber: 1771, Large round white notehead - outMap.emplace(std::make_pair( "noteheadRoundWhiteSlashed", 0xE119 )); // glyphnumber: 1772, Round white notehead, slashed - outMap.emplace(std::make_pair( "noteheadRoundWhiteSlashedLarge", 0xE117 )); // glyphnumber: 1773, Large round white notehead, slashed - outMap.emplace(std::make_pair( "noteheadRoundWhiteWithDot", 0xE115 )); // glyphnumber: 1774, Round white notehead with dot - outMap.emplace(std::make_pair( "noteheadRoundWhiteWithDotLarge", 0xE112 )); // glyphnumber: 1775, Large round white notehead with dot - outMap.emplace(std::make_pair( "noteheadSlashDiamondWhite", 0xE104 )); // glyphnumber: 1776, Large white diamond - outMap.emplace(std::make_pair( "noteheadSlashHorizontalEnds", 0xE101 )); // glyphnumber: 1777, Slash with horizontal ends - outMap.emplace(std::make_pair( "noteheadSlashHorizontalEndsMuted", 0xE108 )); // glyphnumber: 1778, Muted slash with horizontal ends - outMap.emplace(std::make_pair( "noteheadSlashVerticalEnds", 0xE100 )); // glyphnumber: 1779, Slash with vertical ends - outMap.emplace(std::make_pair( "noteheadSlashVerticalEndsMuted", 0xE107 )); // glyphnumber: 1780, Muted slash with vertical ends - outMap.emplace(std::make_pair( "noteheadSlashVerticalEndsSmall", 0xE105 )); // glyphnumber: 1781, Small slash with vertical ends - outMap.emplace(std::make_pair( "noteheadSlashWhiteDoubleWhole", 0xE10A )); // glyphnumber: 1782, White slash double whole - outMap.emplace(std::make_pair( "noteheadSlashWhiteHalf", 0xE103 )); // glyphnumber: 1783, White slash half - outMap.emplace(std::make_pair( "noteheadSlashWhiteMuted", 0xE109 )); // glyphnumber: 1784, Muted white slash - outMap.emplace(std::make_pair( "noteheadSlashWhiteWhole", 0xE102 )); // glyphnumber: 1785, White slash whole - outMap.emplace(std::make_pair( "noteheadSlashX", 0xE106 )); // glyphnumber: 1786, Large X notehead - outMap.emplace(std::make_pair( "noteheadSlashedBlack1", 0xE0CF )); // glyphnumber: 1787, Slashed black notehead (bottom left to top right) - outMap.emplace(std::make_pair( "noteheadSlashedBlack2", 0xE0D0 )); // glyphnumber: 1788, Slashed black notehead (top left to bottom right) - outMap.emplace(std::make_pair( "noteheadSlashedDoubleWhole1", 0xE0D5 )); // glyphnumber: 1789, Slashed double whole notehead (bottom left to top right) - outMap.emplace(std::make_pair( "noteheadSlashedDoubleWhole2", 0xE0D6 )); // glyphnumber: 1790, Slashed double whole notehead (top left to bottom right) - outMap.emplace(std::make_pair( "noteheadSlashedHalf1", 0xE0D1 )); // glyphnumber: 1791, Slashed half notehead (bottom left to top right) - outMap.emplace(std::make_pair( "noteheadSlashedHalf2", 0xE0D2 )); // glyphnumber: 1792, Slashed half notehead (top left to bottom right) - outMap.emplace(std::make_pair( "noteheadSlashedWhole1", 0xE0D3 )); // glyphnumber: 1793, Slashed whole notehead (bottom left to top right) - outMap.emplace(std::make_pair( "noteheadSlashedWhole2", 0xE0D4 )); // glyphnumber: 1794, Slashed whole notehead (top left to bottom right) - outMap.emplace(std::make_pair( "noteheadSquareBlack", 0xE0B9 )); // glyphnumber: 1795, Square notehead black - outMap.emplace(std::make_pair( "noteheadSquareBlackLarge", 0xE11A )); // glyphnumber: 1796, Large square black notehead - outMap.emplace(std::make_pair( "noteheadSquareBlackWhite", 0xE11B )); // glyphnumber: 1797, Large square white notehead - outMap.emplace(std::make_pair( "noteheadSquareWhite", 0xE0B8 )); // glyphnumber: 1798, Square notehead white - outMap.emplace(std::make_pair( "noteheadTriangleDownBlack", 0xE0C7 )); // glyphnumber: 1799, Triangle notehead down black - outMap.emplace(std::make_pair( "noteheadTriangleDownDoubleWhole", 0xE0C3 )); // glyphnumber: 1800, Triangle notehead down double whole - outMap.emplace(std::make_pair( "noteheadTriangleDownHalf", 0xE0C5 )); // glyphnumber: 1801, Triangle notehead down half - outMap.emplace(std::make_pair( "noteheadTriangleDownWhite", 0xE0C6 )); // glyphnumber: 1802, Triangle notehead down white - outMap.emplace(std::make_pair( "noteheadTriangleDownWhole", 0xE0C4 )); // glyphnumber: 1803, Triangle notehead down whole - outMap.emplace(std::make_pair( "noteheadTriangleLeftBlack", 0xE0C0 )); // glyphnumber: 1804, Triangle notehead left black - outMap.emplace(std::make_pair( "noteheadTriangleLeftWhite", 0xE0BF )); // glyphnumber: 1805, Triangle notehead left white - outMap.emplace(std::make_pair( "noteheadTriangleRightBlack", 0xE0C2 )); // glyphnumber: 1806, Triangle notehead right black - outMap.emplace(std::make_pair( "noteheadTriangleRightWhite", 0xE0C1 )); // glyphnumber: 1807, Triangle notehead right white - outMap.emplace(std::make_pair( "noteheadTriangleRoundDownBlack", 0xE0CD )); // glyphnumber: 1808, Triangle-round notehead down black - outMap.emplace(std::make_pair( "noteheadTriangleRoundDownWhite", 0xE0CC )); // glyphnumber: 1809, Triangle-round notehead down white - outMap.emplace(std::make_pair( "noteheadTriangleUpBlack", 0xE0BE )); // glyphnumber: 1810, Triangle notehead up black - outMap.emplace(std::make_pair( "noteheadTriangleUpDoubleWhole", 0xE0BA )); // glyphnumber: 1811, Triangle notehead up double whole - outMap.emplace(std::make_pair( "noteheadTriangleUpHalf", 0xE0BC )); // glyphnumber: 1812, Triangle notehead up half - outMap.emplace(std::make_pair( "noteheadTriangleUpRightBlack", 0xE0C9 )); // glyphnumber: 1813, Triangle notehead up right black - outMap.emplace(std::make_pair( "noteheadTriangleUpRightWhite", 0xE0C8 )); // glyphnumber: 1814, Triangle notehead up right white - outMap.emplace(std::make_pair( "noteheadTriangleUpWhite", 0xE0BD )); // glyphnumber: 1815, Triangle notehead up white - outMap.emplace(std::make_pair( "noteheadTriangleUpWhole", 0xE0BB )); // glyphnumber: 1816, Triangle notehead up whole - outMap.emplace(std::make_pair( "noteheadVoidWithX", 0xE0B7 )); // glyphnumber: 1817, Void notehead with X - outMap.emplace(std::make_pair( "noteheadWhole", 0xE0A2 )); // glyphnumber: 1818, Whole (semibreve) notehead - outMap.emplace(std::make_pair( "noteheadWholeFilled", 0xE0FA )); // glyphnumber: 1819, Filled whole (semibreve) notehead - outMap.emplace(std::make_pair( "noteheadWholeWithX", 0xE0B5 )); // glyphnumber: 1820, Whole notehead with X - outMap.emplace(std::make_pair( "noteheadXBlack", 0xE0A9 )); // glyphnumber: 1821, X notehead black - outMap.emplace(std::make_pair( "noteheadXDoubleWhole", 0xE0A6 )); // glyphnumber: 1822, X notehead double whole - outMap.emplace(std::make_pair( "noteheadXHalf", 0xE0A8 )); // glyphnumber: 1823, X notehead half - outMap.emplace(std::make_pair( "noteheadXOrnate", 0xE0AA )); // glyphnumber: 1824, Ornate X notehead - outMap.emplace(std::make_pair( "noteheadXOrnateEllipse", 0xE0AB )); // glyphnumber: 1825, Ornate X notehead in ellipse - outMap.emplace(std::make_pair( "noteheadXWhole", 0xE0A7 )); // glyphnumber: 1826, X notehead whole - outMap.emplace(std::make_pair( "octaveBaselineA", 0xEC91 )); // glyphnumber: 1827, a (baseline) - outMap.emplace(std::make_pair( "octaveBaselineB", 0xEC93 )); // glyphnumber: 1828, b (baseline) - outMap.emplace(std::make_pair( "octaveBaselineM", 0xEC95 )); // glyphnumber: 1829, m (baseline) - outMap.emplace(std::make_pair( "octaveBaselineV", 0xEC97 )); // glyphnumber: 1830, v (baseline) - outMap.emplace(std::make_pair( "octaveBassa", 0xE51F )); // glyphnumber: 1831, Bassa - outMap.emplace(std::make_pair( "octaveLoco", 0xEC90 )); // glyphnumber: 1832, Loco - outMap.emplace(std::make_pair( "octaveParensLeft", 0xE51A )); // glyphnumber: 1833, Left parenthesis for octave signs - outMap.emplace(std::make_pair( "octaveParensRight", 0xE51B )); // glyphnumber: 1834, Right parenthesis for octave signs - outMap.emplace(std::make_pair( "octaveSuperscriptA", 0xEC92 )); // glyphnumber: 1835, a (superscript) - outMap.emplace(std::make_pair( "octaveSuperscriptB", 0xEC94 )); // glyphnumber: 1836, b (superscript) - outMap.emplace(std::make_pair( "octaveSuperscriptM", 0xEC96 )); // glyphnumber: 1837, m (superscript) - outMap.emplace(std::make_pair( "octaveSuperscriptV", 0xEC98 )); // glyphnumber: 1838, v (superscript) - outMap.emplace(std::make_pair( "ornamentBottomLeftConcaveStroke", 0xE59A )); // glyphnumber: 1839, Ornament bottom left concave stroke - outMap.emplace(std::make_pair( "ornamentBottomLeftConcaveStrokeLarge", 0xE59B )); // glyphnumber: 1840, Ornament bottom left concave stroke, large - outMap.emplace(std::make_pair( "ornamentBottomLeftConvexStroke", 0xE59C )); // glyphnumber: 1841, Ornament bottom left convex stroke - outMap.emplace(std::make_pair( "ornamentBottomRightConcaveStroke", 0xE5A7 )); // glyphnumber: 1842, Ornament bottom right concave stroke - outMap.emplace(std::make_pair( "ornamentBottomRightConvexStroke", 0xE5A8 )); // glyphnumber: 1843, Ornament bottom right convex stroke - outMap.emplace(std::make_pair( "ornamentComma", 0xE581 )); // glyphnumber: 1844, Comma - outMap.emplace(std::make_pair( "ornamentDoubleObliqueLinesAfterNote", 0xE57E )); // glyphnumber: 1845, Double oblique straight lines NW-SE - outMap.emplace(std::make_pair( "ornamentDoubleObliqueLinesBeforeNote", 0xE57D )); // glyphnumber: 1846, Double oblique straight lines SW-NE - outMap.emplace(std::make_pair( "ornamentDownCurve", 0xE578 )); // glyphnumber: 1847, Curve below - outMap.emplace(std::make_pair( "ornamentHaydn", 0xE56F )); // glyphnumber: 1848, Haydn ornament - outMap.emplace(std::make_pair( "ornamentHighLeftConcaveStroke", 0xE592 )); // glyphnumber: 1849, Ornament high left concave stroke - outMap.emplace(std::make_pair( "ornamentHighLeftConvexStroke", 0xE593 )); // glyphnumber: 1850, Ornament high left convex stroke - outMap.emplace(std::make_pair( "ornamentHighRightConcaveStroke", 0xE5A2 )); // glyphnumber: 1851, Ornament high right concave stroke - outMap.emplace(std::make_pair( "ornamentHighRightConvexStroke", 0xE5A3 )); // glyphnumber: 1852, Ornament high right convex stroke - outMap.emplace(std::make_pair( "ornamentHookAfterNote", 0xE576 )); // glyphnumber: 1853, Hook after note - outMap.emplace(std::make_pair( "ornamentHookBeforeNote", 0xE575 )); // glyphnumber: 1854, Hook before note - outMap.emplace(std::make_pair( "ornamentLeftFacingHalfCircle", 0xE572 )); // glyphnumber: 1855, Left-facing half circle - outMap.emplace(std::make_pair( "ornamentLeftFacingHook", 0xE574 )); // glyphnumber: 1856, Left-facing hook - outMap.emplace(std::make_pair( "ornamentLeftPlus", 0xE597 )); // glyphnumber: 1857, Ornament left + - outMap.emplace(std::make_pair( "ornamentLeftShakeT", 0xE596 )); // glyphnumber: 1858, Ornament left shake t - outMap.emplace(std::make_pair( "ornamentLeftVerticalStroke", 0xE594 )); // glyphnumber: 1859, Ornament left vertical stroke - outMap.emplace(std::make_pair( "ornamentLeftVerticalStrokeWithCross", 0xE595 )); // glyphnumber: 1860, Ornament left vertical stroke with cross (+) - outMap.emplace(std::make_pair( "ornamentLowLeftConcaveStroke", 0xE598 )); // glyphnumber: 1861, Ornament low left concave stroke - outMap.emplace(std::make_pair( "ornamentLowLeftConvexStroke", 0xE599 )); // glyphnumber: 1862, Ornament low left convex stroke - outMap.emplace(std::make_pair( "ornamentLowRightConcaveStroke", 0xE5A5 )); // glyphnumber: 1863, Ornament low right concave stroke - outMap.emplace(std::make_pair( "ornamentLowRightConvexStroke", 0xE5A6 )); // glyphnumber: 1864, Ornament low right convex stroke - outMap.emplace(std::make_pair( "ornamentMiddleVerticalStroke", 0xE59F )); // glyphnumber: 1865, Ornament middle vertical stroke - outMap.emplace(std::make_pair( "ornamentMordent", 0xE56C )); // glyphnumber: 1866, Mordent - outMap.emplace(std::make_pair( "ornamentMordentInverted", 0xE56D )); // glyphnumber: 1867, Inverted mordent - outMap.emplace(std::make_pair( "ornamentObliqueLineAfterNote", 0xE57C )); // glyphnumber: 1868, Oblique straight line NW-SE - outMap.emplace(std::make_pair( "ornamentObliqueLineBeforeNote", 0xE57B )); // glyphnumber: 1869, Oblique straight line SW-NE - outMap.emplace(std::make_pair( "ornamentObliqueLineHorizAfterNote", 0xE580 )); // glyphnumber: 1870, Oblique straight line tilted NW-SE - outMap.emplace(std::make_pair( "ornamentObliqueLineHorizBeforeNote", 0xE57F )); // glyphnumber: 1871, Oblique straight line tilted SW-NE - outMap.emplace(std::make_pair( "ornamentOriscus", 0xEA21 )); // glyphnumber: 1872, Oriscus - outMap.emplace(std::make_pair( "ornamentPinceCouperin", 0xE588 )); // glyphnumber: 1873, Pincé (Couperin) - outMap.emplace(std::make_pair( "ornamentPortDeVoixV", 0xE570 )); // glyphnumber: 1874, Port de voix - outMap.emplace(std::make_pair( "ornamentPrecompAppoggTrill", 0xE5B2 )); // glyphnumber: 1875, Supported appoggiatura trill - outMap.emplace(std::make_pair( "ornamentPrecompAppoggTrillSuffix", 0xE5B3 )); // glyphnumber: 1876, Supported appoggiatura trill with two-note suffix - outMap.emplace(std::make_pair( "ornamentPrecompCadence", 0xE5BE )); // glyphnumber: 1877, Cadence - outMap.emplace(std::make_pair( "ornamentPrecompCadenceUpperPrefix", 0xE5C1 )); // glyphnumber: 1878, Cadence with upper prefix - outMap.emplace(std::make_pair( "ornamentPrecompCadenceUpperPrefixTurn", 0xE5C2 )); // glyphnumber: 1879, Cadence with upper prefix and turn - outMap.emplace(std::make_pair( "ornamentPrecompCadenceWithTurn", 0xE5BF )); // glyphnumber: 1880, Cadence with turn - outMap.emplace(std::make_pair( "ornamentPrecompDescendingSlide", 0xE5B1 )); // glyphnumber: 1881, Descending slide - outMap.emplace(std::make_pair( "ornamentPrecompDoubleCadenceLowerPrefix", 0xE5C0 )); // glyphnumber: 1882, Double cadence with lower prefix - outMap.emplace(std::make_pair( "ornamentPrecompDoubleCadenceUpperPrefix", 0xE5C3 )); // glyphnumber: 1883, Double cadence with upper prefix - outMap.emplace(std::make_pair( "ornamentPrecompDoubleCadenceUpperPrefixTurn", 0xE5C4 )); // glyphnumber: 1884, Double cadence with upper prefix and turn - outMap.emplace(std::make_pair( "ornamentPrecompInvertedMordentUpperPrefix", 0xE5C7 )); // glyphnumber: 1885, Inverted mordent with upper prefix - outMap.emplace(std::make_pair( "ornamentPrecompMordentRelease", 0xE5C5 )); // glyphnumber: 1886, Mordent with release - outMap.emplace(std::make_pair( "ornamentPrecompMordentUpperPrefix", 0xE5C6 )); // glyphnumber: 1887, Mordent with upper prefix - outMap.emplace(std::make_pair( "ornamentPrecompPortDeVoixMordent", 0xE5BC )); // glyphnumber: 1888, Pre-beat port de voix follwed by multiple mordent (Dandrieu) - outMap.emplace(std::make_pair( "ornamentPrecompSlide", 0xE5B0 )); // glyphnumber: 1889, Slide - outMap.emplace(std::make_pair( "ornamentPrecompSlideTrillBach", 0xE5B8 )); // glyphnumber: 1890, Slide-trill with two-note suffix (J.S. Bach) - outMap.emplace(std::make_pair( "ornamentPrecompSlideTrillDAnglebert", 0xE5B5 )); // glyphnumber: 1891, Slide-trill (D'Anglebert) - outMap.emplace(std::make_pair( "ornamentPrecompSlideTrillMarpurg", 0xE5B6 )); // glyphnumber: 1892, Slide-trill with one-note suffix (Marpurg) - outMap.emplace(std::make_pair( "ornamentPrecompSlideTrillMuffat", 0xE5B9 )); // glyphnumber: 1893, Slide-trill (Muffat) - outMap.emplace(std::make_pair( "ornamentPrecompSlideTrillSuffixMuffat", 0xE5BA )); // glyphnumber: 1894, Slide-trill with two-note suffix (Muffat) - outMap.emplace(std::make_pair( "ornamentPrecompTrillLowerSuffix", 0xE5C8 )); // glyphnumber: 1895, Trill with lower suffix - outMap.emplace(std::make_pair( "ornamentPrecompTrillSuffixDandrieu", 0xE5BB )); // glyphnumber: 1896, Trill with two-note suffix (Dandrieu) - outMap.emplace(std::make_pair( "ornamentPrecompTrillWithMordent", 0xE5BD )); // glyphnumber: 1897, Trill with mordent - outMap.emplace(std::make_pair( "ornamentPrecompTurnTrillBach", 0xE5B7 )); // glyphnumber: 1898, Turn-trill with two-note suffix (J.S. Bach) - outMap.emplace(std::make_pair( "ornamentPrecompTurnTrillDAnglebert", 0xE5B4 )); // glyphnumber: 1899, Turn-trill (D'Anglebert) - outMap.emplace(std::make_pair( "ornamentQuilisma", 0xEA20 )); // glyphnumber: 1900, Quilisma - outMap.emplace(std::make_pair( "ornamentRightFacingHalfCircle", 0xE571 )); // glyphnumber: 1901, Right-facing half circle - outMap.emplace(std::make_pair( "ornamentRightFacingHook", 0xE573 )); // glyphnumber: 1902, Right-facing hook - outMap.emplace(std::make_pair( "ornamentRightVerticalStroke", 0xE5A4 )); // glyphnumber: 1903, Ornament right vertical stroke - outMap.emplace(std::make_pair( "ornamentSchleifer", 0xE587 )); // glyphnumber: 1904, Schleifer (long mordent) - outMap.emplace(std::make_pair( "ornamentShake3", 0xE582 )); // glyphnumber: 1905, Shake - outMap.emplace(std::make_pair( "ornamentShakeMuffat1", 0xE584 )); // glyphnumber: 1906, Shake (Muffat) - outMap.emplace(std::make_pair( "ornamentShortObliqueLineAfterNote", 0xE57A )); // glyphnumber: 1907, Short oblique straight line NW-SE - outMap.emplace(std::make_pair( "ornamentShortObliqueLineBeforeNote", 0xE579 )); // glyphnumber: 1908, Short oblique straight line SW-NE - outMap.emplace(std::make_pair( "ornamentTopLeftConcaveStroke", 0xE590 )); // glyphnumber: 1909, Ornament top left concave stroke - outMap.emplace(std::make_pair( "ornamentTopLeftConvexStroke", 0xE591 )); // glyphnumber: 1910, Ornament top left convex stroke - outMap.emplace(std::make_pair( "ornamentTopRightConcaveStroke", 0xE5A0 )); // glyphnumber: 1911, Ornament top right concave stroke - outMap.emplace(std::make_pair( "ornamentTopRightConvexStroke", 0xE5A1 )); // glyphnumber: 1912, Ornament top right convex stroke - outMap.emplace(std::make_pair( "ornamentTremblement", 0xE56E )); // glyphnumber: 1913, Tremblement - outMap.emplace(std::make_pair( "ornamentTremblementCouperin", 0xE589 )); // glyphnumber: 1914, Tremblement appuyé (Couperin) - outMap.emplace(std::make_pair( "ornamentTrill", 0xE566 )); // glyphnumber: 1915, Trill - outMap.emplace(std::make_pair( "ornamentTurn", 0xE567 )); // glyphnumber: 1916, Turn - outMap.emplace(std::make_pair( "ornamentTurnInverted", 0xE568 )); // glyphnumber: 1917, Inverted turn - outMap.emplace(std::make_pair( "ornamentTurnSlash", 0xE569 )); // glyphnumber: 1918, Turn with slash - outMap.emplace(std::make_pair( "ornamentTurnUp", 0xE56A )); // glyphnumber: 1919, Turn up - outMap.emplace(std::make_pair( "ornamentTurnUpS", 0xE56B )); // glyphnumber: 1920, Inverted turn up - outMap.emplace(std::make_pair( "ornamentUpCurve", 0xE577 )); // glyphnumber: 1921, Curve above - outMap.emplace(std::make_pair( "ornamentVerticalLine", 0xE583 )); // glyphnumber: 1922, Vertical line - outMap.emplace(std::make_pair( "ornamentZigZagLineNoRightEnd", 0xE59D )); // glyphnumber: 1923, Ornament zig-zag line without right-hand end - outMap.emplace(std::make_pair( "ornamentZigZagLineWithRightEnd", 0xE59E )); // glyphnumber: 1924, Ornament zig-zag line with right-hand end - outMap.emplace(std::make_pair( "ottava", 0xE510 )); // glyphnumber: 1925, Ottava - outMap.emplace(std::make_pair( "ottavaAlta", 0xE511 )); // glyphnumber: 1926, Ottava alta - outMap.emplace(std::make_pair( "ottavaBassa", 0xE512 )); // glyphnumber: 1927, Ottava bassa - outMap.emplace(std::make_pair( "ottavaBassaBa", 0xE513 )); // glyphnumber: 1928, Ottava bassa (ba) - outMap.emplace(std::make_pair( "ottavaBassaVb", 0xE51C )); // glyphnumber: 1929, Ottava bassa (8vb) - outMap.emplace(std::make_pair( "pendereckiTremolo", 0xE22B )); // glyphnumber: 1930, Penderecki unmeasured tremolo - outMap.emplace(std::make_pair( "pictAgogo", 0xE717 )); // glyphnumber: 1931, Agogo - outMap.emplace(std::make_pair( "pictAlmglocken", 0xE712 )); // glyphnumber: 1932, Almglocken - outMap.emplace(std::make_pair( "pictAnvil", 0xE701 )); // glyphnumber: 1933, Anvil - outMap.emplace(std::make_pair( "pictBambooChimes", 0xE6C3 )); // glyphnumber: 1934, Bamboo tube chimes - outMap.emplace(std::make_pair( "pictBambooScraper", 0xE6FB )); // glyphnumber: 1935, Bamboo scraper - outMap.emplace(std::make_pair( "pictBassDrum", 0xE6D4 )); // glyphnumber: 1936, Bass drum - outMap.emplace(std::make_pair( "pictBassDrumOnSide", 0xE6D5 )); // glyphnumber: 1937, Bass drum on side - outMap.emplace(std::make_pair( "pictBeaterBow", 0xE7DE )); // glyphnumber: 1938, Bow - outMap.emplace(std::make_pair( "pictBeaterBox", 0xE7EB )); // glyphnumber: 1939, Box for percussion beater - outMap.emplace(std::make_pair( "pictBeaterBrassMalletsDown", 0xE7DA )); // glyphnumber: 1940, Brass mallets down - outMap.emplace(std::make_pair( "pictBeaterBrassMalletsUp", 0xE7D9 )); // glyphnumber: 1941, Brass mallets up - outMap.emplace(std::make_pair( "pictBeaterCombiningDashedCircle", 0xE7EA )); // glyphnumber: 1942, Combining dashed circle for round beaters (plated) - outMap.emplace(std::make_pair( "pictBeaterCombiningParentheses", 0xE7E9 )); // glyphnumber: 1943, Combining parentheses for round beaters (padded) - outMap.emplace(std::make_pair( "pictBeaterDoubleBassDrumDown", 0xE7A1 )); // glyphnumber: 1944, Double bass drum stick down - outMap.emplace(std::make_pair( "pictBeaterDoubleBassDrumUp", 0xE7A0 )); // glyphnumber: 1945, Double bass drum stick up - outMap.emplace(std::make_pair( "pictBeaterFinger", 0xE7E4 )); // glyphnumber: 1946, Finger - outMap.emplace(std::make_pair( "pictBeaterFingernails", 0xE7E6 )); // glyphnumber: 1947, Fingernails - outMap.emplace(std::make_pair( "pictBeaterFist", 0xE7E5 )); // glyphnumber: 1948, Fist - outMap.emplace(std::make_pair( "pictBeaterGuiroScraper", 0xE7DD )); // glyphnumber: 1949, Guiro scraper - outMap.emplace(std::make_pair( "pictBeaterHammer", 0xE7E1 )); // glyphnumber: 1950, Hammer - outMap.emplace(std::make_pair( "pictBeaterHammerMetalDown", 0xE7D0 )); // glyphnumber: 1951, Metal hammer, down - outMap.emplace(std::make_pair( "pictBeaterHammerMetalUp", 0xE7CF )); // glyphnumber: 1952, Metal hammer, up - outMap.emplace(std::make_pair( "pictBeaterHammerPlasticDown", 0xE7CE )); // glyphnumber: 1953, Plastic hammer, down - outMap.emplace(std::make_pair( "pictBeaterHammerPlasticUp", 0xE7CD )); // glyphnumber: 1954, Plastic hammer, up - outMap.emplace(std::make_pair( "pictBeaterHammerWoodDown", 0xE7CC )); // glyphnumber: 1955, Wooden hammer, down - outMap.emplace(std::make_pair( "pictBeaterHammerWoodUp", 0xE7CB )); // glyphnumber: 1956, Wooden hammer, up - outMap.emplace(std::make_pair( "pictBeaterHand", 0xE7E3 )); // glyphnumber: 1957, Hand - outMap.emplace(std::make_pair( "pictBeaterHardBassDrumDown", 0xE79D )); // glyphnumber: 1958, Hard bass drum stick down - outMap.emplace(std::make_pair( "pictBeaterHardBassDrumUp", 0xE79C )); // glyphnumber: 1959, Hard bass drum stick up - outMap.emplace(std::make_pair( "pictBeaterHardGlockenspielDown", 0xE785 )); // glyphnumber: 1960, Hard glockenspiel stick down - outMap.emplace(std::make_pair( "pictBeaterHardGlockenspielLeft", 0xE787 )); // glyphnumber: 1961, Hard glockenspiel stick left - outMap.emplace(std::make_pair( "pictBeaterHardGlockenspielRight", 0xE786 )); // glyphnumber: 1962, Hard glockenspiel stick right - outMap.emplace(std::make_pair( "pictBeaterHardGlockenspielUp", 0xE784 )); // glyphnumber: 1963, Hard glockenspiel stick up - outMap.emplace(std::make_pair( "pictBeaterHardTimpaniDown", 0xE791 )); // glyphnumber: 1964, Hard timpani stick down - outMap.emplace(std::make_pair( "pictBeaterHardTimpaniLeft", 0xE793 )); // glyphnumber: 1965, Hard timpani stick left - outMap.emplace(std::make_pair( "pictBeaterHardTimpaniRight", 0xE792 )); // glyphnumber: 1966, Hard timpani stick right - outMap.emplace(std::make_pair( "pictBeaterHardTimpaniUp", 0xE790 )); // glyphnumber: 1967, Hard timpani stick up - outMap.emplace(std::make_pair( "pictBeaterHardXylophoneDown", 0xE779 )); // glyphnumber: 1968, Hard xylophone stick down - outMap.emplace(std::make_pair( "pictBeaterHardXylophoneLeft", 0xE77B )); // glyphnumber: 1969, Hard xylophone stick left - outMap.emplace(std::make_pair( "pictBeaterHardXylophoneRight", 0xE77A )); // glyphnumber: 1970, Hard xylophone stick right - outMap.emplace(std::make_pair( "pictBeaterHardXylophoneUp", 0xE778 )); // glyphnumber: 1971, Hard xylophone stick up - outMap.emplace(std::make_pair( "pictBeaterHardYarnDown", 0xE7AB )); // glyphnumber: 1972, Hard yarn beater down - outMap.emplace(std::make_pair( "pictBeaterHardYarnLeft", 0xE7AD )); // glyphnumber: 1973, Hard yarn beater left - outMap.emplace(std::make_pair( "pictBeaterHardYarnRight", 0xE7AC )); // glyphnumber: 1974, Hard yarn beater right - outMap.emplace(std::make_pair( "pictBeaterHardYarnUp", 0xE7AA )); // glyphnumber: 1975, Hard yarn beater up - outMap.emplace(std::make_pair( "pictBeaterJazzSticksDown", 0xE7D4 )); // glyphnumber: 1976, Jazz sticks down - outMap.emplace(std::make_pair( "pictBeaterJazzSticksUp", 0xE7D3 )); // glyphnumber: 1977, Jazz sticks up - outMap.emplace(std::make_pair( "pictBeaterKnittingNeedle", 0xE7E2 )); // glyphnumber: 1978, Knitting needle - outMap.emplace(std::make_pair( "pictBeaterMallet", 0xE7DF )); // glyphnumber: 1979, Chime hammer - outMap.emplace(std::make_pair( "pictBeaterMediumBassDrumDown", 0xE79B )); // glyphnumber: 1980, Medium bass drum stick down - outMap.emplace(std::make_pair( "pictBeaterMediumBassDrumUp", 0xE79A )); // glyphnumber: 1981, Medium bass drum stick up - outMap.emplace(std::make_pair( "pictBeaterMediumTimpaniDown", 0xE78D )); // glyphnumber: 1982, Medium timpani stick down - outMap.emplace(std::make_pair( "pictBeaterMediumTimpaniLeft", 0xE78F )); // glyphnumber: 1983, Medium timpani stick left - outMap.emplace(std::make_pair( "pictBeaterMediumTimpaniRight", 0xE78E )); // glyphnumber: 1984, Medium timpani stick right - outMap.emplace(std::make_pair( "pictBeaterMediumTimpaniUp", 0xE78C )); // glyphnumber: 1985, Medium timpani stick up - outMap.emplace(std::make_pair( "pictBeaterMediumXylophoneDown", 0xE775 )); // glyphnumber: 1986, Medium xylophone stick down - outMap.emplace(std::make_pair( "pictBeaterMediumXylophoneLeft", 0xE777 )); // glyphnumber: 1987, Medium xylophone stick left - outMap.emplace(std::make_pair( "pictBeaterMediumXylophoneRight", 0xE776 )); // glyphnumber: 1988, Medium xylophone stick right - outMap.emplace(std::make_pair( "pictBeaterMediumXylophoneUp", 0xE774 )); // glyphnumber: 1989, Medium xylophone stick up - outMap.emplace(std::make_pair( "pictBeaterMediumYarnDown", 0xE7A7 )); // glyphnumber: 1990, Medium yarn beater down - outMap.emplace(std::make_pair( "pictBeaterMediumYarnLeft", 0xE7A9 )); // glyphnumber: 1991, Medium yarn beater left - outMap.emplace(std::make_pair( "pictBeaterMediumYarnRight", 0xE7A8 )); // glyphnumber: 1992, Medium yarn beater right - outMap.emplace(std::make_pair( "pictBeaterMediumYarnUp", 0xE7A6 )); // glyphnumber: 1993, Medium yarn beater up - outMap.emplace(std::make_pair( "pictBeaterMetalBassDrumDown", 0xE79F )); // glyphnumber: 1994, Metal bass drum stick down - outMap.emplace(std::make_pair( "pictBeaterMetalBassDrumUp", 0xE79E )); // glyphnumber: 1995, Metal bass drum stick up - outMap.emplace(std::make_pair( "pictBeaterMetalDown", 0xE7C8 )); // glyphnumber: 1996, Metal beater down - outMap.emplace(std::make_pair( "pictBeaterMetalHammer", 0xE7E0 )); // glyphnumber: 1997, Metal hammer - outMap.emplace(std::make_pair( "pictBeaterMetalLeft", 0xE7CA )); // glyphnumber: 1998, Metal beater, left - outMap.emplace(std::make_pair( "pictBeaterMetalRight", 0xE7C9 )); // glyphnumber: 1999, Metal beater, right - outMap.emplace(std::make_pair( "pictBeaterMetalUp", 0xE7C7 )); // glyphnumber: 2000, Metal beater, up - outMap.emplace(std::make_pair( "pictBeaterSnareSticksDown", 0xE7D2 )); // glyphnumber: 2001, Snare sticks down - outMap.emplace(std::make_pair( "pictBeaterSnareSticksUp", 0xE7D1 )); // glyphnumber: 2002, Snare sticks up - outMap.emplace(std::make_pair( "pictBeaterSoftBassDrumDown", 0xE799 )); // glyphnumber: 2003, Soft bass drum stick down - outMap.emplace(std::make_pair( "pictBeaterSoftBassDrumUp", 0xE798 )); // glyphnumber: 2004, Soft bass drum stick up - outMap.emplace(std::make_pair( "pictBeaterSoftGlockenspielDown", 0xE781 )); // glyphnumber: 2005, Soft glockenspiel stick down - outMap.emplace(std::make_pair( "pictBeaterSoftGlockenspielLeft", 0xE783 )); // glyphnumber: 2006, Soft glockenspiel stick left - outMap.emplace(std::make_pair( "pictBeaterSoftGlockenspielRight", 0xE782 )); // glyphnumber: 2007, Soft glockenspiel stick right - outMap.emplace(std::make_pair( "pictBeaterSoftGlockenspielUp", 0xE780 )); // glyphnumber: 2008, Soft glockenspiel stick up - outMap.emplace(std::make_pair( "pictBeaterSoftTimpaniDown", 0xE789 )); // glyphnumber: 2009, Soft timpani stick down - outMap.emplace(std::make_pair( "pictBeaterSoftTimpaniLeft", 0xE78B )); // glyphnumber: 2010, Soft timpani stick left - outMap.emplace(std::make_pair( "pictBeaterSoftTimpaniRight", 0xE78A )); // glyphnumber: 2011, Soft timpani stick right - outMap.emplace(std::make_pair( "pictBeaterSoftTimpaniUp", 0xE788 )); // glyphnumber: 2012, Soft timpani stick up - outMap.emplace(std::make_pair( "pictBeaterSoftXylophone", 0xE7DB )); // glyphnumber: 2013, Soft xylophone beaters - outMap.emplace(std::make_pair( "pictBeaterSoftXylophoneDown", 0xE771 )); // glyphnumber: 2014, Soft xylophone stick down - outMap.emplace(std::make_pair( "pictBeaterSoftXylophoneLeft", 0xE773 )); // glyphnumber: 2015, Soft xylophone stick left - outMap.emplace(std::make_pair( "pictBeaterSoftXylophoneRight", 0xE772 )); // glyphnumber: 2016, Soft xylophone stick right - outMap.emplace(std::make_pair( "pictBeaterSoftXylophoneUp", 0xE770 )); // glyphnumber: 2017, Soft xylophone stick up - outMap.emplace(std::make_pair( "pictBeaterSoftYarnDown", 0xE7A3 )); // glyphnumber: 2018, Soft yarn beater down - outMap.emplace(std::make_pair( "pictBeaterSoftYarnLeft", 0xE7A5 )); // glyphnumber: 2019, Soft yarn beater left - outMap.emplace(std::make_pair( "pictBeaterSoftYarnRight", 0xE7A4 )); // glyphnumber: 2020, Soft yarn beater right - outMap.emplace(std::make_pair( "pictBeaterSoftYarnUp", 0xE7A2 )); // glyphnumber: 2021, Soft yarn beater up - outMap.emplace(std::make_pair( "pictBeaterSpoonWoodenMallet", 0xE7DC )); // glyphnumber: 2022, Spoon-shaped wooden mallet - outMap.emplace(std::make_pair( "pictBeaterSuperballDown", 0xE7AF )); // glyphnumber: 2023, Superball beater down - outMap.emplace(std::make_pair( "pictBeaterSuperballLeft", 0xE7B1 )); // glyphnumber: 2024, Superball beater left - outMap.emplace(std::make_pair( "pictBeaterSuperballRight", 0xE7B0 )); // glyphnumber: 2025, Superball beater right - outMap.emplace(std::make_pair( "pictBeaterSuperballUp", 0xE7AE )); // glyphnumber: 2026, Superball beater up - outMap.emplace(std::make_pair( "pictBeaterTriangleDown", 0xE7D6 )); // glyphnumber: 2027, Triangle beater down - outMap.emplace(std::make_pair( "pictBeaterTriangleUp", 0xE7D5 )); // glyphnumber: 2028, Triangle beater up - outMap.emplace(std::make_pair( "pictBeaterWireBrushesDown", 0xE7D8 )); // glyphnumber: 2029, Wire brushes down - outMap.emplace(std::make_pair( "pictBeaterWireBrushesUp", 0xE7D7 )); // glyphnumber: 2030, Wire brushes up - outMap.emplace(std::make_pair( "pictBeaterWoodTimpaniDown", 0xE795 )); // glyphnumber: 2031, Wood timpani stick down - outMap.emplace(std::make_pair( "pictBeaterWoodTimpaniLeft", 0xE797 )); // glyphnumber: 2032, Wood timpani stick left - outMap.emplace(std::make_pair( "pictBeaterWoodTimpaniRight", 0xE796 )); // glyphnumber: 2033, Wood timpani stick right - outMap.emplace(std::make_pair( "pictBeaterWoodTimpaniUp", 0xE794 )); // glyphnumber: 2034, Wood timpani stick up - outMap.emplace(std::make_pair( "pictBeaterWoodXylophoneDown", 0xE77D )); // glyphnumber: 2035, Wood xylophone stick down - outMap.emplace(std::make_pair( "pictBeaterWoodXylophoneLeft", 0xE77F )); // glyphnumber: 2036, Wood xylophone stick left - outMap.emplace(std::make_pair( "pictBeaterWoodXylophoneRight", 0xE77E )); // glyphnumber: 2037, Wood xylophone stick right - outMap.emplace(std::make_pair( "pictBeaterWoodXylophoneUp", 0xE77C )); // glyphnumber: 2038, Wood xylophone stick up - outMap.emplace(std::make_pair( "pictBell", 0xE714 )); // glyphnumber: 2039, Bell - outMap.emplace(std::make_pair( "pictBellOfCymbal", 0xE72A )); // glyphnumber: 2040, Bell of cymbal - outMap.emplace(std::make_pair( "pictBellPlate", 0xE713 )); // glyphnumber: 2041, Bell plate - outMap.emplace(std::make_pair( "pictBellTree", 0xE71A )); // glyphnumber: 2042, Bell tree - outMap.emplace(std::make_pair( "pictBirdWhistle", 0xE751 )); // glyphnumber: 2043, Bird whistle - outMap.emplace(std::make_pair( "pictBoardClapper", 0xE6F7 )); // glyphnumber: 2044, Board clapper - outMap.emplace(std::make_pair( "pictBongos", 0xE6DD )); // glyphnumber: 2045, Bongos - outMap.emplace(std::make_pair( "pictBrakeDrum", 0xE6E1 )); // glyphnumber: 2046, Brake drum - outMap.emplace(std::make_pair( "pictCabasa", 0xE743 )); // glyphnumber: 2047, Cabasa - outMap.emplace(std::make_pair( "pictCannon", 0xE761 )); // glyphnumber: 2048, Cannon - outMap.emplace(std::make_pair( "pictCarHorn", 0xE755 )); // glyphnumber: 2049, Car horn - outMap.emplace(std::make_pair( "pictCastanets", 0xE6F8 )); // glyphnumber: 2050, Castanets - outMap.emplace(std::make_pair( "pictCastanetsWithHandle", 0xE6F9 )); // glyphnumber: 2051, Castanets with handle - outMap.emplace(std::make_pair( "pictCelesta", 0xE6B0 )); // glyphnumber: 2052, Celesta - outMap.emplace(std::make_pair( "pictCencerro", 0xE716 )); // glyphnumber: 2053, Cencerro - outMap.emplace(std::make_pair( "pictCenter1", 0xE7FE )); // glyphnumber: 2054, Center (Weinberg) - outMap.emplace(std::make_pair( "pictCenter2", 0xE7FF )); // glyphnumber: 2055, Center (Ghent) - outMap.emplace(std::make_pair( "pictCenter3", 0xE800 )); // glyphnumber: 2056, Center (Caltabiano) - outMap.emplace(std::make_pair( "pictChainRattle", 0xE748 )); // glyphnumber: 2057, Chain rattle - outMap.emplace(std::make_pair( "pictChimes", 0xE6C2 )); // glyphnumber: 2058, Chimes - outMap.emplace(std::make_pair( "pictChineseCymbal", 0xE726 )); // glyphnumber: 2059, Chinese cymbal - outMap.emplace(std::make_pair( "pictChokeCymbal", 0xE805 )); // glyphnumber: 2060, Choke (Weinberg) - outMap.emplace(std::make_pair( "pictClaves", 0xE6F2 )); // glyphnumber: 2061, Claves - outMap.emplace(std::make_pair( "pictCoins", 0xE7E7 )); // glyphnumber: 2062, Coins - outMap.emplace(std::make_pair( "pictConga", 0xE6DE )); // glyphnumber: 2063, Conga - outMap.emplace(std::make_pair( "pictCowBell", 0xE711 )); // glyphnumber: 2064, Cow bell - outMap.emplace(std::make_pair( "pictCrashCymbals", 0xE720 )); // glyphnumber: 2065, Crash cymbals - outMap.emplace(std::make_pair( "pictCrotales", 0xE6AE )); // glyphnumber: 2066, Crotales - outMap.emplace(std::make_pair( "pictCrushStem", 0xE80C )); // glyphnumber: 2067, Combining crush for stem - outMap.emplace(std::make_pair( "pictCuica", 0xE6E4 )); // glyphnumber: 2068, Cuica - outMap.emplace(std::make_pair( "pictCymbalTongs", 0xE728 )); // glyphnumber: 2069, Cymbal tongs - outMap.emplace(std::make_pair( "pictDamp1", 0xE7F9 )); // glyphnumber: 2070, Damp - outMap.emplace(std::make_pair( "pictDamp2", 0xE7FA )); // glyphnumber: 2071, Damp 2 - outMap.emplace(std::make_pair( "pictDamp3", 0xE7FB )); // glyphnumber: 2072, Damp 3 - outMap.emplace(std::make_pair( "pictDamp4", 0xE7FC )); // glyphnumber: 2073, Damp 4 - outMap.emplace(std::make_pair( "pictDeadNoteStem", 0xE80D )); // glyphnumber: 2074, Combining X for stem (dead note) - outMap.emplace(std::make_pair( "pictDrumStick", 0xE7E8 )); // glyphnumber: 2075, Drum stick - outMap.emplace(std::make_pair( "pictDuckCall", 0xE757 )); // glyphnumber: 2076, Duck call - outMap.emplace(std::make_pair( "pictEdgeOfCymbal", 0xE729 )); // glyphnumber: 2077, Edge of cymbal - outMap.emplace(std::make_pair( "pictEmptyTrap", 0xE6A9 )); // glyphnumber: 2078, Empty trapezoid - outMap.emplace(std::make_pair( "pictFingerCymbals", 0xE727 )); // glyphnumber: 2079, Finger cymbals - outMap.emplace(std::make_pair( "pictFlexatone", 0xE740 )); // glyphnumber: 2080, Flexatone - outMap.emplace(std::make_pair( "pictFootballRatchet", 0xE6F5 )); // glyphnumber: 2081, Football rattle - outMap.emplace(std::make_pair( "pictGlassHarmonica", 0xE765 )); // glyphnumber: 2082, Glass harmonica - outMap.emplace(std::make_pair( "pictGlassHarp", 0xE764 )); // glyphnumber: 2083, Glass harp - outMap.emplace(std::make_pair( "pictGlassPlateChimes", 0xE6C6 )); // glyphnumber: 2084, Glass plate chimes - outMap.emplace(std::make_pair( "pictGlassTubeChimes", 0xE6C5 )); // glyphnumber: 2085, Glass tube chimes - outMap.emplace(std::make_pair( "pictGlsp", 0xE6A0 )); // glyphnumber: 2086, Glockenspiel - outMap.emplace(std::make_pair( "pictGlspSmithBrindle", 0xE6AA )); // glyphnumber: 2087, Glockenspiel (Smith Brindle) - outMap.emplace(std::make_pair( "pictGobletDrum", 0xE6E2 )); // glyphnumber: 2088, Goblet drum (djembe, dumbek) - outMap.emplace(std::make_pair( "pictGong", 0xE732 )); // glyphnumber: 2089, Gong - outMap.emplace(std::make_pair( "pictGongWithButton", 0xE733 )); // glyphnumber: 2090, Gong with button (nipple) - outMap.emplace(std::make_pair( "pictGuiro", 0xE6F3 )); // glyphnumber: 2091, Guiro - outMap.emplace(std::make_pair( "pictGumHardDown", 0xE7C4 )); // glyphnumber: 2092, Hard gum beater, down - outMap.emplace(std::make_pair( "pictGumHardLeft", 0xE7C6 )); // glyphnumber: 2093, Hard gum beater, left - outMap.emplace(std::make_pair( "pictGumHardRight", 0xE7C5 )); // glyphnumber: 2094, Hard gum beater, right - outMap.emplace(std::make_pair( "pictGumHardUp", 0xE7C3 )); // glyphnumber: 2095, Hard gum beater, up - outMap.emplace(std::make_pair( "pictGumMediumDown", 0xE7C0 )); // glyphnumber: 2096, Medium gum beater, down - outMap.emplace(std::make_pair( "pictGumMediumLeft", 0xE7C2 )); // glyphnumber: 2097, Medium gum beater, left - outMap.emplace(std::make_pair( "pictGumMediumRight", 0xE7C1 )); // glyphnumber: 2098, Medium gum beater, right - outMap.emplace(std::make_pair( "pictGumMediumUp", 0xE7BF )); // glyphnumber: 2099, Medium gum beater, up - outMap.emplace(std::make_pair( "pictGumSoftDown", 0xE7BC )); // glyphnumber: 2100, Soft gum beater, down - outMap.emplace(std::make_pair( "pictGumSoftLeft", 0xE7BE )); // glyphnumber: 2101, Soft gum beater, left - outMap.emplace(std::make_pair( "pictGumSoftRight", 0xE7BD )); // glyphnumber: 2102, Soft gum beater, right - outMap.emplace(std::make_pair( "pictGumSoftUp", 0xE7BB )); // glyphnumber: 2103, Soft gum beater, up - outMap.emplace(std::make_pair( "pictHalfOpen1", 0xE7F6 )); // glyphnumber: 2104, Half-open - outMap.emplace(std::make_pair( "pictHalfOpen2", 0xE7F7 )); // glyphnumber: 2105, Half-open 2 (Weinberg) - outMap.emplace(std::make_pair( "pictHandbell", 0xE715 )); // glyphnumber: 2106, Handbell - outMap.emplace(std::make_pair( "pictHiHat", 0xE722 )); // glyphnumber: 2107, Hi-hat - outMap.emplace(std::make_pair( "pictHiHatOnStand", 0xE723 )); // glyphnumber: 2108, Hi-hat cymbals on stand - outMap.emplace(std::make_pair( "pictJawHarp", 0xE767 )); // glyphnumber: 2109, Jaw harp - outMap.emplace(std::make_pair( "pictJingleBells", 0xE719 )); // glyphnumber: 2110, Jingle bells - outMap.emplace(std::make_pair( "pictKlaxonHorn", 0xE756 )); // glyphnumber: 2111, Klaxon horn - outMap.emplace(std::make_pair( "pictLeftHandCircle", 0xE807 )); // glyphnumber: 2112, Right hand (Agostini) - outMap.emplace(std::make_pair( "pictLionsRoar", 0xE763 )); // glyphnumber: 2113, Lion's roar - outMap.emplace(std::make_pair( "pictLithophone", 0xE6B1 )); // glyphnumber: 2114, Lithophone - outMap.emplace(std::make_pair( "pictLogDrum", 0xE6DF )); // glyphnumber: 2115, Log drum - outMap.emplace(std::make_pair( "pictLotusFlute", 0xE75A )); // glyphnumber: 2116, Lotus flute - outMap.emplace(std::make_pair( "pictMar", 0xE6A6 )); // glyphnumber: 2117, Marimba - outMap.emplace(std::make_pair( "pictMarSmithBrindle", 0xE6AC )); // glyphnumber: 2118, Marimba (Smith Brindle) - outMap.emplace(std::make_pair( "pictMaraca", 0xE741 )); // glyphnumber: 2119, Maraca - outMap.emplace(std::make_pair( "pictMaracas", 0xE742 )); // glyphnumber: 2120, Maracas - outMap.emplace(std::make_pair( "pictMegaphone", 0xE759 )); // glyphnumber: 2121, Megaphone - outMap.emplace(std::make_pair( "pictMetalPlateChimes", 0xE6C8 )); // glyphnumber: 2122, Metal plate chimes - outMap.emplace(std::make_pair( "pictMetalTubeChimes", 0xE6C7 )); // glyphnumber: 2123, Metal tube chimes - outMap.emplace(std::make_pair( "pictMusicalSaw", 0xE766 )); // glyphnumber: 2124, Musical saw - outMap.emplace(std::make_pair( "pictNormalPosition", 0xE804 )); // glyphnumber: 2125, Normal position (Caltabiano) - outMap.emplace(std::make_pair( "pictOnRim", 0xE7F4 )); // glyphnumber: 2126, On rim - outMap.emplace(std::make_pair( "pictOpen", 0xE7F8 )); // glyphnumber: 2127, Open - outMap.emplace(std::make_pair( "pictOpenRimShot", 0xE7F5 )); // glyphnumber: 2128, Closed / rim shot - outMap.emplace(std::make_pair( "pictPistolShot", 0xE760 )); // glyphnumber: 2129, Pistol shot - outMap.emplace(std::make_pair( "pictPoliceWhistle", 0xE752 )); // glyphnumber: 2130, Police whistle - outMap.emplace(std::make_pair( "pictQuijada", 0xE6FA )); // glyphnumber: 2131, Quijada (jawbone) - outMap.emplace(std::make_pair( "pictRainstick", 0xE747 )); // glyphnumber: 2132, Rainstick - outMap.emplace(std::make_pair( "pictRatchet", 0xE6F4 )); // glyphnumber: 2133, Ratchet - outMap.emplace(std::make_pair( "pictRecoReco", 0xE6FC )); // glyphnumber: 2134, Reco-reco - outMap.emplace(std::make_pair( "pictRightHandSquare", 0xE806 )); // glyphnumber: 2135, Left hand (Agostini) - outMap.emplace(std::make_pair( "pictRim1", 0xE801 )); // glyphnumber: 2136, Rim or edge (Weinberg) - outMap.emplace(std::make_pair( "pictRim2", 0xE802 )); // glyphnumber: 2137, Rim (Ghent) - outMap.emplace(std::make_pair( "pictRim3", 0xE803 )); // glyphnumber: 2138, Rim (Caltabiano) - outMap.emplace(std::make_pair( "pictRimShotOnStem", 0xE7FD )); // glyphnumber: 2139, Rim shot for stem - outMap.emplace(std::make_pair( "pictSandpaperBlocks", 0xE762 )); // glyphnumber: 2140, Sandpaper blocks - outMap.emplace(std::make_pair( "pictScrapeAroundRim", 0xE7F3 )); // glyphnumber: 2141, Scrape around rim (counter-clockwise) - outMap.emplace(std::make_pair( "pictScrapeAroundRimClockwise", 0xE80E )); // glyphnumber: 2142, Scrape around rim (clockwise) - outMap.emplace(std::make_pair( "pictScrapeCenterToEdge", 0xE7F1 )); // glyphnumber: 2143, Scrape from center to edge - outMap.emplace(std::make_pair( "pictScrapeEdgeToCenter", 0xE7F2 )); // glyphnumber: 2144, Scrape from edge to center - outMap.emplace(std::make_pair( "pictShellBells", 0xE718 )); // glyphnumber: 2145, Shell bells - outMap.emplace(std::make_pair( "pictShellChimes", 0xE6C4 )); // glyphnumber: 2146, Shell chimes - outMap.emplace(std::make_pair( "pictSiren", 0xE753 )); // glyphnumber: 2147, Siren - outMap.emplace(std::make_pair( "pictSistrum", 0xE746 )); // glyphnumber: 2148, Sistrum - outMap.emplace(std::make_pair( "pictSizzleCymbal", 0xE724 )); // glyphnumber: 2149, Sizzle cymbal - outMap.emplace(std::make_pair( "pictSleighBell", 0xE710 )); // glyphnumber: 2150, Sleigh bell - outMap.emplace(std::make_pair( "pictSlideBrushOnGong", 0xE734 )); // glyphnumber: 2151, Slide brush on gong - outMap.emplace(std::make_pair( "pictSlideWhistle", 0xE750 )); // glyphnumber: 2152, Slide whistle - outMap.emplace(std::make_pair( "pictSlitDrum", 0xE6E0 )); // glyphnumber: 2153, Slit drum - outMap.emplace(std::make_pair( "pictSnareDrum", 0xE6D1 )); // glyphnumber: 2154, Snare drum - outMap.emplace(std::make_pair( "pictSnareDrumMilitary", 0xE6D3 )); // glyphnumber: 2155, Military snare drum - outMap.emplace(std::make_pair( "pictSnareDrumSnaresOff", 0xE6D2 )); // glyphnumber: 2156, Snare drum, snares off - outMap.emplace(std::make_pair( "pictSteelDrums", 0xE6AF )); // glyphnumber: 2157, Steel drums - outMap.emplace(std::make_pair( "pictStickShot", 0xE7F0 )); // glyphnumber: 2158, Stick shot - outMap.emplace(std::make_pair( "pictSuperball", 0xE7B2 )); // glyphnumber: 2159, Superball - outMap.emplace(std::make_pair( "pictSuspendedCymbal", 0xE721 )); // glyphnumber: 2160, Suspended cymbal - outMap.emplace(std::make_pair( "pictSwishStem", 0xE808 )); // glyphnumber: 2161, Combining swish for stem - outMap.emplace(std::make_pair( "pictTabla", 0xE6E3 )); // glyphnumber: 2162, Indian tabla - outMap.emplace(std::make_pair( "pictTamTam", 0xE730 )); // glyphnumber: 2163, Tam-tam - outMap.emplace(std::make_pair( "pictTamTamWithBeater", 0xE731 )); // glyphnumber: 2164, Tam-tam with beater (Smith Brindle) - outMap.emplace(std::make_pair( "pictTambourine", 0xE6DB )); // glyphnumber: 2165, Tambourine - outMap.emplace(std::make_pair( "pictTempleBlocks", 0xE6F1 )); // glyphnumber: 2166, Temple blocks - outMap.emplace(std::make_pair( "pictTenorDrum", 0xE6D6 )); // glyphnumber: 2167, Tenor drum - outMap.emplace(std::make_pair( "pictThundersheet", 0xE744 )); // glyphnumber: 2168, Thundersheet - outMap.emplace(std::make_pair( "pictTimbales", 0xE6DC )); // glyphnumber: 2169, Timbales - outMap.emplace(std::make_pair( "pictTimpani", 0xE6D0 )); // glyphnumber: 2170, Timpani - outMap.emplace(std::make_pair( "pictTomTom", 0xE6D7 )); // glyphnumber: 2171, Tom-tom - outMap.emplace(std::make_pair( "pictTomTomChinese", 0xE6D8 )); // glyphnumber: 2172, Chinese tom-tom - outMap.emplace(std::make_pair( "pictTomTomIndoAmerican", 0xE6DA )); // glyphnumber: 2173, Indo-American tom tom - outMap.emplace(std::make_pair( "pictTomTomJapanese", 0xE6D9 )); // glyphnumber: 2174, Japanese tom-tom - outMap.emplace(std::make_pair( "pictTriangle", 0xE700 )); // glyphnumber: 2175, Triangle - outMap.emplace(std::make_pair( "pictTubaphone", 0xE6B2 )); // glyphnumber: 2176, Tubaphone - outMap.emplace(std::make_pair( "pictTubularBells", 0xE6C0 )); // glyphnumber: 2177, Tubular bells - outMap.emplace(std::make_pair( "pictTurnLeftStem", 0xE80A )); // glyphnumber: 2178, Combining turn left for stem - outMap.emplace(std::make_pair( "pictTurnRightLeftStem", 0xE80B )); // glyphnumber: 2179, Combining turn left or right for stem - outMap.emplace(std::make_pair( "pictTurnRightStem", 0xE809 )); // glyphnumber: 2180, Combining turn right for stem - outMap.emplace(std::make_pair( "pictVib", 0xE6A7 )); // glyphnumber: 2181, Vibraphone - outMap.emplace(std::make_pair( "pictVibMotorOff", 0xE6A8 )); // glyphnumber: 2182, Metallophone (vibraphone motor off) - outMap.emplace(std::make_pair( "pictVibSmithBrindle", 0xE6AD )); // glyphnumber: 2183, Vibraphone (Smith Brindle) - outMap.emplace(std::make_pair( "pictVibraslap", 0xE745 )); // glyphnumber: 2184, Vibraslap - outMap.emplace(std::make_pair( "pictVietnameseHat", 0xE725 )); // glyphnumber: 2185, Vietnamese hat cymbal - outMap.emplace(std::make_pair( "pictWhip", 0xE6F6 )); // glyphnumber: 2186, Whip - outMap.emplace(std::make_pair( "pictWindChimesGlass", 0xE6C1 )); // glyphnumber: 2187, Wind chimes (glass) - outMap.emplace(std::make_pair( "pictWindMachine", 0xE754 )); // glyphnumber: 2188, Wind machine - outMap.emplace(std::make_pair( "pictWindWhistle", 0xE758 )); // glyphnumber: 2189, Wind whistle (or mouth siren) - outMap.emplace(std::make_pair( "pictWoodBlock", 0xE6F0 )); // glyphnumber: 2190, Wood block - outMap.emplace(std::make_pair( "pictWoundHardDown", 0xE7B4 )); // glyphnumber: 2191, Wound beater, hard core down - outMap.emplace(std::make_pair( "pictWoundHardLeft", 0xE7B6 )); // glyphnumber: 2192, Wound beater, hard core left - outMap.emplace(std::make_pair( "pictWoundHardRight", 0xE7B5 )); // glyphnumber: 2193, Wound beater, hard core right - outMap.emplace(std::make_pair( "pictWoundHardUp", 0xE7B3 )); // glyphnumber: 2194, Wound beater, hard core up - outMap.emplace(std::make_pair( "pictWoundSoftDown", 0xE7B8 )); // glyphnumber: 2195, Wound beater, soft core down - outMap.emplace(std::make_pair( "pictWoundSoftLeft", 0xE7BA )); // glyphnumber: 2196, Wound beater, soft core left - outMap.emplace(std::make_pair( "pictWoundSoftRight", 0xE7B9 )); // glyphnumber: 2197, Wound beater, soft core right - outMap.emplace(std::make_pair( "pictWoundSoftUp", 0xE7B7 )); // glyphnumber: 2198, Wound beater, soft core up - outMap.emplace(std::make_pair( "pictXyl", 0xE6A1 )); // glyphnumber: 2199, Xylophone - outMap.emplace(std::make_pair( "pictXylBass", 0xE6A3 )); // glyphnumber: 2200, Bass xylophone - outMap.emplace(std::make_pair( "pictXylSmithBrindle", 0xE6AB )); // glyphnumber: 2201, Xylophone (Smith Brindle) - outMap.emplace(std::make_pair( "pictXylTenor", 0xE6A2 )); // glyphnumber: 2202, Tenor xylophone - outMap.emplace(std::make_pair( "pictXylTenorTrough", 0xE6A5 )); // glyphnumber: 2203, Trough tenor xylophone - outMap.emplace(std::make_pair( "pictXylTrough", 0xE6A4 )); // glyphnumber: 2204, Trough xylophone - outMap.emplace(std::make_pair( "pluckedBuzzPizzicato", 0xE632 )); // glyphnumber: 2205, Buzz pizzicato - outMap.emplace(std::make_pair( "pluckedDamp", 0xE638 )); // glyphnumber: 2206, Damp - outMap.emplace(std::make_pair( "pluckedDampAll", 0xE639 )); // glyphnumber: 2207, Damp all - outMap.emplace(std::make_pair( "pluckedDampOnStem", 0xE63B )); // glyphnumber: 2208, Damp for stem - outMap.emplace(std::make_pair( "pluckedFingernailFlick", 0xE637 )); // glyphnumber: 2209, Fingernail flick - outMap.emplace(std::make_pair( "pluckedLeftHandPizzicato", 0xE633 )); // glyphnumber: 2210, Left-hand pizzicato - outMap.emplace(std::make_pair( "pluckedPlectrum", 0xE63A )); // glyphnumber: 2211, Plectrum - outMap.emplace(std::make_pair( "pluckedSnapPizzicatoAbove", 0xE631 )); // glyphnumber: 2212, Snap pizzicato above - outMap.emplace(std::make_pair( "pluckedSnapPizzicatoBelow", 0xE630 )); // glyphnumber: 2213, Snap pizzicato below - outMap.emplace(std::make_pair( "pluckedWithFingernails", 0xE636 )); // glyphnumber: 2214, With fingernails - outMap.emplace(std::make_pair( "quindicesima", 0xE514 )); // glyphnumber: 2215, Quindicesima - outMap.emplace(std::make_pair( "quindicesimaAlta", 0xE515 )); // glyphnumber: 2216, Quindicesima alta - outMap.emplace(std::make_pair( "quindicesimaBassa", 0xE516 )); // glyphnumber: 2217, Quindicesima bassa - outMap.emplace(std::make_pair( "quindicesimaBassaMb", 0xE51D )); // glyphnumber: 2218, Quindicesima bassa (mb) - outMap.emplace(std::make_pair( "repeat1Bar", 0xE500 )); // glyphnumber: 2219, Repeat last bar - outMap.emplace(std::make_pair( "repeat2Bars", 0xE501 )); // glyphnumber: 2220, Repeat last two bars - outMap.emplace(std::make_pair( "repeat4Bars", 0xE502 )); // glyphnumber: 2221, Repeat last four bars - outMap.emplace(std::make_pair( "repeatDot", 0xE044 )); // glyphnumber: 2222, Single repeat dot - outMap.emplace(std::make_pair( "repeatDots", 0xE043 )); // glyphnumber: 2223, Repeat dots - outMap.emplace(std::make_pair( "repeatLeft", 0xE040 )); // glyphnumber: 2224, Left (start) repeat sign - outMap.emplace(std::make_pair( "repeatRight", 0xE041 )); // glyphnumber: 2225, Right (end) repeat sign - outMap.emplace(std::make_pair( "repeatRightLeft", 0xE042 )); // glyphnumber: 2226, Right and left repeat sign - outMap.emplace(std::make_pair( "rest1024th", 0xE4ED )); // glyphnumber: 2227, 1024th rest - outMap.emplace(std::make_pair( "rest128th", 0xE4EA )); // glyphnumber: 2228, 128th (semihemidemisemiquaver) rest - outMap.emplace(std::make_pair( "rest16th", 0xE4E7 )); // glyphnumber: 2229, 16th (semiquaver) rest - outMap.emplace(std::make_pair( "rest256th", 0xE4EB )); // glyphnumber: 2230, 256th rest - outMap.emplace(std::make_pair( "rest32nd", 0xE4E8 )); // glyphnumber: 2231, 32nd (demisemiquaver) rest - outMap.emplace(std::make_pair( "rest512th", 0xE4EC )); // glyphnumber: 2232, 512th rest - outMap.emplace(std::make_pair( "rest64th", 0xE4E9 )); // glyphnumber: 2233, 64th (hemidemisemiquaver) rest - outMap.emplace(std::make_pair( "rest8th", 0xE4E6 )); // glyphnumber: 2234, Eighth (quaver) rest - outMap.emplace(std::make_pair( "restDoubleWhole", 0xE4E2 )); // glyphnumber: 2235, Double whole (breve) rest - outMap.emplace(std::make_pair( "restDoubleWholeLegerLine", 0xE4F3 )); // glyphnumber: 2236, Double whole rest on leger lines - outMap.emplace(std::make_pair( "restHBar", 0xE4EE )); // glyphnumber: 2237, Multiple measure rest - outMap.emplace(std::make_pair( "restHBarLeft", 0xE4EF )); // glyphnumber: 2238, H-bar, left half - outMap.emplace(std::make_pair( "restHBarMiddle", 0xE4F0 )); // glyphnumber: 2239, H-bar, middle - outMap.emplace(std::make_pair( "restHBarRight", 0xE4F1 )); // glyphnumber: 2240, H-bar, right half - outMap.emplace(std::make_pair( "restHalf", 0xE4E4 )); // glyphnumber: 2241, Half (minim) rest - outMap.emplace(std::make_pair( "restHalfLegerLine", 0xE4F5 )); // glyphnumber: 2242, Half rest on leger line - outMap.emplace(std::make_pair( "restLonga", 0xE4E1 )); // glyphnumber: 2243, Longa rest - outMap.emplace(std::make_pair( "restMaxima", 0xE4E0 )); // glyphnumber: 2244, Maxima rest - outMap.emplace(std::make_pair( "restQuarter", 0xE4E5 )); // glyphnumber: 2245, Quarter (crotchet) rest - outMap.emplace(std::make_pair( "restQuarterOld", 0xE4F2 )); // glyphnumber: 2246, Old-style quarter (crotchet) rest - outMap.emplace(std::make_pair( "restQuarterZ", 0xE4F6 )); // glyphnumber: 2247, Z-style quarter (crotchet) rest - outMap.emplace(std::make_pair( "restWhole", 0xE4E3 )); // glyphnumber: 2248, Whole (semibreve) rest - outMap.emplace(std::make_pair( "restWholeLegerLine", 0xE4F4 )); // glyphnumber: 2249, Whole rest on leger line - outMap.emplace(std::make_pair( "reversedBrace", 0xE001 )); // glyphnumber: 2250, Reversed brace - outMap.emplace(std::make_pair( "reversedBracketBottom", 0xE006 )); // glyphnumber: 2251, Reversed bracket bottom - outMap.emplace(std::make_pair( "reversedBracketTop", 0xE005 )); // glyphnumber: 2252, Reversed bracket top - outMap.emplace(std::make_pair( "rightRepeatSmall", 0xE04D )); // glyphnumber: 2253, Right repeat sign within bar - outMap.emplace(std::make_pair( "schaefferClef", 0xE06F )); // glyphnumber: 2254, Schäffer clef - outMap.emplace(std::make_pair( "schaefferFClefToGClef", 0xE072 )); // glyphnumber: 2255, Schäffer F clef to G clef change - outMap.emplace(std::make_pair( "schaefferGClefToFClef", 0xE071 )); // glyphnumber: 2256, Schäffer G clef to F clef change - outMap.emplace(std::make_pair( "schaefferPreviousClef", 0xE070 )); // glyphnumber: 2257, Schäffer previous clef - outMap.emplace(std::make_pair( "segno", 0xE047 )); // glyphnumber: 2258, Segno - outMap.emplace(std::make_pair( "segnoSerpent1", 0xE04A )); // glyphnumber: 2259, Segno (serpent) - outMap.emplace(std::make_pair( "segnoSerpent2", 0xE04B )); // glyphnumber: 2260, Segno (serpent with vertical lines) - outMap.emplace(std::make_pair( "semipitchedPercussionClef1", 0xE06B )); // glyphnumber: 2261, Semi-pitched percussion clef 1 - outMap.emplace(std::make_pair( "semipitchedPercussionClef2", 0xE06C )); // glyphnumber: 2262, Semi-pitched percussion clef 2 - outMap.emplace(std::make_pair( "smnFlat", 0xEC52 )); // glyphnumber: 2263, Flat - outMap.emplace(std::make_pair( "smnFlatWhite", 0xEC53 )); // glyphnumber: 2264, Flat (white) - outMap.emplace(std::make_pair( "smnHistoryDoubleFlat", 0xEC57 )); // glyphnumber: 2265, Double flat history sign - outMap.emplace(std::make_pair( "smnHistoryDoubleSharp", 0xEC55 )); // glyphnumber: 2266, Double sharp history sign - outMap.emplace(std::make_pair( "smnHistoryFlat", 0xEC56 )); // glyphnumber: 2267, Flat history sign - outMap.emplace(std::make_pair( "smnHistorySharp", 0xEC54 )); // glyphnumber: 2268, Sharp history sign - outMap.emplace(std::make_pair( "smnNatural", 0xEC58 )); // glyphnumber: 2269, Natural (N) - outMap.emplace(std::make_pair( "smnSharp", 0xEC50 )); // glyphnumber: 2270, Sharp stem up - outMap.emplace(std::make_pair( "smnSharpDown", 0xEC59 )); // glyphnumber: 2271, Sharp stem down - outMap.emplace(std::make_pair( "smnSharpWhite", 0xEC51 )); // glyphnumber: 2272, Sharp (white) stem up - outMap.emplace(std::make_pair( "smnSharpWhiteDown", 0xEC5A )); // glyphnumber: 2273, Sharp (white) stem down - outMap.emplace(std::make_pair( "splitBarDivider", 0xE00A )); // glyphnumber: 2274, Split bar divider (bar spans a system break) - outMap.emplace(std::make_pair( "staff1Line", 0xE010 )); // glyphnumber: 2275, 1-line staff - outMap.emplace(std::make_pair( "staff1LineNarrow", 0xE01C )); // glyphnumber: 2276, 1-line staff (narrow) - outMap.emplace(std::make_pair( "staff1LineWide", 0xE016 )); // glyphnumber: 2277, 1-line staff (wide) - outMap.emplace(std::make_pair( "staff2Lines", 0xE011 )); // glyphnumber: 2278, 2-line staff - outMap.emplace(std::make_pair( "staff2LinesNarrow", 0xE01D )); // glyphnumber: 2279, 2-line staff (narrow) - outMap.emplace(std::make_pair( "staff2LinesWide", 0xE017 )); // glyphnumber: 2280, 2-line staff (wide) - outMap.emplace(std::make_pair( "staff3Lines", 0xE012 )); // glyphnumber: 2281, 3-line staff - outMap.emplace(std::make_pair( "staff3LinesNarrow", 0xE01E )); // glyphnumber: 2282, 3-line staff (narrow) - outMap.emplace(std::make_pair( "staff3LinesWide", 0xE018 )); // glyphnumber: 2283, 3-line staff (wide) - outMap.emplace(std::make_pair( "staff4Lines", 0xE013 )); // glyphnumber: 2284, 4-line staff - outMap.emplace(std::make_pair( "staff4LinesNarrow", 0xE01F )); // glyphnumber: 2285, 4-line staff (narrow) - outMap.emplace(std::make_pair( "staff4LinesWide", 0xE019 )); // glyphnumber: 2286, 4-line staff (wide) - outMap.emplace(std::make_pair( "staff5Lines", 0xE014 )); // glyphnumber: 2287, 5-line staff - outMap.emplace(std::make_pair( "staff5LinesNarrow", 0xE020 )); // glyphnumber: 2288, 5-line staff (narrow) - outMap.emplace(std::make_pair( "staff5LinesWide", 0xE01A )); // glyphnumber: 2289, 5-line staff (wide) - outMap.emplace(std::make_pair( "staff6Lines", 0xE015 )); // glyphnumber: 2290, 6-line staff - outMap.emplace(std::make_pair( "staff6LinesNarrow", 0xE021 )); // glyphnumber: 2291, 6-line staff (narrow) - outMap.emplace(std::make_pair( "staff6LinesWide", 0xE01B )); // glyphnumber: 2292, 6-line staff (wide) - outMap.emplace(std::make_pair( "staffDivideArrowDown", 0xE00B )); // glyphnumber: 2293, Staff divide arrow down - outMap.emplace(std::make_pair( "staffDivideArrowUp", 0xE00C )); // glyphnumber: 2294, Staff divide arrow up - outMap.emplace(std::make_pair( "staffDivideArrowUpDown", 0xE00D )); // glyphnumber: 2295, Staff divide arrows - outMap.emplace(std::make_pair( "staffPosLower1", 0xEB98 )); // glyphnumber: 2296, Lower 1 staff position - outMap.emplace(std::make_pair( "staffPosLower2", 0xEB99 )); // glyphnumber: 2297, Lower 2 staff positions - outMap.emplace(std::make_pair( "staffPosLower3", 0xEB9A )); // glyphnumber: 2298, Lower 3 staff positions - outMap.emplace(std::make_pair( "staffPosLower4", 0xEB9B )); // glyphnumber: 2299, Lower 4 staff positions - outMap.emplace(std::make_pair( "staffPosLower5", 0xEB9C )); // glyphnumber: 2300, Lower 5 staff positions - outMap.emplace(std::make_pair( "staffPosLower6", 0xEB9D )); // glyphnumber: 2301, Lower 6 staff positions - outMap.emplace(std::make_pair( "staffPosLower7", 0xEB9E )); // glyphnumber: 2302, Lower 7 staff positions - outMap.emplace(std::make_pair( "staffPosLower8", 0xEB9F )); // glyphnumber: 2303, Lower 8 staff positions - outMap.emplace(std::make_pair( "staffPosRaise1", 0xEB90 )); // glyphnumber: 2304, Raise 1 staff position - outMap.emplace(std::make_pair( "staffPosRaise2", 0xEB91 )); // glyphnumber: 2305, Raise 2 staff positions - outMap.emplace(std::make_pair( "staffPosRaise3", 0xEB92 )); // glyphnumber: 2306, Raise 3 staff positions - outMap.emplace(std::make_pair( "staffPosRaise4", 0xEB93 )); // glyphnumber: 2307, Raise 4 staff positions - outMap.emplace(std::make_pair( "staffPosRaise5", 0xEB94 )); // glyphnumber: 2308, Raise 5 staff positions - outMap.emplace(std::make_pair( "staffPosRaise6", 0xEB95 )); // glyphnumber: 2309, Raise 6 staff positions - outMap.emplace(std::make_pair( "staffPosRaise7", 0xEB96 )); // glyphnumber: 2310, Raise 7 staff positions - outMap.emplace(std::make_pair( "staffPosRaise8", 0xEB97 )); // glyphnumber: 2311, Raise 8 staff positions - outMap.emplace(std::make_pair( "stem", 0xE210 )); // glyphnumber: 2312, Combining stem - outMap.emplace(std::make_pair( "stemBowOnBridge", 0xE215 )); // glyphnumber: 2313, Combining bow on bridge stem - outMap.emplace(std::make_pair( "stemBowOnTailpiece", 0xE216 )); // glyphnumber: 2314, Combining bow on tailpiece stem - outMap.emplace(std::make_pair( "stemBuzzRoll", 0xE217 )); // glyphnumber: 2315, Combining buzz roll stem - outMap.emplace(std::make_pair( "stemDamp", 0xE218 )); // glyphnumber: 2316, Combining damp stem - outMap.emplace(std::make_pair( "stemHarpStringNoise", 0xE21F )); // glyphnumber: 2317, Combining harp string noise stem - outMap.emplace(std::make_pair( "stemMultiphonicsBlack", 0xE21A )); // glyphnumber: 2318, Combining multiphonics (black) stem - outMap.emplace(std::make_pair( "stemMultiphonicsBlackWhite", 0xE21C )); // glyphnumber: 2319, Combining multiphonics (black and white) stem - outMap.emplace(std::make_pair( "stemMultiphonicsWhite", 0xE21B )); // glyphnumber: 2320, Combining multiphonics (white) stem - outMap.emplace(std::make_pair( "stemPendereckiTremolo", 0xE213 )); // glyphnumber: 2321, Combining Penderecki unmeasured tremolo stem - outMap.emplace(std::make_pair( "stemRimShot", 0xE21E )); // glyphnumber: 2322, Combining rim shot stem - outMap.emplace(std::make_pair( "stemSprechgesang", 0xE211 )); // glyphnumber: 2323, Combining sprechgesang stem - outMap.emplace(std::make_pair( "stemSulPonticello", 0xE214 )); // glyphnumber: 2324, Combining sul ponticello (bow behind bridge) stem - outMap.emplace(std::make_pair( "stemSussurando", 0xE21D )); // glyphnumber: 2325, Combining sussurando stem - outMap.emplace(std::make_pair( "stemSwished", 0xE212 )); // glyphnumber: 2326, Combining swished stem - outMap.emplace(std::make_pair( "stemVibratoPulse", 0xE219 )); // glyphnumber: 2327, Combining vibrato pulse accent (Saunders) stem - outMap.emplace(std::make_pair( "stockhausenTremolo", 0xE232 )); // glyphnumber: 2328, Stockhausen irregular tremolo ("Morsen", like Morse code) - outMap.emplace(std::make_pair( "stringsBowBehindBridge", 0xE618 )); // glyphnumber: 2329, Bow behind bridge (sul ponticello) - outMap.emplace(std::make_pair( "stringsBowBehindBridgeFourStrings", 0xE62A )); // glyphnumber: 2330, Bow behind bridge on four strings - outMap.emplace(std::make_pair( "stringsBowBehindBridgeOneString", 0xE627 )); // glyphnumber: 2331, Bow behind bridge on one string - outMap.emplace(std::make_pair( "stringsBowBehindBridgeThreeStrings", 0xE629 )); // glyphnumber: 2332, Bow behind bridge on three strings - outMap.emplace(std::make_pair( "stringsBowBehindBridgeTwoStrings", 0xE628 )); // glyphnumber: 2333, Bow behind bridge on two strings - outMap.emplace(std::make_pair( "stringsBowOnBridge", 0xE619 )); // glyphnumber: 2334, Bow on top of bridge - outMap.emplace(std::make_pair( "stringsBowOnTailpiece", 0xE61A )); // glyphnumber: 2335, Bow on tailpiece - outMap.emplace(std::make_pair( "stringsChangeBowDirection", 0xE626 )); // glyphnumber: 2336, Change bow direction, indeterminate - outMap.emplace(std::make_pair( "stringsDownBow", 0xE610 )); // glyphnumber: 2337, Down bow - outMap.emplace(std::make_pair( "stringsDownBowTurned", 0xE611 )); // glyphnumber: 2338, Turned down bow - outMap.emplace(std::make_pair( "stringsFouette", 0xE622 )); // glyphnumber: 2339, Fouetté - outMap.emplace(std::make_pair( "stringsHalfHarmonic", 0xE615 )); // glyphnumber: 2340, Half-harmonic - outMap.emplace(std::make_pair( "stringsHarmonic", 0xE614 )); // glyphnumber: 2341, Harmonic - outMap.emplace(std::make_pair( "stringsJeteAbove", 0xE620 )); // glyphnumber: 2342, Jeté (gettato) above - outMap.emplace(std::make_pair( "stringsJeteBelow", 0xE621 )); // glyphnumber: 2343, Jeté (gettato) below - outMap.emplace(std::make_pair( "stringsMuteOff", 0xE617 )); // glyphnumber: 2344, Mute off - outMap.emplace(std::make_pair( "stringsMuteOn", 0xE616 )); // glyphnumber: 2345, Mute on - outMap.emplace(std::make_pair( "stringsOverpressureDownBow", 0xE61B )); // glyphnumber: 2346, Overpressure, down bow - outMap.emplace(std::make_pair( "stringsOverpressureNoDirection", 0xE61F )); // glyphnumber: 2347, Overpressure, no bow direction - outMap.emplace(std::make_pair( "stringsOverpressurePossibileDownBow", 0xE61D )); // glyphnumber: 2348, Overpressure possibile, down bow - outMap.emplace(std::make_pair( "stringsOverpressurePossibileUpBow", 0xE61E )); // glyphnumber: 2349, Overpressure possibile, up bow - outMap.emplace(std::make_pair( "stringsOverpressureUpBow", 0xE61C )); // glyphnumber: 2350, Overpressure, up bow - outMap.emplace(std::make_pair( "stringsThumbPosition", 0xE624 )); // glyphnumber: 2351, Thumb position - outMap.emplace(std::make_pair( "stringsThumbPositionTurned", 0xE625 )); // glyphnumber: 2352, Turned thumb position - outMap.emplace(std::make_pair( "stringsUpBow", 0xE612 )); // glyphnumber: 2353, Up bow - outMap.emplace(std::make_pair( "stringsUpBowTurned", 0xE613 )); // glyphnumber: 2354, Turned up bow - outMap.emplace(std::make_pair( "stringsVibratoPulse", 0xE623 )); // glyphnumber: 2355, Vibrato pulse accent (Saunders) for stem - outMap.emplace(std::make_pair( "systemDivider", 0xE007 )); // glyphnumber: 2356, System divider - outMap.emplace(std::make_pair( "systemDividerExtraLong", 0xE009 )); // glyphnumber: 2357, Extra long system divider - outMap.emplace(std::make_pair( "systemDividerLong", 0xE008 )); // glyphnumber: 2358, Long system divider - outMap.emplace(std::make_pair( "textAugmentationDot", 0xE1FC )); // glyphnumber: 2359, Augmentation dot - outMap.emplace(std::make_pair( "textBlackNoteFrac16thLongStem", 0xE1F5 )); // glyphnumber: 2360, Black note, fractional 16th beam, long stem - outMap.emplace(std::make_pair( "textBlackNoteFrac16thShortStem", 0xE1F4 )); // glyphnumber: 2361, Black note, fractional 16th beam, short stem - outMap.emplace(std::make_pair( "textBlackNoteFrac32ndLongStem", 0xE1F6 )); // glyphnumber: 2362, Black note, fractional 32nd beam, long stem - outMap.emplace(std::make_pair( "textBlackNoteFrac8thLongStem", 0xE1F3 )); // glyphnumber: 2363, Black note, fractional 8th beam, long stem - outMap.emplace(std::make_pair( "textBlackNoteFrac8thShortStem", 0xE1F2 )); // glyphnumber: 2364, Black note, fractional 8th beam, short stem - outMap.emplace(std::make_pair( "textBlackNoteLongStem", 0xE1F1 )); // glyphnumber: 2365, Black note, long stem - outMap.emplace(std::make_pair( "textBlackNoteShortStem", 0xE1F0 )); // glyphnumber: 2366, Black note, short stem - outMap.emplace(std::make_pair( "textCont16thBeamLongStem", 0xE1FA )); // glyphnumber: 2367, Continuing 16th beam for long stem - outMap.emplace(std::make_pair( "textCont16thBeamShortStem", 0xE1F9 )); // glyphnumber: 2368, Continuing 16th beam for short stem - outMap.emplace(std::make_pair( "textCont32ndBeamLongStem", 0xE1FB )); // glyphnumber: 2369, Continuing 32nd beam for long stem - outMap.emplace(std::make_pair( "textCont8thBeamLongStem", 0xE1F8 )); // glyphnumber: 2370, Continuing 8th beam for long stem - outMap.emplace(std::make_pair( "textCont8thBeamShortStem", 0xE1F7 )); // glyphnumber: 2371, Continuing 8th beam for short stem - outMap.emplace(std::make_pair( "textTie", 0xE1FD )); // glyphnumber: 2372, Tie - outMap.emplace(std::make_pair( "textTuplet3LongStem", 0xE202 )); // glyphnumber: 2373, Tuplet number 3 for long stem - outMap.emplace(std::make_pair( "textTuplet3ShortStem", 0xE1FF )); // glyphnumber: 2374, Tuplet number 3 for short stem - outMap.emplace(std::make_pair( "textTupletBracketEndLongStem", 0xE203 )); // glyphnumber: 2375, Tuplet bracket end for long stem - outMap.emplace(std::make_pair( "textTupletBracketEndShortStem", 0xE200 )); // glyphnumber: 2376, Tuplet bracket end for short stem - outMap.emplace(std::make_pair( "textTupletBracketStartLongStem", 0xE201 )); // glyphnumber: 2377, Tuplet bracket start for long stem - outMap.emplace(std::make_pair( "textTupletBracketStartShortStem", 0xE1FE )); // glyphnumber: 2378, Tuplet bracket start for short stem - outMap.emplace(std::make_pair( "timeSig0", 0xE080 )); // glyphnumber: 2379, Time signature 0 - outMap.emplace(std::make_pair( "timeSig0Reversed", 0xECF0 )); // glyphnumber: 2380, Reversed time signature 0 - outMap.emplace(std::make_pair( "timeSig0Turned", 0xECE0 )); // glyphnumber: 2381, Turned time signature 0 - outMap.emplace(std::make_pair( "timeSig1", 0xE081 )); // glyphnumber: 2382, Time signature 1 - outMap.emplace(std::make_pair( "timeSig1Reversed", 0xECF1 )); // glyphnumber: 2383, Reversed time signature 1 - outMap.emplace(std::make_pair( "timeSig1Turned", 0xECE1 )); // glyphnumber: 2384, Turned time signature 1 - outMap.emplace(std::make_pair( "timeSig2", 0xE082 )); // glyphnumber: 2385, Time signature 2 - outMap.emplace(std::make_pair( "timeSig2Reversed", 0xECF2 )); // glyphnumber: 2386, Reversed time signature 2 - outMap.emplace(std::make_pair( "timeSig2Turned", 0xECE2 )); // glyphnumber: 2387, Turned time signature 2 - outMap.emplace(std::make_pair( "timeSig3", 0xE083 )); // glyphnumber: 2388, Time signature 3 - outMap.emplace(std::make_pair( "timeSig3Reversed", 0xECF3 )); // glyphnumber: 2389, Reversed time signature 3 - outMap.emplace(std::make_pair( "timeSig3Turned", 0xECE3 )); // glyphnumber: 2390, Turned time signature 3 - outMap.emplace(std::make_pair( "timeSig4", 0xE084 )); // glyphnumber: 2391, Time signature 4 - outMap.emplace(std::make_pair( "timeSig4Reversed", 0xECF4 )); // glyphnumber: 2392, Reversed time signature 4 - outMap.emplace(std::make_pair( "timeSig4Turned", 0xECE4 )); // glyphnumber: 2393, Turned time signature 4 - outMap.emplace(std::make_pair( "timeSig5", 0xE085 )); // glyphnumber: 2394, Time signature 5 - outMap.emplace(std::make_pair( "timeSig5Reversed", 0xECF5 )); // glyphnumber: 2395, Reversed time signature 5 - outMap.emplace(std::make_pair( "timeSig5Turned", 0xECE5 )); // glyphnumber: 2396, Turned time signature 5 - outMap.emplace(std::make_pair( "timeSig6", 0xE086 )); // glyphnumber: 2397, Time signature 6 - outMap.emplace(std::make_pair( "timeSig6Reversed", 0xECF6 )); // glyphnumber: 2398, Reversed time signature 6 - outMap.emplace(std::make_pair( "timeSig6Turned", 0xECE6 )); // glyphnumber: 2399, Turned time signature 6 - outMap.emplace(std::make_pair( "timeSig7", 0xE087 )); // glyphnumber: 2400, Time signature 7 - outMap.emplace(std::make_pair( "timeSig7Reversed", 0xECF7 )); // glyphnumber: 2401, Reversed time signature 7 - outMap.emplace(std::make_pair( "timeSig7Turned", 0xECE7 )); // glyphnumber: 2402, Turned time signature 7 - outMap.emplace(std::make_pair( "timeSig8", 0xE088 )); // glyphnumber: 2403, Time signature 8 - outMap.emplace(std::make_pair( "timeSig8Reversed", 0xECF8 )); // glyphnumber: 2404, Reversed time signature 8 - outMap.emplace(std::make_pair( "timeSig8Turned", 0xECE8 )); // glyphnumber: 2405, Turned time signature 8 - outMap.emplace(std::make_pair( "timeSig9", 0xE089 )); // glyphnumber: 2406, Time signature 9 - outMap.emplace(std::make_pair( "timeSig9Reversed", 0xECF9 )); // glyphnumber: 2407, Reversed time signature 9 - outMap.emplace(std::make_pair( "timeSig9Turned", 0xECE9 )); // glyphnumber: 2408, Turned time signature 9 - outMap.emplace(std::make_pair( "timeSigBracketLeft", 0xEC80 )); // glyphnumber: 2409, Left bracket for whole time signature - outMap.emplace(std::make_pair( "timeSigBracketLeftSmall", 0xEC82 )); // glyphnumber: 2410, Left bracket for numerator only - outMap.emplace(std::make_pair( "timeSigBracketRight", 0xEC81 )); // glyphnumber: 2411, Right bracket for whole time signature - outMap.emplace(std::make_pair( "timeSigBracketRightSmall", 0xEC83 )); // glyphnumber: 2412, Right bracket for numerator only - outMap.emplace(std::make_pair( "timeSigCombDenominator", 0xE09F )); // glyphnumber: 2413, Control character for denominator digit - outMap.emplace(std::make_pair( "timeSigCombNumerator", 0xE09E )); // glyphnumber: 2414, Control character for numerator digit - outMap.emplace(std::make_pair( "timeSigComma", 0xE096 )); // glyphnumber: 2415, Time signature comma - outMap.emplace(std::make_pair( "timeSigCommon", 0xE08A )); // glyphnumber: 2416, Common time - outMap.emplace(std::make_pair( "timeSigCommonReversed", 0xECFA )); // glyphnumber: 2417, Reversed common time - outMap.emplace(std::make_pair( "timeSigCommonTurned", 0xECEA )); // glyphnumber: 2418, Turned common time - outMap.emplace(std::make_pair( "timeSigCut2", 0xEC85 )); // glyphnumber: 2419, Cut time (Bach) - outMap.emplace(std::make_pair( "timeSigCut3", 0xEC86 )); // glyphnumber: 2420, Cut triple time (9/8) - outMap.emplace(std::make_pair( "timeSigCutCommon", 0xE08B )); // glyphnumber: 2421, Cut time - outMap.emplace(std::make_pair( "timeSigCutCommonReversed", 0xECFB )); // glyphnumber: 2422, Reversed cut time - outMap.emplace(std::make_pair( "timeSigCutCommonTurned", 0xECEB )); // glyphnumber: 2423, Turned cut time - outMap.emplace(std::make_pair( "timeSigEquals", 0xE08F )); // glyphnumber: 2424, Time signature equals - outMap.emplace(std::make_pair( "timeSigFractionHalf", 0xE098 )); // glyphnumber: 2425, Time signature fraction ½ - outMap.emplace(std::make_pair( "timeSigFractionOneThird", 0xE09A )); // glyphnumber: 2426, Time signature fraction ⅓ - outMap.emplace(std::make_pair( "timeSigFractionQuarter", 0xE097 )); // glyphnumber: 2427, Time signature fraction ¼ - outMap.emplace(std::make_pair( "timeSigFractionThreeQuarters", 0xE099 )); // glyphnumber: 2428, Time signature fraction ¾ - outMap.emplace(std::make_pair( "timeSigFractionTwoThirds", 0xE09B )); // glyphnumber: 2429, Time signature fraction ⅔ - outMap.emplace(std::make_pair( "timeSigFractionalSlash", 0xE08E )); // glyphnumber: 2430, Time signature fraction slash - outMap.emplace(std::make_pair( "timeSigMinus", 0xE090 )); // glyphnumber: 2431, Time signature minus - outMap.emplace(std::make_pair( "timeSigMultiply", 0xE091 )); // glyphnumber: 2432, Time signature multiply - outMap.emplace(std::make_pair( "timeSigOpenPenderecki", 0xE09D )); // glyphnumber: 2433, Open time signature (Penderecki) - outMap.emplace(std::make_pair( "timeSigParensLeft", 0xE094 )); // glyphnumber: 2434, Left parenthesis for whole time signature - outMap.emplace(std::make_pair( "timeSigParensLeftSmall", 0xE092 )); // glyphnumber: 2435, Left parenthesis for numerator only - outMap.emplace(std::make_pair( "timeSigParensRight", 0xE095 )); // glyphnumber: 2436, Right parenthesis for whole time signature - outMap.emplace(std::make_pair( "timeSigParensRightSmall", 0xE093 )); // glyphnumber: 2437, Right parenthesis for numerator only - outMap.emplace(std::make_pair( "timeSigPlus", 0xE08C )); // glyphnumber: 2438, Time signature + - outMap.emplace(std::make_pair( "timeSigPlusSmall", 0xE08D )); // glyphnumber: 2439, Time signature + (for numerators) - outMap.emplace(std::make_pair( "timeSigSlash", 0xEC84 )); // glyphnumber: 2440, Time signature slash separator - outMap.emplace(std::make_pair( "timeSigX", 0xE09C )); // glyphnumber: 2441, Open time signature - outMap.emplace(std::make_pair( "tremolo1", 0xE220 )); // glyphnumber: 2442, Combining tremolo 1 - outMap.emplace(std::make_pair( "tremolo2", 0xE221 )); // glyphnumber: 2443, Combining tremolo 2 - outMap.emplace(std::make_pair( "tremolo3", 0xE222 )); // glyphnumber: 2444, Combining tremolo 3 - outMap.emplace(std::make_pair( "tremolo4", 0xE223 )); // glyphnumber: 2445, Combining tremolo 4 - outMap.emplace(std::make_pair( "tremolo5", 0xE224 )); // glyphnumber: 2446, Combining tremolo 5 - outMap.emplace(std::make_pair( "tremoloDivisiDots2", 0xE22E )); // glyphnumber: 2447, Divide measured tremolo by 2 - outMap.emplace(std::make_pair( "tremoloDivisiDots3", 0xE22F )); // glyphnumber: 2448, Divide measured tremolo by 3 - outMap.emplace(std::make_pair( "tremoloDivisiDots4", 0xE230 )); // glyphnumber: 2449, Divide measured tremolo by 4 - outMap.emplace(std::make_pair( "tremoloDivisiDots6", 0xE231 )); // glyphnumber: 2450, Divide measured tremolo by 6 - outMap.emplace(std::make_pair( "tremoloFingered1", 0xE225 )); // glyphnumber: 2451, Fingered tremolo 1 - outMap.emplace(std::make_pair( "tremoloFingered2", 0xE226 )); // glyphnumber: 2452, Fingered tremolo 2 - outMap.emplace(std::make_pair( "tremoloFingered3", 0xE227 )); // glyphnumber: 2453, Fingered tremolo 3 - outMap.emplace(std::make_pair( "tremoloFingered4", 0xE228 )); // glyphnumber: 2454, Fingered tremolo 4 - outMap.emplace(std::make_pair( "tremoloFingered5", 0xE229 )); // glyphnumber: 2455, Fingered tremolo 5 - outMap.emplace(std::make_pair( "tripleTongueAbove", 0xE5F2 )); // glyphnumber: 2456, Triple-tongue above - outMap.emplace(std::make_pair( "tripleTongueBelow", 0xE5F3 )); // glyphnumber: 2457, Triple-tongue below - outMap.emplace(std::make_pair( "tuplet0", 0xE880 )); // glyphnumber: 2458, Tuplet 0 - outMap.emplace(std::make_pair( "tuplet1", 0xE881 )); // glyphnumber: 2459, Tuplet 1 - outMap.emplace(std::make_pair( "tuplet2", 0xE882 )); // glyphnumber: 2460, Tuplet 2 - outMap.emplace(std::make_pair( "tuplet3", 0xE883 )); // glyphnumber: 2461, Tuplet 3 - outMap.emplace(std::make_pair( "tuplet4", 0xE884 )); // glyphnumber: 2462, Tuplet 4 - outMap.emplace(std::make_pair( "tuplet5", 0xE885 )); // glyphnumber: 2463, Tuplet 5 - outMap.emplace(std::make_pair( "tuplet6", 0xE886 )); // glyphnumber: 2464, Tuplet 6 - outMap.emplace(std::make_pair( "tuplet7", 0xE887 )); // glyphnumber: 2465, Tuplet 7 - outMap.emplace(std::make_pair( "tuplet8", 0xE888 )); // glyphnumber: 2466, Tuplet 8 - outMap.emplace(std::make_pair( "tuplet9", 0xE889 )); // glyphnumber: 2467, Tuplet 9 - outMap.emplace(std::make_pair( "tupletColon", 0xE88A )); // glyphnumber: 2468, Tuplet colon - outMap.emplace(std::make_pair( "unmeasuredTremolo", 0xE22C )); // glyphnumber: 2469, Wieniawski unmeasured tremolo - outMap.emplace(std::make_pair( "unmeasuredTremoloSimple", 0xE22D )); // glyphnumber: 2470, Wieniawski unmeasured tremolo (simpler) - outMap.emplace(std::make_pair( "unpitchedPercussionClef1", 0xE069 )); // glyphnumber: 2471, Unpitched percussion clef 1 - outMap.emplace(std::make_pair( "unpitchedPercussionClef2", 0xE06A )); // glyphnumber: 2472, Unpitched percussion clef 2 - outMap.emplace(std::make_pair( "ventiduesima", 0xE517 )); // glyphnumber: 2473, Ventiduesima - outMap.emplace(std::make_pair( "ventiduesimaAlta", 0xE518 )); // glyphnumber: 2474, Ventiduesima alta - outMap.emplace(std::make_pair( "ventiduesimaBassa", 0xE519 )); // glyphnumber: 2475, Ventiduesima bassa - outMap.emplace(std::make_pair( "ventiduesimaBassaMb", 0xE51E )); // glyphnumber: 2476, Ventiduesima bassa (mb) - outMap.emplace(std::make_pair( "vocalFingerClickStockhausen", 0xE649 )); // glyphnumber: 2477, Finger click (Stockhausen) - outMap.emplace(std::make_pair( "vocalMouthClosed", 0xE640 )); // glyphnumber: 2478, Mouth closed - outMap.emplace(std::make_pair( "vocalMouthOpen", 0xE642 )); // glyphnumber: 2479, Mouth open - outMap.emplace(std::make_pair( "vocalMouthPursed", 0xE644 )); // glyphnumber: 2480, Mouth pursed - outMap.emplace(std::make_pair( "vocalMouthSlightlyOpen", 0xE641 )); // glyphnumber: 2481, Mouth slightly open - outMap.emplace(std::make_pair( "vocalMouthWideOpen", 0xE643 )); // glyphnumber: 2482, Mouth wide open - outMap.emplace(std::make_pair( "vocalNasalVoice", 0xE647 )); // glyphnumber: 2483, Nasal voice - outMap.emplace(std::make_pair( "vocalSprechgesang", 0xE645 )); // glyphnumber: 2484, Sprechgesang - outMap.emplace(std::make_pair( "vocalTongueClickStockhausen", 0xE648 )); // glyphnumber: 2485, Tongue click (Stockhausen) - outMap.emplace(std::make_pair( "vocalTongueFingerClickStockhausen", 0xE64A )); // glyphnumber: 2486, Tongue and finger click (Stockhausen) - outMap.emplace(std::make_pair( "vocalsSussurando", 0xE646 )); // glyphnumber: 2487, Combining sussurando for stem - outMap.emplace(std::make_pair( "wiggleArpeggiatoDown", 0xEAAA )); // glyphnumber: 2488, Arpeggiato wiggle segment, downwards - outMap.emplace(std::make_pair( "wiggleArpeggiatoDownArrow", 0xEAAE )); // glyphnumber: 2489, Arpeggiato arrowhead down - outMap.emplace(std::make_pair( "wiggleArpeggiatoDownSwash", 0xEAAC )); // glyphnumber: 2490, Arpeggiato downward swash - outMap.emplace(std::make_pair( "wiggleArpeggiatoUp", 0xEAA9 )); // glyphnumber: 2491, Arpeggiato wiggle segment, upwards - outMap.emplace(std::make_pair( "wiggleArpeggiatoUpArrow", 0xEAAD )); // glyphnumber: 2492, Arpeggiato arrowhead up - outMap.emplace(std::make_pair( "wiggleArpeggiatoUpSwash", 0xEAAB )); // glyphnumber: 2493, Arpeggiato upward swash - outMap.emplace(std::make_pair( "wiggleCircular", 0xEAC9 )); // glyphnumber: 2494, Circular motion segment - outMap.emplace(std::make_pair( "wiggleCircularConstant", 0xEAC0 )); // glyphnumber: 2495, Constant circular motion segment - outMap.emplace(std::make_pair( "wiggleCircularConstantFlipped", 0xEAC1 )); // glyphnumber: 2496, Constant circular motion segment (flipped) - outMap.emplace(std::make_pair( "wiggleCircularConstantFlippedLarge", 0xEAC3 )); // glyphnumber: 2497, Constant circular motion segment (flipped, large) - outMap.emplace(std::make_pair( "wiggleCircularConstantLarge", 0xEAC2 )); // glyphnumber: 2498, Constant circular motion segment (large) - outMap.emplace(std::make_pair( "wiggleCircularEnd", 0xEACB )); // glyphnumber: 2499, Circular motion end - outMap.emplace(std::make_pair( "wiggleCircularLarge", 0xEAC8 )); // glyphnumber: 2500, Circular motion segment, large - outMap.emplace(std::make_pair( "wiggleCircularLarger", 0xEAC7 )); // glyphnumber: 2501, Circular motion segment, larger - outMap.emplace(std::make_pair( "wiggleCircularLargerStill", 0xEAC6 )); // glyphnumber: 2502, Circular motion segment, larger still - outMap.emplace(std::make_pair( "wiggleCircularLargest", 0xEAC5 )); // glyphnumber: 2503, Circular motion segment, largest - outMap.emplace(std::make_pair( "wiggleCircularSmall", 0xEACA )); // glyphnumber: 2504, Circular motion segment, small - outMap.emplace(std::make_pair( "wiggleCircularStart", 0xEAC4 )); // glyphnumber: 2505, Circular motion start - outMap.emplace(std::make_pair( "wiggleGlissando", 0xEAAF )); // glyphnumber: 2506, Glissando wiggle segment - outMap.emplace(std::make_pair( "wiggleGlissandoGroup1", 0xEABD )); // glyphnumber: 2507, Group glissando 1 - outMap.emplace(std::make_pair( "wiggleGlissandoGroup2", 0xEABE )); // glyphnumber: 2508, Group glissando 2 - outMap.emplace(std::make_pair( "wiggleGlissandoGroup3", 0xEABF )); // glyphnumber: 2509, Group glissando 3 - outMap.emplace(std::make_pair( "wiggleRandom1", 0xEAF0 )); // glyphnumber: 2510, Quasi-random squiggle 1 - outMap.emplace(std::make_pair( "wiggleRandom2", 0xEAF1 )); // glyphnumber: 2511, Quasi-random squiggle 2 - outMap.emplace(std::make_pair( "wiggleRandom3", 0xEAF2 )); // glyphnumber: 2512, Quasi-random squiggle 3 - outMap.emplace(std::make_pair( "wiggleRandom4", 0xEAF3 )); // glyphnumber: 2513, Quasi-random squiggle 4 - outMap.emplace(std::make_pair( "wiggleSawtooth", 0xEABB )); // glyphnumber: 2514, Sawtooth line segment - outMap.emplace(std::make_pair( "wiggleSawtoothNarrow", 0xEABA )); // glyphnumber: 2515, Narrow sawtooth line segment - outMap.emplace(std::make_pair( "wiggleSawtoothWide", 0xEABC )); // glyphnumber: 2516, Wide sawtooth line segment - outMap.emplace(std::make_pair( "wiggleSquareWave", 0xEAB8 )); // glyphnumber: 2517, Square wave line segment - outMap.emplace(std::make_pair( "wiggleSquareWaveNarrow", 0xEAB7 )); // glyphnumber: 2518, Narrow square wave line segment - outMap.emplace(std::make_pair( "wiggleSquareWaveWide", 0xEAB9 )); // glyphnumber: 2519, Wide square wave line segment - outMap.emplace(std::make_pair( "wiggleTrill", 0xEAA4 )); // glyphnumber: 2520, Trill wiggle segment - outMap.emplace(std::make_pair( "wiggleTrillFast", 0xEAA3 )); // glyphnumber: 2521, Trill wiggle segment, fast - outMap.emplace(std::make_pair( "wiggleTrillFaster", 0xEAA2 )); // glyphnumber: 2522, Trill wiggle segment, faster - outMap.emplace(std::make_pair( "wiggleTrillFasterStill", 0xEAA1 )); // glyphnumber: 2523, Trill wiggle segment, faster still - outMap.emplace(std::make_pair( "wiggleTrillFastest", 0xEAA0 )); // glyphnumber: 2524, Trill wiggle segment, fastest - outMap.emplace(std::make_pair( "wiggleTrillSlow", 0xEAA5 )); // glyphnumber: 2525, Trill wiggle segment, slow - outMap.emplace(std::make_pair( "wiggleTrillSlower", 0xEAA6 )); // glyphnumber: 2526, Trill wiggle segment, slower - outMap.emplace(std::make_pair( "wiggleTrillSlowerStill", 0xEAA7 )); // glyphnumber: 2527, Trill wiggle segment, slower still - outMap.emplace(std::make_pair( "wiggleTrillSlowest", 0xEAA8 )); // glyphnumber: 2528, Trill wiggle segment, slowest - outMap.emplace(std::make_pair( "wiggleVIbratoLargestSlower", 0xEAEE )); // glyphnumber: 2529, Vibrato largest, slower - outMap.emplace(std::make_pair( "wiggleVIbratoMediumSlower", 0xEAE0 )); // glyphnumber: 2530, Vibrato medium, slower - outMap.emplace(std::make_pair( "wiggleVibrato", 0xEAB0 )); // glyphnumber: 2531, Vibrato / shake wiggle segment - outMap.emplace(std::make_pair( "wiggleVibratoLargeFast", 0xEAE5 )); // glyphnumber: 2532, Vibrato large, fast - outMap.emplace(std::make_pair( "wiggleVibratoLargeFaster", 0xEAE4 )); // glyphnumber: 2533, Vibrato large, faster - outMap.emplace(std::make_pair( "wiggleVibratoLargeFasterStill", 0xEAE3 )); // glyphnumber: 2534, Vibrato large, faster still - outMap.emplace(std::make_pair( "wiggleVibratoLargeFastest", 0xEAE2 )); // glyphnumber: 2535, Vibrato large, fastest - outMap.emplace(std::make_pair( "wiggleVibratoLargeSlow", 0xEAE6 )); // glyphnumber: 2536, Vibrato large, slow - outMap.emplace(std::make_pair( "wiggleVibratoLargeSlower", 0xEAE7 )); // glyphnumber: 2537, Vibrato large, slower - outMap.emplace(std::make_pair( "wiggleVibratoLargeSlowest", 0xEAE8 )); // glyphnumber: 2538, Vibrato large, slowest - outMap.emplace(std::make_pair( "wiggleVibratoLargestFast", 0xEAEC )); // glyphnumber: 2539, Vibrato largest, fast - outMap.emplace(std::make_pair( "wiggleVibratoLargestFaster", 0xEAEB )); // glyphnumber: 2540, Vibrato largest, faster - outMap.emplace(std::make_pair( "wiggleVibratoLargestFasterStill", 0xEAEA )); // glyphnumber: 2541, Vibrato largest, faster still - outMap.emplace(std::make_pair( "wiggleVibratoLargestFastest", 0xEAE9 )); // glyphnumber: 2542, Vibrato largest, fastest - outMap.emplace(std::make_pair( "wiggleVibratoLargestSlow", 0xEAED )); // glyphnumber: 2543, Vibrato largest, slow - outMap.emplace(std::make_pair( "wiggleVibratoLargestSlowest", 0xEAEF )); // glyphnumber: 2544, Vibrato largest, slowest - outMap.emplace(std::make_pair( "wiggleVibratoMediumFast", 0xEADE )); // glyphnumber: 2545, Vibrato medium, fast - outMap.emplace(std::make_pair( "wiggleVibratoMediumFaster", 0xEADD )); // glyphnumber: 2546, Vibrato medium, faster - outMap.emplace(std::make_pair( "wiggleVibratoMediumFasterStill", 0xEADC )); // glyphnumber: 2547, Vibrato medium, faster still - outMap.emplace(std::make_pair( "wiggleVibratoMediumFastest", 0xEADB )); // glyphnumber: 2548, Vibrato medium, fastest - outMap.emplace(std::make_pair( "wiggleVibratoMediumSlow", 0xEADF )); // glyphnumber: 2549, Vibrato medium, slow - outMap.emplace(std::make_pair( "wiggleVibratoMediumSlowest", 0xEAE1 )); // glyphnumber: 2550, Vibrato medium, slowest - outMap.emplace(std::make_pair( "wiggleVibratoSmallFast", 0xEAD7 )); // glyphnumber: 2551, Vibrato small, fast - outMap.emplace(std::make_pair( "wiggleVibratoSmallFaster", 0xEAD6 )); // glyphnumber: 2552, Vibrato small, faster - outMap.emplace(std::make_pair( "wiggleVibratoSmallFasterStill", 0xEAD5 )); // glyphnumber: 2553, Vibrato small, faster still - outMap.emplace(std::make_pair( "wiggleVibratoSmallFastest", 0xEAD4 )); // glyphnumber: 2554, Vibrato small, fastest - outMap.emplace(std::make_pair( "wiggleVibratoSmallSlow", 0xEAD8 )); // glyphnumber: 2555, Vibrato small, slow - outMap.emplace(std::make_pair( "wiggleVibratoSmallSlower", 0xEAD9 )); // glyphnumber: 2556, Vibrato small, slower - outMap.emplace(std::make_pair( "wiggleVibratoSmallSlowest", 0xEADA )); // glyphnumber: 2557, Vibrato small, slowest - outMap.emplace(std::make_pair( "wiggleVibratoSmallestFast", 0xEAD0 )); // glyphnumber: 2558, Vibrato smallest, fast - outMap.emplace(std::make_pair( "wiggleVibratoSmallestFaster", 0xEACF )); // glyphnumber: 2559, Vibrato smallest, faster - outMap.emplace(std::make_pair( "wiggleVibratoSmallestFasterStill", 0xEACE )); // glyphnumber: 2560, Vibrato smallest, faster still - outMap.emplace(std::make_pair( "wiggleVibratoSmallestFastest", 0xEACD )); // glyphnumber: 2561, Vibrato smallest, fastest - outMap.emplace(std::make_pair( "wiggleVibratoSmallestSlow", 0xEAD1 )); // glyphnumber: 2562, Vibrato smallest, slow - outMap.emplace(std::make_pair( "wiggleVibratoSmallestSlower", 0xEAD2 )); // glyphnumber: 2563, Vibrato smallest, slower - outMap.emplace(std::make_pair( "wiggleVibratoSmallestSlowest", 0xEAD3 )); // glyphnumber: 2564, Vibrato smallest, slowest - outMap.emplace(std::make_pair( "wiggleVibratoStart", 0xEACC )); // glyphnumber: 2565, Vibrato start - outMap.emplace(std::make_pair( "wiggleVibratoWide", 0xEAB1 )); // glyphnumber: 2566, Wide vibrato / shake wiggle segment - outMap.emplace(std::make_pair( "wiggleWavy", 0xEAB5 )); // glyphnumber: 2567, Wavy line segment - outMap.emplace(std::make_pair( "wiggleWavyNarrow", 0xEAB4 )); // glyphnumber: 2568, Narrow wavy line segment - outMap.emplace(std::make_pair( "wiggleWavyWide", 0xEAB6 )); // glyphnumber: 2569, Wide wavy line segment - outMap.emplace(std::make_pair( "windClosedHole", 0xE5F4 )); // glyphnumber: 2570, Closed hole - outMap.emplace(std::make_pair( "windFlatEmbouchure", 0xE5FB )); // glyphnumber: 2571, Flatter embouchure - outMap.emplace(std::make_pair( "windHalfClosedHole1", 0xE5F6 )); // glyphnumber: 2572, Half-closed hole - outMap.emplace(std::make_pair( "windHalfClosedHole2", 0xE5F7 )); // glyphnumber: 2573, Half-closed hole 2 - outMap.emplace(std::make_pair( "windHalfClosedHole3", 0xE5F8 )); // glyphnumber: 2574, Half-open hole - outMap.emplace(std::make_pair( "windLessRelaxedEmbouchure", 0xE5FE )); // glyphnumber: 2575, Somewhat relaxed embouchure - outMap.emplace(std::make_pair( "windLessTightEmbouchure", 0xE600 )); // glyphnumber: 2576, Somewhat tight embouchure - outMap.emplace(std::make_pair( "windMouthpiecePop", 0xE60A )); // glyphnumber: 2577, Mouthpiece or hand pop - outMap.emplace(std::make_pair( "windMultiphonicsBlackStem", 0xE607 )); // glyphnumber: 2578, Combining multiphonics (black) for stem - outMap.emplace(std::make_pair( "windMultiphonicsBlackWhiteStem", 0xE609 )); // glyphnumber: 2579, Combining multiphonics (black and white) for stem - outMap.emplace(std::make_pair( "windMultiphonicsWhiteStem", 0xE608 )); // glyphnumber: 2580, Combining multiphonics (white) for stem - outMap.emplace(std::make_pair( "windOpenHole", 0xE5F9 )); // glyphnumber: 2581, Open hole - outMap.emplace(std::make_pair( "windReedPositionIn", 0xE606 )); // glyphnumber: 2582, Much more reed (push inwards) - outMap.emplace(std::make_pair( "windReedPositionNormal", 0xE604 )); // glyphnumber: 2583, Normal reed position - outMap.emplace(std::make_pair( "windReedPositionOut", 0xE605 )); // glyphnumber: 2584, Very little reed (pull outwards) - outMap.emplace(std::make_pair( "windRelaxedEmbouchure", 0xE5FD )); // glyphnumber: 2585, Relaxed embouchure - outMap.emplace(std::make_pair( "windRimOnly", 0xE60B )); // glyphnumber: 2586, Rim only - outMap.emplace(std::make_pair( "windSharpEmbouchure", 0xE5FC )); // glyphnumber: 2587, Sharper embouchure - outMap.emplace(std::make_pair( "windStrongAirPressure", 0xE603 )); // glyphnumber: 2588, Very tight embouchure / strong air pressure - outMap.emplace(std::make_pair( "windThreeQuartersClosedHole", 0xE5F5 )); // glyphnumber: 2589, Three-quarters closed hole - outMap.emplace(std::make_pair( "windTightEmbouchure", 0xE5FF )); // glyphnumber: 2590, Tight embouchure - outMap.emplace(std::make_pair( "windTrillKey", 0xE5FA )); // glyphnumber: 2591, Trill key - outMap.emplace(std::make_pair( "windVeryTightEmbouchure", 0xE601 )); // glyphnumber: 2592, Very tight embouchure - outMap.emplace(std::make_pair( "windWeakAirPressure", 0xE602 )); // glyphnumber: 2593, Very relaxed embouchure / weak air-pressure - } - } -} diff --git a/Sourcecode/mx/sparsepp/spp.h b/Sourcecode/mx/sparsepp/spp.h new file mode 100755 index 000000000..bcfb29d26 --- /dev/null +++ b/Sourcecode/mx/sparsepp/spp.h @@ -0,0 +1,4336 @@ +#if !defined(sparsepp_h_guard_) +#define sparsepp_h_guard_ + + +// ---------------------------------------------------------------------- +// Copyright (c) 2016, Gregory Popovitch - greg7mdp@gmail.com +// All rights reserved. +// +// This work is derived from Google's sparsehash library +// +// Copyright (c) 2005, Google Inc. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// ---------------------------------------------------------------------- + + +// some macros for portability +// --------------------------- +// includes +// -------- +#include +#include +#include +#include // for numeric_limits +#include // For swap(), eg +#include // for iterator tags +#include // for equal_to<>, select1st<>, std::unary_function, etc +#include // for alloc, uninitialized_copy, uninitialized_fill +#include // for malloc/realloc/free +#include // for ptrdiff_t +#include // for placement new +#include // For length_error +#include // for pair<> +#include +#include +#include + +#include "spp_stdint.h" // includes spp_config.h +#include "spp_traits.h" +#include "spp_utils.h" + +#ifdef SPP_INCLUDE_SPP_ALLOC + #include "spp_dlalloc.h" +#endif + +#if !defined(SPP_NO_CXX11_HDR_INITIALIZER_LIST) + #include +#endif + +#if (SPP_GROUP_SIZE == 32) + #define SPP_SHIFT_ 5 + #define SPP_MASK_ 0x1F + typedef uint32_t group_bm_type; +#elif (SPP_GROUP_SIZE == 64) + #define SPP_SHIFT_ 6 + #define SPP_MASK_ 0x3F + typedef uint64_t group_bm_type; +#else + #error "SPP_GROUP_SIZE must be either 32 or 64" +#endif + +namespace spp_ { + +// ---------------------------------------------------------------------- +// U T I L F U N C T I O N S +// ---------------------------------------------------------------------- +template +inline void throw_exception(const E& exception) +{ +#if !defined(SPP_NO_EXCEPTIONS) + throw exception; +#else + assert(0); + abort(); +#endif +} + +// ---------------------------------------------------------------------- +// M U T A B L E P A I R H A C K +// turn std::pair into mutable std::pair +// ---------------------------------------------------------------------- +template +struct cvt +{ + typedef T type; +}; + +template +struct cvt > +{ + typedef std::pair type; +}; + +template +struct cvt > +{ + typedef const std::pair type; +}; + +// ---------------------------------------------------------------------- +// M O V E I T E R A T O R +// ---------------------------------------------------------------------- +#ifdef SPP_NO_CXX11_RVALUE_REFERENCES + #define MK_MOVE_IT(p) (p) +#else + #define MK_MOVE_IT(p) std::make_move_iterator(p) +#endif + + +// ---------------------------------------------------------------------- +// I N T E R N A L S T U F F +// ---------------------------------------------------------------------- +#ifdef SPP_NO_CXX11_STATIC_ASSERT + template struct SppCompileAssert { }; + #define SPP_COMPILE_ASSERT(expr, msg) \ + SPP_ATTRIBUTE_UNUSED typedef SppCompileAssert<(bool(expr))> spp_bogus_[bool(expr) ? 1 : -1] +#else + #define SPP_COMPILE_ASSERT static_assert +#endif + +namespace sparsehash_internal +{ + +// Adaptor methods for reading/writing data from an INPUT or OUPTUT +// variable passed to serialize() or unserialize(). For now we +// have implemented INPUT/OUTPUT for FILE*, istream*/ostream* (note +// they are pointers, unlike typical use), or else a pointer to +// something that supports a Read()/Write() method. +// +// For technical reasons, we implement read_data/write_data in two +// stages. The actual work is done in *_data_internal, which takes +// the stream argument twice: once as a template type, and once with +// normal type information. (We only use the second version.) We do +// this because of how C++ picks what function overload to use. If we +// implemented this the naive way: +// bool read_data(istream* is, const void* data, size_t length); +// template read_data(T* fp, const void* data, size_t length); +// C++ would prefer the second version for every stream type except +// istream. However, we want C++ to prefer the first version for +// streams that are *subclasses* of istream, such as istringstream. +// This is not possible given the way template types are resolved. So +// we split the stream argument in two, one of which is templated and +// one of which is not. The specialized functions (like the istream +// version above) ignore the template arg and use the second, 'type' +// arg, getting subclass matching as normal. The 'catch-all' +// functions (the second version above) use the template arg to deduce +// the type, and use a second, void* arg to achieve the desired +// 'catch-all' semantics. + + // ----- low-level I/O for FILE* ---- + + template + inline bool read_data_internal(Ignored* /*unused*/, FILE* fp, + void* data, size_t length) + { + return fread(data, length, 1, fp) == 1; + } + + template + inline bool write_data_internal(Ignored* /*unused*/, FILE* fp, + const void* data, size_t length) + { + return fwrite(data, length, 1, fp) == 1; + } + + // ----- low-level I/O for iostream ---- + + // We want the caller to be responsible for #including , not + // us, because iostream is a big header! According to the standard, + // it's only legal to delay the instantiation the way we want to if + // the istream/ostream is a template type. So we jump through hoops. + template + inline bool read_data_internal_for_istream(ISTREAM* fp, + void* data, size_t length) + { + return fp->read(reinterpret_cast(data), + static_cast(length)).good(); + } + template + inline bool read_data_internal(Ignored* /*unused*/, std::istream* fp, + void* data, size_t length) + { + return read_data_internal_for_istream(fp, data, length); + } + + template + inline bool write_data_internal_for_ostream(OSTREAM* fp, + const void* data, size_t length) + { + return fp->write(reinterpret_cast(data), + static_cast(length)).good(); + } + template + inline bool write_data_internal(Ignored* /*unused*/, std::ostream* fp, + const void* data, size_t length) + { + return write_data_internal_for_ostream(fp, data, length); + } + + // ----- low-level I/O for custom streams ---- + + // The INPUT type needs to support a Read() method that takes a + // buffer and a length and returns the number of bytes read. + template + inline bool read_data_internal(INPUT* fp, void* /*unused*/, + void* data, size_t length) + { + return static_cast(fp->Read(data, length)) == length; + } + + // The OUTPUT type needs to support a Write() operation that takes + // a buffer and a length and returns the number of bytes written. + template + inline bool write_data_internal(OUTPUT* fp, void* /*unused*/, + const void* data, size_t length) + { + return static_cast(fp->Write(data, length)) == length; + } + + // ----- low-level I/O: the public API ---- + + template + inline bool read_data(INPUT* fp, void* data, size_t length) + { + return read_data_internal(fp, fp, data, length); + } + + template + inline bool write_data(OUTPUT* fp, const void* data, size_t length) + { + return write_data_internal(fp, fp, data, length); + } + + // Uses read_data() and write_data() to read/write an integer. + // length is the number of bytes to read/write (which may differ + // from sizeof(IntType), allowing us to save on a 32-bit system + // and load on a 64-bit system). Excess bytes are taken to be 0. + // INPUT and OUTPUT must match legal inputs to read/write_data (above). + // -------------------------------------------------------------------- + template + bool read_bigendian_number(INPUT* fp, IntType* value, size_t length) + { + *value = 0; + unsigned char byte; + // We require IntType to be unsigned or else the shifting gets all screwy. + SPP_COMPILE_ASSERT(static_cast(-1) > static_cast(0), "serializing_int_requires_an_unsigned_type"); + for (size_t i = 0; i < length; ++i) + { + if (!read_data(fp, &byte, sizeof(byte))) + return false; + *value |= static_cast(byte) << ((length - 1 - i) * 8); + } + return true; + } + + template + bool write_bigendian_number(OUTPUT* fp, IntType value, size_t length) + { + unsigned char byte; + // We require IntType to be unsigned or else the shifting gets all screwy. + SPP_COMPILE_ASSERT(static_cast(-1) > static_cast(0), "serializing_int_requires_an_unsigned_type"); + for (size_t i = 0; i < length; ++i) + { + byte = (sizeof(value) <= length-1 - i) + ? static_cast(0) : static_cast((value >> ((length-1 - i) * 8)) & 255); + if (!write_data(fp, &byte, sizeof(byte))) return false; + } + return true; + } + + // If your keys and values are simple enough, you can pass this + // serializer to serialize()/unserialize(). "Simple enough" means + // value_type is a POD type that contains no pointers. Note, + // however, we don't try to normalize endianness. + // This is the type used for NopointerSerializer. + // --------------------------------------------------------------- + template struct pod_serializer + { + template + bool operator()(INPUT* fp, value_type* value) const + { + return read_data(fp, value, sizeof(*value)); + } + + template + bool operator()(OUTPUT* fp, const value_type& value) const + { + return write_data(fp, &value, sizeof(value)); + } + }; + + + // Settings contains parameters for growing and shrinking the table. + // It also packages zero-size functor (ie. hasher). + // + // It does some munging of the hash value for the cases where + // the original hash function is not be very good. + // --------------------------------------------------------------- + template + class sh_hashtable_settings : public HashFunc + { + private: +#ifndef SPP_MIX_HASH + template struct Mixer + { + inline T operator()(T h) const { return h; } + }; +#else + template struct Mixer + { + inline T operator()(T h) const; + }; + + template struct Mixer + { + inline T operator()(T h) const + { + // from Thomas Wang - https://gist.github.com/badboy/6267743 + // --------------------------------------------------------- + h = (h ^ 61) ^ (h >> 16); + h = h + (h << 3); + h = h ^ (h >> 4); + h = h * 0x27d4eb2d; + h = h ^ (h >> 15); + return h; + } + }; + + template struct Mixer + { + inline T operator()(T h) const + { + // from Thomas Wang - https://gist.github.com/badboy/6267743 + // --------------------------------------------------------- + h = (~h) + (h << 21); // h = (h << 21) - h - 1; + h = h ^ (h >> 24); + h = (h + (h << 3)) + (h << 8); // h * 265 + h = h ^ (h >> 14); + h = (h + (h << 2)) + (h << 4); // h * 21 + h = h ^ (h >> 28); + h = h + (h << 31); + return h; + } + }; +#endif + + public: + typedef Key key_type; + typedef HashFunc hasher; + typedef SizeType size_type; + + public: + sh_hashtable_settings(const hasher& hf, + const float ht_occupancy_flt, + const float ht_empty_flt) + : hasher(hf), + enlarge_threshold_(0), + shrink_threshold_(0), + consider_shrink_(false), + num_ht_copies_(0) + { + set_enlarge_factor(ht_occupancy_flt); + set_shrink_factor(ht_empty_flt); + } + + size_t hash(const key_type& v) const + { + size_t h = hasher::operator()(v); + Mixer mixer; + + return mixer(h); + } + + float enlarge_factor() const { return enlarge_factor_; } + void set_enlarge_factor(float f) { enlarge_factor_ = f; } + float shrink_factor() const { return shrink_factor_; } + void set_shrink_factor(float f) { shrink_factor_ = f; } + + size_type enlarge_threshold() const { return enlarge_threshold_; } + void set_enlarge_threshold(size_type t) { enlarge_threshold_ = t; } + size_type shrink_threshold() const { return shrink_threshold_; } + void set_shrink_threshold(size_type t) { shrink_threshold_ = t; } + + size_type enlarge_size(size_type x) const { return static_cast(x * enlarge_factor_); } + size_type shrink_size(size_type x) const { return static_cast(x * shrink_factor_); } + + bool consider_shrink() const { return consider_shrink_; } + void set_consider_shrink(bool t) { consider_shrink_ = t; } + + unsigned int num_ht_copies() const { return num_ht_copies_; } + void inc_num_ht_copies() { ++num_ht_copies_; } + + // Reset the enlarge and shrink thresholds + void reset_thresholds(size_type num_buckets) + { + set_enlarge_threshold(enlarge_size(num_buckets)); + set_shrink_threshold(shrink_size(num_buckets)); + // whatever caused us to reset already considered + set_consider_shrink(false); + } + + // Caller is resposible for calling reset_threshold right after + // set_resizing_parameters. + // ------------------------------------------------------------ + void set_resizing_parameters(float shrink, float grow) + { + assert(shrink >= 0); + assert(grow <= 1); + if (shrink > grow/2.0f) + shrink = grow / 2.0f; // otherwise we thrash hashtable size + set_shrink_factor(shrink); + set_enlarge_factor(grow); + } + + // This is the smallest size a hashtable can be without being too crowded + // If you like, you can give a min #buckets as well as a min #elts + // ---------------------------------------------------------------------- + size_type min_buckets(size_type num_elts, size_type min_buckets_wanted) + { + float enlarge = enlarge_factor(); + size_type sz = HT_MIN_BUCKETS; // min buckets allowed + while (sz < min_buckets_wanted || + num_elts >= static_cast(sz * enlarge)) + { + // This just prevents overflowing size_type, since sz can exceed + // max_size() here. + // ------------------------------------------------------------- + if (static_cast(sz * 2) < sz) + throw_exception(std::length_error("resize overflow")); // protect against overflow + sz *= 2; + } + return sz; + } + + private: + size_type enlarge_threshold_; // table.size() * enlarge_factor + size_type shrink_threshold_; // table.size() * shrink_factor + float enlarge_factor_; // how full before resize + float shrink_factor_; // how empty before resize + bool consider_shrink_; // if we should try to shrink before next insert + + unsigned int num_ht_copies_; // num_ht_copies is a counter incremented every Copy/Move + }; + +} // namespace sparsehash_internal + +#undef SPP_COMPILE_ASSERT + +// ---------------------------------------------------------------------- +// S P A R S E T A B L E +// ---------------------------------------------------------------------- +// +// A sparsetable is a random container that implements a sparse array, +// that is, an array that uses very little memory to store unassigned +// indices (in this case, between 1-2 bits per unassigned index). For +// instance, if you allocate an array of size 5 and assign a[2] = , then a[2] will take up a lot of memory but a[0], a[1], +// a[3], and a[4] will not. Array elements that have a value are +// called "assigned". Array elements that have no value yet, or have +// had their value cleared using erase() or clear(), are called +// "unassigned". +// +// Unassigned values seem to have the default value of T (see below). +// Nevertheless, there is a difference between an unassigned index and +// one explicitly assigned the value of T(). The latter is considered +// assigned. +// +// Access to an array element is constant time, as is insertion and +// deletion. Insertion and deletion may be fairly slow, however: +// because of this container's memory economy, each insert and delete +// causes a memory reallocation. +// +// NOTE: You should not test(), get(), or set() any index that is +// greater than sparsetable.size(). If you need to do that, call +// resize() first. +// +// --- Template parameters +// PARAMETER DESCRIPTION DEFAULT +// T The value of the array: the type of -- +// object that is stored in the array. +// +// Alloc: Allocator to use to allocate memory. +// +// --- Model of +// Random Access Container +// +// --- Type requirements +// T must be Copy Constructible. It need not be Assignable. +// +// --- Public base classes +// None. +// +// --- Members +// +// [*] All iterators are const in a sparsetable (though nonempty_iterators +// may not be). Use get() and set() to assign values, not iterators. +// +// [+] iterators are random-access iterators. nonempty_iterators are +// bidirectional iterators. + +// [*] If you shrink a sparsetable using resize(), assigned elements +// past the end of the table are removed using erase(). If you grow +// a sparsetable, new unassigned indices are created. +// +// [+] Note that operator[] returns a const reference. You must use +// set() to change the value of a table element. +// +// [!] Unassignment also calls the destructor. +// +// Iterators are invalidated whenever an item is inserted or +// deleted (ie set() or erase() is used) or when the size of +// the table changes (ie resize() or clear() is used). + + + +// --------------------------------------------------------------------------- +// Our iterator as simple as iterators can be: basically it's just +// the index into our table. Dereference, the only complicated +// thing, we punt to the table class. This just goes to show how +// much machinery STL requires to do even the most trivial tasks. +// +// A NOTE ON ASSIGNING: +// A sparse table does not actually allocate memory for entries +// that are not filled. Because of this, it becomes complicated +// to have a non-const iterator: we don't know, if the iterator points +// to a not-filled bucket, whether you plan to fill it with something +// or whether you plan to read its value (in which case you'll get +// the default bucket value). Therefore, while we can define const +// operations in a pretty 'normal' way, for non-const operations, we +// define something that returns a helper object with operator= and +// operator& that allocate a bucket lazily. We use this for table[] +// and also for regular table iterators. + +// --------------------------------------------------------------------------- +// --------------------------------------------------------------------------- +// Our iterator as simple as iterators can be: basically it's just +// the index into our table. Dereference, the only complicated +// thing, we punt to the table class. This just goes to show how +// much machinery STL requires to do even the most trivial tasks. +// +// By templatizing over tabletype, we have one iterator type which +// we can use for both sparsetables and sparsebins. In fact it +// works on any class that allows size() and operator[] (eg vector), +// as long as it does the standard STL typedefs too (eg value_type). + +// --------------------------------------------------------------------------- +// --------------------------------------------------------------------------- +template +class table_iterator +{ +public: + typedef table_iterator iterator; + + typedef std::random_access_iterator_tag iterator_category; + typedef typename tabletype::value_type value_type; + typedef typename tabletype::difference_type difference_type; + typedef typename tabletype::size_type size_type; + + explicit table_iterator(tabletype *tbl = 0, size_type p = 0) : + table(tbl), pos(p) + { } + + // Helper function to assert things are ok; eg pos is still in range + void check() const + { + assert(table); + assert(pos <= table->size()); + } + + // Arithmetic: we just do arithmetic on pos. We don't even need to + // do bounds checking, since STL doesn't consider that its job. :-) + iterator& operator+=(size_type t) { pos += t; check(); return *this; } + iterator& operator-=(size_type t) { pos -= t; check(); return *this; } + iterator& operator++() { ++pos; check(); return *this; } + iterator& operator--() { --pos; check(); return *this; } + iterator operator++(int) + { + iterator tmp(*this); // for x++ + ++pos; check(); return tmp; + } + + iterator operator--(int) + { + iterator tmp(*this); // for x-- + --pos; check(); return tmp; + } + + iterator operator+(difference_type i) const + { + iterator tmp(*this); + tmp += i; return tmp; + } + + iterator operator-(difference_type i) const + { + iterator tmp(*this); + tmp -= i; return tmp; + } + + difference_type operator-(iterator it) const + { + // for "x = it2 - it" + assert(table == it.table); + return pos - it.pos; + } + + // Comparisons. + bool operator==(const iterator& it) const + { + return table == it.table && pos == it.pos; + } + + bool operator<(const iterator& it) const + { + assert(table == it.table); // life is bad bad bad otherwise + return pos < it.pos; + } + + bool operator!=(const iterator& it) const { return !(*this == it); } + bool operator<=(const iterator& it) const { return !(it < *this); } + bool operator>(const iterator& it) const { return it < *this; } + bool operator>=(const iterator& it) const { return !(*this < it); } + + // Here's the info we actually need to be an iterator + tabletype *table; // so we can dereference and bounds-check + size_type pos; // index into the table +}; + +// --------------------------------------------------------------------------- +// --------------------------------------------------------------------------- +template +class const_table_iterator +{ +public: + typedef table_iterator iterator; + typedef const_table_iterator const_iterator; + + typedef std::random_access_iterator_tag iterator_category; + typedef typename tabletype::value_type value_type; + typedef typename tabletype::difference_type difference_type; + typedef typename tabletype::size_type size_type; + typedef typename tabletype::const_reference reference; // we're const-only + typedef typename tabletype::const_pointer pointer; + + // The "real" constructor + const_table_iterator(const tabletype *tbl, size_type p) + : table(tbl), pos(p) { } + + // The default constructor, used when I define vars of type table::iterator + const_table_iterator() : table(NULL), pos(0) { } + + // The copy constructor, for when I say table::iterator foo = tbl.begin() + // Also converts normal iterators to const iterators // not explicit on purpose + const_table_iterator(const iterator &from) + : table(from.table), pos(from.pos) { } + + // The default destructor is fine; we don't define one + // The default operator= is fine; we don't define one + + // The main thing our iterator does is dereference. If the table entry + // we point to is empty, we return the default value type. + reference operator*() const { return (*table)[pos]; } + pointer operator->() const { return &(operator*()); } + + // Helper function to assert things are ok; eg pos is still in range + void check() const + { + assert(table); + assert(pos <= table->size()); + } + + // Arithmetic: we just do arithmetic on pos. We don't even need to + // do bounds checking, since STL doesn't consider that its job. :-) + const_iterator& operator+=(size_type t) { pos += t; check(); return *this; } + const_iterator& operator-=(size_type t) { pos -= t; check(); return *this; } + const_iterator& operator++() { ++pos; check(); return *this; } + const_iterator& operator--() { --pos; check(); return *this; } + const_iterator operator++(int) + { + const_iterator tmp(*this); // for x++ + ++pos; check(); + return tmp; + } + const_iterator operator--(int) + { + const_iterator tmp(*this); // for x-- + --pos; check(); + return tmp; + } + const_iterator operator+(difference_type i) const + { + const_iterator tmp(*this); + tmp += i; + return tmp; + } + const_iterator operator-(difference_type i) const + { + const_iterator tmp(*this); + tmp -= i; + return tmp; + } + difference_type operator-(const_iterator it) const + { + // for "x = it2 - it" + assert(table == it.table); + return pos - it.pos; + } + reference operator[](difference_type n) const + { + return *(*this + n); // simple though not totally efficient + } + + // Comparisons. + bool operator==(const const_iterator& it) const + { + return table == it.table && pos == it.pos; + } + + bool operator<(const const_iterator& it) const + { + assert(table == it.table); // life is bad bad bad otherwise + return pos < it.pos; + } + bool operator!=(const const_iterator& it) const { return !(*this == it); } + bool operator<=(const const_iterator& it) const { return !(it < *this); } + bool operator>(const const_iterator& it) const { return it < *this; } + bool operator>=(const const_iterator& it) const { return !(*this < it); } + + // Here's the info we actually need to be an iterator + const tabletype *table; // so we can dereference and bounds-check + size_type pos; // index into the table +}; + +// --------------------------------------------------------------------------- +// This is a 2-D iterator. You specify a begin and end over a list +// of *containers*. We iterate over each container by iterating over +// it. It's actually simple: +// VECTOR.begin() VECTOR[0].begin() --------> VECTOR[0].end() ---, +// | ________________________________________________/ +// | \_> VECTOR[1].begin() --------> VECTOR[1].end() -, +// | ___________________________________________________/ +// v \_> ...... +// VECTOR.end() +// +// It's impossible to do random access on one of these things in constant +// time, so it's just a bidirectional iterator. +// +// Unfortunately, because we need to use this for a non-empty iterator, +// we use ne_begin() and ne_end() instead of begin() and end() +// (though only going across, not down). +// --------------------------------------------------------------------------- + +// --------------------------------------------------------------------------- +// --------------------------------------------------------------------------- +template +class Two_d_iterator : public std::iterator +{ +public: + typedef Two_d_iterator iterator; + typedef T value_type; + + explicit Two_d_iterator(row_it curr) : row_current(curr), col_current(0) + { + if (row_current && !row_current->is_marked()) + { + col_current = row_current->ne_begin(); + advance_past_end(); // in case cur->begin() == cur->end() + } + } + + explicit Two_d_iterator(row_it curr, col_it col) : row_current(curr), col_current(col) + { + assert(col); + } + + // The default constructor + Two_d_iterator() : row_current(0), col_current(0) { } + + // Need this explicitly so we can convert normal iterators <=> const iterators + // not explicit on purpose + // --------------------------------------------------------------------------- + template + Two_d_iterator(const Two_d_iterator& it) : + row_current (*(row_it *)&it.row_current), + col_current (*(col_it *)&it.col_current) + { } + + // The default destructor is fine; we don't define one + // The default operator= is fine; we don't define one + + value_type& operator*() const { return *(col_current); } + value_type* operator->() const { return &(operator*()); } + + // Arithmetic: we just do arithmetic on pos. We don't even need to + // do bounds checking, since STL doesn't consider that its job. :-) + // NOTE: this is not amortized constant time! What do we do about it? + // ------------------------------------------------------------------ + void advance_past_end() + { + // used when col_current points to end() + while (col_current == row_current->ne_end()) + { + // end of current row + // ------------------ + ++row_current; // go to beginning of next + if (!row_current->is_marked()) // col is irrelevant at end + col_current = row_current->ne_begin(); + else + break; // don't go past row_end + } + } + + friend size_t operator-(iterator l, iterator f) + { + if (f.row_current->is_marked()) + return 0; + + size_t diff(0); + while (f != l) + { + ++diff; + ++f; + } + return diff; + } + + iterator& operator++() + { + // assert(!row_current->is_marked()); // how to ++ from there? + ++col_current; + advance_past_end(); // in case col_current is at end() + return *this; + } + + iterator& operator--() + { + while (row_current->is_marked() || + col_current == row_current->ne_begin()) + { + --row_current; + col_current = row_current->ne_end(); // this is 1 too far + } + --col_current; + return *this; + } + iterator operator++(int) { iterator tmp(*this); ++*this; return tmp; } + iterator operator--(int) { iterator tmp(*this); --*this; return tmp; } + + + // Comparisons. + bool operator==(const iterator& it) const + { + return (row_current == it.row_current && + (!row_current || row_current->is_marked() || col_current == it.col_current)); + } + + bool operator!=(const iterator& it) const { return !(*this == it); } + + // Here's the info we actually need to be an iterator + // These need to be public so we convert from iterator to const_iterator + // --------------------------------------------------------------------- + row_it row_current; + col_it col_current; +}; + + +// --------------------------------------------------------------------------- +// --------------------------------------------------------------------------- +template +class Two_d_destructive_iterator : public Two_d_iterator +{ +public: + typedef Two_d_destructive_iterator iterator; + + Two_d_destructive_iterator(Alloc &alloc, row_it curr) : + _alloc(alloc) + { + this->row_current = curr; + this->col_current = 0; + if (this->row_current && !this->row_current->is_marked()) + { + this->col_current = this->row_current->ne_begin(); + advance_past_end(); // in case cur->begin() == cur->end() + } + } + + // Arithmetic: we just do arithmetic on pos. We don't even need to + // do bounds checking, since STL doesn't consider that its job. :-) + // NOTE: this is not amortized constant time! What do we do about it? + // ------------------------------------------------------------------ + void advance_past_end() + { + // used when col_current points to end() + while (this->col_current == this->row_current->ne_end()) + { + this->row_current->clear(_alloc, true); // This is what differs from non-destructive iterators above + + // end of current row + // ------------------ + ++this->row_current; // go to beginning of next + if (!this->row_current->is_marked()) // col is irrelevant at end + this->col_current = this->row_current->ne_begin(); + else + break; // don't go past row_end + } + } + + iterator& operator++() + { + // assert(!this->row_current->is_marked()); // how to ++ from there? + ++this->col_current; + advance_past_end(); // in case col_current is at end() + return *this; + } + +private: + Two_d_destructive_iterator& operator=(const Two_d_destructive_iterator &o); + + Alloc &_alloc; +}; + + +// --------------------------------------------------------------------------- +// --------------------------------------------------------------------------- +#if defined(SPP_POPCNT_CHECK) +static inline bool spp_popcount_check() +{ + int cpuInfo[4] = { -1 }; + spp_cpuid(cpuInfo, 1); + if (cpuInfo[2] & (1 << 23)) + return true; // means SPP_POPCNT supported + return false; +} +#endif + +#if defined(SPP_POPCNT_CHECK) && defined(SPP_POPCNT) + +static inline uint32_t spp_popcount(uint32_t i) +{ + static const bool s_ok = spp_popcount_check(); + return s_ok ? SPP_POPCNT(i) : s_spp_popcount_default(i); +} + +#else + +static inline uint32_t spp_popcount(uint32_t i) +{ +#if defined(SPP_POPCNT) + return static_cast(SPP_POPCNT(i)); +#else + return s_spp_popcount_default(i); +#endif +} + +#endif + +#if defined(SPP_POPCNT_CHECK) && defined(SPP_POPCNT64) + +static inline uint32_t spp_popcount(uint64_t i) +{ + static const bool s_ok = spp_popcount_check(); + return s_ok ? (uint32_t)SPP_POPCNT64(i) : s_spp_popcount_default(i); +} + +#else + +static inline uint32_t spp_popcount(uint64_t i) +{ +#if defined(SPP_POPCNT64) + return static_cast(SPP_POPCNT64(i)); +#elif 1 + return s_spp_popcount_default(i); +#endif +} + +#endif + +// --------------------------------------------------------------------------- +// SPARSE-TABLE +// ------------ +// The idea is that a table with (logically) t buckets is divided +// into t/M *groups* of M buckets each. (M is a constant, typically +// 32) Each group is stored sparsely. +// Thus, inserting into the table causes some array to grow, which is +// slow but still constant time. Lookup involves doing a +// logical-position-to-sparse-position lookup, which is also slow but +// constant time. The larger M is, the slower these operations are +// but the less overhead (slightly). +// +// To store the sparse array, we store a bitmap B, where B[i] = 1 iff +// bucket i is non-empty. Then to look up bucket i we really look up +// array[# of 1s before i in B]. This is constant time for fixed M. +// +// Terminology: the position of an item in the overall table (from +// 1 .. t) is called its "location." The logical position in a group +// (from 1 .. M) is called its "position." The actual location in +// the array (from 1 .. # of non-empty buckets in the group) is +// called its "offset." +// --------------------------------------------------------------------------- + +template +class sparsegroup +{ +public: + // Basic types + typedef T value_type; + typedef Alloc allocator_type; + typedef value_type& reference; + typedef const value_type& const_reference; + typedef value_type* pointer; + typedef const value_type* const_pointer; + + typedef uint8_t size_type; // max # of buckets + + // These are our special iterators, that go over non-empty buckets in a + // group. These aren't const-only because you can change non-empty bcks. + // --------------------------------------------------------------------- + typedef pointer ne_iterator; + typedef const_pointer const_ne_iterator; + typedef std::reverse_iterator reverse_ne_iterator; + typedef std::reverse_iterator const_reverse_ne_iterator; + + // We'll have versions for our special non-empty iterator too + // ---------------------------------------------------------- + ne_iterator ne_begin() { return reinterpret_cast(_group); } + const_ne_iterator ne_begin() const { return reinterpret_cast(_group); } + const_ne_iterator ne_cbegin() const { return reinterpret_cast(_group); } + ne_iterator ne_end() { return reinterpret_cast(_group + _num_items()); } + const_ne_iterator ne_end() const { return reinterpret_cast(_group + _num_items()); } + const_ne_iterator ne_cend() const { return reinterpret_cast(_group + _num_items()); } + reverse_ne_iterator ne_rbegin() { return reverse_ne_iterator(ne_end()); } + const_reverse_ne_iterator ne_rbegin() const { return const_reverse_ne_iterator(ne_cend()); } + const_reverse_ne_iterator ne_crbegin() const { return const_reverse_ne_iterator(ne_cend()); } + reverse_ne_iterator ne_rend() { return reverse_ne_iterator(ne_begin()); } + const_reverse_ne_iterator ne_rend() const { return const_reverse_ne_iterator(ne_cbegin()); } + const_reverse_ne_iterator ne_crend() const { return const_reverse_ne_iterator(ne_cbegin()); } + +private: + // T can be std::pair, but sometime we need to cast to a mutable type + // ------------------------------------------------------------------------------ + typedef typename spp_::cvt::type mutable_value_type; + typedef mutable_value_type & mutable_reference; + typedef mutable_value_type * mutable_pointer; + typedef const mutable_value_type * const_mutable_pointer; + + bool _bmtest(size_type i) const { return !!(_bitmap & (static_cast(1) << i)); } + void _bmset(size_type i) { _bitmap |= static_cast(1) << i; } + void _bmclear(size_type i) { _bitmap &= ~(static_cast(1) << i); } + + bool _bme_test(size_type i) const { return !!(_bm_erased & (static_cast(1) << i)); } + void _bme_set(size_type i) { _bm_erased |= static_cast(1) << i; } + void _bme_clear(size_type i) { _bm_erased &= ~(static_cast(1) << i); } + + bool _bmtest_strict(size_type i) const + { return !!((_bitmap | _bm_erased) & (static_cast(1) << i)); } + + + static uint32_t _sizing(uint32_t n) + { +#if !defined(SPP_ALLOC_SZ) || (SPP_ALLOC_SZ == 0) + // aggressive allocation first, then decreasing as sparsegroups fill up + // -------------------------------------------------------------------- + struct alloc_batch_size + { + // 32 bit bitmap + // ........ .... .... .. .. .. .. . . . . . . . . + // 8 12 16 18 20 22 24 25 26 ... 32 + // ------------------------------------------------------ + SPP_CXX14_CONSTEXPR alloc_batch_size() + : data() + { + uint8_t group_sz = SPP_GROUP_SIZE / 4; + uint8_t group_start_alloc = SPP_GROUP_SIZE / 8; //4; + uint8_t alloc_sz = group_start_alloc; + for (int i=0; i<4; ++i) + { + for (int j=0; j 2) + group_start_alloc /= 2; + alloc_sz += group_start_alloc; + } + } + uint8_t data[SPP_GROUP_SIZE]; + }; + + static alloc_batch_size s_alloc_batch_sz; + return n ? static_cast(s_alloc_batch_sz.data[n-1]) : 0; // more aggressive alloc at the beginning + +#elif (SPP_ALLOC_SZ == 1) + // use as little memory as possible - slowest insert/delete in table + // ----------------------------------------------------------------- + return n; +#else + // decent compromise when SPP_ALLOC_SZ == 2 + // ---------------------------------------- + static size_type sz_minus_1 = SPP_ALLOC_SZ - 1; + return (n + sz_minus_1) & ~sz_minus_1; +#endif + } + + pointer _allocate_group(allocator_type &alloc, uint32_t n /* , bool tight = false */) + { + // ignore tight since we don't store num_alloc + // num_alloc = (uint8_t)(tight ? n : _sizing(n)); + + uint32_t num_alloc = (uint8_t)_sizing(n); + _set_num_alloc(num_alloc); + pointer retval = alloc.allocate(static_cast(num_alloc)); + if (retval == NULL) + { + // the allocator is supposed to throw an exception if the allocation fails. + fprintf(stderr, "sparsehash FATAL ERROR: failed to allocate %d groups\n", num_alloc); + exit(1); + } + return retval; + } + + void _free_group(allocator_type &alloc, uint32_t num_alloc) + { + if (_group) + { + uint32_t num_buckets = _num_items(); + if (num_buckets) + { + mutable_pointer end_it = (mutable_pointer)(_group + num_buckets); + for (mutable_pointer p = (mutable_pointer)_group; p != end_it; ++p) + p->~mutable_value_type(); + } + alloc.deallocate(_group, (typename allocator_type::size_type)num_alloc); + _group = NULL; + } + } + + // private because should not be called - no allocator! + sparsegroup &operator=(const sparsegroup& x); + + static size_type _pos_to_offset(group_bm_type bm, size_type pos) + { + //return (size_type)((uint32_t)~((int32_t(-1) + pos) >> 31) & spp_popcount(bm << (SPP_GROUP_SIZE - pos))); + //return (size_type)(pos ? spp_popcount(bm << (SPP_GROUP_SIZE - pos)) : 0); + return static_cast(spp_popcount(bm & ((static_cast(1) << pos) - 1))); + } + +public: + + // get_iter() in sparsetable needs it + size_type pos_to_offset(size_type pos) const + { + return _pos_to_offset(_bitmap, pos); + } + +#ifdef _MSC_VER +#pragma warning(push) +#pragma warning(disable : 4146) +#endif + + // Returns the (logical) position in the bm[] array, i, such that + // bm[i] is the offset-th set bit in the array. It is the inverse + // of pos_to_offset. get_pos() uses this function to find the index + // of an ne_iterator in the table. Bit-twiddling from + // http://hackersdelight.org/basics.pdf + // ----------------------------------------------------------------- + static size_type offset_to_pos(group_bm_type bm, size_type offset) + { + for (; offset > 0; offset--) + bm &= (bm-1); // remove right-most set bit + + // Clear all bits to the left of the rightmost bit (the &), + // and then clear the rightmost bit but set all bits to the + // right of it (the -1). + // -------------------------------------------------------- + bm = (bm & -bm) - 1; + return static_cast(spp_popcount(bm)); + } + +#ifdef _MSC_VER +#pragma warning(pop) +#endif + + size_type offset_to_pos(size_type offset) const + { + return offset_to_pos(_bitmap, offset); + } + +public: + // Constructors -- default and copy -- and destructor + explicit sparsegroup() : + _group(0), _bitmap(0), _bm_erased(0) + { + _set_num_items(0); + _set_num_alloc(0); + } + + sparsegroup(const sparsegroup& x) : + _group(0), _bitmap(x._bitmap), _bm_erased(x._bm_erased) + { + _set_num_items(0); + _set_num_alloc(0); + assert(_group == 0); if (_group) exit(1); + } + + sparsegroup(const sparsegroup& x, allocator_type& a) : + _group(0), _bitmap(x._bitmap), _bm_erased(x._bm_erased) + { + _set_num_items(0); + _set_num_alloc(0); + + uint32_t num_items = x._num_items(); + if (num_items) + { + _group = _allocate_group(a, num_items /* , true */); + _set_num_items(num_items); + std::uninitialized_copy(x._group, x._group + num_items, _group); + } + } + + ~sparsegroup() { assert(_group == 0); if (_group) exit(1); } + + void destruct(allocator_type& a) { _free_group(a, _num_alloc()); } + + // Many STL algorithms use swap instead of copy constructors + void swap(sparsegroup& x) + { + using std::swap; + + swap(_group, x._group); + swap(_bitmap, x._bitmap); + swap(_bm_erased, x._bm_erased); +#ifdef SPP_STORE_NUM_ITEMS + swap(_num_buckets, x._num_buckets); + swap(_num_allocated, x._num_allocated); +#endif + } + + // It's always nice to be able to clear a table without deallocating it + void clear(allocator_type &alloc, bool erased) + { + _free_group(alloc, _num_alloc()); + _bitmap = 0; + if (erased) + _bm_erased = 0; + _set_num_items(0); + _set_num_alloc(0); + } + + // Functions that tell you about size. Alas, these aren't so useful + // because our table is always fixed size. + size_type size() const { return static_cast(SPP_GROUP_SIZE); } + size_type max_size() const { return static_cast(SPP_GROUP_SIZE); } + + bool empty() const { return false; } + + // We also may want to know how many *used* buckets there are + size_type num_nonempty() const { return (size_type)_num_items(); } + + // TODO(csilvers): make protected + friend + // This is used by sparse_hashtable to get an element from the table + // when we know it exists. + reference unsafe_get(size_type i) const + { + // assert(_bmtest(i)); + return (reference)_group[pos_to_offset(i)]; + } + + typedef std::pair SetResult; + +private: + //typedef spp_::integral_constant::value> check_relocatable; + typedef spp_::true_type realloc_ok_type; + typedef spp_::false_type realloc_not_ok_type; + + //typedef spp_::zero_type libc_reloc_type; + //typedef spp_::one_type spp_reloc_type; + //typedef spp_::two_type spp_not_reloc_type; + //typedef spp_::three_type generic_alloc_type; + +#if 1 + typedef typename if_<((spp_::is_same >::value || + spp_::is_same >::value) && + spp_::is_relocatable::value), realloc_ok_type, realloc_not_ok_type>::type + check_alloc_type; +#else + typedef typename if_ >::value, + typename if_::value, spp_reloc_type, spp_not_reloc_type>::type, + typename if_<(spp_::is_same >::value && + spp_::is_relocatable::value), libc_reloc_type, generic_alloc_type>::type >::type + check_alloc_type; +#endif + + + //typedef if_ >::value, + // libc_alloc_type, + // if_ >::value, + // spp_alloc_type, user_alloc_type> > check_alloc_type; + + //typedef spp_::integral_constant::value && + // (spp_::is_same >::value || + // spp_::is_same >::value)) > + // realloc_and_memmove_ok; + + // ------------------------- memory at *p is uninitialized => need to construct + void _init_val(mutable_value_type *p, reference val) + { +#if !defined(SPP_NO_CXX11_RVALUE_REFERENCES) + ::new (p) value_type(std::move((mutable_reference)val)); +#else + ::new (p) value_type((mutable_reference)val); +#endif + } + + // ------------------------- memory at *p is uninitialized => need to construct + void _init_val(mutable_value_type *p, const_reference val) + { + ::new (p) value_type(val); + } + + // ------------------------------------------------ memory at *p is initialized + void _set_val(value_type *p, reference val) + { +#if !defined(SPP_NO_CXX11_RVALUE_REFERENCES) + *(mutable_pointer)p = std::move((mutable_reference)val); +#else + using std::swap; + swap(*(mutable_pointer)p, *(mutable_pointer)&val); +#endif + } + + // ------------------------------------------------ memory at *p is initialized + void _set_val(value_type *p, const_reference val) + { + *(mutable_pointer)p = *(const_mutable_pointer)&val; + } + + // Create space at _group[offset], assuming value_type is relocatable, and the + // allocator_type is the spp allocator. + // return true if the slot was constructed (i.e. contains a valid value_type + // --------------------------------------------------------------------------------- + template + void _set_aux(allocator_type &alloc, size_type offset, Val &val, realloc_ok_type) + { + //static int x=0; if (++x < 10) printf("x\n"); // check we are getting here + + uint32_t num_items = _num_items(); + uint32_t num_alloc = _sizing(num_items); + + if (num_items == num_alloc) + { + num_alloc = _sizing(num_items + 1); + _group = alloc.reallocate(_group, num_alloc); + _set_num_alloc(num_alloc); + } + + for (uint32_t i = num_items; i > offset; --i) + memcpy(static_cast(_group + i), _group + i-1, sizeof(*_group)); + + _init_val((mutable_pointer)(_group + offset), val); + } + + // Create space at _group[offset], assuming value_type is *not* relocatable, and the + // allocator_type is the spp allocator. + // return true if the slot was constructed (i.e. contains a valid value_type + // --------------------------------------------------------------------------------- + template + void _set_aux(allocator_type &alloc, size_type offset, Val &val, realloc_not_ok_type) + { + uint32_t num_items = _num_items(); + uint32_t num_alloc = _sizing(num_items); + + //assert(num_alloc == (uint32_t)_num_allocated); + if (num_items < num_alloc) + { + // create new object at end and rotate it to position + _init_val((mutable_pointer)&_group[num_items], val); + std::rotate((mutable_pointer)(_group + offset), + (mutable_pointer)(_group + num_items), + (mutable_pointer)(_group + num_items + 1)); + return; + } + + // This is valid because 0 <= offset <= num_items + pointer p = _allocate_group(alloc, _sizing(num_items + 1)); + if (offset) + std::uninitialized_copy(MK_MOVE_IT((mutable_pointer)_group), + MK_MOVE_IT((mutable_pointer)(_group + offset)), + (mutable_pointer)p); + if (num_items > offset) + std::uninitialized_copy(MK_MOVE_IT((mutable_pointer)(_group + offset)), + MK_MOVE_IT((mutable_pointer)(_group + num_items)), + (mutable_pointer)(p + offset + 1)); + _init_val((mutable_pointer)(p + offset), val); + _free_group(alloc, num_alloc); + _group = p; + } + + // ---------------------------------------------------------------------------------- + template + void _set(allocator_type &alloc, size_type i, size_type offset, Val &val) + { + if (!_bmtest(i)) + { + _set_aux(alloc, offset, val, check_alloc_type()); + _incr_num_items(); + _bmset(i); + } + else + _set_val(&_group[offset], val); + } + +public: + + // This returns the pointer to the inserted item + // --------------------------------------------- + template + pointer set(allocator_type &alloc, size_type i, Val &val) + { + _bme_clear(i); // in case this was an "erased" location + + size_type offset = pos_to_offset(i); + _set(alloc, i, offset, val); // may change _group pointer + return (pointer)(_group + offset); + } + + // We let you see if a bucket is non-empty without retrieving it + // ------------------------------------------------------------- + bool test(size_type i) const + { + return _bmtest(i); + } + + // also tests for erased values + // ---------------------------- + bool test_strict(size_type i) const + { + return _bmtest_strict(i); + } + +private: + // Shrink the array, assuming value_type is relocatable, and the + // allocator_type is the libc allocator (supporting reallocate). + // ------------------------------------------------------------- + void _group_erase_aux(allocator_type &alloc, size_type offset, realloc_ok_type) + { + // static int x=0; if (++x < 10) printf("Y\n"); // check we are getting here + uint32_t num_items = _num_items(); + uint32_t num_alloc = _sizing(num_items); + + if (num_items == 1) + { + assert(offset == 0); + _free_group(alloc, num_alloc); + _set_num_alloc(0); + return; + } + + _group[offset].~value_type(); + + for (size_type i = offset; i < num_items - 1; ++i) + memcpy(static_cast(_group + i), _group + i + 1, sizeof(*_group)); + + if (_sizing(num_items - 1) != num_alloc) + { + num_alloc = _sizing(num_items - 1); + assert(num_alloc); // because we have at least 1 item left + _set_num_alloc(num_alloc); + _group = alloc.reallocate(_group, num_alloc); + } + } + + // Shrink the array, without any special assumptions about value_type and + // allocator_type. + // -------------------------------------------------------------------------- + void _group_erase_aux(allocator_type &alloc, size_type offset, realloc_not_ok_type) + { + uint32_t num_items = _num_items(); + uint32_t num_alloc = _sizing(num_items); + + if (_sizing(num_items - 1) != num_alloc) + { + pointer p = 0; + if (num_items > 1) + { + p = _allocate_group(alloc, num_items - 1); + if (offset) + std::uninitialized_copy(MK_MOVE_IT((mutable_pointer)(_group)), + MK_MOVE_IT((mutable_pointer)(_group + offset)), + (mutable_pointer)(p)); + if (static_cast(offset + 1) < num_items) + std::uninitialized_copy(MK_MOVE_IT((mutable_pointer)(_group + offset + 1)), + MK_MOVE_IT((mutable_pointer)(_group + num_items)), + (mutable_pointer)(p + offset)); + } + else + { + assert(offset == 0); + _set_num_alloc(0); + } + _free_group(alloc, num_alloc); + _group = p; + } + else + { + std::rotate((mutable_pointer)(_group + offset), + (mutable_pointer)(_group + offset + 1), + (mutable_pointer)(_group + num_items)); + ((mutable_pointer)(_group + num_items - 1))->~mutable_value_type(); + } + } + + void _group_erase(allocator_type &alloc, size_type offset) + { + _group_erase_aux(alloc, offset, check_alloc_type()); + } + +public: + template + bool erase_ne(allocator_type &alloc, twod_iter &it) + { + assert(_group && it.col_current != ne_end()); + size_type offset = (size_type)(it.col_current - ne_begin()); + size_type pos = offset_to_pos(offset); + + if (_num_items() <= 1) + { + clear(alloc, false); + it.col_current = 0; + } + else + { + _group_erase(alloc, offset); + _decr_num_items(); + _bmclear(pos); + + // in case _group_erase reallocated the buffer + it.col_current = reinterpret_cast(_group) + offset; + } + _bme_set(pos); // remember that this position has been erased + it.advance_past_end(); + return true; + } + + + // This takes the specified elements out of the group. This is + // "undefining", rather than "clearing". + // TODO(austern): Make this exception safe: handle exceptions from + // value_type's copy constructor. + // --------------------------------------------------------------- + void erase(allocator_type &alloc, size_type i) + { + if (_bmtest(i)) + { + // trivial to erase empty bucket + if (_num_items() == 1) + clear(alloc, false); + else + { + _group_erase(alloc, pos_to_offset(i)); + _decr_num_items(); + _bmclear(i); + } + _bme_set(i); // remember that this position has been erased + } + } + + // I/O + // We support reading and writing groups to disk. We don't store + // the actual array contents (which we don't know how to store), + // just the bitmap and size. Meant to be used with table I/O. + // -------------------------------------------------------------- + template bool write_metadata(OUTPUT *fp) const + { + // warning: we write 4 or 8 bytes for the bitmap, instead of 6 in the + // original google sparsehash + // ------------------------------------------------------------------ + if (!sparsehash_internal::write_data(fp, &_bitmap, sizeof(_bitmap))) + return false; + + return true; + } + + // Reading destroys the old group contents! Returns true if all was ok. + template bool read_metadata(allocator_type &alloc, INPUT *fp) + { + clear(alloc, true); + + if (!sparsehash_internal::read_data(fp, &_bitmap, sizeof(_bitmap))) + return false; + + // We'll allocate the space, but we won't fill it: it will be + // left as uninitialized raw memory. + uint32_t num_items = spp_popcount(_bitmap); // yes, _num_buckets not set + _set_num_items(num_items); + _group = num_items ? _allocate_group(alloc, num_items/* , true */) : 0; + return true; + } + + // Again, only meaningful if value_type is a POD. + template bool read_nopointer_data(INPUT *fp) + { + for (ne_iterator it = ne_begin(); it != ne_end(); ++it) + if (!sparsehash_internal::read_data(fp, &(*it), sizeof(*it))) + return false; + return true; + } + + // If your keys and values are simple enough, we can write them + // to disk for you. "simple enough" means POD and no pointers. + // However, we don't try to normalize endianness. + // ------------------------------------------------------------ + template bool write_nopointer_data(OUTPUT *fp) const + { + for (const_ne_iterator it = ne_begin(); it != ne_end(); ++it) + if (!sparsehash_internal::write_data(fp, &(*it), sizeof(*it))) + return false; + return true; + } + + + // Comparisons. We only need to define == and < -- we get + // != > <= >= via relops.h (which we happily included above). + // Note the comparisons are pretty arbitrary: we compare + // values of the first index that isn't equal (using default + // value for empty buckets). + // --------------------------------------------------------- + bool operator==(const sparsegroup& x) const + { + return (_bitmap == x._bitmap && + _bm_erased == x._bm_erased && + std::equal(_group, _group + _num_items(), x._group)); + } + + bool operator<(const sparsegroup& x) const + { + // also from + return std::lexicographical_compare(_group, _group + _num_items(), + x._group, x._group + x._num_items()); + } + + bool operator!=(const sparsegroup& x) const { return !(*this == x); } + bool operator<=(const sparsegroup& x) const { return !(x < *this); } + bool operator> (const sparsegroup& x) const { return x < *this; } + bool operator>=(const sparsegroup& x) const { return !(*this < x); } + + void mark() { _group = (value_type *)static_cast(-1); } + bool is_marked() const { return _group == (value_type *)static_cast(-1); } + +private: + // --------------------------------------------------------------------------- + template + class alloc_impl : public A + { + public: + typedef typename A::pointer pointer; + typedef typename A::size_type size_type; + + // Convert a normal allocator to one that has realloc_or_die() + explicit alloc_impl(const A& a) : A(a) { } + + // realloc_or_die should only be used when using the default + // allocator (spp::spp_allocator). + pointer realloc_or_die(pointer /*ptr*/, size_type /*n*/) + { + fprintf(stderr, "realloc_or_die is only supported for " + "spp::spp_allocator\n"); + exit(1); + return NULL; + } + }; + + // A template specialization of alloc_impl for + // spp::libc_allocator that can handle realloc_or_die. + // ----------------------------------------------------------- + template + class alloc_impl > : public spp_::libc_allocator + { + public: + typedef typename spp_::libc_allocator::pointer pointer; + typedef typename spp_::libc_allocator::size_type size_type; + + explicit alloc_impl(const spp_::libc_allocator& a) + : spp_::libc_allocator(a) + { } + + pointer realloc_or_die(pointer ptr, size_type n) + { + pointer retval = this->reallocate(ptr, n); + if (retval == NULL) + { + fprintf(stderr, "sparsehash: FATAL ERROR: failed to reallocate " + "%lu elements for ptr %p", static_cast(n), ptr); + exit(1); + } + return retval; + } + }; + + // A template specialization of alloc_impl for + // spp::spp_allocator that can handle realloc_or_die. + // ----------------------------------------------------------- + template + class alloc_impl > : public spp_::spp_allocator + { + public: + typedef typename spp_::spp_allocator::pointer pointer; + typedef typename spp_::spp_allocator::size_type size_type; + + explicit alloc_impl(const spp_::spp_allocator& a) + : spp_::spp_allocator(a) + { } + + pointer realloc_or_die(pointer ptr, size_type n) + { + pointer retval = this->reallocate(ptr, n); + if (retval == NULL) + { + fprintf(stderr, "sparsehash: FATAL ERROR: failed to reallocate " + "%lu elements for ptr %p", static_cast(n), ptr); + exit(1); + } + return retval; + } + }; + + +#ifdef SPP_STORE_NUM_ITEMS + uint32_t _num_items() const { return (uint32_t)_num_buckets; } + void _set_num_items(uint32_t val) { _num_buckets = static_cast(val); } + void _incr_num_items() { ++_num_buckets; } + void _decr_num_items() { --_num_buckets; } + uint32_t _num_alloc() const { return (uint32_t)_num_allocated; } + void _set_num_alloc(uint32_t val) { _num_allocated = static_cast(val); } +#else + uint32_t _num_items() const { return spp_popcount(_bitmap); } + void _set_num_items(uint32_t ) { } + void _incr_num_items() { } + void _decr_num_items() { } + uint32_t _num_alloc() const { return _sizing(_num_items()); } + void _set_num_alloc(uint32_t val) { } +#endif + + // The actual data + // --------------- + value_type * _group; // (small) array of T's + group_bm_type _bitmap; + group_bm_type _bm_erased; // ones where items have been erased + +#ifdef SPP_STORE_NUM_ITEMS + size_type _num_buckets; + size_type _num_allocated; +#endif +}; + +// --------------------------------------------------------------------------- +// --------------------------------------------------------------------------- +template +class sparsetable +{ +public: + typedef T value_type; + typedef Alloc allocator_type; + typedef sparsegroup group_type; + +private: + typedef typename Alloc::template rebind::other group_alloc_type; + typedef typename group_alloc_type::size_type group_size_type; + +public: + // Basic types + // ----------- + typedef typename allocator_type::size_type size_type; + typedef typename allocator_type::difference_type difference_type; + typedef value_type& reference; + typedef const value_type& const_reference; + typedef value_type* pointer; + typedef const value_type* const_pointer; + + typedef group_type& GroupsReference; + typedef const group_type& GroupsConstReference; + + typedef typename group_type::ne_iterator ColIterator; + typedef typename group_type::const_ne_iterator ColConstIterator; + + typedef table_iterator > iterator; // defined with index + typedef const_table_iterator > const_iterator; // defined with index + typedef std::reverse_iterator const_reverse_iterator; + typedef std::reverse_iterator reverse_iterator; + + // These are our special iterators, that go over non-empty buckets in a + // table. These aren't const only because you can change non-empty bcks. + // ---------------------------------------------------------------------- + typedef Two_d_iterator ne_iterator; + + typedef Two_d_iterator const_ne_iterator; + + // Another special iterator: it frees memory as it iterates (used to resize). + // Obviously, you can only iterate over it once, which is why it's an input iterator + // --------------------------------------------------------------------------------- + typedef Two_d_destructive_iterator destructive_iterator; + + typedef std::reverse_iterator reverse_ne_iterator; + typedef std::reverse_iterator const_reverse_ne_iterator; + + + // Iterator functions + // ------------------ + iterator begin() { return iterator(this, 0); } + const_iterator begin() const { return const_iterator(this, 0); } + const_iterator cbegin() const { return const_iterator(this, 0); } + iterator end() { return iterator(this, size()); } + const_iterator end() const { return const_iterator(this, size()); } + const_iterator cend() const { return const_iterator(this, size()); } + reverse_iterator rbegin() { return reverse_iterator(end()); } + const_reverse_iterator rbegin() const { return const_reverse_iterator(cend()); } + const_reverse_iterator crbegin() const { return const_reverse_iterator(cend()); } + reverse_iterator rend() { return reverse_iterator(begin()); } + const_reverse_iterator rend() const { return const_reverse_iterator(cbegin()); } + const_reverse_iterator crend() const { return const_reverse_iterator(cbegin()); } + + // Versions for our special non-empty iterator + // ------------------------------------------ + ne_iterator ne_begin() { return ne_iterator (_first_group); } + const_ne_iterator ne_begin() const { return const_ne_iterator(_first_group); } + const_ne_iterator ne_cbegin() const { return const_ne_iterator(_first_group); } + ne_iterator ne_end() { return ne_iterator (_last_group); } + const_ne_iterator ne_end() const { return const_ne_iterator(_last_group); } + const_ne_iterator ne_cend() const { return const_ne_iterator(_last_group); } + + reverse_ne_iterator ne_rbegin() { return reverse_ne_iterator(ne_end()); } + const_reverse_ne_iterator ne_rbegin() const { return const_reverse_ne_iterator(ne_end()); } + const_reverse_ne_iterator ne_crbegin() const { return const_reverse_ne_iterator(ne_end()); } + reverse_ne_iterator ne_rend() { return reverse_ne_iterator(ne_begin()); } + const_reverse_ne_iterator ne_rend() const { return const_reverse_ne_iterator(ne_begin()); } + const_reverse_ne_iterator ne_crend() const { return const_reverse_ne_iterator(ne_begin()); } + + destructive_iterator destructive_begin() + { + return destructive_iterator(_alloc, _first_group); + } + + destructive_iterator destructive_end() + { + return destructive_iterator(_alloc, _last_group); + } + + // How to deal with the proper group + static group_size_type num_groups(size_type num) + { + // how many to hold num buckets + return num == 0 ? (group_size_type)0 : + (group_size_type)(((num-1) / SPP_GROUP_SIZE) + 1); + } + + typename group_type::size_type pos_in_group(size_type i) const + { + return static_cast(i & SPP_MASK_); + } + + size_type group_num(size_type i) const + { + return (size_type)(i >> SPP_SHIFT_); + } + + GroupsReference which_group(size_type i) + { + return _first_group[group_num(i)]; + } + + GroupsConstReference which_group(size_type i) const + { + return _first_group[group_num(i)]; + } + + void _alloc_group_array(group_size_type sz, group_type *&first, group_type *&last) + { + if (sz) + { + first = _group_alloc.allocate((size_type)(sz + 1)); // + 1 for end marker + first[sz].mark(); // for the ne_iterator + last = first + sz; + } + } + + void _free_group_array(group_type *&first, group_type *&last) + { + if (first) + { + _group_alloc.deallocate(first, (group_size_type)(last - first + 1)); // + 1 for end marker + first = last = 0; + } + } + + void _allocate_groups(size_type sz) + { + if (sz) + { + _alloc_group_array(sz, _first_group, _last_group); + std::uninitialized_fill(_first_group, _last_group, group_type()); + } + } + + void _free_groups() + { + if (_first_group) + { + for (group_type *g = _first_group; g != _last_group; ++g) + g->destruct(_alloc); + _free_group_array(_first_group, _last_group); + } + } + + void _cleanup() + { + _free_groups(); // sets _first_group = _last_group = 0 + _table_size = 0; + _num_buckets = 0; + } + + void _init() + { + _first_group = 0; + _last_group = 0; + _table_size = 0; + _num_buckets = 0; + } + + void _copy(const sparsetable &o) + { + _table_size = o._table_size; + _num_buckets = o._num_buckets; + _alloc = o._alloc; // todo - copy or move allocator according to... + _group_alloc = o._group_alloc; // http://en.cppreference.com/w/cpp/container/unordered_map/unordered_map + + group_size_type sz = (group_size_type)(o._last_group - o._first_group); + if (sz) + { + _alloc_group_array(sz, _first_group, _last_group); + for (group_size_type i=0; iswap(o); + } + + sparsetable(sparsetable&& o, const allocator_type &alloc) + { + _init(); + this->swap(o); + _alloc = alloc; // [gp todo] is this correct? + } + + sparsetable& operator=(sparsetable&& o) + { + _cleanup(); + this->swap(o); + return *this; + } +#endif + + // Many STL algorithms use swap instead of copy constructors + void swap(sparsetable& o) + { + using std::swap; + + swap(_first_group, o._first_group); + swap(_last_group, o._last_group); + swap(_table_size, o._table_size); + swap(_num_buckets, o._num_buckets); + if (_alloc != o._alloc) + swap(_alloc, o._alloc); + if (_group_alloc != o._group_alloc) + swap(_group_alloc, o._group_alloc); + } + + // It's always nice to be able to clear a table without deallocating it + void clear() + { + _free_groups(); + _num_buckets = 0; + _table_size = 0; + } + + inline allocator_type get_allocator() const + { + return _alloc; + } + + + // Functions that tell you about size. + // NOTE: empty() is non-intuitive! It does not tell you the number + // of not-empty buckets (use num_nonempty() for that). Instead + // it says whether you've allocated any buckets or not. + // ---------------------------------------------------------------- + size_type size() const { return _table_size; } + size_type max_size() const { return _alloc.max_size(); } + bool empty() const { return _table_size == 0; } + size_type num_nonempty() const { return _num_buckets; } + + // OK, we'll let you resize one of these puppies + void resize(size_type new_size) + { + group_size_type sz = num_groups(new_size); + group_size_type old_sz = (group_size_type)(_last_group - _first_group); + + if (sz != old_sz) + { + // resize group array + // ------------------ + group_type *first = 0, *last = 0; + if (sz) + { + _alloc_group_array(sz, first, last); + memcpy(static_cast(first), _first_group, sizeof(*first) * (std::min)(sz, old_sz)); + } + + if (sz < old_sz) + { + for (group_type *g = _first_group + sz; g != _last_group; ++g) + g->destruct(_alloc); + } + else + std::uninitialized_fill(first + old_sz, last, group_type()); + + _free_group_array(_first_group, _last_group); + _first_group = first; + _last_group = last; + } +#if 0 + // used only in test program + // todo: fix if sparsetable to be used directly + // -------------------------------------------- + if (new_size < _table_size) + { + // lower num_buckets, clear last group + if (pos_in_group(new_size) > 0) // need to clear inside last group + groups.back().erase(_alloc, groups.back().begin() + pos_in_group(new_size), + groups.back().end()); + _num_buckets = 0; // refigure # of used buckets + for (const group_type *group = _first_group; group != _last_group; ++group) + _num_buckets += group->num_nonempty(); + } +#endif + _table_size = new_size; + } + + // We let you see if a bucket is non-empty without retrieving it + // ------------------------------------------------------------- + bool test(size_type i) const + { + // assert(i < _table_size); + return which_group(i).test(pos_in_group(i)); + } + + // also tests for erased values + // ---------------------------- + bool test_strict(size_type i) const + { + // assert(i < _table_size); + return which_group(i).test_strict(pos_in_group(i)); + } + + friend struct GrpPos; + + struct GrpPos + { + typedef typename sparsetable::ne_iterator ne_iter; + GrpPos(const sparsetable &table, size_type i) : + grp(table.which_group(i)), pos(table.pos_in_group(i)) {} + + bool test_strict() const { return grp.test_strict(pos); } + bool test() const { return grp.test(pos); } + typename sparsetable::reference unsafe_get() const { return grp.unsafe_get(pos); } + ne_iter get_iter(typename sparsetable::reference ref) + { + return ne_iter((group_type *)&grp, &ref); + } + + void erase(sparsetable &table) // item *must* be present + { + assert(table._num_buckets); + ((group_type &)grp).erase(table._alloc, pos); + --table._num_buckets; + } + + private: + GrpPos* operator=(const GrpPos&); + + const group_type &grp; + typename group_type::size_type pos; + }; + + bool test(iterator pos) const + { + return which_group(pos.pos).test(pos_in_group(pos.pos)); + } + + bool test(const_iterator pos) const + { + return which_group(pos.pos).test(pos_in_group(pos.pos)); + } + + // TODO(csilvers): make protected + friend + // This is used by sparse_hashtable to get an element from the table + // when we know it exists (because the caller has called test(i)). + // ----------------------------------------------------------------- + reference unsafe_get(size_type i) const + { + assert(i < _table_size); + // assert(test(i)); + return which_group(i).unsafe_get(pos_in_group(i)); + } + + // Needed for hashtables, gets as a ne_iterator. Crashes for empty bcks + const_ne_iterator get_iter(size_type i) const + { + //assert(test(i)); // how can a ne_iterator point to an empty bucket? + + size_type grp_idx = group_num(i); + + return const_ne_iterator(_first_group + grp_idx, + (_first_group[grp_idx].ne_begin() + + _first_group[grp_idx].pos_to_offset(pos_in_group(i)))); + } + + const_ne_iterator get_iter(size_type i, ColIterator col_it) const + { + return const_ne_iterator(_first_group + group_num(i), col_it); + } + + // For nonempty we can return a non-const version + ne_iterator get_iter(size_type i) + { + //assert(test(i)); // how can a nonempty_iterator point to an empty bucket? + + size_type grp_idx = group_num(i); + + return ne_iterator(_first_group + grp_idx, + (_first_group[grp_idx].ne_begin() + + _first_group[grp_idx].pos_to_offset(pos_in_group(i)))); + } + + ne_iterator get_iter(size_type i, ColIterator col_it) + { + return ne_iterator(_first_group + group_num(i), col_it); + } + + // And the reverse transformation. + size_type get_pos(const const_ne_iterator& it) const + { + difference_type current_row = it.row_current - _first_group; + difference_type current_col = (it.col_current - _first_group[current_row].ne_begin()); + return ((current_row * SPP_GROUP_SIZE) + + _first_group[current_row].offset_to_pos(current_col)); + } + + // Val can be reference or const_reference + // --------------------------------------- + template + reference set(size_type i, Val &val) + { + assert(i < _table_size); + group_type &group = which_group(i); + typename group_type::size_type old_numbuckets = group.num_nonempty(); + pointer p(group.set(_alloc, pos_in_group(i), val)); + _num_buckets += group.num_nonempty() - old_numbuckets; + return *p; + } + + // used in _move_from (where we can move the old value instead of copying it + void move(size_type i, reference val) + { + assert(i < _table_size); + which_group(i).set(_alloc, pos_in_group(i), val); + ++_num_buckets; + } + + // This takes the specified elements out of the table. + // -------------------------------------------------- + void erase(size_type i) + { + assert(i < _table_size); + + GroupsReference grp(which_group(i)); + typename group_type::size_type old_numbuckets = grp.num_nonempty(); + grp.erase(_alloc, pos_in_group(i)); + _num_buckets += grp.num_nonempty() - old_numbuckets; + } + + void erase(iterator pos) + { + erase(pos.pos); + } + + void erase(iterator start_it, iterator end_it) + { + // This could be more efficient, but then we'd need to figure + // out if we spanned groups or not. Doesn't seem worth it. + for (; start_it != end_it; ++start_it) + erase(start_it); + } + + const_ne_iterator erase(const_ne_iterator it) + { + ne_iterator res(it); + if (res.row_current->erase_ne(_alloc, res)) + _num_buckets--; + return res; + } + + const_ne_iterator erase(const_ne_iterator f, const_ne_iterator l) + { + size_t diff = l - f; + while (diff--) + f = erase(f); + return f; + } + + // We support reading and writing tables to disk. We don't store + // the actual array contents (which we don't know how to store), + // just the groups and sizes. Returns true if all went ok. + +private: + // Every time the disk format changes, this should probably change too + typedef unsigned long MagicNumberType; + static const MagicNumberType MAGIC_NUMBER = 0x24687531; + + // Old versions of this code write all data in 32 bits. We need to + // support these files as well as having support for 64-bit systems. + // So we use the following encoding scheme: for values < 2^32-1, we + // store in 4 bytes in big-endian order. For values > 2^32, we + // store 0xFFFFFFF followed by 8 bytes in big-endian order. This + // causes us to mis-read old-version code that stores exactly + // 0xFFFFFFF, but I don't think that is likely to have happened for + // these particular values. + template + static bool write_32_or_64(OUTPUT* fp, IntType value) + { + if (value < 0xFFFFFFFFULL) // fits in 4 bytes + { + if (!sparsehash_internal::write_bigendian_number(fp, value, 4)) + return false; + } + else + { + if (!sparsehash_internal::write_bigendian_number(fp, 0xFFFFFFFFUL, 4)) + return false; + if (!sparsehash_internal::write_bigendian_number(fp, value, 8)) + return false; + } + return true; + } + + template + static bool read_32_or_64(INPUT* fp, IntType *value) + { + // reads into value + MagicNumberType first4 = 0; // a convenient 32-bit unsigned type + if (!sparsehash_internal::read_bigendian_number(fp, &first4, 4)) + return false; + + if (first4 < 0xFFFFFFFFULL) + { + *value = first4; + } + else + { + if (!sparsehash_internal::read_bigendian_number(fp, value, 8)) + return false; + } + return true; + } + +public: + // read/write_metadata() and read_write/nopointer_data() are DEPRECATED. + // Use serialize() and unserialize(), below, for new code. + + template + bool write_metadata(OUTPUT *fp) const + { + if (!write_32_or_64(fp, MAGIC_NUMBER)) return false; + if (!write_32_or_64(fp, _table_size)) return false; + if (!write_32_or_64(fp, _num_buckets)) return false; + + for (const group_type *group = _first_group; group != _last_group; ++group) + if (group->write_metadata(fp) == false) + return false; + return true; + } + + // Reading destroys the old table contents! Returns true if read ok. + template + bool read_metadata(INPUT *fp) + { + size_type magic_read = 0; + if (!read_32_or_64(fp, &magic_read)) return false; + if (magic_read != MAGIC_NUMBER) + { + clear(); // just to be consistent + return false; + } + + if (!read_32_or_64(fp, &_table_size)) return false; + if (!read_32_or_64(fp, &_num_buckets)) return false; + + resize(_table_size); // so the vector's sized ok + for (group_type *group = _first_group; group != _last_group; ++group) + if (group->read_metadata(_alloc, fp) == false) + return false; + return true; + } + + // This code is identical to that for SparseGroup + // If your keys and values are simple enough, we can write them + // to disk for you. "simple enough" means no pointers. + // However, we don't try to normalize endianness + bool write_nopointer_data(FILE *fp) const + { + for (const_ne_iterator it = ne_begin(); it != ne_end(); ++it) + if (!fwrite(&*it, sizeof(*it), 1, fp)) + return false; + return true; + } + + // When reading, we have to override the potential const-ness of *it + bool read_nopointer_data(FILE *fp) + { + for (ne_iterator it = ne_begin(); it != ne_end(); ++it) + if (!fread(reinterpret_cast(&(*it)), sizeof(*it), 1, fp)) + return false; + return true; + } + + // INPUT and OUTPUT must be either a FILE, *or* a C++ stream + // (istream, ostream, etc) *or* a class providing + // Read(void*, size_t) and Write(const void*, size_t) + // (respectively), which writes a buffer into a stream + // (which the INPUT/OUTPUT instance presumably owns). + + typedef sparsehash_internal::pod_serializer NopointerSerializer; + + // ValueSerializer: a functor. operator()(OUTPUT*, const value_type&) + template + bool serialize(ValueSerializer serializer, OUTPUT *fp) + { + if (!write_metadata(fp)) + return false; + for (const_ne_iterator it = ne_begin(); it != ne_end(); ++it) + if (!serializer(fp, *it)) + return false; + return true; + } + + // ValueSerializer: a functor. operator()(INPUT*, value_type*) + template + bool unserialize(ValueSerializer serializer, INPUT *fp) + { + clear(); + if (!read_metadata(fp)) + return false; + for (ne_iterator it = ne_begin(); it != ne_end(); ++it) + if (!serializer(fp, &*it)) + return false; + return true; + } + + // Comparisons. Note the comparisons are pretty arbitrary: we + // compare values of the first index that isn't equal (using default + // value for empty buckets). + bool operator==(const sparsetable& x) const + { + return (_table_size == x._table_size && + _num_buckets == x._num_buckets && + _first_group == x._first_group); + } + + bool operator<(const sparsetable& x) const + { + return std::lexicographical_compare(begin(), end(), x.begin(), x.end()); + } + bool operator!=(const sparsetable& x) const { return !(*this == x); } + bool operator<=(const sparsetable& x) const { return !(x < *this); } + bool operator>(const sparsetable& x) const { return x < *this; } + bool operator>=(const sparsetable& x) const { return !(*this < x); } + + +private: + // The actual data + // --------------- + group_type * _first_group; + group_type * _last_group; + size_type _table_size; // how many buckets they want + size_type _num_buckets; // number of non-empty buckets + group_alloc_type _group_alloc; + allocator_type _alloc; +}; + +// ---------------------------------------------------------------------- +// S P A R S E _ H A S H T A B L E +// ---------------------------------------------------------------------- +// Hashtable class, used to implement the hashed associative containers +// hash_set and hash_map. +// +// Value: what is stored in the table (each bucket is a Value). +// Key: something in a 1-to-1 correspondence to a Value, that can be used +// to search for a Value in the table (find() takes a Key). +// HashFcn: Takes a Key and returns an integer, the more unique the better. +// ExtractKey: given a Value, returns the unique Key associated with it. +// Must inherit from unary_function, or at least have a +// result_type enum indicating the return type of operator(). +// EqualKey: Given two Keys, says whether they are the same (that is, +// if they are both associated with the same Value). +// Alloc: STL allocator to use to allocate memory. +// +// ---------------------------------------------------------------------- + +// The probing method +// ------------------ +// Linear probing +// #define JUMP_(key, num_probes) ( 1 ) +// Quadratic probing +#define JUMP_(key, num_probes) ( num_probes ) + + +// ------------------------------------------------------------------- +// ------------------------------------------------------------------- +template +class sparse_hashtable +{ +public: + typedef Key key_type; + typedef Value value_type; + typedef HashFcn hasher; // user provided or spp_hash + typedef EqualKey key_equal; + typedef Alloc allocator_type; + + typedef typename allocator_type::size_type size_type; + typedef typename allocator_type::difference_type difference_type; + typedef value_type& reference; + typedef const value_type& const_reference; + typedef value_type* pointer; + typedef const value_type* const_pointer; + + // Table is the main storage class. + typedef sparsetable Table; + typedef typename Table::ne_iterator ne_it; + typedef typename Table::const_ne_iterator cne_it; + typedef typename Table::destructive_iterator dest_it; + typedef typename Table::ColIterator ColIterator; + + typedef ne_it iterator; + typedef cne_it const_iterator; + typedef dest_it destructive_iterator; + + // These come from tr1. For us they're the same as regular iterators. + // ------------------------------------------------------------------- + typedef iterator local_iterator; + typedef const_iterator const_local_iterator; + + // How full we let the table get before we resize + // ---------------------------------------------- + static const int HT_OCCUPANCY_PCT; // = 80 (out of 100); + + // How empty we let the table get before we resize lower, by default. + // (0.0 means never resize lower.) + // It should be less than OCCUPANCY_PCT / 2 or we thrash resizing + // ------------------------------------------------------------------ + static const int HT_EMPTY_PCT; // = 0.4 * HT_OCCUPANCY_PCT; + + // Minimum size we're willing to let hashtables be. + // Must be a power of two, and at least 4. + // Note, however, that for a given hashtable, the initial size is a + // function of the first constructor arg, and may be >HT_MIN_BUCKETS. + // ------------------------------------------------------------------ + static const size_type HT_MIN_BUCKETS = 4; + + // By default, if you don't specify a hashtable size at + // construction-time, we use this size. Must be a power of two, and + // at least HT_MIN_BUCKETS. + // ----------------------------------------------------------------- + static const size_type HT_DEFAULT_STARTING_BUCKETS = 32; + + // iterators + // --------- + iterator begin() { return _mk_iterator(table.ne_begin()); } + iterator end() { return _mk_iterator(table.ne_end()); } + const_iterator begin() const { return _mk_const_iterator(table.ne_cbegin()); } + const_iterator end() const { return _mk_const_iterator(table.ne_cend()); } + const_iterator cbegin() const { return _mk_const_iterator(table.ne_cbegin()); } + const_iterator cend() const { return _mk_const_iterator(table.ne_cend()); } + + // These come from tr1 unordered_map. They iterate over 'bucket' n. + // For sparsehashtable, we could consider each 'group' to be a bucket, + // I guess, but I don't really see the point. We'll just consider + // bucket n to be the n-th element of the sparsetable, if it's occupied, + // or some empty element, otherwise. + // --------------------------------------------------------------------- + local_iterator begin(size_type i) + { + return _mk_iterator(table.test(i) ? table.get_iter(i) : table.ne_end()); + } + + local_iterator end(size_type i) + { + local_iterator it = begin(i); + if (table.test(i)) + ++it; + return _mk_iterator(it); + } + + const_local_iterator begin(size_type i) const + { + return _mk_const_iterator(table.test(i) ? table.get_iter(i) : table.ne_cend()); + } + + const_local_iterator end(size_type i) const + { + const_local_iterator it = begin(i); + if (table.test(i)) + ++it; + return _mk_const_iterator(it); + } + + const_local_iterator cbegin(size_type i) const { return begin(i); } + const_local_iterator cend(size_type i) const { return end(i); } + + // This is used when resizing + // -------------------------- + destructive_iterator destructive_begin() { return _mk_destructive_iterator(table.destructive_begin()); } + destructive_iterator destructive_end() { return _mk_destructive_iterator(table.destructive_end()); } + + + // accessor functions for the things we templatize on, basically + // ------------------------------------------------------------- + hasher hash_funct() const { return settings; } + key_equal key_eq() const { return key_info; } + allocator_type get_allocator() const { return table.get_allocator(); } + + // Accessor function for statistics gathering. + unsigned int num_table_copies() const { return settings.num_ht_copies(); } + +private: + // This is used as a tag for the copy constructor, saying to destroy its + // arg We have two ways of destructively copying: with potentially growing + // the hashtable as we copy, and without. To make sure the outside world + // can't do a destructive copy, we make the typename private. + // ----------------------------------------------------------------------- + enum MoveDontCopyT {MoveDontCopy, MoveDontGrow}; + + // creating iterators from sparsetable::ne_iterators + // ------------------------------------------------- + iterator _mk_iterator(ne_it it) const { return it; } + const_iterator _mk_const_iterator(cne_it it) const { return it; } + destructive_iterator _mk_destructive_iterator(dest_it it) const { return it; } + +public: + size_type size() const { return table.num_nonempty(); } + size_type max_size() const { return table.max_size(); } + bool empty() const { return size() == 0; } + size_type bucket_count() const { return table.size(); } + size_type max_bucket_count() const { return max_size(); } + // These are tr1 methods. Their idea of 'bucket' doesn't map well to + // what we do. We just say every bucket has 0 or 1 items in it. + size_type bucket_size(size_type i) const + { + return (size_type)(begin(i) == end(i) ? 0 : 1); + } + +private: + // Because of the above, size_type(-1) is never legal; use it for errors + // --------------------------------------------------------------------- + static const size_type ILLEGAL_BUCKET = size_type(-1); + + // Used after a string of deletes. Returns true if we actually shrunk. + // TODO(csilvers): take a delta so we can take into account inserts + // done after shrinking. Maybe make part of the Settings class? + // -------------------------------------------------------------------- + bool _maybe_shrink() + { + assert((bucket_count() & (bucket_count()-1)) == 0); // is a power of two + assert(bucket_count() >= HT_MIN_BUCKETS); + bool retval = false; + + // If you construct a hashtable with < HT_DEFAULT_STARTING_BUCKETS, + // we'll never shrink until you get relatively big, and we'll never + // shrink below HT_DEFAULT_STARTING_BUCKETS. Otherwise, something + // like "dense_hash_set x; x.insert(4); x.erase(4);" will + // shrink us down to HT_MIN_BUCKETS buckets, which is too small. + // --------------------------------------------------------------- + const size_type num_remain = table.num_nonempty(); + const size_type shrink_threshold = settings.shrink_threshold(); + if (shrink_threshold > 0 && num_remain < shrink_threshold && + bucket_count() > HT_DEFAULT_STARTING_BUCKETS) + { + const float shrink_factor = settings.shrink_factor(); + size_type sz = (size_type)(bucket_count() / 2); // find how much we should shrink + while (sz > HT_DEFAULT_STARTING_BUCKETS && + num_remain < static_cast(sz * shrink_factor)) + { + sz /= 2; // stay a power of 2 + } + sparse_hashtable tmp(MoveDontCopy, *this, sz); + swap(tmp); // now we are tmp + retval = true; + } + settings.set_consider_shrink(false); // because we just considered it + return retval; + } + + // We'll let you resize a hashtable -- though this makes us copy all! + // When you resize, you say, "make it big enough for this many more elements" + // Returns true if we actually resized, false if size was already ok. + // -------------------------------------------------------------------------- + bool _resize_delta(size_type delta) + { + bool did_resize = false; + if (settings.consider_shrink()) + { + // see if lots of deletes happened + if (_maybe_shrink()) + did_resize = true; + } + if (table.num_nonempty() >= + (std::numeric_limits::max)() - delta) + { + throw_exception(std::length_error("resize overflow")); + } + + size_type num_occupied = (size_type)(table.num_nonempty() + num_deleted); + + if (bucket_count() >= HT_MIN_BUCKETS && + (num_occupied + delta) <= settings.enlarge_threshold()) + return did_resize; // we're ok as we are + + // Sometimes, we need to resize just to get rid of all the + // "deleted" buckets that are clogging up the hashtable. So when + // deciding whether to resize, count the deleted buckets (which + // are currently taking up room). + // ------------------------------------------------------------- + const size_type needed_size = + settings.min_buckets((size_type)(num_occupied + delta), (size_type)0); + + if (needed_size <= bucket_count()) // we have enough buckets + return did_resize; + + size_type resize_to = settings.min_buckets((size_type)(num_occupied + delta), bucket_count()); + + if (resize_to < needed_size && // may double resize_to + resize_to < (std::numeric_limits::max)() / 2) + { + // This situation means that we have enough deleted elements, + // that once we purge them, we won't actually have needed to + // grow. But we may want to grow anyway: if we just purge one + // element, say, we'll have to grow anyway next time we + // insert. Might as well grow now, since we're already going + // through the trouble of copying (in order to purge the + // deleted elements). + const size_type target = + static_cast(settings.shrink_size((size_type)(resize_to*2))); + if (table.num_nonempty() + delta >= target) + { + // Good, we won't be below the shrink threshhold even if we double. + resize_to *= 2; + } + } + + sparse_hashtable tmp(MoveDontCopy, *this, resize_to); + swap(tmp); // now we are tmp + return true; + } + + // Used to actually do the rehashing when we grow/shrink a hashtable + // ----------------------------------------------------------------- + void _copy_from(const sparse_hashtable &ht, size_type min_buckets_wanted) + { + clear(); // clear table, set num_deleted to 0 + + // If we need to change the size of our table, do it now + const size_type resize_to = settings.min_buckets(ht.size(), min_buckets_wanted); + + if (resize_to > bucket_count()) + { + // we don't have enough buckets + table.resize(resize_to); // sets the number of buckets + settings.reset_thresholds(bucket_count()); + } + + // We use a normal iterator to get bcks from ht + // We could use insert() here, but since we know there are + // no duplicates, we can be more efficient + assert((bucket_count() & (bucket_count()-1)) == 0); // a power of two + for (const_iterator it = ht.begin(); it != ht.end(); ++it) + { + size_type num_probes = 0; // how many times we've probed + size_type bucknum; + const size_type bucket_count_minus_one = bucket_count() - 1; + for (bucknum = hash(get_key(*it)) & bucket_count_minus_one; + table.test(bucknum); // table.test() OK since no erase() + bucknum = (bucknum + JUMP_(key, num_probes)) & bucket_count_minus_one) + { + ++num_probes; + assert(num_probes < bucket_count() + && "Hashtable is full: an error in key_equal<> or hash<>"); + } + table.set(bucknum, *it); // copies the value to here + } + settings.inc_num_ht_copies(); + } + + // Implementation is like _copy_from, but it destroys the table of the + // "from" guy by freeing sparsetable memory as we iterate. This is + // useful in resizing, since we're throwing away the "from" guy anyway. + // -------------------------------------------------------------------- + void _move_from(MoveDontCopyT mover, sparse_hashtable &ht, + size_type min_buckets_wanted) + { + clear(); + + // If we need to change the size of our table, do it now + size_type resize_to; + if (mover == MoveDontGrow) + resize_to = ht.bucket_count(); // keep same size as old ht + else // MoveDontCopy + resize_to = settings.min_buckets(ht.size(), min_buckets_wanted); + if (resize_to > bucket_count()) + { + // we don't have enough buckets + table.resize(resize_to); // sets the number of buckets + settings.reset_thresholds(bucket_count()); + } + + // We use a normal iterator to get bcks from ht + // We could use insert() here, but since we know there are + // no duplicates, we can be more efficient + assert((bucket_count() & (bucket_count()-1)) == 0); // a power of two + const size_type bucket_count_minus_one = (const size_type)(bucket_count() - 1); + + // THIS IS THE MAJOR LINE THAT DIFFERS FROM COPY_FROM(): + for (destructive_iterator it = ht.destructive_begin(); + it != ht.destructive_end(); ++it) + { + size_type num_probes = 0; + size_type bucknum; + for (bucknum = hash(get_key(*it)) & bucket_count_minus_one; + table.test(bucknum); // table.test() OK since no erase() + bucknum = (size_type)((bucknum + JUMP_(key, num_probes)) & (bucket_count()-1))) + { + ++num_probes; + assert(num_probes < bucket_count() + && "Hashtable is full: an error in key_equal<> or hash<>"); + } + table.move(bucknum, *it); // moves the value to here + } + settings.inc_num_ht_copies(); + } + + + // Required by the spec for hashed associative container +public: + // Though the docs say this should be num_buckets, I think it's much + // more useful as num_elements. As a special feature, calling with + // req_elements==0 will cause us to shrink if we can, saving space. + // ----------------------------------------------------------------- + void resize(size_type req_elements) + { + // resize to this or larger + if (settings.consider_shrink() || req_elements == 0) + _maybe_shrink(); + if (req_elements > table.num_nonempty()) // we only grow + _resize_delta((size_type)(req_elements - table.num_nonempty())); + } + + // Get and change the value of shrink_factor and enlarge_factor. The + // description at the beginning of this file explains how to choose + // the values. Setting the shrink parameter to 0.0 ensures that the + // table never shrinks. + // ------------------------------------------------------------------ + void get_resizing_parameters(float* shrink, float* grow) const + { + *shrink = settings.shrink_factor(); + *grow = settings.enlarge_factor(); + } + + float get_shrink_factor() const { return settings.shrink_factor(); } + float get_enlarge_factor() const { return settings.enlarge_factor(); } + + void set_resizing_parameters(float shrink, float grow) + { + settings.set_resizing_parameters(shrink, grow); + settings.reset_thresholds(bucket_count()); + } + + void set_shrink_factor(float shrink) + { + set_resizing_parameters(shrink, get_enlarge_factor()); + } + + void set_enlarge_factor(float grow) + { + set_resizing_parameters(get_shrink_factor(), grow); + } + + // CONSTRUCTORS -- as required by the specs, we take a size, + // but also let you specify a hashfunction, key comparator, + // and key extractor. We also define a copy constructor and =. + // DESTRUCTOR -- the default is fine, surprisingly. + // ------------------------------------------------------------ + explicit sparse_hashtable(size_type expected_max_items_in_table = 0, + const HashFcn& hf = HashFcn(), + const EqualKey& eql = EqualKey(), + const ExtractKey& ext = ExtractKey(), + const SetKey& set = SetKey(), + const allocator_type& alloc = allocator_type()) + : settings(hf), + key_info(ext, set, eql), + num_deleted(0), + table((expected_max_items_in_table == 0 + ? HT_DEFAULT_STARTING_BUCKETS + : settings.min_buckets(expected_max_items_in_table, 0)), + alloc) + { + settings.reset_thresholds(bucket_count()); + } + + // As a convenience for resize(), we allow an optional second argument + // which lets you make this new hashtable a different size than ht. + // We also provide a mechanism of saying you want to "move" the ht argument + // into us instead of copying. + // ------------------------------------------------------------------------ + sparse_hashtable(const sparse_hashtable& ht, + size_type min_buckets_wanted = HT_DEFAULT_STARTING_BUCKETS) + : settings(ht.settings), + key_info(ht.key_info), + num_deleted(0), + table(0) + { + settings.reset_thresholds(bucket_count()); + _copy_from(ht, min_buckets_wanted); + } + +#if !defined(SPP_NO_CXX11_RVALUE_REFERENCES) + + sparse_hashtable(sparse_hashtable&& o) : + settings(std::move(o.settings)), + key_info(std::move(o.key_info)), + num_deleted(o.num_deleted), + table(std::move(o.table)) + { + } + + sparse_hashtable(sparse_hashtable&& o, const allocator_type& alloc) : + settings(std::move(o.settings)), + key_info(std::move(o.key_info)), + num_deleted(o.num_deleted), + table(std::move(o.table), alloc) + { + } + + sparse_hashtable& operator=(sparse_hashtable&& o) = default; +#endif + + sparse_hashtable(MoveDontCopyT mover, + sparse_hashtable& ht, + size_type min_buckets_wanted = HT_DEFAULT_STARTING_BUCKETS) + : settings(ht.settings), + key_info(ht.key_info), + num_deleted(0), + table(min_buckets_wanted, ht.table.get_allocator()) + //table(min_buckets_wanted) + { + settings.reset_thresholds(bucket_count()); + _move_from(mover, ht, min_buckets_wanted); + } + + sparse_hashtable& operator=(const sparse_hashtable& ht) + { + if (&ht == this) + return *this; // don't copy onto ourselves + settings = ht.settings; + key_info = ht.key_info; + num_deleted = ht.num_deleted; + + // _copy_from() calls clear and sets num_deleted to 0 too + _copy_from(ht, HT_MIN_BUCKETS); + + // we purposefully don't copy the allocator, which may not be copyable + return *this; + } + + // Many STL algorithms use swap instead of copy constructors + void swap(sparse_hashtable& ht) + { + using std::swap; + + swap(settings, ht.settings); + swap(key_info, ht.key_info); + swap(num_deleted, ht.num_deleted); + table.swap(ht.table); + settings.reset_thresholds(bucket_count()); // also resets consider_shrink + ht.settings.reset_thresholds(ht.bucket_count()); + // we purposefully don't swap the allocator, which may not be swap-able + } + + // It's always nice to be able to clear a table without deallocating it + void clear() + { + if (!empty() || num_deleted != 0) + { + table.clear(); + table = Table(HT_DEFAULT_STARTING_BUCKETS, table.get_allocator()); + } + settings.reset_thresholds(bucket_count()); + num_deleted = 0; + } + + // LOOKUP ROUTINES +private: + + enum pos_type { pt_empty = 0, pt_erased, pt_full }; + // ------------------------------------------------------------------- + class Position + { + public: + + Position() : _t(pt_empty) {} + Position(pos_type t, size_type idx) : _t(t), _idx(idx) {} + + pos_type _t; + size_type _idx; + }; + + // Returns a pair: + // - 'first' is a code, 2 if key already present, 0 or 1 otherwise. + // - 'second' is a position, where the key should go + // Note: because of deletions where-to-insert is not trivial: it's the + // first deleted bucket we see, as long as we don't find the key later + // ------------------------------------------------------------------- + Position _find_position(const key_type &key) const + { + size_type num_probes = 0; // how many times we've probed + const size_type bucket_count_minus_one = (const size_type)(bucket_count() - 1); + size_type bucknum = hash(key) & bucket_count_minus_one; + Position pos; + + while (1) + { + // probe until something happens + // ----------------------------- + typename Table::GrpPos grp_pos(table, bucknum); + + if (!grp_pos.test_strict()) + { + // bucket is empty => key not present + return pos._t ? pos : Position(pt_empty, bucknum); + } + else if (grp_pos.test()) + { + reference ref(grp_pos.unsafe_get()); + + if (equals(key, get_key(ref))) + return Position(pt_full, bucknum); + } + else if (pos._t == pt_empty) + { + // first erased position + pos._t = pt_erased; + pos._idx = bucknum; + } + + ++num_probes; // we're doing another probe + bucknum = (size_type)((bucknum + JUMP_(key, num_probes)) & bucket_count_minus_one); + assert(num_probes < bucket_count() + && "Hashtable is full: an error in key_equal<> or hash<>"); + } + } + +public: + // I hate to duplicate find() like that, but it is + // significantly faster to not have the intermediate pair + // ------------------------------------------------------------------ + iterator find(const key_type& key) + { + size_type num_probes = 0; // how many times we've probed + const size_type bucket_count_minus_one = bucket_count() - 1; + size_type bucknum = hash(key) & bucket_count_minus_one; + + while (1) // probe until something happens + { + typename Table::GrpPos grp_pos(table, bucknum); + + if (!grp_pos.test_strict()) + return end(); // bucket is empty + if (grp_pos.test()) + { + reference ref(grp_pos.unsafe_get()); + + if (equals(key, get_key(ref))) + return grp_pos.get_iter(ref); + } + ++num_probes; // we're doing another probe + bucknum = (bucknum + JUMP_(key, num_probes)) & bucket_count_minus_one; + assert(num_probes < bucket_count() + && "Hashtable is full: an error in key_equal<> or hash<>"); + } + } + + // Wish I could avoid the duplicate find() const and non-const. + // ------------------------------------------------------------ + const_iterator find(const key_type& key) const + { + size_type num_probes = 0; // how many times we've probed + const size_type bucket_count_minus_one = bucket_count() - 1; + size_type bucknum = hash(key) & bucket_count_minus_one; + + while (1) // probe until something happens + { + typename Table::GrpPos grp_pos(table, bucknum); + + if (!grp_pos.test_strict()) + return end(); // bucket is empty + else if (grp_pos.test()) + { + reference ref(grp_pos.unsafe_get()); + + if (equals(key, get_key(ref))) + return _mk_const_iterator(table.get_iter(bucknum, &ref)); + } + ++num_probes; // we're doing another probe + bucknum = (bucknum + JUMP_(key, num_probes)) & bucket_count_minus_one; + assert(num_probes < bucket_count() + && "Hashtable is full: an error in key_equal<> or hash<>"); + } + } + + // This is a tr1 method: the bucket a given key is in, or what bucket + // it would be put in, if it were to be inserted. Shrug. + // ------------------------------------------------------------------ + size_type bucket(const key_type& key) const + { + Position pos = _find_position(key); + return pos._idx; + } + + // Counts how many elements have key key. For maps, it's either 0 or 1. + // --------------------------------------------------------------------- + size_type count(const key_type &key) const + { + Position pos = _find_position(key); + return (size_type)(pos._t == pt_full ? 1 : 0); + } + + // Likewise, equal_range doesn't really make sense for us. Oh well. + // ----------------------------------------------------------------- + std::pair equal_range(const key_type& key) + { + iterator pos = find(key); // either an iterator or end + if (pos == end()) + return std::pair(pos, pos); + else + { + const iterator startpos = pos++; + return std::pair(startpos, pos); + } + } + + std::pair equal_range(const key_type& key) const + { + const_iterator pos = find(key); // either an iterator or end + if (pos == end()) + return std::pair(pos, pos); + else + { + const const_iterator startpos = pos++; + return std::pair(startpos, pos); + } + } + + + // INSERTION ROUTINES +private: + // Private method used by insert_noresize and find_or_insert. + template + reference _insert_at(T& obj, size_type pos, bool erased) + { + if (size() >= max_size()) + { + throw_exception(std::length_error("insert overflow")); + } + if (erased) + { + assert(num_deleted); + --num_deleted; + } + return table.set(pos, obj); + } + + // If you know *this is big enough to hold obj, use this routine + template + std::pair _insert_noresize(T& obj) + { + Position pos = _find_position(get_key(obj)); + bool already_there = (pos._t == pt_full); + + if (!already_there) + { + reference ref(_insert_at(obj, pos._idx, pos._t == pt_erased)); + return std::pair(_mk_iterator(table.get_iter(pos._idx, &ref)), true); + } + return std::pair(_mk_iterator(table.get_iter(pos._idx)), false); + } + + // Specializations of insert(it, it) depending on the power of the iterator: + // (1) Iterator supports operator-, resize before inserting + template + void _insert(ForwardIterator f, ForwardIterator l, std::forward_iterator_tag /*unused*/) + { + int64_t dist = std::distance(f, l); + if (dist < 0 || static_cast(dist) >= (std::numeric_limits::max)()) + throw_exception(std::length_error("insert-range overflow")); + + _resize_delta(static_cast(dist)); + + for (; dist > 0; --dist, ++f) + _insert_noresize(*f); + } + + // (2) Arbitrary iterator, can't tell how much to resize + template + void _insert(InputIterator f, InputIterator l, std::input_iterator_tag /*unused*/) + { + for (; f != l; ++f) + _insert(*f); + } + +public: + +#if !defined(SPP_NO_CXX11_VARIADIC_TEMPLATES) + template + std::pair emplace(Args&&... args) + { + _resize_delta(1); + value_type obj(std::forward(args)...); + return _insert_noresize(obj); + } +#endif + + // This is the normal insert routine, used by the outside world + std::pair insert(const_reference obj) + { + _resize_delta(1); // adding an object, grow if need be + return _insert_noresize(obj); + } + +#if !defined(SPP_NO_CXX11_RVALUE_REFERENCES) + template< class P > + std::pair insert(P &&obj) + { + _resize_delta(1); // adding an object, grow if need be + value_type val(std::forward