Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: Removing last destination from input device does not reset input monitoring #238

Open
1 task done
JelleBakker opened this issue Nov 25, 2024 · 0 comments
Open
1 task done

Comments

@JelleBakker
Copy link

JelleBakker commented Nov 25, 2024

Detailed steps on how to reproduce the bug

  • Begin by assigning an input device to a track.
  • 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant