truncate a note (addVolumeFade) *after* the note has ended
-
@Lindon what fade out time have you set?
-
@d-healey
0, 1, 200, 500, 5000none of them work.
-
this code:
function onNoteOn() { if (Synth.isArtificialEventActive(eventId)) { Console.print("doing a fade...."); Synth.addVolumeFade(eventId, knbFadeTime.getValue(), -100); } eventId = Message.makeArtificial(); }
I never see "doing a fade" in the console...
-
@Lindon having dinner now, I'll check after
-
..I think you misunderstand the challenge here....
- press a note and release it.. the release part of the envelope is now setting the volume...
- press another note , I need the release part of the envelope in 1 above to be curtailed...
-
@d-healey OK cool no rush.
-
@Lindon I realised what the issue is. Every note off was killing the event. But we should only kill the it in note off if it's the last note that was played.
HiseSnippet 1186.3oc2W0raaaDDdojXPESaPSQPQOxlCAxEtNh1xJVvvHx+HmJjHaASG2dKXM4PoElbWVxkpQsn26s9vzWf9HzGk7FzNKojHUsrqpZRARzAAsyO67syry2rpejvAhiEQDMiyGGBDsOV2dLWN7vgTFmz8Hh18z6QikPjYlnCFGRiiAWhlV4moDnUsBI8yad5ATeJ2AxEQHWHXNvKXALYtz9seNy2+XpKbNKnf0MZ20QvOT3KRP7TVuNIj5bEc.bBUYVIcx2PiGRz9J8s2bKmFtOwcyM2tUSGZSnkG0yyZK2FMZtSKqsZQarSSn91Ds6zwkIEQ1RpDhIZUNP3N1dn3G3YA3BVL6RePsvhXiQNS7wBeW0QTIkb3Plua+oIpXBQSuedZqbVZ6A58XtrYxySeeZpBybOJl.0JMO7JOG7rJBu5Ef2BfjVAHUICR2W21IhEJy0nvyc06xwpoGEqSEgRlsDseW+PAZ.WtQ.8J33HbwLGp0rd80MwuVaWuDtijI3lB9IBIbJu1ZF+jQUie1v7uqxyag5TgIR36CQKTs5pQzs4XMdRvkPz5lin9IvLCwi+74T8aNmVrj6jcpKXnf2kyjmFB7a5h.YRpB+0K6dDURUEhIxP6BgHISAAsifQXaPVYop9QP7URQH1HbsZFdaQ3l3SkyeER0nMQAlClqtoJN7XlbbwFw2Z2qVVHde89LoyvEiwRK.iXl5cAFmzM9I5c77.GYN.qne728to0qX3uWV3uqtMiCo7noA+ySWa9szQf4y.NDoRdV2BU5errTogKMU5oNRL7mGQ4wgh341XaHfctfqxB4BeYL17Ce+YppYQ4GJnQKT0ad5w3gbg9XSkIQoWK1OPjvkycMn7swPashLzUdOlg1POPvEXqzBInKcdI8HXfoONTVQuZtm4WasqgRDLB4c55pjzp0tFFO9weo4U7Kmd6v.uQDKKJAsbJYO0084bwk0d3TcObcSKjrGo5MJ3wFwf7LJe.TC0scc03.qabX.yyrVZSvFr38QpPOlCi52Qgx8Q6GA0lf30VynZ0LKQbbgvOI.TQbp90KB5MF.xKTT90Vac7nqFFYXTM+r2Cyj3aFRGekG0ZnUUKjylZEtYJImjNKQYzsL.a4OOlO5Q2TDL2auY0t7iMOKNGLtS1NLam18C4olYCKQTglJS6Ht2jNBaelKDQXtp1gYzaoXtH4wJM1UYaPHx2oHhtyxD2Wi4CMCLbiU+PEW7Awg1reDJR+EPe8rk+xu098fo6ywIUcJFsYAg9PG9HvGykoX7yvjmGMwWNU57Cu5g7UgCEblSwhyYfLhMX.DUD6K7.suThOzOWxCZeF3CzBSoZ+qseANcgFkRKtZ4Bq+07yKrd8E5Yv0LkA8+RcqxxU2t8QcuUdgV4Oreg1YhDIiOnGEuPp5kQtXa7gQN.FcNG7U7cZkTLSYqqOsM2F3toK9S7yDkVp0ZSTZMU4+KwHf5DIdkSFmo5N6GkJAO27z+gbU7upiqMstNSY.9DmW43L+VcMG2bUcbqU0wFqpiaupN1bUc7Iqpi67O6n5En6mHEAYslDRu9cRmroo0gSwa4ocDj+BcDS33A
-
@d-healey said in truncate a note (addVolumeFade) *after* the note has ended:
HiseSnippet 1186.3oc2W0raaaDDdojXPESaPSQPQOxlCAxEtNh1xJVvvHx+HmJjHaASG2dKXM4PoElbWVxkpQsn26s9vzWf9HzGk7FzNKojHUsrqpZRARzAAsyO67syry2rpejvAhiEQDMiyGGBDsOV2dLWN7vgTFmz8Hh18z6QikPjYlnCFGRiiAWhlV4moDnUsBI8yad5ATeJ2AxEQHWHXNvKXALYtz9seNy2+XpKbNKnf0MZ20QvOT3KRP7TVuNIj5bEc.bBUYVIcx2PiGRz9J8s2bKmFtOwcyM2tUSGZSnkG0yyZK2FMZtSKqsZQarSSn91Ds6zwkIEQ1RpDhIZUNP3N1dn3G3YA3BVL6RePsvhXiQNS7wBeW0QTIkb3Plua+oIpXBQSuedZqbVZ6A58XtrYxySeeZpBybOJl.0JMO7JOG7rJBu5Ef2BfjVAHUICR2W21IhEJy0nvyc06xwpoGEqSEgRlsDseW+PAZ.WtQ.8J33HbwLGp0rd80MwuVaWuDtijI3lB9IBIbJu1ZF+jQUie1v7uqxyag5TgIR36CQKTs5pQzs4XMdRvkPz5lin9IvLCwi+74T8aNmVrj6jcpKXnf2kyjmFB7a5h.YRpB+0K6dDURUEhIxP6BgHISAAsifQXaPVYop9QP7URQH1HbsZFdaQ3l3SkyeER0nMQAlClqtoJN7XlbbwFw2Z2qVVHde89LoyvEiwRK.iXl5cAFmzM9I5c77.GYN.qne728to0qX3uWV3uqtMiCo7noA+ySWa9szQf4y.NDoRdV2BU5errTogKMU5oNRL7mGQ4wgh341XaHfctfqxB4BeYL17Ce+YppYQ4GJnQKT0ad5w3gbg9XSkIQoWK1OPjvkycMn7swPashLzUdOlg1POPvEXqzBInKcdI8HXfoONTVQuZtm4WasqgRDLB4c55pjzp0tFFO9weo4U7Kmd6v.uQDKKJAsbJYO0084bwk0d3TcObcSKjrGo5MJ3wFwf7LJe.TC0scc03.qabX.yyrVZSvFr38QpPOlCi52Qgx8Q6GA0lf30VynZ0LKQbbgvOI.TQbp90KB5MF.xKTT90Vac7nqFFYXTM+r2Cyj3aFRGekG0ZnUUKjylZEtYJImjNKQYzsL.a4OOlO5Q2TDL2auY0t7iMOKNGLtS1NLam18C4olYCKQTglJS6Ht2jNBaelKDQXtp1gYzaoXtH4wJM1UYaPHx2oHhtyxD2Wi4CMCLbiU+PEW7Awg1reDJR+EPe8rk+xu098fo6ywIUcJFsYAg9PG9HvGykoX7yvjmGMwWNU57Cu5g7UgCEblSwhyYfLhMX.DUD6K7.suThOzOWxCZeF3CzBSoZ+qseANcgFkRKtZ4Bq+07yKrd8E5Yv0LkA8+RcqxxU2t8QcuUdgV4Oreg1YhDIiOnGEuPp5kQtXa7gQN.FcNG7U7cZkTLSYqqOsM2F3toK9S7yDkVp0ZSTZMU4+KwHf5DIdkSFmo5N6GkJAO27z+gbU7upiqMstNSY.9DmW43L+VcMG2bUcbqU0wFqpiaupN1bUc7Iqpi67O6n5En6mHEAYslDRu9cRmroo0gSwa4ocDj+BcDS33A
Nope, that behaves exactly the same as all the others, press a note, release that note, press another note - and you can still hear the first note playing...... we never see "fading a note" in this snippet UNLESS both notes are held at the same time (classic mono processing), but that's not what we want here....
HiseSnippet 1213.3oc2WssaaaDDcojXPESqQSQPQdj0ODHU35H56BFFw2jSERjsfoiSeKXE4PoElbWFxkpQsIu2+h9Qzef9IzOk7GzNKotPUK6pplTfDAHAsyNCmyNWNyx1QBGHNVDQzLtXPHPz9bc6AbYui5QYbRyiIZKo2hFKgHyLQGNHjFGCtDMshOQIPqbIR5m283Co9TtCLQDgbof4.OiEvjSj1d+mx78Og5BWvBxo8F62zQvOR3KRP7TTuFIj5bEsKbJUoVAcx2Si6Qz9V80753rl21quiUcq5auQcKqM2oyF0Vywcy5qu9Vq65s1Nzs1AM5NMbYRQjsjJgXhVoCEtCr6I9QdlCtjEy53CpEVDazyYhOQ36pNhJoji5w7caOJPESHZ5smD1JlE1tudKlKar7IguuLcCyIVjO.pUXZ3UbJ3YkGd0xAuY.IsbPpTFjtmtsSDKTNYGEdtqdSNlM8nXdJOTxzkn865GIPE3xUCnWAmDgKFaPkspUaES7mp65kvcjLA2TvOUHgy3UpZ7yFkMdqg4eeKOuYtmxMQBeeHZlaqJMhtMCqvSB5.QqX1m5m.iUDO9SGS0u4XZ9TtS1oNmhBdSNSdVHvuoBAxvPE9um27XpjpRDCkg5EBQRlBBZGC8w1frzRY8ig3qjhPrQ3Z4LrZQ3l3SkSWBoZzFtAFClJuoRN7XlbP9Fw2a0UyKDumdalzo2rwXgYfQLR8g.iC6F+B8FddfibB.KoexO7go0Ku6WJy82U2lwgTdzTm+0oqMeAsOX9DfCQpfm0sPk9GyKUZ3bSkdliDc+EQTdbnHdpGrMDvtPvUQgIBedL17Cu5bU1Lu7iDznYt06d7I3gbl1XSkIQokEGDHR3xoJCJdaLzVKHCcoOhYnMzCDbA1JMSB5BuofdDz0zGGJqnWM2y76r10PIB5i7NMcURpWeWCiG8nuw7JdmQUGFXEQrLuDTyQj8TW2mxEcpr7n8VdESKjrGo5MxYwpwf7bJuKTA2ayZpwAV23v.lmYkzlfUYwGfTgdLGF0ugBkGf52GpLDwUqZTF0ublxHTtT3mD.JmNRkUxi6U6BxKUr9UptBd5UyiPqwiRrvGVMLhwkUV1i5x3cMolbDRKqz3s32IwnVXDGuaQ5XtInqhRwbw1QZgdTI4zzYNJktkAcy+417gO7l7f4d6MNGWcbrgm4mCGzH6IL9Is6mxSWyFphnBUUl14rzvNGaelKDQXtp1lwzfoXNOIyBMdVoaPHxKpHrty732WiwCMCzcCT+Q4W7hyg1reBxSSFPe83k+xus+GA2BXJtqxivnMKHzGZv6C9XrLEieEF77nI9xQRmdHWKjWKrmfybxmbNGjQrtcgn7XelGnCjR7EBlH496eN3CzbSydyut+yvoPznT5yEKVX8ulGel4qGnmAWyTl1+K4sRyWd61GI9d4lbE+z9lbmKRj3LiVTrfT0Kibw13Enb.z6bN3q36zJnXlxVWaTatMvcSW7m3mgaZoVqMbSqQa9+hOBnNQhW5jwYppY+rTI34lm9lzkwWoGWaZcclx.7pPuzwY5G00LbsE0v0WTC2XQMbyE0vsVTC2dQMbm+YCU2T8fDoHHq0jPZ0tQ5jMMsFbJVkm1QP9K.SRR6yB
-
@Lindon I get it, yeah that's tricky. I shall play around with it.
-
@Lindon Think I found a solution. The problem with noteOffByEventId is it's tied to the event and makes it inactive.
So instead I'm using
Synth.addNoteOff
which is not tied to a specific event.HiseSnippet 1211.3oc2W0raaaDDdojYPESqQSQPPOxlSREJNh1xJ1HnHx+HmJDKaASG2dKXM4PoElbWFxkpQsn26s9vzWf9HzGkf9BzNKonDUrrqqPcAb3AAsyrCmuYlc9lk8iDNPbrHhnYb53Pfn8o51i4xg6Mjx3jt6SzVUuGMVBQlYh1cbHMNFbIZZkeoRfVkUHoOu+E6R8obGXlHB4LAyANjEvjyj1u8qX99GPcgSYAE1cy1ccD78D9hDDOk0aPBoNWPG.GQUaqjN4aowCIZes9lqugSS2m4t95atcKGZKXaOpmm0FtMa1Zqss1XaZysZAM1jncuNtLoHxVRkPLQakcEtisGJ9AdlCNiEyN2GTKrH1nmyDefv2UEhJoj8Fx7c6mmnhIDM89yRakyRaOTuGykMU9rz2mmpvblEESfZklGdkmCdVEgWiBvaAPRq.jVICROP21IhEJmoQgm6q2kiUSOJVmJBkr8Rz9c88D3F3x0BnW.GDgKlZP0VMZT2D+o1y8R3NRlfaJ3GIjvw7p0L9IiJF+rg4Gpxyag5TtIR36CQKTs5nQz0YXUdRv4PTcyQT+DX5Fwve9bp9UmSKVxcxh5BaTv6xYxiCA9UcPfLIUg+60c2mJopBwDY39BgHISAAs8gQXaPVYoh99P7ERQH1HboZFdZQ3l3SkyeDR0nMQAlClqtoJN7XlbbwFw+yNWcSg3Cz6yjNCWLFKs.LhYpaCLNoa7yz634ANxY.bE8C99amVuhte0L2eecaFGR4QSc9iRWa9czQf4KANDoRdVWCU5ebSoRCuwToG6HQ2eZDkGGJhm6EaCArSEbUVXlvWGiM+vaOQUMKJeOAMZgpd+KN.CxEZiMUlDkdrXm.QBWN2wfxWGCs0RxPuxcXFZC8.AWfsRKjftzeVROBFX5iCkUzqlei4SrdtAVsiklvHj4oqKJqCe.VMVyIBPbqhuCYwRjN03oO8qLufed9QlIFVPBZb9D.pq6q3hyq93bcOttoENA.4+MJXwZwf7DJe.TE0sYC0LBqqbBguvg5axQuzCCYb39ZCfz.4nT57p3q1nByyrZZ6yZr3cPRTOlCi52QEc6fuzQP0IQpx3yT7+UyyG0pUynRkLiQ7elvOI.TH8ZLodw3eldT9SrTC6PDkabbtRd8oAfZP4LTVsFZPkBkmqLNulYk2VYI9GjdxcZAufMFbN3qh97fndQTnxQwRZPXZf9Q7L8rQ4HpvsJS6WWcR+psOyEhHLWUy5Tx2TLWjZaotTfZuAgHarhl7d2D+9NLenYftar5OJ+hWWOzl8iPQx4.56lt7W9s12At6wbLlUxwnMKHzG5vGA9XtLEieAl77nI9xboyOZsGxlFNTvYNEKNm.xH1fAPTQruv.ZGoD+LjYRdX6S.efVXFZ6es8gHaKMJkzd4xEV+qmdrv50WpmAWyTp76t2Yr7G22Y7DQhjwGzihGBU8uHstMdUMGXB6qhiSqjhMJaci7Vaaf6lt3uvmIJsTq0lnzJW4+K9Hf5DIdiSFOo5b5mjJAiad52rWQumZso0kYGCvKk7FGm4eUWxv0WVC2XYMr4xZ3lKqgsVVCe1xZ3V+yFpty3NIRQPVqIgzqemzoYZZc3T7TdZGA4uMZBWPD
-
@d-healey yeah that works, but sadly it seems to add a distinct click to the start of every subsequent note...
-
@Lindon What's the fade time set to?
-
@d-healey yeah I just worked that out if fade time = 0 then click, else no click...
so well done - good work.
-
@d-healey ok so (sorry to be a pain here..) this is all nice but....
its using Artificial events, and now I want to add "legato" so:
step 1:play note 1 (and hold) = plays
step 2: play note 2 (and hold) = plays note that slides from note 1 to note 2
step 3:release note 2 = plays a slide from note 2 back to note 1...So pretty standard stuff, and my way (and I think yours is similar) is in the note off at step 3 create a new note and slide it from 2 to 1....
BUT: if we are using Artificial notes for our mono system - then I have no way of turning the new note generated at step 3 into an artificial version of itself...so our new note isnt joining our mono processing club...
So my question is: in the mono code what value is Synth.isArtificialEventActive() adding?
Why are we making it artificial at all? wont it work if we leave it alone? Just trying to understand the script... -
@Lindon said in truncate a note (addVolumeFade) *after* the note has ended:
now I want to add "legato"
You're one of those moving the goal post feature creep clients, I see how it is
@Lindon said in truncate a note (addVolumeFade) *after* the note has ended:
Why are we making it artificial at all?
We can't turn off real events so we have to make them artificial.
I think what you're wanting can be done because I'm doing a similar thing in my legato script, but it's probably a little fiddly.
-
@d-healey said in truncate a note (addVolumeFade) *after* the note has ended:
@Lindon said in truncate a note (addVolumeFade) *after* the note has ended:
now I want to add "legato"
You're one of those moving the goal post feature creep clients, I see how it is
damnit! I am!!! Let me take myself outside and shoot myself....
-
Actually thinking a bit more about this.....
if we are doing legato/glide - then this whole "stop the release sounding" thing might be a bit pointless - as we are sliding some new note into teh equation anyway...
-
@Lindon Yes I think you're right
-
@d-healey actually its simpler than even that I think.....
..separate out mono behaviour from glide/legato behaviour.... so two scripts: mono followed by mono glide...
-
@Lindon Let me know if it works, since we're not calling ignoreEvent I think you should be good.