ClickButtonAction requires UIElement (input Monitoring: Line 9)
ClickButtonAction requires UIElement (input Monitoring: Line 9)
System Information
SoundFlow 5.10.1
OS: darwin 21.6.0
ProductName: macOS
ProductVersion: 12.6
BuildVersion: 21G115
Steps to Reproduce
function toggleInput(trackName) {
var track = sf.ui.proTools.trackGetByName({
name: trackName,
makeVisible: true,
}).track;
var inputBtn = track.buttons.whoseTitle.is('TrackInput Monitor').first;
inputBtn.elementClick();
}
function toggleInputContaining(partialTrackName) {
var matchingTrackNames = sf.ui.proTools.trackNames.filter(n => n.toLowerCase().indexOf(partialTrackName.toLowerCase()) >= 0);
matchingTrackNames.map(toggleInput);
}
toggleInputContaining('print');
Expected Result
Toggle input monitoring
Actual Result
ClickButtonAction requires UIElement (input Monitoring: Line 9)
Workaround
Other Notes
Links
User UID: tu4hlOCPv5eDTa2SbK2UFIGjsrq1
Feedback Key: sffeedback:tu4hlOCPv5eDTa2SbK2UFIGjsrq1:-OHgJWhly-he6LBjJ_jQ
Feedback ZIP: 9RkkMfPYUQrazNPF5K9BAI0ZE4iyoMsjbevkyA7xWxePIeEiMCzOxD6UXjwzTYnWHzhF3YgCwH4Bkj1Qi8aTfHj0u/pLh7Vkyl04GvZRtGHhc0RN6KStaStYXECAm/C3cG6gWT8jmyeiih7HxTKmweIsn+2N69iV2iG9UJtmFK7szTat1XuyGkOVgwdpGCfNDG/rvcvWHRf1qjtiYaHbnGZ71LKopLTisKcQD0jgkOoaj5hKGNRiaDbi1Unfa6amAdh4zAaYDFtmoP3sAg6ICkOopmzGw5qwu9OXXF1f8y41bDc1vkj4LhqO7/Zk6tSxKb3gm6dZcdWrJ4gnEHv0jQ==
- Raphael Sepulveda @raphaelsepulveda2025-01-28 17:07:05.326Z2025-01-28 17:15:57.072Z
Hey @Tom_Mochiach, the name of the input monitoring button has changed in recent versions of Pro Tools.
If you change this line:var inputBtn = track.buttons.whoseTitle.is('TrackInput Monitor').first;
to this:
var inputBtn = track.buttons.whoseTitle.startsWith("Input monitoring ").first;
Should allow the script to interact with the button correctly.
- TTom Mochiach @Tom_Mochiach
could you be so kind to allow me the full script to toggle last track's input monitoring?
- TIn reply toTom_Mochiach⬆:Tom Mochiach @Tom_Mochiach
GOT IT
TNXfunction toggleInput(trackName) {
var track = sf.ui.proTools.invalidate().trackGetByName({
name: trackName,
makeVisible: true,
}).track;var inputBtn = track.buttons.whoseTitle.startsWith("Input monitoring ").first; inputBtn.elementClick();
}
function toggleInputOfLastTrack() {
var lastTrackName = sf.ui.proTools.trackNames.slice(-1)[0];
toggleInput(lastTrackName);
}toggleInputOfLastTrack();
Kitch Membery @Kitch2025-01-28 22:19:22.326Z
Hi @Tom_Mochiach,
For future reference, here's how to quote code in the forums: