1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-21 14:50:06 +02:00

213 Commits

Author SHA1 Message Date
Paul Licameli
a8652c5e74 uses 2016-02-25 20:18:31 -05:00
Paul Licameli
7824e94030 Harmlessly qualify classes as final (or explicitly comment not)...
... Should have no effect on generated code, except perhaps some slight faster
virtual function calls.  Mostly useful as documentation of design intent.

Tried to mark every one of our classes that inherits from another, or is a
base for others, or has abstract virtual functions, and a few others besides.
2016-02-24 20:58:30 -05:00
Paul Licameli
99f161c36c Sweep unnecessary wxString copies: effects 2016-02-22 22:31:47 -05:00
Paul Licameli
1c07741d57 Sizers are owned by wxWindow objects when added, so use safenew, or...
... use unique_ptr in the interim between building them and adding.

This checks eliminates some naked news, which were not paired with deletes.
2016-02-18 18:58:38 -05:00
Paul Licameli
4d78e353c3 Revert "sizers"
This reverts commit 84c0a0b6663a1210be502a76ab9c48dd330b3919.
2016-02-18 14:50:52 -05:00
Paul Licameli
84c0a0b666 sizers 2016-02-18 02:54:50 -05:00
Paul Licameli
dbaa811577 Stack-allocate where possible! ...
... Removed many unnecessary naked news and deletes.
2016-02-17 18:15:57 -05:00
Paul Licameli
df6a7c5464 More uses of safenew for classes we derive from wxWindow classes...
... Also removed some unnecessary deletes of widgets that are managed by parent
windows
2016-02-14 20:39:28 -05:00
Paul Licameli
3f237daddc Use macro safenew for many allocations of wxWindow subclasses 2016-02-14 20:20:19 -05:00
Paul Licameli
7c4c45a0d5 "new"->"NEW" in comments, easier to find remaining naked operator new 2016-02-14 18:52:41 -05:00
Kylie McClain
409ebb9a03 Fix building on musl libc 2015-11-21 17:04:43 -05:00
Leland Lucius
00015d4598 Fix for bug #1084
Can you believe I had to change a "0" to a "1"???
2015-08-27 01:55:55 -05:00
Leland Lucius
7414b000c2 More version checks for opcodes added at or above VST 2 2015-08-01 03:49:48 -05:00
Leland Lucius
6a95aae8b3 Better fix for bug #1083
I realized after the last commit that it was probably just a VST
version issue.  The effCanBeAutomated opcode was only added for
VST version 2 and, at least the steroizer effect attached to the
but, was built for a VST version before that.
2015-08-01 01:40:15 -05:00
Leland Lucius
0251dc54e0 Fix for bug #1083 2015-08-01 01:31:26 -05:00
Leland Lucius
b193033d9e Fix Linux build that I broke when I fixed the Windows build 2015-07-29 09:16:32 -05:00
Leland Lucius
e3f1c40c30 Fix Windows Release build 2015-07-29 02:49:45 -05:00
Leland Lucius
ed419f1917 Round 10 of wx3 changes
configure script now auto detects whether wxWidgets was built using
gtk2 or gtk3, so there's no longer a need to specify which one when
running configure.

VST support updated for wx3 under GTK.
2015-07-18 01:22:05 -05:00
Leland Lucius
47f8d10de3 Round 9 of wx3 changes
VST GUI handling greatly simplied on OSX
2015-07-17 23:18:55 -05:00
Leland Lucius
ac4c4faadc Round 8 of wx3 changes
VST control working on Windows...further changes will be required
2015-07-16 14:30:04 -05:00
Leland Lucius
2f760c4bac Round 4 of wx3 changes
This gets FileDialog updated and working on Windows.  It also
removes removes the "wx3" build configurations and makes the default
Debug and Release builds wx3-only.

