1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-10-20 17:41:13 +02:00
Commit Graph

6727 Commits

Author SHA1 Message Date
James Crook
cdf9d63760 Bug 1979 - Activate Paul's fix for Windows too.
I tested the basics, and no block files were lost.
2018-10-13 22:02:09 +01:00
James Crook
ffa67d2b1e Split AudioIO into two classes
AudioIO.cpp has nearly 6000 lines and needs to be broken up into separate aspects.
The main point of the new split is to better separate the time critical callback code (that runs in the portaudio thread) from the code that interacts with the disk (that runs in the Audio Thread).
2018-10-13 21:38:35 +01:00
James Crook
26086a4142 Split MenuCommandHandler into three classes.
Menus.cpp is over 10,000 lines.  The main point of the split is to make possible a new .cpp file for MenuCreator, which is responsible for the creation of the menu bar, and which contains the near 2,000 line function MenuCreator::CreateMenusAndCommands()

The menu handlers are also (better) separated from the menu management.
2018-10-13 21:38:34 +01:00
Paul Licameli
529e1e2afb Bug1979 partial: Faster first-time save, if possible, on Mac and Linux 2018-10-13 13:56:05 -04:00
Paul Licameli
cbe0ea84c1 Define FileNames::HardLinkeFile, but nonfunctional on Windows 2018-10-13 13:18:17 -04:00
Paul Licameli
e87e15f489 Proper deferring of DirManager's commit steps when saving-as 2018-10-13 12:55:29 -04:00
Paul Licameli
ec506ab52b Define DirManager::ProjectSetter so that commit steps can be deferred 2018-10-13 12:55:29 -04:00
Paul Licameli
0db0c6e0d5 Reorganize some commit logic in DirManager::SetProject 2018-10-13 12:55:29 -04:00
James Crook
555345392e Fix Pa_IsFormatSupported query flood (from Max Maisel)
We ask 17 times for different rates, and for some drivers that is too much of a flood.
Workaround is to use a small delay between requests.
Only happens at start up, so is acceptable to just always do it.
2018-10-12 15:59:27 +01:00
James Crook
60b2dc720e Fix incorrect wxASSERT
Also update comments to explain.
2018-10-12 10:08:31 +01:00
Paul Licameli
297f3b4d84 Fix another mistake in iteration over channels in src/commands 2018-10-11 21:40:38 -04:00
James Crook
494ab4eafe Make AudioIO::Callback() code shorter
Use subroutines, wxClip and cut out some dead code.
2018-10-11 19:58:21 +01:00
James Crook
939b967497 Refactor AudioIO::Callback()
This code had got ridiculously long (for a fast callback function) and needed to be broken up into smaller clearer named functions.
2018-10-11 18:08:42 +01:00
James Crook
e20a98588c Replace pointless looping by 'if'
The for loop was only to test if *some* track was selected, and its body only needs to be executed once.
Note that an empty IteratorRange is false and one with something in it is true.
2018-10-11 12:04:43 +01:00
James Crook
15a3ea7763 Bug 2010 - Scriptables: SelectTracks and Select incorrect for stereo tracks 2018-10-11 11:29:53 +01:00
James Crook
7e5a716e65 Fix C4458 Warnings
C4458 is 'Declaration hides class member'
2018-10-10 19:46:25 +01:00
James Crook
657159d542 Fix C4189 and C4100 Warnings
C4189 is 'Local variable initialised but not used'
C4100 is 'Unreferenced parameter'

