1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-05-03 09:09:47 +02:00

9027 Commits

Author SHA1 Message Date
Paul Licameli
511b810fdc Pinned play head can be dragged during transport; dbl-click recenters 2018-08-06 21:58:42 -04:00
Paul Licameli
54807caa1a Correct flashing of the pin when dragged to extreme left or right 2018-08-06 21:58:42 -04:00
Paul Licameli
27dc8ffead Draggable pinned play head, double click to re-center 2018-08-06 21:58:42 -04:00
Paul Licameli
616ff31d04 Allow full screen of negative timeline during pinned play/record...
... (Or when dragging the scrollbar when scrolling left of zero is enabled)
2018-08-06 21:58:42 -04:00
Paul Licameli
1c5e523a1e A preference governs where the pinned head goes, not always exact center 2018-08-06 21:58:42 -04:00
Paul Licameli
b502d88285 Better enum value name 2018-08-06 21:58:41 -04:00
Paul Licameli
3010d3aaa8 More conservative rewriting of status as mouse moves over panels 2018-08-06 21:52:47 -04:00
Paul Licameli
2c28af05e8 Don't hit any TrackPanel or Ruler cells when mouse is out of window 2018-08-06 21:52:46 -04:00
Paul Licameli
74efec9d39 Bug1756 (shouldn't lose record status message) refixed differently...
... Don't let the status message during recording, about remaining disk
capacity, get lost when mouse moves across TrackPanel hit targets or toolbar
buttons.

But, will show those other messages too, only for limited time if the
mouse stops moving; then restore the capacity message.

Needed to correct for unreliability of wxTimer in AudacityProject, as with the
TrackPanel timer, by restarting it sometimes.

The intention evident in previous code was to refresh messages once every 3
seconds.  Should be better realized now.

See also the prior fix at b49e467412337be1d2aa0a3b45ba830b04a625b7
2018-08-06 20:09:39 -04:00
James Crook
cf442759b4 Add AUDACITY_FILE_SUFFIX_EVENT to ExportPCM
This signals a change in the file suffix, and it is received by the Exporter.
However, there is currently no way to change the displayed filename in
the file selection dialog.

This was a step towards a fix for Bug 1355 - "Other uncompressed files" does not (visually) update target file extension according to the chosen "Header" type
2018-08-06 15:56:56 +01:00
James Crook
7a56858f38 Bug 1893 - spurious plug-in reg error message for VidPlayVST32 (and others) 2018-08-06 13:13:34 +01:00
James Crook
901d684c3d Add Max Maisel to contributors (in AboutDialog) 2018-08-06 11:02:57 +01:00
Paul Licameli
bf82eaa4c6 Rewrite time ruler reusing CellularPanel; ESC aborts drags in it...
... And some improvement in prompt showing and hiding of the quick-play
guide line
2018-08-05 17:18:26 -04:00
Paul Licameli
7cfda551dd Move scrub click handling into a UIHandle, eliminate OnMouseEvents...
... And the one-shot hack can be simplified away.
2018-08-05 17:18:25 -04:00
Paul Licameli
153eb63b3e Rest of quick play mouse handling is invoked from UIHandle...
... and ESC key aborts the drag of play region
2018-08-05 17:18:25 -04:00
Paul Licameli
9491605cfc CellularPanel handles save/restore of focus for clicks in ruler...
... This lets the ESC key really work to abort drags
2018-08-05 17:18:25 -04:00
Paul Licameli
c85d2cdfa0 UIHandle objects now implement the context menus for the Ruler 2018-08-05 17:18:25 -04:00
Paul Licameli
0ae7f55fea Manage showing and hiding of quick play guide in CellularPanel base 2018-08-05 17:18:25 -04:00
Paul Licameli
af17e1ff95 Quick-play handle object manages lifetime of SnapManager 2018-08-05 17:18:24 -04:00
Paul Licameli
a70e2284b0 Manage ruler status messages and tooltips in CellularPanel base class 2018-08-05 17:18:24 -04:00
Paul Licameli
ba4ae4f7bd Manage ruler cursor changes in CellularPanel base class 2018-08-05 17:18:24 -04:00
Paul Licameli
ce48ac6307 Enable hit tests; let base class manage capture & release of mouse...
... also make popup menus at right up, not down, for consistency with other
popup menus in TrackPanel

Base class also does the event propagation "hack" for ScrubPoller
2018-08-05 17:18:24 -04:00
Paul Licameli
a853b7a3b4 Skeletal hit test and handle objects for quick play and scrubbing 2018-08-05 17:18:23 -04:00
Paul Licameli
bccb135e30 AdornedRulerPanel inherits from CellularPanel -- hit testing, still to do 2018-08-05 17:18:23 -04:00
James Crook
71005cf125 Add File->Reset Menu Item (#ifdeffed out)
An compile-time optional menu item for checking the ResetProjectToEmpty() functionality.
2018-08-05 21:34:24 +01:00
James Crook
9357c90b43 Bug 1859 - Macros on files - Save Project causes overwrites. thus loses data
AudacityProject::Save() is now batch mode sensitive, and if in batch mode (and not overwriting) will save without prompting.
The loop for applying macros to multiple files now also clears down the project, using the new function ResetProjectToEmpty().
2018-08-05 21:34:24 +01:00
James Crook
d3e6e92440 Fix Sizer Error. 2018-08-05 21:34:23 +01:00
Paul Licameli
85074c3387 Factor base class CellularPanel from TrackPanel...
... The base class has all the logic for managing hit test handles and
context menus and changes of cursors and status messages as the mouse moves.

CellularPanel has no knowledge of tracks.  TrackPanel does, supplying the
policy for dividing the panel area into cells.

AdornedRulerPanel will be rewritten to reuse this base class with another
policy.

(And the notorious TrackPanel.cpp now becomes several hundred lines shorter!)
2018-08-05 14:55:27 -04:00
Paul Licameli
0fc4747742 CellularPanel handles leave and capture loss like other transitions 2018-08-05 14:55:27 -04:00
Paul Licameli
ff98ca5a32 CellularPanel saves and restores focus for each click-drag-release...
... while the project makes note of which window has temporarily given up the
focus; and TrackPanel can detect that, so that the yellow border of the focused
track is still drawn while the panel "lends" the focus.

Why do all this?  So that, when the ruler is another CellularPanel, ESC key
will work to abort drags in the ruler, but TrackPanel appearance won't change
during the drags.
2018-08-05 14:51:58 -04:00
Paul Licameli
7cbe85facf Add CellularPanel::LastCell 2018-08-05 14:34:56 -04:00
Paul Licameli
4e1a80f5ac Move CellularPanel data members into a state structure out of the .h file 2018-08-05 14:33:48 -04:00
Paul Licameli
f6609e5ffb Move class CellularPanel into its own files 2018-08-05 14:02:55 -04:00
Paul Licameli
7f84e71324 Context menu handling is also in CellularPanel 2018-08-05 14:02:55 -04:00
Paul Licameli
c08c17eafa Add a method to find the rectangle of a given cell...
... Cells are not responsible to remember that; the cells' container determines
that.
2018-08-05 14:02:55 -04:00
Paul Licameli
062066eb79 Split base class CellularPanel out of TrackPanel...
... To be reused with the Ruler too.

The new base class does all the handling of hit tests on cells and managing
of UIHandles, and keyboard events and focus.

It has no knowledge of tracks -- that all resides in overriding functions in
TrackPanel.

Still to do, of course, is reorganizing drawing with callbacks to the cell
objects.
2018-08-05 14:02:52 -04:00
Paul Licameli
d76777bef7 Each cell can define cursor, status, and tooltip in default of hit tests 2018-08-05 13:28:36 -04:00
Paul Licameli
98514194a4 ProcessUIHandleResult takes pointers to TrackPanelCell 2018-08-05 13:28:34 -04:00
Paul Licameli
aeece118e8 Rewrite the handling of quick play indicators...
... All updates of position are done in DoGetRectangle().  Ruler need only
expose one function, DrawOverlays().

Don't redraw indicators twice when dragging (hiding and showing again), making
some flicker.  Just do one update.
2018-08-04 15:35:36 -04:00
Paul Licameli
7395e5acbd Remove pTrack from FoundCell; new function hides some casting 2018-08-04 15:35:36 -04:00
Paul Licameli
79067e43f0 ProcessUIHandleResult is a member function of TrackPanel 2018-08-04 15:35:36 -04:00
James Crook
c94df54157 Bug 1856 - Applying Macros to Files is no longer a batch process
This restores the 2.2.2 behaviour, with a subdirectory called 'cleaned'.  The problem was that 2.2.2 used special cases for MP3 Ogg and WAV exports, which were stripped out in favour of using the built-in Export command.  However, the differences in behaviour (prompting) between batch and non batch mode were not taken into account.
2018-08-04 19:16:32 +01:00
James Crook
9f7fa4e1f9 Bug 1914 - Enh: Clean install needed to update effect/generate/analyze/tools menu for changed plug ins
The original fix for this bug deleted pluginregistry.cfg.  That was judged to be too extreme.  This new modified fix updates pluginregistry.cfg, changing the Nyquist Prompt type and removing duplicated Sample Data Import/Export.  In future if we have further menu rearrangements of plug ins, we can make them using the same methods as in this fix.
2018-08-04 12:36:43 +01:00
James Crook
dcd9368af0 Don't load PluginTypeNone.
The code that did this was marked for removal with 2.1.1, and 2.3.0 is time to do so.
2018-08-03 19:11:57 +01:00
James Crook
233b1677dd Bug 1914 - Enh: Clean install needed to update effect/generate/analyze/tools menu for changed plug ins
This code now does the clean out of pluginregistry.cfg.
Nicer for the user would be to preserve the list of hand-added plug-ins.  But a clean restart is easier.
2018-08-03 19:08:40 +01:00
James Crook
4318cb6780 Bug 1886 - Sluggish behaviour caused by the large time taken to draw the Track Control Panel
All backing bitmaps (not just the one in track panel) now are set to 24 bits.
Big thanks to David Bailes for tracking down the root cause of slow BitBlts, and the comments at https://trac.wxwidgets.org/ticket/14403 which led to the fix.

In testing the bitmaps, I also fixed the sizer errors reported for Export.cpp that wxWidgets now reports as ASSERTS when running in debug builds.
2018-08-03 18:29:49 +01:00
James Crook
3ccdde8fdb Bug 1912 - Play/Stop and Set Cursor no longer sets the cursor at the stopped play position 2018-08-03 17:16:31 +01:00
James Crook
d7346751c3 Bug 1900 - Sample Data Import/Export should both be in the new Tools menu
Now in tools menu and marked as generate.
2018-08-03 16:12:04 +01:00
James Crook
e670ee1e07 Bug 1903 - Sample Data Export has duplicate menu entries: Tools & Analyze
Now in tools menu and marked as analyze
2018-08-03 16:12:04 +01:00
James Crook
1192914460 Fix duplication of Nyquist Prompt.
Now just one Nyquist Prompt, and it's in the tools menu.
2018-08-03 16:11:44 +01:00