1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-08-02 08:59:28 +02:00

182 Commits

Author SHA1 Message Date
James Crook
f955376372 No close button. Use the close X.
I find I keep clicking the close button by mistake.  It's rare to want to cancel a previewed effect.  So trying it like this instead?
2015-04-25 21:06:27 +01:00
Leland Lucius
f7a7674e97 Fix loading/saving user presets for external effects 2015-04-23 08:17:33 -05:00
Leland Lucius
dc12de8901 Fix factory reloading for external effects based on Peter's feedback. 2015-04-23 08:04:32 -05:00
Leland Lucius
e8b0ca8707 Bring back the Nyquist debug button 2015-04-22 15:55:58 -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
06209756b6 Apply same NVDA trickery to the effect button panel 2015-04-20 10:05:53 -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
835000d916 Should fix the invalid initial duration for generator effects 2015-04-17 22:52:34 -05:00
Paul-Licameli
2b85d0edb4 Preliminary function argument list changes and comments, for scrubbing project
In particular, use an options structure for AudioIO::StartStream to simplify
calls

ControlToolBar::PlayPlayRegion also takes that structure as an argument, and a
SelectedRegion instead of two times

And other changes
2015-04-17 02:25:39 -04: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
Paul-Licameli
14a36dad46 Bug834, part 2 - Memory leak and orphans after cancelling any generator
New project.  New track.  Generate sound -- do not cancel.  Select all,
generate sound again -- this time, do cancel the progress dialog.

Undo, so you see one, empty track again.  Save.  Close.  Reopen.

The cause of these orphans is different from the first case.  The previous
commit is necessary but not sufficient to fix this.
2015-04-08 11:41:38 -04: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@gmail.com
85f6279d21 This fixes a couple of issues with AudioUnits and 1 with latency
If latency was introduced by an effect, the input position could
get offset by the amount of latency, such that the same input
would be processed twice for the number of sample of latency.

There was an issue in AUs where a "latency done" flags wasn't
being reset and so the second and subsequent uses of an effect
could not latency correct.

And in research that, I found that you need to set the sample rate
on all 3 scopes (global, input, and output) instead of just the
global scope.
2015-01-11 22:52:08 +00:00
lllucius
ea112bddc1 Fix crash reported by Steve
Steps to reproduce:
1) Launch Audacity
2) File > New
3) Generate a sound in the new project
4) Open a LADSPA effect
5) In second project: File > Close, don't save changes.
6) In first project, generate a sound.
7) Click "Play" button - crash :-(
2015-01-06 18:01:04 +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@gmail.com
02717da3a2 Fix for bug #808 2014-12-30 22:06:46 +00:00
lllucius
e64019dcf6 Trying a checkbox to control enabled state 2014-12-20 18:22:44 +00:00
lllucius
4382a5c835 Replaces enable/disable images and a few other changes
Makes the tooltips display the action that is going to
be performed rather than a generic description.

Disables transport buttons when the effect dialog is
initially displayed if another project has using the 
audio device.
2014-12-20 00:13:33 +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
9fc254a627 Add missing button labels 2014-12-19 09:05:32 +00:00
lllucius
adeb0997e1 Replacing "power on/off" with "enable/disable" 2014-12-19 06:57:22 +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@gmail.com
9c4f68c6a3 Better "text bar" sizing on Linux and OSX 2014-12-16 22:35:29 +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
cd94cceb8a More updates suggested by Gale
1)  Manage Effect -> Manage on the menu button
2)  Update uncapped "Ladspa" to "LADSPA"
2014-12-16 15:05:08 +00:00
lllucius
f2bf4e7847 Addressing effect dialog suggestions from -quality and -devel
1)  Play now respects play region
    If there is a play region it will always play that no matter
    what the selection is and it will always "rewind" to the start
    of the region even if stopped in the middle.

2)  i18n-hints added to the labels and tooltips to let translators
    know that the access keys should be the same for the different
    labels/tips for a specific button.

