1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-09-17 16:50:26 +02:00

182 Commits

Author SHA1 Message Date
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
lllucius@gmail.com
1b993ccd08 Patch provided by Rob (RPM) to resolve many of the wx3 format string assertions
He wanted to help so I asked if he wanted to track them down.  He agreed and
found more than I probably would have.  And he said there were more, but the
rest were questionable and since he works on Windows, wasn't able to actually
test.

I give a few of the ones he did find a go and they do indeed get rid of the
assertions.

(Basically, a 64-bit/32-bit issue, easily resolved with a typecast.)
2014-10-19 03:08:10 +00:00
james.k.crook@gmail.com
fec5c20c65 Fix warning.
Warning was about deleting an incomplete type.  Needed definition of class Ruler.
2014-10-18 21:18:28 +00:00
lllucius
c512822138 Additional changes for wx3
These are mostly for getting it to build on Linux, but I've
also created new configs in Visual Studio to make it easier
to switch between wx2 and wx3.

For Linux, you have to tell configure where to find the wx3
version of the wx-config script and, since some distros build
wxWidgets v3 against GTK+ v3, you may also need to enable
gtk3 with something like:

./configure --enable-gtk3 WX_CONFIG=/usr/bin/wx-config-3.0

On Windows, I've added "wx3-Debug" and "wx3-Release" to the
existing "Debug" and "Release" configurations.

They depend on you having your WXWIN environment variable
pointing to your wx2 directory and a new WXWIN3 environment
variable pointing to your wx3 directory.  For instance, I
have:

WXWIN=C:\Users\yam\Documents\wxWidgets-2.8.13
WXWIN3=C:\Users\yam\Documents\wxWidgets-3.0.2

Doing this allows you to switch freely among the 4 configurations
without having to get out of Visual Studio and monkey around with
the environment.

The project files will also add the location of the wxWidgets DLLs
to the PATH when running Audacity from within Visual Studio.  They
add %WXWIN%\lib\vc_dll or %WXWIN3%\lib\vc_dll at the beginning
of the PATH variable as appropriate.

I expect that once we convert to wx3 we'll just drop back down to
the normal Debug and Release configurations, but this should make
switching between wx2 and wx3 much easier during the transition.
2014-10-16 16:18:04 +00:00
james.k.crook@gmail.com
a82940197d Comments, and cleaned up a piece of dead code. 2014-10-10 19:47:58 +00:00
james.k.crook@gmail.com
9d74c49721 Fixed warning about different definitions of the same symbol. 2014-10-10 15:41:18 +00:00
james.k.crook@gmail.com
221474e37a Fixed bugs with MultiDialog. Fixed Bug with prompting about modules.
Previously MultiDialog attempted to centre on parent dialog, but there was a NULL parent.  Now the application top window is used. Dialog shows centred, for example when there are missing block files.  If the top window is a WX_STAY_ON_TOP, we move our dialog to the left, as otherwise it would be partially hidden.

Previously Audacity would ask about enabling a module whilst the splash screen was showing.  For some as yet undetermined reason the MultiDialog and Splash Screen are incompatible.  Possibly it's related to doing a ShowModal before a full application exists.  The not ideal workaround is to now delay showing the splash screen until after the modules have been loaded.
2014-10-10 15:36:51 +00:00
lllucius
532272370c Stupid Leland needs to build on other plats and not assume he got it right. 2014-10-08 13:44:44 +00:00
lllucius@gmail.com
77ac0e403b Fix the bad rendering of text on OSX
The problem was because I added double buffering to reduce
flicker on Windows.  But, OSX already does its own buffering
and adding more causes text to be rendered incorrectly.

This happened a long time ago on the track panel and when
Bill gave the screenshot, my aging brain slowly remembered
the cause.
2014-10-07 23:23:40 +00:00
lllucius
08a3c2672c 2nd try at getting the TimeTextControl font correct. 2014-10-07 21:27:55 +00:00
lllucius
6fd448d1be Fix incorrect font setting introduced in r13403
https://code.google.com/p/audacity/source/detail?r=13403
2014-10-07 18:26:50 +00:00
lllucius
bdcefb4850 Preliminary changes for wxWidgets 3.0.1
We can't go to 3.0.1 yet as there are still build issues on
Linux and OSX.  You can get Windows to build, but there's
still some display issues.