Fixed some other warnings, e.g. about empty if, too.
2018-10-10 19:46:24 +01:00
James Crook
5fd95dd131 Fix C4456 Warnings.
"C4456 declaration hides previous local declaration."
These arise from repeated declarations of the same name.
2018-10-10 17:28:50 +01:00
Steve Daulton
5d34d022a5 Add rms.ny to Audacity bundle
Tidy translation code in init.lsp
Include rms.ny in Makefile.am
Add rms.ny to Linux package
Update Makefiles with: autoreconf --force --no-recursive
Add rms.ny to mac build
Add rms.ny to Windows build
2018-10-08 18:55:46 +01:00
Paul Licameli
14fe11f4d4 Bug2008: There was error in stereo Contrast calculation, at aee4005 2018-10-07 10:29:58 -04:00
Paul Licameli
3f928a25b0 Bug2004: Opening Mixer Board with a Note track crashed...
... Just one null check was needed, but I also add another, and use a
wxWeakRef pointer, for more safety.
2018-10-06 11:20:30 -04:00
Paul Licameli
e6e4f44c81 Bug1997: Split Stereo Track and Split Stereo to Mono were doing nothing 2018-10-05 22:09:10 -04:00
Paul Licameli
b5a7b67cb7 Fix some crashes in time-shift 2018-10-04 12:02:51 -04:00
Paul Licameli
92cceaf599 Fix usage of InconsistencyException 2018-10-04 11:44:46 -04:00
Paul Licameli
90e2da7f14 Fix uses of TrackList::GroupChannels in Mix and effect preview 2018-10-04 11:34:14 -04:00
Paul Licameli
df1103822e Don't crash in Nyquist tools with mOutputTracks undefined 2018-10-04 10:56:03 -04:00
Paul Licameli
75918918c4 Correct template parameters to std::iterator base of TrackIter...
... so that std::reverse_iterator<TrackIter<T>> works right, not making a
subtle error of return of reference to a temporary in its operator * with some
compilers.
2018-10-03 22:47:21 -04:00
Paul Licameli
50f2b0e860 Bug1995: Fix drawing of stereo tracks, bug introduced at 0c0c2c0 2018-10-03 17:19:15 -04:00
Steve Daulton
8880e1b929 Fix missing initialization from a17af37 2018-10-03 21:08:27 +01:00
Paul Licameli
cc74b0273f Fix return of reference to temporary object (that's bad!) ...
... This might be the reason for Linux crashes when playing-at-speed.

This was a bad thing to do with any compiler -- not to be blamed on
possible compiler bugs.

There was a warning about this in the XCode build.
2018-10-03 14:26:05 -04:00
David Bailes
348e7868b8 1991: On Windows, nyquist effects and analysers slower than on 2.2.2
Problem: profiled the limiter effect, and found that wxGetLocalTimeMillis() in ProgressDilaog::Update was taking up a lot of time.
The slow down of the nyquist effects and analysers was introduced by the switch to wxWidgets 3.1.1, so presumably there was some change to the implementation of wxGetLocalTimeMillis()

Fix: Use wxGetUTCTimeMillis() instead of wxLocalTimeMillis() in ProgressDialog.cpp. This is much faster on Windows, and wxWidgets recommend its use to due wxGetLocalTimeMillis() being affected by start/end summer time (daylight saving time).
2018-10-03 19:18:41 +01:00
Paul Licameli
0a55b27d2d Bug1994: Crashes in append-record...
... The crash happened in drawing code.  The recently submitted but long
developed rewriting of track and channel iterations wasn't all reconciled
with the early 2.3.0 development relating to temporary track objects for
display purposes, which was for fixing the interactions of recording and undo.
2018-10-03 13:21:15 -04:00
Pokechu22
565fef2ba9 Bug 1832: Fix adjusting time track when in logarithmic scale
The typo that caused this appears to have been introduced when this code was restructured in 9e0010ec5f.
2018-10-02 21:13:23 -04:00
Steve Daulton
a17af37c1e Fix bug 1992 2018-10-02 22:40:10 +01:00
Paul Licameli
526179b63e Remove a use of c_str 2018-10-01 19:48:10 -04:00
Paul Licameli
32d767c7f5 Track::SetLinked() and Track::SetChannel() are private...
... but class WaveTrack needs to invoke SetLinked still during project load
2018-10-01 13:42:36 -04:00
Paul Licameli
beebe648fb Remove more uses of Track::SetLinked() and Track::SetChannel() 2018-10-01 13:42:36 -04:00
Paul Licameli
894f6f4f63 Remove SetLinked() and SetChannel() from importers 2018-10-01 13:42:36 -04:00
Paul Licameli
7e6a543473 Define TrackList::GroupChannels() 2018-10-01 13:42:35 -04:00
Paul Licameli
31d46ae624 Importer functions return a vector of vector of pointers to tracks...
... grouping the channels; rather than one flat vector.

OGG, GStreamer and FFmpeg import were written to allow multiple multi-channel
tracks; others always imported one group of channels.

All of that is reflected in the results returned by the importers, though it
makes no difference yet in AudacityProject::AddImportedTracks (where the
results are used).
2018-10-01 13:42:35 -04:00
Paul Licameli
2ee87082cb Track::GetLink and GetLinked are private, but SetLinked isn't yet 2018-10-01 13:42:34 -04:00
Paul Licameli
b36c3efec1 Track::GetKind is private 2018-10-01 13:42:34 -04:00
Paul Licameli
b5f52e7c1c Remove old style track iterator classes 2018-10-01 13:42:34 -04:00
Paul Licameli
fbec3efa0c Eliminate some unnecessary track type tests 2018-10-01 13:42:34 -04:00
Paul Licameli
4aa990e835 Remove GetLink(ed) in various other places 2018-10-01 13:42:33 -04:00
Paul Licameli
c107fb298b Remove GetLink(ed) in channel manipulation menu items 2018-10-01 13:42:32 -04:00
Paul Licameli
ecc869bdbe Remove GetLink(ed) in TrackPanel resizing code 2018-10-01 13:42:32 -04:00
Paul Licameli
d2a18f01e3 Remove use of GetLink(ed) in AudacityProject::OnPaste 2018-10-01 13:42:32 -04:00
Paul Licameli
22c85dd99c Rewrite GetLink(ed) in SBSMS 2018-10-01 13:42:31 -04:00
Paul Licameli
48ae1eb3c9 Rewrite GetLink(ed) in SoundTouch 2018-10-01 13:42:31 -04:00