Ideas for new features

This read-only archive contains discussions from the Adding Feature forum.
New feature request may be posted to the Adding Feature forum.
Technical support is available via the Help forum.
Locked
vpd
Posts: 103
Joined: Tue Feb 26, 2013 4:28 pm
Operating System: Linux Debian

Ideas for new features

Post by vpd » Fri Dec 12, 2014 1:04 pm

1. Restore last selection/region.
It will be great if Audacity remembers the last selection/region, so it can be restored if user accidentally clicks and it disappears.

2. In "Transport" menu "Loop Play" to be changed to "Loop Play/Stop" (similar to "Play/Stop").
I offer this because it will be easier to set it up as keyboard shortcut.

3. Adding "Edit > Clip boundaries > Align together" option.
Very useful when user extracts clips from different places of an audio track to another track and needs to align them together so then can easily re-arrange them.

4. Option to save in "View > History" that can be used later as batch script and/or chain.

steve
Site Admin
Posts: 81609
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu

Re: Ideas for new features

Post by steve » Fri Dec 12, 2014 2:10 pm

vpd wrote:1. Restore last selection/region.
It will be great if Audacity remembers the last selection/region, so it can be restored if user accidentally clicks and it disappears.
I like the idea, but I don't see a clear way to implement it.
What should happen if, for example, I select from "1 to 2 seconds", then extend the selection to "1 to 3 seconds", then extend the start to zero, then "restore last selection"?
Does it restore to "1 to 2 seconds" or "1 to 3 seconds"?
What if I extend the selection using "shift + left/right cursor" or shrink the region with "Ctrl+Shift+Left/Right cursor"? That would create hundreds of intermediate states as the selection boundary extends or contracts a pixel at a time.
In other words, what would tell Audacity to save a selection as a restorable selection? Currently that can be done manually with "Edit > Region Save" / "Edit >Region Restore", but I don't see how that could be done automatically.

vpd wrote:2. In "Transport" menu "Loop Play" to be changed to "Loop Play/Stop" (similar to "Play/Stop").
I offer this because it will be easier to set it up as keyboard shortcut.
You can use spacebar to stop loop play.

vpd wrote:3. Adding "Edit > Clip boundaries > Align together" option.
See "Tracks > Align Tracks > Align Together"

vpd wrote:4. Option to save in "View > History" that can be used later as batch script and/or chain.
Again, I like the idea, but I don't see a practical way to implement it.
What happens if the History includes actions that cannot be used in a Chain?
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)

Gale Andrews
Quality Assurance
Posts: 41761
Joined: Fri Jul 27, 2007 12:02 am
Operating System: Windows 10

Re: Ideas for new features

Post by Gale Andrews » Fri Dec 12, 2014 5:49 pm

steve wrote:
vpd wrote:1. Restore last selection/region.
It will be great if Audacity remembers the last selection/region, so it can be restored if user accidentally clicks and it disappears.
I like the idea, but I don't see a clear way to implement it.
What should happen if, for example, I select from "1 to 2 seconds", then extend the selection to "1 to 3 seconds", then extend the start to zero, then "restore last selection"?
Does it restore to "1 to 2 seconds" or "1 to 3 seconds"?
1 to 3 seconds, if it's simple-minded.

Losing the selection can be quite a big deal.
steve wrote:What if I extend the selection using "shift + left/right cursor" or shrink the region with "Ctrl+Shift+Left/Right cursor"? That would create hundreds of intermediate states as the selection boundary extends or contracts a pixel at a time.
In other words, what would tell Audacity to save a selection as a restorable selection? Currently that can be done manually with "Edit > Region Save" / "Edit >Region Restore", but I don't see how that could be done automatically.
Could Audacity not save the selection on KeyUp, just as presumably it would on MouseUp? KeyUp if possible would IMO be a better solution to saving the selection in the AUTOSAVE recovery file than not autosaving the selection at all.
steve wrote:
vpd wrote:3. Adding "Edit > Clip boundaries > Align together" option.
See "Tracks > Align Tracks > Align Together"
Did you mean align clip boundaries together that are in the middle of a track?


Gale
________________________________________FOR INSTANT HELP: (Click on Link below)
* * * * * Tips * * * * * Tutorials * * * * * Quick Start Guide * * * * * Audacity Manual

steve
Site Admin
Posts: 81609
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu

