Commit Graph

1923 Commits

Author SHA1 Message Date
Paul Licameli 197ebc2994 Bug2583 residual: Re-placement of cutlines when generating sound 2021-01-25 12:06:24 -05:00
luzpaz 7a3bdcf3f2
Fix typos (user facing and non-user facing) (#727)
Found via `codespell v2.1.dev0`  
`codespell -q 3 -S *.po,./lib-src -L parm,parms,toke`
2021-01-24 09:46:08 +00:00
Paul Licameli 0df8fbcc74 Bug2583: Re-placement of splits after paste 2021-01-23 14:38:36 -05:00
Leland Lucius af0fdda8f6 Add missing include 2021-01-23 02:42:57 -06:00
Leland Lucius e9d4a8e538 Bug 2517 - Mix Stereo To Mono incorrectly changes sample rate to Project Rate without resampling - it should resample to the project rate 2021-01-23 01:45:32 -06:00
Leland Lucius e67fcd6aba Bug 2625 - Nyquist plug-ins Presets fail for plug-ins with "time" widgets 2021-01-20 16:20:36 -06:00
Leland Lucius b6ceff9b2a Bug 2625 - Nyquist plug-ins Presets fail for plug-ins with "time" widgets 2021-01-20 10:45:13 -06:00
Paul Licameli 4668e351a5 Rename enum value to eWinFuncHann 2021-01-17 12:24:38 -05:00
Paul Licameli 43574553fc Break dependency cycle introduced at 50f3321...
... This only cuts and pastes some functions from FileNames to another new file
and namespace, and changes namespace qualifiers where they are called.

The cycle resulted because of the need to include widgets/ErrorDialog.h
2021-01-16 13:28:37 -05:00
JohnColket 549dacf054
2582 enh repeat last process (#722)
* Enhancement: Add Repeat Last Process

* add include UndoManager.h
2021-01-15 14:22:38 +00:00
freddii 534359de6c
Fix minor typos (#720)
Co-authored-by: freddii <https://freddii@github.com>
2021-01-12 11:56:09 +00:00
freddii 2593a84d56 Fix some spelling mistakes. 2021-01-12 09:55:31 +00:00
SteveDaulton 7e6842c1f9 Remove Silence Finder plug-in
as discussed between QA and RM.
2021-01-09 20:20:42 +00:00
SteveDaulton f57e69cfca Replace Sound Finder with Label Sounds
also fixes bug 2352:
Sound / Silence Finder fail silently on selection > 2^31 -1
2021-01-06 16:52:39 +00:00
Paul Licameli 4871584cb3 Mixer::WarpOptions constructor for common case 2020-11-30 13:42:35 -05:00
Paul Licameli caa312ab7b Remove some unneeded #includes and forward declarations 2020-11-20 13:47:47 -05:00
Steve Daulton c3a47d0a75
Bug 2585 - Incorrect help file address for Loudness Normalization 2020-11-17 17:35:50 +00:00
SteveDaulton 22dbe0a17a Fix bug 2563 - Button text ignored in Nyquist file widget 2020-10-05 21:18:03 +01:00
Paul Licameli ec323c13d9 Add conventional #include guards to two header files 2020-09-26 15:26:25 -04:00
Paul Licameli d3ab8b7f76 Compatibility sanity check for inserting clips into a WaveTrack...
... And don't move from the shared pointer argument
2020-09-19 19:16:47 -04:00
Leland Lucius c60bf1c994 Fix build 2020-09-18 09:55:49 -05:00
Leland Lucius 6749d5b6fa Bug 1215 - Incorrect splits produced by Change Tempo with leading whitespace 2020-09-18 09:24:45 -05:00
Leland Lucius 3605d73d12 Bug 2534 - Change Speed merges selected clip with adjacent clips 2020-09-18 09:00:50 -05:00
Leland Lucius 5bca69ca31 Fixes for bugs 2534 and 1215 2020-09-17 23:22:00 -05:00
Leland Lucius 5342d980fb Bug 2367 - Change Pitch effect may create spurious clip at end
Fixes residual mentioned in Comment #11
2020-09-06 03:37:57 -05:00
Paul Licameli e7b3c2b99f Cut and paste TransactionScope into DBConnection.* files 2020-09-05 14:44:34 -04:00
Paul Licameli ddc2593282 TransactionScope only requires DBConnection not ProjectFileIO 2020-09-05 14:35:24 -04:00
Paul Licameli c17b804750
Dont delete sample blocks prematurely (#648)
* Revert "AUP3: Don't delete sample blocks prematurely"

This reverts commit c1884349d5.

* "Don't delete sample blocks prematurely" fixed otherwise...

... and very simply.

Problem was that, only for an interactive effect (like Bass and Treble), the
save point was created, rolled back, created again, then committed.

But (unlike with the non-savepoint commands, even if savepoint is outermost),
rolling back a savepoint really just rewinds it without removing it -- therefore
the second savepoint was inner, but the first (outer) was never committed, so
some changes failed to persist.

Solution:  add a commit after rollback of savepoint to implement destructor
of AutoCommitTransaction.

The reversion of c188434 also leaves AutoCommitTransaction as a better RAII
style operation.  Rollback changes by default -- keep changes only if
success is explicitly indicated.

* Rename AutoCommitTransaction as TransactionScope...

... More appropriately, since it's now the rollback that is automatic but
the commit that must be explicit
2020-08-28 15:38:38 -05:00
Paul Licameli 4ca3e7096f
Track factory cleanup (#646)
* Don't need TrackFactory to make LabelTrack

* Don't need TrackFactory to make NoteTrack

* Don't need TrackFactory to make TimeTrack, or ZoomInfo in the factory

* Remove some forward declarations

* Rename TrackFactory as WaveTrackFactory, move it out of Track.cpp
2020-08-22 18:44:49 -05:00
SteveDaulton 25ddfc7bb4 Nyquist Prompt: Remove legacy code checkboox 2020-08-17 22:16:04 +01:00
Leland Lucius 58adb94747 Bug 1686 - Equalization effects ignore and remove any amplitude envelope 2020-08-09 03:07:41 -05:00
David Bailes 1d9a78b8c8 Bug 2517 - Mix Stereo To Mono incorrectly uses Project Rate
Fix:
Use the sample rate of the tracks.
2020-08-07 11:22:06 +01:00
James Crook dad27f9eea Bug 2509 - Filter curve and Graphic EQ help links are broken in release version 2020-07-28 12:19:35 +01:00
Leland Lucius e2d6e1cc24 AUP3: Update default/lastused path handling 2020-07-27 14:11:50 -05:00
Leland Lucius c1884349d5 AUP3: Don't delete sample blocks prematurely
The wrong sample blocks would be deleted at close in step 6:

1) New Project
2) Save and name
3) Import one stereo MP3 (about 6 minutes)
4) Save, close and re-open
5) Apply Bass and Treble to the track using real-time preview
6) Save, close and re-open
7) Message Failed to retrieve sample block
2020-07-25 20:03:23 -05:00
Paul Licameli a8fd6c6ce8
Preliminaries for grouped block deletion (#628)
* Change usage of AutoCommitTransaction::Rollback...

... It is the more useful pattern (as in many finally blocks) for the failure
path in the destructor (which rolls back) to be the default, but an explicit
call must inform it of success.

This corrects the early return paths in Effect::DoEffect().

Throw inconsistency exception if Commit() is called again after having been
called once, successfully

Also remove a friend declaration

* UndoManager's interface uses consistent 0-based indexing of states...

... Returned by GetCurrentState() and used by SetStateTo(),
GetLongDescription(), GetShortDescription()

* SampleBlock::GetBlockID is const

* Generalized function to visit sample blocks used in a TrackList...

... Eliminating some duplication; put it in WaveTrack, not Track, to avoid
a dependency cycle.

* Eliminate more repetition with BlockSpaceUsageAccumulator

* Function to delete all blocks of/not-of a given set in one command
2020-07-23 11:17:29 -05:00
SteveDaulton c7c679ffed Bug 2507 Nyquist fails if track or project name contains quotes 2020-07-23 16:57:38 +01:00
Leland Lucius 7e9a3f49b8 AUP3: Wrap effect processing in a transaction
This is solely for performance reasons and has
nothing at all to do with recoverability.
2020-07-21 16:39:18 -05:00
Leland Lucius 84f363ee07 AUP3: Simplify checkpoing and add checkpoint progress dialog
Also move the project file closure out of the ProjectFileIO
destructor and does it before the project file window is
destroyed.
2020-07-20 11:10:31 -05:00
Leland Lucius d2b4a0e488 AUP3: Put checkpointing in a separate thread
This is highly experimental.  It's defers most checkpointing
to a separate thread to see if we get better throughput and
less choppiness when applying effects.
2020-07-19 03:28:02 -05:00
David Bailes c174b254a1 Bug 2487 - Playback meters and preview of non-real-time effect
Problem:
Playback meters do not respond during preview of non-real-time effect.

Commit ba6db6e added the meters into AudioIOStartStreamOptions.
However Effect::Preview(bool) was not modified to set the playback meter.

Fix:
In Effect::Preview(bool), use DefaultPlayOptions, which includes a playback meter.
2020-07-16 14:41:48 +01:00
Leland Lucius 5b41115bd0 AUP3: Mostly rework of CopyTo()
It now uses VACUUM INTO instead of the SQLite backup API
in hopes that the copies will be smaller. And VACUUM INTO
is "supposed" to be faster, but time will tell.  It's easy
to put the backup API usage back in.

This also fixes a bit I missed with redoing the orphan block
handling that was reported by Paul.

And finally, it renames the AutoRecovery.cpp/.h files and AutoSaveFile
class to ProjectSerializer since the AutoSaveFile class is being
used for regular project documents now and it doesn't write to a
file anymore.

If anyone has a better idea for a name other than ProjectSerializer
feel free to change it.  I hate naming things.
2020-07-10 00:50:52 -05:00
David Bailes 5b4c9b3425 Bug 2498 - Loudness Normalization always displays LUFS on launch
Problem:
On opening, the units were always LUFS, and the "treat stereo as dual-mono" check box was always available.

Fix:
On opening, adjust the controls which depend on the value of the Normalize choice.
2020-07-09 15:48:01 +01:00
Paul Licameli 88ba35f520
Fix exception handling, as when trying to edit read-only database... (#607)
... Problem is that the delayed undo handling (in the lambda in AudacityApp ::
OnExceptionInMainLoop) should itself have only non-throwing steps.

But there was a redundant attempt at autosaving in ProjectHistory ::
RollbackState, which itself requires another data base write.

But when "rolling back" the in-memory structures to whatever the current state
of undo history is, we can assume that any required autosave was completed
before the current state of undo history was set.

So for rollback only, do not autosave again when discarding changes and
restoring the state.  (But do it still, throwing on failure, when moving around
in the undo history, among saved states.  We do want to keep the last autosave
consistent with the in-memory state.)
2020-07-08 00:44:41 -05: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 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
Paul Licameli e4260e2e95 virtual dtors should be non-inline 2020-06-14 21:00:06 -04:00
Leland Lucius 87cae3f0c8 Mac: AudioUnit effects are not applied if you initially use the preview 2020-06-14 13:58:30 -05:00
Paul Licameli 3869a8f460 Remove allegro.h from other headers 2020-06-14 10:32:16 -04:00
Paul Licameli a7408a7f80 Remove TimeWarper.h from other headers 2020-06-13 11:22:41 -04:00
Paul Licameli 1bce7c1979 Disambiguate "Silence" 2020-06-06 15:14:42 -04:00
Paul Licameli 782ef138e0 Bug2431 residual: Restore commit 5e8cfb0...
... as urged by Leland.  It is really needed for a more complete fix.

This reverts commit 9894abc4f4.
2020-06-06 14:59:32 -04:00
David Bailes 13ec3300a9 Bug 2471 - Mix Stereo down to Mono fails if space at start of track
Fix:
In the constructor for Mixer, the start and end times should be in seconds, not sample numbers.

Also fixed in passing, in computing end time of a track, the max of the two channels should be used, rather than the min.
2020-06-05 14:33:45 +01:00
James Crook 296a9a2291 Bug 2468 - Python scripting of Nyquist effects must set ALL parameters, or all parameters are ignored.
My code is for normal Nyquist effects.  This fix also incorporates a fix from Leland for Nyquist Prompt.  Thanks Leland.
2020-06-03 12:45:15 +01:00
Paul Licameli 3646bb8afe Bug2431: Enable checkbox for ALL realtime effects should work...
... not just for AudioUnits, but also WahWah, VST, etc.
2020-05-29 20:54:45 -04:00
Paul Licameli c973f0d8ed Do restore a piece of 5e8cfb0c5adf9b3f917123e4d04d00423206d7d5...
... to initialize a variable
2020-05-29 20:54:45 -04:00
Paul Licameli 9894abc4f4 Revert "Bug 2431 - Mac: Real-time effects - Enable checkbox has no effect"
... so I can make a more general fix, for more than only AudioUnit effects

This reverts commit 5e8cfb0c5a.
2020-05-29 20:54:45 -04:00
James Crook 637712489f Bug 2428 - Nyquist Effects do not display a Progress Dialog if run from a Macro. 2020-05-29 21:54:18 +01:00
Paul Licameli 9360359e9d
Module manager (#549)
* Eliminate ModuleManagerInterface...

... It was there only to provide RegisterModule(), but that was not used
anywhere.  So simplify.

* Remove nested #include of ModuleInterface.h
2020-05-29 10:48:52 -05:00
Paul Licameli e9f63d43d1 Contexts & i18n-hints suggested by Joachim Huffer (thanks!) 2020-05-28 16:34:00 -04:00
Paul Licameli f3d91f488e Remove extern declarations from .cpp files...
... Require the declarations to be in .h files, to be sure graph.pl detects the
dependencies.

Only one more #include was needed in Nyquist.cpp.   This doesn't reveal any
more hidden cycles.
2020-05-28 05:50:25 -04:00
Paul Licameli fa4d35296e AllThemeResources.h has a .cpp & doesnt include Theme.h...
... (it used to, via MacroMagic)

This splits a cycle of 8 into 6 + 1 + 1
2020-05-28 05:50:24 -04:00
Paul Licameli 4ff0a9d74e Can build for windows without precompiled headers...
... Requires some more wx header inclusions, a renaming of CopyFile (to avoid
colliding with a certain macro changing it to CopyFileW), and an explicit
deletion of a copy constructor and assignment (to avoid generation of
std::vector members for an incomplete type)
2020-05-27 17:36:25 -04:00
Paul Licameli 83d5c81578 Change a function return from wxString to TranslatableString 2020-05-26 12:04:11 -04:00
Leland Lucius 5e8cfb0c5a Bug 2431 - Mac: Real-time effects - Enable checkbox has no effect 2020-05-25 18:27:46 -05:00
Paul Licameli 7fbfc2b292 Finish the job of 30dbdf4, deleting abandoned source files...
... And correcting #include paths, and removing mentions in read-me files, and
correcting CMakeLists.txt
2020-05-25 17:21:05 -04:00
Paul Licameli 95195a783f Enable optional context arguments for i18n in Lisp 2020-05-24 14:55:08 -04:00
Paul Licameli 67ce74d5ef Some example uses of XC and XPC...
... Really needed only for "White" but harmless in the other uses.  Also more
i18n-hint comments.

There may be need to disambiguate other strings.
2020-05-24 14:55:08 -04:00
Paul Licameli 6beeb86a6a Nyquist can still parse the older format for file controls 2020-05-24 12:22:40 -04:00
Paul Licameli 55c5a5f692 Allow continuations of Nyquist control lines either with $ or with ; 2020-05-24 12:20:46 -04:00
Leland Lucius fadc024432 Initial changes to build against wx313 2020-05-23 13:08:21 -05:00
Paul Licameli 7cf9263889 Simplify Loudness effect UI with a notebook...
... so that we don't need to recreate the validators and change label texts
after constructing the dialog.

This eliminates 4 uses of macro _ .
2020-05-23 13:56:39 -04:00
Paul Licameli 63c49db0ce Don't internationalize logged strings; -29 macro _ calls 2020-05-23 08:07:24 -04:00
Paul Licameli db690d94f7 Remove 27 various macro _ ...
... and supply a few missing translations in Dependencies.cpp

And substitute-don't-concatenate in a few places in Internat.cpp
2020-05-23 08:07:24 -04:00
Paul Licameli 7fb4652c88 Remove some unused functions and forward declarations 2020-05-23 05:16:59 -04:00
Paul Licameli c941647db6 Replace last wxProgressDialog with ProgressDialog; remove all wx/progdlg.h 2020-05-22 20:44:08 -04:00
Paul Licameli f1ae8109ee Internationalize file type choices for Nyquist as we do in C++ ...
... That is, present translators with msgids containing only the descriptions
of the file types.  No punctuation.

This eliminates the last wxFileDialog, replacing it with FileDialogWrapper.
2020-05-22 20:34:42 -04:00
Paul Licameli 3542eb4ca0 Replace wxFileDialog with FileDialogWrapper in two places 2020-05-22 20:19:02 -04:00
Paul Licameli c44ae15a4d Remove inclusions of wx/filedlg.h 2020-05-22 20:18:51 -04:00
Paul Licameli c63cbf01eb Be careful of static initialization of arrays of FileType 2020-05-22 20:14:02 -04:00
Paul Licameli 4d09705a73 Change XO to XXO in many more places, with no effects at all...
... because the two macros have the same expansion, and are both checked for
in the --keyword arguments passed to msgfmt by locale/update_po_files.sh.

This commit makes ONLY such changes, and comments in Internat.h.  It is big
but quite harmless.

The intention is to introduce a type distinction in a later release, by defining
XXO differently.  XXO is used where & characters in strings (for hotkeys of menu
items or control prompts) are permitted, XO where not.
2020-05-22 13:07:50 -04:00
Paul Licameli 5cef2cd3e4 Remove a few macro _ 2020-05-22 13:07:49 -04:00
Paul Licameli d22b650e6a Fix two typos for translated strings, now that strings are unfrozen...
... See commit 97fba037a4.
2020-05-22 12:48:49 -04:00
Paul Licameli f8a070dde7 Rename macro wxPLURAL as XP (brief, and eliminates mention of "wx") 2020-05-22 12:48:49 -04:00
SteveDaulton 29d1a7b7b1 Fix bug 2392
Commit 66fd95f3d6 reverted.
2020-04-20 11:26:57 +01:00
Paul Licameli 106119cb28 Make a scale factor in Compressor like all other scale factors...
... Multiply by it before putting value TO the slider.  Divide by it taking the
value FROM the slider.
2020-04-19 21:07:51 -04:00
Paul Licameli ee797f59de Fix bug in effect presets dialog...
... introduced at 46e99bb038
2020-04-18 22:31:51 -04:00
Leland Lucius e8f9f4a7e9 Bug 1336 - Tracks -> Mix Stereo to Mono ignores envelope 2020-04-17 14:52:31 -05:00
Leland Lucius a6d0b3f902 Bug 2360 - Scripting: "Message:" command may crash when using Nyquist with Python 2020-04-16 22:14:45 -05:00
Leland Lucius 9827d4a753 Bug 2360 - Scripting: "Message:" command may crash when using Nyquist with Python 2020-04-15 10:10:00 -05:00
Leland Lucius 9f5177056d Bug 2365 - Show Log text is invisible on W10- set to "High Contrast" 2020-04-14 16:42:00 -05:00
Leland Lucius 3653f5f3bf Bug 1807 - NyquistPrompt Scripting command is not functional
Try #3, but I'm pretty sure this is the one.  :-)
2020-04-14 11:37:57 -05:00
James Crook 97fba037a4 Two typo fixes for translated strings.
The extra logic causes the new string to be used, if the old one is untranslated.
2020-04-14 15:49:46 +01:00
Leland Lucius bbbe58719f Bug 2036 - Mac: Some AU plug-in effects can be enabled but fail to register 2020-04-12 14:02:10 -05:00
Paul Licameli 8fad3651a0 More corrections in comments 2020-04-11 10:26:49 -04:00
Yuri Chornoivan d1ada5f08c Fix minor typos 2020-04-11 10:06:24 +01:00
Leland Lucius ead26dd2aa Bug 1807 - NyquistPrompt Scripting command is not functional
2nd attempt... :-(
2020-04-05 14:54:11 -05:00
Paul Licameli 61abb87a77 Reviewed all i18n-hint comments...
... Moved many misplaced ones, which msgfmt would not have extracted into
audacity.pot.

Duplicated some of them, to appear with related but distinct msgids.

Added a few new comments.

Deleted one that was no longer needed in ProjectManager.cpp.
2020-04-05 09:00:00 -04:00
Leland Lucius 0523e292a3 Bug 1807 - NyquistPrompt Scripting command is not functiona 2020-04-04 16:11:11 -05:00
Leland Lucius c840133dd8 Bug 2384 - Filter Curve EQ error in non-English locale 2020-04-04 02:54:55 -05:00