Still need to get VSTs updated.
2015-07-13 16:38:24 -05:00
Leland Lucius
b8872a4a02 Round 2 of wx3 changes on OSX
Main change is that VST GUI support is now integrate with new Cocoa
views.  Direct support for VST Cocoa views (via Cockos extensions:
http://www.reaper.fm/sdk/vst/vst_ext.php) has been added.
2015-07-11 19:33:04 -05:00
Leland Lucius
a9184af222 Merge remote-tracking branch 'upstream/master' into wx3 is necessary, 2015-07-11 19:23:49 -05:00
Leland Lucius
22c8f7fb76 Pretty sure this is the fix for the crashing VSTs 2015-07-05 13:48:59 -05:00
Leland Lucius
d1f66d768f Updates for wx3
A long way to go yet, but many OSX issues fixed including
conversion of Audio Unit effects.
2015-06-30 11:25:32 -05:00
Leland Lucius
60f4ae1941 Fixing some i18n issues with the plugin settings file 2015-06-05 18:56:24 -05:00
Leland Lucius
7d359ef010 Fix bug #923 and allow for varying decimal sepatators in settings 2015-06-02 15:06:52 -05:00
Leland Lucius
0ef7ccb1d1 Fix permissions...not sure why this was happening though 2015-05-29 19:49:28 -05:00
Leland Lucius
0d62be7776 Use a common method for the duration format in generators 2015-05-27 08:42:15 -05:00
Leland Lucius
bed441d651 Fix for bug #967 2015-05-23 23:39:40 -05:00
Leland Lucius
a24adb59d9 Fix for bug #922. 2015-04-27 20:20:16 -05:00
Leland Lucius
c7aa6d684e Change the NVDA trickery to the "\a" (audible bell) escape sequence. 2015-04-20 12:33:03 -05:00
Leland Lucius
6212da3e2d Keep NVDA from saying "panel panel" when dialogs get focus
This will need to be tested with JAWS and Window Eyes.
2015-04-19 23:03:54 -05:00
Leland Lucius
5e27710495 All generator effects now use common Duration handling
(Also updated a few windows IDs to fit the pattern)
2015-04-19 19:48:04 -05:00
Leland Lucius
7a0aa43a82 Convert all wxTRANSLATE() to XO()
XO() can be used anywhere a string must be extracted for translation
but not automatically translated at runtime.
2015-04-18 23:03:49 -05:00
Leland Lucius
8fbfa460c4 Migrating the remaining effects
This brings the builtin, LV2, and VAMP effects inline with the
Audio Units, LADSPA, and VST effects.  All effects now share
a common UI.

This gives all effects (though not implemented for all):

User and factory preset capability
Preset import/export capability
Shared or private configuration options

Builtin effects can now be migrated to RTP, depending on algorithm.
LV2 effects now support graphical interfaces if the plugin supplies one.
Nyquist prompt enhanced to provide some features of the Nyquist Workbench.

It may not look like it, but this was a LOT of work, so trust me, there
WILL be problems and everything effect related should be suspect.  Keep
a sharp eye (or two) open.
2015-04-16 23:36:28 -05:00
lllucius
10f62cdae5 Fix for bug #833
This allows duplicate items in the effects menus and provides a
means to uniquely identify each item.
2015-01-19 16:28:48 +00:00
lllucius
a47fc62bb1 Use the correct reserved field in the AEffect struct
Some hosts (like Ardour) use the "user" field and some use
the resvd2 field.  In 2.0.6 I'd switced from resvd2 to user.
This fix puts it back to resv2 since at least one plugin,
Audiocation Phase, uses the "user" field for its own purposes
and rightly so.
2015-01-10 02:14:19 +00:00
lllucius
0a37ca8106 Fix memleak when using text interface 2015-01-05 09:09:00 +00:00
lllucius
cd315f7f1e Do NOT call SetHost() after changing options
This reinits stuff that shouldn't be reinited while actively
previewing.  So, just reload the settings directly.
2015-01-05 09:00:10 +00:00
lllucius
4e8b794452 Fix a conflict between the backported number validator and formatter
When building for wx3 on Linux, the backported number validators
and formatter conflicts with the wx3 version because I never
renamed them.  Crashes during termination would occur because
the wx3 version and our version had different vtables.

I was thinking that we would just be able to delete the
backported version when upgrading to wx3, but since
we've made Audacity specific changes to them we can't
simply start using the real wx3 versions anymore.

Therefore, I needed to rename then to prevent the crashes.
2015-01-04 21:17:16 +00:00
lllucius@gmail.com
38f27a76a1 Fix building on Linux with wx3 and gtk3 2015-01-03 17:10:53 +00:00
lllucius@gmail.com
aa49817563 Fixes 2 VST issues, an RTP issue, and relaxes an AU restriction
1)  Shell VSTs were completely unrecognized...that is no longer the case
2)  All VSTs will now ALWAYS be initialized and cleaned up from the main
    GUI thread.  I found that some Waves VSTs would freeze Audacity when
    initialized in the audio thread and closed in the GUI thread.