Re: Ideas for new features

Post by steve » Fri Dec 12, 2014 6:45 pm

Gale Andrews wrote:Could Audacity not save the selection on KeyUp, just as presumably it would on MouseUp? KeyUp if possible would IMO be a better solution to saving the selection in the AUTOSAVE recovery file than not autosaving the selection at all.
I'm not saying that it would be impossible, but I think it would be extremely complex to even cover "most" eventualities, especially now that we will also have spectral selection and the possibility of scrub playback changing the selection.

It is not the case to say that the selection is not saved at all. The current Undo history saves the selection tied to the track state at the time that the track state is pushed to the Undo history stack. What it doesn't do is to save the selection independently of the track state, which is what I think would be required in order to implement this feature fully, but then we essentially have two "undo stacks", which raises many difficult questions about keeping the stacks synchronised.
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)

Gale Andrews
Quality Assurance
Posts: 41761
Joined: Fri Jul 27, 2007 12:02 am
Operating System: Windows 10

Re: Ideas for new features

Post by Gale Andrews » Sat Dec 13, 2014 4:25 pm

steve wrote:
Gale Andrews wrote:Could Audacity not save the selection on KeyUp, just as presumably it would on MouseUp? KeyUp if possible would IMO be a better solution to saving the selection in the AUTOSAVE recovery file than not autosaving the selection at all.
I'm not saying that it would be impossible, but I think it would be extremely complex to even cover "most" eventualities, especially now that we will also have spectral selection and the possibility of scrub playback changing the selection.

It is not the case to say that the selection is not saved at all. The current Undo history saves the selection tied to the track state at the time that the track state is pushed to the Undo history stack. What it doesn't do is to save the selection independently of the track state, which is what I think would be required in order to implement this feature fully, but then we essentially have two "undo stacks", which raises many difficult questions about keeping the stacks synchronised.
It should be completely independent of the Undo Stack so I don't see much of a problem there given we already capture one independent selection/cursor position with "Region Save".

The problem is more in "when to capture". AutoSave (independent of the Undo Stack) could make these "when to capture" decisions. But we now don't let it capture selection changes because it captured every intermediate change when selecting with the keyboard, which made that too slow. I don't think it would be conceptually difficult to have for example a button that set "sel0" and "sel1" back to the last state of Sel0 and Sel1 captured by AutoSave.

It isn't always good to push the selection to the Undo History IMO. Actions pushed to history that cannot change the selection should not capture the selection IMO. If you change the Gain, change the selection, then undo Gain, it is rarely helpful to change the selection back to where it was. That does not happen for Mute/Solo, so why do it with Gain/Pan?


Gale
________________________________________FOR INSTANT HELP: (Click on Link below)
* * * * * Tips * * * * * Tutorials * * * * * Quick Start Guide * * * * * Audacity Manual

vpd
Posts: 103
Joined: Tue Feb 26, 2013 4:28 pm
Operating System: Linux Debian

Re: Ideas for new features

Post by vpd » Sat Dec 13, 2014 5:08 pm

steve wrote:
vpd wrote:1. Restore last selection/region.
It will be great if Audacity remembers the last selection/region, so it can be restored if user accidentally clicks and it disappears.
I like the idea, but I don't see a clear way to implement it.
What should happen if, for example, I select from "1 to 2 seconds", then extend the selection to "1 to 3 seconds", then extend the start to zero, then "restore last selection"?
Does it restore to "1 to 2 seconds" or "1 to 3 seconds"?
What if I extend the selection using "shift + left/right cursor" or shrink the region with "Ctrl+Shift+Left/Right cursor"? That would create hundreds of intermediate states as the selection boundary extends or contracts a pixel at a time.
In other words, what would tell Audacity to save a selection as a restorable selection? Currently that can be done manually with "Edit > Region Save" / "Edit >Region Restore", but I don't see how that could be done automatically.
Is it possible to make Audacity remember the selection only once, say, 10 ms after it has been set with the mouse or keyboard? Good old Sound Forge had an option like this called "toggle selection". If you select some audio and accidentally click somewhere and lose it, you can restore it with that option.
steve wrote:
vpd wrote:2. In "Transport" menu "Loop Play" to be changed to "Loop Play/Stop" (similar to "Play/Stop").
I offer this because it will be easier to set it up as keyboard shortcut.
You can use spacebar to stop loop play.
But if I set spacebar as "Loop Play" shortcut, I'm not able to stop the loop play anymore using spacebar. I need to hit the stop button from transport toolbar (or to set another key as "Play/Stop" shortcut to stop with it).
steve wrote:
vpd wrote:3. Adding "Edit > Clip boundaries > Align together" option.
See "Tracks > Align Tracks > Align Together"
This aligns all tracks together, not the clip boundaries.
Gale Andrews wrote:Did you mean align clip boundaries together that are in the middle of a track?
Yes!
steve wrote:
vpd wrote:4. Option to save in "View > History" that can be used later as batch script and/or chain.
Again, I like the idea, but I don't see a practical way to implement it.
What happens if the History includes actions that cannot be used in a Chain?
Yeah, I agree it's hard to implement it. I just saw that chain actions are limited to effects only, but history remembers what user did in every track of the music project (selection, current track, copy, paste, etc...). It will be great to have an option for some command scripts beyond just the effects that chain option offers.

