How to reset referToData?
-
If I connect two tables together using
referToData
, how do I later disconnect these tables?Also, is there any way to get the tableProcessor from a UI table so that I can use functions like
restoreFromBase64()
? -
Bumpy bump
HiseSnippet 974.3ocsV0saSjCE1SZMhDVVQk1GfQ4pTADkDnEXQqHj+PQPaiHEzdGq6LdRr5L1i73oP1UUZeO1Wl8Qh2fcO1dRFmtocgHXtHJ1G+cNe9y9bNdhTDPyxDRjW0SWjRQd+.d5BtZd+4DFGMd.xaOrhbVL8c7XF+7SoYJTuEojrLZHxyamWoWlW0cQluO+hdjXBOfVNEB8dAKf9FVBSUN6jtulEGOhDROkk3r5G2cbff2WDKxAJsCtEJkDbNYF8XhdYUvHuaMLjoDxoJhhlg71smHbwz4hOxsq+8rLFPW8f1nofirSORDGpYrdVT+4r3vIK25YHvKSJEhcrBwOgOhExVMeofbOiA+RDt5gWk0o2NqQu1tzqkC81.k7bnD1Ro8vSCjrTUoEMetCdLWQkQDP1coxw4ImpO4.Vf87.w0BFU4upf6K.HbUyDx4zQRXvJWz3vVsdfO7y9OuVM3rHS4GRTD+eweHeFiSaFHovV6k7v2Rmwx.TlfL.VSCGLWPj9FCsAjKi1LppuHIUvgAMpaMWGvbEHctYHczPpUiouPR8ix4AJlf6K38xUJAusFpTD2HXItG.tNNmtes+nVUy+7egu9xbi88+Y+bt8uOu1kfW2bXKbb88alom2399j33yf6lMtZb0j6pbyFBc7sa5lRZDHbBipokW.j0TmMY5x+qGWR6qwm0qeMdzX3xZNp1wBE8Dt0SfE+qZJJZi1J1swT4FMqSqk2DvF77jynR2yF8BgTw0SfvWeBja9cf8fyYgB9XNScRJkecY8nhSaHYqRAqfvqLoZ2sHUyHgHFjPcarUmQFB6VfSeJg7N.+nCat92EmjNJ+2eVjr2fmz2LF9I59ZSOyN1xgun.24abfe2X8EBcglBY.jlTpTwzpt2.5EPUaaYmp3AzryUhTPHWkU.Eh+eUpOshr+4q5tnj4Gz8irP07USzUzcNkMadYCh+dVWzWQn53DJzXmPAd9qLTXan9whPYysMwpJtHQ2IX+1mbCFsaF4B5X9DIEJTnqAibJhuqUMg1Ghv7XhZ8dJ5FoEFf7j0JjqqMyyXpEtMZ+l0n4Kkh6gmvTAy2LGqrANpSq9Nvwh1y2EOLJhFnJI3t3Q+52mdwn2JxUL9riHJICN7wPq0ovKTBnPz4bZroEaEcEE63V5wZEXJkGZF7OvWgw1q5GCFauzHJgDHEeHvVNP+.faalA3D271mp3izi8WU.Bia0rEJAdKxGBBza+GBE41LlNaAlGsEXd7Vf4fs.ygaAlmrEXd5MhQ+LvWlqDI1zAXhICM0T87Fx0kkL2BQ+Kj+FVjF
-
-
It looks like the table index changes to 0 for both tables. If I script different indexes for each table I can get it to work.
HiseSnippet 985.3ocsV01aSiDDdcRWDI2Ahd59AX0OkpqDkDnEtCgHjWJJ5nsQjBhuAas2jrp16FYutzHDR2Os6mD+C3lYWGaGN2RIB7Ghxry9LOOdVOyriiTd73XUDwo1oKWvIN+JcxRodd+4LgjLZ.wYaplcV.+0x.g77S4wZRukKXwwbehiS0Wfayo1VDyymeVOV.S5wyWhPdiR3weoHTnyWcb2+VDDbHymepHrvteX2QdJYeUfJAjTUZKxBl24rY7iY31pPIN2ZnuPqhlnYZdLwYqdJ+kSlq9fzt+2HhEfbQi1jIPfrKenJvGULtJo+bQf+3Uu5wDHJiySDUsIhemdjvWjsddB4dFGt4HJlObprt7ptl7ZWTdsJHuRjjSAIQsRZa5DuHwBctGTO+BcjTyilxfzdQobbR3o3IGnBpSEH4ZASp7aUo8U.DotYH6b9gQfQVHZbPqV64B+r6SpWGNKh0t9LMqs6ScGJmIj7ldQb3c64R+WwmIhAXFVF.apABJGSmaDl14DcAKx03.YakDmw08UgKTRvnwNV26jwSFjNWOjNHj5VzMi4vxlupGI84WtydtnvuRmFEJvu+4tSSjdZgR5pj8RzZkrMRZjJng2JF2CDUPBe25erdMy+belKV6zXW2+xMQZ+6Sp+IHnkK3z.uytnVRCeeVPvYPoPiul2xzlkBj+z2oH9THkqL4ayoIfx5qSo99z+OlqD9FF0NlnVH6crRyOQZiG3w8qcMcZo9ReqC3Qk5F6lDcc.aHSBOiGU7LB2HzAX85V5UW2Vrshm8.rvFUxQRg9jEb4U0rgjdpC03URUEPu1TgemzJbSVjHf53aSsYahQvE6qhoUhy9zGbPy0et3jvA868G3eeTeiM7yTi8eZssZ3FQbmevD+5Q32DX+szz.jZVvizBLq6LfeALrv1sqFc.O9bsZAjHypNf9+eyL0kYh8edQ2k4Je+teP3qmmsPWU24bwr44yk92YcIeGT0o.UjQEnBh72IUTKU2MkJaMtgqZzzB9Bj89KKRFuaL6Bna03HNzv.a8SJL6XKa1DlZo7SBX50GkgyuSc.0IqM+.GIHiE5kEmu+Ca91MUhaSGKzdyKWiUJQiXY0OAMldqf6PGNcJ2SmKvsnG91eNWAf7JUhVHmcDSGIfCeJLQeBbwHONvtTxCxlrmZ2BswLvDtz2X7E3I0Yaz1I0Y6UNIgLuH067rsCv6cbayJfljlqbUidDZ6l0.hRa0rEIDtBz677vW+6CM4JGSmM.yC1.LObCvr+Ff4fM.yi1.LO9Zwf2974IZUnsb.VX7PSOUGmgRrsj4qPx+ApU2NZ.
-
@dustbro Not quite what I'm after but I might be able to use this. I want to completely disconnect the tables from a data object.
-
@d-healey I imagine this would need another function that cancels what's made here:
void referToDataBase(var newData) { if (auto td = dynamic_cast<ScriptingObjects::ScriptComplexDataReferenceBase*>(newData.getObject())) { if (td->getDataType() != type) reportScriptError("Data Type mismatch"); otherHolder = td->getHolder(); setScriptObjectPropertyWithChangeMessage(getIdFor(getIndexPropertyId()), td->getIndex(), sendNotification); updateCachedObjectReference(); } else if (auto cd = dynamic_cast<ComplexDataScriptComponent*>(newData.getObject())) { if (cd->type != type) reportScriptError("Data Type mismatch"); otherHolder = cd; updateCachedObjectReference(); } }
-
@ustk Yes I considered that too but not sure how to implement it. I might have another go at it.
-
@d-healey I tried with no luck. First I just set the
otherHolder
tonullptr
but it didn't work.
something like this:void removeFromDataBase() { otherHolder = nullptr; }
So I thought the message notification had to change so I copied everything from de
referToData
function, setotherHolder
tonullptr
, and set the notifications todontSendNotification
, but that didn't work either so I gave up...
something like this:void removeFromDataBase(var data) { if (auto td = dynamic_cast<ScriptingObjects::ScriptComplexDataReferenceBase*>(data.getObject())) { if (td->getDataType() != type) reportScriptError("Data Type mismatch"); otherHolder = nullptr; setScriptObjectPropertyWithChangeMessage(getIdFor(getIndexPropertyId()), td->getIndex(), dontSendNotification); updateCachedObjectReference(); } else if (auto cd = dynamic_cast<ComplexDataScriptComponent*>(data.getObject())) { if (cd->type != type) reportScriptError("Data Type mismatch"); otherHolder = nullptr; updateCachedObjectReference(); } }
and of course adding a
removeFromData
that calls this one to related components... -
@ustk
bool removeDataObject(ExternalData::DataType t, int index) override { return true; }
Smells interesting...
-
@d-healey Seems like another dead-end :(
-
A related issue. How can I change the tableData that the table is referring to?
This doesn't work:
HiseSnippet 984.3ocsV8taaaCDmxIrnxacaEXO.B4SxHcFx1ccCHaXdwNovXKIdydECHHnfVhJhHzjBTTo0XXXEC6AaOH6C6QXuAaGojiTZMbhM5zGr0Qd+386Nc+giUxPZVlTgbbmtHkhb9P7jEBcxfDBSfFMD47wXMYFm98LwUSoYZzgKRIYYzHjiyNO2nji6tH6y+7MGR3DQHsZID5ERVH.dNSWs539eGiyOlDQmxlWS6m1eTnTLPxk4.g1AGfRIgWQtjdJwnVCLx4AGEwzR0DMQSy.cNTFsXRh7UhB8eAKiAj0HzAMANnhkQCRX7nwKc1LDxY2wUt9NEt9mhOgEwtY8pPvmX2vqBQ8XfSi0QoNa.kbpQocKnziwSBUrTc0NF97A3QBMUESfPccpTnKpwez.OPBZHzsmSthdrBDtAg+yBBdhG7SqCZ1DB2YZO8Lt2W6c9EGzDd67fK.gk3ujpGHmmJEff+dSMYBc1qUghctCE6tWkItln7rK1a8X5UCyrbsFdojZMikJOeFHEbfGy6q75B+s+9sZ9KMcK0rcZdVh+pO8Csprm29lyXeuNsZAFZIvyYWzNyntPqj7ADNeFj34KEE6WtN.3Wa1jI3LA0KNWDpYRg2aoje3Ra9Dvo44TKA4xPB2iIhnuFbfkz0JeVbEDiu6xh87KQ55VDTZqnwT0T4Phl3aB8VjWXHTMdbpTSOS3aMHvTu2dq33UtWIw4T0J21ThpVGPeQ97YTUc20nHjCe6BiGb+JLBK97USQoXjfoOKkVJerjGYR3Mu+tkQnxu+PA0NkLDnh1VN8nxxIaTEwfy3g3hbZjk70abEAwZaOGz89T59d4T5stS4mFYxALMKJcSv0SoJMyDgcFRuF51Vz5vEOjlckVlhbv2TG.eEtyHwqq2PdQkvv9uhEoSfiy4u.wDJ6xDsQ52Q1n981DcqYh+TU2DideYhd0LwahqYh9oanI9nRSTz+vZCWbgP8P0a9gZF4u+s9JRDS9bkLOsHOMibMcjXrhBsYLsp2LKUOh0WtgV5cmp.yyjQ4bh91C4LSyK2.Jvu0jEyzCQFSun9z9MXxWvZm7ceo3iwiY5vjUywFqfiPcx+Gbr79BOBeTbLMTWQvcwG+ya6kCtCy+ixbMSb4IDshAIC3SymOAtlTHErtPP4Ylb3FlT3B4.irIBLgJhrB+K7TtYGirS4lcVtIZNITIeYXQiJyMRdncEfSB6EvbwmXj8toaIFGzN.MGtbzKCCMt+mAcjWMltaAldaAlmtEX97s.yy1BLewVf4KWKFy8R+1bsbdQ4.rv3irCHbbNRXZDZyBQ+WzdNyT
-
Christoph committed a solution yesterday. Now
referToData(-1)
will reset back to the tables internal object. -
-
-
@d-healey can you export on latest commit? Having issues here on osx....
-
@DanH Yes on GNU/Linux and Windows, haven't tried MacOS yet.
What issue are you having?
-
@d-healey a bunch of errors... Will have another go