function [y, dinfo] = cymbal2_render(P) % CYMBAL2_RENDER Full render: precompute -> time integration -> output. S = cymbal2_system(P); MB = cymbal2_mallet(P); [acc, dinfo] = cymbal2_sim(P, S, MB); [y, peakAccel] = cymbal2_output(P, acc); dinfo.peakAccel = peakAccel; dinfo.strikeRadiusM = S.strikeRadiusM; dinfo.pickupRadiusM = S.pickupRadiusM; dinfo.RsM = S.Rs; dinfo.lengthS = length(y) / P.sample_rate; end