3)  (ALT+...) removed from the Mac tooltips

4)  You now get a message if nothing is selected and Apply is pressed
    I thought this was simply the best way...nothing fancy.
2014-12-16 05:49:51 +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
f3f3844b25 Change play/stop label/tip to allow consisten translattion 2014-12-15 16:05:30 +00:00
lllucius
7509b7e84a Toggle the play button label/tip between Play and Stop 2014-12-15 09:18:42 +00:00
lllucius
7fd0f4e8bc Change label/tooltip for power button to indicate action
(Holler if it should indicate state instead and if the
play/stop button should do the same)
2014-12-14 16:28:19 +00:00
lllucius
6ecf2e38e9 Separate power button and playing state
This will allow the power button to function independently
of the actual playback state.  It also gets rid of the whole
"Bypass" folderol.
2014-12-13 18:24:11 +00:00
lllucius
6ea62095de (Hopefully) Provide for localized accelerator keys 2014-12-12 14:44:50 +00:00
lllucius@gmail.com
994acab14f Fix for bug #773
This is only a workaround since the real problem is in wxGTK.  Hoping
it has been fixed in wx3.
2014-12-12 08:53:28 +00:00
lllucius
a869490b44 Reintroduce the mnemonic characters
Per David Bailes, removing the "&" mnemonic characters also
removed the access key feedback present to screen reader
users.  He also found that having the mnemonic and the
accelerators still prevented the focus from jumping to the
transport button.

I'm hoping that with wx3, we can clean this up some as it
appears they've redone the whole bitmap button design.
2014-12-12 06:55:47 +00:00
lllucius@gmail.com
8f5084b665 Resolves two issues
On Windows, when the button access keys were used, the focus
would jump to the associated button.  This would be a real
pain for keyboard user since they would then have to TAB back
to the control they were on to make further adjustments.

By using the accelerator table instead of the normal mnemonic,
the access key isn't directly tied to the button, so focus
remains untouched.

On GTK, this actually makes the accelerators work.  It seems
that normal mnemonics do not work with a wxBitmapButton, so
using the accelerator table provides the access keys.
2014-12-09 02:58:09 +00:00
lllucius
969db08acb Added access keys to transport buttons in Effect dialog 2014-12-08 14:54:06 +00:00
lllucius
814ed57a68 Better resolution than r13716
The hairbrained "solution" I came up with in r13716
"worked" but it was simply unnecessary and this is
what I should have just done to begin with.

The previous "solution" actually caused some display
issues in the menus.
2014-12-08 03:11:20 +00:00
lllucius
9ce427f283 Fixes StereoToMono effect
The problem is that lookup of effects is based on their
ID and legacy effects didn't play well in this scheme, so
I've added a workaround for now.  This will go away when
I get all of the effects converted.

And removes some debugging.
2014-12-07 19:27:06 +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
4d76e14794 Changes to the Effect dialog based on QA suggestions
Solves the problem of what the "Settings" button should say
by converting it to a bitmap button.

Adds the missing "bypass effect" button.

The Ok/Cancel buttons are now Apply/Close buttons and the
dialog stays open after the apply is done.

Record is no longer disabled when an RTP effect is open as
the RTP effect now monitors when recording starts and disables
its buttons as needed.

Added "Play", "Skip forward", and "Skip backward" buttons.
While the other stuff is required, this last one is in to
get a feel for its usefulness.  We'll need to get feedback
on it pretty quickly so we can rip it out if need be.
2014-12-02 08:55:02 +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
125e0f37dd Add missing Export and Import of AudioUnit presets
And listens for latency changes now
2014-11-29 13:14:35 +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
stevethefiddle@gmail.com
233275f652 A couple of refinements to Nyquist v4 plug-in property lists.
1) Makes *TRACK* CLIPS property easier to use in Nyquist.
2) Allows plugins to bypass track view check on preview.
2014-11-20 15:48:25 +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