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

202 Commits

Author SHA1 Message Date
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
lllucius
adbaca16eb Fix for SoundHack +morphfilter VST effect
It would crash Audacity when the initial default parameters
were saved (effGetChunk w/program) since it didn't seem to
have a default programs selected.

Fix is to simply to default to program 0 on startup.
2014-12-09 05:57:47 +00:00
lllucius
2803bcd67a Protect against blank parameter names 2014-12-07 18:26:22 +00:00
lllucius
ff858db9ff A few fixes for VST FXB and FXP loading
One endianess byte swap was completely wrong

And program loading should have had some additional
dispatches to tell the effect to prepare for loading
banks and programs.
2014-12-05 07:04:13 +00:00
lllucius@gmail.com
cddff18025 Resolves reported bugs and (most) recommendations
All:

Export/Import now disabled if the Effect (family) doesn't support it
Options disabled if the Effect (family) doesn't support it
Standarized on "Latency compensation" instead of "Buffer delay compensation"
Correct loading/saving of factory default settings
Fixed "Mannage" to be "Manage"
Removed conditional code since we're keeping the transport buttons
Play bases state on actual playback status
Play no longer monkeys with selection
Play will now start from where it left off IF:
   The user stops the playback via the Effect Stop button
   If the user wants to restart from the beginning of the selection
   then the user can click Rewind while stopped.
Rewind will not go past start of selection (sorry Steve ;-))
   If Rewind is clicked while not playing, playback will next
   start at beginning of selection.
Fast Forward will stop at end of selection
   However, if FFwd is clicked while not playing, it will
   put playback at the end of selection and the next time
   the user clicks the Effect play button, playback will
   continue from the end of selection to the end of track.
Deleting a preset now prompts user to confirm
Button faces should now look a little better
Bypass (should we rename that???) button now grays when disabled

Audio Units:

Corrected all user visible "AudioUnit" strings to be "Audio Unit"
Removed unneeded "Buffer Size" in settings dialog
Only uses latency if user said it was okay

Ladspa:

Added settings dialog to allow control of latency usage
Removed unused "user selectable" buffer size
Only use latency if user wants it
Refresh controls when presets are loaded

VST:

Removed unused "Rescan at startup" setting
Propogate parameter loads to slave effects
2014-12-04 06:10:27 +00:00
lllucius@gmail.com
2acdcc3378 Beat effects windows on the Mac into submission
This should resolve all concerns with the effects windows like:

1)  Dropping behind the project window
2)  Obscuring other dialogs
3)  Keyboard cycling among the active windows
4)  Clicking twice to do something in another window
    NOTE:  VST effects with a Cocoa overlay still require it.
           Examples are Blue Cat and GRM.

This does tie an open effect to its parent project, but that should
be okay.  We'll need to verify that again once we start to allow
multiple open effects dialogs at once.
2014-12-01 07:27:49 +00:00
lllucius@gmail.com
540f5c78c9 AudioUnits rework...
They now work on Yosemite.

AudioUnits with a custom Cocoa UI now display graphically
instead of reverting to the generic view

The Cocoa version of the generic view is now used when
needed...instead of the Carbon version.

The order of UI preference is Cocoa, Carbon, Generic,
unless force to Generic view user setting.

They now support realtime preview.

They also support dialog resizing as I found many that
scaled nicely (mostly Apple's).

Uses the new Effect format so now supports user and
factory presets.

NOTE:  Be VERY critical when testing this as I've
       never written Objective-C or Cocoa code
       before!
2014-11-25 08:08:15 +00:00
lllucius
41083f74cc Another round of effects bashing.
I've added some of the new plugin stuff to LV2, Nyquist, and
Vamp so that they play better in the new system.  They no
longer get bunched in with the Audacity effects when sorting
or grouping the menus.  They have not been fully converted
but they should be good for 2.1.0.

Nyquist plugins now include ";author" and ";copyright"
statements.

Added the 4 new Nyquist plugins to the Windows build.

Audiounits are still coming...had to push them to the back
burner to get this other stuff out of the way.

Scanning for new plugins has been improved so that newly
discovered ones will be shown to the user when Audacity starts.

Effects menu sorting has been fixed and improved.

Disabling effect types in Preferences works again and you
no longer have to restart Audacity for them the change to work.

Effect usage in chains works again.

Plugin registration dialog code simplified a bit.

Group names in the pluginregistry are now base64 encoded.  I
never really thought about it, but wxFileConfig group names
are case insensitive and since I was using the group name as
the plugin ID, I ran into a conflict on Linux where there
were two plugins with the same name, just different case.  (And
they were different plugins.)  Hoping all of this will change
when/if the config file gets converted to XML.  (wx3 if finally
including XML support)

A fair amount of cleanup of this new code has been done and
will continue as more stuff is converted.
2014-11-19 06:58:44 +00:00
lllucius
31081470cf Fixes disappearing focus as reported by David and cleans things up a bit. 2014-11-16 06:52:36 +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
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
lllucius
7bb4b7c941 More effect changes to new format and realtime preview
Main effect host processing extended to support generate
effects and sync locked tracks.

Ladspa updated to utilize new generate support.

I'll address Analyze plugins when I get to the SBSMS ones.

Shared and private config changes are flushed immediately.

Cancel button restored to VST and Ladspa dialogs.  This
also restores the ESC button functionality.

Current parameters saved with Apply or Ok clicked...not
when Audacity ends.

Ladspa and VST effects with that reports no input and
no outputs are now ignored.

Ladspa effects providing a latency value is now handled.

Ladspa generator effects now use the TimeTextCtrl for
specifying duration.
2014-11-07 09:54:04 +00:00