1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-12-23 09:01:15 +01:00
Commit Graph

654 Commits

Author SHA1 Message Date
Pokechu22
59d740ad77 Use a dedicated velocity slider for note tracks
This gets rid of the offset rectangle hack that was needed to re-use gain
sliders for note track velocities.  It also removes the need for changing
the style of a single slider.  Perhaps most importantly, it fixes link
errors regarding GainSlider(int).

See https://sourceforge.net/p/audacity/mailman/message/35752524/ for
details on why this change is needed and what caused it.
2017-04-01 12:48:43 -04:00
Paul Licameli
0d7250578d Other methods of WaveTrack return void, will throw on failure instead 2017-03-31 18:26:52 -04:00
Paul Licameli
6c4cf46c06 Move mute and solo state into PlayableTrack 2017-03-29 13:45:08 -04:00
Paul Licameli
b2ab9b5087 Simplify MixerBoard.cpp using the PlayableTrack type 2017-03-29 13:42:51 -04:00
Paul Licameli
80984c9f1d From Pokechu22: Rename gain to velocity on note tracks
"Velocity" is the technical term, and it's the term that's used everywhere.
"Gain" was probably only used because "gain" is used on wave tracks; since
note tracks aren't wave tracks (and shouldn't be treated as them) the
corresponding variables should be named velocity.
2017-03-29 13:27:22 -04:00
Pokechu22
bdb0790150 Fix compiling when USE_MIDI not is defined
Compilation broke in TrackPanel in ed277ec and in TrackpanelAx in a96c719c.
2017-03-27 01:12:16 -04:00
Paul Licameli
39b8d99a56 WaveTrack::Get, WaveClip::GetSamples take a mayThrow=true argument...
... and pass non-default in all needed places.

Don't throw, don't put up error dialogs, in drawing or hit-test code.
2017-03-21 17:23:34 -04:00
Paul Licameli
63e44e2b6b Rearrange a few things in time shift button up...
... to reclaim some memory earlier, before possible throws
2017-03-21 14:11:19 -04:00
Paul Licameli
82dd7545c9 Reviewed uses of release(); prefer Destroy_ptr to hold window objects 2017-03-21 14:11:18 -04:00
David Bailes
ec7fe2dfcc Fix for bug 613: menu key deselects track.
When the menu key is pressed, mouse events are also generated, and one of these was interpreted as a mouse click outside the tracks, which deselected the tracks.

A possible fix would have been to make a change in TrackPanel::HandleTrackSpecificMouseEvent() so that only left clicks outside of tracks would deselect tracks.
However, I decided that a better fix was to modify TrackPanel::OnMouseEvent to ignore the mouse events generated when the menu key is pressed. This should prevent these mouse events from causing bugs in any new code.
2017-03-20 13:33:24 +00:00
Paul Licameli
e9a0876818 TrackPanel aborts any dragging action when an exception escapes 2017-03-17 17:53:03 -04:00
Paul Licameli
692a033968 Remove naked new[] in: various 2017-03-17 17:52:47 -04:00
Paul Licameli
0af9b46eac Move many fields out of Envelope that are needed only during editing 2017-03-17 17:52:31 -04:00
Paul Licameli
5fdd9fe05a Remove TrackList::GetLink 2017-03-17 17:52:29 -04:00
Paul Licameli
54aea4bccf Rewrite TrackPanel::FindTrack as FindCell ...
... which reports disjoint rectangles for the track control panel, the vertical
ruler, and the proper track area.
2017-03-17 17:52:28 -04:00
Paul Licameli
d831318132 simplify SpectrogramSettings::GetScale; abstract frequency-to-bin...
... this is a preparation for the constant-q feature, if we want it.
2017-03-17 17:52:27 -04:00
Paul Licameli
9af53f92cc un-confused editor indenting 2017-03-17 17:52:21 -04:00
Paul Licameli
81285ee0c1 More const and override 2017-03-17 17:52:20 -04:00
Paul Licameli
cde1e1eaab Remove some duplication, fix EXPERIMENTAL_OUTPUT_DISPLAY and Esc key 2017-03-17 17:52:18 -04:00
Paul Licameli
64d163ebcd Make EXPERIMENTAL_OUTPUT_DISPLAY compile 2017-03-17 17:52:18 -04:00
Darrell Walisser
43291687a5 Bug 1401 - Wait for window visibility before starting timer 2017-02-25 16:16:42 -05:00
Steve the Fiddle
14c706e16b Bug 1560 - RTP effects: Repeatable crash using Track Dropdown Menu to split during transport
Fixed by disabling some menu items during realtime preview.
2016-12-16 22:53:54 +00:00
Steve Daulton
3a9983795f Bug 1547
Fix some 'on pause' inconsistencies.
2016-11-14 10:32:55 +00:00
Paul Licameli
8b66fc4b05 Restore change of Waveform dB scale with change of magnification...
... This is done with Shift+Ctrl+wheel and pointer in the vertical ruler, and
the pointer y coordinate near the bottom of the dB scale.

