1
0
mirror of https://github.com/cookiengineer/audacity synced 2026-04-24 23:13:42 +02:00
Commit Graph

360 Commits

Author SHA1 Message Date
lllucius
e47bb71b08 Re-adds the ability to reset peaks while recording
It also disables the "start/stop monitoring" menu item 
while recording.  Not really necessary, but...
2014-12-28 21:06:58 +00:00
lllucius
4126acac6b Fixes missing recent peak value
And re-introduces double buffering on Windows.
2014-12-28 20:49:37 +00:00
lllucius
d1af695919 Fix non-UNICODE build 2014-12-28 20:02:00 +00:00
lllucius
97251986ed Set preferences dialog title based on meter type 2014-12-28 06:25:16 +00:00
lllucius
a3786dd78a Both input meters should track monitoring/capture status
So you can switch between the combined and independent 
recording meters at will.
2014-12-28 06:15:09 +00:00
lllucius
6a3ef5565c Independent meters with combined menu/icon
Many other changes including:

1)  Independent preferences
2)  Automatic layout separated from vertical/horizontal orientation choices 
3)  Combined menu and icon which saves space
4)  Click to start monitoring label no longer covers peak hold line completely
5)  Click to start monitoring label now adjusts label based on available width
6)  Click to start monitoring label now appears on vertical meter (not sure about this one...)
7)  Reduced width of vertical meter by moving icon to left of meters
8)  Includes a compact vertical meter now
9)  Clipping indicator is easier to see
10) All 1-off drawing issues resolved (99.9% sure...I challenge you to find some ;-))
11) Bevels around meters are no longer overlaid by meter updates
12) "Old" menu handling code removed
13) Though not perfect since some non-English characters are taller/wider than the meters, non-English text is now handled better
14) Clicking play meter resets indicators as appropriate
15) Indicators on meters now stick around until the meter is clicked
16) Ugly flashing while resizing is now gone
17) There should be NO magic numbers in the code.  Every +1 or -2 is explained in comments...
18) Size of L/R labels are recalculated now when preferences are updated (to pull in locale changes)
2014-12-28 03:18:00 +00:00
lllucius@gmail.com
f00932a7ff Fix vertical meter not working on Mac...broken by r13802 2014-12-24 02:31:21 +00:00
lllucius@gmail.com
b942e8085f Fix display corruption on Mac when using compact meter 2014-12-22 21:16:51 +00:00
james.k.crook@gmail.com
cf1a7a849a Fixed problem where clicking on recording meter menu drop-down could also toggle monitoring on/off state.
The code was using Evt.LeftIsDown() so movement (with the mouse down) could toggle state.  Changed to only respond on the down event, i.e. Evt.LeftDown().
2014-12-22 15:10:14 +00:00
stevethefiddle@gmail.com
86a71bd71b Partial fix for bug 802. 2014-12-21 18:57:25 +00:00
lllucius@gmail.com
e2bced3a0a Start metering on left click...ignoring double click time 2014-12-20 20:03:04 +00:00
stevethefiddle@gmail.com
3e3701954a Fix - Spectral Selection Toolbar units. 2014-12-19 18:45:27 +00:00
lllucius@gmail.com
9a23598d3f Fix for Linux and Mac builds...
Tried to second guess the headers neads and failed.
2014-12-19 17:05:54 +00:00
lllucius
9bbc261321 Attempt #2 at taming the meter toolbars
It corrects several "multiple project" problems with the
meter toolbars and meters.

In addition, there was a "multiple project" issue where
the transport buttons didn't disable properly in the
non-active project.
2014-12-19 16:38:56 +00:00
lllucius
d978d99fde Part 2 of fix from r13782 and monitoring fix
This fixes the monitoring fix Bill described here:

http://audacity.238276.n2.nabble.com/First-go-at-the-meter-toolbars-committed-tp7566196p7566209.html
2014-12-18 08:00:18 +00:00
lllucius
02539ea792 Missed one in the last commit... 2014-12-17 19:22:23 +00:00
lllucius
fe42e881a5 First stab at taming the meter toolbars
This should correct at least a couple of the reported
issues.  And it also has some fixes in for multiple
project support.
2014-12-17 19:16:08 +00:00
lllucius
431166561e Getting rid of some warnings...mostly unused parms 2014-12-15 21:51:02 +00:00
lllucius@gmail.com
db5118255b Fix for bug #759
See bug for more info
2014-12-14 16:01:21 +00:00
lllucius@gmail.com
bfb1284573 Fix for unwanted cursor persistence outside of project window
This seems to only happen on the Mac and has to do with
how wx2.8.12 handles cursor setting.
2014-12-12 21:56:49 +00:00
lllucius
e752848d5e Fixes meter orientation problems as described here:
http://audacity.238276.n2.nabble.com/Problems-with-recording-meter-when-changing-vertical-horizontal-orientation-tt7565895.html
2014-12-11 08:51:18 +00:00
lllucius
556a425467 Fix for bug #777...OnKeyUp was not being called 2014-12-04 07:40:29 +00:00
lllucius@gmail.com
d6f4279c8b Fix Mac and Linux builds 2014-11-30 04:44:42 +00:00
james.k.crook@gmail.com
94c243cb2e No disabled state for meters. Monitoring can be on or off. Input meter now has prompt when monitoring off.
I haven't got rid of the preferences for disabled/enabled.
2014-11-29 21:10:44 +00:00
james.k.crook@gmail.com
7324997db6 Fix for http://bugzilla.audacityteam.org/show_bug.cgi?id=643 "Residual consistency issues with SHIFT showing Loop Play button icon" by Paul Licameli.
* Loop play-at-speed and cut preview play-at-speed implemented.
* Shift or ctrl down now affect all relevant buttons, loop or cut preview, normal or at speed, and append-record.
2014-11-29 17:22:05 +00:00
v.audacity
7c23be0126 comments regarding Proposed Features #1, at http://wiki.audacityteam.org/wiki/Proposal_Timer_Record_Improvements 2014-11-25 03:59:29 +00:00
v.audacity
d8783554e3 hack to adjust a wxASSERT that was failing on small (<1%) overage of nGaugeValue 2014-11-25 03:27:17 +00:00
stevethefiddle@gmail.com
1dfbe5974e Apply Leland's Read Only Numeric Text Control to Change Speed effect. 2014-11-23 22:54:24 +00:00
james.k.crook@gmail.com
2527327fd7 Fixed meany/many typo. (reported by Yuri Chornoivan) 2014-11-16 13:39:18 +00:00
lllucius
ad92e8c4bf One more round of effects changes.
The big thing is the common efffects UI.  Right now Ladspa and VST
have been converted to use it and Audiounits will be next.  It makes
everything nice and consistent while reducing the clutter in the
dialog.

Other goodies are:

Ladspa effects now show output controls when supplied by the effect
Ladspa effects now work fine as Analyze type effects
Ladspa now has user presets
VST effects dialog is now less cluttered...leaving more room for the effect
Ladspa and VST effects now share a common UI
Ladspa and VST effects are now usable in chains
Ladspa and VST effects now handle user presets the same way
Currently active effects settings automatically saved and reloaded
Can now do numeric range checking on input fields.

And, as always, plenty of critter squashing.
2014-11-14 03:03:17 +00:00
james.k.crook@gmail.com
34b9133031 Fix type problem with wxWidgets 3.0: Use enum wxRasterOperationMode instead of int. [Patch 0022] from martin@steghoefer.eu
This change from the old int type to the real enum wxRasterOperationMode was missed during the fix of similar problems in r13403 (when similar fixes were applied), probably because ImageRoll and the affected variable are currently unused and the problem therefore doesn't cause a compilation error and is only fixed preventively.

