281 |
return NULL; |
return NULL; |
282 |
} |
} |
283 |
|
|
284 |
|
inline std::list<gig::Sample*> unusedSamples(gig::File* file) { |
285 |
|
std::list<gig::Sample*> lsamples; |
286 |
|
for (int iSample = 0; file->GetSample(iSample); ++iSample) { |
287 |
|
gig::Sample* sample = file->GetSample(iSample); |
288 |
|
bool isUsed = false; |
289 |
|
for (gig::Instrument* instrument = file->GetFirstInstrument(); instrument; |
290 |
|
instrument = file->GetNextInstrument()) |
291 |
|
{ |
292 |
|
for (gig::Region* rgn = instrument->GetFirstRegion(); rgn; |
293 |
|
rgn = instrument->GetNextRegion()) |
294 |
|
{ |
295 |
|
for (int i = 0; i < 256; ++i) { |
296 |
|
if (!rgn->pDimensionRegions[i]) continue; |
297 |
|
if (rgn->pDimensionRegions[i]->pSample != sample) continue; |
298 |
|
isUsed = true; |
299 |
|
goto endOfRefSearch; |
300 |
|
} |
301 |
|
} |
302 |
|
} |
303 |
|
endOfRefSearch: |
304 |
|
if (!isUsed) lsamples.push_back(sample); |
305 |
|
} |
306 |
|
return lsamples; |
307 |
|
} |
308 |
|
|
309 |
template<typename T_Message> |
template<typename T_Message> |
310 |
class SignalGuard { |
class SignalGuard { |
311 |
public: |
public: |