steve
Site Admin
Posts: 81609
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu

Re: Ideas for new features

Post by steve » Sat Dec 13, 2014 6:14 pm

Gale Andrews wrote:It should be completely independent of the Undo Stack so I don't see much of a problem there given we already capture one independent selection/cursor position with "Region Save".
"Region Save / Restore" is a much simpler concept. It simply takes one snapshot and restores it. Any selection changes between those two events are irrelevant / ignored.
"When to capture" is, as you say, the major difficulty. There are many ways that the selection may change. To provide a robust "Restore last selection/region" option, all of those cases need to be handled.

An example, looking at the selection setting events:
  1. Generate a 30 second sound.
    Selection start = 0, Selection end = 30
  2. Click on the waveform at 5 seconds
    Selection start = 5, Selection end = 5
  3. Press Ctrl+i (split track)
  4. Click on the waveform at 15 seconds
    Selection start = 15, Selection end = 15
  5. Press Ctrl+i (split track)
  6. Double click on the waveform at 10 seconds
    Selection start = 10, Selection end = 10
    Selection start = 0, Selection end = 30
    Selection start = 5, Selection end = 15
  7. "Restore last selection/region"
The intuitive result is probably to restore "Selection start = 0, Selection end = 30" from step 1, but how is Audacity to know that is the region that we want to restore?
We could provide a special rule to handle this specific case, but that is not a workable solution because we can't anticipate every possible combination of events that could happen. What we would need is a general method that will work for all cases, and therein lies the difficulty.
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)

Gale Andrews
Quality Assurance
Posts: 41761
Joined: Fri Jul 27, 2007 12:02 am
Operating System: Windows 10

Re: Ideas for new features

Post by Gale Andrews » Sat Dec 13, 2014 6:22 pm

vpd wrote:
steve wrote:
vpd wrote:1. Restore last selection/region.
It will be great if Audacity remembers the last selection/region, so it can be restored if user accidentally clicks and it disappears.
I like the idea, but I don't see a clear way to implement it.
What should happen if, for example, I select from "1 to 2 seconds", then extend the selection to "1 to 3 seconds", then extend the start to zero, then "restore last selection"?
Does it restore to "1 to 2 seconds" or "1 to 3 seconds"?
What if I extend the selection using "shift + left/right cursor" or shrink the region with "Ctrl+Shift+Left/Right cursor"? That would create hundreds of intermediate states as the selection boundary extends or contracts a pixel at a time.
In other words, what would tell Audacity to save a selection as a restorable selection? Currently that can be done manually with "Edit > Region Save" / "Edit >Region Restore", but I don't see how that could be done automatically.
Is it possible to make Audacity remember the selection only once, say, 10 ms after it has been set with the mouse or keyboard? Good old Sound Forge had an option like this called "toggle selection". If you select some audio and accidentally click somewhere and lose it, you can restore it with that option.
A timer is definitely an option, but it could slow Audacity down if it captured the selection often enough that you would (probably) get the selection back that you wanted. I did not mention it for that reason. Capturing when the selection changes would be much more efficient.

