1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-17 08:30:06 +02:00

152 Commits

Author SHA1 Message Date
Leland Lucius
60f4ae1941 Fixing some i18n issues with the plugin settings file 2015-06-05 18:56:24 -05:00
James Crook
c1ef377e5b Plugins -> Plug-ins 2015-06-03 19:17:32 +01:00
James Crook
4363b69c17 Bug 974 - Register Effects GUI instructions are incorrect.
I've changed the wording to give just enough information to be able to use the new interface.  Mainly to close this P1 bug, and so not block proceeding to release.
2015-06-02 23:21:34 +01:00
Leland Lucius
0ef7ccb1d1 Fix permissions...not sure why this was happening though 2015-05-29 19:49:28 -05:00
Leland Lucius
b8ce7f6125 Fix for bug #981 2015-05-28 09:57:59 -05:00
Leland Lucius
c372519e52 Use the correct variable 2015-05-27 08:11:02 -05:00
Leland Lucius
b8b4b23910 Didn't handle multiple providers reporting the same path properly
This can happen when a .dll, .so, etc. is found in the Plug-ins
folder.  The VST and LADSPA providers will report the same path
since they don't really know at scan time if the .dll/.so is
something they can really handle.
2015-05-27 02:42:02 -05:00
Leland Lucius
0f04b76301 Trim space from builtin effect names during display
And do not change state of New effects until the user
specifically requests it...that way they remain "new".
2015-05-26 07:04:38 -05:00
Leland Lucius
8a4424a1ae Try to get the plugin manager to, well, work...
It "should" work correctly now.  And you "should" be able to
switch between 2.1.0 and 2.1.1 without effects being detected
as new each time.
2015-05-26 00:26:43 -05:00
Leland Lucius
f9061e3916 Let's try Effect management once more
As usual, I started out intending to do as little as possible
to this to get it working and wound up going overboard.

However, I believe it does allow easy management of the effects
and this will provide a basis for the full blown plugin manager
dialog.
2015-05-22 10:15:47 -05:00
James Crook
12993a3547 Disabled EXPERIMENTAL_EFFECT_MANAGEMENT
I also changed it so that if it is enabled ALL built in effects are enabled.
2015-05-21 14:27:36 +01:00
Leland Lucius
a7203c5d3f Fix crash when certain effects are open and a new project window is created
This affected VST, LADSPA, LV2, and Audio Unit effects.
2015-05-16 22:14:07 -05:00
Leland Lucius
a5fb181c58 Do not save translated strings to the plugin registry
This was causing problems in the menus when switching
languanges.
2015-05-16 02:12:34 -05:00
Leland Lucius
73d2681759 Calculate icon size rather than ask for it on GTK and limit width
When requesting The icon size (under Gnome at least), the size was
overly large, so use the wxMac method and just estimate what it
will be.