These changes should work with wxWidgets 2.8.12 as well, so
we can take our time to get things working properly before
switching over.
2014-10-06 08:10:50 +00:00
james.k.crook@gmail.com
f5e593cc4c Paul L's new SelectedRegion class replacing use of t0 and t1. Also LabelTrack.h no longer in TrackPanel.h includes.
This change is believed to be a direct refactoring that does not change functionality.  It paves the way for more complex kinds of selection, such as selections involving frequency as well as time.  It also reduces risk of left and right edges being swapped in future code using SelectedRegion, as the default is to swap on assignment if needed.
2014-10-05 17:10:09 +00:00
lllucius
6ce364f2d2 Get rid of flicker when drawing the peak/rms meter. 2014-10-04 22:50:51 +00:00
james.k.crook@gmail.com
2c76f78760 Meter options now in horizontal layout, so reducing wasted white space. 2014-10-04 14:50:13 +00:00
lllucius
96417b912e Made the original peak/rms meter design selectable as suggested by Gale.
It can be selected in the meter preferences.
2014-10-04 09:47:48 +00:00
lllucius
62e3467b7d Meter display changes as suggested by Peter, Steve, and Bill
Adds a transition from green to yellow starting at -12 db
or (0.50 for linear) and ending at -6 (or .75).  A transition
to red then occors to the end of the meter.

Meter preferences have been added and most of the context
menu items have been moved there.

In addition, you may now click the playback meter to reset
the peak level indicator instead of having to click the
record meter.
2014-10-03 06:15:29 +00:00
martynshaw99
375feaee52 Reverting behaviour of 'help' links/buttons with an anchor (#) in them, so that they go to an online place that works (as in 2.0.5).
The use of an anchor in local files does not work in a number of OSs.
2014-09-04 00:02:12 +00:00
martynshaw99
4c6bdd3865 Getting closer to mw2html behaviour - cunning RegEx expression due to David B. 2014-08-28 22:55:19 +00:00
martynshaw99
dfe26ec6e5 Getting closer to mw2html behaviour - replace escaped chars. Thanks to Steve and David. 2014-08-28 22:35:08 +00:00
martynshaw99
74763375fc The last of Steve's set of 'essential' patches for 2.0.6, committed as a result of code review and others saying it is OK, rather than full testing.
There are other patches od Steve's awaiting testing.
2014-08-28 00:24:31 +00:00
martynshaw99
07f1c22c38 Steve's patch committed, for the quick release of 2.0.6, but noting my concerns here that it does not mirror what mw2html.py does and a pointer to a better solution may be stuff like
while( (p=releasePageName.Find(wxT("__"))) != wxNOT_FOUND )
      {
         wxString left = releasePageName.Left(p);
         wxString right = releasePageName.Mid(p+2);
         releasePageName =  left + wxT("_") + right;
      }
2014-08-27 00:43:32 +00:00
martynshaw99
85080b6d83 Steve's patch, modified by Richard, to sort out the modality of the help window, fixes bug 747. 2014-08-26 22:53:11 +00:00
martynshaw99
9156ebab72 Fourth of a series of patches from Steve and Richard to fix delivering local and remote help pages. This bit didn't work anyway since "Quick_Help" had already been translated into lower-case (I think). 2014-08-26 00:40:09 +00:00
martynshaw99
6f2c161317 Third of a series of patches from Steve and Richard to fix delivering local and remote help pages. (Second one not committed as it was just a wording change) 2014-08-25 23:46:50 +00:00
martynshaw99
d628de846b First of a series of patches from Steve and Richard to fix delivering local and remote help pages. 2014-08-25 23:28:09 +00:00
james.k.crook@gmail.com
fc7d961294 Highlight active AButtons when hover over, not just the toggle buttons. Fixes issue for small and large buttons. Paul L's patch. No impact on manual. Not tracked in Bugzilla. 2014-08-19 13:45:51 +00:00
james.k.crook@gmail.com
4912d49721 Paul L's fix for Bug 684 - Timeline loop play persists after Stop or SPACE 2014-08-16 20:18:21 +00:00
v.audacity
d906d5c788 modified version of David Bailes's patch for Bug 710 - Keyboard Preferences: don't match single characters in modifiers in Key View search 2014-08-01 19:58:47 +00:00