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

1782 Commits

Author SHA1 Message Date
lllucius@gmail.com
fdc524ed3f Fix Linux build after removing LoadAudioUnits.*.
Didn't even cross my mind to have to worry about it..but it makes sense.
2014-11-25 19:27:05 +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
v.audacity
b16db7ca2b Per discussions with Peter Sampson, at the end of successful Timer Record, save the project.
If user hadn't saved it before, will see the Save As dialog.

If user had saved it before, it will safely be saved, automatically.
2014-11-25 04:11:46 +00:00
v.audacity
7c23be0126 comments regarding Proposed Features #1, at http://wiki.audacityteam.org/wiki/Proposal_Timer_Record_Improvements 2014-11-25 03:59:29 +00:00
v.audacity
d8783554e3 hack to adjust a wxASSERT that was failing on small (<1%) overage of nGaugeValue 2014-11-25 03:27:17 +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
7c3f355c7a Fix for bug 791. 2014-11-24 18:03:33 +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
windinthew@gmail.com
5bffe9cecf Added new Armenian translation by Aram Vardanyan to Windows and Linux builds. Still needs to be added to the Mac project file. 2014-11-22 16:59:02 +00:00
v.audacity
72b6de9edf Removed some debugging cruft. 2014-11-22 03:56:21 +00:00
v.audacity
75b3efa9f8 I left in this commented-out code as reminder where it's easy to change per-track waveform colors. It's probably better to go to the Audacity_UmixIt_&_branding branch altogether for this feature, so I got rid of the commented out code. 2014-11-21 01:08:34 +00:00
lllucius
981e6db6ea Keep non-interactive effects from going into a recursive loop. 2014-11-20 22:48:07 +00:00
v.audacity@gmail.com
1da35caa8e Make it official that the next release will be 2.1.0. 2014-11-20 21:49:04 +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
james.k.crook@gmail.com
b34d256e88 Don't show spectral selection in pitch view (patch by Paul Licameli). 2014-11-19 23:10:59 +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
james.k.crook@gmail.com
f8732c96dc Frequency selected part of spectrum is now yellowish. Was too dark previously. 2014-11-17 19:39:20 +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
james.k.crook@gmail.com
2527327fd7 Fixed meany/many typo. (reported by Yuri Chornoivan) 2014-11-16 13:39:18 +00:00
windinthew@gmail.com
69e9d8860a Clarify code comment about bug 458 workaround. 2014-11-16 13:08:41 +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
1e0d040cfb Fix this effect menu grouping and names. 2014-11-15 18:13:50 +00:00
james.k.crook@gmail.com
93060f0ccc One #ifdef EXPERIMENTAL_SPECTRAL_EDITING missing. 2014-11-14 18:32:30 +00:00
james.k.crook@gmail.com
c665792863 Select All Frequencies Patch.
Currently bound to 'Q'.  Not necessarily the final choice.  Original patch by Paul Licameli.
2014-11-14 18:13:22 +00:00
lllucius@gmail.com
d2bfb4ac4b Updated to build with later compiler versions
No functional changes.

(Heck, do we even need this anymore???)
2014-11-14 15:59:47 +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
james.k.crook@gmail.com
34b9133031 Fix type problem with wxWidgets 3.0: Use enum wxRasterOperationMode instead of int. [Patch 0022] from martin@steghoefer.eu
This change from the old int type to the real enum wxRasterOperationMode was missed during the fix of similar problems in r13403 (when similar fixes were applied), probably because ImageRoll and the affected variable are currently unused and the problem therefore doesn't cause a compilation error and is only fixed preventively.

Compatibility with wxWidgets 2.8 is assured thanks to a conditional definition of wxRasterOperationMode as int in ImageRoll.h, introduced in r13403.
2014-11-13 21:13:11 +00:00
james.k.crook@gmail.com
6b010662a4 Fix runtime problem with wxWidgets 3.0: Dialog size assert. [Patch 0021] From martin@steghoefer.eu (adjusted by James).
Due to changes in sizing of dialogs with wx3, an assert about the size of the preferences dialog (was max 800x600) fails, which causes an error dialog to pop up. We've recently decided that screens have got bigger, and increased the default size of the Audacity window.  Rather than remove this assert, we've upped its limits so that we can go further before we hit the limit.  Other code to try to keep the dialog size near to 800x600 has not been changed.
2014-11-13 21:10:15 +00:00
james.k.crook@gmail.com
3d8a9ffad9 Fix crash with wxWidgets 3.0: Opening the logger dialog caused a segmentation fault due to an incorrect cast (superseding r13426). [Patch 0020] From martin@steghoefer.eu
The casting macros wxStaticCast and wxDynamicCast from wxWidgets only work within the hierarchy registered to the wxWidgets class runtime information. But neither the base class wxLog nor the derived class AudacityLogger involved in the cast qualify for this.