3)  While realtime previewing, it was possible that the wrong slave 
    could be used to process new blocks of audio.
4)  I found that the Waves AUs don't crash on a real Mac (instead of a
    virtual machine), so I removed the "black list" I'd put in just for
    them.  (Something to do with needing full 3D support I think.)

Anyway, #2 and #3 were quite intrusive, so as much RTP testing as possible
would be a good thing.
2015-01-02 05:24:43 +00:00
lllucius
7b6cbeec22 Distinct button bars for graphical and textual modes
This bit the textual mode plain old text based buttons
and retains the bitmap buttons for graphical mode.

It also allowed me to remove the manual accelerator table 
building (no access keys in GUI mode) which was a good 
thing as I really didn't know if the was gonna work for
non-English keyboards anyway.
2014-12-16 21:41:58 +00:00
lllucius
16ca4f17eb Re-adding localized menu labels for effects
If you can believe it, this whole big mess is
just to get localized effect labels back into
the menus.

I sure wish I'd had a little bit more time to
finish up all of the effects.  It sure would 
be a lot cleaner (code wise).
2014-12-15 21:54:23 +00:00
lllucius
3e28f0889b Change "setting" to "option" in dialog text 2014-12-15 15:51:42 +00:00
lllucius@gmail.com
a98a0ef654 More pointer madness fixes
This round fixes Mac pointers when mouse transitions from
the main project window to an open effect window in GUI
mode and back.

Not all of the cases are fixed with VST overlay windows
being the final holdout.  Couldn't figure out the cause
so will just deal with it when we convert to wx3.

(I GET TO REDO ALL OF THIS FOR WX3...WOOHOO!!!)
2014-12-15 07:59:53 +00:00
lllucius@gmail.com
3da4e22cee Rename Settings to Options in RTP dialogs
This was suggested here:

http://audacity.238276.n2.nabble.com/Effect-options-dialogs-should-be-titled-Options-not-Settings-tt7566034.html

(Probably should delete your pluginregister.cfg file, but not a requirement.)
2014-12-15 04:49:06 +00:00
lllucius@gmail.com
7d6013c97d Fix build issue on OSX. 2014-12-10 19:07:20 +00:00
lllucius
d01a28be03 Cleanup chunk setting and preset saving/loading
When looking into the +morphfilter issue, I noticed that
I wasn't consistently handling preset chunks.  While I
didn't have any effects complaining about it, some of it
was (near as I can deduce...this stuff isn't well documented)
probably wrong.

So, I cleaned it all up and in the process added more validity
checking when loading presets for all 3 preset formats.

Incidentially, the +morphfilter still crashes Audacity...but
it also crashes Cubase, so we're in good company.  :-)  I've
sent an email to the author to see if I'm setting the chunks
correctly or he has a known issue.
2014-12-10 05:44:59 +00:00