@@ -35,7 +35,7 @@ using namespace muse;
3535using namespace muse ::io;
3636using namespace mu ::engraving;
3737
38- Ret mu::engraving::compat::mscxToMscz (const String & mscxFilePath, ByteArray* msczData)
38+ Ret mu::engraving::compat::mscxToMscz (const io:: path_t & mscxFilePath, ByteArray* msczData)
3939{
4040 File mscxFile (mscxFilePath);
4141 if (!mscxFile.open (IODevice::ReadOnly)) {
@@ -56,16 +56,18 @@ Ret mu::engraving::compat::mscxToMscz(const String& mscxFilePath, ByteArray* msc
5656 return muse::make_ok ();
5757}
5858
59- Ret mu::engraving::compat::loadMsczOrMscx (MasterScore* score, const String & path, bool ignoreVersionError)
59+ Ret mu::engraving::compat::loadMsczOrMscx (MasterScore* score, const io:: path_t & path, bool ignoreVersionError)
6060{
61+ std::string suffix = io::suffix (path);
62+
6163 ByteArray msczData;
62- if (path. endsWith ( u" .mscx " , muse::CaseInsensitive) ) {
64+ if (suffix == MSCX ) {
6365 // ! NOTE Convert mscx -> mscz
6466 Ret ret = mscxToMscz (path, &msczData);
6567 if (!ret) {
6668 return ret;
6769 }
68- } else if (path. endsWith ( u" .mscz " , muse::CaseInsensitive) ) {
70+ } else if (suffix == MSCZ ) {
6971 File msczFile (path);
7072 if (!msczFile.open (IODevice::ReadOnly)) {
7173 return make_ret (Err::FileOpenError, path);
@@ -92,18 +94,18 @@ Ret mu::engraving::compat::loadMsczOrMscx(MasterScore* score, const String& path
9294 return scoreReader.loadMscz (score, reader, audioSettings, ignoreVersionError);
9395}
9496
95- Ret mu::engraving::compat::loadMsczOrMscx (EngravingProjectPtr project, const String & path, bool ignoreVersionError)
97+ Ret mu::engraving::compat::loadMsczOrMscx (EngravingProjectPtr project, const io:: path_t & path, bool ignoreVersionError)
9698{
99+ std::string suffix = io::suffix (path);
100+
97101 ByteArray msczData;
98- String filePath = path;
99- if (path.endsWith (u" .mscx" , muse::CaseInsensitive)) {
102+ if (suffix == MSCX) {
100103 // ! NOTE Convert mscx -> mscz
101-
102104 Ret ret = mscxToMscz (path, &msczData);
103105 if (!ret) {
104106 return ret;
105107 }
106- } else if (path. endsWith ( u" .mscz " , muse::CaseInsensitive) ) {
108+ } else if (suffix == MSCZ ) {
107109 File msczFile (path);
108110 if (!msczFile.open (IODevice::ReadOnly)) {
109111 return make_ret (Err::FileOpenError, path);
@@ -119,7 +121,7 @@ Ret mu::engraving::compat::loadMsczOrMscx(EngravingProjectPtr project, const Str
119121 Buffer msczBuf (&msczData);
120122 MscReader::Params params;
121123 params.device = &msczBuf;
122- params.filePath = filePath ;
124+ params.filePath = path ;
123125 params.mode = MscIoMode::Zip;
124126
125127 MscReader reader (params);
0 commit comments