@@ -238,12 +238,15 @@ void EngineGlobal::loadIRs()
238238{
239239 _irs.clear ();
240240
241+ // Here we offset the IRs predelay and use non-zero convolution instead.
242+
241243 _irs.push_back ({
242244 " York Guildhall Council Chamber" ,
243245 BinaryData::york_council_chamber_wav,
244246 BinaryData::york_council_chamber_wavSize,
245247 0 .25f ,
246- true ,
248+ false ,
249+ 216 ,
247250 {}
248251 });
249252
@@ -252,7 +255,8 @@ void EngineGlobal::loadIRs()
252255 BinaryData::st_laurentius_molenbeek_wav,
253256 BinaryData::st_laurentius_molenbeek_wavSize,
254257 0 .8f ,
255- true ,
258+ false ,
259+ 15 ,
256260 {}
257261 });
258262
@@ -261,7 +265,8 @@ void EngineGlobal::loadIRs()
261265 BinaryData::st_andrews_church_wav,
262266 BinaryData::st_andrews_church_wavSize,
263267 1 .0f ,
264- true ,
268+ false ,
269+ 1796 ,
265270 {}
266271 });
267272
@@ -270,7 +275,8 @@ void EngineGlobal::loadIRs()
270275 BinaryData::st_georges_far_wav,
271276 BinaryData::st_georges_far_wavSize,
272277 1 .0f ,
273- true ,
278+ false ,
279+ 1776 ,
274280 {}
275281 });
276282
@@ -279,7 +285,8 @@ void EngineGlobal::loadIRs()
279285 BinaryData::lady_chapel_stalbans_wav,
280286 BinaryData::lady_chapel_stalbans_wavSize,
281287 1 .0f ,
282- true ,
288+ false ,
289+ 385 ,
283290 {}
284291 });
285292
@@ -288,7 +295,8 @@ void EngineGlobal::loadIRs()
288295 BinaryData::_1st_baptist_nashville_balcony_wav,
289296 BinaryData::_1st_baptist_nashville_balcony_wavSize,
290297 1 .0f ,
291- true ,
298+ false ,
299+ 1764 ,
292300 {}
293301 });
294302
@@ -298,6 +306,7 @@ void EngineGlobal::loadIRs()
298306 BinaryData::elveden_hall_suffolk_england_wavSize,
299307 0 .1f ,
300308 false ,
309+ 28 ,
301310 {}
302311 });
303312
@@ -306,7 +315,8 @@ void EngineGlobal::loadIRs()
306315 BinaryData::r1_nuclear_reactor_hall_wav,
307316 BinaryData::r1_nuclear_reactor_hall_wavSize,
308317 0 .4f ,
309- true ,
318+ false ,
319+ 1995 ,
310320 {}
311321 });
312322
@@ -315,7 +325,8 @@ void EngineGlobal::loadIRs()
315325 BinaryData::york_uni_sportscentre_wav,
316326 BinaryData::york_uni_sportscentre_wavSize,
317327 0 .4f ,
318- true ,
328+ false ,
329+ 1309 ,
319330 {}
320331 });
321332
@@ -324,7 +335,8 @@ void EngineGlobal::loadIRs()
324335 BinaryData::york_minster_wav,
325336 BinaryData::york_minster_wavSize,
326337 0 .3f ,
327- true ,
338+ false ,
339+ 3098 ,
328340 {}
329341 });
330342
@@ -338,7 +350,8 @@ void EngineGlobal::loadIRs()
338350 std::unique_ptr<InputStream> stream = std::make_unique<MemoryInputStream>(ir.data , ir.size , false );
339351 std::unique_ptr<AudioFormatReader> reader{manager.createReaderFor (std::move (stream))};
340352 ir.waveform .setSize (reader->numChannels , (int )reader->lengthInSamples );
341- reader->read (&ir.waveform , 0 , ir.waveform .getNumSamples (), 0 , true , true );
353+ const auto offset{ (juce::int64)ir.startOffset };
354+ reader->read (&ir.waveform , 0 , ir.waveform .getNumSamples () - offset, offset, true , true );
342355
343356 ir.waveform .applyGain (ir.gain );
344357
0 commit comments