And, limit the column widths so the dialog doesn't grow wider than
the screen width.
2015-05-15 21:06:30 -05:00
James Crook
1e6e251ea9 Fix: Effects that aren't in menus now addable.
Previous code changes meant that they never got added in.
2015-05-15 22:20:06 +01:00
James Crook
8ae6fc42e1 Added 'More...' to Generate and Analyze menus 2015-05-14 16:11:46 +01:00
Leland Lucius
186cdb1248 Make sure "default" builtin effects are always registered
This appears to be a little overboard, but it makes the
registration of defaults a little more generic.
2015-05-12 10:41:22 -05:00
James Crook
4fb56d0aa1 Fix missing include <wx/radiobut.h> 2015-05-11 13:54:02 +01:00
David Bailes
514167d8ce minor improvements to accessibility of register effects dialog. Added show to the accessibility names of the radio buttons. Added access keys for the radio buttons, plus adjusted others. 2015-05-11 12:22:02 +01:00
James Crook
cb70fd3abd Added filter on Effect registration dialog.
This adds radio buttons to view all effects, just unregistered effects (effects that are not yet in the menus) or just registered effects (effects that are in the menus.  It remembers ticks and unticks until the dialog is closed, so changes to ticks for effects that are not shown by the current filter will still have an effect.  It does this by switching back to show-all just before closing the dialog.
2015-05-09 17:10:02 +01:00
James Crook
bc5082c976 More... now can removes effects too.
The effects shown ticked in the more.. list  are the ones currently enabled for the menus.  We can add and remove from that list
2015-05-08 22:04:34 +01:00
Leland Lucius
20fbb163d2 Fix a few things with chain/effect parameters as reported by Gale 2015-04-29 09:54:48 -05:00
Leland Lucius
4f4acffad1 Allow chains to use current/factory presets/settings
Also gives builtin effects a mean to determine if batch processing
is active, IsBatchProcessing() returns true if so.
2015-04-26 16:41:05 -05:00
James Crook
9bc32b0e6b EXPERIMENTAL_EFFECT_MANAGEMENT
On a reset preferences, this adds the default built in effects only.  The effects menu now has a 'More...' as its last item, and the list of plugins is invoked there.  We can add from that list to the menus from that.
2015-04-25 19:07:43 +01:00
Daniel Winzen
759ff8cd0d Performance improvements 2015-04-23 16:07:25 +02: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@gmail.com
e73b7e70a3 Fix for bug #857
Even though this is only a P2, I felt it would be
quite bothersome for the users and might cause some
confusion.

The problem was the the wxLocale was being deleted
before all usage of it was complete.  The fix was
to explicitly delete the plugin and module managers.
2015-02-12 02:30:30 +00:00
lllucius
c88c1738bb Fix for bug #854 2015-02-08 10:22:46 +00:00
lllucius@gmail.com
de0ec7e5e5 Add missing return statements.
Sorry about that...extracted the change from a "working tree" and missed 'em.
2015-02-03 01:07:50 +00:00
lllucius@gmail.com
5826525970 Fix for P1 bug #850
This ensures that the settings file gets flushed after the presets
are removed so it won't happen during termination.
2015-02-02 15:40:15 +00:00
lllucius@gmail.com
45c5bdfa45 Fix Linux build 2015-01-19 18:04:43 +00: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
8d03bd3e9b Separate plugin registry from plugin settings
This allows us to return to a clean rescan at Audacity
startup if the user check rescan in prefs.
2014-12-17 00:52:37 +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@gmail.com
182091cb58 Handle effect type of none...happens with no ins or out 2014-12-08 18:12:56 +00:00
lllucius@gmail.com
85e0cc9785 Do not allow PluginRegistrationDialog to molest path 2014-12-08 17:31:53 +00:00
lllucius
90aafd1ddc Keep effect status separate from user's wishes
Audacity maintains a list of effects it has seen in the pluginregistry
to provide scanning for "new" effects during startup.  It also uses
this list to determine if existing effects are still valid.

It was using the single "Enabled" setting to keep track of that, BUT
it also used the "Enabled" setting to determine if the user chose to
enable or disable the effect.  That doesn't work since Audacity can
ignore the users choice if effects come and go.

So, this change fixes it by adding a "Valid" setting to separate the
two cases.
2014-12-04 17:45:42 +00:00
lllucius@gmail.com
d60225cb61 A few more changes for AudioUnits
I added a few assertions just to be safe.  Haven't hit
the particular situations yet, but I've only tested less
than 50 or so AUs.

We were missing a few Apple AUs like panners and mixers.

The plugin "installation" dialog sort is reversed on the Mac...weird

Made the effect windows float on top of the owning project window.
Looking for opinions on which method is best.
2014-11-29 01:22:41 +00:00
lllucius
071cd0f066 Disables the rack and fixes a couple of other things
Needed to redo a bit of code so that effects would work
without the rack in the middle.  I wanted to disconnect
it completely as I'm not sure it something that will be
kept around.

During realtime preview, effects will be applied in the
order their dialogs were opened...hmmm...what happens
if they don't have a dialog???  I look into that.

Fixed the focus target for windows when cycling among
active windows as suggested by David B.

Fixed plugin registration if the plugins were located
in the "Plug-ins" folder.  I believe this problem may
have played a role in the duplicate menu items.
2014-11-27 12:22:41 +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
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
lllucius@gmail.com
a4b3ece538 Remove path separator characters from plugin IDs when saving
The characters were a problem on Linux since wxFileConfig was
intepreting them and creating extra (unwanted) groups.

This change will suffice until/if this is converted to XML.
2014-11-07 11:00:12 +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
lllucius
080b67ce9e Adds the ability to sort and group the Effects menus
Current options:

Publisher: name (the closest to what we have now)
Name (doesn't include the publisher, just a straigt up alpha sort
Publisher (creates submenus based on the publisher)
Type (creates submenus based on the type, VST, Nyquist, etc.)

And the Linux method of creating submenus based on number of items
is available to all and you can choose how menu you want per submenu.
I had to bring this back since I'd removed it when for the new effects
and I figured why limit it to only Linux...

Check it out in Preferences (effect page).

You'll also notice that the effects page is starting to talk about 
plugins.  That will progress further (baby steps) so bare with me
for just a bit more.
2014-11-04 01:38:13 +00:00
lllucius
cae6669275 Round 3 of realtime changes.
This gets meter type VST effects working again by extending the

The master now maintains his own internal buffers and sums (mixes) all
playing tracks into those buffers.  The buffers are then fed into the
VST effect that is presented to the user.  This allows the effect to
provide feedback to the user if it support it.  Such effects may display
meters or clipping indicators.

Several issues with treading have also been corrected (hopefully ;-)).
These showed up mostly on Linux, but could have happened on the others
as well.

The realtime support is no longer limited to 2 channels per logical
track.  Once support for more channels is added, this should be ready
for it.

The rack dialog can now be toggled via the edit toolbar button.  It
doesn't stay pressed because the closing of the dialog would have to
be communicated back to the toolbar.

As the rack is updated with new or removed effects or active state
changed, all effects in the active list were shutdown and all effects
in the updated list were initialized.  This now shuts down only the
effects no longer in the list and initializes only new ones.

The rack now uses wxBitmapButton instead of Audacity's AButton.  The
AButton has a timing issue that prevents it from being deleted while
processing the click event.  I looked into it, but gave up and switched
to the wxBitmapButton.  Unfortunately, there's a problem with the
wxBitmapButton as well...at least on my setup here.  Either the bitmaps
are being scaled or antialiased.  Will have to get feedback on this.

I finally figured out why some VSTs didn't seem to do anything in
realtime, at least in my case anyway.  I've installed a lot of demo
VSTs and while they work in "batch/offline" mode, some of them will
not work in realtime since vendors tend to remove automation as one
of the demo limitations.

More changes coming shortly...
2014-11-03 06:48:54 +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
benjamin.drung@gmail.com
277932dccb Remove trailing spaces. 2014-06-03 20:30:19 +00:00
martynshaw99
4ce2643d5f Remove the
// Indentation settings for Vim and Emacs
etc. lines from all files, as Campbell's patch (except for other changes to Languages.cpp)
2013-09-24 00:14:37 +00:00
james.k.crook@gmail.com
dba81b3f1c Cleanup: Fixed lots of trivial MSVC warnings. 2013-08-25 21:51:26 +00:00