--- gigedit/trunk/src/gigedit/global.h 2020/10/06 16:45:17 3826 +++ gigedit/trunk/src/gigedit/global.h 2020/10/06 16:58:03 3827 @@ -306,6 +306,31 @@ return lsamples; } +inline std::vector unusedScripts(gig::File* file) { + std::vector scripts; + for (int iGroup = 0; file->GetScriptGroup(iGroup); ++iGroup) { + gig::ScriptGroup* group = file->GetScriptGroup(iGroup); + for (int iScript = 0; group->GetScript(iScript); ++iScript) { + gig::Script* script = group->GetScript(iScript); + bool isUsed = false; + for (gig::Instrument* instrument = file->GetFirstInstrument(); instrument; + instrument = file->GetNextInstrument()) + { + for (int iSlot = 0; iSlot < instrument->ScriptSlotCount(); ++iSlot) + { + if (instrument->GetScriptOfSlot(iSlot) == script) { + isUsed = true; + goto endOfRefSearch; + } + } + } + endOfRefSearch: + if (!isUsed) scripts.push_back(script); + } + } + return scripts; +} + template class SignalGuard { public: