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

12167 Commits

Author SHA1 Message Date
Leland Lucius
1405f3a41e AUP3: Add aup3 to the Info.plist for the Mac 2020-07-06 18:59:22 -05:00
Leland Lucius
0bea15077b AUP3: UP-15 - cannot update a project
At least the project file doesn't get deleted now.
2020-07-06 18:55:53 -05:00
Paul Licameli
4206e1ff6d
Sqlite open bugs (#603)
* Docs say: call sqlite3_close even when sqlite3_open returns error

* Be careful of possible failures of AutoSave...

... In ProjectHistory operations, do the AutoSave first and throw if there is
a failure.

Only then change UndoManager's state, confident that it remains consistent with
what was AutoSaved.

* Throw exceptions if lazy opening of project's database fails...

... because the calls to DB() as in Sqlite3SampleBlock may be in deeply nested
places that can't propagate the error codes; and besides, those functions
had been assuming non-null returns from DB(), which might have crashed before,
but now the assumption is correct when the throw didn't happen.

Note that this exception may also happen during attempted Autosave.  Uses of
Autosave were reviewed and some changes made in the previous commit.
2020-07-06 15:42:18 -05:00
Paul Licameli
0c92d1ed74 Better comments in WaveClip.* after commit 1276968 2020-07-06 16:08:36 -04:00
Leland Lucius
6c2cd2057c Maybe fix the Action build for Linux 2020-07-06 02:48:33 -05:00
Paul Licameli
bf9bad5a6e Fix typo in a message 2020-07-06 01:31:41 -04:00
Leland Lucius
f7db5043c5 AUP3: UP-17 - Projects can be larger on UP-3.0.0
Partial relief only.  This only addresses first symptom and it
will needs to have a progress dialog added.
2020-07-05 23:24:25 -05:00
Leland Lucius
2084c39046 Fix build Mac and Linux 2020-07-05 19:25:06 -05:00
Paul Licameli
3d0e86a8f8 Correct substitution of long long values into SQL queries...
... Reviewed all sqlite3_snprintf and only these had problems
2020-07-05 17:25:16 -04:00
Leland Lucius
22e90cbf72 Fix stupid test 2020-07-05 16:05:43 -05:00
Leland Lucius
b96b8bccc1 AUP3: UP-18 - Closing Audacity is slower with UP-3.0.0 2020-07-05 15:22:52 -05:00
Leland Lucius
1777afa596 AUP3: UP-23 - Macro commands 2020-07-05 14:32:20 -05:00
Paul Licameli
8b3f9fae58
Sqlite errors (#601)
* Null checks on return from std::make_shared are unnecessary...

... instead std::bad_alloc would be thrown in case of memory exhaustion, which
we don't try to recover from.

* Restore uses of the mayThrow arguments in Sequence...

... that became unused at commit d39590cf41e1e1eac02fc52d88a1ad018824f77b.

It's important to ignore exceptions from SampleBlocks when only displaying, not
editing or playing, and just treat missing data as silence.

Pass the boolean into the SampleBlock routines.  But the throwing of exceptions
is not yet implemented.

* SampleBlockFactory functions guaranteed to return non-null or throw...

... which corrects Sequence.cpp, which was assuming non-null results.

This supplies the throw statements that the previous commit comment says were
still lacking.

This corrects the absence of checks of returns from sql_bind_... function calls
in SqliteSampleBlock.cpp.  (Other calls remain to be checked elsewhere.)

User visible error messages, carried by the exceptions, might be improved.

* Restore the try/catch in AutoSaveFile::Decode...

... which was introduced at 2ba17c78d6758c2f64f2ccfec9af0c537525cea4

but removed at d39590cf41e1e1eac02fc52d88a1ad018824f77b, yet without removing
the throw statement

which left the program vulnerable to abrupt termination instead of graceful
failure, when uninterpretable auto save contents are detected.
2020-07-05 14:13:30 -05:00
Leland Lucius
c1407cdca9 Force use of our wxWidgets and fix RPATH handling 2020-07-05 13:39:57 -05:00
Paul Licameli
33210ec8c7 Add sqlite3.h to CMakeLists.txt for easier browsing in the IDEs 2020-07-04 15:48:32 -04:00
David Bailes
a415c3fe38 Commit 51b3b0f - minor update
Using init capture removes any danger of using the wrong value of MacroReentryCount
2020-07-04 12:56:42 +01:00
David Bailes
51b3b0f19a Bug 2499 - Macros: applying macro to project focus problem
Problem:
Applying macro to project always sets first track as focus.

The problem was introduced by commit 06cddda, which accidentally declared cleanup2 in the wrong scope.
This meant that ProjectHistory::RollBackState() was always called, which eventually causes TrackPanel::OnUndoReset() to be called, which sets the first track to be the focus.

Fix:
Declare cleanup2 in the correct scope.
2020-07-04 09:06:53 +01:00
David Bailes
d966303558 First commit
If any of the commands are cancels, an entry for the macro remains in history.
2020-07-04 08:58:58 +01:00
Leland Lucius
4f129ae0af AUP3: Change database blocksize to 64KB
Preliminary tests show it to be a bit faster than the default
4KB.  For a simple example, generate 2-hour chirp dropped from
11 seconds to 7 seconds.  Not a lot, but...
2020-07-03 20:43:53 -05:00
Leland Lucius
f3816b30d9 Not ready to commit ImportAUP.cpp just yet 2020-07-03 18:00:56 -05:00
Leland Lucius
015ba548c2 AUP3: Add SaveCopy macro command
To go along with new menu item.

And adjust prompting for filenames in Save dialogs to return
to Save dialog if file can't be overwritten.
2020-07-03 17:12:26 -05:00
Leland Lucius
c04ed76b6b AUP3: Fixes a couple of reported issues
Add the missing "File -> Save Project -> Backup Project..." menu item

Allows "File -> Save Project -> Save Project" to save unmodified
projects.
2020-07-03 14:38:57 -05:00
Leland Lucius
337e223754 AUP3: Change journal format to WAL
And remove the deletion of the journal file.
2020-07-03 11:34:53 -05:00
Leland Lucius
48287e9b0d AUP3: Provides relief from slow shutdown
This is a hack to fix the long delay at Audacity shutdown
after editing large files and tossing the results (not
saving).
2020-07-02 22:08:39 -05:00
Paul Licameli
127696879d
Unitary changes (#599)
* Define SampleBlockFactory replacing static members of SampleBlock...

... This will become an abstract base class

* Sequence and WaveTrack only store SampleBlockFactory not Project...

... This adds a dependency from Track to SampleBlock which temporarily enlarges
a cycle in the dependency graph

* Register a global factory of SampleBlockFactory...

... so that later we can make an abstract SampleBlockFactory, separate from the
concrete implementation in terms of sqlite, and inject the dependency at startup
avoiding static dependency

* New concrete classes SqliteSampleBlock, SqliteSampleBlockFactory...

... separated from abstract base classes and put into a new source file,
breaking dependency cycles, and perhaps allowing easy reimplementation for other
databases in the future.

Note that the new file is a header-less plug-in!  Nothing depends on it.  It
uses static initialization to influence the program's behavior.

* Compile dependency on sqlite3.h limited to just two .cpp files...

... these are ProjectFileIO.cpp and SqliteSampleBlock.cpp.

But there is still close cooperation of ProjectFileIO and SqliteSampleBlock.cpp.
This suggests that these files ought to be merged, and perhaps ProjectFileIO
also needs to be split into abstract and concrete classes, and there should be
another injection of a factory function at startup.  That will make the choice
of database implementation even more modular.

Also removed one unnecessary inclusion of ProjectFileIO.h

* Fix crashes cutting and pasting cross-project...

... in case the source project is closed before the paste happens.

This caused destruction of the ProjectFileIO object and a closing of the sqlite
database with the sample data in it, leaving dangling references in the
SqliteSampleBlock objects.

The fix is that the SqliteSampleBlockFactory object holds a shared_ptr to the
ProjectFileIO object.  So the clipboard may own WaveTracks, which own WaveClips,
which own Sequences, which own SqliteSampleBlockFactories, which keep the
ProjectFileIO and the database connection alive until the clipboard is cleared.

The consequence of the fix is delayed closing of the entire database associated
with the source project.

If the source project is reopened before the clipboard is cleared, will there
be correct concurrent access to the same persistent store?  My preliminary
trials suggest this is so (reopening a saved project, deleting from it, closing
it again -- the clipboard contents are still unchanged and available).
2020-07-02 18:11:38 -05:00
Paul Licameli
1fcb77ebce
Unitary fixes (#598)
* Eliminate unneeded back-pointer to project from non-wave Tracks...

... now that DirManager is gone

* Remove unused declarations

* SampleData::mProject was not used

* Correct ProjectFileIO::GetLibraryError

* Remove unnecessary #include directives
2020-07-02 11:42:25 -05:00
SteveDaulton
e7fd679ae6 Bug 2500 - 'EQ XML to TXT Converter' fails on CRLF line endings 2020-07-02 00:50:16 +01:00
Paul Licameli
b4ce083185 Prevent possible dangling pointers to Project from Clipboard 2020-07-01 18:38:45 -04:00
Leland Lucius
8ea07572c1 AUP3: Several fixes
These mainly address the bugs that Steve reported and a couple
more I found along the way.

Corrected ProjectFileIO::GetMinMaxRMS() - It was still using the
original method of keep all block data in memory.  I missed it
when I redid everything.  Fixes his Amplify crash.

Temporary filenames should no longer be shown to the user.

Resaves will no longer present a Save As dialog.

Cleaned up duplicate pathname handling in ProjectFileIO.

Returned proper errors when loading a project
2020-07-01 13:26:20 -05:00
James Crook
299710f0a9 Add comments to document the SQL. 2020-07-01 14:55:06 +01:00
James Crook
bc50e21532 .aup3 Tweaks
- SQLite added to libs in readme.txt
- User message 'aup not associated' updated to 'aup3'
- Typos strind -> string, in -> is
- No translation of debug message
2020-07-01 12:59:38 +01:00
Leland Lucius
d39590cf41 AUP3: First round of updates
!!! THERE WILL NO DOUBT BE BUGS !!!

This is a big one and there's still several things to
complete. Just want to get this in the wild to start
receiving feedback.

One big thing right now is that it will NOT load pre-aup3
files.  An importer is on the way for that.
2020-07-01 02:30:18 -05:00
Leland Lucius
b1beb20ae9 AUP3: Remove obsolete audio file cache 2020-07-01 01:14:10 -05:00
Leland Lucius
cbf1bb558e AUP3: Removes OD code related to project file handling
This removes all of the OnDemand code embedded throughout
    the main codebase. Individual files related specifically
    to OD have been left in place, but removed from the build.
2020-07-01 01:14:05 -05:00
Leland Lucius
2fbfd3e0a5 AUP3: Add SQLite to the project 2020-07-01 01:13:37 -05:00
Henric Jungheim
639a82a4a0
Be more careful when handling grid keyboard navigation. (#589)
If the grid is empty or does not have a selected cell, the current
row and column must still maintain these class invariants:
   -1 <= current_row < rows
   -1 <= current_column < columns
    if either current_row or current_column is -1, then the other
       shall also be -1

wxGrid uses wxGridNoCellCoords to test for current_row == -1 &&
current_column == -1.  We treat the case where only one
of the coordinates is -1 as if both are -1.
2020-06-29 16:34:50 +01:00
Antonio P
7d2aad8c6a
Update audacity.desktop.in (#583)
Spanish (es) traslation added
2020-06-29 16:32:44 +01:00
Grzegorz Pruchniakowski
3fa7e76ade
kr => ko in Korean (#585)
kr => ko in Korean
2020-06-29 16:30:48 +01:00
James Crook
9acabbbed3 Fix mw2html byte artifact issues.
The conversion from Python2 to Python3 had some issues.
- Characters outside the ASCII range got converted to \xe2\x80 numbers
- Single quotes got escaped.
- The entire doc was enclosed in quotes.

These changes address those, and also remove html comments.
2020-06-28 11:07:17 +01:00
James Crook
de50f55f61 Update build instructions 2020-06-28 11:03:49 +01:00
James Crook
d42f0e327c Start development of 3.0.0 2020-06-28 11:02:43 +01:00
James Crook
16d52f63a4 Windows: Update setup wizard Audacity-2.4.2 2020-06-19 16:16:47 +01:00
James Crook
191704cc07 BUILD_LEVEL set to 2, ready for release. 2020-06-19 15:26:41 +01:00
James Crook
bf0d27de33 Update README.txt 2020-06-19 15:25:31 +01:00
Leland Lucius
eeb8122a1d
Bug 2488 - Windows: Change Pitch effect with high quality stetching much slower in 2.4.1 than 2.3.1 (#580) 2020-06-19 09:54:15 +01:00
Seanán Ó Coistín
1e9fe1c954 Update Irish Translation 2020-06-18 23:08:35 +01:00
Grzegorz Pruchniakowski
fdcaff90ac
Update Polish Translation (2 string fixes) (#578)
Two fixes, dźwięku and uzyskać.
2020-06-18 15:15:20 +01:00
Antonio Paniagua Navarro
ceaa29187b Update Spanish Translation 2020-06-18 12:45:28 +01:00
Hussam al-Homsi
f74dcb7ca6 Update Arabic Translation 2020-06-18 12:44:34 +01:00
Dimitris Spingos
660426294a Update Greek Translation 2020-06-17 22:18:48 +01:00