Compatibility with wxWidgets 2.8 is assured thanks to a conditional definition of wxRasterOperationMode as int in ImageRoll.h, introduced in r13403.
2014-11-13 21:13:11 +00:00
james.k.crook@gmail.com
72dfbcc587 Fix crash with wxWidgets 3.0: Cursor recapturing in track panel sliders [Patch 0019] From martin@steghoefer.eu
wxWidgets 3.0 has added a lot of asserts to detect incorrect usage
of its APIs. Now capturing the cursor, when it's already captured,
throws an assertion failure. As the assertion failure window
appears at a very inconvenient moment (when the cursor is captured),
this can lead to Audacity crashing or can even render the whole
Desktop Manager unusable until you find a way to kill
Audacity without using your Desktop Manager (e.g. ssh login)!

The recapturing can occur in the track panel sliders because
the sliders capture the cursor themselves (because they are
also used in other places outside the track panel, where
this is actually necessary), but the track panel also manages
the cursor capturing because it needs it for other operations.

Fixed the recapturing problem by letting the sliders capture the cursor
only if necessary.
2014-11-13 20:48:54 +00:00
james.k.crook@gmail.com
bce372bfee Tooltip on recording meter toolbar now changes with meter on/off 2014-11-13 16:29:08 +00:00
james.k.crook@gmail.com
649315c644 From: martin@steghoefer.eu [patches 0017 and 0018] Fix compilation problem with wxWidgets 3.0:
0017: Encapsulation of reference type returned by wxString::operator[]
0018: Interface change for classes deriving from wxGridTableBase


0017
----
The NumericTextCtrl relies on the fact that the value returned by
wxString::operator[] is a "wxChar&". However, in wxWidgets 3.0 it is a
wxUniCharRef (encapsulation of a reference to characters, to improve unicode
handling).

wxString::reference provides the correct type in both wx2.8 and wx3.0 and can be
used as writable reference in both cases. However, for the case of an update of
the reference itself (instead of the value), there is no common syntax. In this
case the character position within the string has to be used as reference.

0018
----
With wx3.0, different methods have to be implemented (EndEdit with new signature
and ApplyEdit) than with wx2.8 (only EndEdit with old signature). Now both
versions are implemented in parallel in the classes TimeEditor and ChoiceEditor
(one version essentially being a wrapper of the other one).

Note: Superseding the previous solution of the issue (committed in r13403) by one
that avoids code duplication. This should avoid problems with missed changes in
code that isn't used with the wxWidgets version that the developer tests with
(like just happened in r13557).
2014-11-10 19:28:17 +00:00
stevethefiddle@gmail.com
c061d3cf4f Fix corruption of menu arrow on single height rms meter. 2014-11-10 14:52:54 +00:00
james.k.crook@gmail.com
a09d3717fa Added experimental LED style for meters. 2014-11-09 17:54:49 +00:00
james.k.crook@gmail.com
9e931c806c Restored numbers on compact meter bars. 2014-11-09 17:03:11 +00:00
james.k.crook@gmail.com
24a636d6ea Tidy up of code. Moved preferences menu to end of meter. Fixed memory leaks on some bitmaps. 2014-11-09 16:44:07 +00:00
james.k.crook@gmail.com
7ee3c47441 Added Space-Saver meters. These are now the default.
Fixed ResetToolbars so that SpectralSelectionBar is not shown after a reset.
2014-11-09 15:47:09 +00:00
lllucius
0880d1777a Renaming TimeTextCtrl to preserve history.
(If I got it right.  ;-))
2014-11-09 14:35:18 +00:00
james.k.crook@gmail.com
8a9987a0d9 From: martin@steghoefer.eu [PATCHES 02-15 of 15] Fix runtime problem with wxWidgets 3.0:
Correct string formatting for:
2/15  %d + enum => %d + int
3/15  %lld + int64_t => %lld + long long
4/15  %d + int64_t => %lld + long long
5/15  %d + double => %f + double
6/15  %d + int32_t => %d + int
7/15  %d + intptr_t => %p + void*
8/15  gint, guint
9/15  %d + long => %ld + long
10/15 %n + int => %d + int
11/15 %x + int => %x + unsigned int
12/15 %f + int => %d + int
13/15 %S + wxChar* => %s + wxChar*
14/15 %d + size_t => %d + int
15/15 %d + size_t => %lld + long long

