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

280 Commits

Author SHA1 Message Date
Paul Licameli
ad04187a41 Change sampleCount arguments, variables, return values to size_t...
... whenever they really describe the size of a buffer that fits in memory, or
of a block file (which is never now more than a megabyte and so could be fit in
memory all at once), or a part thereof.
2016-09-15 21:03:17 -04:00
James Crook
65c7e8051a ThomasFeher - Unused parameters clean up. 2016-09-11 20:31:49 +01:00
James Crook
545d741eb2 Make Audacity source more like DarkAudacity source. 2016-09-11 13:03:37 +01:00
James Crook
923eefaf90 Add code from merging.
This brings more of the code from DarkAudacity into Audacity, though not yet enabled.  This will make cherry picking later easier.
- Changing colour of html displays now possible, as colour links are visible for substitution.  (Can't use css as wxHTML is very limited).
- Export can now be preset to a particular format independent of preferences.
- SnapTo reversion on zoom now a DA controlled option.
- Caching of pinning preference for faster repaint because preferences are slow.
- Record Append now has sensible limit on number of tracks, rather than giving an error, and flipping the meaning of shift is now DA controlled.
2016-09-10 21:34:14 +01:00
James Crook
796b98de8b Bug 1510 - Moonphase: Crash cancelling Save As... character replacement dialogue when exporting multiple by tracks
Bug no longer moonphase when exporting stereo.  Iterator is iterating through channels, not tracks, so we need to allow for that when we skip whole tracks.
2016-09-10 20:00:32 +01:00
Paul Licameli
2263a0f477 Don't use wxArrayPtrVoid with casts, use std::vector 2016-09-08 11:08:49 -04:00
James Crook
b56ea0599b Bug 1440 - (Residual) Error message looks funny on Mac as only ":" is disallowed.
Previously the dialog listed multiple characters that are disallowed.  On Mac, only ":" is disallowed, so the text in that case can't say "any of" without looking funny.
2016-09-07 15:53:44 +01:00
Paul Licameli
67cec5ad83 Make many counts of tracks and channels unsigned...
... And in some places where a library uses signed types, assert that
the reported number is not negative.

What led me to this, is that there are many places where a size_t value for
an allocation is the product of a number of channels and some other number.
2016-09-07 10:11:41 -04:00
Paul Licameli
fd2b050d6f Type agnosticism for some other variables that were not sampleCount...
... in some cases, this fixes narrowings.
2016-08-24 14:50:45 -04:00
Paul Licameli
79c79f9cd3 Remove many mentions of sampleCount with auto and decltype...
... This makes much code agnostic about how other things (functions and
arguments) are typed.

Many of these neeed to become size_t instead of sampleCount.
2016-08-24 14:50:45 -04:00
Paul Licameli
b8c1d02058 Use sf_count_t not sampleCount 2016-08-24 14:50:45 -04:00
James Crook
6b4a43a0a7 Fix some web addresses which changed with the manual moving. 2016-08-19 19:20:05 +01:00
Paul Licameli
fe5ab9a462 Remove the naked new in allocation of AudacityProject 2016-08-14 15:24:59 -04:00
Paul Licameli
f82ff73578 Remove some naked new amd delete in: import and export 2016-08-08 07:53:28 -04:00
Paul Licameli
fd2e36e0c8 Remove some naked new amd delete in: FFmpeg 2016-08-08 07:51:24 -04:00
James Crook
7c7fc55bc2 Bug 1440 - Cancelling Export Multiple by labels containing illegal characters exports the cancelled file with empty name.
Also made ExportMultipleByTrack more like ExportMultipleByLabel in that it continues on exporting tracks even if one track has a bad name.
2016-07-15 16:20:25 +01:00
Paul Licameli
84c0337aba Fix TAB key navigation on Mac for all dialogs (not only for panels) 2016-07-10 17:12:27 -04:00
James Crook
763485b0dc Add error check comments.
These are places where we don't properly handle error returns.
2016-07-10 21:40:48 +01:00
Paul Licameli
4739f3e27b Compensate for wxW 3 tab navigation deficiencies on Mac...
... using char hook event handlers.  We don't need to go the extreme length
of patching wxWidgets source.
2016-06-25 19:14:05 -04:00
Paul Licameli
3410b601e1 A null pointer check 2016-06-21 19:02:04 -04:00
Paul Licameli
02ce3c312b Bug119: Export Multiple /, *, ? handled incorrectly 2016-06-20 22:32:23 -04:00
Paul Licameli
87f368f380 Redo AliasedFile using wxFileNameWrapper. 2016-04-17 03:31:16 -04:00
Paul Licameli
61177a15ad More consistent mutual exclusion in calls to certain sf_ functions; ...
... also SFCall to simplify thread-safe calls, and SFFile for RAII of SNDFILE
objects.
2016-04-14 15:20:37 -04:00
Paul Licameli
24df87bb4c Fix resource leaks in the usage of the FFMPEG library with RAII objects...
... This includes failure paths in the initialization if import.  Those
resources would have been reclaimed before program exit, but not as soon as
they should have been.

... This also includes certain leaks that would happen every time a file is
successfully imported or exported.  We never used avformat_free_context or
av_dict_free as we should have!

... There were also AVPacket objects repeatedly reinitialized without proper
cleanups in between.  That might have leaked memory too.
2016-04-13 20:31:54 -04:00
Steve Daulton
5b968e8250 Fix bug 1374 2016-04-12 21:58:44 +01:00
Paul Licameli
c3cca71461 Sweep for filename copying: import and export 2016-04-10 22:24:12 -04:00
Steve Daulton
1be7b0086f Consistent bit rates in MP3 export dialog
and update Plot Spectrum default.
2016-04-07 13:17:16 +01:00
Paul Licameli
ff3e3d0e83 ExportPlugin::CreateMixer returns a smart pointer 2016-04-06 14:56:05 -04:00
Paul Licameli
456c8fb01e ExportPlugins managed with smart pointers 2016-04-06 14:08:42 -04:00
Steve Daulton
b5c5d55d2f Fix bug 285 2016-04-01 21:46:56 +01:00
James Crook
b764c465d0 Reduced some repetitive code. Added credit for Mark Young.
Also added i18n-hint on translation and a couple of TODOs for further improvement.
2016-04-01 11:13:32 +01:00
tip2tail
aa5ffe99a7 Timer Recording Enhancements to allow Automatic Save and Export after
recording.  Also allows for additional options to be carried out after a
successful timer recording such as Exit, Retsrat and Shutdown.
2016-03-30 20:42:59 +01:00
Paul Licameli
43790cfa56 std::vector for wave track pointers; remove deprecated TrackList function; ...
... and some more uses of const
2016-03-01 20:54:48 -05:00
Paul Licameli
3cc4754ac7 Fix warnings for nonexhaustive switches on enumerations 2016-02-26 14:56:31 -05:00
Paul Licameli
990080ae7d Replace virtual with override wherever possible; eliminate needless virtual...
... for functions in final classes.

override is like const -- it's not necessary, but it helps the compiler to
catch mistakes.

There may be some overriding functions not explicitly declared virtual and I did
not identify such cases, in which I might also add override.
2016-02-26 12:35:38 -05:00
Paul Licameli
7824e94030 Harmlessly qualify classes as final (or explicitly comment not)...
... Should have no effect on generated code, except perhaps some slight faster
virtual function calls.  Mostly useful as documentation of design intent.

Tried to mark every one of our classes that inherits from another, or is a
base for others, or has abstract virtual functions, and a few others besides.
2016-02-24 20:58:30 -05:00
Paul Licameli
88eeebcb8b Undoing and redoing of Tags...
Use reference counting (in std::shared_ptr) to avoid replicating Tags with each
Undo state.
2016-02-24 19:25:39 -05:00
Paul Licameli
a5b6c9fd8f Add some const qualifiers; define TrackListConstIterator 2016-02-24 19:10:39 -05:00
Paul Licameli
ffe9989f7c Don't use an internal iterator in Tags 2016-02-24 19:10:38 -05:00
Paul Licameli
83e8a80f61 Sweep unnecessary wxString copies: export 2016-02-22 22:22:25 -05:00
Paul Licameli
1c07741d57 Sizers are owned by wxWindow objects when added, so use safenew, or...
... use unique_ptr in the interim between building them and adding.

This checks eliminates some naked news, which were not paired with deletes.
2016-02-18 18:58:38 -05:00
Paul Licameli
4d78e353c3 Revert "sizers"
This reverts commit 84c0a0b6663a1210be502a76ab9c48dd330b3919.
2016-02-18 14:50:52 -05:00
Paul Licameli
84c0a0b666 sizers 2016-02-18 02:54:50 -05:00
Paul Licameli
dbaa811577 Stack-allocate where possible! ...
... Removed many unnecessary naked news and deletes.
2016-02-17 18:15:57 -05:00
Paul Licameli
df6a7c5464 More uses of safenew for classes we derive from wxWindow classes...
... Also removed some unnecessary deletes of widgets that are managed by parent
windows
2016-02-14 20:39:28 -05:00
Paul Licameli
3f237daddc Use macro safenew for many allocations of wxWindow subclasses 2016-02-14 20:20:19 -05:00
Paul Licameli
7c4c45a0d5 "new"->"NEW" in comments, easier to find remaining naked operator new 2016-02-14 18:52:41 -05:00
Paul Licameli
8e46ff48d5 Fix unreported memory leak in command-line export...
... Solution was to stack-allocate!

To make the leak happen, export with "external program" and edit the command to
"foobar" or other nonextistent program instead of lame.
2016-02-01 13:14:06 -05:00
Steve Daulton
d6b8080a5d Fix for bug 1313 2016-01-29 22:12:41 +00:00
Paul Licameli
a047fcf0f8 Travis 2016-01-26 14:14:10 -05:00