Did the SoundForge feature definitely work on a timer?
vpd wrote:
steve wrote:
vpd wrote:2. In "Transport" menu "Loop Play" to be changed to "Loop Play/Stop" (similar to "Play/Stop").
I offer this because it will be easier to set it up as keyboard shortcut.
You can use spacebar to stop loop play.
But if I set spacebar as "Loop Play" shortcut, I'm not able to stop the loop play anymore using spacebar. I need to hit the stop button from transport toolbar (or to set another key as "Play/Stop" shortcut to stop with it).
I think Steve meant to set a custom shortcut for Loop Play if you need to (but not SPACE) and then use SPACE to stop normal play and Loop Play.
vpd wrote:
steve wrote:
vpd wrote:3. Adding "Edit > Clip boundaries > Align together" option.
See "Tracks > Align Tracks > Align Together"
This aligns all tracks together, not the clip boundaries.
Gale Andrews wrote:Did you mean align clip boundaries together that are in the middle of a track?
Yes!
OK I made a note of your suggestion.
vpd wrote:
steve wrote:
vpd wrote:4. Option to save in "View > History" that can be used later as batch script and/or chain.
Again, I like the idea, but I don't see a practical way to implement it.
What happens if the History includes actions that cannot be used in a Chain?
Yeah, I agree it's hard to implement it. I just saw that chain actions are limited to effects only, but history remembers what user did in every track of the music project (selection, current track, copy, paste, etc...). It will be great to have an option for some command scripts beyond just the effects that chain option offers.
Are there any examples of non-effects that you would want to apply as a macro?

If not, Audacity knows what items in the History are effects that can be added to Chains and could export only those.

However History does not capture effect parameters in all cases, without which the feature might be of limited use.

Gale
________________________________________FOR INSTANT HELP: (Click on Link below)
* * * * * Tips * * * * * Tutorials * * * * * Quick Start Guide * * * * * Audacity Manual

vpd
Posts: 103
Joined: Tue Feb 26, 2013 4:28 pm
Operating System: Linux Debian

Re: Ideas for new features

Post by vpd » Sun Dec 14, 2014 9:04 am

Gale Andrews wrote:Capturing when the selection changes would be much more efficient.
Did the SoundForge feature definitely work on a timer?
Capturing when changes occured sounds legit. I guess SoundForge did it with a timer, because (like Steve said) we often need to expand or shorten the selection before we get what we want. SoundForge captured and restored only the very last selection.
Gale Andrews wrote:I think Steve meant to set a custom shortcut for Loop Play if you need to (but not SPACE) and then use SPACE to stop normal play and Loop Play.
I agree, but what's the point to set a different keyboard shortcut just to stop the Loop Play? Why don't trigger it with just one key?
Gale Andrews wrote:OK I made a note of your suggestion.
Thank you!
Gale Andrews wrote:Are there any examples of non-effects that you would want to apply as a macro?
I thought about some simple actions (requiring no parameters) like: paste; duplicate; add new track; move focus: to next track, to previous track; move cursor: to selection start, to selection end, to track start, to track end; go to: selection start, to selection end; clip boundaries: split.
Gale Andrews wrote:If not, Audacity knows what items in the History are effects that can be added to Chains and could export only those. However History does not capture effect parameters in all cases, without which the feature might be of limited use.
Didn't know that...

Gale Andrews
Quality Assurance
Posts: 41761
Joined: Fri Jul 27, 2007 12:02 am
Operating System: Windows 10

Re: Ideas for new features

Post by Gale Andrews » Sun Dec 14, 2014 11:58 am

vpd wrote:
Gale Andrews wrote:I think Steve meant to set a custom shortcut for Loop Play if you need to (but not SPACE) and then use SPACE to stop normal play and Loop Play.
I agree, but what's the point to set a different keyboard shortcut just to stop the Loop Play? Why don't trigger it with just one key?
We can always record the "vote" but I'm not sure it's a good idea. Do you only loop play, never standard play?

I would say what not stop any type of playback with just one key? We don't have two Stop buttons.
vpd wrote:
Gale Andrews wrote:Are there any examples of non-effects that you would want to apply as a macro?
I thought about some simple actions (requiring no parameters) like: paste; duplicate; add new track; move focus: to next track, to previous track; move cursor: to selection start, to selection end, to track start, to track end; go to: selection start, to selection end; clip boundaries: split.
None of that would work as of now with Chains applied to imported files.


Gale
________________________________________FOR INSTANT HELP: (Click on Link below)
* * * * * Tips * * * * * Tutorials * * * * * Quick Start Guide * * * * * Audacity Manual

Locked