1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-08-12 06:01:13 +02:00

455 Commits

Author SHA1 Message Date
Paul Licameli
b6a6b8e73e Rewrite iterations over sync-lock groups 2018-10-01 11:09:20 -04:00
Paul Licameli
fd10ed26cd Use TypeSwitch and track_cast in TrackPanel 2018-10-01 10:58:33 -04:00
Paul Licameli
05ddfaf82b Remove TrackList::Select 2018-10-01 10:47:51 -04:00
Paul Licameli
5c6fd64a0e TrackList::GetPrev and ::GetNext are private 2018-10-01 10:44:58 -04:00
Paul Licameli
89748cbe3c Remove "skiplinked" argument of old track iterators 2018-10-01 10:35:46 -04:00
Paul Licameli
4998a5cea5 Rearrange some logic in TimeShiftHandle::Click 2018-09-29 14:13:30 -04:00
Paul Licameli
68eb24545b More factoring of TimeShiftHandle::Drag 2018-09-29 14:12:54 -04:00
Paul Licameli
d812513979 More factoring of TimeShiftHandle::Drag 2018-09-29 14:11:50 -04:00
Paul Licameli
fc5f7331d1 More factoring of TimeShiftHandle::Drag 2018-09-29 14:08:40 -04:00
Paul Licameli
aa3c3a8d5a More factoring of TimeShiftHandle::Drag 2018-09-29 14:07:23 -04:00
Paul Licameli
37b3968dd6 Some factoring of TimeShiftHandle::Drag 2018-09-29 14:06:00 -04:00
Paul Licameli
b79f5d9291 Simplification and better comments relating to time-shift...
... fewer switches on USE_MIDI.  In fact capturedClipArray is nonempty
whenever capturedClip is not null.
2018-09-29 13:55:34 -04:00
Paul Licameli
4a55b0d0cc Remove unused functions 2018-09-29 13:55:34 -04:00
Paul Licameli
920970c7c0 Enable snapping to other tracks, time-shifting with Shift key down...
...It seems that was inadvertently disabled when note tracks were first added.

