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

277 Commits

Author SHA1 Message Date
Paul Licameli
3dcf802bdc Have just one scrub enqueueing function: use options for distinctions 2016-05-22 15:27:35 -04:00
Paul Licameli
cdbdd6480b Define and pass around struct ScrubbingOptions, but nothing in it yet 2016-05-22 15:27:35 -04:00
Paul Licameli
36e5b4fbbc AudioIOStartStreamOptions includes the sample rate 2016-05-22 15:27:35 -04:00
Paul Licameli
aa9afb073e Show Actual Rate in status only if playing, recording, or monitoring 2016-05-22 10:44:18 -04:00
Paul Licameli
465b743fd3 Bug1365: Do not confuse Linux key event handling...
... So click on QP during scrub had to be implemented without relying on
SafeYield() when stopping play.
2016-05-18 10:08:46 -04:00
Paul Licameli
9535dce82c Fix deadlocks in scrubbing, again, and better...
see eac6f98cbf97d9cdb240da978581ce21ec0d6f9c
2016-05-16 21:03:04 -04:00
Paul Licameli
eac6f98cbf Avoid deadlocks that sometimes happened when starting a scrub...
... as a consequence of commit 52910f4f07d41904e5f8cc5fdc5e7f8484468a00
2016-05-16 18:20:43 -04:00
Paul Licameli
8247e87dbf Allow scrub timer interval to be 1 ms, without bogus out-of-memory warnings. 2016-05-15 16:18:00 -04:00
Paul Licameli
52910f4f07 Less scrub lag: don't poll for available data, get woken up directly 2016-05-15 16:18:00 -04:00
Paul Licameli
19ef2f6681 Implement drag-scrub, compatibly with the existing move-scrub...
... Start scrub by click or double click on the scrub head; release button or
not; then move.

If you release before moving, you get scrubbing as before, controlled by
motion.  Click or drag to switch in and out of seeking.  Stop with ESC,
spacebar, etc.  No change of selection.

But now if you drag, then scrubbing contines until you release the mouse or
otherwise stop with a key.

If by release of the mouse, then the selection changes as if by a click at
the last play position.  If you hold shift, then, as if by shift-click.

If drag begins with a double-click, then the play head remains centered and
the track moves.
2016-05-10 09:37:10 -04:00
Paul Licameli
a332d3cba0 Left click in quick play area during scrubbing stops scrub, starts quick play. 2016-05-02 21:33:41 -04:00
Paul Licameli
eb6e093912 Pass arrays by reference into AudioIO::StartStream 2016-04-09 15:14:07 -04:00
Paul Licameli
b28ec2957a Make EXPERIMENTAL_MIDI_OUT compilable, but it doesn't link 2016-04-09 15:10:05 -04:00
Paul Licameli
43790cfa56 std::vector for wave track pointers; remove deprecated TrackList function; ...
... and some more uses of const
2016-03-01 20:54:48 -05:00
Paul Licameli
60bcd7aea2 Fix warnings for unused variables and functions 2016-02-26 14:56:26 -05:00
Paul Licameli
e3e10f1fc1 A few changes not using Maybe 2016-02-25 20:18:30 -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
9bf098c7d9 Sweep unnecessary wxString copies: rest 2016-02-23 02:15:56 -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
56e7653343 "delete"->"DELETE" in comments, easier to find remaining naked operator delete 2016-02-14 18:50:45 -05:00
Paul Licameli
5f76da4f5b Bug1321 (partial): Don't change output balance when closing Preferences unless...
... you really changed Device preferences.
2016-02-11 12:04:12 -05:00
Paul Licameli
321d5259a2 More uses of SampleBuffer, eliminating explicit DeleteSamples calls 2016-02-01 10:16:00 -05:00
Paul Licameli
508286661a Bug1104: If one stereo channel is shorter, don't buzz or stop playback short...
... A better fix this time!
2016-01-31 15:42:23 -05:00
Paul Licameli
fd2e36b538 Revert "Bug1104: When one stereo channel is shorter, don't stop playback at its end."
This reverts commit 0b5e35003fd921d5a1788d85b2909da94a4acaf4.
2016-01-31 15:26:44 -05:00
Paul Licameli
0b5e35003f Bug1104: When one stereo channel is shorter, don't stop playback at its end. 2016-01-31 15:19:47 -05:00
Leland Lucius
49fc3336eb Temporary fix for bug #964 2015-09-04 01:24:28 -05:00
Paul Licameli
1278b9644a Uniform naming of symbols in Experimental.h 2015-08-31 17:55:56 -04:00
Leland Lucius
133c0ec61d Fix for bug #1159 2015-08-26 00:13:14 -05:00
Paul Licameli
9d6fb54806 Bug1101: crash clicking on recording meter 2015-07-29 18:11:44 -04:00
Paul Licameli
fdf0759301 Bug1075, and define and use new event type for TrackPanel timer ticks...
... Thus allowing TrackPanel.cpp to work without including Lyrics headers.
Also eliminates some of its direct notification of MixerBoard.
2015-07-28 11:56:00 -04:00
Paul Licameli
e0621819ed Move ENV_DB_RANGE out of Envelope.h; that file can be included in fewer places. 2015-07-28 11:55:52 -04:00
Paul Licameli
cab89f6fb4 Remove Envelope.h from other headers 2015-07-28 10:02:09 -04:00
Paul Licameli
d39eaa4e65 Remove WaveTrack.h from other headers 2015-07-28 10:02:05 -04:00
Paul Licameli
4f5483b4af Scroll-seek improvements 2015-05-30 14:28:33 -04:00
Paul-Licameli
bdc2839112 Preliminaries for bug 900
Create WaveTrackCache as a utility class but don't use it anywhere yet.

