I thought it was a good solution to reset the AuxSend target when it was moved or copied.
However, in practice (once I had the time to use it a lot) it is annoying.
I'm trying to solve that annoyance.
My approach then was:
If manually resetting the AuxSend from its form fixed the errors, maybe resetting them as an automatic routine from the code would work.
I've done it and it works. I've tested it with the case:
https://www.rncbc.org/drupal/comment/10888#comment-10888
This is what I finally did.
For "Copy":
qtractorPlugin.cpp | line 2186
if (pAudioAuxSendPlugin) { //g Reset pAudioAuxSendPlugin->setAudioBusName(QString()); pAudioAuxSendPlugin->freezeConfigs(); //g Restart pNewPlugin->setConfigs(pPlugin->configs()); pNewPlugin->setConfigTypes(pPlugin->configTypes()); }
For "Move":
qtractorPluginCommand.cpp | line 421
//g Reset pAudioAuxSendPlugin->setAudioBusName(QString()); //g Restart pAudioAuxSendPlugin->setAudioBusName(m_sAuxSendBusName);
Interestingly, Qtractor is able to detect if AuxSend is moved or copied to its destination, and it resets it successfully. I don't know what part of the code does that.
But I didn't realize that it also needs to be able to detect loops, as happens in qtractorPluginForm.cpp, and reset it in those cases as well.
I'm stuck there and I'm unable to continue.
In principle, if we manage to detect loops, everything should work without errors and the behavior would be more appropriate and consistent with the rest of the plugins.
The behavior would be:
1 Reset to ensure there is no conflict
2 Check for loops
2 If there are no loops Restart
Copyright (C) 2006-2024 rncbc aka Rui Nuno Capela. All rights reserved.
Powered by Drupal
Recent comments
2 days 10 hours ago
2 days 20 hours ago
2 days 22 hours ago
3 days 7 min ago
3 days 1 hour ago
3 days 2 hours ago
4 days 6 hours ago
4 days 9 hours ago
5 days 4 hours ago
5 days 6 hours ago