@Christoph-Hart Check at this, it appears that the glitch isn't from createPath but within the buffer itself.
Here I use getReadBuffer/getResizedBuffer with a sinus and you can see the spectral trace of the first harmonic as we should, plus the oscillo trace of the sine as a glitch at the same time. This means the buffer sometimes contains both sets of data so it is probably not clean as it should.
Another issue -> the data are spread only on the first half of the buffer (for instance the full spectrum goes from 0 to 128 in a 256 length resized buffer (or full read buffer), the remaining are zeros)
When using createPath, it isn't the sine that we see as a glitch, but it might be the imaginary part
The problem might not be a thread access issue after all...
HiseSnippet 2268.3ocyY0raajbDtojFJqYsMrALB1iSD1CzXkomg5GKua1Xp+nMgsjID0pcMLLLZMSSxFZloYlo4Jwrv.NuB41dKOAAHGyM+JjGibJ6aPRUcOCmYnHsnztqQDrAU+SU8WUc00WUTshDtr3XQDozRGMrOiT5lFsGFJ6sSOJOjzbWRoemQiFGYs8fNcXQV6FQOiG10Zcx1C6SiiYdjRkl+o3dKszBD0O+7S1l5SCcYYSQHGK3trWvC3xrYaU+4be+FTO1Q7fb6ds5McEg6H7EC.bMugMoO08TZW1ATbayYPJUdOOtTD0VRkrXRoE1V3MrcOwYg58eLOlehOCG3PZCJROcCguGhXbVxN839dsRs+XBnkVYdi40di6YrO2iOZ9LuxcTKXkIQd+Qo4JBu4K.Om7vyNG7l.jJkCRFZHcWi1tQ79xrUP77YFMCkrnNTvsmGJGLHXWdbee5P8MHfFiRyANYsRHy8Ol2XGAHZnrZ.8TViHXvHUUwols8JVaXae+u1D1VrvmU00mQip.SXB2RwRqefFY0hFx7cr9FqTc0kI2QDzWDBCprrd4kAYxDIFtccYfHp3MTfB.ssZ4JKqwoUiuWItoVSU8nRZ0STazFTgVWWPGUPXmWh9TYO6bnzMhA2PsfYQ6Ih00B0oMbNohEyjsf6b4ghARdHqRmAgtRtHrR26a9ilK0E2fNRsh9i3phHZXWFnOXUO38hR8xd73bXXEqWC+G9mZd.2eG2CAQ1DOiw61SV49uA1V00QC4cn8mGX3qlncn99m.OOxPlBXO7gJKAr0rSNwegZ+PVL+Oy7RbSN10VaEKGDxWhTzTQv8ZtzXVUVnwEVIVRijGvNq8fST9C6pn8W0VqmNhHqJ7uw9qs3+AEBp5yB6J6Ai+xu79lKAFzEznObcbjnB+g4E.rhGnF+Z9aPU+tQnLh0GuGqj3HS8hHrT9wJ0TA4Y+j5OsDgGHjrWl3XMemo03K0oyDWCixhD99n6ZBKqO1OhfUBGDbBKZE34h+.1nMBIpJldwX5oWxm8yUGzmaihvlgb4K6yBmVNQRxKE3291l6BNeLmTxbv95yhjbDBk1k8CPBdcFpkL1kEepTzWs2jj.PNaoZ0akl+BuAHbHK0MLz2FjyyyALL+fyvmGilv5uVum54wnYd+eoNIWpxEz.ARRK7F3SkEybizUIK.96BoKwLegwb4v7zY+pkNeVg3cMZwkt8lLFmaBXDtU9s.iIjf2xXO3MuqLCfKXz36+Dv3UVe9lIQLvYhG9MMx3DFmq6HJbJJNtRfoboje+q4LxwHExjPlu8B6BYVRnF1Mt+AL4YhnSqrbrRn214bESDrYLGbCQzYzHujWrwGIZQifpT.9y3Jcn9wrh7jGts83GwVgdGx5xiAQNDJsJGyUdwblMwbJdbACa2m4xo9YuUA87ilVVKqE3EprlK+UVa573Zq7vGtZsGswlqfq+c7POwY3E.r5xa6CTLAzvvmQih3wKq1xtfpOg4eHR2Aa50vbVVOvwFysq9c3WfOeiZyeaLqEidJHCcHrYkuIcgDE01k5iJRFMPuzqdJMHfBy3n03xoRCLhox9BQWZDW1Kf61Hh8m15b.cZUX9NvW.Nb7ZJyEk4IpLAuC39.e8UThwIL5ibMQ.4TKHxqRLMnuO6P3JaEqS7Etm1FXduXV+95v9swcTwsG3pY9wWGxgxy7KQmOdh.cIOc2mJi3PlYC30jtnrcRPW5qojw13XLWTaVnmZv+E9IYQmz2j3hNoKlQuTpbhcAvQljYT+JEXPNQrs3bEUwcLNIWb6NmPTVeVhvOuNYlzysMNaT78E0xctnVtchVZ6y8XQJcbSCUgduP77vKngW8gqfFdFeBZHg68RzvmYneiLIELSFwhFd3apBB+29oe5e+DRRdOLm7bI+NbsoS.mkJjbLjoCYn.MAO2qZS1x2WbFR6yS3tfLyp4ZI7G1umHj6hSo2QZrzVAhAXMB5.J3.Ed.ZLZPcgP4gXEiHqHVACPAwhp5NhJp.XxXCvXZTIocQpiLgCMPUKB1C4735p99RNMs5DwtPWoHgL4BGeDqZtkuZmFZv9rySKhZLhowmAF2LzicNx09.nxrLZE7sxnQvQsOO7X8kmAdCP1md9nwqAiaKY8wTN3XHOpxoUFq5fQJHGImRKmozxF0Jp0kfIrwb74z78.M3Xq+wYsGa63rAjb4T1YZOndC0p83Gau15aTq1pqs4i1b8j9Vwr1CXgtCSgycMbrWc8pah5ZcmU2XiBPqf85T.YkMb1XJF7MUGi0gXDIof3jY0W5LUe4SgLsSWoKbYJEUxhFs5Qi+H2HyjVJqJscbnjUlNgjKR2vnSGYwP7aYPCo9CiYUwk9zDdqHexGcOU.WFAry+OfXmKGwk02ppFhKB4aZD.epaUdLDm+6m5RP+bERHT5pGuomZr3s71wTsPUI53HnAj4zOtZFeLtJT+VpFg73aKDPIiJFDRQBjxFPoIxeanNJM6TGIv3ZQZ7K28bs5mtbt9ouwUoNobsV+E4as9KpGPwh6JUFFvkr.3v+8F3WHjYM601zbM6GugI1bfoyFqt4ZlpFDHEaG+8ud71wI+Qr3iYBoiUI1zv4Ao3bwLbV23PnqTnBJel4XMnX9LnpHn3U3yvPymS4wrHyih35M2.BuNBbmWQy31yVof4LAddSnY8.tmmOqk.ZdWEcmdvG8g3QDKoUf8OeRP9uT8W8Ak8Ox27gX39UUVtgk21j.UPOFnn5j5xsrl0krykXu0Gt0AOcOqW7RhGqCcfu73ITI6HWvslsZYmlKfPlhKfT6RcAu+3ht.B4WYWvyZRxapKMSEcmCPCGyRyC15Im0RFux5oas+9aMEuMYZwHjeNmyP4axi0Euz56mFNaVOCmu+d+8+ySl.tT8Cnw+hF6t2Na8pOMMGFPciDu0M4qVAxTdC0LPR3P0eHnkL1GGa4j18hlFC7f7255lV47jko10PlUuFxr10Pl0uFxrw0PlGcMjYyOpL3eSrsFHEAZ5aXhV6oX4JUZuP7qlS88zQ9eP5i+5d
Screen Recording 2022-05-16 at 01.50.36.gif
Below I generated two spikes (20Hz & 20kHz) + noise to demonstrate the buffer is going up to SR instead of 20kHz. Maybe a remaining of the real + imaginary part that necessitates doubling the Nyquist length? That isn't as bad as the glitch though because it is easy to limit the drawing to 20kHz...
SR = 48kHz
Screen Recording 2022-05-16 at 14.43.02.gif
SR = 96kHz
Screen Recording 2022-05-16 at 14.48.55.gif
@Christoph-Hart Any insight on this ? I really need the spectrum to work 🙂