The possible minor performance problem with effects is fixed by changes
in WaveTrack::GetBestBlockSize().
2015-05-26 20:02:37 -04:00
Paul Licameli
3c88f8ce4d Bugs 925, 926, 928 fixed again, better, for double click and shift too 2015-05-24 17:31:00 -04:00
Daniel Winzen
92d522132e Variable cleanup 2015-04-23 18:30:38 +02:00
Daniel Winzen
d3a308ff2b Fix errors 2015-04-22 14:53:01 +02:00
Steve Daulton
cefd21325e Redoing Steve's: Fix play from click position when Quick Play Loop in selection.
Minus the unnecessary change to ControlToolBar.cpp.
2015-04-21 20:25:33 -04:00
Paul-Licameli
a3fcf5a265 Revert unintended changes. Should have changed Ruler.cpp only.
This (partially) reverts commit 79b7caac07e92e73848b60135e1b31b08ab48724.
2015-04-21 19:37:19 -04:00
Steve Daulton
79b7caac07 Fix play from click position when Quick Play Loop in selection. 2015-04-20 04:06:07 +01:00
Leland Lucius
80c3705e7c Add new files and fix Linux includes 2015-04-17 17:37:28 -05:00
Leland Lucius
3e1fbcd5ec Additional autosave speed improvement and 1 fix
This changes the autosave XML file to a binary representation
during writing to speed up autosave processing.  A lot of the
time used during autosave is a result of having to convert and
print all of the values to the XML file.

Writing the same information, but in binary format, reduces
all of that to just the bare essentials and the actual write
I/O.

During recovery, the binary file is read and converted to
the real xML representation and processing happens as it
did before.

It is a noticeable difference with very long or many tracks.

The included fix has to do with append recording.

Say you have 3 tracks and you want to append recorded audio
to the middle track.  Sometime later Audacity crashes and
upon recovery, the recorded audio is actually appended to
the third track, not the second one.

This fixes that by adding an "autosaveid" to each track as
it is written to the autosave file.  The same ID is written
to the recording recovery appends to the autosave file.

Then, during recovery, the IDs are matched up and the audio
gets appended to the proper track.

These autosaveid attributes are only present in the autosave
file and not in saved project files.
2015-04-17 16:58:26 -05:00
Steve Daulton
702d9d75e5 Timeline Quick Play bug fixes and enhancements 2015-04-17 17:52:13 +01:00
Paul-Licameli
d988c3329f Support for scrubbing in playback engine, but unused 2015-04-17 02:35:06 -04:00
Paul-Licameli
5abfd25a34 Support backwards play, a requirement for scrubbing
Uncomment the line at the top of ControlToolBar::PlayPlayRegion to play
everything backwards and test it

It even works correctly with a time track
2015-04-17 02:25:52 -04:00
Paul-Licameli
2b85d0edb4 Preliminary function argument list changes and comments, for scrubbing project
In particular, use an options structure for AudioIO::StartStream to simplify
calls

ControlToolBar::PlayPlayRegion also takes that structure as an argument, and a
SelectedRegion instead of two times

And other changes
2015-04-17 02:25:39 -04:00
Paul-Licameli
21fd4ab374 Remove the unsuccessful scrubbing experiment of 2.0.6. 2015-04-17 02:25:26 -04:00
Leland Lucius
8fbfa460c4 Migrating the remaining effects
This brings the builtin, LV2, and VAMP effects inline with the
Audio Units, LADSPA, and VST effects.  All effects now share
a common UI.

This gives all effects (though not implemented for all):

User and factory preset capability
Preset import/export capability
Shared or private configuration options

Builtin effects can now be migrated to RTP, depending on algorithm.
LV2 effects now support graphical interfaces if the plugin supplies one.
Nyquist prompt enhanced to provide some features of the Nyquist Workbench.

It may not look like it, but this was a LOT of work, so trust me, there
WILL be problems and everything effect related should be suspect.  Keep
a sharp eye (or two) open.
2015-04-16 23:36:28 -05:00
Paul-Licameli
44fc5b9f4d Bug859 - Play indicator incorrect for very short loop plays (< 15 ms) 2015-04-08 17:45:22 -04:00