1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-23 15:50:05 +02:00

800 Commits

Author SHA1 Message Date
David Bailes
f46ac268f4 Update commands for moving clips using the keyboard
Second attempt at getting the commands to update history, so that they can be undone (previous attempt at b911607, which didn't call the undo manager for each keydown).

Both a single keypress (keydown, then keyup), and holding down a key (multiple keydowns followed by a keyup) result in a single entry in Audacity's history dialog. Note that this code relies on a change to the undo mananger in commit 63ae687.
2017-05-23 10:29:49 +01:00
Paul Licameli
f7578193b4 TrackPanel::OnClipMove is a static function 2017-05-18 07:46:54 -04:00
Paul Licameli
d36ac2cedb Revert "Fix for keyboard commands for time shifting clips"
This reverts commit b91160795dedce54745102027f8bb0908828772a.
2017-05-18 07:06:22 -04:00
David Bailes
7900aa51ba Update for commands which interact with clips using the keyboard.
Changed the criterion for deciding when two clips are immediately next to each other, and made it into a function: WaveClip::SharesBoundaryWithNextClip.
2017-05-16 14:23:07 +01:00
David Bailes
ff2838e98d Clip boundary command: minor change to Cursor to next clip boundary
The command "cursor to next clip boundary" now finds the next clip boundary after selection end, rather than selection start.
2017-05-16 10:26:12 +01:00
David Bailes
b91160795d Fix for keyboard commands for time shifting clips
Commands didn't update history etc.

Fix: Commands now call TrackPanel::MakeParentPushState.
2017-05-15 13:12:11 +01:00
James Crook
0ac2d90d8a SelectAllIfNone now selects all time if none, and all tracks if none.
This means you can now select just a time, and get all tracks selected, or some tracks, and get all time selected.
One side effect of this is that if you select a label (only) and apply 'cut' you now just cut the label, rather than cutting all tracks.  If you select a label and apply echo, you now get an error message, rather than applying echo to all tracks.
2017-05-13 10:06:52 +01:00
James Crook
c42a111a42 Add accelerator keys for Ext-&Bar and Ext-Co&mmand 2017-05-12 22:40:14 +01:00
James Crook
35fe313f30 Smarter SelectAllIfNone
Now if there is a time selection and no tracks selected, then just select all the tracks, preserving the time selection.
This helps in the case a user has made a time selection, e.g. with selection toolbar, and then clicked on track panel, losing the selection of tracks but preserving the time selection.

I also shortened some repeated cut-and-pasted code.
2017-05-11 22:36:55 +01:00
David Bailes
ddb8db8dd7 Modify the screen reader messages of some of the keyboard clip commands
As suggested by Robert, add the word clip/clips to make the messages less confusing and noticeably different from the next/prev label messages.
2017-05-11 13:01:42 +01:00
David Bailes
495755b074 Fix for keyboard clip commands
Fix bug in AudacityProject::AdjustForFindingStartTimes.
Bug: When there is 0 or 1 clips, q - 2 is before the begin() of the vector, and caused crash.

Fix: split the test into two tests.
2017-05-11 11:42:56 +01:00
David Bailes
6c0e8c7d86 Change default setting of "move selection with tracks" to be "off" 2017-05-10 13:36:42 +01:00
David Bailes
b2d8f36969 Fix for bugs in keyboard clip commands due to rounding errors
When When two clips are immediately next to each other, the GetEndTime() of the first clip and the GetStartTime() of the second clip may not be exactly equal due to rounding errors. The existing code assumed they were equal, and this lead to the wrong clip boundaries or clips being found.

There are a number of ways of fixing this which could be explored. The current solution involves changing only the code for the keyboard interaction with clips.

The fix:
1. The test used for two clips being immediately next to each other is that GetEndSample() on the first clip is equal to to GetStartSample() on the second clip.
2. When searching for the start/end times of clips, the cases where GetEndTime() and GetStartTime() are not equal are taken into account. This is done in the two functions AudacityProject::AdjustForFindingStartTimes and AudacityProject::AdjustForFindingEndTimes.
2017-05-10 09:24:25 +01:00
Pokechu22
1daf22c638 Fix Fit to Height not resizing note tracks 2017-05-02 00:37:32 -04:00
Pokechu22
298bb3fde8 NoteTrack: Implement Silence and InsertSilence
Additionally, fix the UI portions of these, and fix Trim for note tracks
(the code already existed, but due to flags would not work).  As PRL
requested, this is gated only behind USE_MIDI.
2017-05-02 00:37:31 -04:00
Paul Licameli
b9b5e0ca09 Fix mac build 2017-05-01 17:47:56 -04:00
James Crook
9d501f69d6 Add preference for Record being to new track. 2017-05-01 12:04:27 +01:00
James Crook
623d0f29bf Bug 1639 - Revert fix.
The fix was regarded as a workaround, and too draconian.  The problem is that Left and Right shortcuts are being captured (somehow) by our CommandManager when navigating in docked toolbars.  A full and proper fix rather than not binding these shortcuts would apply them to the toolbar in preference to the CommandManager, and so fix bug 1637, which Bug 1639 has now been marked as a duplicate of.
2017-05-01 10:26:49 +01:00
David Bailes
baf46c1f85 Update to Select Previous/Next clip commands
Previously, these two commands used the clips in the focused track. They now have similar to the Tracks->Pan->Left/Right/Center commands. That is if any audio tracks are selected, the clips in these tracks are used, otherwise the clips in all audio tracks are used.
2017-05-01 09:20:44 +01:00
David Bailes
ce1d067f84 Update to Clip Boundary commands
This update affects the four commands:
Cursor to Previous clip boundary
Cursor to Next clip boundary
Select previous clip boundary to cursor
Select cursor to next clip boundary

Previously these commands all used the clips in the focused track. This update changes this so that their behaviour is the same as the Tracks->Pan->Left/Right/Center commands. That is, if any audio tracks are selected, all the clips in these tracks are used, else the clips in all audio tracks are used.
2017-05-01 08:58:46 +01:00
James Crook
5088881a69 Bug 1639 - Left and Right arrow keys no longer work in docked toolbars
I've bound the commands that use Left and Right keys to use Ctrl-Left and Ctrl-Right instead.  I did not find a simple fix that allowed docked toolbars to get 'furst dibs' and take left and right keys if they wanted them.
2017-04-30 16:32:48 +01:00
James Crook
74ac96e009 Only move Nyquist prompt to nyquist IF EXPERIMENTAL_DA 2017-04-28 18:10:32 +01:00
James Crook
dfe423fea5 Rearrange toolbar order in menus.
Now they are in the order they appear in the default interface and manual rather than alphabetic.
Also removed combined-meter option.  Upgraders will potentially continue to have it, until they select one of the single meters.  The die hards could also edit audacity.cfg if they really really want it enough.
Also added some comment lines in the ext menus to clarify structure.
Rearranged both View->Toolbars and Ext-Bar->

Enabling/disabling of ext menu items may not yet be exactly what we want, e.g. enabling cursor commands depends on tracks, but enabling selection commands does not.  Not fixed, as it is not clear exactly what we want.
2017-04-24 11:24:00 +01:00
James Crook
218f2ebb8d Fix two more 'select' commands which expected to be activated by a keyboard event. 2017-04-22 19:18:34 +01:00
James Crook
a68f7fc10c Fix activation of certain 'select' commands via menu.
These commands all assumed they would be activated from a key press, and so take the key up/down state into account.  This is not now the case, and there is no wxEvent to pass to them if they came via a menu item.
2017-04-22 11:21:17 +01:00
James Crook
6d361687d6 Add Show/Hide Extra menus preference.
The new preference is in the view menu and on the Gui preferences page.
Also Ext Menus rearranged to more closely match default toolbar order.
Also F11 (a new menu command to show/hide maximised) now has a check mark.

This change needs testing on mac as mac is pickier about when menus are updated.
2017-04-21 17:32:53 +01:00
James Crook
031f8413f4 Organise the occult commands in the Preferences Key View. 2017-04-21 15:50:25 +01:00
David Bailes
592453082b Removed zoom presets
Removed the zoom presets which I added in commit 1fa97a4. Nobody else wanted them.
2017-04-21 15:15:38 +01:00
windinthew
db3ec50236 Fix missing or conflicted access keys
Also reinstate 'Store' and 'Retrieve' for save and recall of
selection and cursor point.
2017-04-21 04:24:08 +01:00
James Crook
e9df6cb49f Move Nyquist Prompt into plug-ins
Even though it is a built-in Audacity effect, it is more logical in plug-ins, because the actual effect that will be run when the effect is applied is a plug-in.  Makes the list of effects (sorted by type) more logical.
2017-04-19 12:52:11 +01:00
James Crook
c1c6a91586 Move pixel-to zoom items under zoom. 2017-04-14 15:44:07 +01:00
James Crook
22d448203b Fix: Metadata editor menu item should be available always. 2017-04-11 19:42:29 +01:00
Gale Andrews
ffdba2eb2b Add missing access key for new menu item 2017-04-09 18:30:00 +01:00
windinthew
05662ac607 Wiki Wording issue: capitalise 'Speed' 2017-04-08 19:22:14 +01:00
James Crook
221b0271ca Bug 1628 - Tracks > Align items two submenus deep
Fixed by adding a new on/off option, "Move  Selection With Tracks".
2017-04-08 11:54:25 +01:00
James Crook
5d75b79f15 Change 'Set' to 'Zoom'
Name change makes it clearer that this is about zooming.
2017-04-07 17:07:53 +01:00
David Bailes
caca4d20f3 Zoom presets: wording change
Thousandth second -> Millisecond
2017-04-07 08:57:48 +01:00
David Bailes
5416c219bc Bug 1625 - Mute/Unmute All Tracks in "None" Solo Button Mode
Problem: Mute/Unmute All Tracks in "None" Solo Button Mode does not change track audibility, only changes button state.

Fix: same fix for "none" as for "simple" in commit c8f58c9.
2017-04-06 15:20:07 +01:00
David Bailes
fc2628de4d Removed ZoomInfo::GetZoom() which I added in my previous commit
Just wasn't thinking.
2017-04-06 13:31:04 +01:00
David Bailes
1fa97a4b37 Added zoom presets
Please Note:
In ViewInfo.h there is the comment left by Paul:
// There is NO GetZoom()!
// Use TimeToPosition and PositionToTime and OffsetTimeByPixels!

I needed to get the value of the current zoom so that I could use the functions AudacityProject::ZoomInByFactor and AudacityProject::ZoomOutByFactor to handle the change in zoom when a preset zoom is chosen. So I added GetZoom() for this use.
2017-04-06 12:49:38 +01:00
James Crook
c1592d2a1a Move more on/off options lower in menus. 2017-04-06 12:30:08 +01:00
James Crook
715da2b533 On/Off options to end of menus, where possible. 2017-04-05 23:07:37 +01:00
David Bailes
c8f58c90af Bug 1624: mute/unmute all commands do not adjust solo buttons
If the solo buttons are set to "simple" then after mute/unmute all, the solo buttons should all be off. This is not the case.

Fix: turn the solo buttons off :).
2017-04-05 13:02:22 +01:00
James Crook
b3ae50597e Use RecordBeside for identifier for Record in 2.2.0
This might make things just a little easier for people who use both 2.1.3 and 2.2.0.
2017-04-04 14:55:20 +01:00
David Bailes
017990fac0 Added prefix std:: to my uses of find_if in recent commits 2017-04-04 11:16:10 +01:00
James Crook
52f0f750d9 Add Tracks->Pan->Left/Right/Center 2017-04-03 22:35:19 +01:00
James Crook
d0911638d8 Select SubMenu made into a full top level menu. 2017-04-03 16:05:31 +01:00
David Bailes
a7a4a70e5f Two commands added, neither on a menu:
Clip Left
Clip Right

If the cursor lies within a clip, the clip and the cursor is moved 1 pixel left/right.
If the cursor position is at both a clip end and a clip start, the second of these clips is moved.

The movement currently ignores the snap to setting on the selection bar, and there is no snapping to the clip boundaries of other clips.
Following the behaviour or shifting with the mouse, the distance moved is rounded to an integral number of samples, and the minimum distance moved is one sample.
2017-04-03 13:53:48 +01:00
David Bailes
c382139c05 New commands for selecting clips using the keyboard
Added two commands:
Select > Previous clip. Select the previous clip for which clip start < selection start/cursor position.

Select > Next clip. If the position of selection start/cursor is at the start of a clip, and selection end is not at the end of the clip, select that clip. Otherwise, select the next clip for which clip start > selection start/cursor position.
2017-04-03 13:45:58 +01:00
David Bailes
a519e6fc7d New commands for clip boundaries using the keyboard
Added the commands:
Cursor to > Previous clip boundary
Cursor to > Next clip boundary
Select > Previous clip boundary to cursor
Select > Cursor to next clip boundary
2017-04-03 13:35:46 +01:00