Paul Licameli
81d4c217e6
Rewrite DirManager::EnsureSafeFileName without downcasts...
...
... weakening but not yet eliminating dependency on BlockFile subclasses
2019-05-18 20:32:19 -04:00
Paul Licameli
ce27977ff2
BlockFile.cpp does not depend on MissingAliasFileDialog.cpp ...
...
... instead use a hook function to call back when it is discovered that a
block file is missing.
This frees three files from dependency cycles
2019-05-18 20:32:19 -04:00
Paul Licameli
548192fcf3
Remove redundant #include-s from .h files...
...
Redundant, because transitively implied. But don't do this for inclusions of
Audacity.h or Experimental.h.
2019-05-16 14:58:34 -04:00
Paul Licameli
56f51d8176
Revert "Remove redundant #include-s from .h files..."
...
This reverts commit b7fe62d170 .
2019-05-16 14:33:55 -04:00
Paul Licameli
b7fe62d170
Remove redundant #include-s from .h files...
...
Redundant, because transitively implied. But don't do this for inclusions of
Audacity.h or Experimental.h.
2019-05-16 14:15:05 -04:00
Paul Licameli
f6adeed47b
Remove some unnecessary #include directives
2019-05-15 14:14:18 -04:00
Paul Licameli
4714d72b3f
Can't remove remaining wx headers from other headers, comment that
2019-03-31 01:41:16 -04:00
Paul Licameli
70e88782fe
Remove wx/{grid,font,ffile,colour,button,bmpbuttn}.h from headers
2019-03-28 12:27:10 -04:00
Paul Licameli
803d8b9559
Remove wx/filename.h, wx/choice.h, wxFileNameWrapper.h from headers
2019-03-28 03:12:42 -04:00
Paul Licameli
1d0247607a
Remove wx/string.h from headers
2019-03-26 11:33:55 -04:00
Paul Licameli
a9e7a7e5d5
movable_ptr(_with_deleter) -> std::unique_ptr
2018-05-10 00:56:37 -04:00
Paul Licameli
7a0475e39f
Remove most uses of AUDACITY_OLD_STD
2018-05-10 00:56:36 -04:00
Paul Licameli
a5d718f79a
Fix error in Mac build uncovered by the previous
2017-06-25 15:36:32 -04:00
Paul Licameli
98d1468a01
BlockFile::ReadData overrides: on failure, pad with 0s or throw...
...
... as the mayThrow argument directs.
2017-03-21 14:19:03 -04:00
Paul Licameli
70d9e4bdc7
GetMinMax, GetRMS functions take a mayThrow argument, return numbers
2017-03-21 14:19:02 -04:00
Paul Licameli
ed6f2ea80f
Exception safety in: locking of BlockFile for read
2017-03-21 14:11:27 -04:00
Paul Licameli
7159966eb4
Comment that cache-filling should be no-fail (we don't use it anyway)
2017-03-21 14:11:26 -04:00
Paul Licameli
2677796b0c
Zero and return false for all failures to read block file summary...
...
... Though in the only place where these summaries are used, which is
Sequence::GetWaveDisplay, we ignore the correctly reported error code anyway.
Also RAII in management of relevant memory buffers and mutexes.
2017-03-20 17:49:03 -04:00
Paul Licameli
d11027c2a7
Allow exceptions from BlockFile::Recover, handle them in ProjectFSCK
2017-03-17 17:53:02 -04:00
Paul Licameli
aebaaf46a0
require unsigned arguments for Array(s)Of::reinit
2017-03-17 17:52:43 -04:00
Paul Licameli
a4a9df5c03
One function for the common parts of BlockFile::ReadData overrides
2017-03-17 17:52:27 -04:00
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
Paul Licameli
c9bff2f0f4
BlockFile::GetSpaceUsage() returns an unsigned value
2016-09-06 12:39:57 -04:00
Paul Licameli
3704dd0eeb
these functions do not need to be virtual
2016-09-06 12:39:57 -04:00
Paul Licameli
8b72bd2f92
Manage block files with std::shared_ptr, BlockHash stores weak_ptr
2016-08-16 12:29:59 -04:00
Paul Licameli
84ccdca5c3
Gather balance info hashes into one struct guarded by an accessor...
...
Doing BalanceInfoDel in this delayed fashion will be needed when the other
call to it is eliminated, as shared_ptr simplifies the management of BlockFile
and makes the many calls to Ref and Deref disappear.
2016-08-16 12:29:59 -04:00
Paul Licameli
e7b4d935a5
Hide the use of new in factory functions for BlockFiles
2016-08-16 12:29:59 -04:00
Paul Licameli
2ede67be96
Use type alias for pointer to BlockFile, which is still a dumb pointer
2016-08-16 12:29:59 -04:00
Paul Licameli
3c4ac1861c
Declare a method as const
2016-08-15 12:43:50 -04:00
Paul Licameli
b81efbb816
Remove duplicated, inaccurate RMS calculations
2016-06-22 10:12:24 -04:00
Paul Licameli
3d102a3390
Access BlockFile::mFileName without copying, with proper multithreading cautions
2016-04-17 13:58:21 -04:00
Paul Licameli
b6fdffbab2
Don't copy wxFileName often, it's not lightweight! Use wxFileNameWrapper...
...
... which is a new class that defines moves.
2016-04-16 11:57:39 -04:00
Paul Licameli
f7780adbf5
Comments about CloseLock() functions
2016-04-12 00:54:55 -04:00
Paul Licameli
f94b3b3afa
Add some const qualifiers to BlockFile methods
2016-04-10 21:05:20 -04:00
Paul Licameli
1108c1376c
Fix possible memory leak in use of overrides of BlockFile::CalcSummary
2016-04-05 23:30:33 -04: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
527a826b86
Define and use PROFILE_DLL_API
2016-02-24 21:29:25 -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
7c4c45a0d5
"new"->"NEW" in comments, easier to find remaining naked operator new
2016-02-14 18:52:41 -05:00
Paul Licameli
d39eaa4e65
Remove WaveTrack.h from other headers
2015-07-28 10:02:05 -04:00
benjamin.drung@gmail.com
277932dccb
Remove trailing spaces.
2014-06-03 20:30:19 +00:00
v.audacity
4038f214cd
(bug 451, p2) Add some asserts against mMaxSamples. In Sequence::Paste(), correct var largerBlockLen declaration to be sampleCount, not the smaller int, that can overflow on comparing to sampleCount and add log error msg. Add alert dialog, log warning, and limitation in Sequence::WriteXML() if mMaxSamples exceeded. Obviate EnvPoint::WriteXML(), unused. A few comments on some "TODO" comments. Make DirManager::WriteXML() fail in debug mode, as it should not be called.
2011-11-01 04:39:14 +00:00
mchinen
91d8f132a6
Bug 330 (P2) - Fix an issue where multiple projects would cause the warning dialogs to pop up above the wrong project.
...
I refactored the code into AudacityApp with a new timer. This is provisional pending discussion - if it is decided that it should go somewhere else I will move it.
2011-03-29 23:39:00 +00:00
v.audacity
0332c60a2a
Define one constant, PLATFORM_MAX_PATH, for maximum path value, so we don't have to do platform-specific conditionals everywhere we want to check it. In fact, we were actually checking that only for Windows. This is follow-on to Richard's message on audacity-devel about "overflow vulns".
...
Remove unnecessary declaration of MAX_PATH in BlockFile.h.
2011-01-06 00:07:59 +00:00
v.audacity
a6cb3debe9
(bug 113)
...
Comments about what's wrong with the DirManager::ProjectFSCK "Missing Aliased Files" dialog actions and what to do about it. (More to follow!)
Changed PushState for project repair from "Repair" to "Project Repair" to distinguish from Repair effect.
renames for clarity
2010-08-01 00:04:23 +00:00
v.audacity
8f8504b5a6
some progress on bug 113, including rewordings DependencyDialog based on some suggested by Gale
...
code cleanup
naming improvements for clarity (e.g., aliasedFileName instead of aliasedFile for an instance of wxFileName -- it's not an instance of AliasedFile)
parens, not square brackets, for parenthetic phrases
2010-07-28 23:06:10 +00:00
BusinessmanProgrammerSteve
47e5a2b80a
Update documentation and add checks surrounding block files
...
(since we now have silent block files with no disk file)
2010-05-08 00:58:23 +00:00
ra
e74978ba77
Locate and position the current Audacity source code, and clear a variety of old junk out of the way into junk-branches
2010-01-23 19:44:49 +00:00