1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-19 01:20:04 +02:00

612 Commits

Author SHA1 Message Date
v.audacity
b2e0e984d9 Add an assert for possible null pointer dereference detected by cppcheck. 2011-11-10 20:17:44 +00:00
v.audacity
0f74ce22c9 Fix null pointer deref crash, reported by Leland. 2011-11-03 22:19:50 +00:00
v.audacity
1ceb0ef660 Apply modified version Roger Dannenberg's patch to remedy some problems from commit r10680 and fix some bugs. 2011-10-19 23:06:53 +00:00
mchinen
9bd2da0284 Bug 406 (P2) - (partial?) Fix for labeltracks in large projects being slow/laggy/jerky.
Undoes Roger's fixes for bug 255/148, as this was one component of the bug.
This fix restores TrackPanel::RefreshTrack to using a cliprect instead of doing an entire refresh.
It does it by using a repair flag in TrackPanel::DoDrawIndicator that does not advance the indicator time (so the only place the time can advance is in OnTimer)

I tested to make sure both bugs were okay after my fix.

This fix may restore usability enough to resolve the bug, but I note that there are other potential optimizations we can make, discussed on the bug 406 bugzilla comments.
2011-06-04 02:41:16 +00:00
james.k.crook@gmail.com
74490b02c7 Bug:406 Amelioration of slowdown when editing labels with long audio. 2011-05-22 13:41:01 +00:00
martynshaw99
352cca2c59 Calling Spectrograms what they are, a patch by Thor Andreassen. 2011-05-02 22:15:23 +00:00
mchinen
793f52aeab Bug 373 (P2) - fix case where a label track would crash sync lock. This problem was recently introduced by fixes to bug 373. 2011-04-29 13:27:37 +00:00
mchinen
fd7491af14 Bug 373 (P2) - fix case where right channel couldn't be successively dragged between stereo tracks without a mouse up event. 2011-04-28 18:06:49 +00:00
v.audacity
f7c48c66d2 Fix signed/unsigned compiler warning. 2011-04-26 21:49:30 +00:00
v.audacity
de184c3b86 clarifications and corrections in some comments 2011-04-26 21:19:59 +00:00
mchinen
fbe3a80ab1 Bug 373/378 (P2) - Fix a case where one track of an aligned stereo pair could be moved independently 2011-04-26 16:47:06 +00:00
mchinen
cf49d77dda Found and fixed a case where int was used where sampleCount should be 2011-04-26 14:54:41 +00:00
mchinen
015ac3f873 Bug 373 (P2) - Improve vertical dragging. Fixed an issue where stereo tracks would split up under certain conditions. Other conditions still cause this bug. Also fixed an issue where strange behavior could occur if the right channel of the stereo pair was selected for dragging. 2011-04-26 13:15:19 +00:00
mchinen
9321b1634e Bug 377 (P2) - fix case where the R channel of a stereo clip wouldn't be dragged if it was off-screen and sync-lock was off 2011-04-25 18:10:32 +00:00
james.k.crook@gmail.com
f2bf104922 Fixed various casting to (WaveTrack*) without a test for GetKind()==Track::Wave. Was causing crash in (at least) the Contrast.cpp analyze function, when a label was selected but not audio. Also fixed log-of-zero problem in Contrast.cpp when sampling silence. 2011-04-23 18:53:48 +00:00
mchinen
2b44e117bf Bug 367 (P2) - fix regression where tracks could not be dragged in normal (non-sync) mode under certain conditions 2011-04-18 18:54:18 +00:00
v.audacity
2ea3fd6553 clarifications in comments 2011-04-18 06:30:07 +00:00
mchinen
68a2c2514a Bug 367 (P2) followup - fix another crash case. Rewrite of MoveClipToTrack will need to be done as a lot of the code does not take into account sync locked tracks. 2011-04-17 23:54:30 +00:00
mchinen
89d88cc7ba Bug 367 (P2) - fix crash when sliding tracks vertically using sync lock. 2011-04-17 00:58:00 +00:00
mchinen
98182821d6 bug 310 - fix initial shift-selection conditions 2011-03-13 22:43:48 +00:00
v.audacity
880b1b8c4b Bug 258 (P2) - Mixer Board: max peak and clipping lines removed
Update comments to reflect sticking with this fix, per http://bugzilla.audacityteam.org/show_bug.cgi?id=258#c13.
2011-02-26 23:19:19 +00:00
v.audacity
20f37df3ec Bug 258 (P2)- Mixer Board: max peak and clipping lines removed
Moved updates for Mixer Board meters back to TrackPanel::OnTimer() to see if it helps Mac performance issues reported by Bill (http://bugzilla.audacityteam.org/show_bug.cgi?id=258#c9).
2011-02-26 01:50:49 +00:00
richardash1981
2a7c7de30d Commit a warnings removal patch from Benjamin Drung to correct a string of minor misdemeanors. 2011-02-07 20:24:04 +00:00
v.audacity
7a507aca95 Bugs 255 and 148 (P3)
Commented out some code. Since Roger's fix is to not use r, no reason to declare or calculate it, or link.
2011-02-04 22:02:10 +00:00
v.audacity
205a384e93 Bug 255 (P3) - Spurious drawing in wave tracks/focus border when manipulating gain sliders
Bug 148 (P3) - Label keystrokes painted at playback position 

Roger's patch for Bug 255 is to Refresh the whole TrackPanel. He says this should also fix Bug 148.

We'll see if it's too much of a performance hit.
2011-02-04 21:52:33 +00:00
v.audacity
d2d876d9a5 Bug 258 (P2) - Mixer Board: max peak and clipping lines removed
Fixed bug in resetting mPrevT1. That caused remaining issue noted in Bug 258 comments 2 and 3.

Moved call to UpdateMeters from TrackPanel::OnTimer() to audacityAudioCallback, where it calls gAudioIO->mOutputMeter->UpdateDisplay(), so the updates are synchronized with Meter Toolbar updates.

Removed unnecessary call to MixerBoard::UpdateMeters() in AudacityProject::UpdateMixerBoard().

Various cleanup.
2011-01-31 01:49:01 +00:00
v.audacity
65749d2e5f Fix Bug 258 - Mixer Board: max peak and clipping lines removed (P2).
Substantial changes to MixerTrackCluster::UpdateMeter() such that it now uses the original Meter::UpdateDisplay() rather than the override I wrote. 

I think some of the ideas in the override were good though, mainly to use max and rms from blockfiles rather than passing interleaved sample buffer to Meter::UpdateDisplay() and having it recalculate those values. May be worth revisiting. Definitely worth testing for performance issues relative to 1.3.12.

Also, since all we're doing here is updating the meters, maybe we should remove it from TrackPanel::OnTimer() and do that in audacityAudioCallback where it calls gAudioIO->mOutputMeter->UpdateDisplay(). Thread issues?
2010-11-29 22:23:17 +00:00
v.audacity
08904c22c0 Working on new bug reported by Gale about MixerBoard clipping indicators on small clipped regions.
Remove some unused cruft. Rearrange some #includes so they are grouped logically. Add comment about unclear names (bools "clipping" vs "isclipping").
2010-11-19 05:15:08 +00:00
rbdannenberg
f3b91514d2 NoteTrack channel buttons have prettier graphics in down position which now means ON; VEL_SLIDER depends on EXPERIMENTAL_MIDI_OUT (not USE_MIDI); velocity slider changes are labeled as such to Undo manager; fixed an OS X bug where backing bitmap does not get yellow highlight and then highlight on screen gets clobbered when user moves gain sliders (!); Added a high-level overview of redraw to TrackArtist.cpp. 2010-10-28 17:34:35 +00:00
BusinessmanProgrammerSteve
cb51d71099 Tilt the sync-lock tiles! 2010-10-18 01:58:57 +00:00
rbdannenberg
2fd5555378 Fixed playback/redraw interactions (redraw was converting from seconds to beats while player was trying to read seconds in another thread). Added compile-time option make channel select be the down position. Fixed problem with MIDI track mute to eliminate hung notes. 2010-10-07 21:36:39 +00:00
rbdannenberg
f52bafbf05 Removed Windows debugging commands accidentally left in. Play-at-speed should now work on NoteTracks if EXPERIMENTAL_MIDI_OUT is defined. 2010-10-06 04:55:14 +00:00
rbdannenberg
08b98dce53 PlayAtSpeed works for MIDI. Removed prefs for selecting MIDI input device (unless EXPERIMENTAL_MIDI_IN is on -- but there is no MIDI recording implemented at all) 2010-10-05 18:29:57 +00:00
rbdannenberg
a1f0e5ed5b Extensive changes to improve NoteTrack display and (some) editing, NoteTrack playback via MIDI, and Midi-to-Audio alignment. 2010-09-18 21:02:36 +00:00
v.audacity
c43b3bc387 (sync-lock)
Further shrink minimize button width and center the button in the TrackInfo, so there's a blank to left and blank-or-sync-lock-icon to right, so track can be selected easily even when minimized.

(TrackInfo::DrawBordersWithin) Instead of gray line spanning TrackInfo at top of minimize button, draw it just the width of the button, and add one to the left of the minimize button. 

Separate sync-lock icon drawing from minimize button drawing. 

Make some magic numbers become named constants.

Some renames for clarity. Clean up some unused stuff.
2010-09-16 23:08:33 +00:00
v.audacity
a07fe36456 Change "Sync-Lock Tracks" button image from chain-link to clock.
EXPERIMENTAL_LINKING -> EXPERIMENTAL_SYNC_LOCK

Restore some "border" lines in TrackInfo.


Get rid of unused DEFINE_COLOUR( clrTrackInfoSyncLockSel...).

Clean out some undocumented commented-out code. Add/remove some comments.
2010-09-14 05:52:01 +00:00
v.audacity
1663db9915 (sync-lock)
Change sync-lock tile and icons to be clock instead of chain link. (Yet to change sync-lock button image.)

Make click on sync-lock icon select track.

Remove bevels on regions holding controls, so that bevels are only on controls themselves. This removes confusing border line above sync-lock icon, and simplifies the TrackInfo.

Be more specific about class methods vs stand-alone functions in comments.
2010-09-12 05:11:43 +00:00
v.audacity
702894c67d (Sync-Lock)
Commented out the one call to TrackInfo::DrawBordersWithin(). This eliminates all the dark lines within the TrackInfo, in an effort to make the sync-lock icon not look like a button. It leaves some lighter borders, and I think that's an aesthetic improvement, though it make be worse in terms of accessibility. I can also remove the light border above the sync-lock icon, but I think this looks best overall.

In Track::IsSyncLockSelected(), for the "// Not in a sync-locked group." conditional, it returned true if the track was selected. I made it do so only if track kind is Wave or Label. Among other things, this means Time and Note tracks will never show the sync-lock icon. I think this is correct by definition, but Al, please let me know if this will have negative repercussions elsewhere. There are *lots* of calls to that method and I can move the track-type check to the code that draws the sync-lock icon..

Fixed the bug Gale pointed out where, if a WaveTrack is shrunk such that the sync-lock icon is over a TrackInfo control, such as pan slider, it didn't intercept the mouse event, and passed it on to the control. Now, clicking on the sync-lock icon does nothing. 

Fixed a bug where the sync-lock icon was redrawn dark when the minimize button is down. Now not redrawn at all in that case.

Added some clarifying comments, especially about the term "Label" as used in TrackPanel.*.
2010-09-09 00:46:40 +00:00
v.audacity
961d8cdeca Review calls to AudacityProject::ModifyState() and TrackPanel::MakeParentModifyState() to possibly add param to make AudacityProject::ModifyState() optionally not call AutoSave(). There is only one place (TrackPanel::OnSetDisplay()) where autosave is definitely not necessary, so don't change it now.
Also made a few places (e.g., AudacityProject::OnSetLeftSelection()) call AudacityProject::ModifyState() only if the selection actually changed.
2010-08-30 03:24:40 +00:00
v.audacity
2df6400213 TrackPanel::ExtendSelection() was repeatedly calling MakeParentModifyState() during dragging, causing tracks on the undo stack to be repeatedly deleted and copied, and AutoSave() repeatedly called.
Only TrackPanel::SelectionHandleClick() and TrackPanel::SelectionHandleDrag() called ExtendSelection(). I made ExtendSelection() not call ModifyState() and moved it into SelectionHandleClick. 

When dragging completes, the (event.LeftUp() || event.RightUp()) clause in TrackPanel::HandleSelect() calls AudacityProject::ModifyState().
2010-08-29 22:51:43 +00:00
v.audacity
536af8ad52 (Sync-Lock)
Fixed bug Martyn noticed, where clicking on the sync-lock icon caused the track to (un)minimize. This was because TrackInfo::GetMinimizeRect() was still returning the full size, which I had just adjusted in TrackInfo::DrawMinimize(), so the capture test in other places was wrong. Moved the size adjustment into TrackInfo::GetMinimizeRect(). 

Also got rid of unused bool minimized parameters of TrackInfo::GetMinimizeRect() and TrackInfo::DrawMinimize(). It wasn't used at all in TrackInfo::GetMinimizeRect(), so I replaced it with bIsSyncLockSelected, so it can determine whether to reduce the width to give room for the sync-lock icon. For TrackInfo::DrawMinimize(), it was unnecessary, because the track was also getting passed in, so no need to call t->GetMinimized() in every call to DrawMinimize() -- just call it within DrawMinimize().
2010-08-25 22:34:17 +00:00
v.audacity
cfe369f232 Sync-Lock:
Remove tiles from rulers. They were interfering with visibility of ruler marks.

Restore the icon to TrackInfo, but not in the title bar. Instead, when sync-lock is on and the track IsSyncLockSelected(), decrease the width of the minimize button and show the icon to the right of it. This way, it shows even when the track is minimized.
2010-08-24 19:32:54 +00:00
v.audacity
50ea5acf27 Consolidate multiple names for the same feature: sticky/linked/sync/synchro/grouped -> sync-lock. 2010-08-11 23:56:50 +00:00
v.audacity
f28d91a599 Consolidate multiple names for the same feature: sticky/linked/sync/synchro/grouped -> sync-lock. 2010-08-11 23:15:00 +00:00
v.audacity
209a2b193d Consolidate multiple names for the same feature: sticky/linked/sync/synchro/grouped -> sync-lock. 2010-08-11 22:47:26 +00:00
v.audacity
afd7dec991 Fix Bug 163 - Aborting a track name change writes a name change to history.
The logic was flawed -- did updates and PushState even when user canceled or hit OK with a blank name.
2010-07-30 22:03:59 +00:00
v.audacity
2f139f524d Remove link icon from TrackInfo title bar. 2010-07-27 01:25:44 +00:00
v.audacity
e30ce7ddb7 Remove EXPERIMENTAL_LYRICS_WINDOW and EXPERIMENTAL_MIXER_BOARD. They've been in every beta for almost a year, so they're no longer experimental. 2010-07-21 04:53:38 +00:00
mchinen
811c4ffbc3 fix for crash on sort by name 2010-05-04 03:14:43 +00:00
BusinessmanProgrammerSteve
db39f6262b Keep a constant set of gain/pan sliders -- this allows Audacity
to open projects with very large numbers of tracks without
crashes (Windows) or major slowdows.
2010-04-21 05:03:24 +00:00