Also remove unnecessary #ifdef branch.
2018-09-29 13:26:04 -04:00
Paul Licameli
35f5555216 Track::mChannel has an enum type 2018-09-29 12:42:46 -04:00
Paul Licameli
9481587fa8 Move menu handling functions out of class AudacityProject 2018-09-29 12:10:27 -04:00
Paul Licameli
b881b06b53 When scrubbing backwards unpinned, scroll tracks by whole panel width 2018-09-09 13:53:51 -04:00
Paul Licameli
f31a1a6f8e Don't halt scrub playback with display paging at high magnification 2018-09-09 13:40:10 -04:00
Paul Licameli
52ad43daac Scrubbing at high mag, play head won't stray left of track edge 2018-09-09 13:10:01 -04:00
Paul Licameli
03def8dbaf Bug1967: scrub shouldn't be clicky...
... And this further simplifies the use of the clock.  Rely on the regularity
of spacing between calls to FillBuffers at commit a62cf53
2018-09-09 11:01:01 -04:00
Paul Licameli
a56a5be30b Replace _ with XO (won't affect generated audacity.pot) 2018-09-03 09:10:45 -04:00
Paul Licameli
af276ac4f9 Now implement scrubbing default to unpinned, see commit ac1017e...
... This was motivated by punch and roll recording:  it appears most convenient
to pin the head for recording purposes, and drag it near the right, but when
stopping and finding the splice point for the correction, it is better to
scrub unpinned.
2018-08-31 10:46:08 -04:00
Paul Licameli
9aad60d12c Make polling loop period slightly shorter than Audio thread loop...
... but we don't need to make it as precise, using steady_clock.

Do this so that the Audio thread doesn't read the same polling message twice,
halting the scrub.  It's all right that it might miss one of the messages
instead.
2018-08-27 17:02:37 -04:00
Paul Licameli
ba52753ff7 Scrub options don't need starting time 2018-08-27 17:02:36 -04:00
Paul Licameli
9d17d335b7 Poller thread leaves messages, Audio interprets; a buffer not a queue 2018-08-27 16:53:16 -04:00
Paul Licameli
a62cf53161 Make AudioThread wake-ups as uniformly spaced as we can 2018-08-27 16:53:16 -04:00
Paul Licameli
4e461f8755 Explicit scrub shut-down signal replaces the "nudge" 2018-08-27 16:41:45 -04:00
Paul Licameli
303ac9367a Start scrub polling before the PortAudio stream...
... A part, but only a part, of the fix for "bounce" at start of scrub
2018-08-27 16:41:45 -04:00
Paul Licameli
550d514e06 Changes of names and comments relating to scrub, don't mention queue 2018-08-26 10:01:06 -04:00
Paul Licameli
eeb5f1ec20 Revert "Fix the hiccup at the start of scrub or play at speed..."
(It didn't really achieve what that commit comment said)

This reverts commit 26f72b110ceb07bc837eec5450084c6f5421ebb7.
2018-08-25 19:42:12 -04: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
3bb48a21df Bug 1932 - (Residual) Fix stopping behavior with Play-At-Speed.
1. The rate actually used by the sound card now sets the stopping sample number.
2. The tolerance in the 'stop position' is additionally trimmed to 20 samples.
2018-08-19 10:37:43 +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
Paul Licameli
328aa58966 Bug1933: commit 2c28af05e8be98aa9ab609823d1ff1d27fb needs null checks 2018-08-12 15:44:08 -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
James Crook
ddd1494e75 Fix crash from following NULL pointer
GetControlToolBar() can return NULL when closing windows/projects.
2018-08-09 18:29:57 +01:00
Paul Licameli
3f0b3bf1b8 Try to flash the pin even less at extreme positions 2018-08-07 10:27:37 -04:00
Paul Licameli
54807caa1a Correct flashing of the pin when dragged to extreme left or right 2018-08-06 21:58:42 -04:00
Paul Licameli
1c5e523a1e A preference governs where the pinned head goes, not always exact center 2018-08-06 21:58:42 -04:00
Paul Licameli
7cfda551dd Move scrub click handling into a UIHandle, eliminate OnMouseEvents...
... And the one-shot hack can be simplified away.
2018-08-05 17:18:25 -04:00
Paul Licameli
153eb63b3e Rest of quick play mouse handling is invoked from UIHandle...
... and ESC key aborts the drag of play region
2018-08-05 17:18:25 -04:00
Paul Licameli
d76777bef7 Each cell can define cursor, status, and tooltip in default of hit tests 2018-08-05 13:28:36 -04:00
Paul Licameli
aeece118e8 Rewrite the handling of quick play indicators...
... All updates of position are done in DoGetRectangle().  Ruler need only
expose one function, DrawOverlays().

Don't redraw indicators twice when dragging (hiding and showing again), making
some flicker.  Just do one update.
2018-08-04 15:35:36 -04:00
Paul Licameli
5f27ae905c Changed misleading terminology in scrubber...
... It was confusing that HasStartedScrubbing() could be true
while also not IsScrubbing()
2018-07-29 14:20:11 -04:00
James Crook
f13e621bc1 Bug 1906 - Issues with dynamic Play-at-Speed
This fix addresses the remaining issue, issue 4, that the selection was often cleared when Play-at-Speed stopped.
The problem was that Scrubbing 'Set Selection to here' code was not being disabled by the Play-at-Speed state.
2018-07-27 17:13:03 +01:00
Paul Licameli
98a72acfb8 Remove unnecessary moves of return values 2018-07-24 21:25:22 -04:00
Paul Licameli
e432883dec Fix deprecation warnings with wxFont, wxPen, wxBrush ctors...
... Replace some enum constants with the equivalent values from the more
special-purpose enums, as the wx header files recommend, so overloading
selects the ctors with non-int arguments.

In a full rebuild of the debug project on Mac, this reduces the count of
warnings from 264 to 274.
2018-07-23 13:21:15 -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
James Crook
5caa14e4f9 Bug 1906 - Issues with dynamic Play-at-Speed (Shows as Scrubbing)
Fixed issue 2, i.e. the scrub indicator no longer appears during Play at Speed, and the status bar now says 'Playing at Speed' rather than 'Scrubbing'.
2018-07-21 19:11:08 +01:00
James Crook
f5999954c4 Fix crackle when playing at low speed. 2018-07-20 23:10:37 +01:00