Macros discussion page
|This page is intended for gathering together issues and discussions regarding the transition to Macros from Chains for 2.3.0
- 1 James' Notes
- 2 Bugs
- 2.1 Bug 1856 Applying Macros to Files is no longer a batch process
- 2.2 Bug 1859 Macros on files - Save Project causes overwrites. thus loses data
- 2.3 Bug (untracked) - Save Project2
- 2.4 Bug (untracked) - Nested "cleaned" folders
- 2.5 Bug 1854 - Un-warned export file overwrite danger in 2.2.2 Chains
- 2.6 Bug (untracked) - Mac: typing a command name does not cause the command-list scroller to display the command
- 2.7 Bug list
- 3 Regression testing Macros versus Chains
- 4 Macros processing files should ignore setting for warning on importing uncompressed files
- 5 Macros processing files should ignore setting for metadata editor
- 6 Wording - "Cleaned" versus "cleaned" folder name
- 7 Renaming macros
- 8 Should a macro be able to call itself, and what does it mean if it does?
- 9 Buttons to apply to project and files
- 10 Set Track Audio command
- 11 Wider progress dialog when Macro processing files
- Make Macros on Files a proper batch process - see P1 Bug #1856
- Create / Add some more built in Macros in time for the May 12th Preview version.
- Implement Import and Export (can be after the Preview)
- (Paul?) Drag-and-drop too, for Import.
- Edit button to work for commands with no parameters, so we can see their script id and type.
- (Aspirational) Find-command entry box in Select Command dialog.
- Custom names for etc.
- Persistent settings for export-as
- Fix 'second invocation' bug.
- Nicer sliders in SetTrack (finer gradations for Pan, Log scale for Gain)
- Bill 24Mar2018: I still think this can be better. Can we make these similar to the dialogs that appear when you double-click the gain and pan sliders in the track panel?
- Fix flags so that SplitAtLabels available even if not available at start of macro.
- Label select checkbox to select the time interval as well as selecting the label itself.
- More flexibility on export formats.
- Export as M4A(AAC) and AIFF
- More flexibility on export file names
- Prompt for output directory
- Prefix and suffix control for file names.
- Avoid file overwrite on apply-to-project or apply-to-files.
- OPTION: Prompt with OK/NO
- OPTION: Automatically include a number.
- Ability to Stop/Cancel Macro early.
- Better Undo (possibly current behaviour should be a bugzilla bug)
- Warn if no export step in an export-files chain. (Or, presumably, a Save Project)
- Message to gain a pause option, so can be used as breakpoint.
- The 'real' work here is making messages appear during processing, not at the end, as they are buffered up for display.
- In 'Select Command' change 'OK' to 'Insert' and 'Cancel' to 'Close' so that we can keep inserting more commands without closing the dialog.
Bug 1856 Applying Macros to Files is no longer a batch process
- P1 Bug #1856
When applying Macros to Files the process is no longer a proper batch-process. Instead the user is presented with a series of dialog interrupts requiring user action
Bug 1859 Macros on files - Save Project causes overwrites. thus loses data
- P1 Bug #1859
Using "Save Project" in a Macro when applied to files causes overwriting of the projects as it progresses with the final result is that there is just one project and that is the last file processed.
Bug (untracked) - Save Project2
Macro Command "Save Project2" fails with "Directory Not Found" for any file name or path+filename. Totally unusable. In the case the that project is an existing project it should save the newly named file to that directory. If it is a newly recorded file then save to the default directory unless a path is given before the file name.
Bug (untracked) - Nested "cleaned" folders
Not only do we get the regression of interrupting the automated process with requests for user input - we also get the bug of the nested "cleaned" folders. This bug is not yet logged on Bugzilla pending discussions on desired behaviors.
Bug 1854 - Un-warned export file overwrite danger in 2.2.2 Chains
- P3 Bug #1854
Apply Chain can silently overwrite an existing file of the same name in the "cleaned" folder - and this is done with no warning to the user (as one would normally expect with potential file over-writes.
The current behavior of 2.3.0 alpha Macros side-steps this issue with its user interrupts for file locations - and goes on to issue an overwrite warning if the user does not change the filename - but the overwrite is allowable of course. The current 2.3.0 is probably a regression (discussed elsewhere) - hence this bug stands.
Bug (untracked) - Mac: typing a command name does not cause the command-list scroller to display the command
Bill: In the “Select Command” dialog (which is invoked by the “Insert” button in the Manage Macros dialog), it is possible to type some characters and have a command show up in the “Command” text display box. It would be nice if the scroller would update to show that command in the list.
For example, if I’m looking for the “Mix and Render” command, I could type “m”, and the scroller would update to show the “MP3 Conversion” command, highlighted, in the (middle of?) the dialog. I could then see the “Mix and Render” command and click on it, or see to arrow down to it, or repeatedly type “m” to move to the next command starting with “m” (same as arrow down, except “m” goes back to “MP3 Conversion” after reaching “Move to Previous Label”).
Currently, typing “m” followed by down-arrow (or up-arrow) updates the scroller, but typing “m” twice does not.
|ID||P||Status||Summary (20 tasks) ⇒||ID|
|1859||P1||NEW||Macros on files - Save Project causes overwrites. thus loses data||1859|
|1856||P1||NEW||Applying Macros to Files is no longer a batch process||1856|
|1861||P2||RESOLVED||SplitLabels command fails in Macros||1861|
|548||P3||NEW||Enh: Add export format options and export sample rate to Chain parameters||548|
|1854||P3||NEW||Un-warned export file overwrite danger in 2.2.2 Chains||1854|
|1709||P3||NEW||Identically-named effects cannot be differentiated in the Select Command dialog in chain editing||1709|
|549||P3||NEW||Enh: Add missing export formats to Chains||549|
|876||P3||REOPENED||Windows: Chains: LV2 effects only save default parameters.||876|
|901||P3||REOPENED||Enh: Chains: Noise Reduction and Noise Removal do not store parameters in a Chain.||901|
|1855||P3||RESOLVED||Accelerators not removed from names in translation||1855|
|878||P3||RESOLVED||Built in Generators don't work correctly in Chains||878|
|1807||P4||NEW||Nyquist Prompt listed, but not fully supported by Chains||1807|
|1742||P4||NEW||Built-in chain name "MP3 Conversion" does not translate||1742|
|1237||P4||NEW||Chains: Inconsistent per-platform behaviour cancelling in-progress Chain applied to project.||1237|
|294||P4||REOPENED||Mac/Linux: Keyboard focus not restored to its previous place after opening a dialog||294|
|1745||P4||RESOLVED||Names of commands in Chains do not translate, and the English uses ugly CamelCase||1745|
|1238||P4||RESOLVED||Chains: Non-interactive "Apply Chain" window obscured.||1238|
|1793||P4||RESOLVED||Automatic zoom to fit of imported audio does not work in Chains||1793|
|526||P4||RESOLVED||Windows: Chains: Select Command sets width of all columns by width of longest command||526|
|628||P5||NEW||Chains: Apply Chain/progress bars dialogues are modal, so cannot minimise Audacity||628|
Regression testing Macros versus Chains
As outlined in recent email on Quality - germane points to be summarized here.
Macros and Chains behave differently on Export
We need to decide what is desired-behavior on Export from Macros.
This has been discussed on email by QA. Consensus here seems to be:
Applying Macros to project
Here the consensus appears to be that it is OK to halt the run of the Macro to prompt for user input, for say output folder location.
- Bill 23Mar2018: For apply to project it doesn't matter if a file-save dialog appears before or during the macro, and similarly for metadata and overwrite warnings. I believe that other dialogs default to the user Documents folder, so to be consistent I'd do that with macros as well, but also remember the user's previous choice.
- Steve and Peter agree
Applying Macros to files
Consensus here is that this should be an automated process with no need for further user input for things like file/folder locations. Basically pure "Batch Processing"
- Bill 23Mar2018: I'm proposing a dialog the appears before the macro is run that allows the user to specify the output folder (and optionally suffix / prefix for output file name). This would not "interrupt" the macro when running. I was thinking of the apply to files case only.
- Steve and Peter agree
- The users clicks Apply Macro to Files
- A “Save processed files to” dialog pops up - this could offer a default save location, such as Documents/Audacity/Macro Output. Or it could default to the previously-used output location (as the Export Multiple dialog does)
- The user fills out the dialog and clicks “OK”
- The macro now runs without further user “interruption”, saving/exporting the processed files to the user’s desired location.
- Bill wrote: Macros should ignore this setting. One is simply opening/importing the uncompressed file in order to process it then export it, then close the project (without saving changes) and move on to the next.
|Peter 24Mar17: I have created a P1 bug (severe regression) for this based on our discussions and the consensus achieved: Bug #1856|
Macros processing files should ignore setting for warning on importing uncompressed files
Since Applying Macros on files is intended to be a batch process without user interrupts (except maybe notifications of file overwrites) - this should ignore whatever setting the user has in Warnings prefs and not pop the warning message and just process the file(s).
As Bill wrote for the note above: "One is simply opening/importing the uncompressed file in order to process it then export it, then close the project (without saving changes) and move on to the next."
Macros processing files should ignore setting for metadata editor
Since Applying Macros on files is intended to be a batch process without user interrupts (except maybe notifications of file overwrites) - this should ignore whatever setting the user has in "Show Metadata Tags editor before export" in Import/Export preferences - and just process the file(s).
Wording - "Cleaned" versus "cleaned" folder name
Peter (and Connie) would prefer the "cleaned" folder to be capitalized - QA consensus would prefer it be renamed to "Macro Output" or "Macros Output" - as that gives a clearer intention of purpose.
Bill would prefer the user to be prompted for the export folder. See above Parameter setting for "Export as ..." in Macros
See P1 Bug #1856
Bill: Given that a macro can be called from another macro, is it not dangerous to allow macros to be renamed?
- James (talk) No, not dangerous.
- Bill 23Mar2018: Thanks, James. Yes, not "dangerous" but the "calling" macro will show an error when run, will it not?
- Currently no error is reported and the macro continues, just skipping that step. One can argue that macros/chains should report more errors than they currently do, and that they should stop on errors like this one. Whether we do or not though, renaming the macro is OK.
Should a macro be able to call itself, and what does it mean if it does?
Bill: It is possible to insert a step that is the macro you are editing. For example, edit the supplied “Fade Ends” macro by inserting the “Fade Ends” command at the end of the macro. It seems the macro prevents this infinite loop (it does “Fade Ends” twice), but perhaps insertion of the step should be disallowed.
- James (talk) Yes, it is intended that a macro can call itself. If we barred it, we would also have to bar MacroA calls MacroB calls MacroA. Also MacroA calls NyquistB calls MacroA. It is both easy and clear to have a recursion limit instead.
- Bill 23Mar2018: Thanks for the clarification. Yes, the recursion limit makes sense. I'll remember to document this.
Buttons to apply to project and files
David: The labels on the buttons are Project and Files... . Screen readers only read the button label, and so don't read the "Apply Macro to" text. Without changing some wxWidgets code, the accessibility name of a button can't be changed to be different from its label. I suggest that the button labels are changed to "Apply to project", and "Apply to Files...", and the static text is removed. I also think this is more readable for sighted users.
- James (talk) Is this Bug 577 biting us again? If the static text can't be read, I would advocate patching wxWidgets to improve the button accessibility and try to get that pushed upstream. I'm not keen on long button text.
- David. No. By default, the accessibility name of a button is just the label on the button. The problem is that even if for each button SetAccessible() is called to set a WindowAccessible, and then SetName is called to set the desired accessibility name, NVDA currently will still read the label. Robert is trying to get NVDA to fix this.
Set Track Audio command
Bill 23Mar2018: The pan and gain sliders in this dialog are strange.
- First, the number in the middle of the slider scale (pan and gain) is not part of the scale, but the slider setting. Could we have a slider and a text box?
- Two, the pan slider allows only full-left, centre, and full-right. Should it not mimic the track pan slider that allows 10-percent increments left and right?
- Three, the gain slider is linear from 0 to 10. Should it not mimic the track gain slider that allows -36dB to +36dB?
Wider progress dialog when Macro processing files
In testing Macros on files I find myself agreeing with a long-standing feature request in the Wiki:
> "Wider Apply Chain dialog so you can see file names with long paths"
- This is the white/gray progress box at the top (which now is titled either "Manage macros" or "Macros Palette" depending on whether using the maxi or mini dialogs).
- Yes it does have a horizontal scroll bar - but it is non-interactive fo much of the time while the Macro is running.