Is there a way to peek inside sample objects?
-
I've noticed trace() doesn't work on all objects. Is there a way to peek inside them without checking the source code? What's special about those objects?
Concretely, I wanted to get the properties of some mapped samples using createSelection(). It would be nice to be able to just dump all the sample properties with trace(), but it prints empty.
I know I can get properties with sample.get, but mostly was curious why trace() doesn't work and if there's maybe another way.
HiseSnippet 1373.3ocyW81aaSDF+bS8zZXLwl1K3E7BSERjNlBIsooqfPKsMock0rZEWFHgfna1maNE66rt6bKgoI9JwGA9HsuAvyY6jXmE5RCaikWDkm+d+tm+dwVvcIRIWfLJe1nHBx3VlNiXpAGL.SYniaiLtsYWrTQDVor1eTDVJIdHCiRGoYXr1pnjOu5Q6iCvLWxTVHzy3TWxIzPpZJW6VOgFDbH1ibFMLm1MZcrKmc.OfGC3ojYMTD1cH9bxSwZ0VwD8Xrb.x39l01tIgryV9dd3s1xqYyl69vcaracresF3mWu4tM1rwNa9vc7QF2niGUwENJrhHQFqtO2ajy.9krzC3YTI84ADMQcjCbxorOjG3ouhZtnCFPC7rGGnjHjgo8zvVozv18L6R8nS3OM78IIBrlZQ9.nwJEgWoBvq9+F7lCjLxAoUSgzcLcbEzH0TIZ77QlGyfroOFxS4gRptnUNZEyC3fFLU0P7PxgBfXhEUZVq1Crfu13aKCoJoxRRBHtJJmY8cVIENUOmnRfWBUk0cvgQADQ802nJVlQTYiptBBbkcFack0+0p2e8MJCGsjGPpFInLUk0Oa.UZEv4CguoCIVjvH0HKphDJsV25qrTBMnlfgM.XMOOHUP8Vd+fY4b0mOOW8y09k43s8iUVWRrFx3WBl9kRKrqJFGDLxB+ModAh7b+2javLOsabAX.QKqHAOhHTThzxWvCAOm5r7dQGVqjE9pdHMHom.bseLKM7yYOkqHmxprQ4WTdsxurr0rh78mqLc1VvCRRKyQrtEUbUFVgEG9bh3AVWfChISTDJCKVaeiEq11Ms3Kmhb1wLp5zHRF8U2bhxpdge8CG2Fqv5liLd1SBz.u1jKfQSosJqY1lHGp3QvvoWqOB5f4dwAXUw1Z8vuLAP7nPujtegIopQ4GNdM50qck85KJDuioMU4NX9Xbk4fQHR8t.iYSH+XyN99P87T.tp4g+zxNNbwO9OK83uqoiBl4DRYmm0FkfgxliGP81XyVzBuYyVPB3XOG5umSs+p09wPLRTj6e1J4n1KjGyJbVYHuGIBlkBo4b1byV85cjfGGMqUu5QIEEmAS6FBgh7BNkQfXsJ+c7.AWJ8gqShuj4EYGKNWGqlxoG4BhPVj2SiCg7MiQB.iMMLzckRhN+Rc6hUB5ukW6jSo1Y3jbLrtOgt9LzaNC8VyP2XF5smgt4Lz6Lk1vrX82MWrQVcwQ1X3JlSy8oYUYfrTNEGWjS0Iw3Dbj6sI+H9BhOWDlS24r3+FuqdKxpKVy2aXZ7G9iSK7zo0FiQGpN60gcAzlBbzX7tvRBebbfZL2hiL5xY7nAbF0sXSATje94DQdrO2KzdJEzSNky8Z0C1+ik45p+hVmPYDrnXu90JVb8eF4byWepYJbszy4r9uj2duVlckqDKsPqDeqi2ke8360P2syVTZAmtP8Add9VlIi1szah++Bp83wJXC63sblvpPGX8uKI+BwUzKYSoqoo0.xgv7RH9a3Slv5i2dpEVerPj6XWA2srem7jWiRDldaRxK8Bf8xA4KokviLzPB13gjII0PXKEPmR.685w0uCvzXOP6S3OgLZLwio4HNg+LsiSQ8ioYD+g9tm93iwfd7+WAYri4Kr6c5224fy5e3omztSuW5DK2Caa+01bBQRw82tY+DV8ss62l35hqdI9BT63n.pKjdzIQzqgyixiyixiyiVNb17ZgSaLULGX99nBHD6J38cS+qX55falvAp.XIWj0L6pospiR96Y4KCBg2Bz20snqdMC2bYMbqk0vFKqgaurF1bYMbmk0vG9lMT+Ts8hU7vzEUHTW6NoM2FclzbWB8O78wakH
-
@Simon Script watch table
Trace is working here, but it only goes one level, each sample is an object.Actually I don't think that's the reason because when I manually create such a multi-level object trace still displays it. -
The script watch table only shows the path to the .wav sample though, not all the other attributes.Just had to expand it more lol.Did you try the snippet? trace() for me prints empty when called on a single sample object, not just when they're in an array.
-
@Simon Yeah I had a look at your snippet. What I notice is the Sample object seems to be a "real" object, in that the variable types it contains are reg variables, so it's something unique to the internal object that HISE is creating here.
-
Dave is right you can only trace generic JSON objects not the one that wrap around C++ things.