If y coordinate is far from there, then Shift+Ctrl+wheel changes dB level
without change of magnification (as before this commit).
2016-10-28 12:36:26 -04:00
David Bailes
ff9763f984 Add two commands to move the cursor/selection to next/prev label
The two commands are "selection to next label" and "selection to previous label".
They have default shortcuts alt+right and alt+left.

A label track does not have to be the focus. If there is a single label track in the project, that it used. If there is more than one label track, then the first label track, if any, starting at the focused track is used.

If the commands are used during playback of the project, playback continues from the new cursor/selection.

The commands provide feedback to screen readers: the name of the label, and position in the form of "i of n".
2016-10-24 14:24:20 +01:00
Paul Licameli
25b7a0040f Make shortcut keys for moves really appear in track control menu...
These are "Moved focused track up/down/to top/to bottom" in keyboard
preferences.

There were prior changes that made any shortcuts for them appear in the track
control drop-down menu, but only after closing Preferences.  They still did
not appear after restart of Audacity, although the keystrokes had their effect.

See commit bb7dba2b67
and commit 7608e9cb52
2016-10-21 10:51:17 -04:00
James Crook
44c3474e4e Prompt with 'Command-Click' on Mac, Not 'Ctrl-Click'. 2016-10-09 22:16:18 +01:00
James Crook
d6302bc370 Count stereo tracks as one track, not two.
The TrackIterator actually iterates through channels, so we need to skip the linked tracks when counting.
2016-10-07 21:53:10 +01:00
James Crook
fe2dfca3e0 Bug 1522 - No pointer or Status Bar indication of CTRL-click in waveform to move selection boundary
I also took the opportunity to modifier the Status Bar indications when in the TrackInfo.
1) We now mention ctrl click can select or deselect track.
2) If there is only one track, we don't now prompt about rearranging tracks, since you can't.
3) If you hover in a label track's VRuler (which is just a spacer so that things line up), you now don't get a message.
2016-10-07 21:38:18 +01:00
James Crook
2add9792ce Bug 1484 - (Residual) allow an unselected track to be an anchor. 2016-10-06 20:50:45 +01:00
James Crook
44375c252a Bug 1484 - No ctrl-click toggling; History for anchor (mLastPickedTrack) 2016-10-04 09:05:47 +01:00
James Crook
37a0cd3af6 Bug 1484 - Cannot one-step extend/contract selections vertically or horizontally to specific TrackSelFunc
Progresses us a little towards closing.  Ctrl-Click on waveform now removes track selection status, not just adds it, and we don't flicker on again subsequently when we drag.  Ctrl-Click won't remove the last remaining selection (by design).  Shift-Click can now reduce us down to one track, rather than the previous behaviour when reducing track selection.
2016-10-03 13:28:25 +01:00
Paul Licameli
f993f1eadf Regularize casts as (int), so they are easier to find and review 2016-09-20 08:42:11 -04:00
James Crook
e8f5e3e084 Revert "Avoid wasteful Refresh() in stereo track spectrogram view.
Was believed to cause other problems, namely with ruler not lining up with selection.
2016-09-19 19:59:08 +01:00
Paul Licameli
0323cb8e38 be explicit about || and && precedence 2016-09-18 10:36:55 -04:00
Paul Licameli
078ff056e2 Make many conversions sampleCount->size_t are explicit and checked...
... with run-time assertions.

