You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Next, enable arm and input monitoring for that track.
Then, remove the destination using inputDevice->removeTarget.
Observe that input monitoring remains active.
The issue arises when the last destination is removed from an InputDeviceInstance, as createLiveInputsNode is not triggered. Upon investigation, we traced the problem to InputDeviceInstance::updateRecordingStatus(). This function iterates through all destinations and invokes edit.restartPlayback(); when destinations have changed. However, if the destinations list becomes empty, even when destinationsChanged is true, this code does not execute because it is inside the for loop. We suggest that edit.restartPlayback(); should potentially be moved outside of the for loop.
What is the expected behaviour?
When a track is removed from an input device, input monitoring (live playback) should be disabled. This should also happen when the removal of the track results in the destination list becoming empty.
Unit test to reproduce the error?
Operating systems
macOS
What versions of the operating systems?
macOS 15.0.1
Architectures
ARM
Stacktrace
No response
Plug-in formats (if applicable)
No response
Plug-in host applications (DAWs) (if applicable)
No response
Testing on the develop branch
The bug is present on the develop branch
Code of Conduct
I agree to follow the Code of Conduct
The text was updated successfully, but these errors were encountered:
Detailed steps on how to reproduce the bug
inputDevice->removeTarget
.The issue arises when the last destination is removed from an InputDeviceInstance, as createLiveInputsNode is not triggered. Upon investigation, we traced the problem to
InputDeviceInstance::updateRecordingStatus()
. This function iterates through all destinations and invokesedit.restartPlayback();
when destinations have changed. However, if the destinations list becomes empty, even when destinationsChanged is true, this code does not execute because it is inside the for loop. We suggest thatedit.restartPlayback();
should potentially be moved outside of the for loop.What is the expected behaviour?
When a track is removed from an input device, input monitoring (live playback) should be disabled. This should also happen when the removal of the track results in the destination list becoming empty.
Unit test to reproduce the error?
Operating systems
macOS
What versions of the operating systems?
macOS 15.0.1
Architectures
ARM
Stacktrace
No response
Plug-in formats (if applicable)
No response
Plug-in host applications (DAWs) (if applicable)
No response
Testing on the
develop
branchThe bug is present on the
develop
branchCode of Conduct
The text was updated successfully, but these errors were encountered: