AAX - ProTools - really ProTools? Really?
-
so (for our edge case..)sort of:
Almost... you want it to be synchronous because asynchronous calls might be skipped if no interface is present.
const var th = Engine.createTransportHandler(); th.setOnTransportChange(true, function() { if (!this.playing) Engine.allNotesOff(); });
-
@Christoph-Hart and those super useful other event types? (Crosses fingers here...)
-
If the basic system is there, adding those is trivial. I'll try to cover all information that is contained in the AudioPlayhead.
-
-
....
-
@Christoph-Hart Hey Christoph, would that solve the hanging notes issue for me too?
-
Actually I'm thinking about adding a allNotes off message automatically when the transport playback state changes from true to false so this might solve some hanging note issues indeed (the notes will still hang until you stop the playback) - it's a rather intrusive change for all projects, but I can't think of a scenario where this backfires.
You can check this functionality with this code:
const var th = Engine.createTransportHandler(); inline function onStop(isPlaying) { if(!isPlaying) Engine.allNotesOff(); }; th.setOnTransportChange(true, onStop);
If it works (and Lindon's initial problem with protools is fixed with this code), I'll add it to the default handling inside HISE...
-
it's a rather intrusive change for all projects, but I can't think of a scenario where this backfires
Might be a good idea to add a pre-processor definition to disable it in some weird edge case.
-
@Christoph-Hart said in AAX - ProTools - really ProTools? Really?:
If it works (and Lindon's initial problem with protools is fixed with this code), I'll add it to the default handling inside HISE...
OK so I built using the latest HISE - included the the code for handling All Notes Off on playhead stop, and the customer reports a big improvement in AAX/ProTools, its still not apparently perfect - moving from showing up around 50% of the time down to 5-10% of the time. Which I think is still a "ProTools behaving badly" problem..not sure how we can fix it any further....
-
@Christoph-Hart I just wanted to ask if this is now a part of the HISE build or if I still should call...?
const var th = Engine.createTransportHandler(); inline function onStop(isPlaying) { if(!isPlaying) Engine.allNotesOff(); }; th.setOnTransportChange(true, onStop);