This error wasn't visible with wxWidgets 2.8 because asserts weren't activated there by default, which prevented the code that causes the invalid memory access from being executed.

Note: After original creation of this fix, the line causing the crash has been changed in r13426 from using wxStaticCast to wxDynamicCast, which avoids the crash for now thanks to a lucky coincidence. It's still not the desired behaviour (before this fix the runtime type check only checked for wxEvtHandler instead of AudacityLogger) and could start to crash again, depending on implementation details of wxDynamicCast.  Hence this fix was still needed, and it was adjusted accordingly.
2014-11-13 20:56:13 +00:00
james.k.crook@gmail.com
72dfbcc587 Fix crash with wxWidgets 3.0: Cursor recapturing in track panel sliders [Patch 0019] From martin@steghoefer.eu
wxWidgets 3.0 has added a lot of asserts to detect incorrect usage
of its APIs. Now capturing the cursor, when it's already captured,
throws an assertion failure. As the assertion failure window
appears at a very inconvenient moment (when the cursor is captured),
this can lead to Audacity crashing or can even render the whole
Desktop Manager unusable until you find a way to kill
Audacity without using your Desktop Manager (e.g. ssh login)!

The recapturing can occur in the track panel sliders because
the sliders capture the cursor themselves (because they are
also used in other places outside the track panel, where
this is actually necessary), but the track panel also manages
the cursor capturing because it needs it for other operations.

Fixed the recapturing problem by letting the sliders capture the cursor
only if necessary.
2014-11-13 20:48:54 +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
bce372bfee Tooltip on recording meter toolbar now changes with meter on/off 2014-11-13 16:29:08 +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
d603936d58 Noise reduction effect enabled in windows builds. 2014-11-11 22:06:07 +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
1933070f0d Tweak to spectral selection behavior when one edge is tied.
Idea by Martin.  Implemtation by Paul Licameli.
2014-11-11 15:24:22 +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
c900da7a56 Spectral SelectionBar tweaks from Paul Limaceli.
- Center and Width now the default
- Above choice persists.
- Accessibility changes (focus was lost on changing choice)
2014-11-10 21:09:28 +00:00
stevethefiddle@gmail.com
233f43dd7d Fix: Spectrogram gets the wrong default on first run. 2014-11-10 20:14:51 +00:00
james.k.crook@gmail.com
649315c644 From: martin@steghoefer.eu [patches 0017 and 0018] Fix compilation problem with wxWidgets 3.0:
0017: Encapsulation of reference type returned by wxString::operator[]
0018: Interface change for classes deriving from wxGridTableBase


0017
----
The NumericTextCtrl relies on the fact that the value returned by
wxString::operator[] is a "wxChar&". However, in wxWidgets 3.0 it is a
wxUniCharRef (encapsulation of a reference to characters, to improve unicode
handling).

wxString::reference provides the correct type in both wx2.8 and wx3.0 and can be
used as writable reference in both cases. However, for the case of an update of
the reference itself (instead of the value), there is no common syntax. In this
case the character position within the string has to be used as reference.

0018
----
With wx3.0, different methods have to be implemented (EndEdit with new signature
and ApplyEdit) than with wx2.8 (only EndEdit with old signature). Now both
versions are implemented in parallel in the classes TimeEditor and ChoiceEditor
(one version essentially being a wrapper of the other one).

Note: Superseding the previous solution of the issue (committed in r13403) by one
that avoids code duplication. This should avoid problems with missed changes in
code that isn't used with the wxWidgets version that the developer tests with
(like just happened in r13557).
2014-11-10 19:28:17 +00:00
stevethefiddle@gmail.com
c061d3cf4f Fix corruption of menu arrow on single height rms meter. 2014-11-10 14:52:54 +00:00