"The functions wxString::Format, wxString::Printf (and others indirectly) have become stricter about parameter types that don't match (format specifier vs. function parameters). So the bugs (that were already present in audacity before) become visible in wx3.0 as error message dialogs. I've checked all occurrences of Printf, wxPrintf, PrintfV, Format, FormatV, wxLogDebug and wxLogError systematically and made the type match."

Note (9/15): In TrackPanel.cpp, ExportMP2.cpp and CompareAudioCommand.cpp this patch supersedes related change done in r13466 because the new solution requires fewer casts and therefore simplifies the code.

Note: Many .po files are affected, and we need to be very careful about this.  Incorrect "%d" and similar in translation files may lead to crashes in those languages (only).  This is something we should actually have been more careful about in the past.  We need to write a script to check that the "%d" and similar format specifiers match between English and translation.
2014-11-08 16:42:34 +00:00
james.k.crook@gmail.com
67d2b274e2 Frequency Selection toolbar from Paul Licameli.
Linux/Mac will need new files adding to project, SpectralSelectionBar.cpp, NumericTextCtrl.cpp.
2014-11-08 15:18:43 +00:00
lllucius@gmail.com
126152a756 Converts the ladspa effects to the new format and adds realtime support
This also (hopefully) corrects some additional problems in general 
realtime support.  Particular focus should be given to the handling
of various combinations of stereo, left channel mono, right channel
mono, and true mono as this has been a particularly troublesome
area.
2014-11-05 07:06:38 +00:00
james.k.crook@gmail.com
8d96bacbf1 Back to old default of dB for meters. 2014-10-26 16:48:35 +00:00
lllucius
1eeb4d979a The fabled realtime effects...
I've made it where you can enable and disable via experimentals:

EXPERIMENTAL_REALTIME_EFFECTS
EXPERIMENTAL_EFFECTS_RACK

You will notice that, as of now, the only effects currently set up for
realtime are VSTs.  Now that this is in, I will start converting the
rest.

As I start to convert the effects, the astute of you may notice that
they no longer directly access tracks or any "internal" Audacity
objects.  This isolates the effects from changes in Audacity and makes
it much easier to add new ones.

Anyway, all 3 platforms can now display VST effects in graphical mode.
Yes, that means Linux too.  There are quite a few VSTs for Linux if
you search for them.

The so-called "rack" definitely needs some discussion, work, and attention
from someone much better at graphics than me.  I'm not really sure it should
stay in as-is.  I'd originally planned for it to be simply a utility window
where you can store your (preconfigured) favorite effects.  It should probably
revert back to that idea.

You may notice that this DOES include the API work I did.  The realtime effects
were too tied to it and I didn't want to redo the whole thing.  As I mentioned
elsewhere, the API stuff may or may not be very future proof.

So, let the critter complaints commence.  I absolute KNOW there will be some.
(I know I'll be hearing from the Linux peeps pretty darn quickly.  ;-))
2014-10-26 03:24:10 +00:00
james.k.crook@gmail.com
023a2e3849 Simpler version of centering preferences on app.
Simplifies r13489
2014-10-25 16:45:26 +00:00
james.k.crook@gmail.com
99bebceb8c Preferences now centered on app rather than centered on toolbar. 2014-10-25 16:38:06 +00:00
james.k.crook@gmail.com
09c5ffe8f1 Possible fix for position of OnPreferences Dialog. 2014-10-24 22:34:47 +00:00
james.k.crook@gmail.com
d8d5a714de Meters now linear by default.
Done following on from comments and +1's on the wiki page about the meters.
2014-10-24 21:17:55 +00:00
james.k.crook@gmail.com
fbbab2ce1b Now have three varieties of the Meter Toolbar.
We have separate record and play meters.  The original kind of meter is now called a combined meter.  I've kept it because it can be useful when undocked if you do want both meters.  I've also fixed it so that if made very narrow the meters stack vertically just as they already did horizontally.
2014-10-24 16:42:46 +00:00