1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-08-12 14:11:10 +02:00

491 Commits

Author SHA1 Message Date
james.k.crook@gmail.com
83172420c7 Trimmed controls in Noise Reduction down (for this release). 2014-12-08 22:04:38 +00:00
stevethefiddle@gmail.com
2b28e840cc Fix - final setup parameter was being carried through to the script code. 2014-12-08 15:11:22 +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
0c51333407 Fix validation errors due to rounding
::Invada::Compress - Mono would fail to validate because
of rounding even though the default value was within the
actual range.
2014-12-08 02:41:29 +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
2803bcd67a Protect against blank parameter names 2014-12-07 18:26:22 +00:00
lllucius
ed8dd09414 Fix crash when applying Ladspa effects 2014-12-07 18:01:17 +00:00
lllucius@gmail.com
1ff85fa1ae Remove unneeded variable 2014-12-07 07:06:41 +00:00
lllucius@gmail.com
e023a1120b Correct some non-wxWidgets literals 2014-12-07 05:29:31 +00:00
lllucius
4503c704dd Correct LV2 validity check 2014-12-07 04:13:00 +00:00
lllucius@gmail.com
01ca7c71de Sort of fix for bugs #665 and #460
This is more of a toleration than a fix since I can't
get any of the Waves plugins to display their custom views.
They do work in generic view however, so I've put in a 
temporary hack to force all Waves plugins to use the 
generic view.
2014-12-07 02:24:50 +00:00
stevethefiddle@gmail.com
b7aeef5ec9 Fix for bug 7, but ifdef'd out pending a more
flexible solution. Reviewed by Leland as "perfectly safe".
2014-12-07 02:03:57 +00:00
lllucius@gmail.com
581b836c18 Fix a bogus delete in AudioUnits 2014-12-07 01:43:03 +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
stevethefiddle@gmail.com
8d8a0b9234 Nyquist v4 - Fix bug in 'clips property. 2014-12-02 12:41:40 +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
60605e6507 Fix vamp plugin validation 2014-12-02 08:20:32 +00:00
stevethefiddle@gmail.com
6c781a6a1d Fix - Nyquist v4 path strings needed to be escaped for Windows. 2014-12-01 18:31:33 +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
c2218d5ddf Only allow one realtime effect at a time
Warning...this required a small hack that allowed updating the
menus even if the toplevel frame is not the project window.  This
is because with the active frame actually becomes the effect dialog
and UpdateMenus() bailed if it wasn't the project frame.

This should be removed when we get multiple effect support.
2014-11-29 23:17:03 +00:00
james.k.crook@gmail.com
fe722df653 Tweaks to Noise Reduction, by Paul Licameli.
1. Put the new files at the proper level of the Solution Explorer tree. 
2. Fix a tiny tiny inefficiency in RotateHistoryWindows(). 
3. Do not use leading zero-padded windows when gathering statistics. 
4. Hamming windows are in the advanced menu of choices, following Federico Miyara's suggestion.
2014-11-29 17:03:57 +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@gmail.com
ee276e839e Follow up to r13654...actually commited the renamed file. 2014-11-27 18:52:47 +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
e159414c9d Change Speed - Make 3 member variables private and re-disable FromTime menu. 2014-11-25 03:09:54 +00:00
stevethefiddle@gmail.com
1dfbe5974e Apply Leland's Read Only Numeric Text Control to Change Speed effect. 2014-11-23 22:54:24 +00:00
stevethefiddle@gmail.com
f6f8f2e3cf Change Speed effect - disable user input changing the 'Current Length' control. 2014-11-23 18:43:17 +00:00
stevethefiddle@gmail.com
07098fe324 Update Change Speed effect. Adds To/From time controls and a 'simple' speed multiplier.
Should also fix bugs 772 and 780.
2014-11-22 19:12:57 +00:00
lllucius
981e6db6ea Keep non-interactive effects from going into a recursive loop. 2014-11-20 22:48:07 +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
stevethefiddle@gmail.com
0b2074db8c Reduce minimum Attack/Decay times. 2014-11-20 08:59:51 +00:00
lllucius
59552ed41b Fix return value problem. 2014-11-19 14:53:19 +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
stevethefiddle@gmail.com
c2f90ac41e Change *selection* tracks property to a list rather than a total - greater flexibility for plugins. 2014-11-17 16:04:08 +00:00
stevethefiddle@gmail.com
8ca85d0595 Support version 3 syntax in Nyquist Prompt. 2014-11-17 02:48:47 +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@gmail.com
a334a39152 Found that the problem was a missing "class" on the friend statements.
I totally didn't see it!  It wasn't until I googled the error
that I had to stop, slap myself on the back of the head and
say "DOH!"
2014-11-14 04:18:23 +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
4c0aa60871 A subset of the original v4 patch (which will become v5 eventually)
The main operational difference is that for v4 effect onward, the 
sound name will now be *TRACK*.  This will not affect existing
effects since they use version number 3 or less.

