1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-18 17:10:05 +02:00

277 Commits

Author SHA1 Message Date
James Crook
74d0420b96 Bug 1763 - Clicks on starting/stopping playback.
Does not fix the Loop-Play part.
2018-08-25 17:21:18 +01:00
James Crook
b91300caf0 Bug 1947 - Clicky play when dynamically changing number of playing channels
Rather than 'cut' (i.e. drop, not cut as in 'cut preview') channels immediately, we now only do so
if their last gain was already 0.0.  Instead they micro-fade out.  Later when the channels come back,
their last gain will be 0.0, so they will micro-fade in.

A comment explains that the code would be cleaner if we just computed gains, and not whether to
drop channels.
2018-08-25 13:07:45 +01:00
James Crook
0ce83abbfb Bug 1940 - Clicky play when adjusting Pan or Volume TCP controls 2018-08-24 22:30:20 +01:00
Paul Licameli
06b5d2e945 Bug1932 followup: Times, not sample counts, in scrubbing options...
... because the correct rate is not known where options are constructed
2018-08-20 20:44:10 -04:00
James Crook
aaad7dd08d Bug 1932 - Scrubbing (and Play-at-speed) with WASAPI host (MSW only) or very short buffer preference (on Mac also) is very clicketty 2018-08-18 20:35:18 +01:00
Paul Licameli
26f72b110c Fix the hiccup at the start of scrub or play at speed...
... We need to start the polling of mouse state before starting the audio
stream, and not "nudge" AudioThread, so that AudioThread primes the ring
buffer correctly, not inserting some silence.

This requires yields to timer events in AudioIO::StartStream.
2018-08-16 21:21:44 -04:00
Steve Daulton
11da92d668 Allow capture retries if time since Rescan() < 10s
The time since Rescan() of recording device is the important factor,
not the "newness" of the project.
2018-08-13 00:33:38 +01:00
Steve Daulton
835abd9be3 bug 1885 Linux: Allow retries when opening capture
On launch, Audacity scanning the sound system causes Pulse to grab
exclusive control of the audio device, causing the device to be
unavailable until Pulse times out and releases it.

If an attempt is made to start recording from the hardware device (hw:)
immediately after launch, PortAudio will time out before the device is
released. In this case we need to retry opening the capture stream.

(This also applies to monitoring).
2018-08-12 19:14:56 +01:00
Steve Daulton
1d22ca5789 Improve error message when capture stream fails
Rather than just guessing at the cause of the error, include the actual
error string from PortAudio.
2018-08-12 19:14:56 +01:00
Paul Licameli
3886113b91 More efficiency in TrackTimeUpdate 2018-08-11 20:37:23 -04:00
Paul Licameli
ce1ce688ff Try to clarify real time / track time distinction in comments...
... Rather than the confusing old terminology of "warped" time, meaning the
real time after accounting for time track, though that persists mostly in the
names of variables now mostly used only within PlaybackSchedule.

"Track" time refers to a position in a wave track, as indexed by the time
ruler.

"Real" time is indexed by the other scale of numbers drawn in the time track,
which is drawn on the screen with nonuniform spacing (so "warped" in that
sense), but it corresponds to uniform actual time.
2018-08-11 15:14:18 -04:00
Paul Licameli
6126f2f626 Make a one-time dynamic check that atomic<double> doesn't use mutexes 2018-08-11 00:29:44 -04:00
Paul Licameli
3f1d9ab8c1 P & R recording: change color of pin button, as for play indicator 2018-08-11 00:26:34 -04:00
Paul Licameli
0d9972b3e0 Some member functions of AudioIO can be const 2018-08-10 22:58:33 -04:00
Paul Licameli
f036700b09 Make PlaybackSchedule::mTime atomic and rename some functions...
... The variable ought to be atomic because it is read and written by different
threads.

