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

383 Commits

Author SHA1 Message Date
Leland Lucius
01f28f645d Fix NIL spectral frequencies when running worker from Nyquist prompt 2015-05-03 22:46:59 -05:00
Leland Lucius
afe47be9e1 Clean up a few warnings 2015-04-26 16:46:14 -05:00
Leland Lucius
63dd4470f1 This "should" fix the text controls 2015-04-25 04:12:14 -05:00
Leland Lucius
78ffcd8a1e This "should" fix the double execution Prompt issue 2015-04-23 09:21:28 -05:00
Leland Lucius
cff7df273f Save and restore current settings when doing auto-reload 2015-04-23 07:40:47 -05:00
Leland Lucius
d841172abb Fix auto-reload of changed Nyquist effects 2015-04-23 07:36:04 -05:00
Leland Lucius
71cb68b798 Fix HighPass and LowPass effects based on Peter's feedback 2015-04-23 07:25:29 -05:00
Leland Lucius
d95cb872a4 Allow changes to be recorded in history 2015-04-22 19:15:15 -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
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
0f3358248b Nyquist prompt updates
Based on Robert's and Steve's suggestions, I removed the "Clear"
button, replaced FileDialog usage with wxFileDialog to restore
extension suffixing, and escaped newlines in save settings so
that chains work properly.

I also attempted to locate the issue where code isn't being
parsed and made a couple of changes, but I doubt I got it.
2015-04-19 22:24: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
Steve Daulton
dbed4affe8 Update Nyquist.cpp
Remove earlier ifdef'd version of time/date property
2015-04-14 20:42:15 +01:00
Steve Daulton
d8d292edc7 Add time and date property list. 2015-04-14 13:50:51 +01: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
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
stevethefiddle@gmail.com
a13cb99e67 Modernize ';nyquist plug-in' header command.
Ref. QA topic: http://sourceforge.net/p/audacity/mailman/message/33193296/
2015-01-02 15:24:11 +00:00
stevethefiddle@gmail.com
3bf763194b Simplify misleading (and dangerous looking) initialisation. 2014-12-30 12:32:15 +00:00
stevethefiddle@gmail.com
9f5f5e36ad Experimental Nyquist time/date property (idefed out). 2014-12-25 18:22:59 +00:00
stevethefiddle@gmail.com
5b8747c636 Fix - Nyquist requires that the decimal separator is a dot.
This should allow the new Spectral edit plugins to work on systems that use comma as the decimal separator.
Also removes the *F0* and *F1* definitions that are no longer used (superseded by lowHz and highHz properties).
2014-12-25 13:54:00 +00:00
stevethefiddle@gmail.com
5d526a8009 Fix - bandwidth may be zero. 2014-12-19 16:18:21 +00:00
stevethefiddle@gmail.com
4fe3f855eb Fix for clip/split issues with Nyquist plugins. (see also bug 7) 2014-12-17 05:02:13 +00:00
lllucius@gmail.com
3bd511698a Leave the ellipse until after 2.1.0
Some of the locales do not have a translation for "Nyquist Prompt",
but do have one for "Nyquist Prompt...", so leave the ellipse for
now.
2014-12-15 22:45:52 +00:00
lllucius
ba1a3c6c8c And now make the Nyquist Prompt label change when the language changes 2014-12-15 22:36:36 +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
stevethefiddle@gmail.com
2b28e840cc Fix - final setup parameter was being carried through to the script code. 2014-12-08 15:11:22 +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
stevethefiddle@gmail.com
8d8a0b9234 Nyquist v4 - Fix bug in 'clips property. 2014-12-02 12:41:40 +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
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
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
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
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
stevethefiddle@gmail.com
2abb46b83d Allow generator effects to use preview without requiring a selection to be made.
Documentation: This does not affect any currently shipped effects. This will need documenting on the wiki for writing Nyquist plug-ins.
2014-10-26 20:30:22 +00:00
james.k.crook@gmail.com
d96bbb1f3a Spectral selection effects now prompt for missing frequency fields when used in time selection mode. 2014-10-24 20:27:04 +00:00
stevethefiddle@gmail.com
0ce9f5ad16 Allow all output from Nyquist Prompt effect.
As the Nyquist Prompt is the only direct access to input Nyquist commands, it needs to remain flexible and versatile.
2014-10-24 12:04:06 +00:00
james.k.crook@gmail.com
af649b94e1 c_str()'s for Linux.
[Need to review this for wx3.x]
2014-10-18 18:46:50 +00:00
james.k.crook@gmail.com
37608c2290 Paul Licameli's Spectral Editing Patch.
This relies on three new nyquist scripts to actually do the editing.  The peak-snapping code in FrequencyWindow has been extracted into a new class, SpectrumAnalyst, to provide peak-snapping in spectrogram too.
2014-10-18 14:19:38 +00:00
lllucius
c6faffd731 Further Nyquist Prompt bug fixing from Steve
With the addition of the preview button, it became evident
that if an effect were to return text instead of audio, the
processing loop would not stop properly.

And he also found a case where the debug state wasn't reset
after using the debug button.  If this was following by the
preview button the next time the effect was used, the debug
window would reappear before the preview.
2014-10-08 01:47:01 +00:00
lllucius
bdcefb4850 Preliminary changes for wxWidgets 3.0.1
We can't go to 3.0.1 yet as there are still build issues on
Linux and OSX.  You can get Windows to build, but there's
still some display issues.

These changes should work with wxWidgets 2.8.12 as well, so
we can take our time to get things working properly before
switching over.
2014-10-06 08:10:50 +00:00
lllucius
8ecd6b538d Adding preview to Nyquist effects as requested by STF
He also added a new Nyquist control header that gives each
effect the ability to control the presentation of the Preview
button.  This will be used by effects are time based and, therefore,
do not produce the same results in preview as they do when applied.

I expect Steve will be committing changes to the effects that can
take advantage of this shortly.

Testing of this can be accomplished by adding:

;preview enabled

to the "tremelo.ny" effect, just after the ";action" line.

Adding that line will cause the "Preview" button to be shown and
you will then be able to preview, adjust, preview, apply...
2014-10-05 18:22:41 +00:00
james.k.crook@gmail.com
f5e593cc4c Paul L's new SelectedRegion class replacing use of t0 and t1. Also LabelTrack.h no longer in TrackPanel.h includes.
This change is believed to be a direct refactoring that does not change functionality.  It paves the way for more complex kinds of selection, such as selections involving frequency as well as time.  It also reduces risk of left and right edges being swapped in future code using SelectedRegion, as the default is to swap on assignment if needed.
2014-10-05 17:10:09 +00:00
lllucius@gmail.com
baa8f8a701 Gale found the reason I'd put in the yield during Nyquist processing,
so added it back for the Mac only.  See discussion in:

http://bugzilla.audacityteam.org/show_bug.cgi?id=734
2014-07-15 02:41:21 +00:00
lllucius
fe241e4d23 Implement suggested fix for http://bugzilla.audacityteam.org/show_bug.cgi?id=734. Tested on Windows and Steve tested on Linux. 2014-07-12 14:29:54 +00:00
benjamin.drung@gmail.com
277932dccb Remove trailing spaces. 2014-06-03 20:30:19 +00:00
martynshaw99
afe1f36522 Steve's patch for bug 681 "New number input validation breaks several Nyquist plug-ins". It looks sensible and has only a limited scope. 2013-12-31 00:19:52 +00:00