I examined each place and reasoned that the narrowing was safe, and commented
why so.

Again, there are places where the sampleCount variable will later be changed
to have a different type, and they are not changed here.
2016-09-15 21:02:32 -04:00
Paul Licameli
78be459fa1 Convert sampleCount <-> floating or -> long long explicitly ...
... A non-narrowing conversion out to long long is a necessity, but the
conversions to float and double are simply conveniences.

Conversion from floating is explicit, to avoid unintended consequences with
arithmetic operators, when later sampleCount ceases to be an alias for an
integral type.

Some conversions are not made explicit, where I expect to change the type of
the variable later to have mere size_t width.
2016-09-15 21:02:31 -04:00
Paul Licameli
fbfee42a00 Remove another C style cast, and an unnecessary track kind test 2016-09-15 16:10:18 -04:00
Paul Licameli
88611a4530 Fewer C-style pointer casts of tracks; comments justify static_cast 2016-09-15 12:12:43 -04:00
Paul Licameli
39d514b183 Some more const, some stl idioms, remove unused declaration 2016-09-13 22:03:58 -04:00
Paul Licameli
ed21545c80 pixel column counts and sample window sizes use unsigned types 2016-09-11 20:28:13 -04:00
James Crook
0f417a65c7 RaphaelMarinier - Initialise mFreqSelTrack (found by Valgrind) 2016-09-11 22:00:01 +01:00
James Crook
4251ef8c48 Avoid wasteful Refresh() in stereo track spectrogram view.
Thanks to Darrell Walisser for the outline of the problem, which was causing laggy dragging of stereo track sizes in spectrogram view.
This was caused by refreshing the horizontal ruler unnecessarily.
2016-09-11 16:52:49 +01:00
Paul Licameli
b973698fdf Simplify some iterations over lists 2016-09-08 12:04:08 -04:00
James Crook
2fb18e8961 Bug 1496 - Mouse down while undoing in Envelope Tool corrupts Undo stack
The Ctrl-Z was interrupting the enveloping, making it finish, but it then got asked to finish again on a mouse up.  This change stops the second finish from happening.
2016-09-03 20:19:34 +01:00
James Crook
6881163129 Bug 1484 - (Residual) Alternative Ctrl-Click behaviour on Wave
Previously Ctrl Click on Wave behaved exactly as Ctrl Click on Track Control Panel.  With this change on wave it
(a) No longer toggles.  It only adds.
(b) It will extend and can be drag extended.

It is possible to change (a) to be toggle if that is desired.
This should ease the creation and extension of discontinuous track selections.
2016-08-31 23:38:54 +01:00
James Crook
c57f829200 Bug 1484 - (Residual) Shift-Click calculates start/end for itself.
Smarter logic, which extends down from the first or up from the last.
2016-08-30 23:46:12 +01:00
James Crook
beeb0c790c Bug 1484 - (Residual) Shift click on Wave/Label to extend (once again)
It turns out that having fixed the behaviour of Shift-Click on the Track Control Panel, I'd also fixed the behaviour of Shift-Click on the wave.  But then I blew it by over riding the Shift-Click behaviour on wave to use the version that does NOT horizontally extend.  This change comments out the 'bShift' and so gives us the original Shift-Click behaviour on wave, without undoing the other fixes.
2016-08-30 09:08:24 +01:00
James Crook
965a64eb2d Bug 1484 - Cannot one-step extend/contract selections vertically or horizontally to specific tracks 2016-08-29 22:26:11 +01:00
James Crook
0f2585a8ee Bug 1253 - Assert when changing track spectrogram settings while audio I/O active
I first of all added a warning message if trying to configure while playing.
Then decided that it is more in keeping with current style to grey out the Spectrogram Settings menu item.

So the new warning message should actually never be reached.
2016-08-28 16:32:41 +01:00