You are here

Add new comment

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

File attachments: