setUseStaticMatrix creates false mic positions
-
When setting
setUseStaticMatrix
to true and switching to a sample map with a lower number of mic positions, the mic positions from the previous sample map still show up in the drop down, and more importantly in thegetNumMicPositions
function.Selecting one of these false mic positions in the sample editor causes an instant crash.
-
@d-healey Confirmed
Here is a quick project to demonstrate it:
staticMatrixIssue.zip -
I opened a GitHub issue for this here:
https://github.com/christophhart/HISE/issues/266 -
Bump. Without this working correctly, I am running into a lot of issues with multi-mic samples.
-
-
This post is deleted! -
Pretty sure I've fixed this now - https://github.com/davidhealey/HISE/commit/071474630064eb3be0e313df934dd72c41175cbd
The microphone config is always taken from the sample map regardless of the value of
useStaticMatrix
but the number of channels in the routing matrix abides by theuseStaticMatrix
value.Let me know if this works correctly, if so I'll open a pull request.
-
@d-healey thank you!! I’m away from my computer now but will give this a go first thing tomorrow morning.
-
For some reason now I am getting the values from the last loaded sample map not the currently loaded sample map.
I am not sure if the issue has anything to do with useStaticMatrix because I am getting the same results either way. (I was using .useStaticMatrix(true) because Christoph recommended it when loading sample maps with different amounts of mic positions because the channeling routing was getting disconnected, but that doesn't seem to be an issue anymore. ie with .useStaticMatrix(false) my channel routings are remaining connected.)
-
@crd Are you testing with the example project you posted?
-
@d-healey
I'm getting weird results with the example project I posted and my actual project. I think my example project wasn't as clear as I'd hoped at demonstrating the issue... sorry..getMicPositionName() is working great now. The weirdness I was experiencing was user error. Thank you, David.
I'm not sure if .setUseStaticMatrix is now redundant in my script but I will sort that out. I am pretty sure I was using it to make sure the sampler's didn't disconnect there channeling routings when I changed sample maps but that doesn't seem to be happening any more in either case...
-
I also updated the example project to be a little more clear:
https://www.dropbox.com/s/fia4f9tqy3twov7/staticMatrixIssue.zip?dl=0
-
I'm not sure if .setUseStaticMatrix is now redundant in my script
But does it still stop the number of channels from changing? In the test project that is what I observed.
-
@d-healey Yes. It all seems to be working correctly now. Thanks!
-
Everything seems to be working correctly but for whatever reason I am unable to use .getMicPositionName inside of a combo box call back the way I'd hoped. It always returns the values of the last loaded sample map not the current one. However .getMicPositionName called via a button callback works as I would expect it. Here is an example project that demonstrates the issue I am having:
https://www.dropbox.com/s/qfkhhq8exbbvsbo/staticMatrixIssue_2.zip?dl=0 -
@crd Well that's not a fair test because you are not changing the sample map in the button callback.
Try this:
You'll see that both the button and combo box do the same thing. I don't think this has anything to do with the static matrix issue (but try it in an older build and see if the result is different). I'm pretty sure this is issue is happening because when you load a sample map HISE has to read some data from the disk and while it's busy doing that you're trying to output the names of the mic positions, but at that point HISE hasn't finished loading the new sample map.
HiseSnippet 1715.3oc6Y01SabDD9rMGk6RRURZpZ+RkNg5GLJIfs4kzpzVLXfHTvfkMIpUsUnkyqwq3tcOs6ZBtQH0eR8mP9EUk+Asyt2Y60GFBXB4k13OjbyL6ryy9r6NybG03LerPv3VYb1saD1JyMsazkJaWoMhPs1bMqLeosPhjD+pHImb7lBQG7dkrVsaDRHvMsxjI2STCMiyDV5eud4UQAHpOdfJKqmyH93sHgD4.s0J+TRPvFnl3cIgFidgxa5ynUXArN.rxYWvJB4eH5.71H0vxZakYx0aRjLdC.XXgUlIVk0rai1rWPiG+yIBx9AXkPQqFvDEqdCVPSEhUZspzlDzrVukuvBlzZCHibwjw8rqRZR5qe.obasAuAdXxGYxNL7xMD7JZBuBFvaDPJiAjlHFR2wtgOmDIGXQgmaXuIUh4sP.saBk3wZk8umvtBCFAUNaH5P7FbPnuG4WpPgG3A+yLO10Endgz6HD2qAJLJ.yK58id5iDyd.VpgnVJ+z8rOM3VummEIRdL+LyJvxmIvMLN8jWx6fGNJUXg6yVkcrJL8fnJPrvHFEDxOc+QL8vdJzApJJRnPXbTUt1nm9sHBYdkO8mAEjxOMQhCES+fo2mwNTDghv7PrDErWgRkVpToei5GfNh32lwa1WUDk0PxazlDFh4IZA33k7y0ct4h3DpT3Iai8BI9dT3vpvqEiq0Df.PGvfy5MSvsWHJxixjZy9c3bXs5AqXukcIz.B7PqNTeIgQ8TWFRV.JFhyBx62idd.PEA.m59RWmQtInBZeFI+.N6W098vh+NPPNtNyMGL0BV.dV85H+HmKfbmw00QsnxS.Ruvi8Hd+f27v+c+6Oiqi2KcUrgi2EatpR7qwDD0ZTc0NOYF.KZ97DG2Sz6augyCp8yDJoBJHXeHOQ9SyVpi.yM2KX7CEd9Lfo8kAc8dAQ1VS962QJYzQv5qpMb9bNokW9DImK8VPgDx+7HTmqLi5jPoPfNw08bH1j06YQqCSGJR0fq1lIw6Pyq4D2Sb8RapUqQZKYxzKfQXVUXfedNlm1IbeL2bGQMPHa4vofsO6TvlUH7i4EiAxnaRIxchvzyptgUBYBoqylfJXnRcx5OOIYcL0YQfbxN1I7nkFxlEIsR69sSbu2AZ8DbC69muSOESU15YatFRhTkNRfE.UHAmjnXgLqggDa33BIN1qgEGJYQZbmbH.pBdAP9wCB4OUt6.gsKSDUYgv7f3ci4KI9XXR+Ba+1X+CSR8wU44Tq1zA8MtdMBbYi.+msJGh.a1YxAR5z6VYV1dz42cOU5c2QkcG5O4T0dgp9rlcBPxgaEP0+ShA3v4P0eU0XovExtl8G8Vq+fKJDuicMhzu8nwX1QfQ0Y4qALlzU0srWuUKHI7..Ng8F+70SKTlg+ahC+csgMaLJjPOHI4oFCt18xp91n41nKbys03XcABxeXLrWUd0N.GwGV6eUVGpUBYcnCEqDjWGGgQRXadnbB0q+DNqSTZud8x5CE6xgr6.UXZXGJF3Zo4ZrBmIDsfkidtDllp0gefhqFnoN9HLWLrts6DB62TJNPz6hZplCMQfNJE1Eo2igN90xESIWJk77ojWHk7hojWJk7iFH2ubs5jwWoyjbpDImpHyTWrhLvrVCA7fwHWkbP+HFqw7cU5y8Z7Y7dNMvRIr0ILlo2kuWyDWrKkm+qc8QPZ1gdMLmdXrAQsgsN8H35KnQgw6BkTag5DH6oc3TIUYTVTaFk3O7kE3v+AGf4lXejKnUjR3t5.M2qbcb.FILts+sk2BZhEwGNGvkhKJdoekzQte801wv0Sk+y6pru8N8X14VpL2EpT4ac7N9kMemRcedRATOH5b4G36y2zVmx2SUg98ETqy5nRe2q52sfRjMf1B7wlEJmTU7MVtfRVAnFXZSsv+.+RLVTImIwXwTFKY5YoTFm2zy4SYbASOWHkwEM8bwdFs76AeXkm7r9kRxjCSUUvzccF.8HDXdMR.M7nngOytxV6zXcKqKuq11arR8y1wbob7WdUOGmztZwE99woYwRepYwq+lEyddMKZY8AUyhvq5l98KOUihSdM0n3GEeT6+S2vWoO0v2Uugu2ueOjb+u46gbc1L20N.uZMvM9vKUSaNirosIdO0zlYqWYu78OMkcsMq7zmUab58ZR656rS0SwO1ijexdk3GqPjOmsme7WKWsVmRqAPJU+mH1wtpR1q+GH21tvrErBgpa646qtd8PnX4n8ozX3y7igOKLF9r3X3yRigOOZL746NWeTMVrRGIKLNcKnn15wGtxr9f9ys9WfohW6I
-
@d-healey
That makes sense.It seems like for my purposes (changing settings dynamically depending on what sample map is loaded) using an array or object with all the settings saved to it is the best solution.
-
Just made a pull request for this - https://github.com/christophhart/HISE/pull/287