This also provides the Nyquist effect with much more information about
the current processing:

Variable       Property    What
*AUDACITY*     VERSION     current Audacity version number

*SYSTEM-DIR*   BASE        Audacity install path
*SYSTEM-DIR*   DATA        Audacity data path
*SYSTEM-DIR*   HELP        Audacity help path
*SYSTEM-DIR*   TEMP        Audacity temp file path
*SYSTEM-DIR*   PLUGIN      Audacity search path for Nyquist plugins

*PROJECT*      RATE        current project sample rate
*PROJECT*      TRACKS      total number of tracks in the project
*PROJECT*      WAVETRACKS  number of wave tracks in the project
*PROJECT*      LABELTRACKS number of label tracks in the project
*PROJECT*      MIDITRACKS  number of midi tracks in the project
*PROJECT*      TIMETRACKS  number of time tracks in the project

*SELECTION*    START       start time of current selection
*SELECTION*    END         end time of current selection
*SELECTION*    TRACKS      number of tracks in the current selection
*SELECTION*    CHANNELS    number of channels in the current selection
*SELECTION*    LOW-HZ      low frequency from spectrogram (if available, else nil)
*SELECTION*    CENTER-HZ   center frequence (calculated) (if available, else nil)
*SELECTION*    HIGH-HZ     high frequence from spectrogram (if available, else nil)
*SELECTION*    BANDWIDTH   bandwidth in octaves (calculated) (if available, else nil)
*SELECTION*    PEAK-LEVEL  peak amplitude for the current selection

*TRACK*        INDEX       1-based index of track being processed
*TRACK*        NAME        name of track
*TRACK*        TYPE        type of track: wave, midi, label, time
*TRACK*        VIEW        track view: Waveform,  Waveform (dB), etc.
*TRACK*        CHANNELS    number of channels in the track
*TRACK*        START-TIME  start time of track
*TRACK*        END-TIME    end time of track
*TRACK*        GAIN        track gain
*TRACK*        PAN         track pan
*TRACK*        RATE        sample rate of track
*TRACK*        FORMAT      sample format: 16 (int), 24 (int), 32.0 (float)
*TRACK*        CLIPS       list of start/end times for clips for each channel
2014-11-13 16:38:20 +00:00
james.k.crook@gmail.com
2c64427129 Changes to compile NoiseReduction for Linux too. 2014-11-13 12:53:33 +00:00
james.k.crook@gmail.com
84db3a5cc6 Gray out noise reduction fields dynamically when they are not relevant.
Patch from Paul Licameli.
2014-11-13 12:15:43 +00:00
james.k.crook@gmail.com
703fafacb2 Frequency-selection aware noise reduction, plus small adjustments to toolbar and effect. (patch from Paul Licameli)
1. Change in project.cpp fixes misbehavior of spectral selection toolbar,
when you try to enter numbers in the low or high frequency boxes and one of
the frequencies was undefined.

2. Changes in NoiseReduction.cpp now take the spectral selection into
account in step 2, so that noise is reduced (or isolated) only in the
selected range of frequencies.  No effect on statistics gathered in step 1.

3. Other noise reduction changes:  avoid an assertion in case of certain
incompatible settings, and end all messages in message boxes consistently
with a period.
2014-11-11 18:02:31 +00:00
james.k.crook@gmail.com
e76c17d384 Edgar's fix: Missing include file when compiled for wx3.x 2014-11-11 16:08:17 +00:00
james.k.crook@gmail.com
740bc0d983 Fixed warnings about AUDACITY_DLL_API.
If one class is exported, then all the classes it derives from must be exported too, otherwise we get warnings wherever it is used.
2014-11-11 15:47:48 +00:00
james.k.crook@gmail.com
6e384e2f6b Noise Reduction Effect by Paul Licameli.
#ifdef EXPERIMENTAL_NOISE_REDUCTION for now.
2014-11-10 21:30:44 +00:00
james.k.crook@gmail.com
035ee5cdff [Bug 782] Nyquist parameters changed (during this session) now remembered until end of session, as before.
Thanks to Steve for tracking this down.
2014-11-09 21:54:06 +00:00