1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-09-19 09:30:52 +02:00

869 Commits

Author SHA1 Message Date
Paul Licameli
0c44d0f7d3 Bug2244: need a distinct cursor for adjustment of split views...
... Adapted from the bandwidth adjustment cursor for spectral selection, with
reversal of white and black, so the new ones are white around black
2019-12-30 15:18:31 -05:00
Paul Licameli
c882564994 Move drawing of TrackName from the subview to VRulersAndChannels...
... And thus do it only once per channel (i.e. once per set of sub-views)
2019-12-29 15:31:03 -05:00
Paul Licameli
6e14d2e56c RulerPanel uses TranslatableString for units string...
... also fixing missed translation of "k" in spectrum vertical ruler
2019-12-28 23:49:18 -05:00
Paul Licameli
259359a283 Update some calls expecting TranslatableString in disabled code 2019-12-28 23:49:14 -05:00
Paul Licameli
8905e52ee0 Override TrackPanelDrawable::DrawingArea() properly for track names 2019-12-28 13:36:47 -05:00
Paul Licameli
71b3fc0647 Factor rectangle computation out of DrawTrackName 2019-12-28 13:36:47 -05:00
Paul Licameli
a65ab2146b Rewrite DrawTrackName with fewer magic numbers, rename variables 2019-12-28 13:36:47 -05:00
Paul Licameli
7c70d78430 Pass TrackPanelDrawingContext into TrackPanelDrawable::DrawingArea() 2019-12-28 13:36:46 -05:00
Paul Licameli
996d60de81 Remove undefined member function 2019-12-28 13:36:46 -05:00
David Bailes
3a453126e8 Keyboard interface for scrubbing
- There are two new commands: Scrub Backwards and Scrub Forwards.
- These commands appear on the Transport sub menu of the Extra menu.
- The commands have default shortcuts U and I, and are in the standard default set.
- After pressing one of the two keys, playback continues until the key is released. (Note that this means that the command on the  Extra > Transport menu can't actually be used for scrubbing as it executes a KeyDown immediately followed by a KeyUp, but the menu items are needed so that the current keystrokes can be seen and changed.)
- Playback starts from the cursor position, or the start of a time selection if there is one.
- The speed of playback is determined by the zoom level. If the zoom level is normal, then the playback speed is one quarter of the normal playback speed. Zooming in (Ctrl + 1), halves the playback speed, and zooming out (Ctrl + 3) doubles the playback speed. There are minimum and maximum playback speeds of one sixteenth, and four respectively.
- You can scrub to the end of the audio, even if there is an initial selection. In other words, scrubbing forwards does not automatically stop at the end of the selection.
- Normally, when one of the keys is released, the position of the cursor is set to the time when the key was released.
- If during the time one of the keys is pressed the left bracket and or right bracket keys are pressed to set the start and/or end of the selection, then when the scrubbing key is released, the change to the selection made by pressing the bracket keys is preserved - the position of the cursor is not set to the time when the key was released.

This implementation is affected by two existing bugs:
1. Bug 1954 - Clicks may occur starting/pausing play-at-speed or Scrub. (See comment 19 and attached image).
2. Bug 1956 - Windows: MME and WDS playback cursor is buffer length ahead of actual audio playing. This means that on Windows, WASAPI is preferable if scrubbing is being used for the accurate positioning of the cursor.
2019-12-26 10:04:34 +00:00
Paul Licameli
d1637c22c0 TranslatableString for explicit prompts and units in ShuttleGui 2019-12-23 19:22:03 -05:00
Paul Licameli
acd1158e1b TranslatableString for titles, and spin control and combo prompts 2019-12-23 18:53:00 -05:00
Paul Licameli
5168d62e3d TranslatableString for captions of text entry boxes 2019-12-23 18:53:00 -05:00
Paul Licameli
89a3771730 TranslatableString for AudacityTextEntryDialog message and caption 2019-12-21 11:23:32 -05:00
Paul Licameli
f56d76cdb5 Correct one commented-out override of GetDescription 2019-12-21 00:44:11 -05:00
Paul Licameli
49cab86fc1 TranslatableString for tooltips and status bar messages 2019-12-20 21:54:49 -05:00
Paul Licameli
dc39f22442 AudacityMessageBox takes TranslatableString message and caption 2019-12-20 21:32:50 -05:00
Paul Licameli
e3ea93a624 Define and use function Verbatim...
... in cases of "TranslatableString" that are not really translated.

This makes it easier to scan the code for such unusual constructions of
TranslatableString, distinct from mere mentions of the TranslatableString type.
2019-12-19 22:49:23 -05:00
Paul Licameli
a70524446e TranslatableString for title prefix in PrefsDialog...
... and the title strings do not include a trailing space
2019-12-19 22:37:21 -05:00
Paul Licameli
91ebadef81 Rewrite one more PushState that is ifdef'd out 2019-12-19 22:27:35 -05:00
Paul Licameli
6b812791a6 TranslatableString in popup menu tables 2019-12-16 15:10:35 -05:00
Paul Licameli
4eb220e7b9 TranslatableString for undo history short and long descriptions 2019-12-16 14:19:23 -05:00
Paul Licameli
54e2bbd8ff Remove TranslatedInternalString, use ComponentInterfaceSymbol 2019-12-16 10:58:05 -05:00
Paul Licameli
681950fc61 TranslatableString for names, labels, tooltips of wxPanelWrapper...
... and Grabber too
2019-12-16 10:58:05 -05:00
Paul Licameli
53ee9c9800 TranslatableString for titles, names, labels of wxDialogWrappers...
... Found one missed translation in CommandTargets.cpp
2019-12-16 10:58:05 -05:00
Paul Licameli
a8de4d9e50 Construct MenuItem with untranslated label, so it can be static...
... and other storage of TranslatableString instead of naked wxString, for
management of menu items, in CommandManager
2019-12-12 15:49:00 -05:00
Paul Licameli
70ec69fa3d Pass untranslated command labels to CommandManager...
... and deduce whether to exclude from macros inside NewIdentifier, simplifying
argument lists further

Also fix the localization of "..." added to names by PluginMenus.cpp
2019-12-12 15:15:59 -05:00
Paul Licameli
0cf90d65e6 S.GetParent() for all windows passed to ShuttleGui::AddWindow()...
... Verified that this makes no real change.
2019-12-10 09:58:38 -05:00
James Crook
23f05c618c Fix signed/unsigned comparison warnings. 2019-12-06 11:33:22 +00:00
James Crook
7f3c40eb43 Fix class/struct warnings. 2019-12-06 11:32:17 +00:00
Paul Licameli
ca70cc940f Don't concatenate ":" onto user-visible strings...
... include it in the msgid intead, to get appropriate translations.  For
instance some locales use the same character but prefer to insert a space
before it.
2019-12-04 16:19:07 -05:00
Paul Licameli
96291c5476 Remove second argument of AddWindow(), use Position() instead 2019-12-02 22:01:22 -05:00
Paul Licameli
9eeef4713d Define and use ShuttleGui::Name and NameSuffix...
... For radio buttons, the name will default to the same as the prompt if not
otherwise specified
2019-12-02 16:55:46 -05:00
Paul Licameli
72df562c4a Conversion of TranslatableString to wxString is private 2019-12-01 18:17:57 -05:00
Paul Licameli
e4a7c9ba5b Uses of TranslatableString as value of XO macro...
... It is not implicitly convertible from wxString, compelling many uses of
the new type to fix compilation.
2019-12-01 18:05:20 -05:00
Paul Licameli
c707edad7a Don't lose split view after undo & redo, or an effect 2019-11-26 04:49:15 -05:00
Lars Wendler
b280253e60 build: Fix bad include path
tracks/labeltrack/ui/LabelTextHandle.cpp:25:10: fatal error: ../../../images/Cursors.h: No such file or directory
     25 | #include "../../../images/Cursors.h"
        |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
  compilation terminated.

Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
2019-11-24 21:04:10 +00:00
Paul Licameli
54e0df5660 Implement a dragging handle to adjust wave track sub-view heights 2019-11-23 16:44:42 -05:00
Paul Licameli
d26b55ee3c WaveTrackSubView has a back-pointer to the WaveTrackView 2019-11-23 15:27:04 -05:00
Paul Licameli
af9959dc98 Rewrite WaveTrackView::GetSubViews to cache last computed heights 2019-11-23 15:02:09 -05:00
Paul Licameli
125b8ad0da Wave track context menu has non-exclusive check items for display type 2019-11-23 14:57:29 -05:00
Alexander Tsoy
7a91b6c5e9 Fix compilation without USE_MIDI 2019-08-28 00:17:39 +03:00
James Crook
06af0c6296 Bug 803 - Incorrect pointer (cursor) when rearranging tracks
There is no wxCURSOR_REARRANGE so made a custom cursor instead.
2019-08-18 14:47:17 +01:00
David Bailes
664452b1a8 Bug 2183 - Characters in labels cannot be deleted
Fix: update the actual label (labelStruct is a copy).
2019-08-03 09:13:53 +01:00
Paul Licameli
05997dc267 Bug2180: complete the fix...
... Don't forget the unbinding of the event handler

See previous commit, e589ed8ecfdc99bdb00e0d011b2fc40318cb43ed
2019-08-01 06:33:52 -04:00
Paul Licameli
e589ed8ecf Bug2180: Type-to-create labels twice should work...
Bug began at 0750f62e88ee96cd4804c19ba54e3ac1d2ff1b73

Track::SetSelected is virtual, after all, but then LabelTrack informs
LabelTrackView of selection changes by events, so that LabelTrack remains
independent of LabelTrackView.

This might make much of the rest of the guily commit unnecessary (the resetting
of selected index to -1 only lazily), but it is harmless.
2019-07-31 16:40:16 -04:00
Paul Licameli
a87748b123 spelling 2019-07-29 15:41:07 -04:00
David Bailes
ee46155d82 Bug 2176 - Crash when attempting to time shift multiple tracks
Steps to reproduce:
1. create a new project in Audacity
2. add several tracks.
3. turn on Sync-Lock (Tracks, Sync-Lock Tracks checked)
4. Click on the Time Shift Tool.
5. Attempt to move tracks to the right (for example), clicking in the bottom track
6. It crashes.

In the function: void TimeShiftHandle::CreateListOfCapturedClips(), the problem was the first occurrence of the line:
auto &trackClip = state.capturedClipArray[i];
The subsequent call to AddClipsToCaptured(), can reallocate the array and so invalidate the reference.

Fix: Don't use a reference. (TrackClip is not a large object.)
2019-07-27 13:16:15 +01:00
Paul Licameli
960fe47412 Bugs2151,2156: playhead ruler overlay was leaving black marks behind 2019-07-26 11:57:30 -04:00
Paul Licameli
93bb862aa2 Remove unnecessary #include 2019-07-18 15:05:37 -04:00