Use local variables to avoid repeated reads of the atomic.
2018-08-10 21:30:14 -04:00
Paul Licameli
8a78ae280c Factor out a piece of the big callback 2018-08-10 17:33:18 -04:00
Paul Licameli
af81dfa10b Bug1922: updating play indicator when looping with a time track 2018-08-09 13:18:53 -04:00
Paul Licameli
871bc65c8e Fix loop play again (error introduced at 46d7804) 2018-08-09 11:39:51 -04:00
Paul Licameli
6f7eaf7746 Fewer calls to GetActiveProject() in AudioIO.cpp 2018-08-08 17:30:43 -04:00
Paul Licameli
2472b128d3 Fix compilation of EXPERIMENTAL_AUTOMATED_INPUT_LEVEL_ADJUSTMENT 2018-08-08 17:08:54 -04:00
Paul Licameli
197122c7d5 Collect initialization of playback schedule into a function 2018-08-08 16:36:42 -04:00
Paul Licameli
6e4d11e5af Fix loop play 2018-08-08 14:26:32 -04:00
Paul Licameli
46d7804cdf Group some of the fields of AudioIO into PlaybackSchedule 2018-08-08 14:10:21 -04:00
Paul Licameli
175a471261 Remove " == true" 2018-08-08 12:34:47 -04:00
Paul Licameli
fc8783bc74 Put callback in a member function, remove many more gAudioIO-> 2018-08-08 12:30:10 -04:00
Paul Licameli
fc497368a5 Remove needless gAudioIO-> in member functions (AudioIO is singleton) 2018-08-08 12:30:10 -04:00
James Crook
f0637eeb85 Bug 1906 - Issues with dynamic Play-at-Speed (Play doesn't pop up)
Fixed issue 1, i.e. the play button does not pop up after play at speed completes.
2018-07-21 21:14:30 +01:00
Paul Licameli
2c7ca97095 Reimplement change of color of playhead after pre-roll, more simply 2018-06-11 18:27:18 -04:00
Paul Licameli
77779395c7 Revert "Play head is green during pre-roll, then turns red for real recording"
This reverts commit 8e51391b98ad7a98f49c98929a10322dd551391f.
2018-06-11 18:23:56 -04:00
Paul Licameli
8e51391b98 Play head is green during pre-roll, then turns red for real recording 2018-06-09 14:40:09 -04:00
Paul Licameli
c0fb140257 Fix crashes in resampling of capture during recording 2018-06-01 12:53:26 -04:00
Paul Licameli
a0256e935c Recording options allow crossfade data for start of recording 2018-06-01 04:28:58 -04:00
Paul Licameli
f9cd5595d5 Stop playback of pre-rolled tracks at the right time 2018-06-01 04:28:57 -04:00
Paul Licameli
35c60ac96d Allow for preRoll in start-stream options 2018-06-01 04:28:55 -04:00
Paul Licameli
20f3f76e2f Correct limit of record duration when track rate differs from input 2018-06-01 04:28:54 -04:00
Paul Licameli
35a97e09e7 Group arguments to StartStream, and a bit less of #ifdef for MIDI play...
... And pull choice of tracks and options out of DoRecord
2018-05-29 00:22:12 -04:00
Paul Licameli
f355320e5d Don't lose the fractional part of latency prefernce setting! 2018-05-28 16:13:45 -04:00
Paul Licameli
f32073412b Fix precision of right edge of punch-in when not overdubbing too 2018-05-26 23:59:21 -04:00
Paul Licameli
a3abacd55d Adjust for latency as you record, don't wait till after stopping...
... Adjust whenever recording, regardless whether there is any overdub
playback too.

May adjust by discarding samples when the Track Shift after Record preference
is negative (as by default); or, by inserting silence into the start of the
recording, when that preference is positive, though that may be less useful.

Perhaps the preference control should no longer be called "Track Shift after
Record."
2018-05-25 07:21:46 -04:00
Paul Licameli
0887d6d01e When recording into region selection, stop it precisely 2018-05-24 17:05:44 -04:00
David Bailes
a22be24ae3 Bug 1863: Windows crash when resampling in WASAPI
Problem: soxr_process doesn't like being called with length of buffers equal to zero.

Fix: don't call it, when this is the case.
2018-05-22 11:34:12 +01:00
Paul Licameli
1269fff8e1 Ignore the time track during overdub recording. 2018-05-17 15:49:53 -04:00
James Crook
b60fae4470 Fix some warnings on mac
These are mostly missing 'overrides'
2018-04-07 20:28:27 +01:00
Paul Licameli
2ea5741e2e Redo format setting choices in Quality preferences 2018-03-25 14:46:53 -04:00
andheh
3dd0ce0459 fixed a signed vs. unsigned warning in src/AudioIO.cpp 2018-03-06 20:54:06 +00:00
andheh
1efe69e8b9 fixed a initialization order warning in src/AudioIO.cpp 2018-03-06 20:54:06 +00:00
James Crook
6509947de8 Fix some MSVC warnings. 2018-03-02 12:04:37 +00:00
Steve Daulton
1ef4d73629 bug 1839 - Consistent recording behavior
Same behavior whether there is playback or not.
2018-02-28 21:20:06 +00:00
James Crook
11fa48d66f Fix some warnings. 2018-02-27 22:26:23 +00:00
James Crook
636e137ee8
Merge pull request #257 from Polynomial-C/no_midi
Fix --without-midi build
2018-02-22 17:26:56 +00:00