1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-07-12 06:37:52 +02:00

78 Commits

Author SHA1 Message Date
Steve Daulton
7ee8032f3c Limit selection length for Nyquist plug-ins
This can improve progress count for Nyquist effects
that do not process all of selection (bug 558) and provides some
protection against 2^31 overflow issues (bug 439).
2015-08-13 13:06:13 +01:00
Steve Daulton
2cb32c763f Fix for bug 558 2015-08-13 13:06:12 +01:00
Paul Licameli
65f1bbe449 Disable spectral editing effects in one place in Nyquist.cpp...
... by passing invalid frequency values,
rather than by checking the 'view property in each effect.

Spectral editing is now permitted only for appropriate track view types.

But I would suggest reconsideration of the exact conditions in which we do
this.
2015-07-25 15:12:18 -04: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
Leland Lucius
043f427e7a Get rid of the "=" from the Nyquist prompt name
Hopefully won't cause any probs (shouldn't really)
2015-05-16 02:13:57 -05:00
James Crook
8ae6fc42e1 Added 'More...' to Generate and Analyze menus 2015-05-14 16:11:46 +01: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
dc8f8a43db Oops...missed a file. 2015-04-23 08:01:26 -05:00
Leland Lucius
e8b0ca8707 Bring back the Nyquist debug button 2015-04-22 15:55:58 -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
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
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
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
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
e023a1120b Correct some non-wxWidgets literals 2014-12-07 05:29:31 +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
6c781a6a1d Fix - Nyquist v4 path strings needed to be escaped for Windows. 2014-12-01 18:31:33 +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
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
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
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
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
richardash1981
627f4dd757 add support for Nyquist effects in Chains, written by Leyland and Martyn based on an idea by Edgar 2012-05-26 20:25:13 +00:00
rbdannenberg
f2e6d8ec0f Nyquist Effects now treat Nyquist code and output as UTF-8. Nyquist Prompt effect accepts both LISP and SAL (in SAL, either define function main or write return <expression> at the top level). 2010-11-01 03:15:39 +00:00
ra
e74978ba77 Locate and position the current Audacity source code, and clear a variety of old junk out of the way into junk-branches 2010-01-23 19:44:49 +00:00