From 5112228abd4d2a468f36ee4289a789fb2c2a921c Mon Sep 17 00:00:00 2001 From: Jack Andersen Date: Sat, 11 Apr 2020 12:49:30 -1000 Subject: [PATCH] Update fmtlib --- AudioUnit/AudioGroupFilePresenter.hpp | 4 +- AudioUnit/AudioGroupFilePresenter.mm | 1 + Editor/MainWindow.cpp | 2 +- Editor/ProjectModel.cpp | 3 +- Editor/SongGroupEditor.cpp | 1 + Editor/SoundGroupEditor.cpp | 1 + Editor/resources/lang_de.ts | 92 +++++++++++++-------------- VST/AudioGroupFilePresenter.hpp | 4 +- driver/amuseconv.cpp | 20 +++--- driver/amuseplay.cpp | 52 +++++++-------- driver/amuserender.cpp | 60 ++++++++--------- lib/AudioGroup.cpp | 6 +- lib/AudioGroupPool.cpp | 8 +-- lib/AudioGroupProject.cpp | 14 ++-- lib/Common.cpp | 32 +++++----- lib/ContainerRegistry.cpp | 44 ++++++------- lib/Sequencer.cpp | 4 +- 17 files changed, 176 insertions(+), 172 deletions(-) diff --git a/AudioUnit/AudioGroupFilePresenter.hpp b/AudioUnit/AudioGroupFilePresenter.hpp index d34ddaa..bdbec48 100644 --- a/AudioUnit/AudioGroupFilePresenter.hpp +++ b/AudioUnit/AudioGroupFilePresenter.hpp @@ -39,9 +39,9 @@ struct AudioGroupDataCollection { uint32_t absOffs; uint32_t active; MetaData(amuse::DataFormat fmtIn, uint32_t absOffsIn, uint32_t activeIn) - : fmt(fmtIn), absOffs(absOffsIn), active(activeIn) {} + : FMT_STRING(fmtIn), absOffs(absOffsIn), active(activeIn) {} MetaData(athena::io::FileReader& r) - : fmt(amuse::DataFormat(r.readUint32Little())), absOffs(r.readUint32Little()), active(r.readUint32Little()) {} + : FMT_STRING(amuse::DataFormat(r.readUint32Little())), absOffs(r.readUint32Little()), active(r.readUint32Little()) {} }; std::optional m_metaData; diff --git a/AudioUnit/AudioGroupFilePresenter.mm b/AudioUnit/AudioGroupFilePresenter.mm index f0d1742..0a848d1 100644 --- a/AudioUnit/AudioGroupFilePresenter.mm +++ b/AudioUnit/AudioGroupFilePresenter.mm @@ -167,6 +167,7 @@ bool AudioGroupCollection::doSearch(std::string_view str) m_filterGroups.clear(); m_filterGroups.reserve(m_groups.size()); for (auto it = m_groups.begin() ; it != m_groups.end() ; ++it) + // TODO: Heterogeneous lookup when C++20 available if (str.empty() || StrToLower(it->first).find(str.data()) != std::string::npos) { m_filterGroups.push_back(it); diff --git a/Editor/MainWindow.cpp b/Editor/MainWindow.cpp index 64f49a8..492f7bc 100644 --- a/Editor/MainWindow.cpp +++ b/Editor/MainWindow.cpp @@ -198,7 +198,7 @@ MainWindow::MainWindow(QWidget* parent) MainWindow::~MainWindow() { m_backgroundThread.quit(); m_backgroundThread.wait(); - fmt::print(fmt("IM DYING\n")); + fmt::print(FMT_STRING("IM DYING\n")); } void MainWindow::connectMessenger(UIMessenger* messenger, Qt::ConnectionType type) { diff --git a/Editor/ProjectModel.cpp b/Editor/ProjectModel.cpp index 312969f..b9f2ffe 100644 --- a/Editor/ProjectModel.cpp +++ b/Editor/ProjectModel.cpp @@ -655,7 +655,7 @@ void ProjectModel::saveSongsIndex() { QFileInfo songsFile(m_dir, QStringLiteral("!songs.yaml")); athena::io::YAMLDocWriter dw("amuse::Songs"); for (auto& p : amuse::SortUnorderedMap(m_midiFiles)) - dw.writeString(fmt::format(fmt("{}"), p.first), p.second.get().m_path.toUtf8().data()); + dw.writeString(fmt::format(FMT_STRING("{}"), p.first), p.second.get().m_path.toUtf8().data()); athena::io::FileWriter w(QStringToSysString(songsFile.filePath())); if (!w.hasError()) dw.finish(&w); @@ -2102,6 +2102,7 @@ void ProjectModel::deallocateSongId(amuse::SongId oldId) { amuse::SongId ProjectModel::exchangeSongId(amuse::SongId oldId, std::string_view newName) { m_projectDatabase.setIdDatabases(); amuse::SongId newId; + // TODO: Heterogeneous lookup when C++20 available auto search = amuse::SongId::CurNameDB->m_stringToId.find(newName.data()); if (search == amuse::SongId::CurNameDB->m_stringToId.cend()) { newId = amuse::SongId::CurNameDB->generateId(amuse::NameDB::Type::Song); diff --git a/Editor/SongGroupEditor.cpp b/Editor/SongGroupEditor.cpp index 9af9adc..001a94b 100644 --- a/Editor/SongGroupEditor.cpp +++ b/Editor/SongGroupEditor.cpp @@ -875,6 +875,7 @@ bool SetupListModel::setData(const QModelIndex& index, const QVariant& value, in g_MainWindow->projectModel()->setIdDatabases(m_node.get()); auto utf8key = value.toString().toUtf8(); std::unordered_map::iterator idIt; + // TODO: Heterogeneous lookup when C++20 available if ((idIt = amuse::SongId::CurNameDB->m_stringToId.find(utf8key.data())) != amuse::SongId::CurNameDB->m_stringToId.cend()) { if (idIt->second == entry->first) diff --git a/Editor/SoundGroupEditor.cpp b/Editor/SoundGroupEditor.cpp index 076f30b..3623b9c 100644 --- a/Editor/SoundGroupEditor.cpp +++ b/Editor/SoundGroupEditor.cpp @@ -272,6 +272,7 @@ bool SFXModel::setData(const QModelIndex& index, const QVariant& value, int role g_MainWindow->projectModel()->setIdDatabases(m_node.get()); auto utf8key = value.toString().toUtf8(); std::unordered_map::iterator idIt; + // TODO: Heterogeneous lookup when C++20 available if ((idIt = amuse::SFXId::CurNameDB->m_stringToId.find(utf8key.data())) != amuse::SFXId::CurNameDB->m_stringToId.cend()) { if (idIt->second == entry->first) diff --git a/Editor/resources/lang_de.ts b/Editor/resources/lang_de.ts index 1a4c939..2e3087c 100644 --- a/Editor/resources/lang_de.ts +++ b/Editor/resources/lang_de.ts @@ -427,23 +427,23 @@ MIDIPlayerWidget - + Stop - + Bad Song Data - + Unable to load song data at %1 - - + + Play @@ -1202,12 +1202,12 @@ PageTableView - + Delete Page Entries - + Delete Page Entry @@ -1594,57 +1594,57 @@ SFXModel - + SFX Conflict - + SFX %1 is already defined in project - + Change SFX Name - + Change %1 - + SFX - + Object - + Priority - + Max Voices - + Velocity - + Panning - + Key @@ -1660,13 +1660,13 @@ SFXPlayerWidget - + Stop - - + + Play @@ -1674,12 +1674,12 @@ SFXTableView - + Delete SFX Entries - + Delete SFX Entry @@ -1763,27 +1763,27 @@ - + Song Conflict - + Song %1 is already defined in project - + Change Song Name - + Song - + MIDI File @@ -1791,32 +1791,32 @@ SetupModel - + Change %1 - + Program - + Volume - + Panning - + Reverb - + Chorus @@ -1824,12 +1824,12 @@ SetupTableView - + Delete Setup Entries - + Delete Setup Entry @@ -1837,37 +1837,37 @@ SongGroupEditor - + Add Page Entry - + Add Setup Entry - + Normal Pages - + Drum Pages - + MIDI Setups - + Add new page entry - + Remove selected page entries @@ -1875,17 +1875,17 @@ SoundGroupEditor - + Add SFX Entry - + Add new SFX entry - + Remove selected SFX entries diff --git a/VST/AudioGroupFilePresenter.hpp b/VST/AudioGroupFilePresenter.hpp index 4da448d..c8ac87b 100644 --- a/VST/AudioGroupFilePresenter.hpp +++ b/VST/AudioGroupFilePresenter.hpp @@ -29,9 +29,9 @@ struct AudioGroupDataCollection { uint32_t absOffs; uint32_t active; MetaData(amuse::DataFormat fmtIn, uint32_t absOffsIn, uint32_t activeIn) - : fmt(fmtIn), absOffs(absOffsIn), active(activeIn) {} + : FMT_STRING(fmtIn), absOffs(absOffsIn), active(activeIn) {} MetaData(athena::io::FileReader& r) - : fmt(amuse::DataFormat(r.readUint32Little())), absOffs(r.readUint32Little()), active(r.readUint32Little()) {} + : FMT_STRING(amuse::DataFormat(r.readUint32Little())), absOffs(r.readUint32Little()), active(r.readUint32Little()) {} }; std::optional m_metaData; diff --git a/driver/amuseconv.cpp b/driver/amuseconv.cpp index 31123e6..61804be 100644 --- a/driver/amuseconv.cpp +++ b/driver/amuseconv.cpp @@ -12,14 +12,14 @@ enum ConvType { ConvN64, ConvGCN, ConvPC }; static void ReportConvType(ConvType tp) { switch (tp) { case ConvN64: - Log.report(logvisor::Info, fmt(_SYS_STR("using N64 format"))); + Log.report(logvisor::Info, FMT_STRING(_SYS_STR("using N64 format"))); break; case ConvPC: - Log.report(logvisor::Info, fmt(_SYS_STR("using PC format"))); + Log.report(logvisor::Info, FMT_STRING(_SYS_STR("using PC format"))); break; case ConvGCN: default: - Log.report(logvisor::Info, fmt(_SYS_STR("using GameCube format"))); + Log.report(logvisor::Info, FMT_STRING(_SYS_STR("using GameCube format"))); break; } } @@ -31,13 +31,13 @@ static bool ExtractAudioGroup(amuse::SystemStringView inPath, amuse::SystemStrin auto groups = amuse::ContainerRegistry::LoadContainer(inPath.data(), type); if (groups.size()) { - Log.report(logvisor::Info, fmt(_SYS_STR("Found '{}'")), amuse::ContainerRegistry::TypeToName(type)); + Log.report(logvisor::Info, FMT_STRING(_SYS_STR("Found '{}'")), amuse::ContainerRegistry::TypeToName(type)); amuse::Mkdir(targetPath.data(), 0755); - Log.report(logvisor::Info, fmt(_SYS_STR("Established directory at {}")), targetPath); + Log.report(logvisor::Info, FMT_STRING(_SYS_STR("Established directory at {}")), targetPath); for (auto& group : groups) { - Log.report(logvisor::Info, fmt(_SYS_STR("Extracting {}")), group.first); + Log.report(logvisor::Info, FMT_STRING(_SYS_STR("Extracting {}")), group.first); } } @@ -54,7 +54,7 @@ static bool ExtractAudioGroup(amuse::SystemStringView inPath, amuse::SystemStrin amuse::SystemString songPath = songsDir + _SYS_STR('/') + pair.first + _SYS_STR(".mid"); FILE* fp = amuse::FOpen(songPath.c_str(), _SYS_STR("wb")); if (fp) { - Log.report(logvisor::Info, fmt(_SYS_STR("Extracting {}")), pair.first); + Log.report(logvisor::Info, FMT_STRING(_SYS_STR("Extracting {}")), pair.first); int extractedVersion; bool isBig; std::vector mid = amuse::SongConverter::SongToMIDI(pair.second.m_data.get(), extractedVersion, isBig); @@ -123,7 +123,7 @@ int main(int argc, const amuse::SystemChar** argv) logvisor::RegisterConsoleLogger(); if (argc < 3) { - fmt::print(fmt("Usage: amuseconv [n64|pc|gcn]\n")); + fmt::print(FMT_STRING("Usage: amuseconv [n64|pc|gcn]\n")); return 0; } @@ -136,7 +136,7 @@ int main(int argc, const amuse::SystemChar** argv) else if (!amuse::CompareCaseInsensitive(argv[3], _SYS_STR("pc"))) type = ConvPC; else { - Log.report(logvisor::Error, fmt(_SYS_STR("unrecognized format: {}")), argv[3]); + Log.report(logvisor::Error, FMT_STRING(_SYS_STR("unrecognized format: {}")), argv[3]); return 1; } } @@ -175,7 +175,7 @@ int main(int argc, const amuse::SystemChar** argv) } if (!good) { - Log.report(logvisor::Error, fmt(_SYS_STR("unable to convert {} to {}")), argv[1], argv[2]); + Log.report(logvisor::Error, FMT_STRING(_SYS_STR("unable to convert {} to {}")), argv[1], argv[2]); return 1; } diff --git a/driver/amuseplay.cpp b/driver/amuseplay.cpp index 7e19c98..32aac37 100644 --- a/driver/amuseplay.cpp +++ b/driver/amuseplay.cpp @@ -84,7 +84,7 @@ struct AppCallback : boo::IApplicationCallback { voxCount = m_seq->getVoiceCount(); program = m_seq->getChanProgram(m_chanId); } - fmt::print(fmt( + fmt::print(FMT_STRING( "\r " "\r {} Setup {}, Chan {}, Prog {}, Octave: {}, Vel: {}, VOL: {}%\r"), voxCount, m_setupId, m_chanId, program, m_octave, m_velocity, int(std::rint(m_volume * 100))); @@ -107,7 +107,7 @@ struct AppCallback : boo::IApplicationCallback { } void SongLoop(const amuse::SongGroupIndex& index) { - fmt::print(fmt( + fmt::print(FMT_STRING( "░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░\n" "░░░ ████ ████ ┃ ████ ████ ████ ┃ ████ ████ ░░░\n" "░░░ ████ ████ ┃ ████ ████ ████ ┃ ████ ████ ░░░\n" @@ -206,7 +206,7 @@ struct AppCallback : boo::IApplicationCallback { "\r %c SFX %d, VOL: %d%% POS: (%f,%f)\r", playing ? '>' : ' ', m_sfxId, int(std::rint(m_volume * 100)), m_pos[0], m_pos[1]); #else - fmt::print(fmt( + fmt::print(FMT_STRING( "\r " "\r {:c} SFX {}, VOL: {}%\r"), playing ? '>' : ' ', m_sfxId, int(std::rint(m_volume * 100))); @@ -234,7 +234,7 @@ struct AppCallback : boo::IApplicationCallback { } void SFXLoop(const amuse::SFXGroupIndex& index) { - fmt::print(fmt(": keyon/keyoff, : cycle SFX, : volume, : quit\n")); + fmt::print(FMT_STRING(": keyon/keyoff, : cycle SFX, : volume, : quit\n")); m_seq = m_engine->seqPlay(m_groupId, 0, nullptr); @@ -578,21 +578,21 @@ struct AppCallback : boo::IApplicationCallback { /* Load data */ if (m_argc < 2) { - Log.report(logvisor::Error, fmt("needs group path argument")); + Log.report(logvisor::Error, FMT_STRING("needs group path argument")); return 1; } amuse::ContainerRegistry::Type cType = amuse::ContainerRegistry::DetectContainerType(m_argv[1]); if (cType == amuse::ContainerRegistry::Type::Invalid) { - Log.report(logvisor::Error, fmt("invalid/no data at path argument")); + Log.report(logvisor::Error, FMT_STRING("invalid/no data at path argument")); return 1; } - Log.report(logvisor::Info, fmt(_SYS_STR("Found '%s' Audio Group data")), amuse::ContainerRegistry::TypeToName(cType)); + Log.report(logvisor::Info, FMT_STRING(_SYS_STR("Found '%s' Audio Group data")), amuse::ContainerRegistry::TypeToName(cType)); std::vector> data = amuse::ContainerRegistry::LoadContainer(m_argv[1]); if (data.empty()) { - Log.report(logvisor::Error, fmt("invalid/no data at path argument")); + Log.report(logvisor::Error, FMT_STRING("invalid/no data at path argument")); return 1; } @@ -635,7 +635,7 @@ struct AppCallback : boo::IApplicationCallback { bool prompt = true; while (true) { if (prompt) { - fmt::print(fmt("Play Song? (Y/N): ")); + fmt::print(FMT_STRING("Play Song? (Y/N): ")); prompt = false; } char userSel; @@ -656,7 +656,7 @@ struct AppCallback : boo::IApplicationCallback { /* Get song selection from user */ if (songs.size() > 1) { /* Ask user to specify which song */ - fmt::print(fmt("Multiple Songs discovered:\n")); + fmt::print(FMT_STRING("Multiple Songs discovered:\n")); int idx = 0; for (const auto& pair : songs) { const amuse::ContainerRegistry::SongData& sngData = pair.second; @@ -674,13 +674,13 @@ struct AppCallback : boo::IApplicationCallback { break; } } - fmt::print(fmt(_SYS_STR(" {} {} (Group {}, Setup {})\n")), idx++, pair.first, grpId, setupId); + fmt::print(FMT_STRING(_SYS_STR(" {} {} (Group {}, Setup {})\n")), idx++, pair.first, grpId, setupId); } int userSel = 0; - fmt::print(fmt("Enter Song Number: ")); + fmt::print(FMT_STRING("Enter Song Number: ")); if (scanf("%d", &userSel) <= 0) { - Log.report(logvisor::Error, fmt("unable to parse prompt")); + Log.report(logvisor::Error, FMT_STRING("unable to parse prompt")); return 1; } @@ -689,7 +689,7 @@ struct AppCallback : boo::IApplicationCallback { m_groupId = m_arrData->m_groupId; m_setupId = m_arrData->m_setupId; } else { - Log.report(logvisor::Error, fmt("unable to find Song {}"), userSel); + Log.report(logvisor::Error, FMT_STRING("unable to find Song {}"), userSel); return 1; } } else if (songs.size() == 1) { @@ -721,26 +721,26 @@ struct AppCallback : boo::IApplicationCallback { else if (allSFXGroups.find(m_groupId) != allSFXGroups.end()) m_sfxGroup = true; else { - Log.report(logvisor::Error, fmt("unable to find Group {}"), m_groupId); + Log.report(logvisor::Error, FMT_STRING("unable to find Group {}"), m_groupId); return 1; } } else if (totalGroups > 1) { /* Ask user to specify which group in project */ - fmt::print(fmt("Multiple Audio Groups discovered:\n")); + fmt::print(FMT_STRING("Multiple Audio Groups discovered:\n")); for (const auto& pair : allSFXGroups) { - fmt::print(fmt(_SYS_STR(" {} {} (SFXGroup) {} sfx-entries\n")), pair.first, + fmt::print(FMT_STRING(_SYS_STR(" {} {} (SFXGroup) {} sfx-entries\n")), pair.first, pair.second.first->first, pair.second.second->m_sfxEntries.size()); } for (const auto& pair : allSongGroups) { - fmt::print(fmt(_SYS_STR(" {} {} (SongGroup) {} normal-pages, {} drum-pages, {} MIDI-setups\n")), + fmt::print(FMT_STRING(_SYS_STR(" {} {} (SongGroup) {} normal-pages, {} drum-pages, {} MIDI-setups\n")), pair.first, pair.second.first->first, pair.second.second->m_normPages.size(), pair.second.second->m_drumPages.size(), pair.second.second->m_midiSetups.size()); } int userSel = 0; - fmt::print(fmt("Enter Group Number: ")); + fmt::print(FMT_STRING("Enter Group Number: ")); if (scanf("%d", &userSel) <= 0) { - Log.report(logvisor::Error, fmt("unable to parse prompt")); + Log.report(logvisor::Error, FMT_STRING("unable to parse prompt")); return 1; } @@ -751,7 +751,7 @@ struct AppCallback : boo::IApplicationCallback { m_groupId = userSel; m_sfxGroup = true; } else { - Log.report(logvisor::Error, fmt("unable to find Group {}"), userSel); + Log.report(logvisor::Error, FMT_STRING("unable to find Group {}"), userSel); return 1; } } else if (totalGroups == 1) { @@ -766,7 +766,7 @@ struct AppCallback : boo::IApplicationCallback { m_sfxGroup = true; } } else { - Log.report(logvisor::Error, fmt("empty project")); + Log.report(logvisor::Error, FMT_STRING("empty project")); return 1; } @@ -787,7 +787,7 @@ struct AppCallback : boo::IApplicationCallback { } if (!selData) { - Log.report(logvisor::Error, fmt("unable to select audio group data")); + Log.report(logvisor::Error, FMT_STRING("unable to select audio group data")); return 1; } @@ -799,7 +799,7 @@ struct AppCallback : boo::IApplicationCallback { /* Load group into engine */ const amuse::AudioGroup* group = m_engine->addAudioGroup(*selData); if (!group) { - Log.report(logvisor::Error, fmt("unable to add audio group")); + Log.report(logvisor::Error, FMT_STRING("unable to add audio group")); return 1; } @@ -813,7 +813,7 @@ struct AppCallback : boo::IApplicationCallback { m_seq.reset(); m_engine.reset(); m_booBackend.reset(); - fmt::print(fmt("\n\n")); + fmt::print(FMT_STRING("\n\n")); } return 0; @@ -909,7 +909,7 @@ int main(int argc, const boo::SystemChar** argv) AppCallback app(argc, argv); int ret = boo::ApplicationRun(boo::IApplication::EPlatformType::Auto, app, _SYS_STR("amuseplay"), _SYS_STR("Amuse Player"), argc, argv, {}, 1, 1, false); - fmt::print(fmt("IM DYING!!\n")); + fmt::print(FMT_STRING("IM DYING!!\n")); return ret; } diff --git a/driver/amuserender.cpp b/driver/amuserender.cpp index 5da6226..5d6e902 100644 --- a/driver/amuserender.cpp +++ b/driver/amuserender.cpp @@ -136,22 +136,22 @@ int main(int argc, const boo::SystemChar** argv) /* Load data */ if (m_args.size() < 1) { Log.report(logvisor::Error, - fmt("Usage: amuserender [] [-r ] [-c ] [-v [] [-r ] [-c ] [-v ]")); return 1; } amuse::ContainerRegistry::Type cType = amuse::ContainerRegistry::DetectContainerType(m_args[0].c_str()); if (cType == amuse::ContainerRegistry::Type::Invalid) { - Log.report(logvisor::Error, fmt("invalid/no data at path argument")); + Log.report(logvisor::Error, FMT_STRING("invalid/no data at path argument")); return 1; } - Log.report(logvisor::Info, fmt(_SYS_STR("Found '{}' Audio Group data")), amuse::ContainerRegistry::TypeToName(cType)); + Log.report(logvisor::Info, FMT_STRING(_SYS_STR("Found '{}' Audio Group data")), amuse::ContainerRegistry::TypeToName(cType)); std::vector> data = amuse::ContainerRegistry::LoadContainer(m_args[0].c_str()); if (data.empty()) { - Log.report(logvisor::Error, fmt("invalid/no data at path argument")); + Log.report(logvisor::Error, FMT_STRING("invalid/no data at path argument")); return 1; } @@ -197,7 +197,7 @@ int main(int argc, const boo::SystemChar** argv) bool prompt = true; while (true) { if (prompt) { - fmt::print(fmt("Render Song? (Y/N): ")); + fmt::print(FMT_STRING("Render Song? (Y/N): ")); prompt = false; } char userSel; @@ -218,7 +218,7 @@ int main(int argc, const boo::SystemChar** argv) /* Get song selection from user */ if (songs.size() > 1) { /* Ask user to specify which song */ - fmt::print(fmt("Multiple Songs discovered:\n")); + fmt::print(FMT_STRING("Multiple Songs discovered:\n")); int idx = 0; for (const auto& pair : songs) { const amuse::ContainerRegistry::SongData& sngData = pair.second; @@ -236,13 +236,13 @@ int main(int argc, const boo::SystemChar** argv) break; } } - fmt::print(fmt(_SYS_STR(" {} {} (Group {}, Setup {})\n")), idx++, pair.first, grpId, setupId); + fmt::print(FMT_STRING(_SYS_STR(" {} {} (Group {}, Setup {})\n")), idx++, pair.first, grpId, setupId); } int userSel = 0; - fmt::print(fmt("Enter Song Number: ")); + fmt::print(FMT_STRING("Enter Song Number: ")); if (scanf("%d", &userSel) <= 0) { - Log.report(logvisor::Error, fmt("unable to parse prompt")); + Log.report(logvisor::Error, FMT_STRING("unable to parse prompt")); return 1; } @@ -252,7 +252,7 @@ int main(int argc, const boo::SystemChar** argv) m_setupId = m_arrData->m_setupId; m_songName = &songs[userSel].first; } else { - Log.report(logvisor::Error, fmt("unable to find Song {}"), userSel); + Log.report(logvisor::Error, FMT_STRING("unable to find Song {}"), userSel); return 1; } } else if (songs.size() == 1) { @@ -290,26 +290,26 @@ int main(int argc, const boo::SystemChar** argv) m_sfxGroup = true; m_groupName = &sfxSearch->second.first->first; } else { - Log.report(logvisor::Error, fmt("unable to find Group {}"), m_groupId); + Log.report(logvisor::Error, FMT_STRING("unable to find Group {}"), m_groupId); return 1; } } else if (totalGroups > 1) { /* Ask user to specify which group in project */ - fmt::print(fmt("Multiple Audio Groups discovered:\n")); + fmt::print(FMT_STRING("Multiple Audio Groups discovered:\n")); for (const auto& pair : allSFXGroups) { - fmt::print(fmt(_SYS_STR(" {} {} (SFXGroup) {} sfx-entries\n")), pair.first, + fmt::print(FMT_STRING(_SYS_STR(" {} {} (SFXGroup) {} sfx-entries\n")), pair.first, pair.second.first->first, pair.second.second->m_sfxEntries.size()); } for (const auto& pair : allSongGroups) { - fmt::print(fmt(_SYS_STR(" {} {} (SongGroup) {} normal-pages, {} drum-pages, {} MIDI-setups\n")), + fmt::print(FMT_STRING(_SYS_STR(" {} {} (SongGroup) {} normal-pages, {} drum-pages, {} MIDI-setups\n")), pair.first, pair.second.first->first, pair.second.second->m_normPages.size(), pair.second.second->m_drumPages.size(), pair.second.second->m_midiSetups.size()); } int userSel = 0; - fmt::print(fmt("Enter Group Number: ")); + fmt::print(FMT_STRING("Enter Group Number: ")); if (scanf("%d", &userSel) <= 0) { - Log.report(logvisor::Error, fmt("unable to parse prompt")); + Log.report(logvisor::Error, FMT_STRING("unable to parse prompt")); return 1; } @@ -324,7 +324,7 @@ int main(int argc, const boo::SystemChar** argv) m_groupName = &sfxSearch->second.first->first; m_sfxGroup = true; } else { - Log.report(logvisor::Error, fmt("unable to find Group {}"), userSel); + Log.report(logvisor::Error, FMT_STRING("unable to find Group {}"), userSel); return 1; } } else if (totalGroups == 1) { @@ -341,7 +341,7 @@ int main(int argc, const boo::SystemChar** argv) m_sfxGroup = true; } } else { - Log.report(logvisor::Error, fmt("empty project")); + Log.report(logvisor::Error, FMT_STRING("empty project")); return 1; } @@ -358,19 +358,19 @@ int main(int argc, const boo::SystemChar** argv) sortSetups.insert(pair.first); if (m_setupId == -1) { /* Ask user to specify which group in project */ - fmt::print(fmt("Multiple MIDI Setups:\n")); + fmt::print(FMT_STRING("Multiple MIDI Setups:\n")); for (auto setup : sortSetups) - fmt::print(fmt(" {}\n"), setup); + fmt::print(FMT_STRING(" {}\n"), setup); int userSel = 0; - fmt::print(fmt("Enter Setup Number: ")); + fmt::print(FMT_STRING("Enter Setup Number: ")); if (scanf("%d", &userSel) <= 0) { - Log.report(logvisor::Error, fmt("unable to parse prompt")); + Log.report(logvisor::Error, FMT_STRING("unable to parse prompt")); return 1; } m_setupId = userSel; } if (sortSetups.find(m_setupId) == sortSetups.cend()) { - Log.report(logvisor::Error, fmt("unable to find setup {}"), m_setupId); + Log.report(logvisor::Error, FMT_STRING("unable to find setup {}"), m_setupId); return 1; } } else { @@ -382,18 +382,18 @@ int main(int argc, const boo::SystemChar** argv) } if (!selData) { - Log.report(logvisor::Error, fmt("unable to select audio group data")); + Log.report(logvisor::Error, FMT_STRING("unable to select audio group data")); return 1; } if (m_sfxGroup) { - Log.report(logvisor::Error, fmt("amuserender is currently only able to render SongGroups")); + Log.report(logvisor::Error, FMT_STRING("amuserender is currently only able to render SongGroups")); return 1; } /* WAV out path */ - amuse::SystemString pathOut = fmt::format(fmt(_SYS_STR("{}-{}.wav")), *m_groupName, *m_songName); - Log.report(logvisor::Info, fmt(_SYS_STR("Writing to {}")), pathOut); + amuse::SystemString pathOut = fmt::format(FMT_STRING(_SYS_STR("{}-{}.wav")), *m_groupName, *m_songName); + Log.report(logvisor::Info, FMT_STRING(_SYS_STR("Writing to {}")), pathOut); /* Build voice engine */ std::unique_ptr voxEngine = boo::NewWAVAudioVoiceEngine(pathOut.c_str(), rate, chCount); @@ -404,7 +404,7 @@ int main(int argc, const boo::SystemChar** argv) /* Load group into engine */ const amuse::AudioGroup* group = engine.addAudioGroup(*selData); if (!group) { - Log.report(logvisor::Error, fmt("unable to add audio group")); + Log.report(logvisor::Error, FMT_STRING("unable to add audio group")); return 1; } @@ -415,11 +415,11 @@ int main(int argc, const boo::SystemChar** argv) do { voxEngine->pumpAndMixVoices(); wroteFrames += voxEngine->get5MsFrames(); - fmt::print(fmt("\rFrame {}"), wroteFrames); + fmt::print(FMT_STRING("\rFrame {}"), wroteFrames); fflush(stdout); } while (!g_BreakLoop && (seq->state() == amuse::SequencerState::Playing || seq->getVoiceCount() != 0)); - fmt::print(fmt("\n")); + fmt::print(FMT_STRING("\n")); return 0; } diff --git a/lib/AudioGroup.cpp b/lib/AudioGroup.cpp index f34f64e..6d35785 100644 --- a/lib/AudioGroup.cpp +++ b/lib/AudioGroup.cpp @@ -120,7 +120,7 @@ void AudioGroupDatabase::_recursiveRenameMacro(SoundMacroId id, std::string_view if (!strncmp(SoundMacroId::CurNameDB->resolveNameFromId(id).data(), "macro", 5)) { std::string macroName("macro"sv); if (macroIdx) - macroName += fmt::format(fmt("{}"), macroIdx); + macroName += fmt::format(FMT_STRING("{}"), macroIdx); macroName += '_'; macroName += str; ++macroIdx; @@ -134,7 +134,7 @@ void AudioGroupDatabase::_recursiveRenameMacro(SoundMacroId id, std::string_view if (!strncmp(SampleId::CurNameDB->resolveNameFromId(ss->sample.id).data(), "sample", 6)) { std::string sampleName("sample"sv); if (sampleIdx) - sampleName += fmt::format(fmt("{}"), sampleIdx); + sampleName += fmt::format(FMT_STRING("{}"), sampleIdx); sampleName += '_'; sampleName += macroName; ++sampleIdx; @@ -237,7 +237,7 @@ void AudioGroupDatabase::importCHeader(std::string_view header) { } static void WriteDefineLine(std::stringstream& ret, std::string_view typeStr, std::string_view name, ObjectId id) { - fmt::print(ret, fmt("#define {}{} 0x{}\n"), typeStr, name, id); + fmt::print(ret, FMT_STRING("#define {}{} 0x{}\n"), typeStr, name, id); } std::string AudioGroupDatabase::exportCHeader(std::string_view projectName, std::string_view groupName) const { diff --git a/lib/AudioGroupPool.cpp b/lib/AudioGroupPool.cpp index 354dd45..95d17ef 100644 --- a/lib/AudioGroupPool.cpp +++ b/lib/AudioGroupPool.cpp @@ -323,7 +323,7 @@ int SoundMacro::assertPC(int pc) const { if (pc < 0) return -1; if (size_t(pc) >= m_cmds.size()) { - fmt::print(stderr, fmt("SoundMacro PC bounds exceeded [{}/{}]\n"), pc, int(m_cmds.size())); + fmt::print(stderr, FMT_STRING("SoundMacro PC bounds exceeded [{}/{}]\n"), pc, int(m_cmds.size())); abort(); } return pc; @@ -1107,17 +1107,17 @@ template std::vector AudioGroupPool::toData() c template <> void amuse::Curve::Enumerate(athena::io::IStreamReader& r) { - Log.report(logvisor::Fatal, fmt("Curve binary DNA read not supported")); + Log.report(logvisor::Fatal, FMT_STRING("Curve binary DNA read not supported")); } template <> void amuse::Curve::Enumerate(athena::io::IStreamWriter& w) { - Log.report(logvisor::Fatal, fmt("Curve binary DNA write not supported")); + Log.report(logvisor::Fatal, FMT_STRING("Curve binary DNA write not supported")); } template <> void amuse::Curve::Enumerate(size_t& sz) { - Log.report(logvisor::Fatal, fmt("Curve binary DNA size not supported")); + Log.report(logvisor::Fatal, FMT_STRING("Curve binary DNA size not supported")); } template <> diff --git a/lib/AudioGroupProject.cpp b/lib/AudioGroupProject.cpp index 148112e..958b8a3 100644 --- a/lib/AudioGroupProject.cpp +++ b/lib/AudioGroupProject.cpp @@ -433,7 +433,7 @@ static ObjectId RegisterDedupedName(ObjectId origId, amuse::NameDB* db, NameDB:: std::string useName = dupeName; int dupeIdx = 1; while (db->m_stringToId.find(useName) != db->m_stringToId.cend()) - useName = fmt::format(fmt("{}{}"), dupeName, dupeIdx++); + useName = fmt::format(FMT_STRING("{}{}"), dupeName, dupeIdx++); ObjectId ret = db->generateId(tp); db->registerPair(useName, ret); return ret; @@ -632,7 +632,7 @@ void SongGroupIndex::toYAML(athena::io::YAMLDocWriter& w) const { if (!m_normPages.empty()) { if (auto __v2 = w.enterSubRecord("normPages")) { for (const auto& pg : SortUnorderedMap(m_normPages)) { - if (auto __r2 = w.enterSubRecord(fmt::format(fmt("{}"), pg.first))) { + if (auto __r2 = w.enterSubRecord(fmt::format(FMT_STRING("{}"), pg.first))) { w.setStyle(athena::io::YAMLNodeStyle::Flow); pg.second.get().write(w); } @@ -642,7 +642,7 @@ void SongGroupIndex::toYAML(athena::io::YAMLDocWriter& w) const { if (!m_drumPages.empty()) { if (auto __v2 = w.enterSubRecord("drumPages")) { for (const auto& pg : SortUnorderedMap(m_drumPages)) { - if (auto __r2 = w.enterSubRecord(fmt::format(fmt("{}"), pg.first))) { + if (auto __r2 = w.enterSubRecord(fmt::format(FMT_STRING("{}"), pg.first))) { w.setStyle(athena::io::YAMLNodeStyle::Flow); pg.second.get().write(w); } @@ -652,7 +652,7 @@ void SongGroupIndex::toYAML(athena::io::YAMLDocWriter& w) const { if (!m_midiSetups.empty()) { if (auto __v2 = w.enterSubRecord("songs")) { for (const auto& song : SortUnorderedMap(m_midiSetups)) { - std::string songString = fmt::format(fmt("{}/0x{}"), + std::string songString = fmt::format(FMT_STRING("{}/0x{}"), SongId::CurNameDB->resolveNameFromId(song.first), song.first); if (auto __v3 = w.enterSubVector(songString)) for (int i = 0; i < 16; ++i) @@ -667,7 +667,7 @@ void SongGroupIndex::toYAML(athena::io::YAMLDocWriter& w) const { void SFXGroupIndex::toYAML(athena::io::YAMLDocWriter& w) const { for (const auto& sfx : SortUnorderedMap(m_sfxEntries)) { - std::string sfxString = fmt::format(fmt("{}/0x{}"), + std::string sfxString = fmt::format(FMT_STRING("{}/0x{}"), SFXId::CurNameDB->resolveNameFromId(sfx.first), sfx.first); if (auto __r2 = w.enterSubRecord(sfxString)) { w.setStyle(athena::io::YAMLNodeStyle::Flow); @@ -682,7 +682,7 @@ std::vector AudioGroupProject::toYAML() const { if (!m_songGroups.empty()) { if (auto __v = w.enterSubRecord("songGroups")) { for (const auto& p : SortUnorderedMap(m_songGroups)) { - std::string groupString = fmt::format(fmt("{}/0x{}"), + std::string groupString = fmt::format(FMT_STRING("{}/0x{}"), GroupId::CurNameDB->resolveNameFromId(p.first), p.first); if (auto __r = w.enterSubRecord(groupString)) { p.second.get()->toYAML(w); @@ -694,7 +694,7 @@ std::vector AudioGroupProject::toYAML() const { if (!m_sfxGroups.empty()) { if (auto __v = w.enterSubRecord("sfxGroups")) { for (const auto& p : SortUnorderedMap(m_sfxGroups)) { - std::string groupString = fmt::format(fmt("{}/0x{}"), + std::string groupString = fmt::format(FMT_STRING("{}/0x{}"), GroupId::CurNameDB->resolveNameFromId(p.first), p.first); if (auto __r = w.enterSubRecord(groupString)) { p.second.get()->toYAML(w); diff --git a/lib/Common.cpp b/lib/Common.cpp index 5df7481..349a961 100644 --- a/lib/Common.cpp +++ b/lib/Common.cpp @@ -101,7 +101,7 @@ bool Copy(const SystemChar* from, const SystemChar* to) { void type##DNA::_read(athena::io::YAMLDocReader& r) { \ std::string name = r.readString(); \ if (!type::CurNameDB) \ - Log.report(logvisor::Fatal, fmt("Unable to resolve " typeName " name {}, no database present"), name); \ + Log.report(logvisor::Fatal, FMT_STRING("Unable to resolve " typeName " name {}, no database present"), name); \ if (name.empty()) { \ id.id = 0xffff; \ return; \ @@ -111,7 +111,7 @@ bool Copy(const SystemChar* from, const SystemChar* to) { template \ void type##DNA::_write(athena::io::YAMLDocWriter& w) { \ if (!type::CurNameDB) \ - Log.report(logvisor::Fatal, fmt("Unable to resolve " typeName " ID {}, no database present"), id); \ + Log.report(logvisor::Fatal, FMT_STRING("Unable to resolve " typeName " ID {}, no database present"), id); \ if (id.id == 0xffff) \ return; \ std::string_view name = type::CurNameDB->resolveNameFromId(id); \ @@ -189,7 +189,7 @@ template void PageObjectIdDNA::_read(athena::io::YAMLDocReader& r) { std::string name = r.readString(); if (!KeymapId::CurNameDB || !LayersId::CurNameDB) - Log.report(logvisor::Fatal, fmt("Unable to resolve keymap or layers name {}, no database present"), name); + Log.report(logvisor::Fatal, FMT_STRING("Unable to resolve keymap or layers name {}, no database present"), name); if (name.empty()) { id.id = 0xffff; return; @@ -200,7 +200,7 @@ void PageObjectIdDNA::_read(athena::io::YAMLDocReader& r) { if (search == LayersId::CurNameDB->m_stringToId.cend()) { search = SoundMacroId::CurNameDB->m_stringToId.find(name); if (search == SoundMacroId::CurNameDB->m_stringToId.cend()) { - Log.report(logvisor::Error, fmt("Unable to resolve name {}"), name); + Log.report(logvisor::Error, FMT_STRING("Unable to resolve name {}"), name); id.id = 0xffff; return; } @@ -211,7 +211,7 @@ void PageObjectIdDNA::_read(athena::io::YAMLDocReader& r) { template void PageObjectIdDNA::_write(athena::io::YAMLDocWriter& w) { if (!KeymapId::CurNameDB || !LayersId::CurNameDB) - Log.report(logvisor::Fatal, fmt("Unable to resolve keymap or layers ID {}, no database present"), id); + Log.report(logvisor::Fatal, FMT_STRING("Unable to resolve keymap or layers ID {}, no database present"), id); if (id.id == 0xffff) return; if (id.id & 0x8000) { @@ -307,23 +307,23 @@ ObjectId NameDB::generateId(Type tp) const { std::string NameDB::generateName(ObjectId id, Type tp) { switch (tp) { case Type::SoundMacro: - return fmt::format(fmt("macro{}"), id); + return fmt::format(FMT_STRING("macro{}"), id); case Type::Table: - return fmt::format(fmt("table{}"), id); + return fmt::format(FMT_STRING("table{}"), id); case Type::Keymap: - return fmt::format(fmt("keymap{}"), id); + return fmt::format(FMT_STRING("keymap{}"), id); case Type::Layer: - return fmt::format(fmt("layers{}"), id); + return fmt::format(FMT_STRING("layers{}"), id); case Type::Song: - return fmt::format(fmt("song{}"), id); + return fmt::format(FMT_STRING("song{}"), id); case Type::SFX: - return fmt::format(fmt("sfx{}"), id); + return fmt::format(FMT_STRING("sfx{}"), id); case Type::Group: - return fmt::format(fmt("group{}"), id); + return fmt::format(FMT_STRING("group{}"), id); case Type::Sample: - return fmt::format(fmt("sample{}"), id); + return fmt::format(FMT_STRING("sample{}"), id); default: - return fmt::format(fmt("obj{}"), id); + return fmt::format(FMT_STRING("obj{}"), id); } } @@ -338,7 +338,7 @@ std::string_view NameDB::registerPair(std::string_view str, ObjectId id) { std::string_view NameDB::resolveNameFromId(ObjectId id) const { auto search = m_idToString.find(id); if (search == m_idToString.cend()) { - Log.report(logvisor::Error, fmt("Unable to resolve ID {}"), id); + Log.report(logvisor::Error, FMT_STRING("Unable to resolve ID {}"), id); return ""sv; } return search->second; @@ -347,7 +347,7 @@ std::string_view NameDB::resolveNameFromId(ObjectId id) const { ObjectId NameDB::resolveIdFromName(std::string_view str) const { auto search = m_stringToId.find(std::string(str)); if (search == m_stringToId.cend()) { - Log.report(logvisor::Error, fmt("Unable to resolve name {}"), str); + Log.report(logvisor::Error, FMT_STRING("Unable to resolve name {}"), str); return {}; } return search->second; diff --git a/lib/ContainerRegistry.cpp b/lib/ContainerRegistry.cpp index 3459b85..95716fb 100644 --- a/lib/ContainerRegistry.cpp +++ b/lib/ContainerRegistry.cpp @@ -428,7 +428,7 @@ static std::vector> LoadMP1 ret.emplace_back(std::move(search->second), ContainerRegistry::SongData(std::move(song), sonLength, groupId, midiSetup)); else { - SystemString name = fmt::format(fmt(_SYS_STR("{:08X}")), id); + SystemString name = fmt::format(FMT_STRING(_SYS_STR("{:08X}")), id); ret.emplace_back(std::move(name), ContainerRegistry::SongData(std::move(song), sonLength, groupId, midiSetup)); } @@ -1347,7 +1347,7 @@ static std::vector> LoadRS2(FIL memmove(samp.get(), audData.get() + head.sampOff, head.sampLen); if (head.projLen && head.poolLen && head.sdirLen && head.sampLen) { - SystemString name = fmt::format(fmt(_SYS_STR("GroupFile{:02d}")), j); + SystemString name = fmt::format(FMT_STRING(_SYS_STR("GroupFile{:02d}")), j); ret.emplace_back(std::move(name), IntrusiveAudioGroupData{proj.release(), head.projLen, pool.release(), head.poolLen, sdir.release(), head.sdirLen, samp.release(), head.sampLen, @@ -1403,7 +1403,7 @@ static std::vector> LoadRS2 RS23SONHead sonHead = sonData[s]; sonHead.swapBig(); - SystemString name = fmt::format(fmt(_SYS_STR("GroupFile{:02d}-{}")), j, s); + SystemString name = fmt::format(FMT_STRING(_SYS_STR("GroupFile{:02d}-{}")), j, s); std::unique_ptr song(new uint8_t[sonHead.length]); memmove(song.get(), audData.get() + sonHead.offset, sonHead.length); ret.emplace_back(std::move(name), @@ -1506,7 +1506,7 @@ static std::vector> LoadRS3(FIL memmove(samp.get(), audData.get() + head.sampOff, head.sampLen); if (head.projLen && head.poolLen && head.sdirLen && head.sampLen) { - SystemString name = fmt::format(fmt(_SYS_STR("GroupFile{:02d}")), j); + SystemString name = fmt::format(FMT_STRING(_SYS_STR("GroupFile{:02d}")), j); ret.emplace_back(std::move(name), IntrusiveAudioGroupData{proj.release(), head.projLen, pool.release(), head.poolLen, sdir.release(), head.sdirLen, samp.release(), head.sampLen, @@ -1569,7 +1569,7 @@ static std::vector> LoadSta if (len == 0) break; - SystemString name = fmt::format(fmt(_SYS_STR("Song{}")), unsigned(i)); + SystemString name = fmt::format(FMT_STRING(_SYS_STR("Song{}")), unsigned(i)); std::unique_ptr song(new uint8_t[len]); memmove(song.get(), data.get() + cur, len); ret.emplace_back(std::move(name), ContainerRegistry::SongData(std::move(song), len, -1, i)); @@ -1651,10 +1651,10 @@ ContainerRegistry::Type ContainerRegistry::DetectContainerType(const SystemChar* SystemString newpath; /* Project */ - newpath = fmt::format(fmt(_SYS_STR("{:.{}}.pro")), path, int(dot - path)); + newpath = fmt::format(FMT_STRING(_SYS_STR("{:.{}}.pro")), path, int(dot - path)); fp = FOpen(newpath.c_str(), _SYS_STR("rb")); if (!fp) { - newpath = fmt::format(fmt(_SYS_STR("{:.{}}.proj")), path, int(dot - path)); + newpath = fmt::format(FMT_STRING(_SYS_STR("{:.{}}.proj")), path, int(dot - path)); fp = FOpen(newpath.c_str(), _SYS_STR("rb")); if (!fp) return Type::Invalid; @@ -1662,10 +1662,10 @@ ContainerRegistry::Type ContainerRegistry::DetectContainerType(const SystemChar* fclose(fp); /* Pool */ - newpath = fmt::format(fmt(_SYS_STR("{:.{}}.poo")), path, int(dot - path)); + newpath = fmt::format(FMT_STRING(_SYS_STR("{:.{}}.poo")), path, int(dot - path)); fp = FOpen(newpath.c_str(), _SYS_STR("rb")); if (!fp) { - newpath = fmt::format(fmt(_SYS_STR("{:.{}}.pool")), path, int(dot - path)); + newpath = fmt::format(FMT_STRING(_SYS_STR("{:.{}}.pool")), path, int(dot - path)); fp = FOpen(newpath.c_str(), _SYS_STR("rb")); if (!fp) return Type::Invalid; @@ -1673,10 +1673,10 @@ ContainerRegistry::Type ContainerRegistry::DetectContainerType(const SystemChar* fclose(fp); /* Sample Directory */ - newpath = fmt::format(fmt(_SYS_STR("{:.{}}.sdi")), path, int(dot - path)); + newpath = fmt::format(FMT_STRING(_SYS_STR("{:.{}}.sdi")), path, int(dot - path)); fp = FOpen(newpath.c_str(), _SYS_STR("rb")); if (!fp) { - newpath = fmt::format(fmt(_SYS_STR("{:.{}}.sdir")), path, int(dot - path)); + newpath = fmt::format(FMT_STRING(_SYS_STR("{:.{}}.sdir")), path, int(dot - path)); fp = FOpen(newpath.c_str(), _SYS_STR("rb")); if (!fp) return Type::Invalid; @@ -1684,10 +1684,10 @@ ContainerRegistry::Type ContainerRegistry::DetectContainerType(const SystemChar* fclose(fp); /* Sample */ - newpath = fmt::format(fmt(_SYS_STR("{:.{}}.sam")), path, int(dot - path)); + newpath = fmt::format(FMT_STRING(_SYS_STR("{:.{}}.sam")), path, int(dot - path)); fp = FOpen(newpath.c_str(), _SYS_STR("rb")); if (!fp) { - newpath = fmt::format(fmt(_SYS_STR("{:.{}}.samp")), path, int(dot - path)); + newpath = fmt::format(FMT_STRING(_SYS_STR("{:.{}}.samp")), path, int(dot - path)); fp = FOpen(newpath.c_str(), _SYS_STR("rb")); if (!fp) return Type::Invalid; @@ -1764,10 +1764,10 @@ std::vector> ContainerRegistry: /* Project */ SystemString projPath; - projPath = fmt::format(fmt(_SYS_STR("{:.{}}.pro")), path, int(dot - path)); + projPath = fmt::format(FMT_STRING(_SYS_STR("{:.{}}.pro")), path, int(dot - path)); fp = FOpen(projPath.c_str(), _SYS_STR("rb")); if (!fp) { - projPath = fmt::format(fmt(_SYS_STR("{:.{}}.proj")), path, int(dot - path)); + projPath = fmt::format(FMT_STRING(_SYS_STR("{:.{}}.proj")), path, int(dot - path)); fp = FOpen(projPath.c_str(), _SYS_STR("rb")); if (!fp) return ret; @@ -1776,10 +1776,10 @@ std::vector> ContainerRegistry: /* Pool */ SystemString poolPath; - poolPath = fmt::format(fmt(_SYS_STR("{:.{}}.poo")), path, int(dot - path)); + poolPath = fmt::format(FMT_STRING(_SYS_STR("{:.{}}.poo")), path, int(dot - path)); fp = FOpen(poolPath.c_str(), _SYS_STR("rb")); if (!fp) { - poolPath = fmt::format(fmt(_SYS_STR("{:.{}}.pool")), path, int(dot - path)); + poolPath = fmt::format(FMT_STRING(_SYS_STR("{:.{}}.pool")), path, int(dot - path)); fp = FOpen(poolPath.c_str(), _SYS_STR("rb")); if (!fp) return ret; @@ -1788,10 +1788,10 @@ std::vector> ContainerRegistry: /* Sample Directory */ SystemString sdirPath; - sdirPath = fmt::format(fmt(_SYS_STR("{:.{}}.sdi")), path, int(dot - path)); + sdirPath = fmt::format(FMT_STRING(_SYS_STR("{:.{}}.sdi")), path, int(dot - path)); fp = FOpen(sdirPath.c_str(), _SYS_STR("rb")); if (!fp) { - sdirPath = fmt::format(fmt(_SYS_STR("{:.{}}.sdir")), path, int(dot - path)); + sdirPath = fmt::format(FMT_STRING(_SYS_STR("{:.{}}.sdir")), path, int(dot - path)); fp = FOpen(sdirPath.c_str(), _SYS_STR("rb")); if (!fp) return ret; @@ -1800,10 +1800,10 @@ std::vector> ContainerRegistry: /* Sample */ SystemString sampPath; - sampPath = fmt::format(fmt(_SYS_STR("{:.{}}.sam")), path, int(dot - path)); + sampPath = fmt::format(FMT_STRING(_SYS_STR("{:.{}}.sam")), path, int(dot - path)); fp = FOpen(sampPath.c_str(), _SYS_STR("rb")); if (!fp) { - sampPath = fmt::format(fmt(_SYS_STR("{:.{}}.samp")), path, int(dot - path)); + sampPath = fmt::format(FMT_STRING(_SYS_STR("{:.{}}.samp")), path, int(dot - path)); fp = FOpen(sampPath.c_str(), _SYS_STR("rb")); if (!fp) return ret; @@ -1979,7 +1979,7 @@ std::vector> ContainerRegis if (ValidatePaperMarioTTYDSongs(fp)) { /* Song Description */ dot = StrRChr(path, _SYS_STR('.')); - SystemString newpath = fmt::format(fmt(_SYS_STR("{:.{}}.stbl")), path, int(dot - path)); + SystemString newpath = fmt::format(FMT_STRING(_SYS_STR("{:.{}}.stbl")), path, int(dot - path)); FILE* descFp = FOpen(newpath.c_str(), _SYS_STR("rb")); if (descFp) { auto ret = LoadPaperMarioTTYDSongs(fp, descFp); diff --git a/lib/Sequencer.cpp b/lib/Sequencer.cpp index d82ac17..06da158 100644 --- a/lib/Sequencer.cpp +++ b/lib/Sequencer.cpp @@ -359,9 +359,9 @@ void Sequencer::setCtrlValue(uint8_t chan, uint8_t ctrl, int8_t val) { } if (ctrl == 0x66) { - fmt::print(fmt("Loop Start\n")); + fmt::print(FMT_STRING("Loop Start\n")); } else if (ctrl == 0x67) { - fmt::print(fmt("Loop End\n")); + fmt::print(FMT_STRING("Loop End\n")); } if (!m_chanStates[chan]) {